#!/bin/bash set -xe ###################################################### # Configure extension creation parameters # ###################################################### S=$(basename $0) PACKAGE=${S%%.build} VERSION=0.8.2 SRCNAM=darkplaces-$VERSION.tar.xz SRCNAM1=d0_blind_id-$VERSION.tar.xz WRKDIR=darkplaces EXTNAM=$PACKAGE TMPDIR=/tmp/$PACKAGE-$VERSION OUTDIR=$PWD/../../build/$(version) SRCDIR=$PWD ###################################################### # Prepare extension creation ###################################################### # Remove dirs and files left from previous creation rm -r -f $WRKDIR rm -r -f $TMPDIR # Crete temporary directory mkdir -p $TMPDIR $OUTDIR ###################################################### # Compile extension ###################################################### # Export variables needed for compilation export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig export CPPFLAGS="-I/usr/local/include -I/usr/include" export CFLAGS="-O2 -march=i486 -mtune=i486" export CXXFLAGS="-O2 -fno-exceptions -fno-rtti -march=i486 -mtune=i486" export LDFLAGS="-Wl,-O2" # Unpack source in to WRK directory tar -xf "$SRCNAM" pushd "$WRKDIR" sed -i 's/\r//' darkplaces.txt sed -i 's,/usr/X11R6/,/usr/,g' makefile makefile.inc sed -i 's/nexuiz/xonotic/g' makefile makefile.inc popd tar -C "$WRKDIR" -xvf "$SRCNAM1" patch -p0 < ./darkplaces-crypto.patch pushd "$WRKDIR" make cl-release OPTIM_RELEASE="-O2 -march=i486 -mtune=pentium4" STRIP=: ###################################################### # install to $TMPDIR ###################################################### install -dm755 "$TMPDIR/usr/local/bin" install -D darkplaces-glx "$TMPDIR/usr/local/bin/darkplaces-glx" install -dm755 "$TMPDIR/usr/local/share/doc/$PACKAGE" cp COPYING darkplaces.txt "$TMPDIR/usr/local/share/doc/$PACKAGE" install -dm755 "$TMPDIR/usr/local/share/pixmaps" install -Dm644 darkplaces48x48.png "$TMPDIR/usr/local/share/pixmaps/darkplaces.png" install -Dm755 "$SRCDIR/darkplaces-quake.sh" "$TMPDIR/usr/local/bin/darkplaces-quake" install -dm755 "$TMPDIR/usr/local/share/applications" install -Dm644 $SRCDIR/darkplaces-quake.desktop "$TMPDIR/usr/local/share/applications/darkplaces-quake.desktop" install -dm755 "$TMPDIR/usr/local/share/darkplaces-quake/id1" install -Dm644 $SRCDIR/darkplaces-quake.cfg "$TMPDIR/usr/local/share/darkplaces-quake/id1/config.cfg" # Delete compilation work directory popd rm -r -f $WRKDIR # Strip executables find $TMPDIR | xargs file | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded ###################################################### # Clear unusefull files ###################################################### #remove unused file(s) rm -Rf $TMPDIR/usr/local/include rm -Rf $TMPDIR/usr/local/lib/pkgconfig rm -f $TMPDIR/usr/local/lib/*.a $TMPDIR/usr/local/lib/*.la rm -f $TMPDIR/usr/local/lib/qf-plugins/*.a $TMPDIR/usr/local/lib/qf-plugins/*.la ################################################### # Startup script ################################################### mkdir -p $TMPDIR/usr/local/tce.installed cat >$TMPDIR/usr/local/tce.installed/$PACKAGE </dev/null || true done EOS ################################################### # Create extensions ################################################### sudo chown -R root:root $TMPDIR sudo chown root:staff $TMPDIR/usr/local/tce.installed sudo chmod 775 $TMPDIR/usr/local/tce.installed sudo chown tc:staff $TMPDIR/usr/local/tce.installed/* sudo chmod 755 $TMPDIR/usr/local/tce.installed/* mksquashfs $TMPDIR $OUTDIR/$EXTNAM.tcz -noappend -no-xattrs sudo rm -rf $TMPDIR ################################################### # Update info/tree/dep/build-dep cp $EXTNAM.tcz.build-dep $OUTDIR/ for INFO in *.tcz.info; do TCZ=${INFO%%.info} SIZE=$(ls -sh "$OUTDIR/$TCZ" | cut -f1 -d' ') sed -re "s/\{SIZE\}/$SIZE/g" -e "s/\{TITLE\}/$TCZ/g" -e "s/\{VERSION\}/$VERSION/g" <$INFO >$OUTDIR/$INFO if [ -f $TCZ.tree ]; then cp $TCZ.tree $OUTDIR/$TCZ.tree cat $TCZ.tree | grep -wv "$TCZ" | sed -re 's/^[ \t]+//' | sort | uniq > $OUTDIR/$TCZ.dep fi done ################################################### pushd $OUTDIR submitqc --libs --tcz=$EXTNAM.tcz popd