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

commit 778c887b081b8d06464ac366a8e9f9faeca82597
Author: Hilton Chain <[email protected]>
AuthorDate: Mon Nov 11 21:19:31 2024 +0800

    gnu: Add zig-0.12.0-109.
    
    * gnu/packages/zig.scm (zig-0.12.0-109): New variable.
    
    Change-Id: If480110b20b2971fe7562bbd60fcb74afc5c1ed4
---
 gnu/packages/zig.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index e47644c40d..48930f6a6b 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -1814,4 +1814,48 @@ toolchain.  Among other features it provides
     (properties `((max-silent-time . 9600)
                   ,@(clang-compiler-cpu-architectures "17")))))
 
+
+;;;
+;;; Bootstrap path for Zig 0.13.
+;;;
+
+(define zig-0.12.0-109
+  (let ((commit "b7799ef322103c8e449c45494c29fb4a8c9867df")
+        (revision "109")
+        (base zig-0.12))
+    (package
+      (inherit base)
+      (name "zig")
+      (version (git-version "0.11.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
+                  "1zy19w93wrd7dfdih8hfk9h3brkgaspaa60ipcmf08hlx6z2f0bz"))
+                (snippet '(delete-file "stage1/zig1.wasm"))))
+      (arguments
+       (substitute-keyword-arguments %arguments-zig1
+         ((#:phases phases '%standard-phases)
+          #~(modify-phases #$phases
+              (replace 'patch-more-shebangs
+                (lambda* (#:key inputs #:allow-other-keys)
+                  ;; Zig uses information about /usr/bin/env to determine the
+                  ;; version of glibc and other data.
+                  (substitute* "lib/std/zig/system.zig"
+                    (("/usr/bin/env")
+                     (search-input-file inputs "/bin/env")))))
+              (replace 'build-zig1
+                (lambda _
+                  (invoke "zig" "build" "--zig-lib-dir" "lib"
+                          "update-zig1" "--verbose")))))))
+      (native-inputs
+       (modify-inputs (package-native-inputs base)
+         (replace "zig" `(,base "out"))))
+      (properties `((hidden? . #t)
+                    ,@(package-properties base))))))
+
 (define-public zig zig-0.10)

Reply via email to