tech-pkg archive

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

dga on netbsd-5



One of the common causes of package build failures on netbsd-5 that do
not affect -6 or -current is trouble finding the X DGA extension,
either headers and/or libs.

I have gone and tracked this down in detail; the problem is as
follows.

(1) When x11-links is built, it includes the builtin.mk from
x11/xf86dgaproto. It uses this to check if dga is present in native X;
if so, it creates the links for it, if not, it doesn't.

(2) The builtin.mk for xf86dgaproto checks the native version of
xf86dgaproto (found with pkgconfig) against BUILDLINK_API_DEPENDS to
see if it's new enough to use. If it isn't, it reports itself as not
being built-in.

(3) A package that depends on libXxf86dga includes libXxf86dga's
buildlink3.mk. For native X, this goes unconditionally to x11-links.


On netbsd-5, the native version of xf86dgaproto is older than
BUILDLINK_API_DEPENDS.xf86dgaproto. Because of point 2, it is reported
as not builtin. Therefore, because of point 1, x11-links does not
create links for it. And therefore, because of point 3, packages that
include libXxf86dga's bl3.mk silently get no DGA, and fail to build.


There are two possible directions for fixing this. One is to arrange
things so x11-links can link the old xf86dgaproto and old DGA library.
The other is to make it possible to use the pkgsrc xf86dgaproto and
DGA library when there is no native DGA found. I'm not sure which is
preferable; neither is entirely trivial as things currently stand.


Thoughts, anyone?

(DGA is probably not the only piece of X that is broken this way, but
it's the most noticeable.)

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index