tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Fw: CVS commit: pkgsrc/fonts/fontconfig



On Tue, 18 Aug 2020 08:41:10 +0200
Tobias Nygren <tnn%NetBSD.org@localhost> wrote:

wiz@ asked that I follow up with more explanation on this, so ...

> /usr/pkg/lib/libfontconfig.la:dependency_libs='-lfreetype -lz -lbz2 -lexpat -luuid -lintl'

When linking with a libtool library (.la file) libtool appends
everything from the dependency_libs variable. If -luuid is not present
in the buildlink directory then any package that uses libtool to link
with -lfontconfig will thus fail. 

> Also we can't simply patch the libtool files because modern ld(1)
> requires dependency libraries to be visible in the linker path.

This statement was not entirely true: I think this could have been
somewhat solved by manually fixing up the dependency_libs line in
libtool libraries. But I have no idea how to do this properly in pkgsrc
context or how portable that would be. We have to consider the
behaviour of ld(1) implementations that are not GNU, shared library
implementation that are not ELF and run time loaders on for example AIX
and Solaris. The kind of thing libtool is supposed to deal with if left
to it's own devices.

Another solution entirely could have been to only have the bl3.mk file
express the uuid dependency iff X11_TYPE=modular. There is some prior
art in pkgsrc for doing similar things. However that would require
another massive recursive revbump on top of the previous one to undo
the dependency change.

> I propose we should make pkgsrc fontconfig have a bundled copy of the
> uuid functions it it needs like xsrc (with renamed symbols and/or
> hidden visibility) and drop the dependency completely.

So I opted for this solution because it was

1) easy
2) makes pkgsrc fontconfig behave more like xsrc fontconfig
3) didn't require another massive dependency rototil

-Tobias


Home | Main Index | Thread Index | Old Index