summaryrefslogtreecommitdiff
path: root/gnu/packages/zig.scm
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2025-08-22 00:04:36 +0800
committerHilton Chain <hako@ultrarare.space>2025-08-26 12:16:26 +0800
commit9b8bb290e4c3f3464c96ab584580fcc24990a6b8 (patch)
tree11975cbe57faab52c2f20ab040acd31198ffb516 /gnu/packages/zig.scm
parentf40cd36748733360abfc8914e76a51a71bd51cdb (diff)
gnu: Add zig-0.15.
* gnu/packages/patches/zig-0.15-fix-runpath.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/zig.scm (zig-0.15-libc-abi-tools, zig-0.15): New variables. Change-Id: I5f8655716fb8fc57ea9e74bd67dd409a1c42599c
Diffstat (limited to 'gnu/packages/zig.scm')
-rw-r--r--gnu/packages/zig.scm68
1 files changed, 68 insertions, 0 deletions
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index a77b204fe2c..82484d652d3 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -2004,4 +2004,72 @@ toolchain. Among other features it provides
2004 (modify-inputs (package-native-inputs base) 2004 (modify-inputs (package-native-inputs base)
2005 (replace "zig" `(,base "out"))))))) 2005 (replace "zig" `(,base "out")))))))
2006 2006
2007(define zig-0.15-libc-abi-tools
2008 (origin
2009 (method git-fetch)
2010 (uri (git-reference
2011 (url "https://github.com/ziglang/libc-abi-tools")
2012 (commit "21993a6036cc165485b20229589340dff9d4fc3c")))
2013 (file-name "libc-abi-tools")
2014 (sha256
2015 (base32 "0miwb0zfgfmm4bh2bs7982wpk0wp5vj2mz10x9c3m8fw7zzcyvbh"))
2016 (modules '((guix build utils)))
2017 (snippet
2018 #~(substitute* "netbsd/consolidate.zig"
2019 ((".write_buffer = buffer") ".write_buffer = &buffer")))))
2020
2021(define-public zig-0.15
2022 (package
2023 (inherit zig-0.14)
2024 (name "zig")
2025 (version "0.15.1")
2026 (source
2027 (origin
2028 (inherit (zig-source
2029 version version
2030 "1cp18plf0x5wip4rnxiqavaqnqxnqzhipb34in6zd3y7wihwjmj4"))
2031 (patches
2032 (search-patches
2033 "zig-0.14-use-baseline-cpu-by-default.patch"
2034 "zig-0.14-use-system-paths.patch"
2035 "zig-0.15-fix-runpath.patch"))))
2036 (arguments
2037 (substitute-keyword-arguments (package-arguments zig-0.14)
2038 ((#:phases phases '%standard-phases)
2039 #~(modify-phases #$phases
2040 (delete 'install-glibc-abilists)
2041 ;; TODO: Remove newly-added abilists files in zig-source.
2042 (add-before 'check 'install-abilists
2043 (lambda* (#:key inputs native-inputs #:allow-other-keys)
2044 (mkdir-p "/tmp/libc-abi-tools")
2045 (with-directory-excursion "/tmp/libc-abi-tools"
2046 (copy-recursively
2047 (dirname (search-input-file
2048 (or native-inputs inputs) "list.zig"))
2049 ".")
2050 (for-each make-file-writable (find-files "."))
2051 (for-each
2052 (lambda (libc)
2053 (with-directory-excursion libc
2054 (invoke (string-append #$output "/bin/zig")
2055 "run" "consolidate.zig")
2056 (install-file
2057 "abilists"
2058 (string-append #$output "/lib/zig/libc/" libc))))
2059 '("freebsd"
2060 "glibc"
2061 "netbsd")))))))))
2062 (inputs
2063 (modify-inputs (package-inputs zig-0.14)
2064 (replace "clang" clang-20)
2065 (replace "lld" lld-20)))
2066 (native-inputs
2067 (modify-inputs (package-native-inputs zig-0.14)
2068 (delete "glibc-abi-tool")
2069 (prepend zig-0.15-libc-abi-tools)
2070 (replace "llvm" llvm-20)
2071 (replace "zig" `(,zig-0.14.0-1197 "zig1"))))
2072 (properties `((max-silent-time . 9600)
2073 ,@(clang-compiler-cpu-architectures "20")))))
2074
2007(define-public zig zig-0.13) 2075(define-public zig zig-0.13)