summaryrefslogtreecommitdiff
path: root/games/mame/mame.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'games/mame/mame.SlackBuild')
-rw-r--r--games/mame/mame.SlackBuild110
1 files changed, 58 insertions, 52 deletions
diff --git a/games/mame/mame.SlackBuild b/games/mame/mame.SlackBuild
index c7f1e616ec..a39a8165c0 100644
--- a/games/mame/mame.SlackBuild
+++ b/games/mame/mame.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for M.A.M.E.
#
-# Copyright 2010-2014 Erik W. Hanson, Minneapolis, MN, USA
+# Copyright 2010-2015 Erik W. Hanson, Minneapolis, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
# Adapted from sdlmame.SlackBuild, Written by B. Watson (yalhcru@gmail.com)
PRGNAM=mame
-VERSION=${VERSION:-0.155}
+VERSION=${VERSION:-0.159}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -39,21 +39,21 @@ fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
+PKG=$TMP/package-${PRGNAM}
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-march=i486 -mtune=i686"
- SUFFIX=""
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-march=i686 -mtune=i686"
- SUFFIX=""
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-fPIC"
- SUFFIX="64"
+ SLKCFLAGS=""
+ LIBDIRSUFFIX="64"
else
SLKCFLAGS=""
- SUFFIX=""
+ LIBDIRSUFFIX=""
fi
set -e
@@ -61,50 +61,65 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION mame.zip
-unzip $CWD/${PRGNAM}${VERSION/./}s.zip
-mkdir $PRGNAM-$VERSION
-cd $PRGNAM-$VERSION
-unzip ../mame.zip
+rm -rf ${PRGNAM}-${VERSION/./}
+tar xvf $CWD/${PRGNAM}-${PRGNAM}${VERSION/./}.tar.gz || tar xvf $CWD/${PRGNAM}${VERSION/./}.tar.gz
+cd ${PRGNAM}-${PRGNAM}${VERSION/./}
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 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# This patch makes mame look for its config file (mame.ini) in
-# $HOME/.mame, then /etc.
-cat $CWD/ini_path.diff | patch -p0
+# This makes mame look for its config file (mame.ini) in $HOME/.mame, then /etc.
+echo 'DEFS += -DINI_PATH="\"\$$HOME/.mame;/etc\""' >> makefile
-# Workaround for bug in gcc-4.7.1 (seems to be fixed in 4.7.3 & 4.8.1)
-patch -p1 < $CWD/gcc471.patch
+# This is purely cosmetic.
+sed -i 's/DISTRO = generic/DISTRO = slackware/' src/osd/sdl/sdl.mak
-# Fix line-endings (dos2unix is much faster)
-if hash dos2unix 2>/dev/null ; then
- find -type f -exec dos2unix -q {} \;
-else
- find -type f -exec file {} \; | grep CRLF | awk 'BEGIN{FS=":"}{print $1}' | xargs perl -pi -e 's/\r\n?/\n/g'
+mkdir -p $PKG/usr/games $PKG/etc $PKG/usr/man/man6 \
+ $PKG/usr/share/applications $PKG/usr/share/pixmaps
+
+# Build and install mame;
+if [ "${MAME:-yes}" = "yes" ]; then
+ echo "BUILDING MAME"
+ make BUILD_FLAC=0 BUILD_JPEG=0 BUILD_EXPAT=0 SUFFIX64="" \
+ BUILD_JPEGLIB=0 BUILD_SQLITE3=0 ARCHOPTS="$SLKCFLAGS" TARGET=mame
+ cp mame $PKG/usr/games
+ cat $CWD/mame.ini > $PKG/etc/mame.ini.new
+ sed 's/@VERSION@/'$VERSION'/g' < $CWD/man/mame.6 | gzip -9c > $PKG/usr/man/man6/mame.6.gz
+ cp $CWD/desktop/mame.desktop $PKG/usr/share/applications
+ cp $CWD/desktop/mame.xpm $PKG/usr/share/pixmaps
fi
-# This is purely cosmetic.
-sed -i 's/DISTRO = generic/DISTRO = slackware/' src/osd/sdl/sdl.mak
+# Optionally build and install mess:
+if [ "${MESS:-no}" = "yes" ]; then
+ echo "BUILDING MESS"
+ make BUILD_FLAC=0 BUILD_JPEG=0 BUILD_EXPAT=0 SUFFIX64="" \
+ BUILD_JPEGLIB=0 BUILD_SQLITE3=0 ARCHOPTS="$SLKCFLAGS" TARGET=mess
+ cp mess $PKG/usr/games
+ gzip -9c $CWD/man/mess.6 > $PKG/usr/man/man6/mess.6.gz
+ cp $CWD/desktop/mess.desktop $PKG/usr/share/applications
+ cp $CWD/desktop/mess.xpm $PKG/usr/share/pixmaps
+fi
-# Use system flac, jpeg, and expat libraries (instead of internal)
-make OPTIMIZE=3 BUILD_FLAC=0 BUILD_JPEG=0 BUILD_EXPAT=0 \
- ARCHOPTS="$SLKCFLAGS -Wno-error=narrowing -Wno-error=maybe-uninitialized"
-make OPTIMIZE=3 BUILD_FLAC=0 BUILD_JPEG=0 BUILD_EXPAT=0 \
- ARCHOPTS="$SLKCFLAGS -Wno-error=narrowing -Wno-error=maybe-uninitialized" tools
+# Optionally build and install ume:
+if [ "${UME:-no}" = "yes" ]; then
+ echo "BUILDING UME"
+ make BUILD_FLAC=0 BUILD_JPEG=0 BUILD_EXPAT=0 SUFFIX64="" \
+ BUILD_JPEGLIB=0 BUILD_SQLITE3=0 ARCHOPTS="$SLKCFLAGS" TARGET=ume
+ cp ume $PKG/usr/games
+ cp $CWD/desktop/ume.desktop $PKG/usr/share/applications
+ cp $CWD/desktop/ume.xpm $PKG/usr/share/pixmaps
+fi
-# There is no "make install" target, just copy everything where it goes.
-# Binaries are already stripped.
-mkdir -p $PKG/usr/games
-cp mame${SUFFIX} $PKG/usr/games/mame
+# Build and install the tools:
+echo "BUILDING TOOLS"
+make BUILD_JPEG=0 BUILD_EXPAT=0 SUFFIX64="" ARCHOPTS="$SLKCFLAGS" \
+ BUILD_JPEGLIB=0 BUILD_SQLITE3=0 tools
cp testkeys romcmp jedutil unidasm ldresample ldverify \
- regrep srcclean src2html $PKG/usr/games/
-
-mkdir -p $PKG/etc
-cat $CWD/mame.ini > $PKG/etc/mame.ini.new
+ regrep srcclean src2html chdman nltool pngcmp split \
+ $PKG/usr/games/
# Create empty dirs for the user to populate with ROMs and such.
for i in roms samples artwork ctrlr font cheat; do
@@ -112,26 +127,17 @@ for i in roms samples artwork ctrlr font cheat; do
done
# Man pages, .desktop, and icon borrowed from Ludovic Lechapt's Debian package.
-mkdir -p $PKG/usr/man/man6
for i in chdman jedutil ldverify romcmp testkeys; do
gzip -9c $CWD/man/$i.6 > $PKG/usr/man/man6/$i.6.gz
done
-sed 's/@VERSION@/'$VERSION'/g' < $CWD/man/mame.6 | gzip -9c > $PKG/usr/man/man6/mame.6.gz
-
-mkdir -p $PKG/usr/share/applications
-cp $CWD/$PRGNAM.desktop $PKG/usr/share/applications
-
-mkdir -p $PKG/usr/share/pixmaps
-cp $CWD/mame.xpm $PKG/usr/share/pixmaps
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp docs/* $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+mkdir -p $PKG/usr/doc/${PRGNAM}-$VERSION
+cp docs/* $PKG/usr/doc/${PRGNAM}-$VERSION
+cat $CWD/${PRGNAM}.SlackBuild > $PKG/usr/doc/${PRGNAM}-$VERSION/${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:-tgz}