tech-pkg archive

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

Re: bump req libxcb



On Fri, Mar 31, 2017 at 10:51:22AM -0400, Greg Troxel wrote:
> 
> Thomas Klausner <wiz%NetBSD.org@localhost> writes:
> 
> > So this part in libX11/bl3.mk is wrong and needs fixing:
> >
> > .if ${X11_TYPE} == "modular" || \
> >     exists(${X11BASE}/lib/pkgconfig/xcb.pc) || \
> >     exists(${X11BASE}/lib${LIBABISUFFIX}/pkgconfig/xcb.pc)
> > .include "../../x11/libxcb/buildlink3.mk"
> > .endif
> 
> Yes.
> 
> But this is tricky.  Basically I think that "how to bl3 this pkgsrc
> package" should be separated from "how to bl3 the builtin" and also "are
> we using builtin or not".
> 
> The fragment above seems odd.   It includes xcb in the modular case, or
> if the base system has an xcb.pc.  But really it should be including xcb
> iff the libX11 that is selected (which is not about those things)
> depends on xcb.  And the version requirements should match.

That is abstract, but sounds correct :)

> The particular tweak that feels safe is adding
> 
>   if the inclusion of the bl3 file results in adding pkgsrc-built libX11
>   to the bl3 tree, then also express the same API depends on xcb as
>   libX11 did, and bl3 on it.

The problem is that buildlink3.mk is a static file that does not have
the information which library/libraries the installed libX11 was
linked against, nor do we want to change bl3.mk in general that way,
because it would be a maintenance nightmare (keeping it in sync with
all library versions that ever existed) and/or slow builds down a lot
(if computing it from the installed package; which is not even
possible if it's not installed yet, e.g. during bulk build pre-scan).

> A larger rewrrite, which feels less safe but more likely to be correct,
> would be to have the previous condition and replace what's there with
> 
>   if the inclusion of the bl3 file results in using native libX11 as the
>   dependency, then if there is a native xcb, bl3 on that too, without
>   expressing an API level

But that won't fix the particular problem on NetBSD 6, because there
we use libX11 from pkgsrc.

> All of this makes me think NetBSD 8 should be released.

I agree. Or perhaps we should stop supporting X11 from base...
 Thomas


Home | Main Index | Thread Index | Old Index