X11 installation

-as of Mon Apr 15 16:57:55 EDT 2013-

OFFICIAL X11 PORT

The X11 iso image predates the fossil filesystem and unfortunately has some hard coded references to the kfs filesystem in its installation package; however once installed it is filesystem independant. The following will allow this package to be installed on a fossil filesystem.

download the iso and uncompress it.

	hget http://plan9.bell-labs.com/sources/extra/X11.iso.bz2 | bunzip2 > /tmp/X11.iso

start the iso9660 filesystem server

       9660srv 

disable the 9fs command by binding echo over it

       bind /386/bin/echo /rc/bin/9fs

mount a pseudo /n/kfs pointing to the root of your fossil filesystem

       mount /srv/boot /n/kfs

mount the iso

	mount /srv/9660 /n/dist /tmp/X11.iso

initialise the replica logs

       /n/dist/X11.setup

do the pull

       replica/pull /n/dist/X11

Next, you need to actually build X11. Close this rio window and open a new one. This will remove the bind on /rc/bin/9fs.

There is a problem with one file that prevents X11 from building with current systems. Type

       9fs sources
       cp /n/sources/contrib/pietro/shape.c /sys/src/X11/programs/Xserver/Xext/shape.c 
to fix the bug.

NOTE: If you get this error when buidling X11:

       /sys/include/ape/u.h:4[stdin:7038] not a function
       /sys/include/ape/u.h:4[stdin:7038] syntax error, last name: header
it is due to the fact that the preprocessor constant _PLAN9_SOURCE is not defined. The easiest way is to:
      cp /sys/include/ape/u.h /tmp/u.h
modify /tmp/u.h as follows:
 #ifndef __U_H
 #define __U_H
 #ifndef _PLAN9_SOURCE
+ #ifndef	BRAZIL
    This header file is an extension to ANSI/POSIX
+ #endif
 #endif
and bind the modified version over the original:
       bind /tmp/u.h /sys/include/ape/u.h
and restart the build.

Finally, to build and install, type

       cd /sys/src/X11
       ape/psh
       makew
       make install
       make clean

It is a good idea to turn on scrolling for both rio windows so you could do something else while building (makew is a lengthy process).

EQUIS

Equis is an X11 server for Plan 9 created by Federico G. Benavento (fgb). It may be installed using the contrib system:

	contrib/install fgb/X11

or by copying the necessary files directly from his contrib directory:

	mkdir /386/bin/X11 /386/lib/ape/X11
	9fs sources
	dircp /n/sources/contrib/fgb/root/386/bin/X11 /386/bin/X11
	dircp /n/sources/contrib/fgb/root/386/lib/ape/X11 /386/lib/ape/X11