rendered paste bodySOURCE=/packagesPREFIX="/usr"PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfigMAKE="make -j5"XORG_CONF="--sysconfdir=/etc --mandir=$PREFIX/share/man --localstatedir=/var"cd $SOURCE/git-x11modules="\macros \fontsproto \x11proto \xextproto \videoproto \renderproto \inputproto \damageproto \xf86vidmodeproto \xf86dgaproto \xf86driproto \xcmiscproto \scrnsaverproto \bigreqsproto \resourceproto \compositeproto \resourceproto \evieproto \kbproto \fixesproto \xineramaproto \libxtrans \proto \pthread-stubs \libXau \libxcb \libXrender \libX11 \libXext \libXi \libxkbfile \libfontenc \libXfont \libXv \libXvMC \libXxf86vm \libXinerama \libXfixes \libXdamage \libICE \libSM \libXt \libXmu \dri2proto \glproto \libpciaccess \libXpm \pixman \randrproto \libXrandr \xkbcomp \xkeyboard-config \libXft \libXcursor \libXcomposite \util"update_modules(){ for module in $modules; do echo "Updating $module" cd $module git pull cd .. done echo "Updating xf86-video-nouveau" cd xf86-video-nouveau git pull cd .. echo "Updating xserver" cd xserver git pull cd .. echo "Updating mesa" cd mesa git pull cd .. echo "Updating drm" cd drm git pull cd .. echo "Updating xf86-input-keyboard" cd xf86-input-keyboard git pull cd .. echo "Updating xf86-input-mouse" cd xf86-input-mouse git pull cd ..}uclean_build(){ for module in $modules; do echo "Cleaning up $module" cd $module sudo rm ./* -r git reset --hard cd .. done}build (){ export ACLOCAL="aclocal -I $PREFIX/share/aclocal" export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig" for i in $modules; do cd $i echo ====================== echo Configuring $i echo ====================== ./autogen.sh --prefix="$PREFIX" $XORG_CONF echo ====================== echo Building $i echo ====================== if [ $? -ne 0 ]; then echo "Failed to configure $i." exit fi ($MAKE) sudo make install cd .. done # build drm cd drm ./autogen.sh --enable-nouveau-experimental-api --prefix="$PREFIX" $XORG_CONF ($MAKE) # assuming you're on Linux, otherwise use bsd-core sudo make install cd ..#build mesa cd mesa ./autogen.sh --prefix=$PREFIX --enable-glx-tls --disable-asm --with-dri-drivers= --enable-gallium-nouveau --disable-gallium-intel --disable-gallium-radeon --with-state-trackers=glx,dri --with-demos=xdemos,demos if [ $? -ne 0 ]; then echo "Failed to configure Mesa." exit fi ($MAKE) sudo make install sudo mkdir -p $PREFIX/bin sudo install -m755 progs/xdemos/{glxinfo,glxgears} $PREFIX/bin/ cd ..#buildxserver cd xserver ./autogen.sh --enable-glx-tls --prefix=$PREFIX --enable-builtin-fonts $XORG_CONF if [ $? -ne 0 ]; then echo "Failed to configure X server." exit fi ($MAKE) sudo make install sudo chown root $PREFIX/bin/Xorg sudo chmod +s $PREFIX/bin/Xorg cd ..#mouse cd xf86-input-mouse ./autogen.sh --prefix=$PREFIX $XORG_CONF ($MAKE) sudo make install cd ..#keyboard cd xf86-input-keyboard ./autogen.sh --prefix=$PREFIX $XORG_CONF ($MAKE) sudo make install cd ..#intel cd xf86-video-nouveau ./autogen.sh --prefix=$PREFIX --with-kms=yes $XORG_CONF ($MAKE) sudo make install cd ..}case "$1" in uclean_build) uclean_build build ;; init) init ;; build) build ;; update) update_modules ;; *) echo "Usage: $0 init | build | update"esac