aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch
blob: a1b41fcc55803dbc0043d60fa98b668ca739712d (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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