blob: d32e29a8a344e21376f3e075f54e58c93c69e935 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=dolphin-emu
pkgver=5.0_git20210528
pkgrel=2
_commit="37d05594933ab104eba82ad3bbffb20222982b20"
# Upstream doesn't actively support non 64-bit platforms and they're too slow
# to emulate any games anyway
arch="x86_64 aarch64"
url="https://dolphin-emu.org"
pkgdesc="A Gamecube / Wii emulator"
license="GPL-2.0-or-later"
depends="mbedtls"
makedepends="
bluez-dev
cmake
curl-dev
enet-dev
eudev-dev
ffmpeg-dev
fmt-dev
hidapi-dev
libevdev-dev
libpng-dev
libusb-dev
libx11-dev
libxi-dev
libxrandr-dev
lzo-dev
mbedtls-dev
mesa-dev
mesa-egl
miniupnpc-dev
ninja
pugixml-dev
pulseaudio-dev
qt5-qtbase-dev
sfml-dev
vulkan-headers
xz-dev
zlib-dev
zstd-dev
"
# The following dependencies are required, but atm not supported for using system wide libraries
# minizip-dev xxhash-dev soundtouch-dev gtest-dev
source="https://github.com/dolphin-emu/dolphin/archive/$_commit/dolphin-emu-$_commit.tar.gz"
subpackages="$pkgname-doc $pkgname-lang"
builddir="$srcdir/dolphin-$_commit"
prepare() {
default_prepare
# Make sure we never use non-system libraries except the ones that are not
# supported being used system-wide by removing them from the Externals
# folder
#
# Vulkan's API is not backwards-compatible
# New release dropped VK_PRESENT_MODE_RANGE_SIZE_KHR
# but Dolphin still relies on it
# See e.g. https://bugs.gentoo.org/729832
KEEP_SOURCES="
Bochs_disasm
FreeSurround
Vulkan
cpp-optparse
cubeb
glslang
gtest
imgui
minizip
picojson
rangeset
soundtouch
xxhash
"
# Move the libraries we want to keep out of the externals folder
for s in $KEEP_SOURCES; do
mv -v "Externals/$s" .
done
# Remove the rest
rm -r Externals/*
# Move them back
for s in $KEEP_SOURCES; do
mv -v "$s" "Externals/"
done
}
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DUSE_DISCORD_PRESENCE=OFF \
-DUSE_SHARED_ENET=ON \
-DENABLE_LLVM=OFF \
-DDISTRIBUTOR="alpinelinux.org"
cmake --build build
}
check() {
cd build
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
}
package() {
DESTDIR="$pkgdir" cmake --install build
install -Dm 644 Data/51-usb-device.rules -t "$pkgdir"/usr/lib/udev/rules.d/
}
sha512sums="
9cce4a80705f56223c4cbf5991619e7db2cfe282346b9e87aaed734719ccda52953d4542fd8b3f07eb905d236f59a714a30eae27510242fa6b9a200e48773454 dolphin-emu-37d05594933ab104eba82ad3bbffb20222982b20.tar.gz
"
|