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

commit 37d87b37c0c359ec5e70b6ee7d99cf9f880dbee7
Author: Hilton Chain <[email protected]>
AuthorDate: Mon Nov 11 19:19:26 2024 +0800

    gnu: Add zig-0.12.
    
    * gnu/packages/zig.scm (zig-0.12): New variable.
    
    Change-Id: I700d0afa2b373bf24a4f3527548e86dbed1aff17
---
 gnu/packages/zig.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index 929aa6c686..e3e43b11ba 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -1391,4 +1391,47 @@ toolchain.  Among other features it provides
        (modify-inputs (package-native-inputs base)
          (replace "zig" `(,base "out")))))))
 
+(define-public zig-0.12
+  (package
+    (inherit zig-0.11)
+    (name "zig")
+    (version "0.12.1")
+    (source
+     (origin
+       (inherit (zig-source
+                 version version
+                 "0ssgfrsk116p16rwjwq1z2pvvcdij6s30s19bhzjms7maz4s77hb"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file "stage1/zig1.wasm")
+           ;; Fix RUNPATH.
+           (substitute* "build.zig"
+             (("path_unpadded }\\);" all)
+              (string-append all "
+    exe.addRPath(.{
+        .cwd_relative = path_unpadded[0 .. path_unpadded.len - 1 - objname.len]
+    });")))))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments zig-0.11)
+       ((#: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")))))))))
+    (inputs
+     (modify-inputs (package-inputs zig-0.11)
+       (replace "clang" clang-17)
+       (replace "lld" lld-17)))
+    (native-inputs
+     (modify-inputs (package-native-inputs zig-0.11)
+       (replace "llvm" llvm-17)
+       (replace "zig" `(,zig-0.11.0-3604 "zig1"))))
+    (properties `((max-silent-time . 9600)
+                  ,@(clang-compiler-cpu-architectures "17")))))
+
 (define-public zig zig-0.10)

Reply via email to