summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-10-07 14:54:08 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-11-11 12:18:12 -0500
commit802307fe6f6ce5cb89addc9ab25b5e488c443575 (patch)
treeba6766ab0f4c2142ca77f03ffe8374b6b8668e0b /gnu
parent0136d815803632abdd7ffb743edab4017575ee92 (diff)
downloadguix-patches-802307fe6f6ce5cb89addc9ab25b5e488c443575.tar
guix-patches-802307fe6f6ce5cb89addc9ab25b5e488c443575.tar.gz
gnu: meson: Patch to allow installing to independent prefixes.
Meson goes to lengths at preventing installation to directories outside of the main installation prefix. This isn't convenient or desirable in Guix; patch it out using a patch maintained by Nix. * gnu/packages/patches/meson-allow-dirs-outside-of-prefix.patch: Add patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/build-tools.scm (meson): Use it.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/build-tools.scm4
-rw-r--r--gnu/packages/patches/meson-allow-dirs-outside-of-prefix.patch20
3 files changed, 24 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index cd92b825a3..3952795c3b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1468,6 +1468,7 @@ dist_patch_DATA = \
%D%/packages/patches/mesa-opencl-all-targets.patch \
%D%/packages/patches/mesa-skip-tests.patch \
%D%/packages/patches/mescc-tools-boot.patch \
+ %D%/packages/patches/meson-allow-dirs-outside-of-prefix.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/minetest-add-MINETEST_MOD_PATH.patch \
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index c92fe0b0c0..a02d1a7d80 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -272,7 +272,9 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz"))
(sha256
(base32
- "0v9m0bazhj48kwc8x3gkxg5c3kcvknvqfjlq22z6pm2h2r2nln6v"))))
+ "0v9m0bazhj48kwc8x3gkxg5c3kcvknvqfjlq22z6pm2h2r2nln6v"))
+ (patches (search-patches
+ "meson-allow-dirs-outside-of-prefix.patch"))))
(build-system python-build-system)
(arguments
`(;; FIXME: Tests require many additional inputs and patching many
diff --git a/gnu/packages/patches/meson-allow-dirs-outside-of-prefix.patch b/gnu/packages/patches/meson-allow-dirs-outside-of-prefix.patch
new file mode 100644
index 0000000000..f16daa8009
--- /dev/null
+++ b/gnu/packages/patches/meson-allow-dirs-outside-of-prefix.patch
@@ -0,0 +1,20 @@
+Source: https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
+--- a/mesonbuild/coredata.py
++++ b/mesonbuild/coredata.py
+@@ -506,7 +506,6 @@ class CoreData:
+ return value
+ if option.name.endswith('dir') and value.is_absolute() and \
+ option not in BULITIN_DIR_NOPREFIX_OPTIONS:
+- # Value must be a subdir of the prefix
+ # commonpath will always return a path in the native format, so we
+ # must use pathlib.PurePath to do the same conversion before
+ # comparing.
+@@ -518,7 +517,7 @@ class CoreData:
+ try:
+ value = value.relative_to(prefix)
+ except ValueError:
+- raise MesonException(msg.format(option, value, prefix))
++ pass
+ if '..' in str(value):
+ raise MesonException(msg.format(option, value, prefix))
+ return value.as_posix()