hako pushed a commit to branch wip-zig-bootstrap
in repository guix.
commit 0b6e72f9ccc669d0d08e0c2ca9b631605bbbc5d0
Author: Hilton Chain <[email protected]>
AuthorDate: Mon Nov 11 10:47:59 2024 +0800
gnu: Add zig-0.10.0-722.
* gnu/packages/zig.scm (zig-0.10.0-722,%arguments-zig2+zig1): New variables.
Change-Id: I08abdf7f85d03853c74f46afffebf5aff0aa18f4
---
gnu/packages/zig.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index 4cec7972bd..9f953475fc 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -358,4 +358,46 @@ toolchain. Among other features it provides
(modify-inputs (package-native-inputs base)
(prepend `(,base "zig1")))))))
+(define-public zig-0.10.0-722
+ (let ((commit "d10fd78d4615f329141f5c19f893039d56aff425")
+ (revision "722")
+ (base zig-0.10.0-675))
+ (package
+ (inherit base)
+ (name "zig")
+ (version (git-version "0.10.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ziglang/zig")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0829wymcwph71zlwql6v7i7j9gr1m96acyp2xsr69vq2h98wmlap"))
+ (snippet '(delete-file "stage1/zig1.wasm"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (replace 'prepare-source
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (install-file (search-input-file
+ (or native-inputs inputs) "bin/zig1.wasm.zst")
+ "stage1")
+ (invoke "zstd" "-d" "stage1/zig1.wasm.zst")
+ (make-file-writable "stage1/zig1.wasm")))
+ (replace 'install-zig1
+ (lambda _
+ (install-file "stage1/zig1.wasm"
+ (string-append #$output:zig1 "/bin"))))))))
+ (native-inputs
+ (modify-inputs (package-native-inputs base)
+ (prepend zstd)
+ (replace "zig" `(,base "zig1")))))))
+
+;; Bootstrap with supplied zig1.wasm. Build zig2 and build zig1.wasm using it.
+(define %arguments-zig2+zig1
+ (package-arguments zig-0.10.0-722))
+
(define-public zig zig-0.10)