Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 337e900c3dea
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 658951917437
Choose a head ref
  • 2 commits
  • 2 files changed
  • 2 contributors

Commits on Nov 9, 2017

  1. meson: pass library install paths to g-ir-scanner

    We are patching g-ir-scanner to produce absolute paths in the GIR
    files. When an application uses an internal library placed in a
    non-standard path (e.g. $out/lib/gnome-shell), the scanner needs
    to be informed. For autotools-based apps, the full path was
    obtained from libtool-wrapped files; with Meson, this is no longer
    possible – we need to pass the path information in some other way.
    
    This commit channels the --fallback-library-path option added
    to g-ir-scanner in aforementioned patch.
    jtojnar committed Nov 9, 2017
    Copy the full SHA
    1dba3c0 View commit details

Commits on Nov 27, 2017

  1. Copy the full SHA
    6589519 View commit details
Showing with 22 additions and 0 deletions.
  1. +9 −0 pkgs/development/tools/build-managers/meson/default.nix
  2. +13 −0 pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
9 changes: 9 additions & 0 deletions pkgs/development/tools/build-managers/meson/default.nix
Original file line number Diff line number Diff line change
@@ -18,6 +18,15 @@ python3Packages.buildPythonApplication rec {
popd
'';

patches = [
# 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.
# We patch Meson to add a --fallback-library-path argument with
# library install_dir to g-ir-scanner.
./gir-fallback-path.patch
];

postPatch = ''
sed -i -e 's|e.fix_rpath(install_rpath)||' mesonbuild/scripts/meson_install.py
'';
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -427,6 +427,10 @@
scan_command += ['--no-libtool', '--namespace=' + ns, '--nsversion=' + nsversion, '--warn-all',
'--output', '@OUTPUT@']

+ fallback_libpath = girtarget.get_custom_install_dir()[0]
+ if fallback_libpath is not None and isinstance(fallback_libpath, str) and len(fallback_libpath) > 0 and fallback_libpath[0] == "/":
+ scan_command += ['--fallback-library-path=' + fallback_libpath]
+
header = kwargs.pop('header', None)
if header:
if not isinstance(header, str):