diff options
| author | Hilton Chain <hako@ultrarare.space> | 2026-06-21 13:59:48 +0800 |
|---|---|---|
| committer | Hilton Chain <hako@ultrarare.space> | 2026-07-06 16:08:22 +0800 |
| commit | 990aa9ced2d6415a6724858dd47d5e6ce761cc08 (patch) | |
| tree | 0424e6fb091cf09c5d2cc601b49f1e9f6f28bbf0 /gnu/packages/zig.scm | |
| parent | 7a016e0b770013e35977e711c89ba256ead6424d (diff) | |
gnu: zig: Unify libc-abi-tools names.
* gnu/packages/zig.scm (zig-0.9-glibc-abi-tool): Rename to...
(zig-0.9-libc-abi-tools): ...this.
(zig-0.10-glibc-abi-tool): Rename to...
(zig-0.10-libc-abi-tools): ...this.
(zig-0.11-glibc-abi-tool): Rename to...
(zig-0.11-libc-abi-tools): ...this.
(zig-0.12-glibc-abi-tool): Rename to...
(zig-0.12-libc-abi-tools): ...this.
(zig-0.13-glibc-abi-tool): Rename to...
(zig-0.13-libc-abi-tools): ...this.
(zig-0.14-glibc-abi-tool): Rename to...
(zig-0.14-libc-abi-tools): ...this.
(zig-0.9) [arguments]: Split phase 'install-glibc-abilists phase into
'copy-libc-abi-tools and 'install-abilists.
[native-inputs]: Adjust accordingly.
(zig-0.10, zig-0.10.0-610, zig-0.11, zig-0.12, zig-0.13, zig-0.14, zig-0.15):
Adjust accordingly.
(zig-0.16) [arguments]: Update 'install-abilists phase for OpenBSD libc support.
Diffstat (limited to 'gnu/packages/zig.scm')
| -rw-r--r-- | gnu/packages/zig.scm | 85 |
1 files changed, 55 insertions, 30 deletions
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm index 18dfbf5237d..00715fe7736 100644 --- a/gnu/packages/zig.scm +++ b/gnu/packages/zig.scm | |||
| @@ -61,13 +61,13 @@ | |||
| 61 | ;; IETF RFC documents have nonfree license. | 61 | ;; IETF RFC documents have nonfree license. |
| 62 | (find-files "." "^rfc[0-9]+\\.txt")))))) | 62 | (find-files "." "^rfc[0-9]+\\.txt")))))) |
| 63 | 63 | ||
| 64 | (define zig-0.9-glibc-abi-tool | 64 | (define zig-0.9-libc-abi-tools |
| 65 | (origin | 65 | (origin |
| 66 | (method git-fetch) | 66 | (method git-fetch) |
| 67 | (uri (git-reference | 67 | (uri (git-reference |
| 68 | (url "https://codeberg.org/ziglang/libc-abi-tools") | 68 | (url "https://codeberg.org/ziglang/libc-abi-tools") |
| 69 | (commit "6f992064f821c612f68806422b2780c9260cbc4c"))) | 69 | (commit "6f992064f821c612f68806422b2780c9260cbc4c"))) |
| 70 | (file-name "glibc-abi-tool") | 70 | (file-name "libc-abi-tools") |
| 71 | (sha256 | 71 | (sha256 |
| 72 | (base32 "0lsi3f2lkixcdidljby73by2sypywb813yqdapy9md4bi2h8hhgp")))) | 72 | (base32 "0lsi3f2lkixcdidljby73by2sypywb813yqdapy9md4bi2h8hhgp")))) |
| 73 | 73 | ||
| @@ -149,15 +149,18 @@ | |||
| 149 | ;; Non-native tests try to link and execute non-native | 149 | ;; Non-native tests try to link and execute non-native |
| 150 | ;; binaries. | 150 | ;; binaries. |
| 151 | "-Dskip-non-native")))) | 151 | "-Dskip-non-native")))) |
| 152 | (add-before 'check 'install-glibc-abilists | 152 | (add-before 'check 'copy-libc-abi-tools |
| 153 | (lambda* (#:key inputs native-inputs #:allow-other-keys) | 153 | (lambda* (#:key inputs native-inputs #:allow-other-keys) |
| 154 | (mkdir-p "/tmp/glibc-abi-tool") | 154 | (mkdir-p "/tmp/libc-abi-tools") |
| 155 | (with-directory-excursion "/tmp/glibc-abi-tool" | 155 | (with-directory-excursion "/tmp/libc-abi-tools" |
| 156 | (copy-recursively | 156 | (copy-recursively |
| 157 | (dirname (search-input-file | 157 | (dirname (search-input-file |
| 158 | (or native-inputs inputs) "consolidate.zig")) | 158 | (or native-inputs inputs) "consolidate.zig")) |
| 159 | ".") | 159 | ".") |
| 160 | (for-each make-file-writable (find-files ".")) | 160 | (for-each make-file-writable (find-files "."))))) |
| 161 | (add-after 'copy-libc-abi-tools 'install-abilists | ||
| 162 | (lambda _ | ||
| 163 | (with-directory-excursion "/tmp/libc-abi-tools" | ||
| 161 | (invoke (string-append #$output "/bin/zig") | 164 | (invoke (string-append #$output "/bin/zig") |
| 162 | "run" "consolidate.zig") | 165 | "run" "consolidate.zig") |
| 163 | (install-file | 166 | (install-file |
| @@ -169,7 +172,7 @@ | |||
| 169 | ;; Zig compiles fine with GCC, but also needs native LLVM libraries. | 172 | ;; Zig compiles fine with GCC, but also needs native LLVM libraries. |
| 170 | (native-inputs | 173 | (native-inputs |
| 171 | (list llvm-13 | 174 | (list llvm-13 |
| 172 | zig-0.9-glibc-abi-tool)) | 175 | zig-0.9-libc-abi-tools)) |
| 173 | (native-search-paths | 176 | (native-search-paths |
| 174 | (list $C_INCLUDE_PATH | 177 | (list $C_INCLUDE_PATH |
| 175 | $CPLUS_INCLUDE_PATH | 178 | $CPLUS_INCLUDE_PATH |
| @@ -197,13 +200,13 @@ toolchain. Among other features it provides | |||
| 197 | ,@(clang-compiler-cpu-architectures "13"))) | 200 | ,@(clang-compiler-cpu-architectures "13"))) |
| 198 | (license license:expat))) | 201 | (license license:expat))) |
| 199 | 202 | ||
| 200 | (define zig-0.10-glibc-abi-tool | 203 | (define zig-0.10-libc-abi-tools |
| 201 | (origin | 204 | (origin |
| 202 | (method git-fetch) | 205 | (method git-fetch) |
| 203 | (uri (git-reference | 206 | (uri (git-reference |
| 204 | (url "https://codeberg.org/ziglang/libc-abi-tools") | 207 | (url "https://codeberg.org/ziglang/libc-abi-tools") |
| 205 | (commit "b07bf67ab3c15881f13b9c3c03bcec04535760bb"))) | 208 | (commit "b07bf67ab3c15881f13b9c3c03bcec04535760bb"))) |
| 206 | (file-name "glibc-abi-tool") | 209 | (file-name "libc-abi-tools") |
| 207 | (sha256 | 210 | (sha256 |
| 208 | (base32 "0csn3c9pj8wchwy5sk5lfnhjn8a3c8cp45fv7mkpi5bqxzdzf1na")) | 211 | (base32 "0csn3c9pj8wchwy5sk5lfnhjn8a3c8cp45fv7mkpi5bqxzdzf1na")) |
| 209 | (modules '((guix build utils))) | 212 | (modules '((guix build utils))) |
| @@ -267,7 +270,7 @@ toolchain. Among other features it provides | |||
| 267 | (replace "lld" lld-15))) | 270 | (replace "lld" lld-15))) |
| 268 | (native-inputs | 271 | (native-inputs |
| 269 | (modify-inputs native-inputs | 272 | (modify-inputs native-inputs |
| 270 | (replace "glibc-abi-tool" zig-0.10-glibc-abi-tool) | 273 | (replace "libc-abi-tools" zig-0.10-libc-abi-tools) |
| 271 | (replace "llvm" llvm-15))) | 274 | (replace "llvm" llvm-15))) |
| 272 | (properties `((max-silent-time . 9600) | 275 | (properties `((max-silent-time . 9600) |
| 273 | ,@(clang-compiler-cpu-architectures "15"))))) | 276 | ,@(clang-compiler-cpu-architectures "15"))))) |
| @@ -372,11 +375,12 @@ toolchain. Among other features it provides | |||
| 372 | (lambda _ | 375 | (lambda _ |
| 373 | (install-file "stage1/zig1.wasm.zst" | 376 | (install-file "stage1/zig1.wasm.zst" |
| 374 | (string-append #$output:zig1 "/bin")))) | 377 | (string-append #$output:zig1 "/bin")))) |
| 375 | (delete 'install-glibc-abilists))))) | 378 | (delete 'copy-libc-abi-tools) |
| 379 | (delete 'install-abilists))))) | ||
| 376 | (native-inputs | 380 | (native-inputs |
| 377 | (modify-inputs native-inputs | 381 | (modify-inputs native-inputs |
| 378 | (prepend binaryen) | 382 | (prepend binaryen) |
| 379 | (delete "glibc-abi-tool"))) | 383 | (delete "libc-abi-tools"))) |
| 380 | (outputs '("out" "zig1"))))) | 384 | (outputs '("out" "zig1"))))) |
| 381 | 385 | ||
| 382 | ;; Supply zig1.wasm.zst, build zig2 + zig1.wasm, install zig2 + zig1.wasm.zst. | 386 | ;; Supply zig1.wasm.zst, build zig2 + zig1.wasm, install zig2 + zig1.wasm.zst. |
| @@ -1107,13 +1111,13 @@ toolchain. Among other features it provides | |||
| 1107 | (modify-inputs native-inputs | 1111 | (modify-inputs native-inputs |
| 1108 | (replace "zig" `(,base "out"))))))) | 1112 | (replace "zig" `(,base "out"))))))) |
| 1109 | 1113 | ||
| 1110 | (define zig-0.11-glibc-abi-tool | 1114 | (define zig-0.11-libc-abi-tools |
| 1111 | (origin | 1115 | (origin |
| 1112 | (method git-fetch) | 1116 | (method git-fetch) |
| 1113 | (uri (git-reference | 1117 | (uri (git-reference |
| 1114 | (url "https://codeberg.org/ziglang/libc-abi-tools") | 1118 | (url "https://codeberg.org/ziglang/libc-abi-tools") |
| 1115 | (commit "13576b1ea957882be7ff2c99f4cdc27454930219"))) | 1119 | (commit "13576b1ea957882be7ff2c99f4cdc27454930219"))) |
| 1116 | (file-name "glibc-abi-tool") | 1120 | (file-name "libc-abi-tools") |
| 1117 | (sha256 | 1121 | (sha256 |
| 1118 | (base32 "09m0ipixxw0dnal0zsgk6kvcz29y9s256b9y00s4hkhj95n630il")) | 1122 | (base32 "09m0ipixxw0dnal0zsgk6kvcz29y9s256b9y00s4hkhj95n630il")) |
| 1119 | (modules '((guix build utils))) | 1123 | (modules '((guix build utils))) |
| @@ -1183,7 +1187,7 @@ toolchain. Among other features it provides | |||
| 1183 | (native-inputs | 1187 | (native-inputs |
| 1184 | (modify-inputs native-inputs | 1188 | (modify-inputs native-inputs |
| 1185 | (prepend binaryen `(,zig-0.10.0-3985 "zig1")) | 1189 | (prepend binaryen `(,zig-0.10.0-3985 "zig1")) |
| 1186 | (replace "glibc-abi-tool" zig-0.11-glibc-abi-tool) | 1190 | (replace "libc-abi-tools" zig-0.11-libc-abi-tools) |
| 1187 | (replace "llvm" llvm-16))) | 1191 | (replace "llvm" llvm-16))) |
| 1188 | (outputs '("out" "zig1")) | 1192 | (outputs '("out" "zig1")) |
| 1189 | (properties `((max-silent-time . 9600) | 1193 | (properties `((max-silent-time . 9600) |
| @@ -1476,13 +1480,13 @@ toolchain. Among other features it provides | |||
| 1476 | (modify-inputs native-inputs | 1480 | (modify-inputs native-inputs |
| 1477 | (replace "zig" `(,base "out"))))))) | 1481 | (replace "zig" `(,base "out"))))))) |
| 1478 | 1482 | ||
| 1479 | (define zig-0.12-glibc-abi-tool | 1483 | (define zig-0.12-libc-abi-tools |
| 1480 | (origin | 1484 | (origin |
| 1481 | (method git-fetch) | 1485 | (method git-fetch) |
| 1482 | (uri (git-reference | 1486 | (uri (git-reference |
| 1483 | (url "https://codeberg.org/ziglang/libc-abi-tools") | 1487 | (url "https://codeberg.org/ziglang/libc-abi-tools") |
| 1484 | (commit "fc5d0a7046b76795e4219f8f168e118ec29fbc53"))) | 1488 | (commit "fc5d0a7046b76795e4219f8f168e118ec29fbc53"))) |
| 1485 | (file-name "glibc-abi-tool") | 1489 | (file-name "libc-abi-tools") |
| 1486 | (sha256 | 1490 | (sha256 |
| 1487 | (base32 "1q9plbqkkk3jzrvsgcjmj5jjdncz4ym9p0snglz4kkjwwm65gqs1")))) | 1491 | (base32 "1q9plbqkkk3jzrvsgcjmj5jjdncz4ym9p0snglz4kkjwwm65gqs1")))) |
| 1488 | 1492 | ||
| @@ -1519,7 +1523,7 @@ toolchain. Among other features it provides | |||
| 1519 | (replace "lld" lld-17))) | 1523 | (replace "lld" lld-17))) |
| 1520 | (native-inputs | 1524 | (native-inputs |
| 1521 | (modify-inputs native-inputs | 1525 | (modify-inputs native-inputs |
| 1522 | (replace "glibc-abi-tool" zig-0.12-glibc-abi-tool) | 1526 | (replace "libc-abi-tools" zig-0.12-libc-abi-tools) |
| 1523 | (replace "llvm" llvm-17) | 1527 | (replace "llvm" llvm-17) |
| 1524 | (replace "zig" `(,zig-0.11.0-3604 "zig1")))) | 1528 | (replace "zig" `(,zig-0.11.0-3604 "zig1")))) |
| 1525 | (properties `((max-silent-time . 9600) | 1529 | (properties `((max-silent-time . 9600) |
| @@ -1558,13 +1562,13 @@ toolchain. Among other features it provides | |||
| 1558 | (modify-inputs native-inputs | 1562 | (modify-inputs native-inputs |
| 1559 | (replace "zig" `(,base "out"))))))) | 1563 | (replace "zig" `(,base "out"))))))) |
| 1560 | 1564 | ||
| 1561 | (define zig-0.13-glibc-abi-tool | 1565 | (define zig-0.13-libc-abi-tools |
| 1562 | (origin | 1566 | (origin |
| 1563 | (method git-fetch) | 1567 | (method git-fetch) |
| 1564 | (uri (git-reference | 1568 | (uri (git-reference |
| 1565 | (url "https://codeberg.org/ziglang/libc-abi-tools") | 1569 | (url "https://codeberg.org/ziglang/libc-abi-tools") |
| 1566 | (commit "fc5d0a7046b76795e4219f8f168e118ec29fbc53"))) | 1570 | (commit "fc5d0a7046b76795e4219f8f168e118ec29fbc53"))) |
| 1567 | (file-name "glibc-abi-tool") | 1571 | (file-name "libc-abi-tools") |
| 1568 | (sha256 | 1572 | (sha256 |
| 1569 | (base32 "1q9plbqkkk3jzrvsgcjmj5jjdncz4ym9p0snglz4kkjwwm65gqs1")))) | 1573 | (base32 "1q9plbqkkk3jzrvsgcjmj5jjdncz4ym9p0snglz4kkjwwm65gqs1")))) |
| 1570 | 1574 | ||
| @@ -1590,7 +1594,7 @@ toolchain. Among other features it provides | |||
| 1590 | (replace "lld" lld-18))) | 1594 | (replace "lld" lld-18))) |
| 1591 | (native-inputs | 1595 | (native-inputs |
| 1592 | (modify-inputs native-inputs | 1596 | (modify-inputs native-inputs |
| 1593 | (replace "glibc-abi-tool" zig-0.13-glibc-abi-tool) | 1597 | (replace "libc-abi-tools" zig-0.13-libc-abi-tools) |
| 1594 | (replace "llvm" llvm-18) | 1598 | (replace "llvm" llvm-18) |
| 1595 | (replace "zig" `(,zig-0.12.0-109 "zig1")))) | 1599 | (replace "zig" `(,zig-0.12.0-109 "zig1")))) |
| 1596 | (properties `((max-silent-time . 9600) | 1600 | (properties `((max-silent-time . 9600) |
| @@ -1804,13 +1808,13 @@ toolchain. Among other features it provides | |||
| 1804 | (modify-inputs native-inputs | 1808 | (modify-inputs native-inputs |
| 1805 | (replace "zig" `(,base "zig1"))))))) | 1809 | (replace "zig" `(,base "zig1"))))))) |
| 1806 | 1810 | ||
| 1807 | (define zig-0.14-glibc-abi-tool | 1811 | (define zig-0.14-libc-abi-tools |
| 1808 | (origin | 1812 | (origin |
| 1809 | (method git-fetch) | 1813 | (method git-fetch) |
| 1810 | (uri (git-reference | 1814 | (uri (git-reference |
| 1811 | (url "https://codeberg.org/ziglang/libc-abi-tools") | 1815 | (url "https://codeberg.org/ziglang/libc-abi-tools") |
| 1812 | (commit "ed9d3bb356413e73b836955e75f399dfb3ec255e"))) | 1816 | (commit "ed9d3bb356413e73b836955e75f399dfb3ec255e"))) |
| 1813 | (file-name "glibc-abi-tool") | 1817 | (file-name "libc-abi-tools") |
| 1814 | (sha256 | 1818 | (sha256 |
| 1815 | (base32 "0ckhwlszm0vkiqsyp2rzp1zcfljh1ng24c7pdvpyfj51x4s612z1")))) | 1819 | (base32 "0ckhwlszm0vkiqsyp2rzp1zcfljh1ng24c7pdvpyfj51x4s612z1")))) |
| 1816 | 1820 | ||
| @@ -1841,7 +1845,7 @@ toolchain. Among other features it provides | |||
| 1841 | (replace "lld" lld-19))) | 1845 | (replace "lld" lld-19))) |
| 1842 | (native-inputs | 1846 | (native-inputs |
| 1843 | (modify-inputs native-inputs | 1847 | (modify-inputs native-inputs |
| 1844 | (replace "glibc-abi-tool" zig-0.14-glibc-abi-tool) | 1848 | (replace "libc-abi-tools" zig-0.14-libc-abi-tools) |
| 1845 | (replace "llvm" llvm-19) | 1849 | (replace "llvm" llvm-19) |
| 1846 | (replace "zig" `(,zig-0.13.0-3252 "zig1")))) | 1850 | (replace "zig" `(,zig-0.13.0-3252 "zig1")))) |
| 1847 | (properties `((max-silent-time . 9600) | 1851 | (properties `((max-silent-time . 9600) |
| @@ -1990,9 +1994,7 @@ toolchain. Among other features it provides | |||
| 1990 | (substitute-keyword-arguments arguments | 1994 | (substitute-keyword-arguments arguments |
| 1991 | ((#:phases phases '%standard-phases) | 1995 | ((#:phases phases '%standard-phases) |
| 1992 | #~(modify-phases #$phases | 1996 | #~(modify-phases #$phases |
| 1993 | (delete 'install-glibc-abilists) | 1997 | (replace 'copy-libc-abi-tools |
| 1994 | ;; TODO: Remove newly-added abilists files in zig-source. | ||
| 1995 | (add-before 'check 'install-abilists | ||
| 1996 | (lambda* (#:key inputs native-inputs #:allow-other-keys) | 1998 | (lambda* (#:key inputs native-inputs #:allow-other-keys) |
| 1997 | (mkdir-p "/tmp/libc-abi-tools") | 1999 | (mkdir-p "/tmp/libc-abi-tools") |
| 1998 | (with-directory-excursion "/tmp/libc-abi-tools" | 2000 | (with-directory-excursion "/tmp/libc-abi-tools" |
| @@ -2000,7 +2002,11 @@ toolchain. Among other features it provides | |||
| 2000 | (dirname (search-input-file | 2002 | (dirname (search-input-file |
| 2001 | (or native-inputs inputs) "list.zig")) | 2003 | (or native-inputs inputs) "list.zig")) |
| 2002 | ".") | 2004 | ".") |
| 2003 | (for-each make-file-writable (find-files ".")) | 2005 | (for-each make-file-writable (find-files "."))))) |
| 2006 | ;; Added support for more libc implementations. | ||
| 2007 | (replace 'install-abilists | ||
| 2008 | (lambda _ | ||
| 2009 | (with-directory-excursion "/tmp/libc-abi-tools" | ||
| 2004 | (for-each | 2010 | (for-each |
| 2005 | (lambda (libc) | 2011 | (lambda (libc) |
| 2006 | (with-directory-excursion libc | 2012 | (with-directory-excursion libc |
| @@ -2018,8 +2024,7 @@ toolchain. Among other features it provides | |||
| 2018 | (replace "lld" lld-20))) | 2024 | (replace "lld" lld-20))) |
| 2019 | (native-inputs | 2025 | (native-inputs |
| 2020 | (modify-inputs native-inputs | 2026 | (modify-inputs native-inputs |
| 2021 | (delete "glibc-abi-tool") | 2027 | (replace "libc-abi-tools" zig-0.15-libc-abi-tools) |
| 2022 | (prepend zig-0.15-libc-abi-tools) | ||
| 2023 | (replace "llvm" llvm-20) | 2028 | (replace "llvm" llvm-20) |
| 2024 | (replace "zig" `(,zig-0.14.0-1197 "zig1")))) | 2029 | (replace "zig" `(,zig-0.14.0-1197 "zig1")))) |
| 2025 | (properties `((max-silent-time . 9600) | 2030 | (properties `((max-silent-time . 9600) |
| @@ -2163,6 +2168,26 @@ toolchain. Among other features it provides | |||
| 2163 | (search-patches | 2168 | (search-patches |
| 2164 | "zig-0.14-use-baseline-cpu-by-default.patch" | 2169 | "zig-0.14-use-baseline-cpu-by-default.patch" |
| 2165 | "zig-0.16-fix-runpath.patch")))) | 2170 | "zig-0.16-fix-runpath.patch")))) |
| 2171 | (arguments | ||
| 2172 | (substitute-keyword-arguments arguments | ||
| 2173 | ((#:phases phases '%standard-phases) | ||
| 2174 | #~(modify-phases #$phases | ||
| 2175 | ;; Added OpenBSD libc support. | ||
| 2176 | (replace 'install-abilists | ||
| 2177 | (lambda _ | ||
| 2178 | (with-directory-excursion "/tmp/libc-abi-tools" | ||
| 2179 | (for-each | ||
| 2180 | (lambda (libc) | ||
| 2181 | (with-directory-excursion libc | ||
| 2182 | (invoke (string-append #$output "/bin/zig") | ||
| 2183 | "run" "consolidate.zig") | ||
| 2184 | (install-file | ||
| 2185 | "abilists" | ||
| 2186 | (string-append #$output "/lib/zig/libc/" libc)))) | ||
| 2187 | '("freebsd" | ||
| 2188 | "glibc" | ||
| 2189 | "netbsd" | ||
| 2190 | "openbsd"))))))))) | ||
| 2166 | (inputs | 2191 | (inputs |
| 2167 | (modify-inputs inputs | 2192 | (modify-inputs inputs |
| 2168 | (replace "clang" clang-21) | 2193 | (replace "clang" clang-21) |
