diff options
-rw-r--r-- | games/mupen64plus/README | 7 | ||||
-rw-r--r-- | games/mupen64plus/doinst.sh | 3 | ||||
-rw-r--r-- | games/mupen64plus/fix_multiple_definition_errors.patch | 11 | ||||
-rw-r--r-- | games/mupen64plus/mupen64plus-core-2.5.9-fix-gcc10-fno-common.patch | 24 | ||||
-rw-r--r-- | games/mupen64plus/mupen64plus.SlackBuild | 69 | ||||
-rw-r--r-- | games/mupen64plus/mupen64plus.info | 6 |
6 files changed, 82 insertions, 38 deletions
diff --git a/games/mupen64plus/README b/games/mupen64plus/README index 468f87c1c0c61..21263fa17846a 100644 --- a/games/mupen64plus/README +++ b/games/mupen64plus/README @@ -4,8 +4,5 @@ emulators, with dynamic recompilers for 32-bit x86 and 64-bit amd64 systems, and necessary plugins for audio, graphical rendering (RDP), signal co-processor (RSP), and input. -Note: Mupen64plus will build against SDL2 if installed, but SDL2 is -not required. - -The 2.0 branch of mupen64plus does not include a GUI. If you want -one, install the m64py package. +Mupen64plus does not come with a GUI. For a GUI, install the m64py +package available here at SBo. diff --git a/games/mupen64plus/doinst.sh b/games/mupen64plus/doinst.sh new file mode 100644 index 0000000000000..59eb079d1557a --- /dev/null +++ b/games/mupen64plus/doinst.sh @@ -0,0 +1,3 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications 2>/dev/null +fi diff --git a/games/mupen64plus/fix_multiple_definition_errors.patch b/games/mupen64plus/fix_multiple_definition_errors.patch deleted file mode 100644 index 5fa3372ab11d4..0000000000000 --- a/games/mupen64plus/fix_multiple_definition_errors.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Naur mupen64plus-bundle-src-2.5.orig/source/mupen64plus-core/src/main/workqueue.h mupen64plus-bundle-src-2.5/source/mupen64plus-core/src/main/workqueue.h ---- mupen64plus-bundle-src-2.5.orig/source/mupen64plus-core/src/main/workqueue.h 2015-04-27 00:42:49.000000000 +0200 -+++ mupen64plus-bundle-src-2.5/source/mupen64plus-core/src/main/workqueue.h 2020-05-08 19:04:37.956818550 +0200 -@@ -27,7 +27,6 @@ - - struct work_struct; - --struct work_struct *work; - typedef void (*work_func_t)(struct work_struct *work); - struct work_struct { - work_func_t func; diff --git a/games/mupen64plus/mupen64plus-core-2.5.9-fix-gcc10-fno-common.patch b/games/mupen64plus/mupen64plus-core-2.5.9-fix-gcc10-fno-common.patch new file mode 100644 index 0000000000000..babbd79314831 --- /dev/null +++ b/games/mupen64plus/mupen64plus-core-2.5.9-fix-gcc10-fno-common.patch @@ -0,0 +1,24 @@ +diff -up mupen64plus-bundle-src-2.5.9/source/mupen64plus-core/src/main/workqueue.h.orig mupen64plus-bundle-src-2.5.9/source/mupen64plus-core/src/main/workqueue.h +--- mupen64plus-bundle-src-2.5.9/source/mupen64plus-core/src/main/workqueue.h.orig 2021-07-28 23:12:42.573699463 -0500 ++++ mupen64plus-bundle-src-2.5.9/source/mupen64plus-core/src/main/workqueue.h 2021-07-28 23:13:30.238695477 -0500 +@@ -27,7 +27,6 @@ + + struct work_struct; + +-struct work_struct *work; + typedef void (*work_func_t)(struct work_struct *work); + struct work_struct { + work_func_t func; + +diff -up mupen64plus-bundle-src-2.5.9/source/mupen64plus-core/src/device/r4300/idec.h.orig mupen64plus-bundle-src-2.5.9/source/mupen64plus-core/src/device/r4300/idec.h +--- mupen64plus-bundle-src-2.5.9/source/mupen64plus-core/src/device/r4300/idec.h.orig 2021-07-28 23:11:03.427914223 -0500 ++++ mupen64plus-bundle-src-2.5.9/source/mupen64plus-core/src/device/r4300/idec.h 2021-07-28 23:12:13.275701913 -0500 +@@ -82,6 +82,6 @@ size_t idec_u53(uint32_t iw, uint8_t u53 + + #define IDEC_U53(r4300, iw, u53, u5) (void*)(((char*)(r4300)) + idec_u53((iw), (u53), (u5))) + +-const char* g_r4300_opcodes[R4300_OPCODES_COUNT]; ++extern const char* g_r4300_opcodes[R4300_OPCODES_COUNT]; + + #endif + diff --git a/games/mupen64plus/mupen64plus.SlackBuild b/games/mupen64plus/mupen64plus.SlackBuild index a7d27072ebba4..c59cb0b170eb7 100644 --- a/games/mupen64plus/mupen64plus.SlackBuild +++ b/games/mupen64plus/mupen64plus.SlackBuild @@ -2,19 +2,39 @@ # Slackware build script for mupen64plus -# Written by M.Dinslage contact: daedra1980@gmail.com +# Copyright 2021 Matt Dinslage, Springfield MO +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. cd $(dirname $0) ; CWD=$(pwd) PRGNAM=mupen64plus -VERSION=${VERSION:-2.5} +VERSION=${VERSION:-2.5.9} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} +SRCNAM=mupen64plus-bundle-src + if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -32,15 +52,15 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LBIDIRSUFFIX="" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LBIDIRSUFFIX="" + LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" - LBIDIRSUFFIX="64" + LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" @@ -51,9 +71,9 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-bundle-src-$VERSION.tar.gz -cd $PRGNAM-bundle-src-$VERSION +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.gz +cd $SRCNAM-$VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -61,23 +81,34 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# https://github.com/mupen64plus/mupen64plus-core/issues/712#issuecomment-588871449 -patch -p1 < $CWD/fix_multiple_definition_errors.patch +# Fix for compiling mupen64plus-core with gcc-10 +patch -p1 < $CWD/mupen64plus-core-2.5.9-fix-gcc10-fno-common.patch CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ -./m64p_build.sh V=1 -./m64p_install.sh PREFIX=/usr LIBDIR=/usr/lib${LBIDIRSUFFIX} MANDIR=/usr/man DESTDIR=$PKG +./m64p_build.sh +./m64p_install.sh PREFIX=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} MANDIR=/usr/man DESTDIR=$PKG + +# Don't ship .la files: +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +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 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a $TMP/$PRGNAM-bundle-src-$VERSION/test/doc/* $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +# mupen64plus-bundle is all the required mupen64plus soures in one package, +# so each source has its own docs. +for i in audio-sdl core input-sdl rom rsp-hle ui-console video-glide64mk2 video-rice ; do + mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM-$i + cp -a source/$PRGNAM-$i/{CREDITS,LICENSES,README,RELEASE,README.md,AUTHORS,gpl-license} \ + $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM-$i 2>/dev/null || : +done 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 -p $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/games/mupen64plus/mupen64plus.info b/games/mupen64plus/mupen64plus.info index 8c2e15abbdef8..6489f06e6bda1 100644 --- a/games/mupen64plus/mupen64plus.info +++ b/games/mupen64plus/mupen64plus.info @@ -1,8 +1,8 @@ PRGNAM="mupen64plus" -VERSION="2.5" +VERSION="2.5.9" HOMEPAGE="https://github.com/mupen64plus/mupen64plus-core" -DOWNLOAD="https://github.com/mupen64plus/mupen64plus-core/releases/download/2.5/mupen64plus-bundle-src-2.5.tar.gz" -MD5SUM="e329654f869ced5eaf82a8c2337b28d7" +DOWNLOAD="https://github.com/mupen64plus/mupen64plus-core/releases/download/2.5.9/mupen64plus-bundle-src-2.5.9.tar.gz" +MD5SUM="e3e617e775039e6221bb06d6917cbe78" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" |