summaryrefslogtreecommitdiffstats
path: root/games/snes9x
diff options
context:
space:
mode:
author B. Watson <yalhcru@gmail.com>2021-10-14 16:42:12 -0400
committer Willy Sudiarto Raharjo <willysr@slackbuilds.org>2021-10-29 17:07:13 +0700
commitef7a5ef24d6df01cf0ce60df57b26df0f061b705 (patch)
tree4802f969f58cfbf8350d6d39cd8f71488c930af2 /games/snes9x
parente14b18ddf725c12baf62adfd6937aad2e8bc4bdd (diff)
downloadslackbuilds-ef7a5ef24d6df01cf0ce60df57b26df0f061b705.tar.gz
slackbuilds-ef7a5ef24d6df01cf0ce60df57b26df0f061b705.tar.xz
games/snes9x: Downgrade to v1.59 due to crashes.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'games/snes9x')
-rw-r--r--games/snes9x/README38
-rw-r--r--games/snes9x/snes9x.SlackBuild32
-rw-r--r--games/snes9x/snes9x.info6
3 files changed, 48 insertions, 28 deletions
diff --git a/games/snes9x/README b/games/snes9x/README
index 7583521398..859bd56325 100644
--- a/games/snes9x/README
+++ b/games/snes9x/README
@@ -1,23 +1,30 @@
snes9x (Super Nintendo Entertainment System emulator)
-Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES)
-emulator. It basically allows you to play most games designed for the SNES
-and Super Famicom Nintendo game systems on your PC or Workstation. The
-games include some real gems that were only ever released in Japan.
+Snes9x is a portable, freeware Super Nintendo Entertainment System
+(SNES) emulator. It basically allows you to play most games designed
+for the SNES and Super Famicom Nintendo game systems on your PC or
+Workstation. The games include some real gems that were only ever
+released in Japan.
When you first run snes9x:
-- The first thing you'll want to do is configure the controls. By default
- there are *no* controls set up; you'll be unable to play any games! The
- config is under Options -> Preferences, in the Joypads tab. You can
- configure either keyboard or joystick/gamepad controls, but not both.
+- The first thing you'll want to do is configure the controls. By
+ default there are *no* controls set up; you'll be unable to play any
+ games! The config is under Options -> Preferences, in the Joypads
+ tab. You can configure either keyboard or joystick/gamepad controls,
+ but not both.
-- If the game audio is choppy or distorted, try setting the sound driver
- to Pulse or ALSA (Options -> Preferences -> Sound tab). Specifically,
- avoid SDL audio (unfortunately it's the default if PULSE=no).
+- If the game audio is choppy or distorted, try setting the
+ sound driver to Pulse or ALSA (Options -> Preferences -> Sound
+ tab). Specifically, avoid SDL audio (unfortunately it's the default
+ if PULSE=no).
Notes:
+- This is not the latest release of snes9x. Version 1.60 crashes under
+ pre-15.0 Slackware-current, so version 1.59 is packaged here. This
+ will be revisited sometime after Slackware 15.0 is released.
+
- The package can optionally include the snes9x libretro core, for use
with RetroArch. By default, the core will be built if RetroArch is
installed. You can set RETROARCH=yes to force the core to be built,
@@ -25,13 +32,8 @@ Notes:
doesn't have to be installed to build the libretro core, but it's
useless without RetroArch installed.
-- Starting with 1.56.1, you might notice some user interface
- differences. This is because 1.55 used GTK+-3.0, but 1.56 and newer
- require a version of GTK+-3.0 that's newer than Slackware 14.2
- provides. So, starting with 1.56, this build uses the GTK+-2.0 UI.
-
- Starting with 1.57, OSS audio is disabled by default. Most users
won't be affected, since pulseaudio is now the default audio system on
Slackware, and ALSA is the fallback option. If you *need* OSS support,
- set OSS=yes in the script's environment. You may also disable PulseAudio
- by setting PULSE=no in the environment.
+ set OSS=yes in the script's environment. You may also disable
+ PulseAudio by setting PULSE=no in the environment.
diff --git a/games/snes9x/snes9x.SlackBuild b/games/snes9x/snes9x.SlackBuild
index 014ea50ca8..eb4fdf4f2a 100644
--- a/games/snes9x/snes9x.SlackBuild
+++ b/games/snes9x/snes9x.SlackBuild
@@ -6,6 +6,19 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20211014 bkw: *downgrade* to 1.59, for now at least. 1.60 crashes
+# immediately if built with gtk+2 and started with a ROM filename.
+# If you pick a ROM from within the app, it'll work sometimes, but
+# sometimes it'll crash. When build with gtk+3, it crashes any time
+# you try to open the Preferences dialog while a ROM is loaded. I
+# also tried the latest git, it acts the same as 1.60 (except that it
+# can't be built with gtk+2 any more). I can't get 1.59 to crash, so
+# that's what I'm packaging. I don't know if the issues with 1.60 are
+# something to do with -current (something that might be fixed before
+# 15.0 releases) or something broken upstream. If you're reading this
+# after Slackware 15.0 has been released, please remind me to look
+# into it again.
+
# 20191126 bkw: update for 1.60. Upstream has switched from autotools
# to meson for the build system, so this script can no longer build
# old versions.
@@ -59,7 +72,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=snes9x
-VERSION=${VERSION:-1.60}
+VERSION=${VERSION:-1.59}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -72,9 +85,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
@@ -105,7 +115,7 @@ mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
# Don't extract the stuff we don't need, this saves 7.9MB in $TMP.
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz \
+tar xvf $CWD/$PRGNAM-$VERSION.tar.?z \
--wildcards --exclude '*/win32/*' \
--exclude '*/macosx/*' --exclude '*/unix/*'
cd $PRGNAM-$VERSION
@@ -127,13 +137,21 @@ if [ "${OSS:-no}" = "no" ]; then
WITHOSS=no
fi
+# 20211012 bkw: we can now build with gtk+3
+if [ "${GTK3:-yes}" = "yes" ]; then
+ GTKDEFS="-D gtk3=true -D gtk2=false"
+else
+ GTKDEFS="-D gtk3=false -D gtk2=true"
+fi
+
+SLKCFLAGS+=" -DNDEBUG"
mkdir build
cd build
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
meson .. \
$PULSEOPT $OSSOPT \
- -D gtk3=false -D gtk2=true \
+ $GTKDEFS \
--buildtype=release \
--infodir=/usr/info \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -141,7 +159,7 @@ cd build
--mandir=/usr/man \
--prefix=/usr \
--sysconfdir=/etc
- "${NINJA:=ninja}"
+ "${NINJA:=ninja}" -v
DESTDIR=$PKG $NINJA install
mv $PKG/usr/bin $PKG/usr/games
cd ..
diff --git a/games/snes9x/snes9x.info b/games/snes9x/snes9x.info
index f09e04f9cb..38e6780a01 100644
--- a/games/snes9x/snes9x.info
+++ b/games/snes9x/snes9x.info
@@ -1,8 +1,8 @@
PRGNAM="snes9x"
-VERSION="1.60"
+VERSION="1.59"
HOMEPAGE="https://github.com/snes9xgit/snes9x"
-DOWNLOAD="https://github.com/snes9xgit/snes9x/archive/1.60/snes9x-1.60.tar.gz"
-MD5SUM="1e0d5d5209b8018080bca0aa5da02dff"
+DOWNLOAD="https://github.com/snes9xgit/snes9x/archive/1.59/snes9x-1.59.tar.gz"
+MD5SUM="eab4e3123366711e4bcb014fa87d7ead"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""