Overview: In gnome-base/librsvg-2.14.4.ebuild, x11-libs/cairo is only listed in RDEPEND, however use of "built_with_use x11-libs/cairo" in pkg_setup forces cairo as a build dependency as well. This precludes using cairo in package.provided, etc. The fix is to check if cairo is installed with has_version before calling built_with_use. I will attach a patch to this bug that worked for me. Steps to Reproduce: 1) Unmerge cairo / rebuild & install from source 1) Insert x11-libs/cairo-1.0.2 into package.provided 2) emerge librsvg - the build will barf when it cannot check if the png use flag is set for your non-existant cairo build
Created attachment 93887 [details, diff] This patch fixes the problem by checking for cairo's existence before testing its use settings This patch fixes the problem for me.
> Insert x11-libs/cairo-1.0.2 into package.provided No. It doesn't make _any_ sense to check for use flags on package.provided ebuilds. If fails intentionally.
(In reply to comment #2) > > Insert x11-libs/cairo-1.0.2 into package.provided > > No. It doesn't make _any_ sense to check for use flags on package.provided > ebuilds. If fails intentionally. > I am not sure what you mean. Why does this fail intentially? My understanding is that a package in package.provided implies that the user takes care of all aspects of that package's maintainence. Of course, use flags cannot be set on package.provided packages, but the user has already agreed to sort out those issues by using package.provided. Thus, I would think that librsvg should build if the runtime dependency on cairo is provided by package.provided -- building cairo with the correct options becomes the user's problem.