linux-pango/cairo vs firefox/seamonkey/flock

Alexander Leidinger Alexander at Leidinger.net
Fri Nov 30 12:04:54 PST 2007


Quoting Andrew Pantyukhin <infofarmer at FreeBSD.org> (Fri, 30 Nov 2007 22:29:13 +0300):

> On Fri, Nov 16, 2007 at 11:00:40AM +0100, Alexander Leidinger wrote:
> > Quoting Andrew Pantyukhin <infofarmer at FreeBSD.org> (from Mon, 5 Nov 2007 
> > 23:46:47 +0300):
> >> It turned out gstreamer/freedesktop guys distribute an updated
> >> version of pango and cairo for fc4.
> > 
> > Do they also have more recent versions of freetype and fontconfig (I'm a 
> > little bit short on time ATM, so I haven't looked myself, sorry)?
> 
> Unfortunately not, and I can't easily find them on pbone.

Seems we are unlucky... :(

> >> Here's the diffs:
> >> http://heka.cenkes.org/sat/diffs/linux-pango.cairo.diff
> > 
> > cut&paste:
> > ---snip---
> > RUN_DEPENDS=	${LINUXBASE}/usr/lib/libglib-2.0.so.0:${PORTSDIR}/devel/linux-glib2 
> > \
> > +		linux-cairo>=0:${PORTSDIR}/graphics/linux-cairo \
> > ---snip---
> > 
> > I don't think this will work well, please use the complete path
> > like with the other parts of RUN_DEPENDS.
> 
> I don't have a strong preference, but please elaborate. IMO, it
> is easier to type and it should work.

You depend upon a lib, but the target is RUN_DEPENDS, not LIB_DEPENDS.
From bsd.port.mk:
---snip---
# RUN_DEPENDS   - A list of "path:dir[:target]" tuples of other ports this
#                                 package depends to run.  The test done to determine
#                                 the existence of the dependency is the same as
#                                 FETCH_DEPENDS.  This will be checked during the
#                                 "install" stage and the name of the dependency will
#                                 be put into the package as well.  If the third field
#                                 ("target") exists, it will be used instead of
#                                 ${DEPENDS_TARGET}.
# LIB_DEPENDS   - A list of "lib:dir[:target]" tuples of other ports this
#                                 package depends on.  "lib" is the name of a shared library.
#                                 make will use "ldconfig -r" to search for the library.
#                                 lib can contain extended regular expressions.
---snip---

As you can see RUN_DEPENDS wants a path, not a lib. I think you mixed
this with LIB_DEPENDS. The reason why we can not use LIB_DEPENDS is,
that it calls the FreeBSD ldconfig. For linux programs this is wrong.
One could argue, that we should modify LIB_DEPENDS to use the linux
ldconfig if USE_LINUX is set, but this is not the case yet, and I
haven't looked carefully at LIB_DEPENDS to make my mind up if this is a
good way to go or not (maybe it is, we could maybe detect if a linux
lib port hasn't run the linux ldconfig at all).

Bye,
Alexander.

-- 
Boys will be boys, and so will a lot of middle-aged men.
		-- Kin Hubbard
http://www.Leidinger.net  Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org     netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the freebsd-emulation mailing list