Commit graph

10 commits

Author SHA1 Message Date
Hilton Chain
585929d18c
build/zig: Support specifying test target.
* guix/build/zig-build-system.scm (check): Accept #:test-target.

Change-Id: I5b8c449b1668d98b365f897a2692085b02c7ead4
2025-05-26 10:41:05 +08:00
Hilton Chain
f31b9df0f8
build/zig: Output verbosely.
* guix/build/zig-build-system.scm (build,check): Add "--verbose" flag.

Change-Id: I3339496156f9a194cbe928ae4b5a01eb65cbdf08
2024-12-31 10:56:35 +08:00
Hilton Chain
bdff1941e5
gnu: zig: Default to zig-0.13.
* guix/build-system/zig.scm (#:parallel-build?,#:parallel-tests?):
New arguments.
* guix/build/zig-build-system.scm (zig-arguments): New procedure.
(bulid): Use it and honor #:parallel-build?.
(check): Use it and honor #:parallel-tests?.
* gnu/packages/zig.scm (zig): Define as zig-0.13.
* gnu/packages/ncdu.scm (ncdu)[arguments]<#:zig>: Unset.
<#:zig-release-type>: Set to "safe".
<#:zig-build-flags>: Add "-Dpie".
* gnu/packages/zig-xyz.scm (river)[arguments]<#:zig>: Use zig-0.10.
(zig-zls)[arguments]<#:zig>: Use zig-0.10.
<#:zig-release-type>: Set to "safe".

Change-Id: I1f0087ff39ea9fecb2ad911019d0525f1e6285f6
2024-12-31 10:56:34 +08:00
Hilton Chain
5ce59e0413
build-system: zig: Support Zig package manager.
* guix/build-system/zig.scm (zig-build,zig-cross-build)
[#:install-source?,#:skip-build?]: New arguments.
[#:tests?]: Honor #:skip-build?.
* guix/build/zig-build-system.scm (zig-source-install-path)
(zig-input-install-path,unpack-dependencies): New procedures.
(%standard-phases): Add 'unpack-dependencies.
(build,install): Honor #:skip-build?.
* doc/guix.texi (Build Systems)[zig-build-system]: Update documentation.
* gnu/packages/zig.scm (zig-0.9)[native-search-paths]: Add
GUIX_ZIG_PACKAGE_PATH.
Use search paths defined in (guix search-paths).
(add-build.zig.zon,rename-zig-dependencies): New procedures.
* gnu/packages/ncdu.scm (ncdu)[arguments]: Don't install source.
* gnu/packages/zig-xyz.scm (river,tigerbeetle,zig-zls)[arguments]: Likewise.
2024-12-31 10:56:34 +08:00
Hilton Chain
3ef8c9307c
gnu: zig: Build reproducibly.
* guix/build/zig-utils.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/build-system/zig.scm (%zig-build-system-modules): Add it.
(zig-build,zig-cross-build): Add #:zig-build-target.
* guix/build/zig-build-system.scm (zig-target): Move to (guix build zig-utils).
(configure): Move to (guix build zig-utils) as zig-configure.
(build): Replace target with zig-build-target.
(%standard-phases): Adjust accordingly.
* gnu/packages/zig.scm (zig-0.9)[arguments]<#:imported-modules,#:modules>: Add
zig-build-system modules.
<#:configure-flags>: Set ZIG_TARGET_TRIPLE for native builds too.
Move applicable flags from zig-0.10 here.
<#:phases>: Apply 'zig-configure.
Unset ZIG_LIBC in 'check.
Remove 'set-cache-dir.
(zig-0.10)[arguments]<#:configure-flags>: Adjust accordingly.
(zig-0.10.0-610)[arguments]<#:configure-flags>: Remove ZIG_TARGET_TRIPLE.
2024-12-31 10:56:34 +08:00
Efraim Flashner
a6d9faf7dc
gnu: zig: Respect the PKG_CONFIG environment variable.
* gnu/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch:
New file.
* gnu/packages/patches/zig-0.10-build-respect-PKG_CONFIG-env-var.patch:
New file.
* gnu/packages/patches/zig-0.11-build-respect-PKG_CONFIG-env-var.patch:
New file.
* gnu/packages/patches/zig-0.12-build-respect-PKG_CONFIG-env-var.patch:
New file.
* gnu/packages/patches/zig-0.13-build-respect-PKG_CONFIG-env-var.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/zig.scm (zig-0.9,zig-0.10,zig-0.11,zig-0.12,zig-0.13)[source]:
Add patches.
* guix/build/zig-build-system.scm (configure): set PKG_CONFIG.

Change-Id: I0abf871c6990144fc472191bf1167aa2fc765161
Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-12-31 10:56:34 +08:00
Efraim Flashner
18b7fce25c
build/zig: Adjust the build triplets for some systems.
* guix/build/zig-build-system.scm (zig-target): New procedure.
(build): Use it to set the target when cross-compiling.

Change-Id: Ic82253ce899055526e894a0cb67738ddbb476574
Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-12-31 10:56:34 +08:00
Hilton Chain
6fc811d02a
build/zig: Really support cross compilation.
* guix/build/zig-build-system.scm (configure): New procedure.
(set-cc,set-zig-global-cache-dir): Delete procedures.
(%standard-phases): Adjust accordingly.

Change-Id: I08d15add2b249f7016f9cbb07f151ecf469fe656
2024-12-31 10:56:33 +08:00
Ekaitz Zarraga
4cafd86f77
build-system/zig: Add cross-compilation support.
* guix/build/zig-build-system.scm (zig-cross-build): New function
(lower): Add cross-compilation support
* guix/build-system/zig.scm (build): Add --target flag with target input
(check): Disable with cross compilation

Change-Id: I5f42ff897bfe00c92c6576900221a15ef210d669
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-07 16:56:00 +01:00
Ekaitz Zarraga
e011961f99
build-system: Add zig-build-system.
* guix/build-system/zig.scm: New file.
* guix/build/zig-build-system.scm: New file.
* Makefile.am: Add them.
* doc/guix.texi: Document it.
* etc/snippets/yas/scheme-mode/guix-package (build-system): Add
  zig-build-system.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-10-21 00:27:25 +02:00