From 32b4596217a5c9c295a3f1b4743418369dc98829 Mon Sep 17 00:00:00 2001 From: Erik Hanson Date: Tue, 18 Dec 2012 16:59:06 -0500 Subject: games/bsnes: Updated build, new maintainer. Signed-off-by: dsomero --- games/bsnes/README | 9 +++-- games/bsnes/bsnes-v091.patch | 88 ++++++++++++++++++++++++++++++++++++++++++++ games/bsnes/bsnes.SlackBuild | 30 +++++---------- 3 files changed, 103 insertions(+), 24 deletions(-) create mode 100644 games/bsnes/bsnes-v091.patch 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 +# Maintained by Erik Hanson 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 -- cgit v1.2.3