mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 05:48:07 -05:00
gnu: gobject-introspection: Add patch.
* gnu/packages/glib.scm (gobject-introspection): Add patch gobject-introspection-girepository.patch.
This commit is contained in:
parent
58d32305b6
commit
94987ebe13
2 changed files with 27 additions and 0 deletions
|
@ -213,6 +213,8 @@ (define gobject-introspection
|
||||||
(base32 "1xwm7wmr9r9wp6xljb3bckx3a4siybavaq39w46ly7gpskxfv8iv"))
|
(base32 "1xwm7wmr9r9wp6xljb3bckx3a4siybavaq39w46ly7gpskxfv8iv"))
|
||||||
(patches (list
|
(patches (list
|
||||||
(search-patch "gobject-introspection-cc.patch")
|
(search-patch "gobject-introspection-cc.patch")
|
||||||
|
(search-patch
|
||||||
|
"gobject-introspection-girepository.patch")
|
||||||
(search-patch
|
(search-patch
|
||||||
"gobject-introspection-absolute-shlib-path.patch")))))
|
"gobject-introspection-absolute-shlib-path.patch")))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
|
|
|
@ -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)
|
||||||
|
{
|
Loading…
Reference in a new issue