hako pushed a commit to branch wip-zig-bootstrap
in repository guix.

commit 37cab618072276d8f33c1a1aa0bba5042b7b41c1
Author: Hilton Chain <[email protected]>
AuthorDate: Sat Dec 21 16:54:25 2024 +0800

    gnu: zig-0.10: Unexport variable and drop zig-build-system support.
    
    * gnu/packages/zig.scm (zig-0.10): Unexport.
    * guix/build/zig-build-system.scm (zig-arguments): Delete procedure.
    (build,check): Adjust accordingly.
    
    Change-Id: I1370f6c8f48b67c9685761bc953839ad96df2750
---
 gnu/packages/zig.scm            |  2 +-
 guix/build/zig-build-system.scm | 74 +++++++++++++----------------------------
 2 files changed, 24 insertions(+), 52 deletions(-)

diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index 224373f46a..6c4e87e1ff 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -115,7 +115,7 @@
          (("(@ctz.)u.., " _ prefix) prefix)
          (("(@popCount.)u.., " _ prefix) prefix)))))
 
-(define-public zig-0.10
+(define zig-0.10
   (package
     (name "zig")
     (version "0.10.1")
diff --git a/guix/build/zig-build-system.scm b/guix/build/zig-build-system.scm
index 441d8918a3..da018ccb48 100644
--- a/guix/build/zig-build-system.scm
+++ b/guix/build/zig-build-system.scm
@@ -40,32 +40,6 @@
   (zig-source-install-path
    (dirname (dirname (dirname (canonicalize-path input))))))
 
-(define (zig-arguments)
-  (define version-major+minor
-    (let* ((port (open-input-pipe "zig version"))
-           (str  (read-line port)))
-      (close-pipe port)
-      (take (string-split str #\.) 2)))
-  (define (version>=? a b-major b-minor)
-    (let ((a-major (string->number (first a)))
-          (a-minor (string->number (second a))))
-      (or (> a-major b-major)
-          (and (= a-major b-major)
-               (>= a-minor b-minor)))))
-  `(("parallel-jobs" .
-     ,(lambda (jobs)
-        (cond
-         ((version>=? version-major+minor 0 11)
-          (list (string-append "-j" (number->string jobs))))
-         (else '()))))
-    ("release-type" .
-     ,(lambda (type)
-        (cond
-         ((version>=? version-major+minor 0 11)
-          (list (string-append "-Doptimize=Release" (string-capitalize type))))
-         (else
-          (list (string-append "-Drelease-" type))))))))
-
 ;; Use ‘zig fetch --name=NAME’ to overwrite dependency NAME and update hash in
 ;; build.zig.zon.
 (define (unpack-dependencies . args)
@@ -114,23 +88,23 @@ asserts dependency names start with \"zig-\"."
   "Build a given Zig package."
   (when (not skip-build?)
     (setenv "DESTDIR" "out")
-    (let* ((arguments (zig-arguments))
-           (call `("zig" "build"
-                   "--prefix"             ""            ;; Don't add /usr
-                   "--prefix-lib-dir"     "lib"
-                   "--prefix-exe-dir"     "bin"
-                   "--prefix-include-dir" "include"
-                   ,(string-append "-Dtarget=" (zig-target zig-build-target))
-                   ,@(if parallel-build?
-                         ((assoc-ref arguments "parallel-jobs")
-                          (parallel-job-count))
-                         ((assoc-ref arguments "parallel-jobs")
-                          1))
-                   ,@(if zig-release-type
-                         ((assoc-ref arguments "release-type")
-                          zig-release-type)
-                         '())
-                   ,@zig-build-flags)))
+    (let ((call `("zig" "build"
+                  "--prefix"             ""            ;; Don't add /usr
+                  "--prefix-lib-dir"     "lib"
+                  "--prefix-exe-dir"     "bin"
+                  "--prefix-include-dir" "include"
+                  ,(string-append "-Dtarget=" (zig-target zig-build-target))
+                  ,@(if parallel-build?
+                        (list (string-append
+                               "-j" (number->string (parallel-job-count))))
+                        '())
+                  ,@(or (and=> zig-release-type
+                               (compose
+                                list
+                                (cut string-append "-Doptimize=Release" <>)
+                                string-capitalize))
+                        '())
+                  ,@zig-build-flags)))
       (format #t "running: ~s~%" call)
       (apply invoke call))))
 
@@ -143,14 +117,12 @@ asserts dependency names start with \"zig-\"."
   (when (and tests? (not target))
     (let ((old-destdir (getenv "DESTDIR")))
       (setenv "DESTDIR" "test-out") ;; Avoid colisions with the build output
-      (let* ((arguments (zig-arguments))
-             (call `("zig" "build" "test"
-                     ,@(if parallel-tests?
-                           ((assoc-ref arguments "parallel-jobs")
-                            (parallel-job-count))
-                           ((assoc-ref arguments "parallel-jobs")
-                            1))
-                     ,@zig-test-flags)))
+      (let ((call `("zig" "build" "test"
+                    ,@(if parallel-tests?
+                          (list (string-append
+                                 "-j" (number->string (parallel-job-count))))
+                          '())
+                    ,@zig-test-flags)))
         (format #t "running: ~s~%" call)
         (apply invoke call))
       (if old-destdir

Reply via email to