lol

Merge #31453: meson: library install paths for g-ir-scanner

+22
+9
pkgs/development/tools/build-managers/meson/default.nix
··· 18 18 popd 19 19 ''; 20 20 21 + patches = [ 22 + # Unlike libtool, vanilla Meson does not pass any information 23 + # about the path library will be installed to to g-ir-scanner, 24 + # breaking the GIR when path other than ${!outputLib}/lib is used. 25 + # We patch Meson to add a --fallback-library-path argument with 26 + # library install_dir to g-ir-scanner. 27 + ./gir-fallback-path.patch 28 + ]; 29 + 21 30 postPatch = '' 22 31 sed -i -e 's|e.fix_rpath(install_rpath)||' mesonbuild/scripts/meson_install.py 23 32 '';
+13
pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
··· 1 + --- a/mesonbuild/modules/gnome.py 2 + +++ b/mesonbuild/modules/gnome.py 3 + @@ -427,6 +427,10 @@ 4 + scan_command += ['--no-libtool', '--namespace=' + ns, '--nsversion=' + nsversion, '--warn-all', 5 + '--output', '@OUTPUT@'] 6 + 7 + + fallback_libpath = girtarget.get_custom_install_dir()[0] 8 + + if fallback_libpath is not None and isinstance(fallback_libpath, str) and len(fallback_libpath) > 0 and fallback_libpath[0] == "/": 9 + + scan_command += ['--fallback-library-path=' + fallback_libpath] 10 + + 11 + header = kwargs.pop('header', None) 12 + if header: 13 + if not isinstance(header, str):