[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: switching remaining platforms to modular X by default
On Tue, Jun 04, 2013 at 12:50:58PM +1200, David Sainty wrote:
> > Since apparently this isn't clear to some people: the problem arises
> > because libXft is linked to fontconfig and freetype, so anything that
> > links with native libXft will end up linked to both versions of
> > fontconfig and freetype and will blow up if you try to run it in a way
> > that actually exercises that functionality.
> > Furthermore, the X infrastructure in pkgsrc has no way to exclude
> > builtin libXft based on the fact that it depends on builtin things
> > that pkgsrc is trying to override. (Doing it based on version won't
> > work, because it's not the version that matters.)
> > (It might be that using an explicit PREFER to also build libXft from
> > pkgsrc will fix the overt problems. But that might also just make
> > things worse, depending on what else libXft links to and what else is
> > linked to it.)
> I think Pkgsrc already makes some attempt to get this right what you're
> describing, in pkgsrc/fonts/Xft2/builtin.mk:
> .if defined(USE_BUILTIN.fontconfig) && !
> USE_BUILTIN.Xft2= no
> This code (or code like it) seems like it should resolve that problem -
> perhaps the check is incomplete or being subverted?
Yes, I found that last night; it has two problems:
(1) it doesn't work (the builtin.mk files are not included in tree
order and so USE_BUILTIN.fontconfig hasn't been set yet)
and (2) if it did, it would result in using fonts/Xft2, not
x11/libXft; fonts/Xft2 is older than the libXft in native X even in
netbsd-5's native X.
When I fell asleep last night I was looking at inserting logic into
bsd.buildlink3.mk (at line 123) to walk the depends tree and clear
USE_BUILTIN=yes for any package that depends on a package with
USE_BUILTIN=no. This isn't entirely trivial. It only fixes problem (1)
though... I only dimly recall why there's an extra outdated libXft
packages in pkgsrc or what problem (2) is ultimately about.
David A. Holland
Main Index |
Thread Index |