From ca2d1aa18c992bf2a85bb11680407bc03bc0ee8e Mon Sep 17 00:00:00 2001 From: jgart Date: Tue, 11 Jun 2024 21:28:49 -0500 Subject: [PATCH] Remove upstream zig build system --- guix/build/zig-build-system.scm | 103 -------------------------------- 1 file changed, 103 deletions(-) delete mode 100644 guix/build/zig-build-system.scm diff --git a/guix/build/zig-build-system.scm b/guix/build/zig-build-system.scm deleted file mode 100644 index e2643d1..0000000 --- a/guix/build/zig-build-system.scm +++ /dev/null @@ -1,103 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2023 Ekaitz Zarraga -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (guix build zig-build-system) - #:use-module ((guix build gnu-build-system) #:prefix gnu:) - #:use-module (guix build utils) - #:use-module (ice-9 popen) - #:use-module (ice-9 rdelim) - #:use-module (ice-9 ftw) - #:use-module (ice-9 format) - #:use-module (ice-9 match) - #:use-module (rnrs io ports) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) - #:export (%standard-phases - zig-build)) - -;;; https://lists.gnu.org/archive/html/guix-devel/2023-01/msg00160.html - -;; Interesting guide here: -;; https://github.com/riverwm/river/blob/master/PACKAGING.md -(define global-cache-dir "zig-cache") - -(define* (set-cc #:rest args) - ;; TODO: Zig needs the gcc-toolchain in order to find the libc. - ;; we need to think about how to solve this in the build system - ;; directly: --libc - (setenv "CC" "gcc")) - -(define* (set-zig-global-cache-dir #:rest args) - (setenv "ZIG_GLOBAL_CACHE_DIR" global-cache-dir)) - -(define* (build #:key - zig-build-flags - zig-release-type ;; "safe", "fast" or "small" empty for a - ;; debug build" - #:allow-other-keys) - "Build a given Zig package." - - (setenv "DESTDIR" "out") - (let ((call `("zig" "build" - "--prefix" "" ;; Don't add /usr - "--prefix-lib-dir" "lib" - "--prefix-exe-dir" "bin" - "--prefix-include-dir" "include" - ,@(if zig-release-type - (list (string-append "-Drelease-" zig-release-type)) - '()) - ,@zig-build-flags))) - (format #t "running: ~s~%" call) - (apply invoke call))) - -(define* (check #:key tests? - zig-test-flags - #:allow-other-keys) - "Run all the tests" - (when tests? - (let ((old-destdir (getenv "DESTDIR"))) - (setenv "DESTDIR" "test-out") ;; Avoid colisions with the build output - (let ((call `("zig" "build" "test" - ,@zig-test-flags))) - (format #t "running: ~s~%" call) - (apply invoke call)) - (if old-destdir - (setenv "DESTDIR" old-destdir) - (unsetenv "DESTDIR"))))) - -(define* (install #:key inputs outputs #:allow-other-keys) - "Install a given Zig package." - (let ((out (assoc-ref outputs "out"))) - (copy-recursively "out" out))) - -(define %standard-phases - (modify-phases gnu:%standard-phases - (delete 'bootstrap) - (delete 'configure) - (add-before 'build 'set-zig-global-cache-dir set-zig-global-cache-dir) - (add-before 'build 'set-cc set-cc) - (replace 'build build) - (replace 'check check) - (replace 'install install))) - - -(define* (zig-build #:key inputs (phases %standard-phases) - #:allow-other-keys #:rest args) - "Build the given Zig package, applying all of PHASES in order." - (apply gnu:gnu-build #:inputs inputs #:phases phases args)) - -- 2.45.2