#!/bin/bash # Slackware build script for ECWolf # Original author: Hunter Sezen. # Modified and now maintained by B. Watson . # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. # 20251215 bkw: update for v1.4.2. # 20241205 bkw: BUILD=2. # - add patch from Brent Spillner, which fixes compilation on -current. # 20240904 bkw: # - new maintainer. # - update for v1.4.1. # - new version has .desktop and icon, so add doinst.sh. cd $(dirname $0) ; CWD=$(pwd) PRGNAM=ecwolf VERSION=${VERSION:-1.4.2} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi 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} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" else SLKCFLAGS="-O2" fi set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION-src tar xvf $CWD/$PRGNAM-$VERSION-src.tar.xz cd $PRGNAM-$VERSION-src chown -R root:root . find . ! -type l -a \ \( -perm /111 -a ! -perm 755 -a -exec chmod -f 755 {} + \) -o \ \( ! -perm /111 -a ! -perm 644 -a -exec chmod -f 644 {} + \) # 20241205 bcs: remove inappropriate const qualifier from # TWeakPtr::Swap() argument. # 20251215 bkw: no longer needed in 1.4.2, but keep around for a while. [ "$VERSION" = "1.4.1" ] && patch -p1 < $CWD/ecwolf-gcc-14.patch # 20251215 bkw: hardcoded stuff, not touched by cmake variables. # This used to be /usr, changed to /usr/local in 1.4.2, change it back. sed -i 's,/usr/local,/usr,g' src/versiondefs.h src/wl_iwad.cpp mkdir -p build cd build cmake \ -DCMAKE_C_FLAGS_RELEASE="$SLKCFLAGS -DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE="$SLKCFLAGS -DNDEBUG" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_MANDIR=man \ -DCMAKE_INSTALL_DOCDIR=doc/$PRGNAM-$VERSION \ -Wno-dev \ -DCMAKE_BUILD_TYPE=Release .. make VERBOSE=1 make install/strip DESTDIR=$PKG install -Dm0644 $PRGNAM.pk3 $PKG/usr/share/games/$PRGNAM/$PRGNAM.pk3 cd .. gzip -9 $PKG/usr/man/man*/* # 20240904 bkw: empty dir for the data files. mkdir -p $PKG/usr/share/games/wolf3d PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION mkdir -p $PKGDOC mv $PKG/usr/share/doc/$PRGNAM/* $PKGDOC rm -rf $PKG/usr/share/doc cp -a README.md docs/*.txt $PKGDOC cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$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