summaryrefslogtreecommitdiffstats
path: root/games/ppsspp/ppsspp.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'games/ppsspp/ppsspp.SlackBuild')
-rw-r--r--games/ppsspp/ppsspp.SlackBuild97
1 files changed, 51 insertions, 46 deletions
diff --git a/games/ppsspp/ppsspp.SlackBuild b/games/ppsspp/ppsspp.SlackBuild
index 67f04c3335..cda92afb6c 100644
--- a/games/ppsspp/ppsspp.SlackBuild
+++ b/games/ppsspp/ppsspp.SlackBuild
@@ -1,8 +1,9 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for ppsspp
# Copyright 2016 Hunter Sezen California, USA
+# Copyright 2019-2023 Ruoh-Shoei LIN
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,10 +23,13 @@
# 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=ppsspp
-VERSION=${VERSION:-1.6.3}
+VERSION=${VERSION:-1.15.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -35,7 +39,14 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+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}
@@ -60,19 +71,9 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.?z
cd $PRGNAM-$VERSION
-# The submodules are in a separate archive. This is equivalent to
-# git submodule update --init --recursive
-tar xvf $CWD/${PRGNAM}_submodules-${VERSION}.tar.xz
-mv ${PRGNAM}_submodules-${VERSION}/ext/* ext
-rmdir ${PRGNAM}_submodules-${VERSION}/ext
-mv ${PRGNAM}_submodules-${VERSION}/assets/* assets
-rmdir ${PRGNAM}_submodules-${VERSION}/assets
-mv ${PRGNAM}_submodules-${VERSION}/* .
-rmdir ${PRGNAM}_submodules-${VERSION}
-
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -80,44 +81,48 @@ 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 {} \;
-# This does build with Slackware 14.2's CMake.
-sed -i 's/VERSION 3.6/VERSION 3.5.2/' CMakeLists.txt
-
# Don't force explicit ccache invocation.
sed -i -e '/include(ccache)/d' CMakeLists.txt
-mkdir -p build
-cd build
-cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_SKIP_RPATH=TRUE \
- -Wno-dev \
- -DUSING_QT_UI=ON \
- -DLIBRETRO=ON \
- -DCMAKE_BUILD_TYPE=Release ..
-make
-cd ..
+# set git-version
+sed -i "s/unknown/${VERSION}/" git-version.cmake
+
+if [ "${QT:-OFF}" = "ON" ]; then
+ cmake -B build-qt \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_RPATH=TRUE \
+ -DUSING_QT_UI=ON \
+ -DUSE_SYSTEM_LIBZIP=ON \
+ -DUSE_SYSTEM_FFMPEG=ON \
+ -DUSE_DISCORD=OFF \
+ -DUSE_SYSTEM_ZSTD=ON \
+ -DCMAKE_BUILD_TYPE=Release
+ make -C build-qt
+ install -Dm755 build-qt/PPSSPPQt -t $PKG/usr/bin/
+ install -Dm644 build-qt/ppsspp.desktop $PKG/usr/share/applications/PPSSPPQt.desktop
+fi
+
+cmake -B build-sdl \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_RPATH=TRUE \
+ -DUSING_QT_UI=OFF \
+ -DUSE_SYSTEM_LIBZIP=ON \
+ -DUSE_SYSTEM_FFMPEG=ON \
+ -DUSE_DISCORD=OFF \
+ -DUSE_SYSTEM_ZSTD=ON \
+ -DCMAKE_BUILD_TYPE=Release
+make -C build-sdl
+make install DESTDIR=$PKG -C build-sdl
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
-mkdir -p $PKG/usr/{games,share/{applications,icons/hicolor,pixmaps,ppsspp}}
-cp $CWD/ppsspp.desktop $PKG/usr/share/applications
-cp -r assets $PKG/usr/share/ppsspp
-cp -r icons/hicolor/* $PKG/usr/share/icons/hicolor
-cp icons/icon-512.svg $PKG/usr/share/pixmaps/ppsspp.svg
-
-cp build/PPSSPPQt $PKG/usr/games/ppsspp-qt
-cp $CWD/ppsspp-qt.desktop $PKG/usr/share/applications
-
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/libretro/info
-cp build/lib/ppsspp_libretro.so $PKG/usr/lib${LIBDIRSUFFIX}/libretro
-cp $CWD/ppsspp_libretro.info $PKG/usr/lib${LIBDIRSUFFIX}/libretro/info
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a LICENSE.TXT README.md korean.txt chinese.txt $PKG/usr/doc/$PRGNAM-$VERSION
+install -Dm644 LICENSE.TXT README.md history.md \
+ -t $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
@@ -125,4 +130,4 @@ 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