New xlibs ports

Eric Anholt eta at lclark.edu
Thu Nov 13 17:55:29 PST 2003


So, people saw the headsup I posted to ports a few days ago, and some
worries were brought up.  To clarify:

Some of the xlibs are original work by Keith Packard (libXcursor,
libXrandr, libXrender) which XFree86 has been integrating sometimes
since Keith was kicked out of XFree86.  The rest of them are forks from
XFree86 CVS, generally as of around the end of September.  No fork of a
full XFree86 tree exists.  In one case, libX11, the original author is
the maintainer now.  These other xlibs have been converted to use
autotools rather than imake for their build.  Everything has retained
its original license (MIT/X11 for X stuff), and new development has
continued with MIT/X11, though there are no restrictions on licensing of
new fd.o projects.

I'm currently running my desktop with all the ports from
fd-xlibs-2.tar.gz.  I have seen no ill effects from this set of ports. 
However, there are some things that need to be done:
- XFree86-4-libraries needs a (major) patch to stop building the things
not provided in the new ports, and depend on the new ports.
- bsd.port.mk needs to refer to a library that continues to be provided
by XFree86-4-libraries rather than libX11.
- XFree86-4*Server should link against the new libraries rather than
building them themselves.
- Legality of libXdmcp is unclear.  AFAIK FreeBSD.org may export it
because it already has authorization to export the file that includes
64-bit DES (Wraphelp.c, as used by the XFree86 ports currently). 
freedesktop hasn't completed the hoop-jumping necessary, so the distfile
is located in my public_html on freefall.
- dependencies in the new ports need to be checked thoroughly.
- the new ports haven't been tested on non-x86.

My idea for what the ports system will look like after the new ports are
brought in:
- XFree86-4-libraries continues to exist, depends on the new xlibs
ports, and provides the remainder from XFree86.
- XFree86-4*Server use the shared libraries.
- Other ports may continue to USE_XLIB/USE_X_PREFIX to get all the X11
stuff, or could depend on the individual ports they require.

None of this will be going into the ports tree before the freeze
(releases have been pushed off longer than I expected).  What's holding
releases up is more testing, and people committed to maintaining
individual libraries once released.

The xlibs can be found at the freedesktop.org software page:
http://www.freedesktop.org/Software/Home
Prerelease tarballs are at:
http://freedesktop.org/~xlibs/dist/
Prerelease ports are at:
http://people.freebsd.org/~anholt/xlibs-pre/fd-xlibs-2.tar.gz
Status list of the prerelease ports is at:
http://people.freebsd.org/~anholt/xlibs-pre/xlibs-status.txt
Screenshots of the fun things possible if we had a server that supported
composite and damage extensions are at:
http://freedesktop.org/~keithp/screenshots

There is also an example port
athttp://people.freebsd.org/~anholt/xlibs-pre/ from the X Server project
at fd.o, xnest-port.tar.gz, which is a nesting X Server that uses many
of the new ports.  Unfortunately, it doesn't support the fancy new
composite extension because it doesn't support render, which someone
ought to fix.  Or, better, someone ought to port the kdrive X Server so
FreeBSD could use it.

-- 
Eric Anholt                                eta at lclark.edu          
http://people.freebsd.org/~anholt/         anholt at FreeBSD.org




More information about the freebsd-x11 mailing list