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