meson: allow dirs outside of prefix
Upstream insists on not allowing bindir and other dir options outside of prefix for some reason: https://github.com/mesonbuild/meson/issues/2561 We remove the check so multiple outputs can work sanely.
This commit is contained in:
parent
de75940953
commit
fe73013e7d
2 changed files with 31 additions and 0 deletions
|
@ -0,0 +1,25 @@
|
|||
--- a/mesonbuild/coredata.py
|
||||
+++ b/mesonbuild/coredata.py
|
||||
@@ -266,18 +266,13 @@
|
||||
'''
|
||||
if option.endswith('dir') and os.path.isabs(value) and \
|
||||
option not in builtin_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.
|
||||
- if commonpath([value, prefix]) != str(PurePath(prefix)):
|
||||
- m = 'The value of the {!r} option is {!r} which must be a ' \
|
||||
- 'subdir of the prefix {!r}.\nNote that if you pass a ' \
|
||||
- 'relative path, it is assumed to be a subdir of prefix.'
|
||||
- raise MesonException(m.format(option, value, prefix))
|
||||
- # Convert path to be relative to prefix
|
||||
- skip = len(prefix) + 1
|
||||
- value = value[skip:]
|
||||
+ if commonpath([value, prefix]) == str(PurePath(prefix)):
|
||||
+ # Convert path to be relative to prefix
|
||||
+ skip = len(prefix) + 1
|
||||
+ value = value[skip:]
|
||||
return value
|
||||
|
||||
def init_builtins(self, options):
|
|
@ -21,6 +21,12 @@ in python3Packages.buildPythonApplication rec {
|
|||
'';
|
||||
|
||||
patches = [
|
||||
# Upstream insists on not allowing bindir and other dir options
|
||||
# outside of prefix for some reason:
|
||||
# https://github.com/mesonbuild/meson/issues/2561
|
||||
# We remove the check so multiple outputs can work sanely.
|
||||
./allow-dirs-outside-of-prefix.patch
|
||||
|
||||
# Unlike libtool, vanilla Meson does not pass any information
|
||||
# about the path library will be installed to to g-ir-scanner,
|
||||
# breaking the GIR when path other than ${!outputLib}/lib is used.
|
||||
|
|
Loading…
Reference in a new issue