diff options
Diffstat (limited to 'games/mame/mame.SlackBuild')
-rw-r--r-- | games/mame/mame.SlackBuild | 110 |
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} |