pkgsrc-Users archive

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

Re: pkgsrc picking up wrong fontconfig



On Fri, Aug 30, 2019 at 11:43:04AM -0400, Greg Troxel wrote:
> "David H. Gutteridge" <david%gutteridge.ca@localhost> writes:
> 
> > On Thu, 29 Aug 2019, at 15:35:26 -0400, Greg Troxel wrote:
> 
> >> As far as I can tell something must have changed in pkgsrc fairly
> >> recently, at least since Q2, but it feels like the last two weeks, to
> >> provoke this -- does anybody know that is?
> >
> > I'm afraid I don't have a decent answer for you, but I can tell you that
> > it occurred on or before the 20th, since I was privately emailed about
> > this around then, and reproduced it then.
> >
> > http://mail-index.netbsd.org/pkgsrc-changes/2019/08/21/msg196209.html
> > I started trying to find the full explanation, but simply haven't had
> > the time vs. other things. But the pango.pc file now installed by that
> > package expects fontconfig >= 2.11.91. On its own, I can't say why
> > that's a problem.
> 
> This is beginning to make sense to me.  In pango's pkgconfig, it
> requires fontconfig 2.11.91.   And in pango's pkgsrc Makefile, it has
> BUILDLINK_API_DEPENDS to match, so that it gets a new enough fontconfig.
> 
> But, pango's bl3 file does *not* set BUILDLINK_API_DEPENDS for
> fontconfig, and does have a fontconfig line.  So that means that native
> fontconfig will be be linked in on netbsd8, because absent an
> API_DEPENDS it is good enough.  So then various programs will fail
> pkgconfig (because of pango), and if they worked would link both native
> fontconfig and pkgsrc fontconfig, which is a mess.

Good analysis. But shouldn't installing pango pull in the new enough
fontconfig as well? (Because the pango binary package pulls in the new
fontconfig.)

> So, I think if a package sets BUILDLINK_API_DEPENDS in Makefile, and has
> that package in bl3, then it needs to set that depends in bl3 also.

Not in general, no. If foo-2 in general is backwards compatible with
foo-1, but depends on bar-2 instead of bar-1, thenif you have foo-1
installed, bar-1 is sufficient and there is no need to pull in bar-2.

If you say we need to depend on the latest pango (i.e. bump ABI
depends in bl3.mk), then we could add its BUILDLINK_API_DEPENDS
pattern for fontconfig to its bl3.mk file.

 Thomas

> Further, I think we risk having both native and pkgsrc fontconfig, and
> that perhaps our "use pkgsrc if necessary, otherwise native" strategy is
> unsound, and we should have one of them configured, and if native and
> not good enough just fail.
> 
> The preceding paragraph is complicated and controversial, and we might
> want to just change the default API_DEPENDS for fontconfig to at least
> be what pango wants, as a way of avoiding both trouble and avoiding
> resolving the big issue :-)
> 
> So questions are:
> 
>   Is it correct to add BUILDLINK_API_DEPENDS for fontconfig to pango's
>   bl3?  If not, what's the right thing?
> 
>   Should we change fontconfig's default API_DEPENDS (in its bl3) higher?
>   To 2.11.91 (pango's need, hoping that matches other newish needs)?  To
>   2.13.0 (current pkgsrc version)?  If not, what should we doing to
>   avoid linking native and pkg fontconfig?


Home | Main Index | Thread Index | Old Index