summaryrefslogtreecommitdiffstats
path: root/games/bsnes/bsnes.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'games/bsnes/bsnes.SlackBuild')
-rw-r--r--games/bsnes/bsnes.SlackBuild93
1 files changed, 48 insertions, 45 deletions
diff --git a/games/bsnes/bsnes.SlackBuild b/games/bsnes/bsnes.SlackBuild
index 187a0b584c..cfde6e25e0 100644
--- a/games/bsnes/bsnes.SlackBuild
+++ b/games/bsnes/bsnes.SlackBuild
@@ -5,7 +5,7 @@
# Written by Larry Hajali <larryhaja[at]gmail[dot]com>
PRGNAM=bsnes
-VERSION=${VERSION:-0.072}
+VERSION=${VERSION:-0.079}
SRCVER=${VERSION:2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -42,10 +42,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-mkdir $PRGNAM-$VERSION
-cd $PRGNAM-$VERSION
-tar xvf $CWD/${PRGNAM}_v${SRCVER}.tar.bz2
+rm -rf ${PRGNAM}_v${SRCVER}-source
+tar xvf $CWD/${PRGNAM}_v${SRCVER}-source.tar.bz2
+cd ${PRGNAM}_v${SRCVER}-source
find . -type d -exec chmod -R 0755 {} \;
chown -R root:root .
find . \
@@ -54,61 +53,65 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-cd $PRGNAM
+# Patch makefile so SLKCFLAGS are recognized and give option to choose
+# Qt4 or Gtk interface.
+patch -p1 < $CWD/bsnes-0.076-toolkit.patch
+patch -p1 < $CWD/bsnes-0.077-makefile.patch
+
+# Fix snespurify scripts.
+sed -i 's|g++-4.5|g++|g' snespurify/cc-{gtk,qt}.sh
-# Patch makefile so SLKCFLAGS and LIBDIRSUFFIX are recognized.
-cat $CWD/bsnes-0.072-makefile.patch \
- | sed -e "/^\+/s|/lib/|/lib${LIBDIRSUFFIX}/|g" \
- | patch -p1
+cd $PRGNAM
# Remove pulseaudio as there is no package for it at SBo.
# Comment out or delete the following 4 lines to enable pulseaudio.
sed -i \
-e 's|audio.pulseaudio ||' \
-e 's|audio.pulseaudiosimple ||' \
- -e '/pulse/d' ui-qt/Makefile
-
-for profile in compatibility performance accuracy; do
- CXXFLAGS="$SLKCFLAGS" \
- make \
- platform=x \
- compiler=gcc \
- prefix=/usr \
- ui=ui-qt \
- profile=$profile
-
- make install DESTDIR=$PKG prefix=/usr profile=$profile
- make clean
-done
-
-# Install the launcher
-cd launcher
-sed -i -e '/^clear/d' -e "s|-O3|$SLKCFLAGS|" cc.sh
-./cc.sh
-install -m 0755 ../out/bsnes $PKG/usr/bin/bsnes
-cd ..
+ -e '/pulse/d' ui{,-gameboy}/Makefile
+
+# Choose whether qt or gtk interface is used. Qt4 is default.
+INTERFACE=${INTERFACE:-QT4}
+if ! [ "$INTERFACE" == 'QT4' ]; then
+ TOOLKIT='gtk'
+else
+ TOOLKIT='qt'
+fi
-# Install plugins.
-for i in snesfilter snesreader supergameboy; do
- cd ../${i}
- CXXFLAGS="$SLKCFLAGS" \
- make \
- platform=x \
- compiler=gcc \
- prefix=/usr
+# Determine which mode to build bsnes.
+# Possible values for PROFILE are accuracy, compatibility, and performance.
+PROFILE=${PROFILE:-accuracy}
- make install DESTDIR=$PKG prefix=/usr
- ( cd $PKG/usr/lib${LIBDIRSUFFIX} ; ln -s lib${i}.so lib${i}.so.1 )
- cd -
-done
+# Determine which mode for profile in compatibility performance accuracy; do
+CXXFLAGS="$SLKCFLAGS" \
+make \
+ platform=x \
+ compiler=gcc \
+ prefix=/usr \
+ toolkit="$TOOLKIT" \
+ profile="$PROFILE"
+
+make install DESTDIR=$PKG prefix=/usr
+cd ..
+
+# Compile snespurify. It helps clean up ROMS for use with bsnes.
+cd snespurify
+# Fix snespurify scripts.
+sed -i -e 's|g++-4.5|g++|g' -e "s|-O3|$SLKCFLAGS|" cc-{gtk,qt}.sh
+if [ "$INTERFACE" == "QT4" ]; then
+ ./cc-qt.sh
+ install -m 0755 snespurify-qt $PKG/usr/bin
+else
+ ./cc-gtk.sh
+ install -m 0755 snespurify-gtk $PKG/usr/bin
+fi
+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/doc/$PRGNAM-$VERSION
-cp -a ui-qt/data/*.html $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-find $PKG/usr/doc -type f -exec chmod 0644 {} \;
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc