aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch')
-rw-r--r--gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
new file mode 100644
index 0000000000..d00cc5a420
--- /dev/null
+++ b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch
@@ -0,0 +1,30 @@
+# Names of libraries included in typelib files are opened by dlopen. Here we
+# add the full path.
+#
+# This patch was provided by Luca Bruno <lucabru@src.gnome.org> for
+# 'gobject-introspection' 1.40.0 in Nix.
+--- ./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):