yuzu-early-access/PKGBUILD

66 lines
2.8 KiB
Bash
Raw Normal View History

2021-01-01 05:37:03 +01:00
# Maintainer: Brendan Szymanski <bscubed@pm.me>
2020-12-09 05:09:45 +01:00
_pkgname=yuzu
pkgname=$_pkgname-early-access
2022-07-11 22:41:52 +02:00
pkgver=2828
2022-05-19 14:51:43 +02:00
pkgrel=1
2021-11-01 14:34:25 +01:00
pkgdesc="An experimental open-source Nintendo Switch emulator/debugger (early access version)"
2020-12-09 05:09:45 +01:00
arch=('i686' 'x86_64')
2021-01-01 05:37:03 +01:00
url="https://yuzu-emu.org/"
2020-12-09 05:09:45 +01:00
license=('GPL2')
2021-01-01 05:37:03 +01:00
depends=('boost-libs' 'shared-mime-info' 'hicolor-icon-theme' 'sdl2' 'qt5-base' 'qt5-multimedia' 'qt5-webengine' 'libxkbcommon-x11' 'ffmpeg' 'fmt' 'libzip' 'opus' 'libfdk-aac' 'lz4' 'mbedtls' 'openssl' 'zstd')
2022-05-19 06:32:03 +02:00
makedepends=('git' 'glslang' 'cmake' 'ninja' 'graphviz' 'doxygen' 'clang' 'boost' 'catch2' 'nlohmann-json' 'rapidjson' 'qt5-tools' 'desktop-file-utils' 'robin-map')
2020-12-09 05:09:45 +01:00
optdepends=('qt5-wayland: for Wayland support')
2021-05-19 22:32:48 +02:00
provides=('yuzu')
conflicts=('yuzu')
2021-07-09 01:14:17 +02:00
source=("https://github.com/pineappleEA/pineapple-src/archive/EA-${pkgver}.tar.gz"
"inject-git-info.patch")
2022-07-11 22:41:52 +02:00
md5sums=('654373d55648e202d98f9fabb0d3232b'
2021-12-22 21:27:20 +01:00
'3f0a9f3d79cbe4759e9ef550dbad0baa')
2020-12-09 05:09:45 +01:00
prepare() {
2021-01-01 05:37:03 +01:00
cd "$srcdir/pineapple-src-EA-${pkgver}"
2021-07-09 01:14:17 +02:00
cp $srcdir/inject-git-info.patch patches/
2021-01-01 05:37:03 +01:00
for i in patches/*.patch; do
2021-07-09 01:14:17 +02:00
patch -p1 --verbose --ignore-whitespace < $i
2021-01-01 05:37:03 +01:00
done
find . -name "CMakeLists.txt" -exec sed -i 's/^.*-Werror$/-W/g' {} +
2021-05-19 22:32:48 +02:00
#find . -name "CMakeLists.txt" -exec sed -i 's/^.*-Werror=.*)$/ )/g' {} +
2021-01-01 05:37:03 +01:00
find . -name "CMakeLists.txt" -exec sed -i 's/^.*-Werror=.*$/ /g' {} +
find . -name "CMakeLists.txt" -exec sed -i 's/-Werror/-W/g' {} +
2022-05-19 06:32:03 +02:00
sed -i 's/static constexpr/const/g' src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp
sed -i 's/add_subdirectory(mcl)/add_subdirectory(mcl EXCLUDE_FROM_ALL)/g' externals/dynarmic/externals/CMakeLists.txt
2021-07-09 01:14:17 +02:00
sed -i -e 's/--quiet //g' src/video_core/host_shaders/CMakeLists.txt
sed -i -e 's#${SPIRV_HEADER_FILE} ${SOURCE_FILE}#${SPIRV_HEADER_FILE} ${SOURCE_FILE} 2>/dev/null#g' src/video_core/host_shaders/CMakeLists.txt
sed -i -e '/Name=yuzu/ s/$/ Early Access/' dist/yuzu.desktop
sed -i -e '/yuzu %f/a StartupWMClass=yuzu' dist/yuzu.desktop
sed -i -e 's_^MimeType=.*_&application/x-nx-nsp;application/x-nx-xci;_' dist/yuzu.desktop
2020-12-09 05:09:45 +01:00
}
build() {
2021-01-01 05:37:03 +01:00
cd "$srcdir/pineapple-src-EA-${pkgver}"
mkdir -p build && cd build
2020-12-09 05:09:45 +01:00
cmake .. -GNinja \
-DTITLE_BAR_FORMAT_IDLE="yuzu Early Access $pkgver" \
-DTITLE_BAR_FORMAT_RUNNING="yuzu Early Access $pkgver | {3}" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
-DYUZU_USE_QT_WEB_ENGINE=ON \
2021-07-09 01:14:17 +02:00
-DUSE_DISCORD_PRESENCE=ON \
2021-12-10 21:28:08 +01:00
-DENABLE_QT_TRANSLATION=ON \
2022-05-19 06:32:03 +02:00
-DYUZU_USE_EXTERNAL_SDL2=OFF \
-DYUZU_USE_BUNDLED_OPUS=OFF \
-DDYNARMIC_NO_BUNDLED_FMT=ON \
-DDYNARMIC_NO_BUNDLED_ROBIN_MAP=ON \
-DYUZU_USE_BUNDLED_FFMPEG=OFF
2021-01-01 05:37:03 +01:00
2020-12-09 05:09:45 +01:00
ninja
}
package() {
2021-01-01 05:37:03 +01:00
cd "$srcdir/pineapple-src-EA-${pkgver}/build"
DESTDIR="$pkgdir" ninja install
2020-12-09 05:09:45 +01:00
}