#!/bin/bash # Slackware build script for Marathon: Rubicon X # Original author: Hunter Sezen. # Modified and now maintained by B. Watson <urchlay@slackware.uk>. # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. # 20240903 bkw: # - new maintainer. # - relicense as WTFPL. # - update for v20240421. cd $(dirname $0) ; CWD=$(pwd) PRGNAM=marathon-rubicon-data VERSION=${VERSION:-20240421} # Last modified date from the zipfile's http header BUILD=${BUILD:-3} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} ARCH=noarch if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 fi TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} set -eu # install gamedata in opt instead of usr if [ "${OPT:-0}" != 0 ]; then DATA='/opt/AlephOne' else DATA='/usr/share/AlephOne/gamedata' fi ZIPNAME=marathonRubiconX ZIPFILE=$ZIPNAME.zip WRAPPER=marathon-rubicon DATADIR=$PKG$DATA rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT $DATADIR cd $TMP unzip $CWD/$ZIPFILE -d $DATADIR chown -R root:root $DATADIR # NB: the usual find predicate is different (zipfile stores +x permissions # on some files for no good reason) find $DATADIR \ \( -type f -exec chmod 644 {} + \) -o \ \( -type d -exec chmod 755 {} + \) # Write launcher script to the user's path mkdir -p $PKG/usr/games cat > $PKG/usr/games/$WRAPPER <<EOF #!/bin/sh ALEPHONE_DATA="$DATA/Rubicon X" export ALEPHONE_DATA exec alephone "\$@" EOF chmod 0755 $PKG/usr/games/$WRAPPER # Write a desktop file mkdir -p $PKG/usr/share/applications cat > $PKG/usr/share/applications/$WRAPPER.desktop <<EOF [Desktop Entry] Name=Marathon Rubicon X Exec=/usr/games/$WRAPPER Icon=alephone Type=Application Comment=Marathon: Rubicon X (first-person shooter game) Categories=Game;ActionGame; EOF # Don't want this rm -rf $DATADIR/__MACOSX # Remove unneeded hidden files find $DATADIR -name ".[^.]*" -mindepth 1 -print0 | xargs -0r rm -rf # Fix windows formatted scripts set -- $DATADIR/*/Scripts/* for script do tr '\r' '\n' < "$script" > "$script-tmp" mv -- "$script-tmp" "$script" done mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE