summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/gobject-introspection-girepository.patch
diff options
context:
space:
mode:
authorMark H Weaver <[email protected]>2015-01-25 21:15:13 -0500
committerMark H Weaver <[email protected]>2015-01-25 21:15:13 -0500
commit5ade90ba6976a5ce8715de07344985c70c0eda8b (patch)
tree7d42618d87ebd8888223e2aa1d0cd5375b3a7712 /gnu/packages/patches/gobject-introspection-girepository.patch
parent06aac933e1cc97781db0d28eb86b5d984099a30e (diff)
parent94987ebe136569dfe0180277384d7c04e18ab78c (diff)
Merge branch 'wip-gobject-introspection'
Diffstat (limited to 'gnu/packages/patches/gobject-introspection-girepository.patch')
-rw-r--r--gnu/packages/patches/gobject-introspection-girepository.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/gnu/packages/patches/gobject-introspection-girepository.patch b/gnu/packages/patches/gobject-introspection-girepository.patch
new file mode 100644
index 0000000000..380617f27f
--- /dev/null
+++ b/gnu/packages/patches/gobject-introspection-girepository.patch
@@ -0,0 +1,25 @@
+--- a/girepository/gitypelib.c.orig
++++ b/girepository/gitypelib.c
+@@ -2296,7 +2296,22 @@ _g_typelib_do_dlopen (GITypelib *typelib)
+ {
+ GModule *module;
+
++ /* 'gobject-introspection' doesn't store the path of shared
++ libraries into '.typelib' and '.gir' files. Shared
++ libraries are searched for in the dynamic linker search
++ path. In Guix we patch 'gobject-introspection' such that
++ it stores the absolute path of shared libraries in
++ '.typelib' and '.gir' files. Here, in order to minimize
++ side effects, we make sure that if the library is not
++ found at the indicated path location, we try with just
++ the basename and the system dynamic library
++ infrastructure, as per default behaviour of the
++ library. */
+ module = load_one_shared_library (shlibs[i]);
++ if (module == NULL && g_path_is_absolute (shlibs[i]))
++ {
++ module = load_one_shared_library (g_basename(shlibs[i]));
++ }
+
+ if (module == NULL)
+ {