#!/bin/sh
# Script by Zeqadious
#modified by Uelsk8s to build X11R7.3 for VectorLinux

# PACKAGES: xorg
# DEPENDENCIES: freetype fontconfig mesa libdrm
# HOMEPAGE: http://X.org
# COMPILE EXTRA REQUIREMENTS:
# Notes: I give up. Everything in one package and no more updating easily.
#   To all users who need updated drivers; it may be awhile ;)
#

# ------ Verify Script
if [ "$(id -u)" != "0" ]; then
	echo "This script must be run as root!"
	exit
fi

# ------ Help
if [ "${1}" = "--help" ]; then
	echo \
	"VL ${0} script:
			--nocleanup		Do NOT Cleanup of Post build and Temporary Repo
			--install		Run standard make install after each package
			--download		Download sources
			--help			Displays this help"
	exit
fi

# ------- Credentials
NAME=x11
VERSION=7.3
ARCH=${ARCH:-"i586"}
BUILD=${BUILD:-1}
VEC=${VEC:-"vl59"}
EXT=${EXT:-"tlz"}
REPO=${REPO:-"/home/PACKAGES"}
CFLAGS=${CFLAGS:-"-O2 -march=i586 -mtune=i686"}
export LDFLAGS="-Wl,-liconv,--hash-style=gnu"
SOURCE=(
	# Protocols
	http://xcb.freedesktop.org/dist/xcb-proto-1.0.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/applewmproto-1.0.3.tar.bz2			# un-needed
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/bigreqsproto-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/compositeproto-0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/damageproto-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/dmxproto-2.2.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/evieext-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/fixesproto-4.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/fontcacheproto-0.1.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/fontsproto-2.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/glproto-1.4.8.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/inputproto-1.4.2.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/kbproto-1.0.3.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/printproto-1.0.3.tar.bz2				# removed xprint support
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/randrproto-1.2.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/recordproto-1.13.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/renderproto-0.9.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/resourceproto-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/scrnsaverproto-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/trapproto-3.4.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/videoproto-2.2.2.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/windowswmproto-1.0.3.tar.bz2			# un-needed
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/xcmiscproto-1.1.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/xextproto-7.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/xf86bigfontproto-1.1.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/xf86dgaproto-2.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/xf86driproto-2.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/xf86miscproto-0.9.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/xf86rushproto-1.1.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/xf86vidmodeproto-2.2.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/xineramaproto-1.1.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/xproto-7.0.10.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/proto/xproxymanagementprotocol-1.0.2.tar.bz2
	# Applications
	http://xcb.freedesktop.org/dist/xcb-util-0.2.tar.bz2										# needs gperf
	http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/appres-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/bdftopcf-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/beforelight-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/bitmap-1.0.2.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/compiz-0.5.0.tar.bz2					# keep seperate (for now)
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/editres-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/fonttosfnt-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/fslsfonts-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/fstobdf-1.0.2.tar.bz2
        #	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/grandr-0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/iceauth-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/ico-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/lbxproxy-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/listres-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/luit-1.0.2.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/mkcfm-1.0.1.tar.bz2						# depreciated
	ftp://ftp.freedesktop.org/pub/xorg/individual/src/app/mkcomposecache-1.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/mkfontdir-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/mkfontscale-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/oclock-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/proxymngr-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/rendercheck-1.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/rgb-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/rstart-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/scripts-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/sessreg-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/setxkbmap-1.0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/showfont-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/smproxy-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/twm-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/viewres-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/x11perf-1.4.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xauth-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xbacklight-1.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xbiff-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xcalc-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xclipboard-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xclock-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xcmsdb-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xconsole-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xcursorgen-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xdbedizzy-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xditview-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xdm-1.1.6.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xdpyinfo-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xdriinfo-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xedit-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xev-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xeyes-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xf86dga-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xfd-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xfindproxy-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xfontsel-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xfs-1.0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xfsinfo-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xfwp-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xgamma-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xgc-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xhost-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xinit-1.0.5.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xkbcomp-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xkbevd-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xkbprint-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xkbutils-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xkill-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xload-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xlogo-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xlsatoms-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xlsclients-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xlsfonts-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xmag-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xman-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xmessage-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xmh-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xmodmap-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xmore-1.0.1.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xphelloworld-1.0.1.tar.bz2				# removed xprint support
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xplsprinters-1.0.1.tar.bz2				# removed xprint support
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xpr-1.0.1.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xprehashprinterlist-1.0.1.tar.bz2		# removed xprint support
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xprop-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xrandr-1.2.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xrdb-1.0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xrefresh-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xrx-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xset-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xsetmode-1.0.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xsetpointer-1.0.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xsetroot-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xsm-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xstdcmap-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xtrap-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xvidtune-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xvinfo-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xwd-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xwininfo-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/app/xwud-1.0.1.tar.bz2
	# Utilities
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/util/gccmakedep-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/util/imake-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/util/lndir-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/util/makedepend-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/util/util-macros-1.1.5.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/util/xorg-cf-files-1.0.2.tar.bz2
	# Libraries
	http://xcb.freedesktop.org/dist/libxcb-1.0.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libAppleWM-1.0.0.tar.bz2				# un-needed
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libFS-1.0.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libICE-1.0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libSM-1.0.3.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libWindowsWM-1.0.0.tar.bz2				# un-needed
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libX11-1.1.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXScrnSaver-1.1.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXTrap-1.0.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXau-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXaw-1.0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXcomposite-0.4.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXcursor-1.1.9.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXdamage-1.0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXdmcp-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXevie-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXext-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXfixes-4.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXfont-1.3.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXfontcache-1.0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXft-2.1.12.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXi-1.1.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXinerama-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXmu-1.0.3.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXp-1.0.0.tar.bz2						# remove xprint support
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXpm-3.5.7.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXprintAppUtil-1.0.1.tar.bz2			# remove xprint support
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXprintUtil-1.0.1.tar.bz2				# remove xprint support
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXrandr-1.2.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXrender-0.9.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXres-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXt-1.0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXtst-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXv-1.0.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXvMC-1.0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXxf86dga-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXxf86misc-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libXxf86vm-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libdmx-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libfontenc-1.0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/liblbxutil-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/liboldX-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/individual/lib/libpthread-stubs-0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libxkbfile-1.0.4.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/libxkbui-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/individual/lib/pixman-0.9.5.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/lib/xtrans-1.0.4.tar.bz2
	# Data
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/data/xbitmaps-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/data/xcursor-themes-1.0.1.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/data/xkbdata-1.0.1.tar.bz2					# depreciated
	# Xserver
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/xserver/xorg-server-1.4.tar.bz2
	# Font Utilities
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/font/encodings-1.0.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/font/font-alias-1.0.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/font/font-util-1.0.1.tar.bz2
	# Base Fonts
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/font/font-cursor-misc-1.0.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/font/font-misc-misc-1.0.0.tar.bz2
	# Input Drivers
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-acecad-1.2.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-aiptek-1.0.1.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-calcomp-1.1.0.tar.bz2		# broken?
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-citron-2.2.0.tar.bz2		# broken?
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-digitaledge-1.1.0.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-dmc-1.1.0.tar.bz2			# broken?
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-dynapro-1.1.0.tar.bz2		# broken?
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-elo2300-1.1.0.tar.bz2		# broken?
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-elographics-1.0.0.5.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-evdev-1.1.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-fpit-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-hyperpen-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-jamstudio-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-joystick-1.2.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-keyboard-1.2.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-magellan-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-magictouch-1.0.0.5.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-microtouch-1.1.0.tar.bz2	# broken?
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-mouse-1.2.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-mutouch-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-palmax-1.1.0.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-penmount-1.2.0.tar.bz2	# broken?
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-spaceorb-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-summa-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-tek4957-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-ur98-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-vmmouse-12.4.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-input-void-1.1.0.tar.bz2
	# Video Drivers
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-apm-1.1.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-ark-0.6.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-ast-0.81.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-ati-6.6.3.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-avivo-?.?.?.tar.bz2		# svn only
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-chips-1.1.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-cirrus-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-cyrix-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-dummy-0.2.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-fbdev-0.3.1.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-glide-1.0.0.tar.bz2		# broken?
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-glint-1.1.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-i128-1.2.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-i740-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-i810-1.7.4.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-impact-0.2.0.tar.bz2		# broken?
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-imstt-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-intel-2.1.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-mga-1.4.6.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-neomagic-1.1.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-newport-0.2.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-nsc-2.8.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-nv-2.1.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-rendition-4.1.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-s3-0.5.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-s3virge-1.9.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-savage-2.1.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-siliconmotion-1.4.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-sis-0.9.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-sisusb-0.8.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-tdfx-1.3.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-tga-1.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-trident-1.2.3.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-tseng-1.1.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-v4l-0.1.1.tar.bz2		
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-vermilion-1.0.0.tar.bz2	# xorg-server > 1.3.99
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-vesa-1.3.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-vga-4.1.0.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-via-0.2.2.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-vmware-10.14.1.tar.bz2
	ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-voodoo-1.1.1.tar.bz2
	# ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/src/driver/xf86-video-wsfb-0.2.1.tar.bz2		# broken?
	# Mesa
	http://umn.dl.sourceforge.net/sourceforge/mesa3d/MesaLib-7.0.1.tar.bz2
)

# ------ Setup
CWD=$(pwd)
TMP=${CWD}/build
PKG=${TMP}/package-${NAME}
# command line options
if [ "${1}" = "--nocleanup" -o "${2}" = "--nocleanup" -o "${3}" = "--nocleanup" ]; then
	CLEANUP="0"
else
	CLEANUP="1"
fi
if [ "${1}" = "--install" -o "${2}" = "--install" -o "${3}" = "--install" ]; then
	INSTALL="1"
else
	INSTALL="0"
fi
if [ "${1}" = "--download" -o "${2}" = "--download" -o "${3}" = "--download" ]; then
	DOWNLOAD="1"
else
	DOWNLOAD="0"
fi
# build location
if [ ! -d ${TMP} ]; then
	install -d -m700 ${TMP}
fi
# repo location
if [ ! -d ${REPO} ]; then
	install -v -d -m755 ${REPO}
fi

# ------ Slack Desc
install -d -m755 ${PKG}/install
cat > ${PKG}/install/slack-desc << EoF
#      |-----handy-ruler------------------------------------------------------|
${NAME}: X11 Protocol Server and Applications
${NAME}:
${NAME}: This is the X11 Protocol Server and its required applications.  It 
${NAME}: provides the required binaries, shared libraries, support files, 
${NAME}: drivers, and basic fonts to run X-Server on Linux.
${NAME}:
EoF

# ------ Retrieve & Decompress
X=0
while [ "${SOURCE[X]}" != "" ]; do
	[ "${DOWNLOAD}" = "1" ] &&  \
		( $(which wget) -c ${SOURCE[X]} || exit 1 )
	X=$((X + 1))
done
for file in *.tar.bz2; do
	tar jxvf ${file} -C ${TMP}
done

# ------ Functions
_docs() {
	# documentation
	install -d -m755 ${PKG}/usr/doc/${NAME}-${VERSION}/${1}
	cp -v \
		AUTHORS* COPYING* INSTALL* NEWS* README* ChangeLog* \
	${PKG}/usr/doc/${NAME}-${VERSION}/${1}
	# redundant
	if [ -d ${PKG}/usr/share/doc ]; then
		( cd ${PKG}/usr/share/doc ; mv -v * ${PKG}/usr/doc/${NAME}-${VERSION}/${1} )
		rm -rf ${PKG}/usr/share/doc
	fi
}

# ------ Protocols
for a in 'xcb-proto' 'bigreqsproto' 'compositeproto' 'damageproto' 'dmxproto' 'evieext' \
	'fixesproto' 'fontcacheproto' 'fontsproto' 'glproto' 'inputproto' 'kbproto' \
	'randrproto' 'recordproto' 'renderproto' 'resourceproto' 'scrnsaverproto' 'trapproto' \
	'videoproto' 'xcmiscproto' 'xextproto' 'xf86bigfontproto' 'xf86dgaproto' 'xf86driproto' \
	'xf86miscproto' 'xf86rushproto' 'xf86vidmodeproto' 'xineramaproto' 'xproto' \
	'xproxymanagementprotocol'; do

	name=$( cd ${TMP} ; find . -type d -name "${a}-*" -maxdepth 1 | sed s@./@@g )
	echo "Building ${name}:" 
        echo "[01;33mBuilding ${name}:[00m"

	cd ${TMP}/${name}

	./configure \
		--prefix=/usr \
		--program-prefix="" \
		--program-suffix="" \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--mandir=/usr/man \
		--infodir=/usr/info \
		--enable-static="no" \
		--enable-shared="yes" \
		i486-slackware-linux || exit

	make -j3 || exit
	make install || exit
	make install DESTDIR=${PKG} || exit

	if [ "${INSTALL}" = "1" ]; then
		make install || exit
	fi

	# $1 = sub_package
	_docs ${name}
done

# ------ Utilities
for a in 'xorg-cf-files' 'imake' 'gccmakedep' 'lndir' 'makedepend' 'util-macros'; do

	name=$( cd ${TMP} ; find . -type d -name "${a}-*" -maxdepth 1 | sed s@./@@g )
	echo "Building ${name}:"
        echo "[01;33mBuilding ${name}:[00m"

	cd ${TMP}/${name}

	if [ "$a" = "xorg-cf-files" ]; then
		sed -i "s@/usr/X11R6@/usr@" site.def
		sed -i "s@/usr/X11R6@/usr@" X11.tmpl
	fi

	./configure \
		--prefix=/usr \
		--program-prefix="" \
		--program-suffix="" \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--mandir=/usr/man \
		--infodir=/usr/info \
		--enable-static="no" \
		--enable-shared="yes" \
		--with-config-dir="/usr/lib/X11/config" \
		i486-slackware-linux || exit

	make -j3 || exit
	make install DESTDIR=${PKG} || exit

	if [ "${INSTALL}" = "1" ]; then
		make install || exit
	fi

	# $1 = sub_package
	_docs ${name}
done

# ------ Libraries
for a in 'xtrans' 'pixman' 'libXau' 'libXdmcp' 'libpthread-stubs' 'libxcb' 'libX11' 'libXext' 'libICE' \
	'libSM' 'libXt' 'libXmu' 'libXpm' 'libXfixes' 'libXrender' 'libfontenc' 'libxkbfile' \
	'libXv' 'libFS' 'libXScrnSaver' 'libXTrap' 'libXaw' 'libXcomposite' 'libXcursor' \
	'libXdamage' 'libXevie' 'libXfont' 'libXfontcache' 'libXft' 'libXi' 'libXinerama' \
	'libXrandr' 'libXres' 'libXtst' 'libXvMC' 'libXxf86dga' 'libXxf86misc' 'libXxf86vm' 'libdmx' \
	'liblbxutil' 'liboldX' 'libxkbui'; do

	name=$( cd ${TMP} ; find . -type d -name "${a}-*" -maxdepth 1 | sed s@./@@g )
	echo "Building ${name}:"
        echo "[01;33mBuilding ${name}:[00m"

	cd ${TMP}/${name}

	[ "${a}" = "libxcb" ] && \
		( patch -p0 --verbose -i ${CWD}/libxcb-1.0-no-assert-on-lock.patch || exit )
	
	./configure \
		--prefix=/usr \
		--program-prefix="" \
		--program-suffix="" \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--mandir=/usr/man \
		--infodir=/usr/info \
		--enable-static="no" \
		--enable-shared="yes" \
		--with-xcb \
		i486-slackware-linux || exit
	
	make -j3 || exit
	make install DESTDIR=${PKG} || exit

	if [ "${INSTALL}" = "1" ]; then
		make install || exit
	fi

	# $1 = sub_package
	_docs ${name}
done

# ------ Interdependencies
for a in 'xbitmaps'; do

	name=$( cd ${TMP} ; find . -type d -name "${a}-*" -maxdepth 1 | sed s@./@@g )
	echo "Building ${name}:"
        echo "[01;33mBuilding ${name}:[00m"

	cd ${TMP}/${name}

	./configure \
		--prefix=/usr \
		--program-prefix="" \
		--program-suffix="" \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--mandir=/usr/man \
		--infodir=/usr/info \
		--enable-static="no" \
		--enable-shared="yes" \
		i486-slackware-linux || exit

	make -j3 || exit
	make install DESTDIR=${PKG} || exit

	if [ "${INSTALL}" = "1" ]; then
		make install || exit
	fi

	# $1 = sub_package
	_docs ${name}
done

# ------ Applications
for a in 'luit' 'xcursorgen' 'xkbcomp' 'xcb-util' 'appres' 'bdftopcf' 'beforelight' 'bitmap' 'editres' \
	'fonttosfnt' 'fslsfonts' 'fstobdf' 'grandr' 'iceauth' 'ico' 'lbxproxy' 'listres' 'mkcomposecache' \
	'mkfontdir' 'mkfontscale' 'oclock' 'proxymngr' 'rendercheck' 'rgb' 'rstart' 'scripts' 'sessreg' 'setxkbmap' \
	'showfont' 'twm' 'smproxy' 'viewres' 'x11perf' 'xauth' 'xbiff' 'xcalc' 'xclipboard' 'xclock' 'xcmsdb' \
	'xconsole' 'xdbedizzy' 'xditview' 'xdm' 'xdpyinfo' 'xdriinfo' 'xedit' 'xev' 'xeyes' 'xf86dga' 'xfd' \
	'xfindproxy' 'xfontsel' 'xfs' 'xfsinfo' 'xfwp' 'xgamma' 'xgc' 'xhost' 'xinit' 'xkbevd' 'xkbprint' \
	'xkbutils' 'xkill' 'xload' 'xlogo' 'xlsatoms' 'xlsclients' 'xlsfonts' 'xmag' 'xman' 'xmessage' 'xmh' \
	'xmodmap' 'xmore' 'xpr' 'xprop' 'xrandr' 'xrdb' 'xrefresh' 'xrx' 'xset' 'xsetmode' 'xsetpointer' \
	'xsetroot' 'xsm' 'xstdcmap' 'xtrap' 'xvidtune' 'xvinfo' 'xwd' 'xwininfo' 'xwud' 'xkeyboard-config'; do

	name=$( cd ${TMP} ; find . -type d -name "${a}-*" -maxdepth 1 | sed s@./@@g )
	echo "Building ${name}:"
        echo "[01;33mBuilding ${name}:[00m"

	cd ${TMP}/${name}

	case ${a} in
		xkeyboard-config)
			./configure \
				--prefix=/usr \
				--program-prefix="" \
				--program-suffix="" \
				--sysconfdir=/etc \
				--localstatedir=/var \
				--mandir=/usr/man \
				--infodir=/usr/info \
				--enable-static="no" \
				--enable-shared="yes" \
				--with-xkb-base="/usr/share/X11/xkb" \
				--with-xkb-rules-symlink="xorg" \
				i486-slackware-linux || exit
			;;
		*)
			./configure \
				--prefix=/usr \
				--program-prefix="" \
				--program-suffix="" \
				--sysconfdir=/etc \
				--localstatedir=/var \
				--mandir=/usr/man \
				--infodir=/usr/info \
				--enable-static="no" \
				--enable-shared="yes" \
				i486-slackware-linux || exit
			;;
	esac
   
	make -j3 || exit
	make install DESTDIR=${PKG} || exit

	[ "${a}" = "beforelight" ] && \
		(
			cd ${PKG}/root
			install -v -d -m755 ${PKG}/usr/share/X11/app-defaults
			find . -name "Beforelight" -exec mv -v {} ${PKG}/usr/share/X11/app-defaults \;
			cd ${PKG}
			rm root -r
		)
		
	if [ "${INSTALL}" = "1" ]; then
		make install || exit
	fi

	# $1 = sub_package
	_docs ${name}
done

# ------ Data
for a in 'xcursor-themes'; do

	name=$( cd ${TMP} ; find . -type d -name "${a}-*" -maxdepth 1 | sed s@./@@g )
	echo "Building ${name}:"
        echo "[01;33mBuilding ${name}:[00m"

	cd ${TMP}/${name}

	./configure \
		--prefix=/usr \
		--program-prefix="" \
		--program-suffix="" \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--mandir=/usr/man \
		--infodir=/usr/info \
		--enable-static="no" \
		--enable-shared="yes" \
		i486-slackware-linux || exit

	make -j3 || exit
	make install DESTDIR=${PKG} || exit

	if [ "${INSTALL}" = "1" ]; then
		make install || exit
	fi

	# $1 = sub_package
	_docs ${name}
done

# ------ Xserver
for a in 'xorg-server'; do

	name=$( cd ${TMP} ; find . -type d -name "${a}-*" -maxdepth 1 | sed s@./@@g )
	( cd $TMP ; find . -name "Mesa-*" -exec ln -svf {} Mesa \; )
	echo "Building ${name}:"
        echo "[01;33mBuilding ${name}:[00m"
	
	cd ${TMP}/${name}

	# Patches
	patch -Np3 -i ${CWD}/xorg-redhat-die-ugly-pattern-die-die-die.patch || exit
	#patch -Np1 -i ${CWD}/xorg-server-1.3.0-mesa-6.5.3.patch || exit
	# along with xkeyboard-config comes slight breakage
	[ -e ${PKG}/usr/share/X11/xkb/compiled ] && rm -vr ${PKG}/usr/share/X11/xkb/compiled

	FONTPATH="/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1"
	
	# bootstrap
	aclocal
	autoconf
	automake

	# xorg	
	./configure \
		--prefix=/usr \
		--program-prefix="" \
		--program-suffix="" \
		--sysconfdir="/etc/X11" \
		--localstatedir="/var" \
		--mandir="/usr/man" \
		--infodir="/usr/info" \
		--enable-static="no" \
		--enable-shared="yes" \
		--enable-ipv6 \
		--enable-dri \
		--enable-dmx \
		--enable-xvfb \
		--enable-xnest \
		--enable-composite \
		--enable-xcsecurity \
		--enable-xorg \
		--enable-xtrap \
		--enable-xevie \
		--enable-xglx \
		--enable-xkb \
		--enable-install-setuid \
		--disable-xprint \
		--with-mesa-source="${TMP}/Mesa" \
		--with-fontdir="/usr/share/fonts" \
		--with-default-font-path="${FONTPATH}" \
		--with-module-dir="/usr/lib/X11/modules" \
		--with-dri-driver-path="/usr/lib/X11/modules/dri" \
		--with-xkb-path="/usr/share/X11/xkb" \
		--with-xkb-output="/usr/share/X11/xkb/compiled" \
		--with-os-name="VectorLinux" \
		--with-os-vender="VectorLinux" \
		--with-vender-web="http://www.vectorlinux.com" \
		--with-builder-addr="uelsk8s@gmail.com" \
		i486-slackware-linux || exit

	make -j3 || exit
	make install DESTDIR=${PKG} || exit

	if [ "${INSTALL}" = "1" ]; then
		make install || exit
	fi
	
	# make nvidia prop drivers not interfere with xorg
	( 
		cd ${PKG}/usr/lib/X11/modules/extensions
		mv -v libGLcore.so libGLcore.xorg
		mv -v libglx.so libglx.xorg
		ln -sv libGLcore.xorg libGLcore.so
		ln -sv libglx.xorg libglx.so
	)
	
	# $1 = sub_package
	_docs ${name}
done

# ------ Font Utilities
for a in 'encodings' 'font-alias' 'font-util'; do

	name=$( cd ${TMP} ; find . -type d -name "${a}-*" -maxdepth 1 | sed s@./@@g )
	echo "Building ${name}:"
        echo "[01;33mBuilding ${name}:[00m"

	cd ${TMP}/${name}

	case ${a} in
		font-util)
			./configure \
				--prefix=/usr \
				--program-prefix="" \
				--program-suffix="" \
				--sysconfdir=/etc \
				--localstatedir=/var \
				--mandir=/usr/man \
				--infodir=/usr/info \
				--enable-static="no" \
				--enable-shared="yes" \
				--with-mapdir="/usr/share/fonts/util" \
				i486-slackware-linux || exit
			;;
		encodings)
			./configure \
				--prefix=/usr \
				--program-prefix="" \
				--program-suffix="" \
				--sysconfdir=/etc \
				--localstatedir=/var \
				--mandir=/usr/man \
				--infodir=/usr/info \
				--enable-static="no" \
				--enable-shared="yes" \
				--with-encodingsdir="/usr/share/fonts/encodings" || exit
			;;
		font-alias)
			./configure \
				--prefix=/usr \
				--program-prefix="" \
				--program-suffix="" \
				--sysconfdir=/etc \
				--localstatedir=/var \
				--mandir=/usr/man \
				--infodir=/usr/info \
				--enable-static="no" \
				--enable-shared="yes" \
				--with-top-fontdir="/usr/share/fonts" || exit
			;;
	esac

	make -j3 || exit
	make install DESTDIR=${PKG} || exit

	if [ "${INSTALL}" = "1" ]; then
		make install || exit
	fi

	# $1 = sub_package
	_docs ${name}
done

# ------ Base Fonts
for a in 'font-cursor-misc' 'font-misc-misc'; do

	name=$( cd ${TMP} ; find . -type d -name "${a}-*" -maxdepth 1 | sed s@./@@g )
	echo "Building ${name}:"
        echo "[01;33mBuilding ${name}:[00m"

	cd ${TMP}/${name}

	./configure \
		--prefix=/usr \
		--program-prefix="" \
		--program-suffix="" \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--mandir=/usr/man \
		--infodir=/usr/info \
		--enable-static="no" \
		--enable-shared="yes" \
		--with-mapdir="/usr/share/fonts/util" \
		--with-fontdir="/usr/share/fonts/misc" \
		i486-slackware-linux || exit

	make -j3 || exit
	make install DESTDIR=${PKG} || exit
	
	if [ "${INSTALL}" = "1" ]; then
		make install || exit
	fi

	# $1 = sub_package
	_docs ${name}
done

# ------ Input Drivers
# broken: 'xf86-input-calcomp' 'xf86-input-citron' 'xf86-input-dmc' 'xf86-input-dynapro' 'xf86-input-elo2300' \
#         'xf86-input-microtouch' 'xf86-input-penmount'
for a in 'xf86-input-acecad' 'xf86-input-aiptek'  \
	'xf86-input-digitaledge' \
	'xf86-input-elographics' 'xf86-input-evdev' 'xf86-input-fpit' 'xf86-input-hyperpen' \
	'xf86-input-jamstudio' 'xf86-input-joystick' 'xf86-input-keyboard' 'xf86-input-magellan' \
	'xf86-input-magictouch' 'xf86-input-mouse' 'xf86-input-mutouch' \
	'xf86-input-palmax' 'xf86-input-spaceorb' 'xf86-input-summa' \
	'xf86-input-tek4957' 'xf86-input-ur98' 'xf86-input-vmmouse' 'xf86-input-void'; do

	name=$( cd ${TMP} ; find . -type d -name "${a}-*" -maxdepth 1 | sed s@./@@g )
	echo "Building ${name}:"
        echo "[01;33mBuilding ${name}:[00m"

	cd ${TMP}/${name}

	./configure \
		--prefix=/usr \
		--program-prefix="" \
		--program-suffix="" \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--mandir=/usr/man \
		--infodir=/usr/info \
		--enable-static="no" \
		--enable-shared="yes" \
		--with-xorg-module-dir="/usr/lib/X11/modules" \
		i486-slackware-linux || exit

	make -j3 || exit
	make install DESTDIR=${PKG} || exit

	# $1 = sub_package
	_docs ${name}
done

# ------ Video Drivers
# broken: 'xf86-video-impact' 'xf86-video-wsfb' 'xf86-video-glide' 'xf86-video-vermilion'
for a in 'xf86-video-apm' 'xf86-video-ark' 'xf86-video-ast' 'xf86-video-ati' 'xf86-video-chips' \
	'xf86-video-cirrus' 'xf86-video-cyrix' 'xf86-video-dummy' 'xf86-video-fbdev' \
	'xf86-video-glint' 'xf86-video-i128' 'xf86-video-i740' 'xf86-video-i810' 'xf86-video-imstt' \
	'xf86-video-intel' 'xf86-video-mga' 'xf86-video-neomagic' 'xf86-video-newport' 'xf86-video-nsc' \
	'xf86-video-nv' 'xf86-video-rendition' 'xf86-video-s3' 'xf86-video-s3virge' 'xf86-video-savage' \
	'xf86-video-siliconmotion' 'xf86-video-sis' 'xf86-video-sisusb' 'xf86-video-tdfx' 'xf86-video-tga' \
	'xf86-video-trident' 'xf86-video-tseng' 'xf86-video-v4l' 'xf86-video-vesa' \
	'xf86-video-vga' 'xf86-video-via' 'xf86-video-vmware' 'xf86-video-voodoo'; do

	name=$( cd ${TMP} ; find . -type d -name "${a}-*" -maxdepth 1 | sed s@./@@g )
	echo "Building ${name}:"
        echo "[01;33mBuilding ${name}:[00m"

	cd ${TMP}/${name}

	[ "${a}" = "xf86-video-sis" ] && ( patch -Np0 --verbose -i ${CWD}/xf86-video-sis-0.9.3-prototype.patch )
	
	./configure \
		--prefix=/usr \
		--program-prefix="" \
		--program-suffix="" \
		--sysconfdir=/etc \
		--localstatedir=/var \
		--mandir=/usr/man \
		--infodir=/usr/info \
		--enable-static="no" \
		--enable-shared="yes" \
		--with-xorg-module-dir="/usr/lib/X11/modules" \
		i486-slackware-linux || exit

	make -j3 || exit
	make install DESTDIR=${PKG} || exit

	# $1 = sub_package
	_docs ${name}
done


# fix /usr/X11 references to Xreset and Xstartup
sed -i -e s@/usr/X11R6@/usr@g -e s@/usr/X11@/usr@g ${PKG}/usr/lib/X11/xdm/Xreset
sed -i -e s@/usr/X11R6@/usr@g -e s@/usr/X11@/usr@g ${PKG}/usr/lib/X11/xdm/Xstartup

# reset all symlinks for xorg and move data proper locations if needed
install -v -d -m755 ${PKG}/etc/X11
install -v -d -m755 ${PKG}/var/lib
for dir in fs lbxproxy proxymngr rstart xdm xinit xserver xsm; do
	mv -v ${PKG}/usr/lib/X11/${dir} ${PKG}/etc/X11
	ln -sfv ../../../../etc/X11/${dir} ${PKG}/usr/lib/X11
done
for dir in app-defaults twm xkb; do
	mv -v ${PKG}/usr/share/X11/${dir} ${PKG}/etc/X11
	ln -sfv ../../../../etc/X11/${dir} ${PKG}/usr/share/X11
done
for dir in compiled; do
	mv -v ${PKG}/etc/X11/xkb/${dir} ${PKG}/var/lib/xkb
	ln -sfv ../../../../var/lib/xkb ${PKG}/etc/X11/xkb/compiled
done

# slackware fonts compat:symlink
ln -svf ../../../share/fonts ${PKG}/usr/lib/X11/fonts

# buildscripts
#install -d -m755 ${PKG}/usr/src/${NAME}-${VERSION}
#install -m755 ${CWD}/${0} ${PKG}/usr/src/${NAME}-${VERSION}/build-${NAME}.sh

# other files
install -m644 ${CWD}/*.diff ${PKG}/usr/src/${NAME}-${VERSION}
install -m644 ${CWD}/*.patch ${PKG}/usr/src/${NAME}-${VERSION}

# ------ Finalize
# strip
find ${PKG} | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find ${PKG} | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null

# gzip man
find ${PKG}/usr/man -type f -exec gzip -9f {} \;

# gzip info
find ${PKG}/usr/info -type f -exec gzip -9f {} \;

# Fix Permissions
chown -R root:root ${PKG}
find ${PKG} -perm 664 -exec chmod 644 {} \;
find ${PKG} -perm 600 -exec chmod 644 {} \;
find ${PKG} -perm 444 -exec chmod 644 {} \;
find ${PKG} -perm 400 -exec chmod 644 {} \;
find ${PKG} -perm 440 -exec chmod 644 {} \;
find ${PKG} -perm 777 -exec chmod 755 {} \;
find ${PKG} -perm 775 -exec chmod 755 {} \;
find ${PKG} -perm 511 -exec chmod 755 {} \;
find ${PKG} -perm 711 -exec chmod 755 {} \;
find ${PKG} -perm 555 -exec chmod 755 {} \;
find ${PKG}/usr/doc -type f -exec chmod 644 {} \;
find ${PKG} -name "xinitrc.*" -exec chmod 755 {} \;

# setuid Xorg
find ${PKG} -name "Xorg" -exec chmod +s {} \;

# ------ Doinst.sh
cat > ${PKG}/install/doinst.sh << "EoF"
( cd usr ; unlink X11  1>&2 2>/dev/null || rm -rf X11 )
( cd usr ; mkdir X11 )
( cd usr/X11 ; unlink bin  1>&2 2>/dev/null || rm -rf bin )
( cd usr/X11 ; ln -sf ../bin bin )
( cd usr/X11 ; unlink include  1>&2 2>/dev/null || rm -rf include )
( cd usr/X11 ; ln -sf ../include include )
( cd usr/X11 ; unlink lib  1>&2 2>/dev/null || rm -rf lib )
( cd usr/X11 ; ln -sf ../lib lib )
( cd usr/X11 ; unlink libexec  1>&2 2>/dev/null || rm -rf libexec )
( cd usr/X11 ; ln -sf ../libexec libexec )
( cd usr/X11 ; unlink man  1>&2 2>/dev/null || rm -rf man )
( cd usr/X11 ; ln -sf ../man man )
( cd usr/X11 ; unlink share  1>&2 2>/dev/null || rm -rf share )
( cd usr/X11 ; ln -sf ../share share )
( cd usr ; unlink X11R6  1>&2 2>/dev/null || rm -rf X11R6 )
( cd usr ; ln -sf X11 X11R6 )
# echo ""
# echo "Updating Fonts..."
# Font caching :)
for fontdir in cyrillic OTF TTF 100dpi 75dpi misc Type1 Speedo util encodings; do
	[ -d usr/share/fonts/${fontdir} ] && \
	( 
		[ -x usr/bin/mkfontscale ] && ( chroot . usr/bin/mkfontscale usr/share/fonts/${fontdir} > /dev/null 2>&1 )
		[ -x usr/bin/mkfontdir ] && ( chroot . usr/bin/mkfontdir usr/share/fonts/${fontdir} > /dev/null 2>&1 )
	)
done
# Force MegaUltra re-cache!
if [ -d var/cache/fontconfig ]; then
	rm -rf var/cache/fontconfig
	mkdir -p var/cache/fontconfig
fi
[ -x usr/bin/fc-cache ] && ( chroot . usr/bin/fc-cache -rf > /dev/null 2>&1 )
# echo "Complete."
EoF

# ------ Create
cd ${PKG}

# build package
makeslapt --tlz ${REPO}/${NAME}-${VERSION}-${ARCH}-${BUILD}${VEC}.${EXT}
# build md5 checksum
( cd ${REPO} ; md5sum ${NAME}-${VERSION}-${ARCH}-${BUILD}${VEC}.${EXT} \
	> ${NAME}-${VERSION}-${ARCH}-${BUILD}${VEC}.md5 )
# build dep file
cp ${PKG}/install/slack-required ${NAME}-${VERSION}-${ARCH}-${BUILD}${VEC}.dep 

# ------ Cleanup
if [ "${CLEANUP}" = "1" ]; then
	rm -rf ${TMP}
fi
