--- /dev/null
+#!/bin/bash
+# -*- mode: shell-script; coding: UTF-8 -*-
+#
+# Build Xvnc with Xorg 7.4
+#
+
+set -e
+
+PREFIX="/tmp/xorg-7.4-${USER}"
+export ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
+export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
+MAKE="make"
+
+modules="dri2proto \
+ libpthread-stubs \
+ glproto \
+ xf86vidmodeproto \
+ xextproto \
+ xproto \
+ kbproto \
+ inputproto \
+ xcmiscproto \
+ bigreqsproto \
+ fixesproto \
+ damageproto \
+ xf86driproto \
+ randrproto \
+ renderproto \
+ scrnsaverproto \
+ resourceproto \
+ fontsproto \
+ videoproto \
+ compositeproto \
+ xineramaproto \
+ fontcacheproto \
+ libdrm \
+ util-macros \
+ libXau \
+ xtrans \
+ libXdmcp \
+ libX11 \
+ libXext \
+ libXxf86vm \
+ libICE \
+ libSM \
+ libXt \
+ libXmu \
+ libXfixes \
+ libXdamage \
+ libXi \
+ evieext \
+ libxkbfile \
+ libfontenc \
+ libXfont \
+ libpciaccess \
+ xkbcomp \
+ pixman"
+
+
+init()
+{
+ mkdir -p xorg
+ update_modules
+ pushd xserver
+ patch -p1 < ../xserver15.patch
+ autoreconf -fiv
+}
+
+
+update_modules()
+{
+ pushd xorg
+ ../download-xorg
+ for module in ${modules}; do
+ tar jxf ${module}.tar.bz2
+ done
+ tar jxf Mesa.tar.bz2
+ tar jxf xorg-server.tar.bz2
+ cp -r xorg-server-1.*/* ../xserver
+ popd
+}
+
+
+build ()
+{
+
+ # Build VNC
+ make distclean || true
+ ./configure --prefix=${PREFIX}
+ make
+
+ # Build Xorg
+ pushd xorg
+ for module in ${modules}; do
+ extraoptions=""
+ cd ${module}-*
+ echo ======================
+ echo configuring ${module}
+ echo ======================
+ if [ "${module}" = "libX11" ]; then
+ extraoptions="${extraoptions} --without-xcb"
+ fi
+ ./configure --prefix="${PREFIX}" ${extraoptions}
+ echo ======================
+ echo building ${module}
+ echo ======================
+ if [ $? -ne 0 ]; then
+ echo "Failed to configure ${module}."
+ exit
+ fi
+ ($MAKE);
+ make install
+ cd ..
+ done
+
+ # build mesa
+ pushd Mesa-*
+ ./configure --prefix=${PREFIX} --with-driver=dri --disable-glut --without-demos
+ if [ $? -ne 0 ]; then
+ echo "Failed to configure Mesa."
+ exit
+ fi
+ ($MAKE)
+ make install
+ popd
+
+ popd
+
+ # build xserver
+ cd xserver
+ ./configure --prefix=${PREFIX} --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg
+ if [ $? -ne 0 ]; then
+ echo "Failed to configure X server."
+ exit
+ fi
+ ($MAKE)
+ make install
+ cd ..
+}
+
+
+case "$1" in
+ init)
+ init
+ ;;
+ build)
+ build
+ ;;
+ update)
+ update_modules
+ ;;
+ *)
+ echo "Usage: $0 init | build | update"
+ exit 3
+esac
--- /dev/null
+#!/usr/bin/env python
+# -*-mode: python; coding: UTF-8 -*-
+
+import os
+import glob
+import subprocess
+
+#INDI = "http://ftp.sunet.se/pub/X11/ftp.x.org/individual"
+INDI = "http://ftp.x.org/pub/individual/"
+PROTO = INDI + "proto/"
+LIB = INDI + "lib/"
+SERVER = INDI + "xserver/"
+UTIL = INDI + "util/"
+DATA = INDI + "data/"
+APP = INDI + "app/"
+
+packages = {
+ "damageproto": PROTO + "damageproto-1.1.0.tar.bz2",
+ "fixesproto": PROTO + "fixesproto-4.0.tar.bz2",
+ "resourceproto": PROTO + "resourceproto-1.0.2.tar.bz2",
+ "fontsproto": PROTO + "fontsproto-2.0.2.tar.bz2",
+ "fontcacheproto" : PROTO + "fontcacheproto-0.1.2.tar.bz2",
+ "bigreqsproto": PROTO + "bigreqsproto-1.0.2.tar.bz2",
+ "kbproto": PROTO + "kbproto-1.0.3.tar.bz2",
+ "inputproto": PROTO + "inputproto-1.4.4.tar.bz2",
+ "glproto": PROTO + "glproto-1.4.9.tar.bz2",
+ "xineramaproto": PROTO + "xineramaproto-1.1.2.tar.bz2",
+ "randrproto": PROTO + "randrproto-1.2.2.tar.bz2",
+ "scrnsaverproto": PROTO + "scrnsaverproto-1.1.0.tar.bz2",
+ "renderproto": PROTO + "renderproto-0.9.3.tar.bz2",
+ "evieext": PROTO + "evieext-1.0.2.tar.bz2",
+ "xcmiscproto": PROTO + "xcmiscproto-1.1.2.tar.bz2",
+ "xextproto": PROTO + "xextproto-7.0.3.tar.bz2",
+ "xf86driproto": PROTO + "xf86driproto-2.0.4.tar.bz2",
+ "dri2proto": PROTO + "dri2proto-1.1.tar.bz2",
+ "compositeproto": PROTO + "compositeproto-0.4.tar.bz2",
+ "xf86vidmodeproto": PROTO + "xf86vidmodeproto-2.2.2.tar.bz2",
+ "trapproto": PROTO + "trapproto-3.4.3.tar.bz2",
+ "videoproto": PROTO + "videoproto-2.2.2.tar.bz2",
+ "xproto": PROTO + "xproto-7.0.13.tar.bz2",
+
+ "libxkbfile": LIB + "libxkbfile-1.0.5.tar.bz2",
+ "libXxf86vm": LIB + "libXxf86vm-1.0.2.tar.bz2",
+ "libXext": LIB + "libXext-1.0.4.tar.bz2",
+ "libfontenc": LIB + "libfontenc-1.0.4.tar.bz2",
+ "libXau": LIB + "libXau-1.0.4.tar.bz2",
+ "libXfont": LIB + "libXfont-1.3.4.tar.bz2",
+ "libXfixes": LIB + "libXfixes-4.0.3.tar.bz2",
+ "libSM": LIB + "libSM-1.1.0.tar.bz2",
+ "libXi": LIB + "libXi-1.1.3.tar.bz2",
+ "libXmu": LIB + "libXmu-1.0.4.tar.bz2",
+ "libX11": LIB + "libX11-1.1.5.tar.bz2",
+ "libXdmcp": LIB + "libXdmcp-1.0.2.tar.bz2",
+ "xtrans": LIB + "xtrans-1.2.2.tar.bz2",
+ "libXt": LIB + "libXt-1.0.5.tar.bz2",
+ "libpciaccess": LIB + "libpciaccess-0.10.4.tar.bz2",
+ "libICE": LIB + "libICE-1.0.4.tar.bz2",
+ "pixman": LIB + "pixman-0.12.0.tar.bz2",
+ "libXdamage": LIB + "libXdamage-1.1.1.tar.bz2",
+
+ "util-macros": UTIL + "util-macros-1.1.6.tar.bz2",
+ "xorg-server": SERVER + "xorg-server-1.5.3.tar.bz2",
+ "xkeyboard-config": DATA + "xkeyboard-config-1.4.tar.bz2",
+ "xkbcomp": APP + "xkbcomp-1.0.5.tar.bz2",
+
+ "libdrm": "http://dri.freedesktop.org/libdrm/libdrm-2.4.0.tar.bz2",
+ "Mesa": "http://downloads.sourceforge.net/mesa3d/MesaLib-7.2.tar.bz2",
+ "libxcb": "http://xcb.freedesktop.org/dist/libxcb-1.1.91.tar.bz2",
+ "libpthread-stubs": "http://xcb.freedesktop.org/dist/libpthread-stubs-0.1.tar.bz2",
+ "xcb-proto": "http://xcb.freedesktop.org/dist/xcb-proto-1.2.tar.bz2",
+ }
+
+
+
+def main():
+ for pkg in packages.keys():
+ loc = packages[pkg]
+ fname = pkg + ".tar.bz2"
+ assert 0 == subprocess.call(["wget", "-O", fname, loc])
+
+
+main()