* gnu/packages/glib.scm (gobject-introspection): Add patch gobject-introspection-girepository.patch.
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- 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)
 | |
|              {
 |