2024-12-29 19:00:04 +01:00

154 lines
3.6 KiB
Bash

# 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: