Cyril Roelandt <[email protected]> skribis: > On 05/06/2014 10:07 AM, Ludovic Courtès wrote: >> Cyril Roelandt <[email protected]> skribis: >> >>> On 05/06/2014 12:36 AM, Ludovic Courtès wrote: >>>> While trying to package librsvg, I stumbled upon this: >>>> >>>> --8<---------------cut here---------------start------------->8--- >>>> Couldn't find include 'GdkPixbuf-2.0.gir' (search path: ['.', 'gir-1.0', >>>> '/gnu/store/xdd5ndl01700w23z206nc36nqg96z94v-gobject-introspection-1.38.0/share/gir-1.0', >>>> '/usr/share/gir-1.0', >>>> '/gnu/store/xdd5ndl01700w23z206nc36nqg96z94v-gobject-introspection-1.38.0/share/gir-1.0']) >>>> /gnu/store/xdd5ndl01700w23z206nc36nqg96z94v-gobject-introspection-1.38.0/share/gobject-introspection-1.0/Makefile.introspection:153: >>>> recipe for target 'Rsvg-2.0.gir' failed >>>> make[2]: *** [Rsvg-2.0.gir] Error 1 >>>> --8<---------------cut here---------------end--------------->8--- >>>> >>>> Do you remember if the gobject-introspection “scanner” had a way to >>>> specify a search path, like an env. var.? >>>> >>>> Otherwise, how can we make sure that the .girs of inputs are visible? >>>> >>> >>> Look at the 'gir-directory' function in guix/build/gnome.scm. It's used >>> in gnu/packages/{gtk,gnome}.scm and does exactly what you need. >> >> Oh right, thanks, that does the job. >> >> It’d be great to submit a patch upstream so that g-ir-compiler & >> co. honor a GIR_PATH environment variable or similar. That seems like >> the right thing to do, and definitely helpful for us. >> > > From 'man g-ir-scanner': > > "The g-ir-scanner uses the XDG_DATA_DIRS variable to check for dirs, the > girs are located in XDG_DATA_DIRS/gir-1.0." > > I guess you could also use that; would it solve your problem ? I think > we might be able to remove the ugly use of '--add-include-path' in > gnu/packages/{gtk,gnome}.scm if we were to use this variable.
Indeed, adding a search path specification for ‘XDG_DATA_DIRS’ in GLib solves this problem (I’ll commit shortly.) Since ‘XDG_DATA_DIRS’ is also used as the search path env. var. for GLib’s schemas, it seemed best to put it in GLib rather than gobject-introspection. Thanks, Ludo’.
