diff options
author | Luca Bruno <lucabru@src.gnome.org> | 2014-08-14 22:59:24 +0200 |
---|---|---|
committer | Luca Bruno <lucabru@src.gnome.org> | 2014-08-14 23:16:51 +0200 |
commit | 36bef2b26731a9580260fd24d18c90dbecd5eb22 (patch) | |
tree | bd8b332ec19dcf9e447761d38837961c952fe6b1 /pkgs/development | |
parent | b83aceaecb7e2d5150a1ba62b9c4bed50dd7fb04 (diff) | |
download | nixpkgs-36bef2b26731a9580260fd24d18c90dbecd5eb22.tar nixpkgs-36bef2b26731a9580260fd24d18c90dbecd5eb22.tar.gz nixpkgs-36bef2b26731a9580260fd24d18c90dbecd5eb22.tar.bz2 nixpkgs-36bef2b26731a9580260fd24d18c90dbecd5eb22.tar.lz nixpkgs-36bef2b26731a9580260fd24d18c90dbecd5eb22.tar.xz nixpkgs-36bef2b26731a9580260fd24d18c90dbecd5eb22.tar.zst nixpkgs-36bef2b26731a9580260fd24d18c90dbecd5eb22.zip |
gobject-introspection: refer to shlibs with absolute paths in typelibs
After this, LD_LIBRARY_PATH should not be required anymore. The patch has been applied only for .la files, so there may be some other cases missing.
Diffstat (limited to 'pkgs/development')
3 files changed, 27 insertions, 1 deletions
diff --git a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch new file mode 100644 index 00000000000..04bcc42a032 --- /dev/null +++ b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch @@ -0,0 +1,25 @@ +--- ./giscanner/utils.py.orig 2014-08-14 22:05:05.055334080 +0200 ++++ ./giscanner/utils.py 2014-08-14 22:05:24.687497334 +0200 +@@ -110,17 +110,11 @@ + if dlname is None: + return None + +- # Darwin uses absolute paths where possible; since the libtool files never +- # contain absolute paths, use the libdir field +- if platform.system() == 'Darwin': +- dlbasename = os.path.basename(dlname) +- libdir = _extract_libdir_field(la_file) +- if libdir is None: +- return dlbasename +- return libdir + '/' + dlbasename +- # From the comments in extract_libtool(), older libtools had +- # a path rather than the raw dlname +- return os.path.basename(dlname) ++ dlbasename = os.path.basename(dlname) ++ libdir = _extract_libdir_field(la_file) ++ if libdir is None: ++ return dlbasename ++ return libdir + '/' + dlbasename + + + def extract_libtool(la_file): diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index 7686fb30838..4b7ec1f4116 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -29,6 +29,8 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; + patches = [ ./absolute_shlib_path.patch ]; + meta = with stdenv.lib; { description = "A middleware layer between C libraries and language bindings"; homepage = http://live.gnome.org/GObjectIntrospection; diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix index 852c1b74219..df5fdbfab5a 100644 --- a/pkgs/development/tools/misc/d-feet/default.nix +++ b/pkgs/development/tools/misc/d-feet/default.nix @@ -26,7 +26,6 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/d-feet \ --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH : "${gtk3}/lib:${atk}/lib:${libwnck3}/lib" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share" rm $out/share/icons/hicolor/icon-theme.cache |