summaryrefslogtreecommitdiffstats
path: root/games/desmume/desmume.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'games/desmume/desmume.SlackBuild')
-rw-r--r--games/desmume/desmume.SlackBuild135
1 files changed, 74 insertions, 61 deletions
diff --git a/games/desmume/desmume.SlackBuild b/games/desmume/desmume.SlackBuild
index 4e5fec368b..45531361b6 100644
--- a/games/desmume/desmume.SlackBuild
+++ b/games/desmume/desmume.SlackBuild
@@ -1,8 +1,8 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for desmume
-# Copyright 2009-2015 Larry Hajali <larryhaja[at]gmail[dot]com>
+# Copyright 2009-2015 Larry Hajali <email removed>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,97 +22,110 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20230605 bkw:
+# - new maintainer.
+# - update for v0.9.13.
+# - fix typo in .desktop file.
+# - fix doinst.sh.
+# - remove zziplib from REQUIRES (desmume doesn't use it at all).
+# - remove gtkglext from REQUIRES (desmume doesn't use it, even though
+# the README.LIN claims it does).
+# - remove mention of optional lua dep in README, because it's not real
+# (see src/frontend/posix/meson.build; it's commented out).
+
+# Notes:
+
+# agg and soundtouch are actually optional. leave them in REQUIRES for
+# now because I'm not feeling motivated enough to test what happens if
+# you build without them.
+
+# git repo here: https://github.com/TASEmulators/desmume
+# check for updates: https://github.com/TASEmulators/desmume/tags
+# game ROMs here: https://vimm.net/vault/DS (ad-ridden)
+
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=desmume
-VERSION=${VERSION:-0.9.11}
+VERSION=${VERSION:-0.9.13}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
-CWD=$(pwd)
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
fi
set -e
+TARVER="release_$( echo $VERSION | sed 's,\.,_,g' )"
+
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM-$TARVER
+tar xvf $CWD/$PRGNAM-$TARVER.tar.gz
+cd $PRGNAM-$TARVER
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-
-# Fix end-of-line encoding.
-for i in AUTHORS; do
- cp -a $i ${i}.new
- sed -i 's/\r//' ${i}.new
- touch -r $i ${i}.new
- mv ${i}.new $i
-done
-
-# Fix missing header.
-patch -p1 < $CWD/osmesa-header-fix.patch
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --bindir=/usr/games \
- --mandir=/usr/man \
- --enable-osmesa \
- --enable-hud \
- --enable-gdb-stub \
- --enable-wifi \
- --enable-openal \
- --enable-glade \
- --enable-glx \
- --with-x \
- --build=$ARCH-slackware-linux
-
-make
-make install DESTDIR=$PKG
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- AUTHORS ChangeLog COPYING INSTALL README README.LIN ds*.txt \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} + -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} +
+
+cd $PRGNAM
+mkdir -p src/frontend/posix/build
+cd src/frontend/posix/build
+ CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS" \
+ meson .. \
+ --buildtype=release \
+ --prefix=/usr \
+ --bindir=/usr/games \
+ --mandir=/usr/man \
+ --optimization=2 \
+ --strip \
+ -Dc_args='-minline-all-stringops -D_FORTIFY_SOURCE=2' \
+ -Db_pie=true \
+ -Dopenal=true \
+ -Dwifi=true
+
+ "${NINJA:=ninja}"
+ DESTDIR=$PKG $NINJA install
+cd -
+
+# 20230605 bkw: this would drive me insane if I didn't fix it:
+sed -i 's,Nintento,Nintendo,g' $PKG/usr/share/applications/*.desktop
+
+gzip -9 $PKG/usr/man/man*/*
+
+PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKGDOC
+cp -a AUTHORS ChangeLog COPYING README README.LIN doc/ds*.txt $PKGDOC
+cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE