From 11e081a76223c1e81402dd3d1b13d375c083e9f4 Mon Sep 17 00:00:00 2001 From: B. Watson Date: Wed, 24 Feb 2021 01:57:52 -0500 Subject: games/prboom-plus: Updated for version 2.6um. Signed-off-by: B. Watson Signed-off-by: Willy Sudiarto Raharjo --- games/prboom-plus/README | 15 +++++--- games/prboom-plus/prboom-plus.SlackBuild | 65 ++++++++++++++++++++------------ games/prboom-plus/prboom-plus.info | 8 ++-- games/prboom-plus/slack-desc | 4 +- 4 files changed, 55 insertions(+), 37 deletions(-) diff --git a/games/prboom-plus/README b/games/prboom-plus/README index 70ec066d88..b42063184f 100644 --- a/games/prboom-plus/README +++ b/games/prboom-plus/README @@ -4,14 +4,17 @@ PrBoom+ is a Doom source port developed from the original PrBoom project. Features uncapped framerate, widescreen aspect ratios, soundfont -support, variable gamespeed, re-record, walkcam, chasecam, full full -mouselook, fov and other features along with full compatibility with -the original Doom/Doom2 engines. - -FluidSynth, needed for soundfont support, is an optional dependency. +support, variable gamespeed, re-record, walkcam, chasecam, full +mouselook, variable FOV, and other features along with full +compatibility with the original Doom/Doom2 engines. The documentation refers to a directory into which an IWAD file (doom.wad, doom2.wad, tnt.wad, plutonia.wad, or the -shareware doom1.wad) may be placed. The IWAD directory is +shareware doom1.wad) may be placed. The IWAD directory is /usr/share/games/doom. If you don't have any IWADs, install doom_shareware_data to play shareware Doom. + +Optional dependencies, autodetected: + +fluidsynth - for MIDI soundfont support. +portmidi - for the PortMIDI backend. Most users won't need this. diff --git a/games/prboom-plus/prboom-plus.SlackBuild b/games/prboom-plus/prboom-plus.SlackBuild index ed96afa6b7..aa14bfb9c2 100644 --- a/games/prboom-plus/prboom-plus.SlackBuild +++ b/games/prboom-plus/prboom-plus.SlackBuild @@ -7,6 +7,14 @@ # Original had no license. Modified version released under the WTFPL. See # http://www.wtfpl.net/txt/copying/ for details. +# 20210223 bkw: update for v2.6um. Upstream switched to cmake, +# so we can't build previous versions any more. A note to myself: +# SDL2 really is required. SDL2_(net|mixer|image) are technically +# optional. But I'm keeping them listed as requirements because users +# will get annoyed if they accidentally build a Doom engine that's +# incapable of playing music, or joining multiplayer games, or using +# HQ textures. + # 20200416 bkw: # - take over maintenance # - i486 => i586 @@ -16,7 +24,7 @@ # - game binaries in /usr/games PRGNAM=prboom-plus -VERSION=${VERSION:-2.5.1.7um} +VERSION=${VERSION:-2.6um} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -49,6 +57,17 @@ fi set -e +# If modern cmake is missing, the error message from the old 14.2 cmake +# doesn't really make it clear why it fails, so add this check to avoid +# receiving "why won't this build?" emails. This stanza can go away after +# 15.0 is released. +if ! [ -x /opt/cmake-202x/bin/cmake ]; then + echo "*** Missing required dependency: cmame-202x. Aborting." 1>&2 + exit 1 +fi + +export PATH=/opt/cmake-202x/bin:$PATH + rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP @@ -60,28 +79,25 @@ find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ [ -d prboom2 ] && cd prboom2 -[ -x configure ] || sh bootstrap - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --bindir=/usr/games \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --build=$ARCH-slackware-linux \ - --datarootdir=/usr \ - --enable-gl - -make -make install-strip DESTDIR=$PKG - -# Configure script insists on putting docs in /usr/share/doc, even when told not to. -# Also, the version number in the doc dir is wrong... -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -mv $PKG/usr/share/doc/$PRGNAM-*/* $PKG/usr/doc/$PRGNAM-$VERSION -rm -rf $PKG/usr/share/doc + +# upstream hardcoded paths, can't override on cmake command line. +sed -i '/install/s,/bin,/games,' src/CMakeLists.txt +sed -i '/^set(CMAKE_INSTALL_DOCDIR/d' CMakeLists.txt + +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DCMAKE_INSTALL_BINDIR=games \ + -DCMAKE_INSTALL_MANDIR=/usr/man \ + -DCMAKE_INSTALL_DOCDIR=/usr/doc/$PRGNAM-$VERSION \ + -DCMAKE_BUILD_TYPE=Release .. + make + make install/strip DESTDIR=$PKG +cd .. gzip $PKG/usr/man/man?/*.? @@ -93,8 +109,7 @@ cp ICONS/$PRGNAM.desktop $PKG/usr/share/applications cp ICONS/$PRGNAM.svg $PKG/usr/share/icons/hicolor/scalable/apps cp ICONS/$PRGNAM.bash $PKG/usr/share/bash-completion/completions/$PRGNAM -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a TODO $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS COPYING README NEWS $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/games/prboom-plus/prboom-plus.info b/games/prboom-plus/prboom-plus.info index a80ee5990d..277b1866e8 100644 --- a/games/prboom-plus/prboom-plus.info +++ b/games/prboom-plus/prboom-plus.info @@ -1,10 +1,10 @@ PRGNAM="prboom-plus" -VERSION="2.5.1.7um" +VERSION="2.6um" HOMEPAGE="http://prboom-plus.sourceforge.net" -DOWNLOAD="https://github.com/coelckers/prboom-plus/archive/v2.5.1.7um/prboom-plus-2.5.1.7um.tar.gz" -MD5SUM="2c36f7902f837057c7e299adb20e81fb" +DOWNLOAD="https://github.com/coelckers/prboom-plus/archive/v2.6um/prboom-plus-2.6um.tar.gz" +MD5SUM="5e294659988c0208fefa292557d8b746" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="SDL2 SDL2_net SDL2_image SDL2_mixer" +REQUIRES="cmake-202x SDL2 SDL2_net SDL2_image SDL2_mixer" MAINTAINER="B. Watson" EMAIL="yalhcru@gmail.com" diff --git a/games/prboom-plus/slack-desc b/games/prboom-plus/slack-desc index bd3b0e71f3..196aeff751 100644 --- a/games/prboom-plus/slack-desc +++ b/games/prboom-plus/slack-desc @@ -13,7 +13,7 @@ prboom-plus: project. prboom-plus: prboom-plus: Features uncapped framerate, widescreen aspect ratios, FluidSynth prboom-plus: support, variable gamespeed, re-record, walkcam, chasecam, full -prboom-plus: full mouselook, fov and other features along with full compatibility -prboom-plus: with the original Doom/Doom2 engines. +prboom-plus: mouselook, variable fov and other features along with full +prboom-plus: compatibility with the original Doom/Doom2 engines. prboom-plus: prboom-plus: http://prboom-plus.sourceforge.net -- cgit v1.2.3