Hi Danny! > since cairo is meant to be a portable and backend-agnostic vector graphics > library, I find it hard to believe it needs to propagate fontconfig, freetype, > glib, libpng, pixman, x11, xcb, xext and xrender. > > Are you sure that cairo actually exposes those libraries' interfaces to its > users? I took a brief look at the manual (https://cairographics.org/manual/cairo-surfaces.html), it appears it does exposes them. > The cairo.pc file also suggests otherwise: > > Requires.private: gobject-2.0 glib-2.0 >= 2.14 pixman-1 >= 0.30.0 fontconfig >= 2.2.95 freetype2 >= 9.7.3 libpng xcb-shm xcb >= 1.6 xcb-render >= 1.6 xrender >= 0.6 x11 xext > Libs: -L${libdir} -lcairo > Libs.private: -lz -lz -lz > > "Requires.private" means that those are implementation details and not to be > exposed to the users of the library. The other reason I left them in propagated inputs is because, the packages that depend on cairo doesn't build without them. If I de-propagate them in cairo, then I have to replicate them as inputs on other packages. > Also, please do not make libsigc++ public twice. It's already in the > module's #:export list. > > Same for glibmm and maybe others. Hmm. Without that, I get "package not found" while doing `./pre-inst-env guix build foo`. > Pushed the pixman and hplip patches to wip-desktop. Thanks! Regards, RG.