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.

+30 -24
-1
pkgs/applications/networking/newsreaders/liferea/default.nix
··· 33 33 for f in "$out"/bin/*; do 34 34 wrapProgram "$f" \ 35 35 --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \ 36 - --prefix LD_LIBRARY_PATH : "${gnome3.libgnome_keyring}/lib" \ 37 36 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ 38 37 --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking}/lib/gio/modules" \ 39 38 --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
-1
pkgs/applications/virtualization/virt-manager/default.nix
··· 51 51 --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \ 52 52 --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" \ 53 53 --prefix GSETTINGS_SCHEMA_DIR : $out/share/glib-2.0/schemas \ 54 - --prefix LD_LIBRARY_PATH : ${gtk3}/lib/:${libvirt-glib}/lib/:${vte}/lib:${gtkvnc}/lib${optionalString spiceSupport ":${spice_gtk}/lib"} \ 55 54 --prefix XDG_DATA_DIRS : "$out/share:${gsettings_desktop_schemas}/share:${gtk3}/share:$GSETTINGS_SCHEMAS_PATH:\$XDG_DATA_DIRS" 56 55 done 57 56
-1
pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
··· 25 25 wrapProgram "$out/bin/gedit" \ 26 26 --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ 27 27 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ 28 - --prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib" \ 29 28 --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" 30 29 ''; 31 30
+1 -7
pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
··· 28 28 29 29 enableParallelBuilding = true; 30 30 31 - preFixup = 32 - let 33 - libPath = stdenv.lib.makeLibraryPath 34 - [ evince gtk3 gnome3.tracker gnome3.gnome_online_accounts ]; 35 - in 36 - '' 31 + preFixup = '' 37 32 substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication" 38 33 wrapProgram "$out/bin/gnome-documents" \ 39 34 --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ 40 35 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ 41 - --prefix LD_LIBRARY_PATH ":" "${libPath}" \ 42 36 --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ 43 37 --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi" 44 38 rm $out/share/icons/hicolor/icon-theme.cache
+1 -9
pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
··· 24 24 25 25 enableParallelBuilding = true; 26 26 27 - preFixup = 28 - let 29 - libPath = stdenv.lib.makeLibraryPath 30 - [ glib gtk3 libnotify tracker gnome3.grilo cairo 31 - gst_all_1.gstreamer gst_all_1.gst-plugins-base 32 - gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ]; 33 - in 34 - '' 27 + preFixup = '' 35 28 wrapProgram "$out/bin/gnome-music" \ 36 29 --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ 37 30 --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ 38 31 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ 39 - --prefix LD_LIBRARY_PATH : "${libPath}" \ 40 32 --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ 41 33 --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ 42 34 --prefix PYTHONPATH : "$PYTHONPATH"
-1
pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
··· 35 35 wrapProgram "$out/bin/gnome-shell" \ 36 36 --prefix PATH : "${unzip}/bin" \ 37 37 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ 38 - --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \ 39 38 --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ 40 39 --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" 41 40
-1
pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
··· 30 30 --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ 31 31 --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ 32 32 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ 33 - --prefix LD_LIBRARY_PATH ":" "${libsoup}/lib:${gnome3.gnome_desktop}/lib:${libnotify}/lib:${gtk3}/lib:${atk}/lib" \ 34 33 --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)" 35 34 ''; 36 35
+1 -2
pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
··· 30 30 for i in $out/libexec/gpaste/*; do 31 31 wrapProgram $i \ 32 32 --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ 33 - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ 34 - --prefix LD_LIBRARY_PATH : "${libPath}" 33 + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" 35 34 done 36 35 ''; 37 36
+25
pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
··· 1 + --- ./giscanner/utils.py.orig 2014-08-14 22:05:05.055334080 +0200 2 + +++ ./giscanner/utils.py 2014-08-14 22:05:24.687497334 +0200 3 + @@ -110,17 +110,11 @@ 4 + if dlname is None: 5 + return None 6 + 7 + - # Darwin uses absolute paths where possible; since the libtool files never 8 + - # contain absolute paths, use the libdir field 9 + - if platform.system() == 'Darwin': 10 + - dlbasename = os.path.basename(dlname) 11 + - libdir = _extract_libdir_field(la_file) 12 + - if libdir is None: 13 + - return dlbasename 14 + - return libdir + '/' + dlbasename 15 + - # From the comments in extract_libtool(), older libtools had 16 + - # a path rather than the raw dlname 17 + - return os.path.basename(dlname) 18 + + dlbasename = os.path.basename(dlname) 19 + + libdir = _extract_libdir_field(la_file) 20 + + if libdir is None: 21 + + return dlbasename 22 + + return libdir + '/' + dlbasename 23 + 24 + 25 + def extract_libtool(la_file):
+2
pkgs/development/libraries/gobject-introspection/default.nix
··· 29 29 30 30 setupHook = ./setup-hook.sh; 31 31 32 + patches = [ ./absolute_shlib_path.patch ]; 33 + 32 34 meta = with stdenv.lib; { 33 35 description = "A middleware layer between C libraries and language bindings"; 34 36 homepage = http://live.gnome.org/GObjectIntrospection;
-1
pkgs/development/tools/misc/d-feet/default.nix
··· 26 26 wrapProgram $out/bin/d-feet \ 27 27 --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \ 28 28 --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ 29 - --prefix LD_LIBRARY_PATH : "${gtk3}/lib:${atk}/lib:${libwnck3}/lib" \ 30 29 --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share" 31 30 32 31 rm $out/share/icons/hicolor/icon-theme.cache