This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

HEADS-UP: Modular X11 (ALL maintainers, please read)


I have been working on packaging the new, modular X11R7.0 for Cygwin for the last few weeks. There's still a few dozen packages left, but the time has come to deal with handling some of the issues involved in this transition.

For those unaware of X11 internals, the major changes included in X11R7.0 over our current X11R6.8 are:

1) Each component source is packaged separately; this means that e.g. a security update to libXpm (of which there were two during 6.8) does not necessitate rebuilding the entire monolithic tree. This also means that something requiring libX11 won't require all of X11 to be installed either.

The library APIs have not changed, except for libOSMesa. However, since libXau was static in X11R6 and libX11 links against it, if there are any packages using Xau* functions, they will need to be rebuilt in order not to look for those functions in cygX11-6.dll.

2) Source packages (except for Mesa) use autoconf, automake, and libtool. This means that *ALL* X libraries (except for libGL*) will be shared libtool libraries.

3) /usr/X11R6 is deprecated; like any other package, X11R7.0 is being configured with --prefix=/usr.

The move to /usr will affect a number of packages.

FIRST, the following two packages *must* be rearranged BEFORE the X11R7.0 upgrade, in order not to cause collisions:

opengl:
a) /usr/bin/glui-examples is non-FHS-compiliant; this should be moved to /usr/lib/glui-examples or the like.
b) /usr/include/GL/glut.h will collide with freeglut when moved to /usr; this should be moved to /usr/include/w32api/GL/glut.h.
c) I think that /usr/include/{glui,gluix}.h should be moved to /usr/include/w32api, and /usr/lib/lib{glui,gluix}.a to /usr/lib/w32api.


xpm-nox:
a) /usr/bin/{c,s}xpm.exe and /usr/share/man/man1/{c,s}xpm.1 will collide with those provided by libXpm. These should have -noX appended to their names.
b) what is the purpose of /usr/bin/cygXpm-X4.dll?



SECOND, the following packages install into /usr/X11R6. These should be repackaged into /usr ASAP after the X11R7.0 upgrade:


freeglut [1]
fvwm
ghostscript-x11 [2]
gv
lesstif
nedit
openbox
run
tcm
tetex-x11
transfig
WindowMaker
x2x [3]
x3270
Xaw3d
XmHTML
xfig, xfig-lib
xgraph
xmon
xwinclip

[1] opengl needs to be rearranged before freeglut is moved, as stated above.
[2] ghostscript currently provides two sets of executables; a non-X version in /usr and an X version in /usr/X11R6. What is the reasoning for this, and is it really necessary?
[3] listed on Corinna's most recent list of orphaned packages.



Status:
By tonight, I'll have completed everything relevant in app, data, doc, lib, proto, and util. That leaves font and xserver remaining.



Yaakov



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]