blob: 6786350995b5f13762f99ed4bce4868a4926c1b1 (
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
# Maintainer: Sébastien TERRIER <ouinouin at ouinouin dot eu>
_pkgname=citron
pkgname=citron-git
pkgver=v0.6.1.canary.refresh.r10.gebfc9d8
pkgrel=1
pkgdesc="Nintendo Switch emulator forked from yuzu."
arch=(x86_64)
url=https://citron-emu.org
license=(GPL-2.0-or-later)
provides=('citron')
depends=('qt6-base' 'qt6-webengine' 'qt6-multimedia' 'qt6-wayland' 'qt6-tools' 'ffmpeg' 'sdl2-compat' 'gamemode' 'hicolor-icon-theme' 'brotli' 'libusb' 'enet' 'opus' 'boost')
makedepends=('curl' 'git' 'cmake' 'clang' 'llvm' 'doxygen' 'python-pip' 'glslang' 'ninja' 'zip' 'unzip' 'libzip' 'fmt' 'nlohmann-json' 'zlib' 'zstd')
conflicts=('citron')
options=(!debug)
source=(citron::git+https://git.citron-emu.org/Citron/Citron.git
cubeb::git+https://github.com/mozilla/cubeb.git
dynarmic::git+https://github.com/yuzu-mirror/dynarmic.git
Vulkan-Headers::git+https://github.com/KhronosGroup/Vulkan-Headers.git
sirit::git+https://github.com/yuzu-mirror/sirit.git
SPIRV-Headers::git+https://github.com/KhronosGroup/SPIRV-Headers
mbedtls::git+https://github.com/yuzu-mirror/mbedtls.git
xbyak::git+https://github.com/herumi/xbyak.git
cpp-httplib::git+https://github.com/yhirose/cpp-httplib.git
cpp-jwt::git+https://github.com/arun11299/cpp-jwt.git
libadrenotools::git+https://github.com/bylaws/libadrenotools.git
tzdb_to_nx::git+https://github.com/lat9nq/tzdb_to_nx.git
VulkanMemoryAllocator::git+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
breakpad::git+https://github.com/yuzu-mirror/breakpad.git
simpleini::git+https://github.com/brofield/simpleini.git
oaknut::git+https://github.com/yuzu-mirror/oaknut.git
Vulkan-Utility-Libraries::git+https://github.com/KhronosGroup/Vulkan-Utility-Libraries.git
googletest::git+https://github.com/google/googletest.git
sanitizers-cmake::git+https://github.com/arsenm/sanitizers-cmake.git
zycore::git+https://github.com/zyantific/zycore-c.git
linkernsbypass::git+https://github.com/bylaws/liblinkernsbypass.git
tz::git+https://github.com/eggert/tz.git)
b2sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP')
pkgver() {
cd "$srcdir/$_pkgname"
git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
cd "$srcdir/$_pkgname"
git rm -f externals/SDL
git rm -f externals/ffmpeg/ffmpeg
git rm -f externals/enet
git rm -f externals/opus
git rm -f externals/vcpkg
git rm -f externals/libusb/libusb
git rm -f externals/discord-rpc
git submodule init
for _submodule in cubeb dynarmic Vulkan-Headers sirit mbedtls xbyak cpp-httplib cpp-jwt libadrenotools tzdb_to_nx VulkanMemoryAllocator breakpad simpleini oaknut Vulkan-Utility-Libraries;
do
git config submodule.$_submodule.url "${srcdir}/$_submodule"
done
git -c protocol.file.allow=always submodule update --init
pushd externals/cubeb
git config submodule.cmake/sanitizers-cmake.url "${srcdir}"/sanitizers-cmake
git config submodule.googletest.url "${srcdir}"/googletest
git -c protocol.file.allow=always submodule update
popd
pushd externals/dynarmic/externals/zydis
git config submodule.dependencies/zycore.url "${srcdir}"/zycore
git -c protocol.file.allow=always submodule update
popd
pushd externals/libadrenotools
git config submodule.lib/linkernsbypass.url "${srcdir}"/linkernsbypass
git -c protocol.file.allow=always submodule update
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
pushd externals/sirit
git config submodule.externals/SPIRV-Headers.url "${srcdir}"/SPIRV-Headers
git -c protocol.file.allow=always submodule update
popd
#Replaces 'boost::asio::io_service' with 'boost::asio::io_context' for compatibility with Boost.ASIO versions 1.74.0 and later
find src -type f -name '*.cpp' -exec sed -i 's/boost::asio::io_service/boost::asio::io_context/g' {} +
}
build() {
cd "$srcdir/$_pkgname"
cmake -B build -GNinja \
-DCITRON_USE_BUNDLED_VCPKG=OFF \
-DCITRON_USE_BUNDLED_QT=OFF \
-DUSE_SYSTEM_QT=ON \
-DCITRON_USE_BUNDLED_FFMPEG=OFF \
-DCITRON_USE_BUNDLED_SDL2=OFF \
-DCITRON_USE_EXTERNAL_SDL2=OFF \
-DCITRON_TESTS=OFF \
-DCITRON_CHECK_SUBMODULES=OFF \
-DCITRON_USE_LLVM_DEMANGLE=OFF \
-DCITRON_ENABLE_LTO=ON \
-DCITRON_USE_QT_MULTIMEDIA=ON \
-DCITRON_USE_QT_WEB_ENGINE=ON \
-DENABLE_QT_TRANSLATION=ON \
-DCITRON_USE_FASTER_LD=OFF \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_FLAGS="-march=native -mtune=native -Wno-error" \
-DCMAKE_C_FLAGS="-march=native -mtune=native" \
-DUSE_DISCORD_PRESENCE=OFF \
-DBUNDLE_SPEEX=ON \
-DCMAKE_SYSTEM_PROCESSOR=x86_64 \
-DCMAKE_BUILD_TYPE=Release
ninja -C build
}
package() {
DESTDIR="$pkgdir/" ninja -C "$srcdir/$_pkgname"/build install
}
|