Package: meson
Version: 0.54.1-1
Severity: important
Tags: patch upstream
User: [email protected]
Usertags: ftcbfs
Control: affects -1 + src:deltachat-core
When one passes --libdir and --cross-file to meson, meson thinks it
knows better than the user and overrides the libdir with plain "lib".
Setting a libdir from the crossfile does not work either. It gets
ignores in the same way.
An example failing log can be seen at:
http://crossqa.debian.net/build/deltachat-core_0.45.0+ds-1_armhf_20200504062822.log
I'm attaching a patch that reverts the uptsream hack that causes the
breakage. I think that reverting the breakage and solving it properly
with more time is in order. Doing so reopens
https://github.com/mesonbuild/meson/issues/2535, but that can be worked
around by adding a libdir to the crossfile (which seems like a good idea
in any case).
Helmut
--- meson-0.54.1.orig/mesonbuild/coredata.py
+++ meson-0.54.1/mesonbuild/coredata.py
@@ -441,13 +441,6 @@
raise MesonException('Cannot find specified {} file: {}'.format(ftype, f))
return real
- def libdir_cross_fixup(self):
- # By default set libdir to "lib" when cross compiling since
- # getting the "system default" is always wrong on multiarch
- # platforms as it gets a value like lib/x86_64-linux-gnu.
- if self.cross_files:
- self.builtins['libdir'].value = 'lib'
-
def sanitize_prefix(self, prefix):
prefix = os.path.expanduser(prefix)
if not os.path.isabs(prefix):
@@ -507,7 +500,6 @@
for for_machine in iter(MachineChoice):
for key, opt in builtin_options_per_machine.items():
self.add_builtin_option(self.builtins_per_machine[for_machine], key, opt, subproject)
- self.libdir_cross_fixup()
def add_builtin_option(self, opts_map, key, opt, subproject):
if subproject: