summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/bsnes/README9
-rw-r--r--games/bsnes/bsnes-v091.patch88
-rw-r--r--games/bsnes/bsnes.SlackBuild30
3 files changed, 103 insertions, 24 deletions
diff --git a/games/bsnes/README b/games/bsnes/README
index b751ff494e..898af891d9 100644
--- a/games/bsnes/README
+++ b/games/bsnes/README
@@ -7,9 +7,9 @@ This includes speed and game-specific hacks for compatibility. As
a result, the minimum system requirements for bsnes are very high.
Options:
-1) Bsnes now has 2 interfaces to choose from. The default is QT4
-and the other is GTK. If you'd like to choose the GTK interface,
-then pass INTERFACE=gtk to the slackbuild.
+1) Bsnes now has 2 interfaces to choose from. The default is GTK
+and the other is QT. If you'd like to choose the QT interface,
+then pass INTERFACE=qt to the slackbuild.
2) There are 3 modes that bsnes can be built. The 3 modes can no
longer be chosen from within the game. There can only be one mode
@@ -17,3 +17,6 @@ chosen at build time. The 3 modes are compatibility (default),
accuracy, and performance. To choose accuracy modes
pass PROFILE=accuracy to the slackbuild. For performance
mode pass PROFILE=performance to the slackbuild.
+
+Once installed, you will need to copy /usr/share/bsnes/profile/*
+into ~/.config/bsnes/ before running.
diff --git a/games/bsnes/bsnes-v091.patch b/games/bsnes/bsnes-v091.patch
new file mode 100644
index 0000000000..2cf1aa1417
--- /dev/null
+++ b/games/bsnes/bsnes-v091.patch
@@ -0,0 +1,88 @@
+diff -crB bsnes_v091-source/bsnes/target-ethos/Makefile bsnes_v091-source-hh/bsnes/target-ethos/Makefile
+*** bsnes_v091-source/bsnes/target-ethos/Makefile 2012-08-09 19:32:19.000000000 -0400
+--- bsnes_v091-source-hh/bsnes/target-ethos/Makefile 2012-11-01 22:06:29.000000000 -0400
+***************
+*** 16,22 ****
+ # platform
+ ifeq ($(platform),x)
+ ruby := video.glx video.xv video.sdl
+! ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao
+ ruby += input.sdl input.x
+ else ifeq ($(platform),osx)
+ ruby :=
+--- 16,22 ----
+ # platform
+ ifeq ($(platform),x)
+ ruby := video.glx video.xv video.sdl
+! ruby += audio.alsa audio.openal audio.oss audio.ao
+ ruby += input.sdl input.x
+ else ifeq ($(platform),osx)
+ ruby :=
+***************
+*** 76,93 ****
+ sourcery $(ui)/resource/resource.xml $(ui)/resource/resource.cpp $(ui)/resource/resource.hpp
+
+ install:
+! ifeq ($(USER),root)
+! @echo Please do not run make install as root.
+! @echo The installer needs to know your home directory to install important files.
+! else ifeq ($(platform),x)
+! sudo install -D -m 755 out/$(name) $(DESTDIR)$(prefix)/bin/$(name)
+! sudo install -D -m 644 data/$(name).png $(DESTDIR)$(prefix)/share/pixmaps/$(name).png
+! sudo install -D -m 644 data/$(name).desktop $(DESTDIR)$(prefix)/share/applications/$(name).desktop
+!
+! mkdir -p ~/.config/$(name)
+! cp -R profile/* ~/.config/$(name)
+! cp data/cheats.xml ~/.config/$(name)/cheats.xml
+! chmod -R 777 ~/.config/$(name)
+ endif
+
+ uninstall:
+--- 76,102 ----
+ sourcery $(ui)/resource/resource.xml $(ui)/resource/resource.cpp $(ui)/resource/resource.hpp
+
+ install:
+! # edit: hackedhead 2012-11-01: process installation as root for slackware, drop profile into /usr/share
+! # we'll add a note in the readme about where to get the config files
+! #ifeq ($(USER),root)
+! # @echo Please do not run make install as root.
+! # @echo The installer needs to know your home directory to install important files.
+! #else ifeq ($(platform),x)
+! ifeq ($(platform),x)
+! install -D -m 755 out/$(name) $(DESTDIR)$(prefix)/bin/$(name)
+! install -D -m 644 data/$(name).png $(DESTDIR)$(prefix)/share/pixmaps/$(name).png
+! install -D -m 644 data/$(name).desktop $(DESTDIR)$(prefix)/share/applications/$(name).desktop
+!
+! # mkdir -p ~/.config/$(name)
+! # cp -R profile/* ~/.config/$(name)
+! # cp data/cheats.xml ~/.config/$(name)/cheats.xml
+! # chmod -R 777 ~/.config/$(name)
+!
+! install -d -m 644 $(DESTDIR)$(prefix)/share/$(name)/profile
+! cp -R profile/* $(DESTDIR)$(prefix)/share/$(name)/profile
+! cp data/cheats.xml $(DESTDIR)$(prefix)/share/$(name)/profile
+! chmod -R 644 $(DESTDIR)$(prefix)/share/$(name)/profile
+!
+ endif
+
+ uninstall:
+diff -crB bsnes_v091-source/purify/Makefile bsnes_v091-source-hh/purify/Makefile
+*** bsnes_v091-source/purify/Makefile 2012-08-06 17:54:40.000000000 -0400
+--- bsnes_v091-source-hh/purify/Makefile 2012-11-01 21:56:33.000000000 -0400
+***************
+*** 4,10 ****
+ application := purify
+ resource :=
+ flags := -std=gnu++0x -I. -O3 -fomit-frame-pointer
+! link := -s
+
+ ifeq ($(platform),win)
+ resource := resource.o
+--- 4,10 ----
+ application := purify
+ resource :=
+ flags := -std=gnu++0x -I. -O3 -fomit-frame-pointer
+! link := -s -lX11
+
+ ifeq ($(platform),win)
+ resource := resource.o
diff --git a/games/bsnes/bsnes.SlackBuild b/games/bsnes/bsnes.SlackBuild
index f3625a7141..18dc34ae6c 100644
--- a/games/bsnes/bsnes.SlackBuild
+++ b/games/bsnes/bsnes.SlackBuild
@@ -3,10 +3,11 @@
# Slackware build script for bsnes
# Written by Larry Hajali <larryhaja[at]gmail[dot]com>
+# Maintained by Erik Hanson <erik@slackbuilds.org>
PRGNAM=bsnes
VERSION=${VERSION:-091}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -52,21 +53,14 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-cd $PRGNAM
-
-sed -e 's|audio.pulseaudio ||' \
- -e 's|audio.pulseaudiosimple ||' \
- -i 'target-ethos/Makefile'
+# apply the patch to allow proper install on slackware as root (from hackedhead)
+patch -p1 -i $CWD/bsnes-v091.patch
+cd $PRGNAM
moc -i -Iphoenix/qt/ -o phoenix/qt/platform.moc phoenix/qt/platform.moc.hpp
-sed -e 's/sudo install/install/' \
- -i 'target-ethos/Makefile'
-# Choose whether qt or gtk interface is used. Qt4 is default.
-if [ "${INTERFACE:-QT4}" != 'QT4' ]; then
- PHOENIX='gtk'
-else
- PHOENIX='qt'
-fi
+
+# Choose whether a qt or gtk interface is built.
+PHOENIX=${PHOENIX:-gtk}
# Determine which mode to build bsnes.
# Possible values for PROFILE: accuracy, compatibility, and performance.
@@ -83,14 +77,11 @@ make \
make install profile=$PROFILE DESTDIR=$PKG prefix=/usr
cd ..
-# Compile snespurify. It helps clean up ROMS for use with bsnes.
+# Compile purify. It helps clean up ROMS for use with bsnes.
cd purify
# Fix building with QT >= 4.8.0.
moc -i -Iphoenix/qt/ -o phoenix/qt/platform.moc phoenix/qt/platform.moc.hpp
-# Fix snespurify scripts.
-sed -e 's|link := -s|link := -s -lX11|' -i 'Makefile'
-
make \
compiler=gcc \
platform=x \
@@ -103,9 +94,6 @@ cd ..
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-mkdir -p $PKG/usr/share/$PRGNAM/profile
-cp -R bsnes/profile/* $PKG/usr/share/$PRGNAM/profile
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild