#!/bin/bash # # BilliardGL (The free OpenGL Billard Game) # http:/www.tobias-nopper.de/BillardGL/index-en.html # # Heavily based on the Slackware 12.2 SlackBuild # # Packager: Luca Cireddu # luca@lucacireddu.it # # Config variables: PKGNAME="billardgl" VERSION="1.75" ARCH=${ARCH:-$(arch)} BUILD="1" PACKAGER_TAG="srd" # Sources URLs: SRC_FILENAME="BillardGL-$VERSION.tar.gz" DN_URL="http://prdownloads.sourceforge.net/$PKGNAME/$SRC_FILENAME" LANG_SRC="BillardGL-LP-010.zip" LANG_URL="http://prdownloads.sourceforge.net/$PKGNAME/$LANG_SRC" # Destinations folders: BLD_PREFIX="/usr" BLD_DOCS="${BLD_PREFIX}/doc" # Working dirs: CWD="$(pwd)" TMP="${TMP:-/tmp/tgz_build-$PKGNAME}" PKG="$TMP/package" # Cleaning and/or creating build directories: rm -rf $PKG >> /dev/null 2>> /dev/null rm -rf $TMP >> /dev/null 2>> /dev/null mkdir -p $PKG mkdir -p $TMP # Untar the source archive and chown and chmod its files: if [ ! -e "$CWD/$SRC_FILENAME" ]; then (cd $CWD; wget "$DN_URL") fi if [ ! -e "$CWD/$LANG_SRC" ]; then (cd $CWD; wget "$LANG_URL") fi cd $TMP unzip "$CWD/$LANG_SRC" || exit 1 tar xzvf "$CWD/$SRC_FILENAME" || exit 1 cd $TMP/BillardGL-$VERSION/src || exit 1 chown -Rv root:root . chmod -R u+w,go+r-w,a-s . # Building: make || exit 1 # Installation: mkdir -p $PKG/$BLD_PREFIX/bin cp $TMP/BillardGL-$VERSION/src/BillardGL $PKG/$BLD_PREFIX/bin/$PKGNAME mkdir -p $PKG/usr/share/BillardGL cp -Rv $TMP/BillardGL-$VERSION/src/Texturen $PKG/usr/share/BillardGL cp -Rv $TMP/BillardGL-$VERSION/src/lang $PKG/usr/share/BillardGL cp -Rv $TMP/BillardGL-LP-010/* $PKG/usr/share/BillardGL/lang rm -v $PKG/usr/share/BillardGL/lang/Install.txt # Strip binaries: ( cd $PKG find | xargs file | sed -n "/ELF.*executable/b PRINT;/ELF.*shared object/b PRINT;d;:PRINT s/\(.*\):.*/\1/;p;" | xargs strip --strip-unneeded 2> /dev/null ) # Add a documentation directory: mkdir -p $PKG/$BLD_DOCS/$PKGNAME-$VERSION cp -a README $PKG/$BLD_DOCS/$PKGNAME-$VERSION 2>/dev/null # Move doc from /usr/share/doc to $BLD_DOCS/: if [ -d $PKG/usr/share/doc ]; then ( cd $PKG/usr mv share/doc/$PKGNAME*/* doc/$PKGNAME-$VERSION; rmdir -p share/doc/$PKGNAME*/; ) fi # Make Slackware package info: mkdir -p $PKG/install mkdir -p $PKG/$BLD_DOCS/$PKGNAME-$VERSION cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/slack-desc > $PKG/$BLD_DOCS/$PKGNAME-$VERSION/slack-desc cat $CWD/$PKGNAME.SlackBuild > $PKG/$BLD_DOCS/$PKGNAME-$VERSION/$PKGNAME.SlackBuild # Creating slack-required: requiredbuilder -v -y -s $CWD $PKG # Creating the package: cd $PKG chown root:root * -Rv makepkg -l y -c n $CWD/$PKGNAME-$VERSION-$ARCH-${BUILD}${PACKAGER_TAG}.tgz # Remove files if you want: case "$1" in "--cleanup") rm -rf $TMP >> /dev/null 2>> /dev/null ;; esac