mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
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>
This commit is contained in:
parent
18b7fce25c
commit
a6d9faf7dc
8 changed files with 255 additions and 0 deletions
|
@ -2413,21 +2413,26 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/xygrib-fix-finding-data.patch \
|
||||
%D%/packages/patches/xygrib-newer-proj.patch \
|
||||
%D%/packages/patches/yggdrasil-extra-config.patch \
|
||||
%D%/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch \
|
||||
%D%/packages/patches/zig-0.9-fix-runpath.patch \
|
||||
%D%/packages/patches/zig-0.9-riscv-support.patch \
|
||||
%D%/packages/patches/zig-0.9-use-baseline-cpu-by-default.patch \
|
||||
%D%/packages/patches/zig-0.9-use-system-paths.patch \
|
||||
%D%/packages/patches/zig-0.10-build-respect-PKG_CONFIG-env-var.patch \
|
||||
%D%/packages/patches/zig-0.10-fix-runpath.patch \
|
||||
%D%/packages/patches/zig-0.10-use-system-paths.patch \
|
||||
%D%/packages/patches/zig-0.10.0-610-bootstrap-resolve-conflicts.patch \
|
||||
%D%/packages/patches/zig-0.10.0-675-TypeOf-hack.patch \
|
||||
%D%/packages/patches/zig-0.10.0-747-CallOptions.patch \
|
||||
%D%/packages/patches/zig-0.10.0-1638-re-add-qualCast.patch \
|
||||
%D%/packages/patches/zig-0.11-build-respect-PKG_CONFIG-env-var.patch \
|
||||
%D%/packages/patches/zig-0.11-fix-runpath.patch \
|
||||
%D%/packages/patches/zig-0.11-use-system-paths.patch \
|
||||
%D%/packages/patches/zig-0.12-build-respect-PKG_CONFIG-env-var.patch \
|
||||
%D%/packages/patches/zig-0.12-fix-runpath.patch \
|
||||
%D%/packages/patches/zig-0.12-use-baseline-cpu-by-default.patch \
|
||||
%D%/packages/patches/zig-0.12-use-system-paths.patch \
|
||||
%D%/packages/patches/zig-0.13-build-respect-PKG_CONFIG-env-var.patch \
|
||||
%D%/packages/patches/zig-0.13-fix-runpath.patch \
|
||||
%D%/packages/patches/zsh-egrep-failing-test.patch \
|
||||
%D%/packages/patches/zuo-bin-sh.patch
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
From eb630302e42f4f565d44f9894c5ab832b99267e2 Mon Sep 17 00:00:00 2001
|
||||
From: Hilton Chain <hako@ultrarare.space>
|
||||
Date: Sun, 17 Nov 2024 18:08:21 +0800
|
||||
Subject: [PATCH 1/5] zig build: respect `PKG_CONFIG` environment variable
|
||||
|
||||
[Upstream commit: d263f1ec0eb988f0e4ed1859351f5040f590996b]
|
||||
|
||||
`PKG_CONFIG` environment variable is used to override path to
|
||||
pkg-config executable, for example when it's name is prepended by
|
||||
target triple for cross-compilation purposes:
|
||||
|
||||
```
|
||||
PKG_CONFIG=/usr/bin/aarch64-unknown-linux-gnu-pkgconf zig build
|
||||
```
|
||||
|
||||
Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
|
||||
---
|
||||
lib/std/build.zig | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/std/build.zig b/lib/std/build.zig
|
||||
index 1b9a61beb6..2fa6afa12d 100644
|
||||
--- a/lib/std/build.zig
|
||||
+++ b/lib/std/build.zig
|
||||
@@ -1284,7 +1284,8 @@ pub const Builder = struct {
|
||||
}
|
||||
|
||||
fn execPkgConfigList(self: *Builder, out_code: *u8) (PkgConfigError || ExecError)![]const PkgConfigPkg {
|
||||
- const stdout = try self.execAllowFail(&[_][]const u8{ "pkg-config", "--list-all" }, out_code, .Ignore);
|
||||
+ const pkg_config_exe = self.env_map.get("PKG_CONFIG") orelse "pkg-config";
|
||||
+ const stdout = try self.execAllowFail(&[_][]const u8{ pkg_config_exe, "--list-all" }, out_code, .Ignore);
|
||||
var list = ArrayList(PkgConfigPkg).init(self.allocator);
|
||||
errdefer list.deinit();
|
||||
var line_it = mem.tokenize(u8, stdout, "\r\n");
|
||||
@@ -2113,8 +2114,9 @@ pub const LibExeObjStep = struct {
|
||||
};
|
||||
|
||||
var code: u8 = undefined;
|
||||
+ const pkg_config_exe = self.builder.env_map.get("PKG_CONFIG") orelse "pkg-config";
|
||||
const stdout = if (self.builder.execAllowFail(&[_][]const u8{
|
||||
- "pkg-config",
|
||||
+ pkg_config_exe,
|
||||
pkg_name,
|
||||
"--cflags",
|
||||
"--libs",
|
||||
--
|
||||
2.46.0
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
From 0cdc9eedd666478ab6d0ca168ea7f7da91f94f2b Mon Sep 17 00:00:00 2001
|
||||
From: Eric Joldasov <bratishkaerik@landless-city.net>
|
||||
Date: Wed, 8 May 2024 23:21:34 +0500
|
||||
Subject: [PATCH 1/5] zig build: respect `PKG_CONFIG` environment variable
|
||||
|
||||
[Upstream commit: d263f1ec0eb988f0e4ed1859351f5040f590996b]
|
||||
|
||||
`PKG_CONFIG` environment variable is used to override path to
|
||||
pkg-config executable, for example when it's name is prepended by
|
||||
target triple for cross-compilation purposes:
|
||||
|
||||
```
|
||||
PKG_CONFIG=/usr/bin/aarch64-unknown-linux-gnu-pkgconf zig build
|
||||
```
|
||||
|
||||
Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
|
||||
---
|
||||
lib/std/Build/Step/Compile.zig | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig
|
||||
index 335a7e2df7..1def445ef0 100644
|
||||
--- a/lib/std/Build/Step/Compile.zig
|
||||
+++ b/lib/std/Build/Step/Compile.zig
|
||||
@@ -792,8 +792,9 @@ fn runPkgConfig(self: *Compile, lib_name: []const u8) ![]const []const u8 {
|
||||
};
|
||||
|
||||
var code: u8 = undefined;
|
||||
+ const pkg_config_exe = b.env_map.get("PKG_CONFIG") orelse "pkg-config";
|
||||
const stdout = if (b.execAllowFail(&[_][]const u8{
|
||||
- "pkg-config",
|
||||
+ pkg_config_exe,
|
||||
pkg_name,
|
||||
"--cflags",
|
||||
"--libs",
|
||||
@@ -2147,7 +2148,8 @@ pub fn doAtomicSymLinks(
|
||||
}
|
||||
|
||||
fn execPkgConfigList(self: *std.Build, out_code: *u8) (PkgConfigError || ExecError)![]const PkgConfigPkg {
|
||||
- const stdout = try self.execAllowFail(&[_][]const u8{ "pkg-config", "--list-all" }, out_code, .Ignore);
|
||||
+ const pkg_config_exe = self.env_map.get("PKG_CONFIG") orelse "pkg-config";
|
||||
+ const stdout = try self.execAllowFail(&[_][]const u8{ pkg_config_exe, "--list-all" }, out_code, .Ignore);
|
||||
var list = ArrayList(PkgConfigPkg).init(self.allocator);
|
||||
errdefer list.deinit();
|
||||
var line_it = mem.tokenizeAny(u8, stdout, "\r\n");
|
||||
--
|
||||
2.46.0
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
From 80c90add63c44f2e06c73c13400d044a81078602 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Joldasov <bratishkaerik@landless-city.net>
|
||||
Date: Wed, 8 May 2024 23:21:34 +0500
|
||||
Subject: [PATCH 1/5] zig build: respect `PKG_CONFIG` environment variable
|
||||
|
||||
[Upstream commit: d263f1ec0eb988f0e4ed1859351f5040f590996b]
|
||||
|
||||
`PKG_CONFIG` environment variable is used to override path to
|
||||
pkg-config executable, for example when it's name is prepended by
|
||||
target triple for cross-compilation purposes:
|
||||
|
||||
```
|
||||
PKG_CONFIG=/usr/bin/aarch64-unknown-linux-gnu-pkgconf zig build
|
||||
```
|
||||
|
||||
Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
|
||||
---
|
||||
lib/std/Build/Step/Compile.zig | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig
|
||||
index 5bf0805e79..58ff3a0df6 100644
|
||||
--- a/lib/std/Build/Step/Compile.zig
|
||||
+++ b/lib/std/Build/Step/Compile.zig
|
||||
@@ -703,8 +703,9 @@ fn runPkgConfig(self: *Compile, lib_name: []const u8) !PkgConfigResult {
|
||||
};
|
||||
|
||||
var code: u8 = undefined;
|
||||
+ const pkg_config_exe = b.graph.env_map.get("PKG_CONFIG") orelse "pkg-config";
|
||||
const stdout = if (b.runAllowFail(&[_][]const u8{
|
||||
- "pkg-config",
|
||||
+ pkg_config_exe,
|
||||
pkg_name,
|
||||
"--cflags",
|
||||
"--libs",
|
||||
@@ -1824,7 +1825,8 @@ pub fn doAtomicSymLinks(
|
||||
}
|
||||
|
||||
fn execPkgConfigList(self: *std.Build, out_code: *u8) (PkgConfigError || RunError)![]const PkgConfigPkg {
|
||||
- const stdout = try self.runAllowFail(&[_][]const u8{ "pkg-config", "--list-all" }, out_code, .Ignore);
|
||||
+ const pkg_config_exe = self.graph.env_map.get("PKG_CONFIG") orelse "pkg-config";
|
||||
+ const stdout = try self.runAllowFail(&[_][]const u8{ pkg_config_exe, "--list-all" }, out_code, .Ignore);
|
||||
var list = ArrayList(PkgConfigPkg).init(self.allocator);
|
||||
errdefer list.deinit();
|
||||
var line_it = mem.tokenizeAny(u8, stdout, "\r\n");
|
||||
--
|
||||
2.46.0
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
From adc58a23c88f3f2004993043e36d72950fd12d00 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Joldasov <bratishkaerik@landless-city.net>
|
||||
Date: Wed, 8 May 2024 23:21:34 +0500
|
||||
Subject: [PATCH] zig build: respect `PKG_CONFIG` environment variable
|
||||
|
||||
[Upstream commit: d263f1ec0eb988f0e4ed1859351f5040f590996b.]
|
||||
|
||||
`PKG_CONFIG` environment variable is used to override path to
|
||||
pkg-config executable, for example when it's name is prepended by
|
||||
target triple for cross-compilation purposes:
|
||||
|
||||
```
|
||||
PKG_CONFIG=/usr/bin/aarch64-unknown-linux-gnu-pkgconf zig build
|
||||
```
|
||||
|
||||
Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
|
||||
---
|
||||
lib/std/Build/Step/Compile.zig | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig
|
||||
index d18d8de413..fdc641f802 100644
|
||||
--- a/lib/std/Build/Step/Compile.zig
|
||||
+++ b/lib/std/Build/Step/Compile.zig
|
||||
@@ -701,8 +701,9 @@ fn runPkgConfig(compile: *Compile, lib_name: []const u8) !PkgConfigResult {
|
||||
};
|
||||
|
||||
var code: u8 = undefined;
|
||||
+ const pkg_config_exe = b.graph.env_map.get("PKG_CONFIG") orelse "pkg-config";
|
||||
const stdout = if (b.runAllowFail(&[_][]const u8{
|
||||
- "pkg-config",
|
||||
+ pkg_config_exe,
|
||||
pkg_name,
|
||||
"--cflags",
|
||||
"--libs",
|
||||
@@ -1823,7 +1824,8 @@ pub fn doAtomicSymLinks(
|
||||
}
|
||||
|
||||
fn execPkgConfigList(compile: *std.Build, out_code: *u8) (PkgConfigError || RunError)![]const PkgConfigPkg {
|
||||
- const stdout = try compile.runAllowFail(&[_][]const u8{ "pkg-config", "--list-all" }, out_code, .Ignore);
|
||||
+ const pkg_config_exe = compile.graph.env_map.get("PKG_CONFIG") orelse "pkg-config";
|
||||
+ const stdout = try compile.runAllowFail(&[_][]const u8{ pkg_config_exe, "--list-all" }, out_code, .Ignore);
|
||||
var list = ArrayList(PkgConfigPkg).init(compile.allocator);
|
||||
errdefer list.deinit();
|
||||
var line_it = mem.tokenizeAny(u8, stdout, "\r\n");
|
||||
--
|
||||
2.46.0
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
From 302d9fe6de6572f82c77c63585f77edb858197d7 Mon Sep 17 00:00:00 2001
|
||||
From: Hilton Chain <hako@ultrarare.space>
|
||||
Date: Sun, 17 Nov 2024 18:08:21 +0800
|
||||
Subject: [PATCH 1/5] zig build: respect `PKG_CONFIG` environment variable
|
||||
|
||||
[Upstream commit: d263f1ec0eb988f0e4ed1859351f5040f590996b]
|
||||
|
||||
`PKG_CONFIG` environment variable is used to override path to
|
||||
pkg-config executable, for example when it's name is prepended by
|
||||
target triple for cross-compilation purposes:
|
||||
|
||||
```
|
||||
PKG_CONFIG=/usr/bin/aarch64-unknown-linux-gnu-pkgconf zig build
|
||||
```
|
||||
|
||||
Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
|
||||
---
|
||||
lib/std/build.zig | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/std/build.zig b/lib/std/build.zig
|
||||
index 8eda542d6e..e44093bde4 100644
|
||||
--- a/lib/std/build.zig
|
||||
+++ b/lib/std/build.zig
|
||||
@@ -1265,7 +1265,8 @@ pub const Builder = struct {
|
||||
}
|
||||
|
||||
fn execPkgConfigList(self: *Builder, out_code: *u8) ![]const PkgConfigPkg {
|
||||
- const stdout = try self.execAllowFail(&[_][]const u8{ "pkg-config", "--list-all" }, out_code, .Ignore);
|
||||
+ const pkg_config_exe = self.env_map.get("PKG_CONFIG") orelse "pkg-config";
|
||||
+ const stdout = try self.execAllowFail(&[_][]const u8{ pkg_config_exe, "--list-all" }, out_code, .Ignore);
|
||||
var list = ArrayList(PkgConfigPkg).init(self.allocator);
|
||||
errdefer list.deinit();
|
||||
var line_it = mem.tokenize(u8, stdout, "\r\n");
|
||||
@@ -1932,8 +1933,9 @@ pub const LibExeObjStep = struct {
|
||||
};
|
||||
|
||||
var code: u8 = undefined;
|
||||
+ const pkg_config_exe = self.builder.env_map.get("PKG_CONFIG") orelse "pkg-config";
|
||||
const stdout = if (self.builder.execAllowFail(&[_][]const u8{
|
||||
- "pkg-config",
|
||||
+ pkg_config_exe,
|
||||
pkg_name,
|
||||
"--cflags",
|
||||
"--libs",
|
||||
--
|
||||
2.46.0
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"0nfvgg23sw50ksy0z0ml6lkdsvmd0278mq29m23dbb2jsirkhry7"))
|
||||
(patches
|
||||
(search-patches
|
||||
"zig-0.9-build-respect-PKG_CONFIG-env-var.patch"
|
||||
"zig-0.9-riscv-support.patch"
|
||||
"zig-0.9-use-baseline-cpu-by-default.patch"
|
||||
"zig-0.9-use-system-paths.patch"
|
||||
|
@ -212,6 +213,7 @@ toolchain. Among other features it provides
|
|||
"1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b"))
|
||||
(patches
|
||||
(search-patches
|
||||
"zig-0.10-build-respect-PKG_CONFIG-env-var.patch"
|
||||
"zig-0.9-use-baseline-cpu-by-default.patch"
|
||||
"zig-0.10-use-system-paths.patch"
|
||||
"zig-0.10-fix-runpath.patch"))))
|
||||
|
@ -1116,6 +1118,7 @@ toolchain. Among other features it provides
|
|||
"0qh7c27cd4wcdjj0mbpkarvwypfk1js8hkyxs0z149qv75zkbrca"))
|
||||
(patches
|
||||
(search-patches
|
||||
"zig-0.11-build-respect-PKG_CONFIG-env-var.patch"
|
||||
"zig-0.9-use-baseline-cpu-by-default.patch"
|
||||
"zig-0.11-use-system-paths.patch"
|
||||
"zig-0.11-fix-runpath.patch"))))
|
||||
|
@ -1467,6 +1470,7 @@ toolchain. Among other features it provides
|
|||
"0ssgfrsk116p16rwjwq1z2pvvcdij6s30s19bhzjms7maz4s77hb"))
|
||||
(patches
|
||||
(search-patches
|
||||
"zig-0.12-build-respect-PKG_CONFIG-env-var.patch"
|
||||
"zig-0.12-use-baseline-cpu-by-default.patch"
|
||||
"zig-0.12-use-system-paths.patch"
|
||||
"zig-0.12-fix-runpath.patch"))))
|
||||
|
@ -1548,6 +1552,7 @@ toolchain. Among other features it provides
|
|||
"0ly8042lbsa8019g0d1jg4l06rxpq2530n9mijq66n4lmx7a5976"))
|
||||
(patches
|
||||
(search-patches
|
||||
"zig-0.13-build-respect-PKG_CONFIG-env-var.patch"
|
||||
"zig-0.12-use-baseline-cpu-by-default.patch"
|
||||
"zig-0.12-use-system-paths.patch"
|
||||
"zig-0.13-fix-runpath.patch"))))
|
||||
|
|
|
@ -39,6 +39,11 @@
|
|||
;; Set cache dir, otherwise Zig looks for `$HOME/.cache'.
|
||||
(setenv "ZIG_GLOBAL_CACHE_DIR" global-cache-dir)
|
||||
|
||||
(setenv "PKG_CONFIG"
|
||||
(if target
|
||||
(string-append target "-pkg-config")
|
||||
"pkg-config"))
|
||||
|
||||
;; Libc paths for target.
|
||||
(let ((libc (assoc-ref inputs (if target "cross-libc" "libc")))
|
||||
(port (open-file "/tmp/guix-zig-libc-paths" "w" #:encoding "utf8")))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue