aboutsummaryrefslogtreecommitdiff
path: root/games/jfsw/jfsw.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'games/jfsw/jfsw.SlackBuild')
-rw-r--r--games/jfsw/jfsw.SlackBuild45
1 files changed, 37 insertions, 8 deletions
diff --git a/games/jfsw/jfsw.SlackBuild b/games/jfsw/jfsw.SlackBuild
index 2d2fa28a3bd91..bf783c30a5e93 100644
--- a/games/jfsw/jfsw.SlackBuild
+++ b/games/jfsw/jfsw.SlackBuild
@@ -7,13 +7,21 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
-# 20180710 bkw:
+# 20180710 bkw: BUILD=2
# - updated for 20180424_8fc2d54 (latest git).
# - finally fix long-standing segfault bug.
# - document new optional deps in README.
# - make slack-desc show runtime library deps.
-# - remove freepats from REQUIRES. I've never been able to get the
-# music to play in jfsw anyway.
+# - remove freepats from REQUIRES. I've never been able to get
+# jfsw to play music using them anyway.
+# - expand the section on the full-version sw.grp, move to
+# separate README_game_data.txt. Found out about Wanton Destruction,
+# it's now documented there too.
+# - add README_music.txt, explaining how to get the music working.
+# turned out to be quite a lengthy project...
+# - expand README a bit, mention gog.com free download.
+# - allow fluidsynth builds to work even if fluidsynth built with JACK.
+# - add SDL2=no and FLUID=no build options.
# When updating to the latest commit of jfsw, we gotta make sure we
# get the correct commits of the other 3 sources (jfaudiolib, jfbuild,
@@ -30,7 +38,7 @@
PRGNAM=jfsw
VERSION=${VERSION:-20180424_8fc2d54}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -112,7 +120,29 @@ find -L . \
# I came up with a band-aid to work around the segfault. Stops the
# fire button from working the same as a Y keypress (or at all), in Y/N
# prompts. Patch was sent upstream: https://github.com/jonof/jfsw/issues/14
-patch -p1 < $CWD/fixsegfault.diff
+patch -p1 < $CWD/patches/fixsegfault.diff
+
+# 20180712 bkw: one liner attempt to get SDL (1.2 only) CD-audio support
+# working. It turns out there's something worse wrong, I can't even get
+# the example code from libsdl.org to play a CD (it'll list the tracks,
+# but SDL_CDPlayTracks() doesn't work, the drive won't even spin up).
+# Since this is SDL 1.2, not 2.x, any attempt to ask for help from an
+# SDL developer or expert is going to be answered with "port your code to
+# SDL 2.x!", so I'm just documenting CD support in jfsw as being broken.
+#patch -p1 < $CWD/patches/sdl_cdrom_fix.diff
+
+# 20180712 bkw: if fluidsynth happens to have been built with optional
+# JACK support, it'll be the default driver and jfsw will try to use it.
+# This doesn't actually work, so:
+patch -p1 < $CWD/patches/dont_use_jack.diff
+
+# 20180712 bkw: we have sdl.pc (not sdl1.pc) for SDL 1.2.x:
+patch -p1 < $CWD/patches/sdl1_fix.diff
+
+# 20180712 bkw: upstream doesn't provide a way to override autodetection
+# of SDL2 and fluidsynth, so I do it with a couple of patches:
+[ "${SDL2:-yes}" = "no" ] && patch -p1 < $CWD/patches/disable_sdl2.diff
+[ "${FLUID:-yes}" = "no" ] && patch -p1 < $CWD/patches/disable_fluid.diff
# 20180711 bkw: The -Wno-return-type isn't needed for gcc but does no
# harm. Left in place in case someone wants to build this with clang
@@ -120,7 +150,7 @@ patch -p1 < $CWD/fixsegfault.diff
# 20180711 bkw: JFAUDIOLIB_USE_SDLMIXER=1 doesn't work (build fail due
# to missing driver_sdlmixer.c). Maybe someday it'll work and then we
-# can maybe hear the in-game music? (or not?)
+# hear the demo music without having to install fluidsynth?
make \
RELEASE=1 \
@@ -128,8 +158,7 @@ make \
CFLAGS="$SLKCFLAGS -Wno-return-type" \
CXXFLAGS="$SLKCFLAGS"
-# So far, we haven't got options to disable the optional stuff, but
-# at least document what the binary package needs in its slack-desc.
+# Document what the binary package needs in its slack-desc.
BIN_NAME=sw
SDLVER=1.2
WITHFLUID=without