projects/guix·blob java-team · refs

2148 lines · 73.5 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2021 Liliana Marie Prikler <[email protected]>
3;;; Copyright © 2021 Sarah Morgensen <[email protected]>
4;;; Copyright © 2021 Calum Irwin <[email protected]>
5;;; Copyright © 2022-2024 Efraim Flashner <[email protected]>
6;;; Copyright © 2023, 2024, 2026 Hilton Chain <[email protected]>
7;;; Copyright © 2025 dan <[email protected]>
8;;;
9;;; This file is part of GNU Guix.
10;;;
11;;; GNU Guix is free software; you can redistribute it and/or modify it
12;;; under the terms of the GNU General Public License as published by
13;;; the Free Software Foundation; either version 3 of the License, or (at
14;;; your option) any later version.
15;;;
16;;; GNU Guix is distributed in the hope that it will be useful, but
17;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;;; GNU General Public License for more details.
20;;;
21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23
24(define-module (gnu packages zig)
25 #:use-module (guix gexp)
26 #:use-module (guix packages)
27 #:use-module (guix platform)
28 #:use-module (guix search-paths)
29 #:use-module (guix utils)
30 #:use-module (guix download)
31 #:use-module (guix git-download)
32 #:use-module ((guix licenses) #:prefix license:)
33 #:use-module (guix build-system cmake)
34 #:use-module (gnu packages)
35 #:use-module (gnu packages compression)
36 #:use-module (gnu packages llvm)
37 #:use-module (gnu packages llvm-meta)
38 #:use-module (gnu packages web))
39
40(define (zig-source version commit hash)
41 (origin
42 (method git-fetch)
43 (uri (git-reference
44 (url "https://codeberg.org/ziglang/zig")
45 (commit commit)))
46 (file-name (git-file-name "zig" version))
47 (sha256 (base32 hash))
48 (modules '((guix build utils)))
49 (snippet
50 #~(for-each
51 (lambda (file)
52 (when (file-exists? file)
53 (delete-file file)))
54 (append
55 '("stage1/zig1.wasm"
56 "stage1/zig1.wasm.zst")
57 ;; Generated from glibc sources, see also:
58 ;; https://codeberg.org/ziglang/zig/src/branch/master/lib/libc/glibc/README.md
59 ;; https://codeberg.org/ziglang/libc-abi-tools
60 (find-files "lib/libc" "^abilists$")
61 ;; IETF RFC documents have nonfree license.
62 (find-files "." "^rfc[0-9]+\\.txt"))))))
63
64(define zig-0.10-libc-abi-tools
65 (origin
66 (method git-fetch)
67 (uri (git-reference
68 (url "https://codeberg.org/ziglang/libc-abi-tools")
69 (commit "b07bf67ab3c15881f13b9c3c03bcec04535760bb")))
70 (file-name "libc-abi-tools")
71 (sha256
72 (base32 "0csn3c9pj8wchwy5sk5lfnhjn8a3c8cp45fv7mkpi5bqxzdzf1na"))
73 (modules '((guix build utils)))
74 (snippet
75 #~(substitute* "consolidate.zig"
76 (("(@ctz.)u.., " _ prefix) prefix)
77 (("(@popCount.)u.., " _ prefix) prefix)))))
78
79(define zig-0.10
80 (package
81 (name "zig")
82 (version "0.10.1")
83 (source
84 (origin
85 (inherit (zig-source
86 version version
87 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b"))
88 (patches
89 (search-patches
90 "zig-0.10-build-respect-PKG_CONFIG-env-var.patch"
91 "zig-0.9-use-baseline-cpu-by-default.patch"
92 "zig-0.10-use-system-paths.patch"
93 "zig-0.10-fix-runpath.patch"))))
94 (build-system cmake-build-system)
95 (arguments
96 (list
97 #:tests? (not (%current-target-system))
98 #:out-of-source? #f ;for tests
99 #:configure-flags
100 #~(list (string-append "-DZIG_LIB_DIR=" #$output "/lib/zig")
101 "-DZIG_TARGET_MCPU=baseline"
102 (string-append
103 "-DZIG_TARGET_TRIPLE="
104 (zig-target
105 #$(platform-target
106 (lookup-platform-by-target-or-system
107 (or (%current-target-system)
108 (%current-system))))))
109 "-DZIG_USE_LLVM_CONFIG=ON"
110 "-DZIG_SHARED_LLVM=ON")
111 #:imported-modules
112 (cons '(guix build zig-utils)
113 %cmake-build-system-modules)
114 #:modules
115 (cons '(guix build zig-utils)
116 '((guix build cmake-build-system)
117 (guix build utils)))
118 #:phases
119 #~(modify-phases %standard-phases
120 (add-after 'patch-source-shebangs 'patch-more-shebangs
121 (lambda* (#:key inputs #:allow-other-keys)
122 ;; Zig uses information about an ELF file to determine the
123 ;; version of glibc and other data for native builds.
124 (substitute* "lib/std/zig/system/NativeTargetInfo.zig"
125 (("/usr/bin/env") (search-input-file inputs "bin/clang++")))))
126 (add-before 'configure 'zig-configure zig-configure)
127 (delete 'check)
128 (add-after 'install 'check
129 (lambda* (#:key tests? #:allow-other-keys)
130 (when tests?
131 ;; error(libc_installation): msvc_lib_dir may not be empty for
132 ;; windows-msvc.
133 (unsetenv "ZIG_LIBC")
134 (invoke (string-append #$output "/bin/zig")
135 "build" "test"
136 ;; We're not testing the compiler bootstrap chain.
137 "-Dskip-stage1"
138 "-Dskip-stage2-tests"
139 ;; Non-native tests try to link and execute non-native
140 ;; binaries.
141 "-Dskip-non-native"))))
142 (add-before 'check 'copy-libc-abi-tools
143 (lambda* (#:key inputs native-inputs #:allow-other-keys)
144 (mkdir-p "/tmp/libc-abi-tools")
145 (with-directory-excursion "/tmp/libc-abi-tools"
146 (copy-recursively
147 (dirname (search-input-file
148 (or native-inputs inputs) "consolidate.zig"))
149 ".")
150 (for-each make-file-writable (find-files ".")))))
151 (add-after 'copy-libc-abi-tools 'install-abilists
152 (lambda _
153 (with-directory-excursion "/tmp/libc-abi-tools"
154 (invoke (string-append #$output "/bin/zig")
155 "run" "consolidate.zig")
156 (install-file
157 "abilists"
158 (string-append #$output "/lib/zig/libc/glibc"))))))))
159 (inputs
160 (list clang-15 ;Clang propagates llvm.
161 lld-15
162 zlib
163 `(,zstd "lib")))
164 ;; Zig compiles fine with GCC, but also needs native LLVM libraries.
165 (native-inputs
166 (list llvm-15
167 zig-0.10-libc-abi-tools))
168 (native-search-paths
169 (list $C_INCLUDE_PATH
170 $CPLUS_INCLUDE_PATH
171 $LIBRARY_PATH
172 (search-path-specification
173 (variable "GUIX_ZIG_PACKAGE_PATH")
174 (files '("src/zig")))))
175 (synopsis "General purpose programming language and toolchain")
176 (description "Zig is a general-purpose programming language and
177toolchain. Among other features it provides
178@itemize
179@item an Optional type instead of null pointers,
180@item manual memory management,
181@item generic data structures and functions,
182@item compile-time reflection and compile-time code execution,
183@item integration with C using zig as a C compiler, and
184@item concurrency via async functions.
185@end itemize")
186 (home-page "https://ziglang.org/")
187 ;; Currently building zig can take up to 10GB of RAM for linking stage1:
188 ;; https://github.com/ziglang/zig/issues/6485
189 (supported-systems %64bit-supported-systems)
190 ;; Stage3 can take a lot of time and isn't verbose.
191 (properties `((max-silent-time . 9600)
192 ,@(clang-compiler-cpu-architectures "15")))
193 (license license:expat)))
194
195
196;;;
197;;; Bootstrap path for Zig 0.11.
198;;; See also: <https://git.jakstys.lt/motiejus/zig-repro>.
199;;;
200
201;; Restore C++ stage 1 and build the initial zig1.wasm.
202(define zig-0.10.0-538-source
203 (let ((commit "bf316e550671cc71eb498b3cf799493627bb0fdc")
204 (revision "538"))
205 (zig-source
206 (git-version "0.10.0" revision commit)
207 commit "1dchc2bp842jlw0byssqzindv8cigpqcj2hk3752667jrrww13vv")))
208
209(define zig-0.10.0-539-patch
210 (let ((commit "28514476ef8c824c3d189d98f23d0f8d23e496ea"))
211 (origin
212 (method url-fetch)
213 (uri (string-append
214 "https://github.com/ziglang/zig/commit/" commit ".patch"))
215 (file-name "zig-0.10.0-539.patch")
216 (sha256
217 (base32 "0qxxiafg2sd5rr4xhw0c12rygd7zh1rmf3x8hfialyxmsbi5pfxp")))))
218
219(define zig-0.10.0-542-patch
220 (let ((commit "3ba916584db5485c38ebf2390e8d22bc6d81bf8e"))
221 (origin
222 (method url-fetch)
223 (uri (string-append
224 "https://github.com/ziglang/zig/commit/" commit ".patch"))
225 (file-name "zig-0.10.0-542.patch")
226 (sha256
227 (base32 "1l09gmbr3vqzinb63kvaskgs1d0mvm1m7w3ai3ngwg5zlabyya35")))))
228
229(define zig-0.10.0-610
230 (let ((commit "e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118")
231 (revision "610")
232 (base zig-0.10))
233 (package
234 (inherit base)
235 (name "zig")
236 (version (git-version "0.10.0" revision commit))
237 (source (zig-source
238 version commit
239 "08pm3f4hh6djl3szhqgm7fa3qisdl2xh9jrp18m0z7bk2vd0bzw7"))
240 (arguments
241 (substitute-keyword-arguments arguments
242 ;; Patch for fixing RUNPATH not applied to intermediate versions.
243 ((#:validate-runpath? _ #t) #f)
244 ;; Patch for cross-compilation not applied to intermediate versions.
245 ((#:modules modules '())
246 (cons '(srfi srfi-1) modules))
247 ((#:configure-flags flags ''())
248 #~(filter (lambda (flag)
249 (not (string-contains flag "ZIG_TARGET_TRIPLE")))
250 #$flags))
251 ;; Disable tests for intermediate versions.
252 ((#:tests? _ #t) #f)
253 ((#:phases phases '%standard-phases)
254 #~(modify-phases #$phases
255 (add-after 'unpack 'backup-source
256 (lambda _
257 (copy-recursively "." "../source-backup")))
258 (add-after 'backup-source 'prepare-source
259 (lambda* (#:key native-inputs inputs #:allow-other-keys)
260 ;; Revert "actually remove stage1".
261 (invoke "patch" "--reverse" "--strip=1"
262 "--input" #+zig-0.10.0-542-patch)
263 ;; Revert "remove `-fstage1` option".
264 (false-if-exception
265 (invoke "patch" "--reverse" "--strip=1"
266 "--input" #+zig-0.10.0-539-patch))
267 ;; Resolve conflicts in previous patching.
268 (invoke
269 "patch" "--forward" "--strip=1" "--input"
270 #+(local-file
271 (search-patch
272 "zig-0.10.0-610-bootstrap-resolve-conflicts.patch")))
273 ;; Restore build system.
274 (rename-file "stage1/config.zig.in" "src/config.zig.in")
275 (substitute* "src/config.zig.in"
276 (("(have_stage1 = )false" _ prefix)
277 (string-append prefix "true")))
278 (for-each
279 (lambda (file)
280 (copy-file (in-vicinity #+zig-0.10.0-538-source file)
281 file))
282 '("build.zig" "CMakeLists.txt"))))
283 (add-after 'install 'restore-source
284 (lambda _
285 (for-each delete-file-recursively (find-files "."))
286 (copy-recursively "../source-backup" ".")))
287 (add-after 'restore-source 'build-zig1
288 (lambda _
289 (invoke (string-append #$output "/bin/zig")
290 "build" "update-zig1" "--verbose")))
291 (add-after 'build-zig1 'install-zig1
292 (lambda _
293 (install-file "stage1/zig1.wasm.zst"
294 (string-append #$output:zig1 "/bin"))))
295 (delete 'copy-libc-abi-tools)
296 (delete 'install-abilists)))))
297 (native-inputs
298 (modify-inputs native-inputs
299 (prepend binaryen)
300 (delete "libc-abi-tools")))
301 (outputs '("out" "zig1")))))
302
303;; Supply zig1.wasm.zst, build zig2 + zig1.wasm, install zig2 + zig1.wasm.zst.
304(define zig-0.10.0-675
305 (let ((commit "9d93b2ccf11f584320a2c5209dd2d94705167695")
306 (revision "675")
307 (base zig-0.10.0-610))
308 (package
309 (inherit base)
310 (name "zig")
311 (version (git-version "0.10.0" revision commit))
312 (source
313 (origin
314 (inherit (zig-source
315 version commit
316 "1qsfsv8wg0kz616sgj7dw9ihdz5rsm80p3ambl5lnkrjhwym7z7x"))
317 (patches (search-patches "zig-0.10.0-675-TypeOf-hack.patch"))))
318 (arguments
319 (substitute-keyword-arguments arguments
320 ((#:phases phases '%standard-phases)
321 #~(modify-phases #$phases
322 (add-after 'unpack 'set-host-triple
323 (lambda _
324 (substitute* "CMakeLists.txt"
325 (("\\$\\{(ZIG_)?HOST_TARGET_TRIPLE\\}")
326 (zig-target
327 #$(platform-target
328 (lookup-platform-by-system (%current-system))))))))
329 (replace 'prepare-source
330 (lambda* (#:key native-inputs inputs #:allow-other-keys)
331 (install-file (search-input-file
332 (or native-inputs inputs) "bin/zig1.wasm.zst")
333 "stage1")))
334 (add-after 'prepare-source 'remove-stage3
335 (lambda _
336 ;; Multiline substitution.
337 (invoke
338 "sed" "--in-place" "/^add_custom_target(stage3/,/^)$/d"
339 "CMakeLists.txt")))
340 (replace 'install
341 (lambda _
342 (install-file "zig2" (string-append #$output "/bin"))
343 (mkdir-p (string-append #$output "/lib"))
344 (copy-recursively "lib" (string-append #$output "/lib/zig"))))
345 (replace 'build-zig1
346 (lambda _
347 (invoke "./zig2" "build" "update-zig1" "--verbose")))
348 (delete 'patch-more-shebangs)
349 (delete 'backup-source)
350 (delete 'restore-source)))))
351 (native-inputs
352 (modify-inputs native-inputs
353 (prepend `(,base "zig1")))))))
354
355;; Supply zig1.wasm.zst, build zig2 + zig1.wasm, install zig2 + zig1.wasm.
356(define zig-0.10.0-722
357 (let ((commit "d10fd78d4615f329141f5c19f893039d56aff425")
358 (revision "722")
359 (base zig-0.10.0-675))
360 (package
361 (inherit base)
362 (name "zig")
363 (version (git-version "0.10.0" revision commit))
364 (source (zig-source
365 version commit
366 "0829wymcwph71zlwql6v7i7j9gr1m96acyp2xsr69vq2h98wmlap"))
367 (arguments
368 (substitute-keyword-arguments arguments
369 ((#:phases phases '%standard-phases)
370 #~(modify-phases #$phases
371 (replace 'prepare-source
372 (lambda* (#:key native-inputs inputs #:allow-other-keys)
373 (install-file (search-input-file
374 (or native-inputs inputs) "bin/zig1.wasm.zst")
375 "stage1")
376 (invoke "zstd" "-d" "stage1/zig1.wasm.zst")
377 (make-file-writable "stage1/zig1.wasm")))
378 (replace 'install-zig1
379 (lambda _
380 (install-file "stage1/zig1.wasm"
381 (string-append #$output:zig1 "/bin"))))))))
382 (native-inputs
383 (modify-inputs native-inputs
384 (prepend zstd)
385 (replace "zig" `(,base "zig1")))))))
386
387;; Supply zig2, build zig1.wasm, install zig1.wasm.
388(define zig-0.10.0-747
389 (let ((commit "7b2a936173165002105ba5e76bed69654e132fea")
390 (revision "747")
391 (base zig-0.10.0-722))
392 (package
393 (inherit base)
394 (name "zig")
395 (version (git-version "0.10.0" revision commit))
396 (source
397 (origin
398 (inherit (zig-source
399 version commit
400 "1z5ndywk4d1dcv2k3bw3n2zgjr3ysf3bi2ac4jhwqgnmzsw498wd"))
401 (patches (search-patches "zig-0.10.0-747-CallOptions.patch"))))
402 (arguments
403 (substitute-keyword-arguments (package-arguments zig-0.10.0-722)
404 ;; zig1.wasm is architecture-independent.
405 ((#:target _ #f) #f)
406 ((#:phases phases '%standard-phases)
407 #~(modify-phases #$phases
408 (replace 'build-zig1
409 (lambda _
410 (invoke "zig2" "build" "--zig-lib-dir" "lib"
411 "update-zig1" "--verbose")))
412 (delete 'prepare-source)
413 (delete 'configure)
414 (delete 'build)
415 (delete 'install)))))
416 (native-inputs
417 (modify-inputs native-inputs
418 (replace "zig" `(,base "out"))
419 (delete "zstd"))))))
420
421;; Supply zig1.wasm, build zig2 + zig1.wasm, install zig1.wasm.
422(define zig-0.10.0-748
423 (let ((commit "08b2d491bcd8c79c68495267cc71967661caea1e")
424 (revision "748")
425 (base zig-0.10.0-747))
426 (package
427 (inherit base)
428 (name "zig")
429 (version (git-version "0.10.0" revision commit))
430 (source (zig-source
431 version commit
432 "1iv1wjgj0nfbb19sp3zw4d8hmrhkah4cmklzxm8c32zsg673kv3i"))
433 (arguments
434 (substitute-keyword-arguments (package-arguments zig-0.10.0-722)
435 ;; zig1.wasm is architecture-independent.
436 ((#:target _ #f) #f)
437 ((#:phases phases '%standard-phases)
438 #~(modify-phases #$phases
439 (replace 'prepare-source
440 (lambda* (#:key native-inputs inputs #:allow-other-keys)
441 (install-file (search-input-file
442 (or native-inputs inputs) "bin/zig1.wasm")
443 "stage1")
444 (make-file-writable "stage1/zig1.wasm")))))))
445 (native-inputs
446 (modify-inputs native-inputs
447 (replace "zig" `(,base "zig1")))))))
448
449;; Supply zig1.wasm, build zig2, install zig2.
450(define zig-0.10.0-851
451 (let ((commit "aac2d6b56f32134ea32fb3d984e3fcdfddd8aaf6")
452 (revision "851")
453 (base zig-0.10.0-748))
454 (package
455 (inherit base)
456 (name "zig")
457 (version (git-version "0.10.0" revision commit))
458 (source (zig-source
459 version commit
460 "026q8igib5a2wiqdxispijph7isx8g1m0p6xgclikrmwpkpr7wb8"))
461 (arguments
462 (substitute-keyword-arguments (package-arguments zig-0.10.0-748)
463 ((#:phases phases '%standard-phases)
464 #~(modify-phases #$phases
465 (delete 'build-zig1)
466 (delete 'install-zig1)))))
467 (native-inputs
468 (modify-inputs native-inputs
469 (replace "zig" `(,base "zig1")))))))
470
471(define zig-0.10.0-853
472 (let ((commit "2a5e1426aa9469fadb78e837d0100d689213b034")
473 (revision "853")
474 (base zig-0.10.0-851))
475 (package
476 (inherit base)
477 (name "zig")
478 (version (git-version "0.10.0" revision commit))
479 (source (zig-source
480 version commit
481 "18lqcf3vg6yi70hk6nzyv8mzw7rlhybawspk5z9s281bqv210v5s"))
482 (arguments
483 ;; zig1
484 (substitute-keyword-arguments (package-arguments zig-0.10.0-747)
485 ((#:phases phases '%standard-phases)
486 #~(modify-phases #$phases
487 (replace 'build-zig1
488 (lambda _
489 (invoke "zig2" "build" "update-zig1" "--verbose")))))))
490 (native-inputs
491 (modify-inputs native-inputs
492 (replace "zig" `(,base "out")))))))
493
494(define zig-0.10.0-961
495 (let ((commit "54160e7f6aecb4628df633ceaef4c6d956429a3d")
496 (revision "961")
497 (base zig-0.10.0-853))
498 (package
499 (inherit base)
500 (name "zig")
501 (version (git-version "0.10.0" revision commit))
502 (source (zig-source
503 version commit
504 "0f0n2bkygj8zxri275nisia3pdv2s4fikgnsnmag42bs747zn8bz"))
505 ;; zig2
506 (arguments (package-arguments zig-0.10.0-851))
507 (native-inputs
508 (modify-inputs native-inputs
509 (replace "zig" `(,base "zig1")))))))
510
511(define zig-0.10.0-962
512 (let ((commit "622311fb9ac7ee6d93dcb8cda4b608751f7e092a")
513 (revision "962")
514 (base zig-0.10.0-961))
515 (package
516 (inherit base)
517 (name "zig")
518 (version (git-version "0.10.0" revision commit))
519 (source (zig-source
520 version commit
521 "1yywzmxr6nwhdix5x9k5nrxa4n1nc8x8v1gqgyvwdhz47x9vw8b0"))
522 ;; zig1
523 (arguments (package-arguments zig-0.10.0-747))
524 (native-inputs
525 (modify-inputs native-inputs
526 (replace "zig" `(,base "out")))))))
527
528(define zig-0.10.0-1027
529 (let ((commit "a43fdc1620fa24c8c606f748505766bfd53d1049")
530 (revision "1027")
531 (base zig-0.10.0-962))
532 (package
533 (inherit base)
534 (name "zig")
535 (version (git-version "0.10.0" revision commit))
536 (source (zig-source
537 version commit
538 "0w19qlzb2la5bnjalmv7n05m08lhz4x8c53hf34aqw66kagw47kj"))
539 ;; zig2
540 (arguments (package-arguments zig-0.10.0-851))
541 (native-inputs
542 (modify-inputs native-inputs
543 (replace "zig" `(,base "zig1")))))))
544
545;; Supply zig2, build zig1.wasm + zig2, install zig2.
546(define zig-0.10.0-1073
547 (let ((commit "4c1007fc044689b8cbc20634d73debb43df8efe1")
548 (revision "1073")
549 (base zig-0.10.0-1027))
550 (package
551 (inherit base)
552 (name "zig")
553 (version (git-version "0.10.0" revision commit))
554 (source (zig-source
555 version commit
556 "1mgvi3m2aph10c1ij9b4k6xs3jbp8hbswqgdnzxdi5y0ak7h1pd4"))
557 (arguments
558 (substitute-keyword-arguments (package-arguments zig-0.10.0-851)
559 ((#:phases phases '%standard-phases)
560 #~(modify-phases #$phases
561 (add-before 'build 'build-zig1
562 (lambda _
563 (invoke "zig2" "build" "--zig-lib-dir" "lib"
564 "update-zig1" "--verbose")))
565 (delete 'prepare-source)))))
566 (native-inputs
567 (modify-inputs native-inputs
568 (replace "zig" `(,base "out")))))))
569
570(define zig-0.10.0-1497
571 (let ((commit "a9b68308b9eeb494524e2b7ab0d63cfa6b623cd0")
572 (revision "1497")
573 (base zig-0.10.0-1073))
574 (package
575 (inherit base)
576 (name "zig")
577 (version (git-version "0.10.0" revision commit))
578 (source (zig-source
579 version commit
580 "0ja2555h41kibkxyyjpzrp5rradm3bknxhaspzz3brcbc6xvac21"))
581 ;; zig1
582 (arguments (package-arguments zig-0.10.0-747))
583 (native-inputs
584 (modify-inputs native-inputs
585 (replace "zig" `(,base "out")))))))
586
587(define zig-0.10.0-1505-source
588 (let ((commit "fe4ea31f7e9e1c8caea6a1df107b91e8ea1a7b8a")
589 (revision "1505"))
590 (zig-source
591 (git-version "0.10.0" revision commit)
592 commit "0q91hz824l867dlzz885i4mlkjdr0v5nfk3drsnvkvz2q52r0ffx")))
593
594(define zig-0.10.0-1506
595 (let ((commit "f16c10a86b7183e99e54a70344f4681211cd52bb")
596 (revision "1506")
597 (base zig-0.10.0-1497))
598 (package
599 (inherit base)
600 (name "zig")
601 (version (git-version "0.10.0" revision commit))
602 (source (zig-source
603 version commit
604 "17qbwknv33xi8908f1kdapvvj331bmibvvjhsza04j3siq3rpbz7"))
605 ;; zig2+zig1
606 (arguments
607 (substitute-keyword-arguments (package-arguments zig-0.10.0-748)
608 ((#:phases phases '%standard-phases)
609 #~(modify-phases #$phases
610 (add-after 'prepare-source 'restore-lib
611 (lambda _
612 (delete-file-recursively "lib")
613 (copy-recursively
614 (string-append #+zig-0.10.0-1505-source "/lib")
615 "lib")))
616 (replace 'build-zig1
617 (lambda _
618 (invoke "./zig2" "build" "--zig-lib-dir" "lib"
619 "update-zig1" "--verbose")))))))
620 (native-inputs
621 (modify-inputs native-inputs
622 (replace "zig" `(,base "zig1")))))))
623
624(define zig-0.10.0-1637-source
625 (let ((commit "4e6f21e2cb2c557b5c019f4acf445665a26edcba")
626 (revision "1637"))
627 (zig-source
628 (git-version "0.10.0" revision commit)
629 commit "1nd55j2c0br7rqx9fj6bkjyymkf1k6ms2m9f7byrc1ahggdyxrpv")))
630
631(define zig-0.10.0-1638
632 (let ((commit "7199d7c77715fe06606c5c89595e6852b3fa8c20")
633 (revision "1638")
634 (base zig-0.10.0-1506))
635 (package
636 (inherit base)
637 (name "zig")
638 (version (git-version "0.10.0" revision commit))
639 (source
640 (origin
641 (inherit (zig-source
642 version commit
643 "15mvfgab9wglm1g5gakvqwb7l33v1vjwjwchb3pmhxmkxkrjkmgq"))
644 (patches (search-patches "zig-0.10.0-1638-re-add-qualCast.patch"))))
645 ;; zig2+zig1
646 (arguments
647 (substitute-keyword-arguments (package-arguments zig-0.10.0-748)
648 ((#:phases phases '%standard-phases)
649 #~(modify-phases #$phases
650 (add-after 'prepare-source 'restore-lib
651 (lambda _
652 (delete-file-recursively "lib")
653 (copy-recursively
654 (string-append #+zig-0.10.0-1637-source "/lib")
655 "lib")))
656 (replace 'build-zig1
657 (lambda _
658 (invoke "./zig2" "build" "--zig-lib-dir" "lib"
659 "update-zig1" "--verbose")))))))
660 (native-inputs
661 (modify-inputs native-inputs
662 (replace "zig" `(,base "zig1")))))))
663
664(define zig-0.10.0-1657
665 (let ((commit "321ccbdc525ab0f5862e42378b962c10ec54e4a1")
666 (revision "1657")
667 (base zig-0.10.0-1638))
668 (package
669 (inherit base)
670 (name "zig")
671 (version (git-version "0.10.0" revision commit))
672 (source (zig-source
673 version commit
674 "0nv16z8fm1ihszlwvdncnza0pgykj1ca87pf1w8nr8prqhsc7kj7"))
675 ;; zig2
676 (arguments (package-arguments zig-0.10.0-851))
677 (native-inputs
678 (modify-inputs native-inputs
679 (replace "zig" `(,base "zig1")))))))
680
681(define zig-0.10.0-1681
682 (let ((commit "0bb178bbb2451238a326c6e916ecf38fbc34cab1")
683 (revision "1681")
684 (base zig-0.10.0-1657))
685 (package
686 (inherit base)
687 (name "zig")
688 (version (git-version "0.10.0" revision commit))
689 (source (zig-source
690 version commit
691 "0kg1wnxxhjgd8fszbch039ngck1spyjvb1l0z2ja40ihnk5bxnsz"))
692 ;; zig1
693 (arguments (package-arguments zig-0.10.0-747))
694 (native-inputs
695 (modify-inputs native-inputs
696 (replace "zig" `(,base "out")))))))
697
698(define zig-0.10.0-1712
699 (let ((commit "705d2a3c2cd94faf8e16c660b3b342d6fe900e55")
700 (revision "1712")
701 (base zig-0.10.0-1681))
702 (package
703 (inherit base)
704 (name "zig")
705 (version (git-version "0.10.0" revision commit))
706 (source (zig-source
707 version commit
708 "08znnqyacjkdls4dhx6mis6yi6za0zv4abi2q3xl2304yjczm288"))
709 ;; zig2
710 (arguments (package-arguments zig-0.10.0-851))
711 (native-inputs
712 (modify-inputs native-inputs
713 (replace "zig" `(,base "zig1")))))))
714
715(define zig-0.10.0-1713
716 (let ((commit "09a84c8384dffc7884528947b879f32d93c1bd90")
717 (revision "1713")
718 (base zig-0.10.0-1712))
719 (package
720 (inherit base)
721 (name "zig")
722 (version (git-version "0.10.0" revision commit))
723 (source (zig-source
724 version commit
725 "1rbyqwd7iqbgwnws6rqr2d5bxxdh4z6phbg23hzm9i1xlxka6y6v"))
726 ;; zig1
727 (arguments (package-arguments zig-0.10.0-747))
728 (native-inputs
729 (modify-inputs native-inputs
730 (replace "zig" `(,base "out")))))))
731
732(define zig-0.10.0-1888
733 (let ((commit "c839c180ef1686794c039fc6d3c20a8716e87357")
734 (revision "1888")
735 (base zig-0.10.0-1713))
736 (package
737 (inherit base)
738 (name "zig")
739 (version (git-version "0.10.0" revision commit))
740 (source (zig-source
741 version commit
742 "0kxgjzzqqknqimi0a0c75blgr2ic550nchbag4mv1yfrhr5y0x27"))
743 ;; zig2
744 (arguments (package-arguments zig-0.10.0-851))
745 (native-inputs
746 (modify-inputs native-inputs
747 (replace "zig" `(,base "zig1")))))))
748
749(define zig-0.10.0-1891
750 (let ((commit "ac1b0e832b4b9d151098050e1d29e28a568e215c")
751 (revision "1891")
752 (base zig-0.10.0-1888))
753 (package
754 (inherit base)
755 (name "zig")
756 (version (git-version "0.10.0" revision commit))
757 (source (zig-source
758 version commit
759 "15qjgbmygk05p86wqm170lxmalq2mr9f81slf8svb7akkmx5qls2"))
760 ;; zig1
761 (arguments (package-arguments zig-0.10.0-747))
762 (native-inputs
763 (modify-inputs native-inputs
764 (replace "zig" `(,base "out")))))))
765
766(define zig-0.10.0-2558
767 (let ((commit "d3a237a98c5a2ccf72a774b5f93425c02fea4bea")
768 (revision "2558")
769 (base zig-0.10.0-1891))
770 (package
771 (inherit base)
772 (name "zig")
773 (version (git-version "0.10.0" revision commit))
774 (source (zig-source
775 version commit
776 "0q9583w919gvi91wbp529q54ijr8pldj8s0p2yapkbniadxxil7y"))
777 ;; zig2
778 (arguments (package-arguments zig-0.10.0-851))
779 (inputs
780 (modify-inputs inputs
781 (replace "clang" clang-16)
782 (replace "lld" lld-16)))
783 (native-inputs
784 (modify-inputs native-inputs
785 (replace "llvm" llvm-16)
786 (replace "zig" `(,base "zig1"))))
787 (properties `((max-silent-time . 9600)
788 ,@(clang-compiler-cpu-architectures "16"))))))
789
790(define zig-0.10.0-2565-source
791 (let ((commit "856a9c2e3120d9ffa1166eed13641600230946da")
792 (revision "2565"))
793 (zig-source
794 (git-version "0.10.0" revision commit)
795 commit "00wqqckiyl6c3zcvgqxssnnv4ajip872ghrgv4mfrc8sllnhkdwa")))
796
797(define zig-0.10.0-2566
798 (let ((commit "e2fe1907ecac075e4d4a37776359144318b6055a")
799 (revision "2566")
800 (base zig-0.10.0-2558))
801 (package
802 (inherit base)
803 (name "zig")
804 (version (git-version "0.10.0" revision commit))
805 (source (zig-source
806 version commit
807 "1vy36ksv7jdxdkspi0jvmfz2xwvbc26x3rqns51wk3a39ngx1g2f"))
808 (arguments
809 ;; zig1
810 (substitute-keyword-arguments (package-arguments zig-0.10.0-747)
811 ((#:phases phases '%standard-phases)
812 #~(modify-phases #$phases
813 (add-after 'unpack 'restore-lib
814 (lambda _
815 (let ((path "lib/std/start.zig"))
816 (copy-file (in-vicinity #+zig-0.10.0-2565-source path)
817 path))))))))
818 (native-inputs
819 (modify-inputs native-inputs
820 (replace "zig" `(,base "out")))))))
821
822(define zig-0.10.0-2571
823 (let ((commit "31738de2817f7932fa9237492f20fb736bc07dd3")
824 (revision "2571")
825 (base zig-0.10.0-2566))
826 (package
827 (inherit base)
828 (name "zig")
829 (version (git-version "0.10.0" revision commit))
830 (source (zig-source
831 version commit
832 "0hak2yydzjjn61lpbmmvkvykc1imgb92qkn90p4wi4fw9nfsqq0v"))
833 ;; zig2+zig1
834 (arguments (package-arguments zig-0.10.0-748))
835 (native-inputs
836 (modify-inputs native-inputs
837 (replace "zig" `(,base "zig1")))))))
838
839(define zig-0.10.0-2796-source
840 (let ((commit "42ee364e7b698822a69cba4cd2bda17868657e05")
841 (revision "2796"))
842 (zig-source
843 (git-version "0.10" revision commit)
844 commit "0jd9q7bk6vsvjfma8d8iic7r9hc7j6xkz1ghw2vpra5q20fl86ba")))
845
846(define zig-0.10.0-2797
847 (let ((commit "35d82d31be3d2f2611049f41dc2616f898d70871")
848 (revision "2797")
849 (base zig-0.10.0-2571))
850 (package
851 (inherit base)
852 (name "zig")
853 (version (git-version "0.10.0" revision commit))
854 (source (zig-source
855 version commit
856 "0av4qw7a41d9jmdmyachhisq98c3vjw1dqln1lgy1y3jxjsdf27h"))
857 ;; zig2+zig1
858 (arguments
859 (substitute-keyword-arguments (package-arguments zig-0.10.0-748)
860 ((#:phases phases '%standard-phases)
861 #~(modify-phases #$phases
862 (add-after 'prepare-source 'restore-lib
863 (lambda _
864 (delete-file-recursively "lib")
865 (copy-recursively
866 (string-append #+zig-0.10.0-2796-source "/lib")
867 "lib")))))))
868 (native-inputs
869 (modify-inputs native-inputs
870 (replace "zig" `(,base "zig1")))))))
871
872(define zig-0.10.0-2824-source
873 (let ((commit "8d88dcdc61c61e3410138f4402482131f5074a80")
874 (revision "2824"))
875 (zig-source
876 (git-version "0.10" revision commit)
877 commit "0xyhr98hyyb9b3c3d2lv6hxysaq1k1kmw9gynci0z9wm1y82rir8")))
878
879(define zig-0.10.0-2838
880 (let ((commit "a8de15f66a51d273cefa07eed0d8fd2952e92387")
881 (revision "2838")
882 (base zig-0.10.0-2797))
883 (package
884 (inherit base)
885 (name "zig")
886 (version (git-version "0.10.0" revision commit))
887 (source (zig-source
888 version commit
889 "0hhz1hijg5hnw41s4p4p15gllpql5hn9my6a3d80jxv8nmd367q1"))
890 ;; zig2+zig1
891 (arguments
892 (substitute-keyword-arguments (package-arguments zig-0.10.0-748)
893 ((#:phases phases '%standard-phases)
894 #~(modify-phases #$phases
895 (add-before 'prepare-source 'backup-source
896 (lambda _
897 (copy-recursively "lib" "../lib-backup")))
898 (add-after 'prepare-source 'restore-lib
899 (lambda _
900 (delete-file-recursively "lib")
901 (copy-recursively
902 (string-append #+zig-0.10.0-2824-source "/lib")
903 "lib")))
904 (add-before 'build-zig1 'restore-source
905 (lambda _
906 (delete-file-recursively "lib")
907 (copy-recursively "../lib-backup" "lib")))))))
908 (native-inputs
909 (modify-inputs native-inputs
910 (replace "zig" `(,base "zig1")))))))
911
912(define zig-0.10.0-3660
913 (let ((commit "22c6b6c9a9378aaca75c83c2182a6d94298f6bc2")
914 (revision "3660")
915 (base zig-0.10.0-2838))
916 (package
917 (inherit base)
918 (name "zig")
919 (version (git-version "0.10.0" revision commit))
920 (source (zig-source
921 version commit
922 "0dhcdi6008qqvy3ws2hhmj51wr213whbyghh7n9arai3zyg6y65g"))
923 ;; zig2+zig1
924 (arguments (package-arguments zig-0.10.0-748))
925 (native-inputs
926 (modify-inputs native-inputs
927 (replace "zig" `(,base "zig1")))))))
928
929(define zig-0.10.0-3726
930 (let ((commit "a6c8ee5231230947c928bbe1c6a39eb6e1bb9c5b")
931 (revision "3726")
932 (base zig-0.10.0-3660))
933 (package
934 (inherit base)
935 (name "zig")
936 (version (git-version "0.10.0" revision commit))
937 (source (zig-source
938 version commit
939 "148dhnzhm52lcwhvpwnnvpkpd3g6i1xh2vsac858agqr0slsd7g9"))
940 ;; zig1
941 (arguments (package-arguments zig-0.10.0-747))
942 (native-inputs
943 (modify-inputs native-inputs
944 (replace "zig" `(,base "out")))))))
945
946(define zig-0.10.0-3728
947 (let ((commit "a4d1edac8d65e1aa4b565f6fb11ab78541d97efa")
948 (revision "3728")
949 (base zig-0.10.0-3726))
950 (package
951 (inherit base)
952 (name "zig")
953 (version (git-version "0.10.0" revision commit))
954 (source (zig-source
955 version commit
956 "13vff9hqp83xhz0fab9wcwsf56hcz4sg3rwn1vziq85wkr9scj4b"))
957 ;; zig2
958 (arguments (package-arguments zig-0.10.0-851))
959 (native-inputs
960 (modify-inputs native-inputs
961 (replace "zig" `(,base "zig1")))))))
962
963(define zig-0.10.0-3807
964 (let ((commit "be0c69957e7489423606023ad820599652a60e15")
965 (revision "3807")
966 (base zig-0.10.0-3728))
967 (package
968 (inherit base)
969 (name "zig")
970 (version (git-version "0.10.0" revision commit))
971 (source (zig-source
972 version commit
973 "069w7d67imdn4qgdk7acddsfwl4dhs9nzna5k4h0cza2cl0xi0ic"))
974 ;; zig1
975 (arguments (package-arguments zig-0.10.0-747))
976 (native-inputs
977 (modify-inputs native-inputs
978 (replace "zig" `(,base "out")))))))
979
980(define zig-0.10.0-3813
981 (let ((commit "21ac0beb436f49fe49c6982a872f2dc48e4bea5e")
982 (revision "3813")
983 (base zig-0.10.0-3807))
984 (package
985 (inherit base)
986 (name "zig")
987 (version (git-version "0.10.0" revision commit))
988 (source (zig-source
989 version commit
990 "0dmi1d8jg7y7zgi8xyq53g4g39ba4hnigyj491a5fj8xnkxqfrrb"))
991 ;; zig2+zig1
992 (arguments (package-arguments zig-0.10.0-748))
993 (native-inputs
994 (modify-inputs native-inputs
995 (replace "zig" `(,base "zig1")))))))
996
997(define zig-0.10.0-3980
998 (let ((commit "4bce7b1db964098e4a9163201fa3adcb26af6d97")
999 (revision "3980")
1000 (base zig-0.10.0-3813))
1001 (package
1002 (inherit base)
1003 (name "zig")
1004 (version (git-version "0.10.0" revision commit))
1005 (source (zig-source
1006 version commit
1007 "0h76x1ak28dv5y60r4m4y524kwmf43ridwvsx3ahfql63jwxn0m3"))
1008 ;; zig2
1009 (arguments (package-arguments zig-0.10.0-851))
1010 (native-inputs
1011 (modify-inputs native-inputs
1012 (replace "zig" `(,base "zig1")))))))
1013
1014(define zig-0.10.0-3985
1015 (let ((commit "47d5bf26164b4ddb3228d17ae2158d1c29b8d040")
1016 (revision "3985")
1017 (base zig-0.10.0-3980))
1018 (package
1019 (inherit base)
1020 (name "zig")
1021 (version (git-version "0.10.0" revision commit))
1022 (source (zig-source
1023 version commit
1024 "0w412aka8wjkkwyssqg8nvzb7qwaa29ywzwhg11bbwkpqyig36r4"))
1025 ;; zig1
1026 (arguments (package-arguments zig-0.10.0-747))
1027 (native-inputs
1028 (modify-inputs native-inputs
1029 (replace "zig" `(,base "out")))))))
1030
1031
1032;;;
1033;;; Bootstrap path for Zig 0.12.
1034;;; See also: <https://git.jakstys.lt/motiejus/zig-repro>.
1035;;;
1036
1037(define zig-0.11.0-149
1038 (let ((commit "7a85ad151daece3d0bba3c8d23081502a0956c95")
1039 (revision "149")
1040 (base zig-0.10.0-3985))
1041 (package
1042 (inherit base)
1043 (name "zig")
1044 (version (git-version "0.11.0" revision commit))
1045 (source (zig-source
1046 version commit
1047 "1kb245d4wfs1dyv7ccw3xiawasggpln9qxfqwlp4gkdg50l1qyzw"))
1048 ;; zig2+zig1
1049 (arguments (package-arguments zig-0.10.0-748))
1050 (native-inputs
1051 (modify-inputs native-inputs
1052 (replace "zig" `(,base "zig1")))))))
1053
1054(define zig-0.11.0-384
1055 (let ((commit "88f5315ddfc6eaf3e28433504ec046fb3252db7c")
1056 (revision "384")
1057 (base zig-0.11.0-149))
1058 (package
1059 (inherit base)
1060 (name "zig")
1061 (version (git-version "0.11.0" revision commit))
1062 (source (zig-source
1063 version commit
1064 "0ybql8l4mg8i79n353rc7gbx88kqgd371xrlvpmy69mxdffh5bas"))
1065 ;; zig2+zig1
1066 (arguments (package-arguments zig-0.10.0-748))
1067 (native-inputs
1068 (modify-inputs native-inputs
1069 (replace "zig" `(,base "zig1")))))))
1070
1071(define zig-0.11.0-494
1072 (let ((commit "a8d2ed806558cc1472f3a532169a4994abe17833")
1073 (revision "494")
1074 (base zig-0.11.0-384))
1075 (package
1076 (inherit base)
1077 (name "zig")
1078 (version (git-version "0.11.0" revision commit))
1079 (source (zig-source
1080 version commit
1081 "04jb7la7ang0mip9qbrx57j1ls2n29svqafschxbh5j23pf74dql"))
1082 ;; zig2
1083 (arguments (package-arguments zig-0.10.0-851))
1084 (inputs
1085 (modify-inputs inputs
1086 (replace "clang" clang-17)
1087 (replace "lld" lld-17)))
1088 (native-inputs
1089 (modify-inputs native-inputs
1090 (replace "llvm" llvm-17)
1091 (replace "zig" `(,base "zig1"))))
1092 (properties `((max-silent-time . 9600)
1093 ,@(clang-compiler-cpu-architectures "17"))))))
1094
1095(define zig-0.11.0-587
1096 (let ((commit "6bd54a1d3ebd8d997158c57057ba742824cf7e0c")
1097 (revision "587")
1098 (base zig-0.11.0-494))
1099 (package
1100 (inherit base)
1101 (name "zig")
1102 (version (git-version "0.11.0" revision commit))
1103 (source (zig-source
1104 version commit
1105 "16v6yrbwg1pc888fp3cmdbk2wyz0nm8xp66a14fi3akxyavsmkxm"))
1106 ;; zig1
1107 (arguments (package-arguments zig-0.10.0-747))
1108 (native-inputs
1109 (modify-inputs native-inputs
1110 (replace "zig" `(,base "out")))))))
1111
1112(define zig-0.11.0-631
1113 (let ((commit "21780899eb17a0cb795ff40e5fae6556c38ea13e")
1114 (revision "631")
1115 (base zig-0.11.0-587))
1116 (package
1117 (inherit base)
1118 (name "zig")
1119 (version (git-version "0.11.0" revision commit))
1120 (source (zig-source
1121 version commit
1122 "19j3gbdsjsp602n2c1lp3i96yay94acsiasyzns8hs3v1sc952rp"))
1123 ;; zig2
1124 (arguments (package-arguments zig-0.10.0-851))
1125 (native-inputs
1126 (modify-inputs native-inputs
1127 (replace "zig" `(,base "zig1")))))))
1128
1129(define zig-0.11.0-638
1130 (let ((commit "9763573ebb4f05eaa1c0bd5598f8dd6aee20ae9c")
1131 (revision "638")
1132 (base zig-0.11.0-631))
1133 (package
1134 (inherit base)
1135 (name "zig")
1136 (version (git-version "0.11.0" revision commit))
1137 (source (zig-source
1138 version commit
1139 "13620a6hlcaklmnxax4g3f4irddr9d15646s6bgn6ymwf6m4w4g0"))
1140 ;; zig1+zig2
1141 (arguments (package-arguments zig-0.10.0-1073))
1142 (native-inputs
1143 (modify-inputs native-inputs
1144 (replace "zig" `(,base "out")))))))
1145
1146(define zig-0.11.0-702
1147 (let ((commit "63bd2bff12992aef0ce23ae4b344e9cb5d65f05d")
1148 (revision "702")
1149 (base zig-0.11.0-638))
1150 (package
1151 (inherit base)
1152 (name "zig")
1153 (version (git-version "0.11.0" revision commit))
1154 (source (zig-source
1155 version commit
1156 "049fpdgkarp834amymw0clvsk6g20742d3940la60na03rc4vy5x"))
1157 ;; zig1
1158 (arguments
1159 (substitute-keyword-arguments (package-arguments zig-0.10.0-747)
1160 ((#:phases phases '%standard-phases)
1161 #~(modify-phases #$phases
1162 (replace 'build-zig1
1163 (lambda _
1164 (invoke "zig2" "build" "update-zig1" "--verbose")))))))
1165 (native-inputs
1166 (modify-inputs native-inputs
1167 (replace "zig" `(,base "out")))))))
1168
1169(define zig-0.11.0-761
1170 (let ((commit "9a09651019b24a32945f73dd7a69562f2cf31581")
1171 (revision "761")
1172 (base zig-0.11.0-702))
1173 (package
1174 (inherit base)
1175 (name "zig")
1176 (version (git-version "0.11.0" revision commit))
1177 (source (zig-source
1178 version commit
1179 "0d503vq76vl7m9fcmyqwx5nljy04fvjf06wfr7q7n5ircw5wjp0s"))
1180 ;; zig2
1181 (arguments (package-arguments zig-0.10.0-851))
1182 (native-inputs
1183 (modify-inputs native-inputs
1184 (replace "zig" `(,base "zig1")))))))
1185
1186(define zig-0.11.0-1967
1187 (let ((commit "6beae6c061a650ea2d695e6902683641df920aa8")
1188 (revision "1967")
1189 (base zig-0.11.0-761))
1190 (package
1191 (inherit base)
1192 (name "zig")
1193 (version (git-version "0.11.0" revision commit))
1194 (source (zig-source
1195 version commit
1196 "0bah98h9rdaynwxlq4ibr925hmk69kwbrkgid2dgsksf6krb6sms"))
1197 ;; zig1
1198 (arguments (package-arguments zig-0.10.0-747))
1199 (native-inputs
1200 (modify-inputs native-inputs
1201 (replace "zig" `(,base "out")))))))
1202
1203(define zig-0.11.0-3245
1204 (let ((commit "4f782d1e853accbe1c4bfab2617c3813d4b1e59f")
1205 (revision "3245")
1206 (base zig-0.11.0-1967))
1207 (package
1208 (inherit base)
1209 (name "zig")
1210 (version (git-version "0.11.0" revision commit))
1211 (source (zig-source
1212 version commit
1213 "0a4pnilfc528zl9ycwsi8kaqbq6q4bw3l1cpv50fpacsxgnsfjp3"))
1214 ;; zig2
1215 (arguments (package-arguments zig-0.10.0-851))
1216 (native-inputs
1217 (modify-inputs native-inputs
1218 (replace "zig" `(,base "zig1")))))))
1219
1220(define zig-0.11.0-3344
1221 (let ((commit "e646e0116196c2bd9668317366f5380f08c30e6e")
1222 (revision "3344")
1223 (base zig-0.11.0-3245))
1224 (package
1225 (inherit base)
1226 (name "zig")
1227 (version (git-version "0.11.0" revision commit))
1228 (source (zig-source
1229 version commit
1230 "1vymn6qffmkhkl3rnp8zrxa1vwg8ayg5r2z3qz9bpfc6r2sb6ddq"))
1231 ;; zig1
1232 (arguments
1233 (substitute-keyword-arguments (package-arguments zig-0.10.0-747)
1234 ((#:phases phases '%standard-phases)
1235 #~(modify-phases #$phases
1236 (replace 'build-zig1
1237 (lambda _
1238 (invoke "zig2" "build" "update-zig1" "--verbose")))))))
1239 (native-inputs
1240 (modify-inputs native-inputs
1241 (replace "zig" `(,base "out")))))))
1242
1243(define zig-0.11.0-3501
1244 (let ((commit "9b2345e182090e2f4c57e7684ec9739f195fdb1d")
1245 (revision "3501")
1246 (base zig-0.11.0-3344))
1247 (package
1248 (inherit base)
1249 (name "zig")
1250 (version (git-version "0.11.0" revision commit))
1251 (source (zig-source
1252 version commit
1253 "0gwfnsjc3avx51cr5cwancms8s14hkrhqvk926cz3phgnn4jmpz0"))
1254 ;; zig2
1255 (arguments (package-arguments zig-0.10.0-851))
1256 (native-inputs
1257 (modify-inputs native-inputs
1258 (replace "zig" `(,base "zig1")))))))
1259
1260(define zig-0.11.0-3503
1261 (let ((commit "17673dcd6e3ffeb25fc9dc1cfc72334ab4e71b37")
1262 (revision "3503")
1263 (base zig-0.11.0-3501))
1264 (package
1265 (inherit base)
1266 (name "zig")
1267 (version (git-version "0.11.0" revision commit))
1268 (source (zig-source
1269 version commit
1270 "09j6svmrlk9ybkz308vbdqqx87yc20yfj7jk59vj451478x4fcnb"))
1271 ;; zig1
1272 (arguments (package-arguments zig-0.10.0-747))
1273 (native-inputs
1274 (modify-inputs native-inputs
1275 (replace "zig" `(,base "out")))))))
1276
1277(define zig-0.11.0-3506
1278 (let ((commit "fb192df4f2d12dda5019e14bf6cab2693432cb36")
1279 (revision "3506")
1280 (base zig-0.11.0-3503))
1281 (package
1282 (inherit base)
1283 (name "zig")
1284 (version (git-version "0.11.0" revision commit))
1285 (source (zig-source
1286 version commit
1287 "1k5qd1pf563wi4hk4qs29sxph38n7jd4ic5w7qw80pi3aq9c9vbx"))
1288 ;; zig2
1289 (arguments (package-arguments zig-0.10.0-851))
1290 (native-inputs
1291 (modify-inputs native-inputs
1292 (replace "zig" `(,base "zig1")))))))
1293
1294(define zig-0.11.0-3604
1295 (let ((commit "7611d90ba011fb030523e669e85acfb6faae5d19")
1296 (revision "3604")
1297 (base zig-0.11.0-3506))
1298 (package
1299 (inherit base)
1300 (name "zig")
1301 (version (git-version "0.11.0" revision commit))
1302 (source (zig-source
1303 version commit
1304 "1yl91rpqsnlf38hg77phpl5hy7ds0cg57agr23hjhy50z4vdj3m4"))
1305 ;; zig1
1306 (arguments (package-arguments zig-0.10.0-747))
1307 (native-inputs
1308 (modify-inputs native-inputs
1309 (replace "zig" `(,base "out")))))))
1310
1311
1312;;;
1313;;; Bootstrap path for Zig 0.13.
1314;;;
1315
1316(define zig-0.12.0-109
1317 (let ((commit "b7799ef322103c8e449c45494c29fb4a8c9867df")
1318 (revision "109")
1319 (base zig-0.11.0-3604))
1320 (package
1321 (inherit base)
1322 (name "zig")
1323 (version (git-version "0.12.0" revision commit))
1324 (source (zig-source
1325 version commit
1326 "1zy19w93wrd7dfdih8hfk9h3brkgaspaa60ipcmf08hlx6z2f0bz"))
1327 ;; zig2+zig1
1328 (arguments (package-arguments zig-0.10.0-748))
1329 (inputs
1330 (modify-inputs inputs
1331 (replace "clang" clang-18)
1332 (replace "lld" lld-18)))
1333 (native-inputs
1334 (modify-inputs native-inputs
1335 (replace "llvm" llvm-18)
1336 (replace "zig" `(,base "zig1"))))
1337 (properties `((max-silent-time . 9600)
1338 ,@(clang-compiler-cpu-architectures "18"))))))
1339
1340
1341;;;
1342;;; Bootstrap path for Zig 0.14.
1343;;;
1344
1345(define zig-0.13.0-286
1346 (let ((commit "d72a8db2db1a5c77af2deb713248dc53f9adcb73")
1347 (revision "286")
1348 (base zig-0.12.0-109))
1349 (package
1350 (inherit base)
1351 (name "zig")
1352 (version (git-version "0.13.0" revision commit))
1353 (source (zig-source
1354 version commit
1355 "1rnpv4lwc2jxz5yymrb4hlfy4iii48bn94rjpr3vll8yyydinpnb"))
1356 ;; zig2
1357 (arguments (package-arguments zig-0.10.0-851))
1358 (native-inputs
1359 (modify-inputs native-inputs
1360 (replace "zig" `(,base "zig1")))))))
1361
1362(define zig-0.13.0-503
1363 (let ((commit "25198810c88d474c63ff537e3647f12e7df6297c")
1364 (revision "503")
1365 (base zig-0.13.0-286))
1366 (package
1367 (inherit base)
1368 (name "zig")
1369 (version (git-version "0.13.0" revision commit))
1370 (source (zig-source
1371 version commit
1372 "1i2baqav7qxv7ll94win6xfsm45dpzrwkwpayzrdll1aq9k4ywvb"))
1373 ;; zig1
1374 (arguments (package-arguments zig-0.10.0-747))
1375 (native-inputs
1376 (modify-inputs native-inputs
1377 (replace "zig" `(,base "out")))))))
1378
1379(define zig-0.13.0-1323
1380 (let ((commit "457c94d353b77b08786aa8794e1afc6a62d5c34a")
1381 (revision "1323")
1382 (base zig-0.13.0-503))
1383 (package
1384 (inherit base)
1385 (name "zig")
1386 (version (git-version "0.13.0" revision commit))
1387 (source (zig-source
1388 version commit
1389 "1kh4iy7mk86s7fpqgrp5i2m1a3d8vhz5plmhkglzykdr3calqqhi"))
1390 ;; zig2
1391 (arguments (package-arguments zig-0.10.0-851))
1392 (native-inputs
1393 (modify-inputs native-inputs
1394 (replace "zig" `(,base "zig1")))))))
1395
1396(define zig-0.13.0-1528
1397 (let ((commit "8ec68c63fa1d0f7e267ff92c054e8aa335f91da4")
1398 (revision "1528")
1399 (base zig-0.13.0-1323))
1400 (package
1401 (inherit base)
1402 (name "zig")
1403 (version (git-version "0.13.0" revision commit))
1404 (source (zig-source
1405 version commit
1406 "1a7q20wbadjqj0xmajq6f3kk9mlkz9wqgvw4zm62r5bn1xzcs5kd"))
1407 ;; zig1
1408 (arguments (package-arguments zig-0.10.0-747))
1409 (native-inputs
1410 (modify-inputs native-inputs
1411 (replace "zig" `(,base "out")))))))
1412
1413(define zig-0.13.0-1951
1414 (let ((commit "8573836892ba1b7cd34d377b46258930161256c3")
1415 (revision "1951")
1416 (base zig-0.13.0-1528))
1417 (package
1418 (inherit base)
1419 (name "zig")
1420 (version (git-version "0.13.0" revision commit))
1421 (source (zig-source
1422 version commit
1423 "094yxy3db6sjvcni4jl1d6nf46hlarhw6hnxhcw7vwq4qaj9w9xq"))
1424 ;; zig2
1425 (arguments
1426 (substitute-keyword-arguments (package-arguments zig-0.10.0-851)
1427 ((#:phases phases '%standard-phases)
1428 #~(modify-phases #$phases
1429 ;; See also upstream commit
1430 ;; f1f804e532e603a3f58d559d32a1c8120691d891.
1431 (add-after 'unpack 'fix-compilation
1432 (lambda _
1433 (substitute* "src/zig_llvm.cpp"
1434 ((".*LastEnvironmentType.*") ""))))))))
1435 (inputs
1436 (modify-inputs inputs
1437 (replace "clang" clang-19)
1438 (replace "lld" lld-19)))
1439 (native-inputs
1440 (modify-inputs native-inputs
1441 (replace "llvm" llvm-19)
1442 (replace "zig" `(,base "zig1"))))
1443 (properties `((max-silent-time . 9600)
1444 ,@(clang-compiler-cpu-architectures "19"))))))
1445
1446(define zig-0.13.0-1952
1447 (let ((commit "51706af908e0c6acb822ef36760b7fe31faf62a6")
1448 (revision "1952")
1449 (base zig-0.13.0-1951))
1450 (package
1451 (inherit base)
1452 (name "zig")
1453 (version (git-version "0.13.0" revision commit))
1454 (source (zig-source
1455 version commit
1456 "1ypwd8is0zmnq042qzya34jks1sfkk1grdi1asymbqnmp0c3p4m7"))
1457 ;; zig1
1458 (arguments (package-arguments zig-0.10.0-747))
1459 (native-inputs
1460 (modify-inputs native-inputs
1461 (replace "zig" `(,base "out")))))))
1462
1463(define zig-0.13.0-2795
1464 (let ((commit "0cc9d68b77b31c6502da80ce7e6dabaf9316ca48")
1465 (revision "2795")
1466 (base zig-0.13.0-1952))
1467 (package
1468 (inherit base)
1469 (name "zig")
1470 (version (git-version "0.13.0" revision commit))
1471 (source (zig-source
1472 version commit
1473 "11v7d6f34h9mayn00la5898h34xw335rh0fp9jk1gyxvd49k92ip"))
1474 ;; zig2
1475 (arguments (package-arguments zig-0.10.0-851))
1476 (native-inputs
1477 (modify-inputs native-inputs
1478 (replace "zig" `(,base "zig1")))))))
1479
1480(define zig-0.13.0-2899
1481 (let ((commit "8b5c4baed8aa99612734b763ecb1fa0364dc7940")
1482 (revision "2899")
1483 (base zig-0.13.0-2795))
1484 (package
1485 (inherit base)
1486 (name "zig")
1487 (version (git-version "0.13.0" revision commit))
1488 (source (zig-source
1489 version commit
1490 "13kiyr9v7p2vyqyqb5ry178d7lsd1hmkhsw5p3hal7fndy8yyrph"))
1491 ;; zig1
1492 (arguments (package-arguments zig-0.10.0-747))
1493 (native-inputs
1494 (modify-inputs native-inputs
1495 (replace "zig" `(,base "out")))))))
1496
1497(define zig-0.13.0-2924
1498 (let ((commit "83991efe10d92c4b920d7b7fc75be98ed7854ad7")
1499 (revision "2924")
1500 (base zig-0.13.0-2899))
1501 (package
1502 (inherit base)
1503 (name "zig")
1504 (version (git-version "0.13.0" revision commit))
1505 (source (zig-source
1506 version commit
1507 "1ksq4yr21y28x3m0mz9vn3c30pfrcvl3av5kc9zjxyip7r9as9xp"))
1508 ;; zig2
1509 (arguments (package-arguments zig-0.10.0-851))
1510 (native-inputs
1511 (modify-inputs native-inputs
1512 (replace "zig" `(,base "zig1")))))))
1513
1514(define zig-0.13.0-2925
1515 (let ((commit "b0a8931690660da753f9684d65db4b1bdfe29757")
1516 (revision "2925")
1517 (base zig-0.13.0-2924))
1518 (package
1519 (inherit base)
1520 (name "zig")
1521 (version (git-version "0.13.0" revision commit))
1522 (source (zig-source
1523 version commit
1524 "19nxizmi0l70750kpn9fa0bdsz0arifjvrlms0zm0y7g8pzyqzvs"))
1525 ;; zig1
1526 (arguments (package-arguments zig-0.10.0-747))
1527 (native-inputs
1528 (modify-inputs native-inputs
1529 (replace "zig" `(,base "out")))))))
1530
1531(define zig-0.13.0-3252
1532 (let ((commit "f90f8f59a5f98ae3264bc00dbff4d56a0e4ef65e")
1533 (revision "3252")
1534 (base zig-0.13.0-2925))
1535 (package
1536 (inherit base)
1537 (name "zig")
1538 (version (git-version "0.13.0" revision commit))
1539 (source (zig-source
1540 version commit
1541 "1hf9fvk2cm5n6ryg00w95sk50n96j5sgdnxh1bwmwcva0lib000y"))
1542 ;; zig2+zig1
1543 (arguments (package-arguments zig-0.10.0-748))
1544 (native-inputs
1545 (modify-inputs native-inputs
1546 (replace "zig" `(,base "zig1")))))))
1547
1548
1549;;;
1550;;; Bootstrap path for Zig 0.15.
1551;;;
1552
1553(define zig-0.14.0-0
1554 (let ((commit "5ad91a646a753cc3eecd8751e61cf458dadd9ac4")
1555 (revision "0")
1556 (base zig-0.13.0-3252))
1557 (package
1558 (inherit base)
1559 (name "zig")
1560 (version (git-version "0.14.0" revision commit))
1561 (source (zig-source
1562 version commit
1563 "0ndrwir81zhkwviwnzwqc4vszc1klv1fnlf66nmdwijrkqi5wasp"))
1564 ;; zig2+zig1
1565 (arguments (package-arguments zig-0.10.0-748))
1566 (native-inputs
1567 (modify-inputs native-inputs
1568 (replace "zig" `(,base "zig1")))))))
1569
1570(define zig-0.14.0-687
1571 (let ((commit "cc047fdd959edb260f7a6e305ccad53f185ece66")
1572 (revision "687")
1573 (base zig-0.14.0-0))
1574 (package
1575 (inherit base)
1576 (name "zig")
1577 (version (git-version "0.14.0" revision commit))
1578 (source (zig-source
1579 version commit
1580 "0wjswx1cvql8pxpdrglr3h24v5rffnq3llr0f08hj8g959f6ffvs"))
1581 ;; zig2
1582 (arguments (package-arguments zig-0.10.0-851))
1583 (inputs
1584 (modify-inputs inputs
1585 (replace "clang" clang-20)
1586 (replace "lld" lld-20)))
1587 (native-inputs
1588 (modify-inputs native-inputs
1589 (replace "llvm" llvm-20)
1590 (replace "zig" `(,base "zig1"))))
1591 (properties `((max-silent-time . 9600)
1592 ,@(clang-compiler-cpu-architectures "20"))))))
1593
1594(define zig-0.14.0-877
1595 (let ((commit "0adcfd60f4fcfd01c74a6477cbcef187ce06f533")
1596 (revision "877")
1597 (base zig-0.14.0-687))
1598 (package
1599 (inherit base)
1600 (name "zig")
1601 (version (git-version "0.14.0" revision commit))
1602 (source (zig-source
1603 version commit
1604 "1yyar3cms02kzf4z20sbw09awqvz0kbm9fx8g0kgb8hp1f4blf3d"))
1605 ;; zig1
1606 (arguments (package-arguments zig-0.10.0-747))
1607 (native-inputs
1608 (modify-inputs native-inputs
1609 (replace "zig" `(,base "out")))))))
1610
1611(define zig-0.14.0-930
1612 (let ((commit "40d11cc25a469dc6bb0f9fbba4d05e7210a23b3f")
1613 (revision "930")
1614 (base zig-0.14.0-877))
1615 (package
1616 (inherit base)
1617 (name "zig")
1618 (version (git-version "0.14.0" revision commit))
1619 (source (zig-source
1620 version commit
1621 "06x6zi8hcl04gmql96vyms0zch94xi1all5s1kjsnbifixd99bgy"))
1622 ;; zig2
1623 (arguments (package-arguments zig-0.10.0-851))
1624 (native-inputs
1625 (modify-inputs native-inputs
1626 (replace "zig" `(,base "zig1")))))))
1627
1628(define zig-0.14.0-934
1629 (let ((commit "4ba0e7d424a7c0af55c8085c659e9205560d3095")
1630 (revision "934")
1631 (base zig-0.14.0-930))
1632 (package
1633 (inherit base)
1634 (name "zig")
1635 (version (git-version "0.14.0" revision commit))
1636 (source (zig-source
1637 version commit
1638 "17zaw7bk6wli6wpsr5zlpn1b39818h034l5bpnsxfslqqg09rsd8"))
1639 ;; zig1
1640 (arguments (package-arguments zig-0.10.0-747))
1641 (native-inputs
1642 (modify-inputs native-inputs
1643 (replace "zig" `(,base "out")))))))
1644
1645(define zig-0.14.0-1091
1646 (let ((commit "87ce83d5a5854b63b7cef5c6209742ee1a524107")
1647 (revision "1091")
1648 (base zig-0.14.0-934))
1649 (package
1650 (inherit base)
1651 (name "zig")
1652 (version (git-version "0.14.0" revision commit))
1653 (source (zig-source
1654 version commit
1655 "18irwcr63l1hf2g7vv9qajgllsp7qwzsv5ijm9x8l51agm6harf4"))
1656 ;; zig2
1657 (arguments (package-arguments zig-0.10.0-851))
1658 (native-inputs
1659 (modify-inputs native-inputs
1660 (replace "zig" `(,base "zig1")))))))
1661
1662(define zig-0.14.0-1197
1663 (let ((commit "a023b9b22b6593ebd5a86736a4a9955840d1bfa1")
1664 (revision "1197")
1665 (base zig-0.14.0-1091))
1666 (package
1667 (inherit base)
1668 (name "zig")
1669 (version (git-version "0.14.0" revision commit))
1670 (source (zig-source
1671 version commit
1672 "08c1m6kwq7cqg5s6j0ypp8ygvxj21da5is0w7y17sw27fjqrlhgr"))
1673 ;; zig1
1674 (arguments (package-arguments zig-0.10.0-747))
1675 (native-inputs
1676 (modify-inputs native-inputs
1677 (replace "zig" `(,base "out")))))))
1678
1679
1680;;;
1681;;; Bootstrap path for Zig 0.16.
1682;;;
1683
1684(define zig-0.15.0-0
1685 (let ((commit "94cda37d691316ad4129ee37bbdecb911349109f")
1686 (revision "0")
1687 (base zig-0.14.0-1197))
1688 (package
1689 (inherit base)
1690 (name "zig")
1691 (version (git-version "0.15.0" revision commit))
1692 (source (zig-source
1693 version commit
1694 "1wlw9acjff9hhghqmcrbh42n6hwkfgzdbkcizk9p948z2pnqmic2"))
1695 ;; zig2+zig1
1696 (arguments (package-arguments zig-0.10.0-748))
1697 (native-inputs
1698 (modify-inputs native-inputs
1699 (replace "zig" `(,base "zig1")))))))
1700
1701(define zig-0.15.0-1447
1702 (let ((commit "ce0df033cf2bb6986c6c226786e6543d05e29a77")
1703 (revision "1447")
1704 (base zig-0.15.0-0))
1705 (package
1706 (inherit base)
1707 (name "zig")
1708 (version (git-version "0.15.0" revision commit))
1709 (source (zig-source
1710 version commit
1711 "1c3wfbpyrkkr5d2bjqnscwqywcf36lkvs8rsmq2y1ci0aa1rj007"))
1712 ;; zig2
1713 (arguments (package-arguments zig-0.10.0-851))
1714 (inputs
1715 (modify-inputs inputs
1716 (replace "clang" clang-21)
1717 (replace "lld" lld-21)))
1718 (native-inputs
1719 (modify-inputs native-inputs
1720 (replace "llvm" llvm-21)
1721 (replace "zig" `(,base "zig1"))))
1722 (properties `((max-silent-time . 9600)
1723 ,@(clang-compiler-cpu-architectures "21"))))))
1724
1725(define zig-0.15.0-1459
1726 (let ((commit "9082b004b68b0cc0afe6e24b9277b900362c560d")
1727 (revision "1459")
1728 (base zig-0.15.0-1447))
1729 (package
1730 (inherit base)
1731 (name "zig")
1732 (version (git-version "0.15.0" revision commit))
1733 (source (zig-source
1734 version commit
1735 "0540356f85kdwmkmkr40680cbdyp2v8vn2r4k5n20cap74bq73s0"))
1736 ;; zig1
1737 (arguments (package-arguments zig-0.10.0-747))
1738 (native-inputs
1739 (modify-inputs native-inputs
1740 (replace "zig" `(,base "out")))))))
1741
1742(define zig-0.15.0-2738
1743 (let ((commit "cfe5c88ad6081e284d0caf36cf8d7e80fe39b676")
1744 (revision "2738")
1745 (base zig-0.15.0-1459))
1746 (package
1747 (inherit base)
1748 (name "zig")
1749 (version (git-version "0.15.0" revision commit))
1750 (source (zig-source
1751 version commit
1752 "0n07x30sy8q2lvh2c0bcs3lsfbk24406sgdp1m31ggg4770dh5n6"))
1753 ;; zig2
1754 (arguments (package-arguments zig-0.10.0-851))
1755 (native-inputs
1756 (modify-inputs native-inputs
1757 (replace "zig" `(,base "zig1")))))))
1758
1759(define zig-0.15.0-2807
1760 (let ((commit "4a310ce7c13c9aa485200a2b712562ba20854272")
1761 (revision "2807")
1762 (base zig-0.15.0-2738))
1763 (package
1764 (inherit base)
1765 (name "zig")
1766 (version (git-version "0.15.0" revision commit))
1767 (source (zig-source
1768 version commit
1769 "0628ig8j16r3y38irr5gbqn0zbrh0vwfd1a8knrgx36f1b0ggdqz"))
1770 ;; zig1
1771 (arguments (package-arguments zig-0.10.0-747))
1772 (native-inputs
1773 (modify-inputs native-inputs
1774 (replace "zig" `(,base "out")))))))
1775
1776(define zig-0.15.0-2821
1777 (let ((commit "3edaef9e011ac500f66c9ee0ba3ea24be905bcde")
1778 (revision "2821")
1779 (base zig-0.15.0-2807))
1780 (package
1781 (inherit base)
1782 (name "zig")
1783 (version (git-version "0.15.0" revision commit))
1784 (source (zig-source
1785 version commit
1786 "1rr2ignpb9xjxqk27qk6fswmsv07px6dplj9h3wrw3qvl48ppzmz"))
1787 ;; zig2
1788 (arguments (package-arguments zig-0.10.0-851))
1789 (native-inputs
1790 (modify-inputs native-inputs
1791 (replace "zig" `(,base "zig1")))))))
1792
1793(define zig-0.15.0-2876
1794 (let ((commit "0978566db8b7ed2b730cf01a7d359e9b52ec66ec")
1795 (revision "2876")
1796 (base zig-0.15.0-2821))
1797 (package
1798 (inherit base)
1799 (name "zig")
1800 (version (git-version "0.15.0" revision commit))
1801 (source (zig-source
1802 version commit
1803 "0vx54cw1brk4cjjh217ygwk3kwdjc3a465h2mp43j2wpycq6hd0d"))
1804 ;; zig1
1805 (arguments (package-arguments zig-0.10.0-747))
1806 (native-inputs
1807 (modify-inputs native-inputs
1808 (replace "zig" `(,base "out")))))))
1809
1810
1811;;;
1812;;; Public packages.
1813;;;
1814
1815(define zig-0.11-libc-abi-tools
1816 (origin
1817 (method git-fetch)
1818 (uri (git-reference
1819 (url "https://codeberg.org/ziglang/libc-abi-tools")
1820 (commit "13576b1ea957882be7ff2c99f4cdc27454930219")))
1821 (file-name "libc-abi-tools")
1822 (sha256
1823 (base32 "09m0ipixxw0dnal0zsgk6kvcz29y9s256b9y00s4hkhj95n630il"))
1824 (modules '((guix build utils)))
1825 (snippet
1826 #~(begin
1827 (substitute* "consolidate.zig"
1828 ((".*minor = 3[5678].*") "")
1829 (("(w\\.writeIntLittle.u16, )(@intCast.*);" _ prefix suffix)
1830 (string-append prefix "@as(u16, " suffix ");")))
1831 (with-directory-excursion "glibc"
1832 (for-each delete-file-recursively
1833 '("2.35" "2.36" "2.37" "2.38")))))))
1834
1835(define zig-0.12-libc-abi-tools
1836 (origin
1837 (method git-fetch)
1838 (uri (git-reference
1839 (url "https://codeberg.org/ziglang/libc-abi-tools")
1840 (commit "fc5d0a7046b76795e4219f8f168e118ec29fbc53")))
1841 (file-name "libc-abi-tools")
1842 (sha256
1843 (base32 "1q9plbqkkk3jzrvsgcjmj5jjdncz4ym9p0snglz4kkjwwm65gqs1"))))
1844
1845(define zig-0.13-libc-abi-tools
1846 (origin
1847 (method git-fetch)
1848 (uri (git-reference
1849 (url "https://codeberg.org/ziglang/libc-abi-tools")
1850 (commit "fc5d0a7046b76795e4219f8f168e118ec29fbc53")))
1851 (file-name "libc-abi-tools")
1852 (sha256
1853 (base32 "1q9plbqkkk3jzrvsgcjmj5jjdncz4ym9p0snglz4kkjwwm65gqs1"))))
1854
1855(define zig-0.14-libc-abi-tools
1856 (origin
1857 (method git-fetch)
1858 (uri (git-reference
1859 (url "https://codeberg.org/ziglang/libc-abi-tools")
1860 (commit "ed9d3bb356413e73b836955e75f399dfb3ec255e")))
1861 (file-name "libc-abi-tools")
1862 (sha256
1863 (base32 "0ckhwlszm0vkiqsyp2rzp1zcfljh1ng24c7pdvpyfj51x4s612z1"))))
1864
1865(define zig-0.15-libc-abi-tools
1866 (origin
1867 (method git-fetch)
1868 (uri (git-reference
1869 (url "https://codeberg.org/ziglang/libc-abi-tools")
1870 (commit "ec46122c7b8c7854f08e67e108083907d09996f5")))
1871 (file-name "libc-abi-tools")
1872 (sha256
1873 (base32 "0s46f1wbqg53wxlrljb9afw4s8j5cl5vz5xhajy6fagy05xns2bc"))))
1874
1875(define zig-0.16-libc-abi-tools
1876 (origin
1877 (method git-fetch)
1878 (uri (git-reference
1879 (url "https://codeberg.org/ziglang/libc-abi-tools")
1880 (commit "d1b3c04c4a386540708b76fe416a5e09ad97801d")))
1881 (file-name "libc-abi-tools")
1882 (sha256
1883 (base32 "0a4f1bhgi6rd33gp3zlarcibagd603km4g97pdkphdkbs11066x1"))))
1884
1885(define-public zig-0.11
1886 (package
1887 (inherit zig-0.10)
1888 (name "zig")
1889 (version "0.11.0")
1890 (source
1891 (origin
1892 (inherit (zig-source
1893 version version
1894 "0qh7c27cd4wcdjj0mbpkarvwypfk1js8hkyxs0z149qv75zkbrca"))
1895 (patches
1896 (search-patches
1897 "zig-0.11-build-respect-PKG_CONFIG-env-var.patch"
1898 "zig-0.9-use-baseline-cpu-by-default.patch"
1899 "zig-0.11-use-system-paths.patch"
1900 "zig-0.11-fix-runpath.patch"))))
1901 (arguments
1902 (substitute-keyword-arguments arguments
1903 ((#:phases phases '%standard-phases)
1904 #~(modify-phases #$phases
1905 (add-after 'unpack 'set-host-triple
1906 (lambda _
1907 (substitute* "CMakeLists.txt"
1908 (("\\$\\{ZIG_HOST_TARGET_TRIPLE\\}")
1909 (zig-target
1910 #$(platform-target
1911 (lookup-platform-by-system (%current-system))))))))
1912 (add-after 'unpack 'prepare-source
1913 (lambda* (#:key native-inputs inputs #:allow-other-keys)
1914 (install-file (search-input-file
1915 (or native-inputs inputs) "bin/zig1.wasm")
1916 "stage1")
1917 (make-file-writable "stage1/zig1.wasm")))
1918 (add-after 'install 'build-zig1
1919 (lambda _
1920 (invoke (string-append #$output "/bin/zig")
1921 "build" "update-zig1" "--verbose")))
1922 (add-after 'build-zig1 'install-zig1
1923 (lambda _
1924 (install-file "stage1/zig1.wasm"
1925 (string-append #$output:zig1 "/bin"))))
1926 ;; TODO: Disable tests for macOS target and run full test.
1927 ;; Issue with glibc in CPLUS_INCLUDE_PATH:
1928 ;; <https://github.com/ziglang/zig/issues/18063>.
1929 (replace 'check
1930 (lambda* (#:key tests? #:allow-other-keys)
1931 (when tests?
1932 (invoke (string-append #$output "/bin/zig")
1933 "test" "-I" "test" "test/behavior.zig"))))))))
1934 (inputs
1935 (modify-inputs inputs
1936 (replace "clang" clang-16)
1937 (replace "lld" lld-16)))
1938 (native-inputs
1939 (modify-inputs native-inputs
1940 (prepend binaryen `(,zig-0.10.0-3985 "zig1"))
1941 (replace "libc-abi-tools" zig-0.11-libc-abi-tools)
1942 (replace "llvm" llvm-16)))
1943 (outputs '("out" "zig1"))
1944 (properties `((max-silent-time . 9600)
1945 ,@(clang-compiler-cpu-architectures "16")))))
1946
1947(define-public zig-0.12
1948 (package
1949 (inherit zig-0.11)
1950 (name "zig")
1951 (version "0.12.1")
1952 (source
1953 (origin
1954 (inherit (zig-source
1955 version version
1956 "0ssgfrsk116p16rwjwq1z2pvvcdij6s30s19bhzjms7maz4s77hb"))
1957 (patches
1958 (search-patches
1959 "zig-0.12-build-respect-PKG_CONFIG-env-var.patch"
1960 "zig-0.12-use-baseline-cpu-by-default.patch"
1961 "zig-0.12-use-system-paths.patch"
1962 "zig-0.12-fix-runpath.patch"))))
1963 (arguments
1964 (substitute-keyword-arguments arguments
1965 ((#:phases phases '%standard-phases)
1966 #~(modify-phases #$phases
1967 (replace 'patch-more-shebangs
1968 (lambda* (#:key inputs #:allow-other-keys)
1969 ;; Zig uses information about an ELF file to determine the
1970 ;; version of glibc and other data for native builds.
1971 (substitute* "lib/std/zig/system.zig"
1972 (("/usr/bin/env")
1973 (search-input-file inputs "bin/clang++")))))))))
1974 (inputs
1975 (modify-inputs inputs
1976 (replace "clang" clang-17)
1977 (replace "lld" lld-17)))
1978 (native-inputs
1979 (modify-inputs native-inputs
1980 (replace "libc-abi-tools" zig-0.12-libc-abi-tools)
1981 (replace "llvm" llvm-17)
1982 (replace "zig" `(,zig-0.11.0-3604 "zig1"))))
1983 (properties `((max-silent-time . 9600)
1984 ,@(clang-compiler-cpu-architectures "17")))))
1985
1986(define-public zig-0.13
1987 (package
1988 (inherit zig-0.12)
1989 (name "zig")
1990 (version "0.13.0")
1991 (source
1992 (origin
1993 (inherit (zig-source
1994 version version
1995 "0ly8042lbsa8019g0d1jg4l06rxpq2530n9mijq66n4lmx7a5976"))
1996 (patches
1997 (search-patches
1998 "zig-0.13-build-respect-PKG_CONFIG-env-var.patch"
1999 "zig-0.12-use-baseline-cpu-by-default.patch"
2000 "zig-0.12-use-system-paths.patch"
2001 "zig-0.13-fix-runpath.patch"))))
2002 (inputs
2003 (modify-inputs inputs
2004 (replace "clang" clang-18)
2005 (replace "lld" lld-18)))
2006 (native-inputs
2007 (modify-inputs native-inputs
2008 (replace "libc-abi-tools" zig-0.13-libc-abi-tools)
2009 (replace "llvm" llvm-18)
2010 (replace "zig" `(,zig-0.12.0-109 "zig1"))))
2011 (properties `((max-silent-time . 9600)
2012 ,@(clang-compiler-cpu-architectures "18")))))
2013
2014(define-public zig-0.14
2015 (package
2016 (inherit zig-0.12)
2017 (name "zig")
2018 (version "0.14.1")
2019 (source
2020 (origin
2021 (inherit (zig-source
2022 version version
2023 "0cnc3bzl965ckm70ayd6a29zn5h9cy3qzyfncp4n7mzkiwhlj58f"))
2024 (patches
2025 (search-patches
2026 "zig-0.14-use-baseline-cpu-by-default.patch"
2027 "zig-0.14-use-system-paths.patch"
2028 "zig-0.14-fix-runpath.patch"))
2029 (snippet
2030 #~(begin
2031 #$(origin-snippet (package-source zig-0.13))
2032 ;; For ARM builds.
2033 (substitute* "build.zig"
2034 (("\\.*.max_rss.*") ""))))))
2035 (inputs
2036 (modify-inputs inputs
2037 (replace "clang" clang-19)
2038 (replace "lld" lld-19)))
2039 (native-inputs
2040 (modify-inputs native-inputs
2041 (replace "libc-abi-tools" zig-0.14-libc-abi-tools)
2042 (replace "llvm" llvm-19)
2043 (replace "zig" `(,zig-0.13.0-3252 "zig1"))))
2044 (properties `((max-silent-time . 9600)
2045 ,@(clang-compiler-cpu-architectures "19")))))
2046
2047(define-public zig-0.15
2048 (package
2049 (inherit zig-0.12)
2050 (name "zig")
2051 (version "0.15.2")
2052 (source
2053 (origin
2054 (inherit (zig-source
2055 version version
2056 "0kr8y1xzb7ffqg4yy7ncg4jh6kndxn5xfqf2viy5gvqdqqql8ymv"))
2057 (patches
2058 (search-patches
2059 "zig-0.14-use-baseline-cpu-by-default.patch"
2060 "zig-0.14-use-system-paths.patch"
2061 "zig-0.15-fix-runpath.patch"))))
2062 (arguments
2063 (substitute-keyword-arguments arguments
2064 ((#:phases phases '%standard-phases)
2065 #~(modify-phases #$phases
2066 (replace 'copy-libc-abi-tools
2067 (lambda* (#:key inputs native-inputs #:allow-other-keys)
2068 (mkdir-p "/tmp/libc-abi-tools")
2069 (with-directory-excursion "/tmp/libc-abi-tools"
2070 (copy-recursively
2071 (dirname (search-input-file
2072 (or native-inputs inputs) "list.zig"))
2073 ".")
2074 (for-each make-file-writable (find-files ".")))))
2075 ;; Added support for more libc implementations.
2076 (replace 'install-abilists
2077 (lambda _
2078 (with-directory-excursion "/tmp/libc-abi-tools"
2079 (for-each
2080 (lambda (libc)
2081 (with-directory-excursion libc
2082 (invoke (string-append #$output "/bin/zig")
2083 "run" "consolidate.zig")
2084 (install-file
2085 "abilists"
2086 (string-append #$output "/lib/zig/libc/" libc))))
2087 '("freebsd"
2088 "glibc"
2089 "netbsd")))))))))
2090 (inputs
2091 (modify-inputs inputs
2092 (replace "clang" clang-20)
2093 (replace "lld" lld-20)))
2094 (native-inputs
2095 (modify-inputs native-inputs
2096 (replace "libc-abi-tools" zig-0.15-libc-abi-tools)
2097 (replace "llvm" llvm-20)
2098 (replace "zig" `(,zig-0.14.0-1197 "zig1"))))
2099 (properties `((max-silent-time . 9600)
2100 ,@(clang-compiler-cpu-architectures "20")))))
2101
2102(define-public zig-0.16
2103 (package
2104 (inherit zig-0.15)
2105 (name "zig")
2106 (version "0.16.0")
2107 (source
2108 (origin
2109 (inherit (zig-source
2110 version version
2111 "0m5sj165wf4imq4fj7bsb38y49il5cagx1vw0slb5jmcls2wri6s"))
2112 (patches
2113 (search-patches
2114 "zig-0.14-use-baseline-cpu-by-default.patch"
2115 "zig-0.16-fix-runpath.patch"))))
2116 (arguments
2117 (substitute-keyword-arguments arguments
2118 ((#:phases phases '%standard-phases)
2119 #~(modify-phases #$phases
2120 ;; Added OpenBSD libc support.
2121 (replace 'install-abilists
2122 (lambda _
2123 (with-directory-excursion "/tmp/libc-abi-tools"
2124 (for-each
2125 (lambda (libc)
2126 (with-directory-excursion libc
2127 (invoke (string-append #$output "/bin/zig")
2128 "run" "consolidate.zig")
2129 (install-file
2130 "abilists"
2131 (string-append #$output "/lib/zig/libc/" libc))))
2132 '("freebsd"
2133 "glibc"
2134 "netbsd"
2135 "openbsd")))))))))
2136 (inputs
2137 (modify-inputs inputs
2138 (replace "clang" clang-21)
2139 (replace "lld" lld-21)))
2140 (native-inputs
2141 (modify-inputs native-inputs
2142 (replace "libc-abi-tools" zig-0.16-libc-abi-tools)
2143 (replace "llvm" llvm-21)
2144 (replace "zig" `(,zig-0.15.0-2876 "zig1"))))
2145 (properties `((max-silent-time . 9600)
2146 ,@(clang-compiler-cpu-architectures "21")))))
2147
2148(define-public zig zig-0.13)