* add dolphin-emu

This commit is contained in:
Alexander Baldeck 2024-12-29 19:00:04 +01:00
parent ca3e956314
commit 12c4b8451a
2 changed files with 267 additions and 0 deletions

114
games/dolphin-emu/.SRCINFO Normal file
View File

@ -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

153
games/dolphin-emu/PKGBUILD Normal file
View File

@ -0,0 +1,153 @@
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: schuay <jakob.gruber@gmail.com>
# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Jeremy Newton (Mystro256) <alexjnewt@gmail.com>
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: