mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-25 20:19:18 -05:00
gnu: zig: Build with baseline cpu by default.
* gnu/packages/patches/zig-use-baseline-cpu-by-default.patch: Add file. * gnu/packages/zig.scm (zig-0.10.1): Apply patch above. * gnu/local/mk (dist_patch_DATA): Register it. Change-Id: I40bd28071c97c0dd0a907c704072b52b26d2de28 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
This commit is contained in:
parent
766946d663
commit
a8a7153996
3 changed files with 39 additions and 1 deletions
|
@ -2177,6 +2177,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/yggdrasil-extra-config.patch \
|
%D%/packages/patches/yggdrasil-extra-config.patch \
|
||||||
%D%/packages/patches/zig-0.9-riscv-support.patch \
|
%D%/packages/patches/zig-0.9-riscv-support.patch \
|
||||||
%D%/packages/patches/zig-do-not-link-against-librt.patch \
|
%D%/packages/patches/zig-do-not-link-against-librt.patch \
|
||||||
|
%D%/packages/patches/zig-use-baseline-cpu-by-default.patch \
|
||||||
%D%/packages/patches/zig-use-system-paths.patch \
|
%D%/packages/patches/zig-use-system-paths.patch \
|
||||||
%D%/packages/patches/zsh-egrep-failing-test.patch
|
%D%/packages/patches/zsh-egrep-failing-test.patch
|
||||||
|
|
||||||
|
|
36
gnu/packages/patches/zig-use-baseline-cpu-by-default.patch
Normal file
36
gnu/packages/patches/zig-use-baseline-cpu-by-default.patch
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
From 1dc188129950031243c5a0c80ec2562fab8ec549 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||||
|
Date: Sat, 18 Nov 2023 15:04:16 +0100
|
||||||
|
Subject: [PATCH] Use `baseline` cpu by default.
|
||||||
|
|
||||||
|
This helps Guix tune the package later. Tunning will only add
|
||||||
|
`-Dcpu=whatever` which should override the standard behaviour.
|
||||||
|
|
||||||
|
Zig by default uses `native`, which interferes with our build process.
|
||||||
|
In our previous zig-build-system we chose to add `-Dcpu=baseline` flag
|
||||||
|
in each `zig build` execution, but that doesn't allow us to tune the
|
||||||
|
package later. Tunning is only designed to add extra flags in the
|
||||||
|
command line call, and we already had one set for the baseline case.
|
||||||
|
With this patch we set the standard behavior to `baseline` so we don't
|
||||||
|
need to add the `-Dcpu=baseline` flag in the zig-build-system and we can
|
||||||
|
tune with no issues.
|
||||||
|
---
|
||||||
|
lib/std/zig/CrossTarget.zig | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/lib/std/zig/CrossTarget.zig b/lib/std/zig/CrossTarget.zig
|
||||||
|
index 6c59a4a3a..f5ec065fe 100644
|
||||||
|
--- a/lib/std/zig/CrossTarget.zig
|
||||||
|
+++ b/lib/std/zig/CrossTarget.zig
|
||||||
|
@@ -12,7 +12,7 @@ const mem = std.mem;
|
||||||
|
/// `null` means native.
|
||||||
|
cpu_arch: ?Target.Cpu.Arch = null,
|
||||||
|
|
||||||
|
-cpu_model: CpuModel = CpuModel.determined_by_cpu_arch,
|
||||||
|
+cpu_model: CpuModel = CpuModel.baseline,
|
||||||
|
|
||||||
|
/// Sparse set of CPU features to add to the set from `cpu_model`.
|
||||||
|
cpu_features_add: Target.Cpu.Feature.Set = Target.Cpu.Feature.Set.empty,
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
|
@ -146,7 +146,8 @@ (define-public zig-0.10
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b"))
|
(base32 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b"))
|
||||||
(patches (search-patches "zig-do-not-link-against-librt.patch"))))
|
(patches (search-patches "zig-do-not-link-against-librt.patch"
|
||||||
|
"zig-use-baseline-cpu-by-default.patch"))))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments zig-0.9)
|
(substitute-keyword-arguments (package-arguments zig-0.9)
|
||||||
((#:configure-flags flags ''())
|
((#:configure-flags flags ''())
|
||||||
|
|
Loading…
Reference in a new issue