diff options
| author | Hilton Chain <hako@ultrarare.space> | 2026-06-21 14:21:47 +0800 |
|---|---|---|
| committer | Hilton Chain <hako@ultrarare.space> | 2026-07-06 16:08:22 +0800 |
| commit | 144df629c2a3a4ef475c195371ce41003dc5ad89 (patch) | |
| tree | 6348e05b89711df0783ebe6cdf2fef76aab05149 /gnu | |
| parent | 990aa9ced2d6415a6724858dd47d5e6ce761cc08 (diff) | |
gnu: zig: Make public packages leaves of the bootstrap chain.
This avoids building stage3 on the bootstrap chain and makes it easier to modify
/ remove the public packages.
* gnu/packages/zig.scm (zig-0.11.0-149): Base on zig-0.10.0-3985.
(zig-0.12.0-109): Base on zig-0.11.0-3604.
(zig-0.13.0-286): Base on zig-0.12.0-109.
(zig-0.14.0-0): New variable.
(zig-0.14.0-687): Base on it.
(zig-0.15.0-0): New variable.
(zig-0.15.0-1447): Base on it.
(zig-0.11-libc-abi-tools, zig-0.12-libc-abi-tools, zig-0.13-libc-abi-tools)
(zig-0.14-libc-abi-tools, zig-0.15-libc-abi-tools, zig-0.11, zig-0.12, zig-0.13)
(zig-0.14, zig-0.15): Move definitions to the end of the file.
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/packages/zig.scm | 640 |
1 files changed, 334 insertions, 306 deletions
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm index 00715fe7736..7344c496455 100644 --- a/gnu/packages/zig.scm +++ b/gnu/packages/zig.scm | |||
| @@ -1111,88 +1111,6 @@ toolchain. Among other features it provides | |||
| 1111 | (modify-inputs native-inputs | 1111 | (modify-inputs native-inputs |
| 1112 | (replace "zig" `(,base "out"))))))) | 1112 | (replace "zig" `(,base "out"))))))) |
| 1113 | 1113 | ||
| 1114 | (define zig-0.11-libc-abi-tools | ||
| 1115 | (origin | ||
| 1116 | (method git-fetch) | ||
| 1117 | (uri (git-reference | ||
| 1118 | (url "https://codeberg.org/ziglang/libc-abi-tools") | ||
| 1119 | (commit "13576b1ea957882be7ff2c99f4cdc27454930219"))) | ||
| 1120 | (file-name "libc-abi-tools") | ||
| 1121 | (sha256 | ||
| 1122 | (base32 "09m0ipixxw0dnal0zsgk6kvcz29y9s256b9y00s4hkhj95n630il")) | ||
| 1123 | (modules '((guix build utils))) | ||
| 1124 | (snippet | ||
| 1125 | #~(begin | ||
| 1126 | (substitute* "consolidate.zig" | ||
| 1127 | ((".*minor = 3[5678].*") "") | ||
| 1128 | (("(w\\.writeIntLittle.u16, )(@intCast.*);" _ prefix suffix) | ||
| 1129 | (string-append prefix "@as(u16, " suffix ");"))) | ||
| 1130 | (with-directory-excursion "glibc" | ||
| 1131 | (for-each delete-file-recursively | ||
| 1132 | '("2.35" "2.36" "2.37" "2.38"))))))) | ||
| 1133 | |||
| 1134 | (define-public zig-0.11 | ||
| 1135 | (package | ||
| 1136 | (inherit zig-0.10) | ||
| 1137 | (name "zig") | ||
| 1138 | (version "0.11.0") | ||
| 1139 | (source | ||
| 1140 | (origin | ||
| 1141 | (inherit (zig-source | ||
| 1142 | version version | ||
| 1143 | "0qh7c27cd4wcdjj0mbpkarvwypfk1js8hkyxs0z149qv75zkbrca")) | ||
| 1144 | (patches | ||
| 1145 | (search-patches | ||
| 1146 | "zig-0.11-build-respect-PKG_CONFIG-env-var.patch" | ||
| 1147 | "zig-0.9-use-baseline-cpu-by-default.patch" | ||
| 1148 | "zig-0.11-use-system-paths.patch" | ||
| 1149 | "zig-0.11-fix-runpath.patch")))) | ||
| 1150 | (arguments | ||
| 1151 | (substitute-keyword-arguments arguments | ||
| 1152 | ((#:phases phases '%standard-phases) | ||
| 1153 | #~(modify-phases #$phases | ||
| 1154 | (add-after 'unpack 'set-host-triple | ||
| 1155 | (lambda _ | ||
| 1156 | (substitute* "CMakeLists.txt" | ||
| 1157 | (("\\$\\{ZIG_HOST_TARGET_TRIPLE\\}") | ||
| 1158 | (zig-target | ||
| 1159 | #$(platform-target | ||
| 1160 | (lookup-platform-by-system (%current-system)))))))) | ||
| 1161 | (add-after 'unpack 'prepare-source | ||
| 1162 | (lambda* (#:key native-inputs inputs #:allow-other-keys) | ||
| 1163 | (install-file (search-input-file | ||
| 1164 | (or native-inputs inputs) "bin/zig1.wasm") | ||
| 1165 | "stage1") | ||
| 1166 | (make-file-writable "stage1/zig1.wasm"))) | ||
| 1167 | (add-after 'install 'build-zig1 | ||
| 1168 | (lambda _ | ||
| 1169 | (invoke (string-append #$output "/bin/zig") | ||
| 1170 | "build" "update-zig1" "--verbose"))) | ||
| 1171 | (add-after 'build-zig1 'install-zig1 | ||
| 1172 | (lambda _ | ||
| 1173 | (install-file "stage1/zig1.wasm" | ||
| 1174 | (string-append #$output:zig1 "/bin")))) | ||
| 1175 | ;; TODO: Disable tests for macOS target and run full test. | ||
| 1176 | ;; Issue with glibc in CPLUS_INCLUDE_PATH: | ||
| 1177 | ;; <https://github.com/ziglang/zig/issues/18063>. | ||
| 1178 | (replace 'check | ||
| 1179 | (lambda* (#:key tests? #:allow-other-keys) | ||
| 1180 | (when tests? | ||
| 1181 | (invoke (string-append #$output "/bin/zig") | ||
| 1182 | "test" "-I" "test" "test/behavior.zig")))))))) | ||
| 1183 | (inputs | ||
| 1184 | (modify-inputs inputs | ||
| 1185 | (replace "clang" clang-16) | ||
| 1186 | (replace "lld" lld-16))) | ||
| 1187 | (native-inputs | ||
| 1188 | (modify-inputs native-inputs | ||
| 1189 | (prepend binaryen `(,zig-0.10.0-3985 "zig1")) | ||
| 1190 | (replace "libc-abi-tools" zig-0.11-libc-abi-tools) | ||
| 1191 | (replace "llvm" llvm-16))) | ||
| 1192 | (outputs '("out" "zig1")) | ||
| 1193 | (properties `((max-silent-time . 9600) | ||
| 1194 | ,@(clang-compiler-cpu-architectures "16"))))) | ||
| 1195 | |||
| 1196 | 1114 | ||
| 1197 | ;;; | 1115 | ;;; |
| 1198 | ;;; Bootstrap path for Zig 0.12. | 1116 | ;;; Bootstrap path for Zig 0.12. |
| @@ -1202,7 +1120,7 @@ toolchain. Among other features it provides | |||
| 1202 | (define zig-0.11.0-149 | 1120 | (define zig-0.11.0-149 |
| 1203 | (let ((commit "7a85ad151daece3d0bba3c8d23081502a0956c95") | 1121 | (let ((commit "7a85ad151daece3d0bba3c8d23081502a0956c95") |
| 1204 | (revision "149") | 1122 | (revision "149") |
| 1205 | (base zig-0.11)) | 1123 | (base zig-0.10.0-3985)) |
| 1206 | (package | 1124 | (package |
| 1207 | (inherit base) | 1125 | (inherit base) |
| 1208 | (name "zig") | 1126 | (name "zig") |
| @@ -1210,18 +1128,11 @@ toolchain. Among other features it provides | |||
| 1210 | (source (zig-source | 1128 | (source (zig-source |
| 1211 | version commit | 1129 | version commit |
| 1212 | "1kb245d4wfs1dyv7ccw3xiawasggpln9qxfqwlp4gkdg50l1qyzw")) | 1130 | "1kb245d4wfs1dyv7ccw3xiawasggpln9qxfqwlp4gkdg50l1qyzw")) |
| 1213 | ;; zig1 | 1131 | ;; zig2+zig1 |
| 1214 | (arguments | 1132 | (arguments (package-arguments zig-0.10.0-748)) |
| 1215 | (substitute-keyword-arguments (package-arguments zig-0.10.0-747) | ||
| 1216 | ((#:phases phases '%standard-phases) | ||
| 1217 | #~(modify-phases #$phases | ||
| 1218 | (replace 'build-zig1 | ||
| 1219 | (lambda _ | ||
| 1220 | (invoke "zig" "build" "--zig-lib-dir" "lib" | ||
| 1221 | "update-zig1" "--verbose"))))))) | ||
| 1222 | (native-inputs | 1133 | (native-inputs |
| 1223 | (modify-inputs native-inputs | 1134 | (modify-inputs native-inputs |
| 1224 | (replace "zig" `(,base "out"))))))) | 1135 | (replace "zig" `(,base "zig1"))))))) |
| 1225 | 1136 | ||
| 1226 | (define zig-0.11.0-384 | 1137 | (define zig-0.11.0-384 |
| 1227 | (let ((commit "88f5315ddfc6eaf3e28433504ec046fb3252db7c") | 1138 | (let ((commit "88f5315ddfc6eaf3e28433504ec046fb3252db7c") |
| @@ -1480,55 +1391,6 @@ toolchain. Among other features it provides | |||
| 1480 | (modify-inputs native-inputs | 1391 | (modify-inputs native-inputs |
| 1481 | (replace "zig" `(,base "out"))))))) | 1392 | (replace "zig" `(,base "out"))))))) |
| 1482 | 1393 | ||
| 1483 | (define zig-0.12-libc-abi-tools | ||
| 1484 | (origin | ||
| 1485 | (method git-fetch) | ||
| 1486 | (uri (git-reference | ||
| 1487 | (url "https://codeberg.org/ziglang/libc-abi-tools") | ||
| 1488 | (commit "fc5d0a7046b76795e4219f8f168e118ec29fbc53"))) | ||
| 1489 | (file-name "libc-abi-tools") | ||
| 1490 | (sha256 | ||
| 1491 | (base32 "1q9plbqkkk3jzrvsgcjmj5jjdncz4ym9p0snglz4kkjwwm65gqs1")))) | ||
| 1492 | |||
| 1493 | (define-public zig-0.12 | ||
| 1494 | (package | ||
| 1495 | (inherit zig-0.11) | ||
| 1496 | (name "zig") | ||
| 1497 | (version "0.12.1") | ||
| 1498 | (source | ||
| 1499 | (origin | ||
| 1500 | (inherit (zig-source | ||
| 1501 | version version | ||
| 1502 | "0ssgfrsk116p16rwjwq1z2pvvcdij6s30s19bhzjms7maz4s77hb")) | ||
| 1503 | (patches | ||
| 1504 | (search-patches | ||
| 1505 | "zig-0.12-build-respect-PKG_CONFIG-env-var.patch" | ||
| 1506 | "zig-0.12-use-baseline-cpu-by-default.patch" | ||
| 1507 | "zig-0.12-use-system-paths.patch" | ||
| 1508 | "zig-0.12-fix-runpath.patch")))) | ||
| 1509 | (arguments | ||
| 1510 | (substitute-keyword-arguments arguments | ||
| 1511 | ((#:phases phases '%standard-phases) | ||
| 1512 | #~(modify-phases #$phases | ||
| 1513 | (replace 'patch-more-shebangs | ||
| 1514 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 1515 | ;; Zig uses information about an ELF file to determine the | ||
| 1516 | ;; version of glibc and other data for native builds. | ||
| 1517 | (substitute* "lib/std/zig/system.zig" | ||
| 1518 | (("/usr/bin/env") | ||
| 1519 | (search-input-file inputs "bin/clang++"))))))))) | ||
| 1520 | (inputs | ||
| 1521 | (modify-inputs inputs | ||
| 1522 | (replace "clang" clang-17) | ||
| 1523 | (replace "lld" lld-17))) | ||
| 1524 | (native-inputs | ||
| 1525 | (modify-inputs native-inputs | ||
| 1526 | (replace "libc-abi-tools" zig-0.12-libc-abi-tools) | ||
| 1527 | (replace "llvm" llvm-17) | ||
| 1528 | (replace "zig" `(,zig-0.11.0-3604 "zig1")))) | ||
| 1529 | (properties `((max-silent-time . 9600) | ||
| 1530 | ,@(clang-compiler-cpu-architectures "17"))))) | ||
| 1531 | |||
| 1532 | 1394 | ||
| 1533 | ;;; | 1395 | ;;; |
| 1534 | ;;; Bootstrap path for Zig 0.13. | 1396 | ;;; Bootstrap path for Zig 0.13. |
| @@ -1537,7 +1399,7 @@ toolchain. Among other features it provides | |||
| 1537 | (define zig-0.12.0-109 | 1399 | (define zig-0.12.0-109 |
| 1538 | (let ((commit "b7799ef322103c8e449c45494c29fb4a8c9867df") | 1400 | (let ((commit "b7799ef322103c8e449c45494c29fb4a8c9867df") |
| 1539 | (revision "109") | 1401 | (revision "109") |
| 1540 | (base zig-0.12)) | 1402 | (base zig-0.11.0-3604)) |
| 1541 | (package | 1403 | (package |
| 1542 | (inherit base) | 1404 | (inherit base) |
| 1543 | (name "zig") | 1405 | (name "zig") |
| @@ -1545,60 +1407,18 @@ toolchain. Among other features it provides | |||
| 1545 | (source (zig-source | 1407 | (source (zig-source |
| 1546 | version commit | 1408 | version commit |
| 1547 | "1zy19w93wrd7dfdih8hfk9h3brkgaspaa60ipcmf08hlx6z2f0bz")) | 1409 | "1zy19w93wrd7dfdih8hfk9h3brkgaspaa60ipcmf08hlx6z2f0bz")) |
| 1548 | ;; zig1 | 1410 | ;; zig2+zig1 |
| 1549 | (arguments | 1411 | (arguments (package-arguments zig-0.10.0-748)) |
| 1550 | (substitute-keyword-arguments (package-arguments zig-0.10.0-747) | 1412 | (inputs |
| 1551 | ((#:phases phases '%standard-phases) | 1413 | (modify-inputs inputs |
| 1552 | #~(modify-phases #$phases | 1414 | (replace "clang" clang-18) |
| 1553 | ;; Build errors when zig1.wasm is not found. | 1415 | (replace "lld" lld-18))) |
| 1554 | (add-after 'unpack 'prepare-source | ||
| 1555 | (lambda _ | ||
| 1556 | (invoke "touch" "stage1/zig1.wasm"))) | ||
| 1557 | (replace 'build-zig1 | ||
| 1558 | (lambda _ | ||
| 1559 | (invoke "zig" "build" "--zig-lib-dir" "lib" | ||
| 1560 | "update-zig1" "--verbose"))))))) | ||
| 1561 | (native-inputs | 1416 | (native-inputs |
| 1562 | (modify-inputs native-inputs | 1417 | (modify-inputs native-inputs |
| 1563 | (replace "zig" `(,base "out"))))))) | 1418 | (replace "llvm" llvm-18) |
| 1564 | 1419 | (replace "zig" `(,base "zig1")))) | |
| 1565 | (define zig-0.13-libc-abi-tools | 1420 | (properties `((max-silent-time . 9600) |
| 1566 | (origin | 1421 | ,@(clang-compiler-cpu-architectures "18")))))) |
| 1567 | (method git-fetch) | ||
| 1568 | (uri (git-reference | ||
| 1569 | (url "https://codeberg.org/ziglang/libc-abi-tools") | ||
| 1570 | (commit "fc5d0a7046b76795e4219f8f168e118ec29fbc53"))) | ||
| 1571 | (file-name "libc-abi-tools") | ||
| 1572 | (sha256 | ||
| 1573 | (base32 "1q9plbqkkk3jzrvsgcjmj5jjdncz4ym9p0snglz4kkjwwm65gqs1")))) | ||
| 1574 | |||
| 1575 | (define-public zig-0.13 | ||
| 1576 | (package | ||
| 1577 | (inherit zig-0.12) | ||
| 1578 | (name "zig") | ||
| 1579 | (version "0.13.0") | ||
| 1580 | (source | ||
| 1581 | (origin | ||
| 1582 | (inherit (zig-source | ||
| 1583 | version version | ||
| 1584 | "0ly8042lbsa8019g0d1jg4l06rxpq2530n9mijq66n4lmx7a5976")) | ||
| 1585 | (patches | ||
| 1586 | (search-patches | ||
| 1587 | "zig-0.13-build-respect-PKG_CONFIG-env-var.patch" | ||
| 1588 | "zig-0.12-use-baseline-cpu-by-default.patch" | ||
| 1589 | "zig-0.12-use-system-paths.patch" | ||
| 1590 | "zig-0.13-fix-runpath.patch")))) | ||
| 1591 | (inputs | ||
| 1592 | (modify-inputs inputs | ||
| 1593 | (replace "clang" clang-18) | ||
| 1594 | (replace "lld" lld-18))) | ||
| 1595 | (native-inputs | ||
| 1596 | (modify-inputs native-inputs | ||
| 1597 | (replace "libc-abi-tools" zig-0.13-libc-abi-tools) | ||
| 1598 | (replace "llvm" llvm-18) | ||
| 1599 | (replace "zig" `(,zig-0.12.0-109 "zig1")))) | ||
| 1600 | (properties `((max-silent-time . 9600) | ||
| 1601 | ,@(clang-compiler-cpu-architectures "18"))))) | ||
| 1602 | 1422 | ||
| 1603 | 1423 | ||
| 1604 | ;;; | 1424 | ;;; |
| @@ -1608,7 +1428,7 @@ toolchain. Among other features it provides | |||
| 1608 | (define zig-0.13.0-286 | 1428 | (define zig-0.13.0-286 |
| 1609 | (let ((commit "d72a8db2db1a5c77af2deb713248dc53f9adcb73") | 1429 | (let ((commit "d72a8db2db1a5c77af2deb713248dc53f9adcb73") |
| 1610 | (revision "286") | 1430 | (revision "286") |
| 1611 | (base zig-0.13)) | 1431 | (base zig-0.12.0-109)) |
| 1612 | (package | 1432 | (package |
| 1613 | (inherit base) | 1433 | (inherit base) |
| 1614 | (name "zig") | 1434 | (name "zig") |
| @@ -1808,58 +1628,32 @@ toolchain. Among other features it provides | |||
| 1808 | (modify-inputs native-inputs | 1628 | (modify-inputs native-inputs |
| 1809 | (replace "zig" `(,base "zig1"))))))) | 1629 | (replace "zig" `(,base "zig1"))))))) |
| 1810 | 1630 | ||
| 1811 | (define zig-0.14-libc-abi-tools | ||
| 1812 | (origin | ||
| 1813 | (method git-fetch) | ||
| 1814 | (uri (git-reference | ||
| 1815 | (url "https://codeberg.org/ziglang/libc-abi-tools") | ||
| 1816 | (commit "ed9d3bb356413e73b836955e75f399dfb3ec255e"))) | ||
| 1817 | (file-name "libc-abi-tools") | ||
| 1818 | (sha256 | ||
| 1819 | (base32 "0ckhwlszm0vkiqsyp2rzp1zcfljh1ng24c7pdvpyfj51x4s612z1")))) | ||
| 1820 | |||
| 1821 | (define-public zig-0.14 | ||
| 1822 | (package | ||
| 1823 | (inherit zig-0.12) | ||
| 1824 | (name "zig") | ||
| 1825 | (version "0.14.1") | ||
| 1826 | (source | ||
| 1827 | (origin | ||
| 1828 | (inherit (zig-source | ||
| 1829 | version version | ||
| 1830 | "0cnc3bzl965ckm70ayd6a29zn5h9cy3qzyfncp4n7mzkiwhlj58f")) | ||
| 1831 | (patches | ||
| 1832 | (search-patches | ||
| 1833 | "zig-0.14-use-baseline-cpu-by-default.patch" | ||
| 1834 | "zig-0.14-use-system-paths.patch" | ||
| 1835 | "zig-0.14-fix-runpath.patch")) | ||
| 1836 | (snippet | ||
| 1837 | #~(begin | ||
| 1838 | #$(origin-snippet (package-source zig-0.13)) | ||
| 1839 | ;; For ARM builds. | ||
| 1840 | (substitute* "build.zig" | ||
| 1841 | (("\\.*.max_rss.*") "")))))) | ||
| 1842 | (inputs | ||
| 1843 | (modify-inputs inputs | ||
| 1844 | (replace "clang" clang-19) | ||
| 1845 | (replace "lld" lld-19))) | ||
| 1846 | (native-inputs | ||
| 1847 | (modify-inputs native-inputs | ||
| 1848 | (replace "libc-abi-tools" zig-0.14-libc-abi-tools) | ||
| 1849 | (replace "llvm" llvm-19) | ||
| 1850 | (replace "zig" `(,zig-0.13.0-3252 "zig1")))) | ||
| 1851 | (properties `((max-silent-time . 9600) | ||
| 1852 | ,@(clang-compiler-cpu-architectures "19"))))) | ||
| 1853 | |||
| 1854 | 1631 | ||
| 1855 | ;;; | 1632 | ;;; |
| 1856 | ;;; Bootstrap path for Zig 0.15. | 1633 | ;;; Bootstrap path for Zig 0.15. |
| 1857 | ;;; | 1634 | ;;; |
| 1858 | 1635 | ||
| 1636 | (define zig-0.14.0-0 | ||
| 1637 | (let ((commit "5ad91a646a753cc3eecd8751e61cf458dadd9ac4") | ||
| 1638 | (revision "0") | ||
| 1639 | (base zig-0.13.0-3252)) | ||
| 1640 | (package | ||
| 1641 | (inherit base) | ||
| 1642 | (name "zig") | ||
| 1643 | (version (git-version "0.14.0" revision commit)) | ||
| 1644 | (source (zig-source | ||
| 1645 | version commit | ||
| 1646 | "0ndrwir81zhkwviwnzwqc4vszc1klv1fnlf66nmdwijrkqi5wasp")) | ||
| 1647 | ;; zig2+zig1 | ||
| 1648 | (arguments (package-arguments zig-0.10.0-748)) | ||
| 1649 | (native-inputs | ||
| 1650 | (modify-inputs native-inputs | ||
| 1651 | (replace "zig" `(,base "zig1"))))))) | ||
| 1652 | |||
| 1859 | (define zig-0.14.0-687 | 1653 | (define zig-0.14.0-687 |
| 1860 | (let ((commit "cc047fdd959edb260f7a6e305ccad53f185ece66") | 1654 | (let ((commit "cc047fdd959edb260f7a6e305ccad53f185ece66") |
| 1861 | (revision "687") | 1655 | (revision "687") |
| 1862 | (base zig-0.14)) | 1656 | (base zig-0.14.0-0)) |
| 1863 | (package | 1657 | (package |
| 1864 | (inherit base) | 1658 | (inherit base) |
| 1865 | (name "zig") | 1659 | (name "zig") |
| @@ -1965,80 +1759,32 @@ toolchain. Among other features it provides | |||
| 1965 | (modify-inputs native-inputs | 1759 | (modify-inputs native-inputs |
| 1966 | (replace "zig" `(,base "out"))))))) | 1760 | (replace "zig" `(,base "out"))))))) |
| 1967 | 1761 | ||
| 1968 | (define zig-0.15-libc-abi-tools | ||
| 1969 | (origin | ||
| 1970 | (method git-fetch) | ||
| 1971 | (uri (git-reference | ||
| 1972 | (url "https://codeberg.org/ziglang/libc-abi-tools") | ||
| 1973 | (commit "ec46122c7b8c7854f08e67e108083907d09996f5"))) | ||
| 1974 | (file-name "libc-abi-tools") | ||
| 1975 | (sha256 | ||
| 1976 | (base32 "0s46f1wbqg53wxlrljb9afw4s8j5cl5vz5xhajy6fagy05xns2bc")))) | ||
| 1977 | |||
| 1978 | (define-public zig-0.15 | ||
| 1979 | (package | ||
| 1980 | (inherit zig-0.12) | ||
| 1981 | (name "zig") | ||
| 1982 | (version "0.15.2") | ||
| 1983 | (source | ||
| 1984 | (origin | ||
| 1985 | (inherit (zig-source | ||
| 1986 | version version | ||
| 1987 | "0kr8y1xzb7ffqg4yy7ncg4jh6kndxn5xfqf2viy5gvqdqqql8ymv")) | ||
| 1988 | (patches | ||
| 1989 | (search-patches | ||
| 1990 | "zig-0.14-use-baseline-cpu-by-default.patch" | ||
| 1991 | "zig-0.14-use-system-paths.patch" | ||
| 1992 | "zig-0.15-fix-runpath.patch")))) | ||
| 1993 | (arguments | ||
| 1994 | (substitute-keyword-arguments arguments | ||
| 1995 | ((#:phases phases '%standard-phases) | ||
| 1996 | #~(modify-phases #$phases | ||
| 1997 | (replace 'copy-libc-abi-tools | ||
| 1998 | (lambda* (#:key inputs native-inputs #:allow-other-keys) | ||
| 1999 | (mkdir-p "/tmp/libc-abi-tools") | ||
| 2000 | (with-directory-excursion "/tmp/libc-abi-tools" | ||
| 2001 | (copy-recursively | ||
| 2002 | (dirname (search-input-file | ||
| 2003 | (or native-inputs inputs) "list.zig")) | ||
| 2004 | ".") | ||
| 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" | ||
| 2010 | (for-each | ||
| 2011 | (lambda (libc) | ||
| 2012 | (with-directory-excursion libc | ||
| 2013 | (invoke (string-append #$output "/bin/zig") | ||
| 2014 | "run" "consolidate.zig") | ||
| 2015 | (install-file | ||
| 2016 | "abilists" | ||
| 2017 | (string-append #$output "/lib/zig/libc/" libc)))) | ||
| 2018 | '("freebsd" | ||
| 2019 | "glibc" | ||
| 2020 | "netbsd"))))))))) | ||
| 2021 | (inputs | ||
| 2022 | (modify-inputs inputs | ||
| 2023 | (replace "clang" clang-20) | ||
| 2024 | (replace "lld" lld-20))) | ||
| 2025 | (native-inputs | ||
| 2026 | (modify-inputs native-inputs | ||
| 2027 | (replace "libc-abi-tools" zig-0.15-libc-abi-tools) | ||
| 2028 | (replace "llvm" llvm-20) | ||
| 2029 | (replace "zig" `(,zig-0.14.0-1197 "zig1")))) | ||
| 2030 | (properties `((max-silent-time . 9600) | ||
| 2031 | ,@(clang-compiler-cpu-architectures "20"))))) | ||
| 2032 | |||
| 2033 | 1762 | ||
| 2034 | ;;; | 1763 | ;;; |
| 2035 | ;;; Bootstrap path for Zig 0.16. | 1764 | ;;; Bootstrap path for Zig 0.16. |
| 2036 | ;;; | 1765 | ;;; |
| 2037 | 1766 | ||
| 1767 | (define zig-0.15.0-0 | ||
| 1768 | (let ((commit "94cda37d691316ad4129ee37bbdecb911349109f") | ||
| 1769 | (revision "0") | ||
| 1770 | (base zig-0.14.0-1197)) | ||
| 1771 | (package | ||
| 1772 | (inherit base) | ||
| 1773 | (name "zig") | ||
| 1774 | (version (git-version "0.15.0" revision commit)) | ||
| 1775 | (source (zig-source | ||
| 1776 | version commit | ||
| 1777 | "1wlw9acjff9hhghqmcrbh42n6hwkfgzdbkcizk9p948z2pnqmic2")) | ||
| 1778 | ;; zig2+zig1 | ||
| 1779 | (arguments (package-arguments zig-0.10.0-748)) | ||
| 1780 | (native-inputs | ||
| 1781 | (modify-inputs native-inputs | ||
| 1782 | (replace "zig" `(,base "zig1"))))))) | ||
| 1783 | |||
| 2038 | (define zig-0.15.0-1447 | 1784 | (define zig-0.15.0-1447 |
| 2039 | (let ((commit "ce0df033cf2bb6986c6c226786e6543d05e29a77") | 1785 | (let ((commit "ce0df033cf2bb6986c6c226786e6543d05e29a77") |
| 2040 | (revision "1447") | 1786 | (revision "1447") |
| 2041 | (base zig-0.15)) | 1787 | (base zig-0.15.0-0)) |
| 2042 | (package | 1788 | (package |
| 2043 | (inherit base) | 1789 | (inherit base) |
| 2044 | (name "zig") | 1790 | (name "zig") |
| @@ -2144,6 +1890,71 @@ toolchain. Among other features it provides | |||
| 2144 | (modify-inputs native-inputs | 1890 | (modify-inputs native-inputs |
| 2145 | (replace "zig" `(,base "out"))))))) | 1891 | (replace "zig" `(,base "out"))))))) |
| 2146 | 1892 | ||
| 1893 | |||
| 1894 | ;;; | ||
| 1895 | ;;; Public packages. | ||
| 1896 | ;;; | ||
| 1897 | |||
| 1898 | (define zig-0.11-libc-abi-tools | ||
| 1899 | (origin | ||
| 1900 | (method git-fetch) | ||
| 1901 | (uri (git-reference | ||
| 1902 | (url "https://codeberg.org/ziglang/libc-abi-tools") | ||
| 1903 | (commit "13576b1ea957882be7ff2c99f4cdc27454930219"))) | ||
| 1904 | (file-name "libc-abi-tools") | ||
| 1905 | (sha256 | ||
| 1906 | (base32 "09m0ipixxw0dnal0zsgk6kvcz29y9s256b9y00s4hkhj95n630il")) | ||
| 1907 | (modules '((guix build utils))) | ||
| 1908 | (snippet | ||
| 1909 | #~(begin | ||
| 1910 | (substitute* "consolidate.zig" | ||
| 1911 | ((".*minor = 3[5678].*") "") | ||
| 1912 | (("(w\\.writeIntLittle.u16, )(@intCast.*);" _ prefix suffix) | ||
| 1913 | (string-append prefix "@as(u16, " suffix ");"))) | ||
| 1914 | (with-directory-excursion "glibc" | ||
| 1915 | (for-each delete-file-recursively | ||
| 1916 | '("2.35" "2.36" "2.37" "2.38"))))))) | ||
| 1917 | |||
| 1918 | (define zig-0.12-libc-abi-tools | ||
| 1919 | (origin | ||
| 1920 | (method git-fetch) | ||
| 1921 | (uri (git-reference | ||
| 1922 | (url "https://codeberg.org/ziglang/libc-abi-tools") | ||
| 1923 | (commit "fc5d0a7046b76795e4219f8f168e118ec29fbc53"))) | ||
| 1924 | (file-name "libc-abi-tools") | ||
| 1925 | (sha256 | ||
| 1926 | (base32 "1q9plbqkkk3jzrvsgcjmj5jjdncz4ym9p0snglz4kkjwwm65gqs1")))) | ||
| 1927 | |||
| 1928 | (define zig-0.13-libc-abi-tools | ||
| 1929 | (origin | ||
| 1930 | (method git-fetch) | ||
| 1931 | (uri (git-reference | ||
| 1932 | (url "https://codeberg.org/ziglang/libc-abi-tools") | ||
| 1933 | (commit "fc5d0a7046b76795e4219f8f168e118ec29fbc53"))) | ||
| 1934 | (file-name "libc-abi-tools") | ||
| 1935 | (sha256 | ||
| 1936 | (base32 "1q9plbqkkk3jzrvsgcjmj5jjdncz4ym9p0snglz4kkjwwm65gqs1")))) | ||
| 1937 | |||
| 1938 | (define zig-0.14-libc-abi-tools | ||
| 1939 | (origin | ||
| 1940 | (method git-fetch) | ||
| 1941 | (uri (git-reference | ||
| 1942 | (url "https://codeberg.org/ziglang/libc-abi-tools") | ||
| 1943 | (commit "ed9d3bb356413e73b836955e75f399dfb3ec255e"))) | ||
| 1944 | (file-name "libc-abi-tools") | ||
| 1945 | (sha256 | ||
| 1946 | (base32 "0ckhwlszm0vkiqsyp2rzp1zcfljh1ng24c7pdvpyfj51x4s612z1")))) | ||
| 1947 | |||
| 1948 | (define zig-0.15-libc-abi-tools | ||
| 1949 | (origin | ||
| 1950 | (method git-fetch) | ||
| 1951 | (uri (git-reference | ||
| 1952 | (url "https://codeberg.org/ziglang/libc-abi-tools") | ||
| 1953 | (commit "ec46122c7b8c7854f08e67e108083907d09996f5"))) | ||
| 1954 | (file-name "libc-abi-tools") | ||
| 1955 | (sha256 | ||
| 1956 | (base32 "0s46f1wbqg53wxlrljb9afw4s8j5cl5vz5xhajy6fagy05xns2bc")))) | ||
| 1957 | |||
| 2147 | (define zig-0.16-libc-abi-tools | 1958 | (define zig-0.16-libc-abi-tools |
| 2148 | (origin | 1959 | (origin |
| 2149 | (method git-fetch) | 1960 | (method git-fetch) |
| @@ -2154,6 +1965,223 @@ toolchain. Among other features it provides | |||
| 2154 | (sha256 | 1965 | (sha256 |
| 2155 | (base32 "0a4f1bhgi6rd33gp3zlarcibagd603km4g97pdkphdkbs11066x1")))) | 1966 | (base32 "0a4f1bhgi6rd33gp3zlarcibagd603km4g97pdkphdkbs11066x1")))) |
| 2156 | 1967 | ||
| 1968 | (define-public zig-0.11 | ||
| 1969 | (package | ||
| 1970 | (inherit zig-0.10) | ||
| 1971 | (name "zig") | ||
| 1972 | (version "0.11.0") | ||
| 1973 | (source | ||
| 1974 | (origin | ||
| 1975 | (inherit (zig-source | ||
| 1976 | version version | ||
| 1977 | "0qh7c27cd4wcdjj0mbpkarvwypfk1js8hkyxs0z149qv75zkbrca")) | ||
| 1978 | (patches | ||
| 1979 | (search-patches | ||
| 1980 | "zig-0.11-build-respect-PKG_CONFIG-env-var.patch" | ||
| 1981 | "zig-0.9-use-baseline-cpu-by-default.patch" | ||
| 1982 | "zig-0.11-use-system-paths.patch" | ||
| 1983 | "zig-0.11-fix-runpath.patch")))) | ||
| 1984 | (arguments | ||
| 1985 | (substitute-keyword-arguments arguments | ||
| 1986 | ((#:phases phases '%standard-phases) | ||
| 1987 | #~(modify-phases #$phases | ||
| 1988 | (add-after 'unpack 'set-host-triple | ||
| 1989 | (lambda _ | ||
| 1990 | (substitute* "CMakeLists.txt" | ||
| 1991 | (("\\$\\{ZIG_HOST_TARGET_TRIPLE\\}") | ||
| 1992 | (zig-target | ||
| 1993 | #$(platform-target | ||
| 1994 | (lookup-platform-by-system (%current-system)))))))) | ||
| 1995 | (add-after 'unpack 'prepare-source | ||
| 1996 | (lambda* (#:key native-inputs inputs #:allow-other-keys) | ||
| 1997 | (install-file (search-input-file | ||
| 1998 | (or native-inputs inputs) "bin/zig1.wasm") | ||
| 1999 | "stage1") | ||
| 2000 | (make-file-writable "stage1/zig1.wasm"))) | ||
| 2001 | (add-after 'install 'build-zig1 | ||
| 2002 | (lambda _ | ||
| 2003 | (invoke (string-append #$output "/bin/zig") | ||
| 2004 | "build" "update-zig1" "--verbose"))) | ||
| 2005 | (add-after 'build-zig1 'install-zig1 | ||
| 2006 | (lambda _ | ||
| 2007 | (install-file "stage1/zig1.wasm" | ||
| 2008 | (string-append #$output:zig1 "/bin")))) | ||
| 2009 | ;; TODO: Disable tests for macOS target and run full test. | ||
| 2010 | ;; Issue with glibc in CPLUS_INCLUDE_PATH: | ||
| 2011 | ;; <https://github.com/ziglang/zig/issues/18063>. | ||
| 2012 | (replace 'check | ||
| 2013 | (lambda* (#:key tests? #:allow-other-keys) | ||
| 2014 | (when tests? | ||
| 2015 | (invoke (string-append #$output "/bin/zig") | ||
| 2016 | "test" "-I" "test" "test/behavior.zig")))))))) | ||
| 2017 | (inputs | ||
| 2018 | (modify-inputs inputs | ||
| 2019 | (replace "clang" clang-16) | ||
| 2020 | (replace "lld" lld-16))) | ||
| 2021 | (native-inputs | ||
| 2022 | (modify-inputs native-inputs | ||
| 2023 | (prepend binaryen `(,zig-0.10.0-3985 "zig1")) | ||
| 2024 | (replace "libc-abi-tools" zig-0.11-libc-abi-tools) | ||
| 2025 | (replace "llvm" llvm-16))) | ||
| 2026 | (outputs '("out" "zig1")) | ||
| 2027 | (properties `((max-silent-time . 9600) | ||
| 2028 | ,@(clang-compiler-cpu-architectures "16"))))) | ||
| 2029 | |||
| 2030 | (define-public zig-0.12 | ||
| 2031 | (package | ||
| 2032 | (inherit zig-0.11) | ||
| 2033 | (name "zig") | ||
| 2034 | (version "0.12.1") | ||
| 2035 | (source | ||
| 2036 | (origin | ||
| 2037 | (inherit (zig-source | ||
| 2038 | version version | ||
| 2039 | "0ssgfrsk116p16rwjwq1z2pvvcdij6s30s19bhzjms7maz4s77hb")) | ||
| 2040 | (patches | ||
| 2041 | (search-patches | ||
| 2042 | "zig-0.12-build-respect-PKG_CONFIG-env-var.patch" | ||
| 2043 | "zig-0.12-use-baseline-cpu-by-default.patch" | ||
| 2044 | "zig-0.12-use-system-paths.patch" | ||
| 2045 | "zig-0.12-fix-runpath.patch")))) | ||
| 2046 | (arguments | ||
| 2047 | (substitute-keyword-arguments arguments | ||
| 2048 | ((#:phases phases '%standard-phases) | ||
| 2049 | #~(modify-phases #$phases | ||
| 2050 | (replace 'patch-more-shebangs | ||
| 2051 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 2052 | ;; Zig uses information about an ELF file to determine the | ||
| 2053 | ;; version of glibc and other data for native builds. | ||
| 2054 | (substitute* "lib/std/zig/system.zig" | ||
| 2055 | (("/usr/bin/env") | ||
| 2056 | (search-input-file inputs "bin/clang++"))))))))) | ||
| 2057 | (inputs | ||
| 2058 | (modify-inputs inputs | ||
| 2059 | (replace "clang" clang-17) | ||
| 2060 | (replace "lld" lld-17))) | ||
| 2061 | (native-inputs | ||
| 2062 | (modify-inputs native-inputs | ||
| 2063 | (replace "libc-abi-tools" zig-0.12-libc-abi-tools) | ||
| 2064 | (replace "llvm" llvm-17) | ||
| 2065 | (replace "zig" `(,zig-0.11.0-3604 "zig1")))) | ||
| 2066 | (properties `((max-silent-time . 9600) | ||
| 2067 | ,@(clang-compiler-cpu-architectures "17"))))) | ||
| 2068 | |||
| 2069 | (define-public zig-0.13 | ||
| 2070 | (package | ||
| 2071 | (inherit zig-0.12) | ||
| 2072 | (name "zig") | ||
| 2073 | (version "0.13.0") | ||
| 2074 | (source | ||
| 2075 | (origin | ||
| 2076 | (inherit (zig-source | ||
| 2077 | version version | ||
| 2078 | "0ly8042lbsa8019g0d1jg4l06rxpq2530n9mijq66n4lmx7a5976")) | ||
| 2079 | (patches | ||
| 2080 | (search-patches | ||
| 2081 | "zig-0.13-build-respect-PKG_CONFIG-env-var.patch" | ||
| 2082 | "zig-0.12-use-baseline-cpu-by-default.patch" | ||
| 2083 | "zig-0.12-use-system-paths.patch" | ||
| 2084 | "zig-0.13-fix-runpath.patch")))) | ||
| 2085 | (inputs | ||
| 2086 | (modify-inputs inputs | ||
| 2087 | (replace "clang" clang-18) | ||
| 2088 | (replace "lld" lld-18))) | ||
| 2089 | (native-inputs | ||
| 2090 | (modify-inputs native-inputs | ||
| 2091 | (replace "libc-abi-tools" zig-0.13-libc-abi-tools) | ||
| 2092 | (replace "llvm" llvm-18) | ||
| 2093 | (replace "zig" `(,zig-0.12.0-109 "zig1")))) | ||
| 2094 | (properties `((max-silent-time . 9600) | ||
| 2095 | ,@(clang-compiler-cpu-architectures "18"))))) | ||
| 2096 | |||
| 2097 | (define-public zig-0.14 | ||
| 2098 | (package | ||
| 2099 | (inherit zig-0.12) | ||
| 2100 | (name "zig") | ||
| 2101 | (version "0.14.1") | ||
| 2102 | (source | ||
| 2103 | (origin | ||
| 2104 | (inherit (zig-source | ||
| 2105 | version version | ||
| 2106 | "0cnc3bzl965ckm70ayd6a29zn5h9cy3qzyfncp4n7mzkiwhlj58f")) | ||
| 2107 | (patches | ||
| 2108 | (search-patches | ||
| 2109 | "zig-0.14-use-baseline-cpu-by-default.patch" | ||
| 2110 | "zig-0.14-use-system-paths.patch" | ||
| 2111 | "zig-0.14-fix-runpath.patch")) | ||
| 2112 | (snippet | ||
| 2113 | #~(begin | ||
| 2114 | #$(origin-snippet (package-source zig-0.13)) | ||
| 2115 | ;; For ARM builds. | ||
| 2116 | (substitute* "build.zig" | ||
| 2117 | (("\\.*.max_rss.*") "")))))) | ||
| 2118 | (inputs | ||
| 2119 | (modify-inputs inputs | ||
| 2120 | (replace "clang" clang-19) | ||
| 2121 | (replace "lld" lld-19))) | ||
| 2122 | (native-inputs | ||
| 2123 | (modify-inputs native-inputs | ||
| 2124 | (replace "libc-abi-tools" zig-0.14-libc-abi-tools) | ||
| 2125 | (replace "llvm" llvm-19) | ||
| 2126 | (replace "zig" `(,zig-0.13.0-3252 "zig1")))) | ||
| 2127 | (properties `((max-silent-time . 9600) | ||
| 2128 | ,@(clang-compiler-cpu-architectures "19"))))) | ||
| 2129 | |||
| 2130 | (define-public zig-0.15 | ||
| 2131 | (package | ||
| 2132 | (inherit zig-0.12) | ||
| 2133 | (name "zig") | ||
| 2134 | (version "0.15.2") | ||
| 2135 | (source | ||
| 2136 | (origin | ||
| 2137 | (inherit (zig-source | ||
| 2138 | version version | ||
| 2139 | "0kr8y1xzb7ffqg4yy7ncg4jh6kndxn5xfqf2viy5gvqdqqql8ymv")) | ||
| 2140 | (patches | ||
| 2141 | (search-patches | ||
| 2142 | "zig-0.14-use-baseline-cpu-by-default.patch" | ||
| 2143 | "zig-0.14-use-system-paths.patch" | ||
| 2144 | "zig-0.15-fix-runpath.patch")))) | ||
| 2145 | (arguments | ||
| 2146 | (substitute-keyword-arguments arguments | ||
| 2147 | ((#:phases phases '%standard-phases) | ||
| 2148 | #~(modify-phases #$phases | ||
| 2149 | (replace 'copy-libc-abi-tools | ||
| 2150 | (lambda* (#:key inputs native-inputs #:allow-other-keys) | ||
| 2151 | (mkdir-p "/tmp/libc-abi-tools") | ||
| 2152 | (with-directory-excursion "/tmp/libc-abi-tools" | ||
| 2153 | (copy-recursively | ||
| 2154 | (dirname (search-input-file | ||
| 2155 | (or native-inputs inputs) "list.zig")) | ||
| 2156 | ".") | ||
| 2157 | (for-each make-file-writable (find-files "."))))) | ||
| 2158 | ;; Added support for more libc implementations. | ||
| 2159 | (replace 'install-abilists | ||
| 2160 | (lambda _ | ||
| 2161 | (with-directory-excursion "/tmp/libc-abi-tools" | ||
| 2162 | (for-each | ||
| 2163 | (lambda (libc) | ||
| 2164 | (with-directory-excursion libc | ||
| 2165 | (invoke (string-append #$output "/bin/zig") | ||
| 2166 | "run" "consolidate.zig") | ||
| 2167 | (install-file | ||
| 2168 | "abilists" | ||
| 2169 | (string-append #$output "/lib/zig/libc/" libc)))) | ||
| 2170 | '("freebsd" | ||
| 2171 | "glibc" | ||
| 2172 | "netbsd"))))))))) | ||
| 2173 | (inputs | ||
| 2174 | (modify-inputs inputs | ||
| 2175 | (replace "clang" clang-20) | ||
| 2176 | (replace "lld" lld-20))) | ||
| 2177 | (native-inputs | ||
| 2178 | (modify-inputs native-inputs | ||
| 2179 | (replace "libc-abi-tools" zig-0.15-libc-abi-tools) | ||
| 2180 | (replace "llvm" llvm-20) | ||
| 2181 | (replace "zig" `(,zig-0.14.0-1197 "zig1")))) | ||
| 2182 | (properties `((max-silent-time . 9600) | ||
| 2183 | ,@(clang-compiler-cpu-architectures "20"))))) | ||
| 2184 | |||
| 2157 | (define-public zig-0.16 | 2185 | (define-public zig-0.16 |
| 2158 | (package | 2186 | (package |
| 2159 | (inherit zig-0.15) | 2187 | (inherit zig-0.15) |
