Browse Source

games/mupen64plus: Updated for version 2.5.9.

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
pull/182/head
M.Dinslage 4 years ago
committed by Robby Workman
parent
commit
789c445269
  1. 7
      games/mupen64plus/README
  2. 3
      games/mupen64plus/doinst.sh
  3. 11
      games/mupen64plus/fix_multiple_definition_errors.patch
  4. 24
      games/mupen64plus/mupen64plus-core-2.5.9-fix-gcc10-fno-common.patch
  5. 69
      games/mupen64plus/mupen64plus.SlackBuild
  6. 6
      games/mupen64plus/mupen64plus.info

7
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.

3
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

11
games/mupen64plus/fix_multiple_definition_errors.patch

@ -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;

24
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

69
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

6
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=""

Loading…
Cancel
Save