pineappleEA-ArchLinux-PKGBUILD/PKGBUILD

162 lines
4.3 KiB
Bash
Raw Permalink Normal View History

2023-02-12 09:11:21 -03:00
# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Alexandre Bouvier <contact@amb.tf>
pkgname=yuzu
2024-02-08 15:36:04 -03:00
pkgver=1706
2023-07-31 06:00:11 -04:00
pkgrel=1
2023-02-12 09:11:21 -03:00
pkgdesc='Nintendo Switch emulator'
arch=(x86_64)
url=https://yuzu-emu.org/
license=(GPL3)
depends=(
2023-11-20 12:24:25 -03:00
brotli
2023-02-12 09:11:21 -03:00
enet
gcc-libs
glibc
2023-11-20 12:24:25 -03:00
hicolor-icon-theme
2023-02-12 09:11:21 -03:00
libavcodec.so
libavutil.so
libboost_context.so
libcrypto.so
libfmt.so
libopus.so
libspeexdsp.so
libssl.so
libswscale.so
libusb-1.0.so
libva.so
libzstd.so
lz4
2023-12-20 16:42:21 -03:00
qt5-base
qt5-multimedia
qt5-webengine
2023-02-12 09:11:21 -03:00
sdl2
2024-02-08 15:36:04 -03:00
vulkan-utility-libraries
2023-11-20 12:24:25 -03:00
zlib
2023-02-12 09:11:21 -03:00
)
makedepends=(
boost
clang
cmake
2023-12-20 16:42:21 -03:00
ffmpeg
2023-02-12 09:11:21 -03:00
git
glslang
llvm
ninja
nlohmann-json
2023-12-20 16:42:21 -03:00
qt5-tools
2023-02-12 09:11:21 -03:00
shaderc
spirv-headers
vulkan-headers
)
options=(!debug)
2024-02-08 15:36:04 -03:00
_tag=3c4c4632dc609a6790c508188dc93b5fdec43ef1
2023-02-12 09:11:21 -03:00
source=(
git+https://github.com/yuzu-emu/yuzu-mainline.git#tag=${_tag}
git+https://github.com/arsenm/sanitizers-cmake.git
git+https://github.com/yhirose/cpp-httplib.git
git+https://github.com/arun11299/cpp-jwt.git
git+https://github.com/mozilla/cubeb.git
git+https://github.com/MerryMage/dynarmic.git
2023-06-08 05:32:02 -04:00
git+https://github.com/bylaws/libadrenotools.git
2023-02-12 09:11:21 -03:00
yuzu-mbedtls::git+https://github.com/yuzu-emu/mbedtls.git
2023-12-01 11:56:12 -03:00
git+https://github.com/brofield/simpleini.git
2023-02-12 09:11:21 -03:00
yuzu-sirit::git+https://github.com/yuzu-emu/sirit.git
2023-12-20 16:42:21 -03:00
git+https://github.com/KhronosGroup/SPIRV-Headers.git
2023-06-20 03:38:35 -04:00
git+https://github.com/eggert/tz.git
git+https://github.com/lat9nq/tzdb_to_nx.git
2023-07-18 05:34:32 -04:00
git+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
2023-02-12 09:11:21 -03:00
git+https://github.com/herumi/xbyak.git
)
b2sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
2023-06-08 05:32:02 -04:00
'SKIP'
2023-06-20 03:38:35 -04:00
'SKIP'
'SKIP'
2023-07-18 05:34:32 -04:00
'SKIP'
2023-12-01 11:56:12 -03:00
'SKIP'
2023-12-20 16:42:21 -03:00
'SKIP'
2023-02-12 09:11:21 -03:00
'SKIP')
prepare() {
cd yuzu-mainline
git config submodule.cpp-httplib.url "${srcdir}"/cpp-httplib
git config submodule.cpp-jwt.url "${srcdir}"/cpp-jwt
git config submodule.cubeb.url "${srcdir}"/cubeb
git config submodule.dynarmic.url "${srcdir}"/dynarmic
2023-06-08 05:32:02 -04:00
git config submodule.libadrenotools.url "${srcdir}"/libadrenotools
2023-02-12 09:11:21 -03:00
git config submodule.mbedtls.url "${srcdir}"/yuzu-mbedtls
2023-12-01 11:56:12 -03:00
git config submodule.simpleini.url "${srcdir}"/simpleini
2023-02-12 09:11:21 -03:00
git config submodule.sirit.url "${srcdir}"/yuzu-sirit
2023-06-20 03:38:35 -04:00
git config submodule.tzdb_to_nx.url "${srcdir}"/tzdb_to_nx
2023-07-18 05:34:32 -04:00
git config submodule.VulkanMemoryAllocator.url "${srcdir}"/VulkanMemoryAllocator
2023-02-12 09:11:21 -03:00
git config submodule.xbyak.url "${srcdir}"/xbyak
git -c protocol.file.allow=always submodule update
2023-06-20 03:38:35 -04:00
pushd externals/cubeb
2023-02-12 09:11:21 -03:00
git config submodule.cmake/sanitizers-cmake.url "${srcdir}"/sanitizers-cmake
git -c protocol.file.allow=always submodule update
2023-06-20 03:38:35 -04:00
popd
pushd externals/nx_tzdb/tzdb_to_nx
git config submodule.externals/tz/tz.url "${srcdir}"/tz
git -c protocol.file.allow=always submodule update
popd
2023-12-20 16:42:21 -03:00
pushd externals/sirit
git config submodule.externals/SPIRV-Headers.url "${srcdir}"/SPIRV-Headers
git -c protocol.file.allow=always submodule update
popd
2023-02-12 09:11:21 -03:00
}
pkgver() {
cd yuzu-mainline
git describe --tags | sed 's/.*-//'
}
build() {
2023-12-20 16:42:21 -03:00
export CXXFLAGS+=' -Wno-switch'
2023-02-12 09:11:21 -03:00
cmake -S yuzu-mainline -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_REPOSITORY=yuzu-emu/yuzu-mainline \
-DBUILD_TAG=${pkgver} \
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \
2023-12-20 16:42:21 -03:00
-DENABLE_QT6=OFF \
2023-02-12 09:11:21 -03:00
-DENABLE_QT_TRANSLATION=ON \
-DENABLE_SDL2=ON \
-DENABLE_WEB_SERVICE=ON \
-DSIRIT_USE_SYSTEM_SPIRV_HEADERS=ON \
-DTITLE_BAR_FORMAT_IDLE="yuzu | ${pkgver} {}" \
-DTITLE_BAR_FORMAT_RUNNING="yuzu | ${pkgver} | {}" \
-DUSE_DISCORD_PRESENCE=OFF \
-DYUZU_CHECK_SUBMODULES=OFF \
2023-12-20 16:42:21 -03:00
-DYUZU_DOWNLOAD_TIME_ZONE_DATA=ON \
2023-02-12 09:11:21 -03:00
-DYUZU_USE_BUNDLED_FFMPEG=OFF \
-DYUZU_USE_BUNDLED_QT=OFF \
-DYUZU_USE_BUNDLED_SDL2=OFF \
-DYUZU_USE_EXTERNAL_VULKAN_HEADERS=OFF \
2024-02-08 15:36:04 -03:00
-DYUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES=OFF \
2023-02-12 09:11:21 -03:00
-DYUZU_USE_EXTERNAL_SDL2=OFF \
-DYUZU_USE_FASTER_LD=OFF \
-DYUZU_USE_PRECOMPILED_HEADERS=OFF \
-DYUZU_USE_QT_MULTIMEDIA=ON \
-DYUZU_USE_QT_WEB_ENGINE=ON \
-DYUZU_TESTS=OFF \
-Wno-dev
cmake --build build
}
package() {
DESTDIR="${pkgdir}" cmake --install build
2023-12-20 16:42:21 -03:00
install -Dm644 yuzu-mainline/dist/72-yuzu-input.rules -t "${pkgdir}"/usr/lib/udev/rules.d/
2023-02-12 09:11:21 -03:00
}
# vim: ts=2 sw=2 et: