SlackBuild package source (Slackware)

This commit is contained in:
Fijxu 2024-03-05 21:43:09 -03:00
commit 5253476799
20 changed files with 300 additions and 0 deletions

Binary file not shown.

7
README Normal file
View File

@ -0,0 +1,7 @@
yuzu is the world's most popular, open-source, Nintendo Switch
emulator — started by the creators of Citra. It is written in C++ with
portability in mind, and we actively maintain builds for Windows and
Linux.
The emulator is capable of running most commercial games at full
speed, provided you meet the necessary hardware requirements.

12
README.md Normal file
View File

@ -0,0 +1,12 @@
# Unavailable tar.gz files
discord-rpc-20cc99aeffa08a4834f156b6ab49ed68618cf94a.tar.gz (344c77c5090098101d3904ff1bb9e9fc) https://github.com/yuzu-emu/discord-rpc/archive/20cc99aeffa08a4834f156b6ab49ed68618cf94a/discord-rpc-20cc99aeffa08a4834f156b6ab49ed68618cf94a.tar.gz
ext-libressl-portable-8929f818fd748fd31a34fec7c04558399e13014a.tar.gz (390d2b55703008acb8eceab019002581) https://github.com/citra-emu/ext-libressl-portable/archive/8929f818fd748fd31a34fec7c04558399e13014a/ext-libressl-portable-8929f818fd748fd31a34fec7c04558399e13014a.tar.gz
yuzu-mainline-mainline-0-1144.tar.gz (5a98808b5100233518ccbc76957479e0) https://github.com/yuzu-emu/yuzu-mainline/archive/mainline-0-1144/yuzu-mainline-mainline-0-1144.tar.gz
dynarmic-2d4602a6516c67d547000d4c80bcc5f74976abdd.tar.gz (014ac0bb203b36d1e42a74e6115cd97b) https://github.com/merryhime/dynarmic/archive/2d4602a6516c67d547000d4c80bcc5f74976abdd/dynarmic-2d4602a6516c67d547000d4c80bcc5f74976abdd.tar.gz

Binary file not shown.

Binary file not shown.

14
doinst.sh Normal file
View File

@ -0,0 +1,14 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
if [ -x /usr/bin/update-mime-database ]; then
/usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
fi
# If other icon themes are installed, then add to/modify this as needed
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
fi
fi

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

19
slack-desc Normal file
View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
yuzu: yuzu (Nintendo Switch emulator)
yuzu:
yuzu: yuzu is the world's most popular, open-source, Nintendo Switch
yuzu: emulator started by the creators of Citra. It is written in C++
yuzu: with portability in mind, and we actively maintain builds for Windows
yuzu: and Linux.
yuzu:
yuzu: The emulator is capable of running most commercial games at full
yuzu: speed, provided you meet the necessary hardware requirements.
yuzu:
yuzu: Homepage: https://yuzu-emu.org

Binary file not shown.

Binary file not shown.

198
yuzu.SlackBuild Executable file
View File

@ -0,0 +1,198 @@
#!/bin/bash
# Slackware build script for yuzu
# Copyright 2022 Steven Voges <Oregon, USA>
# 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=yuzu
SRCNAM=$PRGNAM-mainline-mainline
PRGVER=${PRGVER:-"0-1144"}
VERSION=${VERSION:-0.1144}
CPPHTTPLIB=${CPPHTTPLIB:-305a7abcb9b4e9e349843c6d563212e6c1bbbf21}
CPPJWT=${CPPJWT:-e12ef06218596b52d9b5d6e1639484866a8e7067}
CUBEB=${CUBEB:-75d9d125ee655ef80f3bfcd97ae5a805931042b8}
DISCORDRPC=${DISCORDRPC:-20cc99aeffa08a4834f156b6ab49ed68618cf94a}
DYNARMIC=${DYNARMIC:-2d4602a6516c67d547000d4c80bcc5f74976abdd}
ENET=${ENET:-39a72ab1990014eb399cee9d538fd529df99c6a0}
FFMPEG=${FFMPEG:-6b6b9e593dd4d3aaf75f48d40a13ef03bdef9fdb}
GOOGLETEST=${GOOGLETEST:-800f5422ac9d9e0ad59cd860a2ef3a679588acb4}
INIH=${INIH:-1e80a47dffbda813604f0913e2ad68c7054c14e4}
LIBRESSL=${LIBRESSL:-8929f818fd748fd31a34fec7c04558399e13014a}
LIBUSB=${LIBUSB:-c6a35c56016ea2ab2f19115d2ea1e85e0edae155}
MBEDTLS=${MBEDTLS:-8c88150ca139e06aa2aae8349df8292a88148ea1}
OPUS=${OPUS:-ad8fe90db79b7d2a135e3dfd2ed6631b0c5662ab}
SANITIZERSCMAKE=${SANITIZERSCMAKE:-aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a}
SDL=${SDL:-b424665e0899769b200231ba943353a5fee1b6b6}
SIRIT=${SIRIT:-aa292d56650bc28f2b2d75973fab2e61d0136f9c}
SPIRVHEADERS=${SPIRVHEADERS:-a3fdfe81465d57efc97cfd28ac6c8190fb31a6c8}
VCPKG=${VCPKG:-9b22b40c6c61bf0da2d46346dd44a11e90972cc9}
VULKANHEADERS=${VULKANHEADERS:-33d4dd987fc8fc6475ff9ca2b4f0c3cc6e793337}
XBYAK=${XBYAK:-c306b8e5786eeeb87b8925a8af5c3bf057ff5a90}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
DEPS=$TMP/$SRCNAM-$PRGVER/externals
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$PRGVER
tar xvf $CWD/$SRCNAM-$PRGVER.tar.gz
# yuzu has quite a few external dependencies, we need to extract them to the correct location.
tar xvf $CWD/SDL-$SDL.tar.gz -C \
$DEPS/SDL --strip-components 1
tar xvf $CWD/Vulkan-Headers-$VULKANHEADERS.tar.gz -C \
$DEPS/Vulkan-Headers --strip-components 1
tar xvf $CWD/cpp-httplib-$CPPHTTPLIB.tar.gz -C \
$DEPS/cpp-httplib --strip-components 1
tar xvf $CWD/cpp-jwt-$CPPJWT.tar.gz -C \
$DEPS/cpp-jwt --strip-components 1
tar xvf $CWD/cubeb-$CUBEB.tar.gz -C \
$DEPS/cubeb --strip-components 1
tar xvf $CWD/sanitizers-cmake-$SANITIZERSCMAKE.tar.gz -C \
$DEPS/cubeb/cmake/sanitizers-cmake --strip-components 1
tar xvf $CWD/googletest-$GOOGLETEST.tar.gz -C \
$DEPS/cubeb/googletest --strip-components 1
tar xvf $CWD/discord-rpc-$DISCORDRPC.tar.gz -C \
$DEPS/discord-rpc --strip-components 1
tar xvf $CWD/dynarmic-$DYNARMIC.tar.gz -C \
$DEPS/dynarmic --strip-components 1
tar xvf $CWD/enet-$ENET.tar.gz -C \
$DEPS/enet --strip-components 1
tar xvf $CWD/FFmpeg-$FFMPEG.tar.gz -C \
$DEPS/ffmpeg/ffmpeg --strip-components 1
tar xvf $CWD/inih-$INIH.tar.gz -C \
$DEPS/inih/inih --strip-components 1
tar xvf $CWD/ext-libressl-portable-$LIBRESSL.tar.gz -C \
$DEPS/libressl --strip-components 1
tar xvf $CWD/libusb-$LIBUSB.tar.gz -C \
$DEPS/libusb/libusb --strip-components 1
tar xvf $CWD/mbedtls-$MBEDTLS.tar.gz -C \
$DEPS/mbedtls --strip-components 1
tar xvf $CWD/opus-$OPUS.tar.gz -C \
$DEPS/opus/opus --strip-components 1
tar xvf $CWD/sirit-$SIRIT.tar.gz -C \
$DEPS/sirit --strip-components 1
tar xvf $CWD/SPIRV-Headers-$SPIRVHEADERS.tar.gz -C \
$DEPS/sirit/externals/SPIRV-Headers --strip-components 1
tar xvf $CWD/vcpkg-$VCPKG.tar.gz -C \
$DEPS/vcpkg --strip-components 1
tar xvf $CWD/xbyak-$XBYAK.tar.gz -C \
$DEPS/xbyak --strip-components 1
# yuzu checks for external components by checking for their .git files.
# Since these are not included when we downloaded the commit tarballs, we'll create them.
echo "gitdir: ../../.git/modules/SDL" > $DEPS/SDL/.git
echo "gitdir: ../../.git/modules/Vulkan-Headers" > $DEPS/Vulkan-Headers/.git
echo "gitdir: ../../.git/modules/cpp-httplib" > $DEPS/cpp-httplib/.git
echo "gitdir: ../../.git/modules/cpp-jwt" > $DEPS/cpp-jwt/.git
echo "gitdir: ../../.git/modules/cubeb" > $DEPS/cubeb/.git
echo "gitdir: ../../.git/modules/discord-rpc" > $DEPS/discord-rpc/.git
echo "gitdir: ../../.git/modules/dynarmic" > $DEPS/dynarmic/.git
echo "gitdir: ../../.git/modules/enet" > $DEPS/enet/.git
echo "gitdir: ../../../.git/modules/ffmpeg" > $DEPS/ffmpeg/ffmpeg/.git
echo "gitdir: ../../../.git/modules/inih" > $DEPS/inih/inih/.git
echo "gitdir: ../../.git/modules/libressl" > $DEPS/libressl/.git
echo "gitdir: ../../../.git/modules/libusb" > $DEPS/libusb/libusb/.git
echo "gitdir: ../../.git/modules/mbedtls" > $DEPS/mbedtls/.git
echo "gitdir: ../../../.git/modules/opus" > $DEPS/opus/opus/.git
echo "gitdir: ../../.git/modules/sirit" > $DEPS/sirit/.git
echo "gitdir: ../../.git/modules/vcpkg" > $DEPS/vcpkg/.git
echo "gitdir: ../../.git/modules/xbyak" > $DEPS/xbyak/.git
cd $PRGNAM-mainline-mainline-$PRGVER
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 {} \;
mkdir -p build
cd build
cmake \
-Wno-dev \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_ENABLE_WEB_SERVICE=OFF \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release ..
make
make install/strip DESTDIR=$PKG
cd ..
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 -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
*.md LICENSE.txt \
$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

50
yuzu.info Normal file
View File

@ -0,0 +1,50 @@
PRGNAM="yuzu"
VERSION="0.1144"
HOMEPAGE="https://yuzu-emu.org/"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="https://github.com/yuzu-emu/yuzu-mainline/archive/mainline-0-1144/yuzu-mainline-mainline-0-1144.tar.gz \
https://github.com/FFmpeg/FFmpeg/archive/6b6b9e593dd4d3aaf75f48d40a13ef03bdef9fdb/FFmpeg-6b6b9e593dd4d3aaf75f48d40a13ef03bdef9fdb.tar.gz \
https://github.com/libsdl-org/SDL/archive/b424665e0899769b200231ba943353a5fee1b6b6/SDL-b424665e0899769b200231ba943353a5fee1b6b6.tar.gz \
https://github.com/KhronosGroup/SPIRV-Headers/archive/a3fdfe81465d57efc97cfd28ac6c8190fb31a6c8/SPIRV-Headers-a3fdfe81465d57efc97cfd28ac6c8190fb31a6c8.tar.gz \
https://github.com/KhronosGroup/Vulkan-Headers/archive/33d4dd987fc8fc6475ff9ca2b4f0c3cc6e793337/Vulkan-Headers-33d4dd987fc8fc6475ff9ca2b4f0c3cc6e793337.tar.gz \
https://github.com/yhirose/cpp-httplib/archive/305a7abcb9b4e9e349843c6d563212e6c1bbbf21/cpp-httplib-305a7abcb9b4e9e349843c6d563212e6c1bbbf21.tar.gz \
https://github.com/arun11299/cpp-jwt/archive/e12ef06218596b52d9b5d6e1639484866a8e7067/cpp-jwt-e12ef06218596b52d9b5d6e1639484866a8e7067.tar.gz \
https://github.com/mozilla/cubeb/archive/75d9d125ee655ef80f3bfcd97ae5a805931042b8/cubeb-75d9d125ee655ef80f3bfcd97ae5a805931042b8.tar.gz \
https://github.com/yuzu-emu/discord-rpc/archive/20cc99aeffa08a4834f156b6ab49ed68618cf94a/discord-rpc-20cc99aeffa08a4834f156b6ab49ed68618cf94a.tar.gz \
https://github.com/merryhime/dynarmic/archive/2d4602a6516c67d547000d4c80bcc5f74976abdd/dynarmic-2d4602a6516c67d547000d4c80bcc5f74976abdd.tar.gz \
https://github.com/lsalzman/enet/archive/39a72ab1990014eb399cee9d538fd529df99c6a0/enet-39a72ab1990014eb399cee9d538fd529df99c6a0.tar.gz \
https://github.com/citra-emu/ext-libressl-portable/archive/8929f818fd748fd31a34fec7c04558399e13014a/ext-libressl-portable-8929f818fd748fd31a34fec7c04558399e13014a.tar.gz \
https://github.com/google/googletest/archive/800f5422ac9d9e0ad59cd860a2ef3a679588acb4/googletest-800f5422ac9d9e0ad59cd860a2ef3a679588acb4.tar.gz \
https://github.com/benhoyt/inih/archive/1e80a47dffbda813604f0913e2ad68c7054c14e4/inih-1e80a47dffbda813604f0913e2ad68c7054c14e4.tar.gz \
https://github.com/libusb/libusb/archive/c6a35c56016ea2ab2f19115d2ea1e85e0edae155/libusb-c6a35c56016ea2ab2f19115d2ea1e85e0edae155.tar.gz \
https://github.com/yuzu-emu/mbedtls/archive/8c88150ca139e06aa2aae8349df8292a88148ea1/mbedtls-8c88150ca139e06aa2aae8349df8292a88148ea1.tar.gz \
https://github.com/xiph/opus/archive/ad8fe90db79b7d2a135e3dfd2ed6631b0c5662ab/opus-ad8fe90db79b7d2a135e3dfd2ed6631b0c5662ab.tar.gz \
https://github.com/arsenm/sanitizers-cmake/archive/aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a/sanitizers-cmake-aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a.tar.gz \
https://github.com/ReinUsesLisp/sirit/archive/aa292d56650bc28f2b2d75973fab2e61d0136f9c/sirit-aa292d56650bc28f2b2d75973fab2e61d0136f9c.tar.gz \
https://github.com/Microsoft/vcpkg/archive/9b22b40c6c61bf0da2d46346dd44a11e90972cc9/vcpkg-9b22b40c6c61bf0da2d46346dd44a11e90972cc9.tar.gz \
https://github.com/herumi/xbyak/archive/c306b8e5786eeeb87b8925a8af5c3bf057ff5a90/xbyak-c306b8e5786eeeb87b8925a8af5c3bf057ff5a90.tar.gz"
MD5SUM_x86_64="5a98808b5100233518ccbc76957479e0 \
5fb59f6a27750bf980a8917a9ec17d51 \
63eaa930664864989d1d36fdba39a60c \
6b4f43fabee9e0fc88e67629f2fe497b \
b0aca99fdb524f62c4f5c9ffa371ef88 \
b37cff9cc10b4b2058658d6f935ddf7c \
aaedf57982eb620c232238b87d136a2c \
efb7900d39d9d70f101e6a7a2407bdba \
344c77c5090098101d3904ff1bb9e9fc \
014ac0bb203b36d1e42a74e6115cd97b \
232e37a05cf5344fa29c047e4d8a85de \
390d2b55703008acb8eceab019002581 \
b0b23c6e3137c995ed842b6fbae37e7b \
ebe3151002aac5d1c1999329d0d21315 \
5b925726fb0e8c901b67b54f6042dbfb \
a97402a18aeb303e01a66b6a88113ca2 \
a002faa2e22cc1b676c3e5cf4f03df7c \
0492fedbd255d1d831db432c2578a0c1 \
d8866aa8b71afe8916a3b07d14d1a38d \
f644b79ad691dafacbd4966b4e812dcf \
2a7204a58bd1cbc6bb99260efa8d3081"
REQUIRES="Catch fmt nlohmann_json"
MAINTAINER="Steven Voges"
EMAIL="svoges.sbo@gmail.com"