Subject: Experience with modular-x11
To: None <tech-pkg@NetBSD.org, tech-x11@NetBSD.org>
From: Vincent <firstname.lastname@example.org>
Date: 12/13/2006 11:43:13
I don't know if this will be useful to anyone, but since nobody appears
to use the modular-x11-server yet, here is what I had to suffer to get
something sane and running.
The first thing is that the wrapper script incorrectly copies only part
of the .pc files installed by the libX* libraries. Therefore, albeit the
dependency check works, the configure script fails complaining about
missing prerequisites. This can be fixed by manually copying all the .pc
in the /usr/pkg/lib/pkgconfig files into .buildlink/lib/pkgconfig.
Next, sometimes one of the library depends on the "old" xorg. This
dependency must be manually erased by editing the work.xxx/.depend file.
This process must be carried out for all softwares that depend on
xorg-libs-6.9.0, and also for other dependencies like xcursor, Xft, xpm
and other that are now embedded in libX...
But it is then impossible to build the package, because buildlink
reports that xorg-libs is missing during the buildlink phase. One must
therefore create artificial .buildlink_xorg-libs_done in the
work.xxx/.buildlink repertory, and so on, one fake file per cancelled
dependency in the .depends file. My experience shows that practically
only three majors fake files are to be created: xorg-libs, xcursor and xpm.
The next thing to do is to copy explicitly all the libX* libraries into
the .buildlink/lib directory, because the script fails to do so, and the
link phase may fail.
Once all these steps are carried out, the package compiles and installs
All these operations can be more or less compiled into a single simple
shell script, except for the .depend editing (though...).
Of course, all this mess is needed only if you want to preserve the
dependency hierarchy as handled by the package mechanism.
Some packages won't build at all, especially those that depends on imake
or old X-related building tools. Up to now, this has been critical only
for nas (which is needed by mplayer or xine) and xv. Xv can be replaced
easily by a more modern software like ImageMagick or the like. For nas,
one must either build it on another machine still equipped with the old
xorg, or install the binary (which failed for me).
As for the impression, having an old ATI Radeon M7 video card, it seems
to me that the video is really faster, especially OpenGL. I can't be
more precise, because my feeling is only based on fluidity of some 3D
xlock screen and the rather vague impression that windows appear and
move quicker than with 6.9.0. Maybe some optimizations are carried out
during the build process that couldn't be achieved by the old monolithic
process, or this is an effet of GCC 4.1, I can't tell.