diff options
Diffstat (limited to 'games/prboom-plus')
-rw-r--r-- | games/prboom-plus/README | 17 | ||||
-rw-r--r-- | games/prboom-plus/doinst.sh | 10 | ||||
-rw-r--r-- | games/prboom-plus/prboom-plus.SlackBuild | 63 | ||||
-rw-r--r-- | games/prboom-plus/prboom-plus.info | 8 |
4 files changed, 72 insertions, 26 deletions
diff --git a/games/prboom-plus/README b/games/prboom-plus/README index 401bdfb675..2cd75e32f9 100644 --- a/games/prboom-plus/README +++ b/games/prboom-plus/README @@ -16,3 +16,20 @@ doom_shareware_data to play shareware Doom. Optional dependencies, autodetected: portmidi - for the PortMIDI backend. Most users won't need this. +dumb - somehow, this can be used for music. No idea how to enable it, + but if dumb is detected, prboom-plus will link with it. + +*** NOTE *** + +Currently the SDL MIDI player is broken. The default player in this +build is OPL2. You won't be able to select SDL from the "Preferred +MIDI Player" menu in the game options. If you have an old config +file that sets snd_midiplayer to "sdl", the music will sound *really* +messed up. If this happens, simply edit ~/.prboom-plus/prboom-plus.cfg +and remove the line containing snd_midiplayer. Or just delete the +file, to start with default settings. + +If you don't like the sound of the OPL2 music, you can try using +FluidSynth instead (Options -> General -> Preferred MIDI Player in the +user interface). Other options (PortMIDI and ALSA) may be usable but +will require more setup, outside the scope of this README. diff --git a/games/prboom-plus/doinst.sh b/games/prboom-plus/doinst.sh new file mode 100644 index 0000000000..daf1ce3148 --- /dev/null +++ b/games/prboom-plus/doinst.sh @@ -0,0 +1,10 @@ + +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/games/prboom-plus/prboom-plus.SlackBuild b/games/prboom-plus/prboom-plus.SlackBuild index d9fd48bdbd..373411b1ad 100644 --- a/games/prboom-plus/prboom-plus.SlackBuild +++ b/games/prboom-plus/prboom-plus.SlackBuild @@ -3,17 +3,23 @@ # Slackware build script for prboom-plus # Originally written by Dugan Chen (email removed) -# Modified and now maintained by B. Watson <yalhcru@gmail.com>. +# Modified and now maintained by B. Watson <urchlay@slackware.uk>. # Original had no license. Modified version released under the WTFPL. See # http://www.wtfpl.net/txt/copying/ for details. +# 20230714 bkw: update for v2.6.66. SDL MIDI is still broken. +# - change default fluidsynth soundfont to one that exists in Slackware. +# - document optional dependency dumb. + +# 20220622 bkw: update for v2.6.2, add missing doinst.sh. + +# 20211027 bkw: +# - update for v2.6.1um. +# - band-aid for segfaults on -current (see below). this isn't +# a side-effect of the version upgrade: it happens on 2.6um also. + # 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. +# so we can't build previous versions any more. # 20200416 bkw: # - take over maintenance @@ -26,7 +32,7 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=prboom-plus -VERSION=${VERSION:-2.6um} +VERSION=${VERSION:-2.6.66} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -39,9 +45,6 @@ if [ -z "$ARCH" ]; then esac fi -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 @@ -67,17 +70,6 @@ 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 @@ -94,9 +86,35 @@ find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ sed -i '/install/s,/bin,/games,' src/CMakeLists.txt sed -i '/^set(CMAKE_INSTALL_DOCDIR/d' CMakeLists.txt +# 20230714 bkw: use a default soundfont that exists. allows choosing the +# fluidsynth midi option. personally I think opl2 sounds better, but *shrug*. +US="/usr/share" +sed -i '/snd_soundfont/s,"'$US'[^"]*","'$US'/minuet/soundfonts/GeneralUser-v1.47.sf2",' src/m_misc.c + +MIXEROPT=ON +if [ "${BANDAID:-yes}" = "yes" ]; then + # 20211027 bkw: Band-aid. The game segfaults when the midi backend + # is set to "sdl". Adding -DWITH_MIXER=OFF stops it segfaulting, but + # it sounds *horrible*. So this bit of sed changes the default sound + # backend to "opl2", which doesn't sound as nice, but allows the game + # to run. Also it increases the default volume, since the opl2 synth + # is quieter. + # 20230714 bkw: this is still needed for v2.6.66. the fault is in + # Slackware 15.0, so it's not going to change soon. + MIXEROPT=OFF + sed -i -e '/"snd_midiplayer"/s,"sdl","opl2",' \ + -e '/"music_volume"/s,8,12,' \ + src/m_misc.c + + # 2nd half of the band-aid: prevent the user from choosing SDL MIDI + # from the menu. + sed -i '/"snd_midiplayer"/s,midiplayers,&+1,' src/m_menu.c +fi + mkdir -p build cd build cmake \ + -DWITH_MIXER=$MIXEROPT \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr \ @@ -124,6 +142,7 @@ 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 diff --git a/games/prboom-plus/prboom-plus.info b/games/prboom-plus/prboom-plus.info index 24990de824..0b35a74d52 100644 --- a/games/prboom-plus/prboom-plus.info +++ b/games/prboom-plus/prboom-plus.info @@ -1,10 +1,10 @@ PRGNAM="prboom-plus" -VERSION="2.6um" +VERSION="2.6.66" HOMEPAGE="http://prboom-plus.sourceforge.net" -DOWNLOAD="https://github.com/coelckers/prboom-plus/archive/v2.6um/prboom-plus-2.6um.tar.gz" -MD5SUM="5e294659988c0208fefa292557d8b746" +DOWNLOAD="https://github.com/coelckers/prboom-plus/archive/v2.6.66/prboom-plus-2.6.66.tar.gz" +MD5SUM="62b29843ba4ab1f442be8fe469ee523f" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" MAINTAINER="B. Watson" -EMAIL="yalhcru@gmail.com" +EMAIL="urchlay@slackware.uk" |