Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Dec 2007 13:30:05 -0600
From:      "Jeremy Messenger" <mezz7@cox.net>
To:        "Doug Barton" <dougb@freebsd.org>
Cc:        gnome@freebsd.org
Subject:   Re: In cairo, implicit depenencies on librsvg2 and/or poppler?
Message-ID:  <op.t30dsfa39aq2h7@mezz.mezzweb.com>
In-Reply-To: <alpine.BSF.1.00.0712271059320.878@ync.qbhto.arg>
References:  <4772C814.6000302@FreeBSD.org> <1198709162.11242.8.camel@shumai.marcuscom.com> <alpine.BSF.1.00.0712271059320.878@ync.qbhto.arg>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 27 Dec 2007 13:09:17 -0600, Doug Barton <dougb@FreeBSD.org> wrote:

> On Wed, 26 Dec 2007, Joe Marcus Clarke wrote:
>
>>
>> On Wed, 2007-12-26 at 13:31 -0800, Doug Barton wrote:
>>> I was doing some stale ports cleanup recently and deleted a bunch of
>>> stuff that didn't seem to be needed, including librsvg2 and poppler.
>>> Deleting the former caused several of my applications to no longer be
>>> able to display svg images. I tracked the problem down to the missing
>>> librsvg2 of course, but only after carefully watching the configure
>>> output of cairo and noticing that it gave a "can't use svg 'cuz you
>>> don't have librsvg2" type message. It gives a similar message for
>>> poppler, but AFAIK I don't actually need that.
>>>
>>> So, short version is that you might want to add OPTIONS for those two
>>> libs, and related explicit dependencies for them in the cairo Makefile.
>>
>> Actually, it's not so simple.  I assume the apps that could no longer
>> display SVG images were GTK+ apps.
>
> That's where it got interesting. Some of them were GTK, yes. But,  
> firefox could still render SVG just fine without librsvg2 installed.  
> Weird.
>
>> If so, they get the ability to render SVG images from the SVG GDK image  
>> loader installed by librsvg2  
>> (/usr/local/lib/gtk-2.0/2.10.0/loaders/svg_loader.so).  This is a  
>> dlopen'd library, and thus is not really a hard dependency.  It's more  
>> along the lines of, "if you want this functionality, install this port."
>
> Right, which is why I suggested that it be made an OPTION. :)

Users enable that OPTIONS will getting the circular dependency. ;-)

I never noticed Deluge port required librsvg2 for weeks until someone  
installed Deluge in lightweight desktop. All of this is just because of  
deluge.svg, that's it. There is no info of dependency. I hate when it  
happens. I have fixed Deluge port by add librsvg2 dependency, so if one of  
port that you have installed have SVG file or whatever then this port need  
to add librsvg2 dependency.

But if this port has no SVG file and is a image viewer or graphic editor  
application, then user will have to install librsvg2 on their own or you  
can add an OPTION for that to show users that it is need for SVG file.

Cheers,
Mezz

>> Neither gtk20 or cairo can depend on librsvg2, though, or we'd have a  
>> circular dependency (as librsvg2 needs gtk20 and gtk20 needs cairo).
>
> I don't see the dependency on cairo in gtk20 or glib20, where does it  
> come in?
>
> Doug


-- 
mezz7@cox.net  -  mezz@FreeBSD.org
FreeBSD GNOME Team  -  FreeBSD Multimedia Hat (ports, not src)
http://www.FreeBSD.org/gnome/  -  gnome@FreeBSD.org
http://wiki.freebsd.org/multimedia  -  multimedia@FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.t30dsfa39aq2h7>