From 12c4b8451af7a3dd6c160afd37c0ed805f855d03 Mon Sep 17 00:00:00 2001 From: kth5 Date: Sun, 29 Dec 2024 19:00:04 +0100 Subject: [PATCH] * add dolphin-emu --- games/dolphin-emu/.SRCINFO | 114 +++++++++++++++++++++++++++ games/dolphin-emu/PKGBUILD | 153 +++++++++++++++++++++++++++++++++++++ 2 files changed, 267 insertions(+) create mode 100644 games/dolphin-emu/.SRCINFO create mode 100644 games/dolphin-emu/PKGBUILD diff --git a/games/dolphin-emu/.SRCINFO b/games/dolphin-emu/.SRCINFO new file mode 100644 index 0000000000..6665e81ad0 --- /dev/null +++ b/games/dolphin-emu/.SRCINFO @@ -0,0 +1,114 @@ +pkgbase = dolphin-emu + pkgdesc = A Gamecube and Wii emulator + pkgver = 2412 + pkgrel = 3 + epoch = 1 + url = https://dolphin-emu.org + arch = x86_64 + arch = powerpc64le + arch = powerpc64 + arch = powerpc + arch = riscv64 + license = GPL-2.0-or-later + makedepends = alsa-lib + makedepends = cmake + makedepends = git + makedepends = libevdev + makedepends = libminiupnpc.so + makedepends = libpulse + makedepends = libudev.so + makedepends = ninja + makedepends = python + makedepends = qt6-base + makedepends = qt6-svg + depends = bluez-libs + depends = bzip2 + depends = enet + depends = gcc-libs + depends = glibc + depends = hidapi + depends = libavcodec.so + depends = libavformat.so + depends = libavutil.so + depends = libcurl.so + depends = libfmt.so + depends = libgl + depends = libspng.so + depends = libswscale.so + depends = libusb-1.0.so + depends = libx11 + depends = libxi + depends = libxrandr + depends = lz4 + depends = lzo + depends = mbedtls2 + depends = pugixml + depends = sdl2 + depends = speexdsp + depends = xxhash + depends = xz + depends = zstd + optdepends = pulseaudio: PulseAudio backend + options = !emptydirs + options = !lto + source = dolphin-emu::git+https://github.com/dolphin-emu/dolphin.git#tag=992b4ea9309899ebc7ca576ebea711a70523098a + source = git+https://github.com/mozilla/cubeb.git + source = git+https://github.com/epezent/implot.git + source = git+https://github.com/mgba-emu/mgba.git + source = git+https://github.com/zlib-ng/minizip-ng.git + source = git+https://github.com/RetroAchievements/rcheevos.git + source = git+https://github.com/arsenm/sanitizers-cmake.git + source = git+https://github.com/KhronosGroup/SPIRV-Cross.git + source = git+https://github.com/syoyo/tinygltf.git + source = git+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git + source = git+https://github.com/zlib-ng/zlib-ng.git + b2sums = 09e0e0dedac6bc7f91990f7a2002736a0f5a6ab303c8ee31a5d6f936e7611e762ccd8362d85536a1bb645af11e8d1b421ef175cff8d161cbadf3d11d37b86401 + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + b2sums = SKIP + +pkgname = dolphin-emu + depends = bluez-libs + depends = bzip2 + depends = enet + depends = gcc-libs + depends = glibc + depends = hidapi + depends = libavcodec.so + depends = libavformat.so + depends = libavutil.so + depends = libcurl.so + depends = libfmt.so + depends = libgl + depends = libspng.so + depends = libswscale.so + depends = libusb-1.0.so + depends = libx11 + depends = libxi + depends = libxrandr + depends = lz4 + depends = lzo + depends = mbedtls2 + depends = pugixml + depends = sdl2 + depends = speexdsp + depends = xxhash + depends = xz + depends = zstd + depends = alsa-lib + depends = hicolor-icon-theme + depends = libevdev + depends = libminiupnpc.so + depends = libpulse + depends = libudev.so + depends = qt6-base + depends = qt6-svg + +pkgname = dolphin-emu-tool diff --git a/games/dolphin-emu/PKGBUILD b/games/dolphin-emu/PKGBUILD new file mode 100644 index 0000000000..cdab58418b --- /dev/null +++ b/games/dolphin-emu/PKGBUILD @@ -0,0 +1,153 @@ +# POWER Maintainer: Alexander Baldeck +# Maintainer: schuay +# Maintainer: Maxime Gauduin +# Contributor: Jeremy Newton (Mystro256) + +pkgbase=dolphin-emu +pkgname=( + dolphin-emu + dolphin-emu-tool +) +pkgver=2412 +pkgrel=3 +epoch=1 +pkgdesc='A Gamecube and Wii emulator' +arch=(x86_64 powerpc64le powerpc64 powerpc riscv64) +url=https://dolphin-emu.org +license=(GPL-2.0-or-later) +depends=( + bluez-libs + bzip2 + enet + gcc-libs + glibc + hidapi + libavcodec.so + libavformat.so + libavutil.so + libcurl.so + libfmt.so + libgl + #libsfml-network.so + #libsfml-system.so + libspng.so + libswscale.so + libusb-1.0.so + libx11 + libxi + libxrandr + lz4 + lzo + mbedtls2 + pugixml + sdl2 + speexdsp + xxhash + xz + zstd +) +makedepends=( + alsa-lib + cmake + git + libevdev + libminiupnpc.so + libpulse + libudev.so + ninja + python + qt6-base + qt6-svg + #sfml +) +optdepends=('pulseaudio: PulseAudio backend') +options=(!emptydirs !lto) +_tag=992b4ea9309899ebc7ca576ebea711a70523098a +source=( + dolphin-emu::git+https://github.com/dolphin-emu/dolphin.git#tag=${_tag} + git+https://github.com/mozilla/cubeb.git + git+https://github.com/epezent/implot.git + git+https://github.com/mgba-emu/mgba.git + git+https://github.com/zlib-ng/minizip-ng.git + git+https://github.com/RetroAchievements/rcheevos.git + git+https://github.com/arsenm/sanitizers-cmake.git + git+https://github.com/KhronosGroup/SPIRV-Cross.git + git+https://github.com/syoyo/tinygltf.git + git+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git + git+https://github.com/zlib-ng/zlib-ng.git +) +b2sums=('09e0e0dedac6bc7f91990f7a2002736a0f5a6ab303c8ee31a5d6f936e7611e762ccd8362d85536a1bb645af11e8d1b421ef175cff8d161cbadf3d11d37b86401' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +prepare() { + cd dolphin-emu + for submodule in Externals/{cubeb/cubeb,implot/implot,mGBA/mgba,minizip-ng/minizip-ng,rcheevos/rcheevos,spirv_cross/SPIRV-Cross,tinygltf/tinygltf,VulkanMemoryAllocator,zlib-ng/zlib-ng}; do + git submodule init ${submodule} + git config submodule.${submodule}.url ../${submodule##*/} + git -c protocol.file.allow=always submodule update ${submodule} + done + cd Externals/cubeb/cubeb + git submodule init cmake/sanitizers-cmake + git config submodule.cmake/sanitizers-cmake.url "${srcdir}"/sanitizers-cmake + git -c protocol.file.allow=always submodule update cmake/sanitizers-cmake +} + +pkgver() { + cd dolphin-emu + git describe --tags +} + +build() { + case "${CARCH}" in + powerpc64|riscv64) _cmake_options=(-DENABLE_GENERIC=ON) ;; + powerpc) + _cmake_options=(-DENABLE_GENERIC=ON) + export CXXFLAGS+=' -latomic' + ;; + esac + + cmake -S dolphin-emu -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DDISTRIBUTOR=archlinux.org \ + -DENABLE_ANALYTICS=OFF \ + -DENABLE_AUTOUPDATE=OFF \ + -DENABLE_LTO=OFF \ + -DENABLE_TESTS=OFF \ + -DUSE_MGBA=ON \ + -Wno-dev ${_cmake_options[@]} + cmake --build build +} + +package_dolphin-emu() { + depends+=( + alsa-lib + hicolor-icon-theme + libevdev + libminiupnpc.so + libpulse + libudev.so + qt6-base + qt6-svg + ) + + DESTDIR="${pkgdir}" cmake --install build + install -Dm 644 dolphin-emu/Data/51-usb-device.rules -t "${pkgdir}"/usr/lib/udev/rules.d/ + rm -rf "${pkgdir}"/usr/{bin/dolphin-tool,include,lib/libdiscord-rpc.a} +} + +package_dolphin-emu-tool() { + install -Dm 755 build/Binaries/dolphin-tool -t "${pkgdir}"/usr/bin/ +} + +# vim: ts=2 sw=2 et: