summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/cproc-extra-linkflags.patch
diff options
context:
space:
mode:
authorSören Tempel <soeren+git@soeren-tempel.net>2025-09-26 20:50:30 +0200
committerLudovic Courtès <ludo@gnu.org>2025-10-06 10:38:11 +0200
commit5da19d7eff5ab3c0ed967a9837a87129b04d005e (patch)
tree38b3b588910e71268044eae1907e5e17aaef2362 /gnu/packages/patches/cproc-extra-linkflags.patch
parent6bdc69c618c599d61af6084dc9c3986cd66deb28 (diff)
gnu: cproc: Refer to invoked programs by full path.
* gnu/packages/c.scm (cproc)[arguments]: Add phase to set glibc dir. [arguments]: Properly specify program inputs in 'configure phase. * gnu/packages/patches/cproc-extra-linkflags.patch: New patch. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/patches/cproc-extra-linkflags.patch')
-rw-r--r--gnu/packages/patches/cproc-extra-linkflags.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/gnu/packages/patches/cproc-extra-linkflags.patch b/gnu/packages/patches/cproc-extra-linkflags.patch
new file mode 100644
index 0000000000..493b35624e
--- /dev/null
+++ b/gnu/packages/patches/cproc-extra-linkflags.patch
@@ -0,0 +1,18 @@
+Contrary to other Linux distributions, the glibc library files are not in the
+standard ld(1) search path on Guix. However, cproc only allows us to specify
+the gcclibdir. To workaround that we manually add a feature to cproc's
+configure script which allows us to pass extra linkflags via an environment
+variable.
+
+diff --git a/configure b/configure
+index dab1bf3..a31b456 100755
+--- a/configure
++++ b/configure
+@@ -159,7 +159,7 @@ static const char *const preprocesscmd[] = {
+ $defines};
+ static const char *const codegencmd[] = {"$DEFAULT_QBE"};
+ static const char *const assemblecmd[] = {"$DEFAULT_ASSEMBLER"};
+-static const char *const linkcmd[] = {"$DEFAULT_LINKER", $linkflags};
++static const char *const linkcmd[] = {"$DEFAULT_LINKER", ${LINKFLAGS_EXTRA:+\"$LINKFLAGS_EXTRA\", }$linkflags};
+ EOF
+ echo done