1 |
commit: f5eb9139008b7003f65c94e82bb984829d964900 |
2 |
Author: Samuel Bauer <samuel.bauer <AT> yahoo <DOT> fr> |
3 |
AuthorDate: Mon Jan 30 10:33:45 2023 +0000 |
4 |
Commit: Haelwenn Monnier <contact <AT> hacktivis <DOT> me> |
5 |
CommitDate: Mon Jan 30 10:33:45 2023 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f5eb9139 |
7 |
|
8 |
games-emulation/citra*: updates |
9 |
|
10 |
Signed-off-by: Samuel Bauer <samuel.bauer <AT> yahoo.fr> |
11 |
|
12 |
.../citra-canary/citra-canary-9999.ebuild | 72 ++++++++++++---------- |
13 |
games-emulation/citra/citra-9999.ebuild | 28 ++++++--- |
14 |
2 files changed, 58 insertions(+), 42 deletions(-) |
15 |
|
16 |
diff --git a/games-emulation/citra-canary/citra-canary-9999.ebuild b/games-emulation/citra-canary/citra-canary-9999.ebuild |
17 |
index 7a950802d..f1859c3a5 100644 |
18 |
--- a/games-emulation/citra-canary/citra-canary-9999.ebuild |
19 |
+++ b/games-emulation/citra-canary/citra-canary-9999.ebuild |
20 |
@@ -1,4 +1,4 @@ |
21 |
-# Copyright 2019-2022 Gentoo Authors |
22 |
+# Copyright 2019-2023 Gentoo Authors |
23 |
# Distributed under the terms of the GNU General Public License v2 |
24 |
|
25 |
EAPI=8 |
26 |
@@ -8,19 +8,17 @@ inherit cmake git-r3 xdg |
27 |
DESCRIPTION="A Nintendo 3DS Emulator" |
28 |
HOMEPAGE="https://citra-emu.org" |
29 |
EGIT_REPO_URI="https://github.com/citra-emu/citra-canary" |
30 |
-EGIT_SUBMODULES=( '*' |
31 |
- '-boost' '-catch' '-cryptopp' '-cubeb' '-enet' |
32 |
- '-inih' '-libressl' '-libusb' '-teakra' '-zstd' |
33 |
- '-externals/dynarmic/externals/fmt' |
34 |
- '-externals/dynarmic/externals/xbyak' |
35 |
+EGIT_SUBMODULES=( |
36 |
+ 'catch2' 'discord-rpc' 'dynarmic' 'libyuv' |
37 |
+ 'lodepng' 'nihstro' 'soundtouch' 'xbyak' |
38 |
) |
39 |
|
40 |
LICENSE="GPL-2" |
41 |
SLOT="0" |
42 |
KEYWORDS="" |
43 |
-IUSE="cubeb +hle-sound nls +qt5 sdl system-libfmt +telemetry video" |
44 |
+IUSE="cubeb +hle-sound nls +qt5 sdl +system-libfmt +telemetry video" |
45 |
|
46 |
-DEPEND=" |
47 |
+RDEPEND=" |
48 |
cubeb? ( media-libs/cubeb ) |
49 |
!hle-sound? ( media-libs/fdk-aac ) |
50 |
hle-sound? ( media-video/ffmpeg[fdk] ) |
51 |
@@ -34,24 +32,25 @@ DEPEND=" |
52 |
media-libs/libsdl2 |
53 |
>=dev-libs/inih-52 |
54 |
) |
55 |
- system-libfmt? ( <=dev-libs/libfmt-8 ) |
56 |
- video? ( media-video/ffmpeg ) |
57 |
- >=dev-libs/openssl-1.1 |
58 |
+ system-libfmt? ( >=dev-libs/libfmt-9:= ) |
59 |
+ video? ( media-video/ffmpeg:= ) |
60 |
+ >=dev-libs/openssl-1.1:= |
61 |
app-arch/zstd |
62 |
- dev-cpp/catch:0 |
63 |
- dev-cpp/robin-map |
64 |
dev-libs/boost:= |
65 |
- dev-libs/crypto++ |
66 |
+ dev-libs/crypto++:= |
67 |
dev-libs/teakra |
68 |
- net-libs/enet:1.3 |
69 |
+ net-libs/enet:1.3= |
70 |
virtual/libusb:1 |
71 |
" |
72 |
-RDEPEND="${DEPEND}" |
73 |
+DEPEND="${RDEPEND}" |
74 |
+BDEPEND="dev-cpp/cpp-httplib |
75 |
+ dev-cpp/cpp-jwt |
76 |
+ dev-cpp/robin-map" |
77 |
REQUIRED_USE="|| ( qt5 sdl )" |
78 |
|
79 |
src_unpack() { |
80 |
- if use system-libfmt; then |
81 |
- EGIT_SUBMODULES+=( "-fmt" "-externals/dynarmic/externals/fmt" ) |
82 |
+ if ! use system-libfmt; then |
83 |
+ EGIT_SUBMODULES+=( 'fmt' ) |
84 |
fi |
85 |
git-r3_src_unpack |
86 |
|
87 |
@@ -81,7 +80,7 @@ src_prepare() { |
88 |
sed -i '/install/s/citra\./citra-canary./' CMakeLists.txt || die |
89 |
|
90 |
# Dynarmic: ensure those are unbundled |
91 |
- for ext in fmt catch robin-map; do |
92 |
+ for ext in fmt robin-map; do |
93 |
rm -rf externals/dynarmic/externals/${ext} || die |
94 |
done |
95 |
|
96 |
@@ -113,10 +112,7 @@ src_prepare() { |
97 |
|
98 |
if use system-libfmt; then # Unbundle libfmt |
99 |
sed -i -e '/fmt/d' externals/CMakeLists.txt || die |
100 |
- sed -i -e 's/fmt/&::&/' -e '1ifind_package(fmt)' \ |
101 |
- src/{core,citra,citra_qt,dedicated_room,input_common,tests,video_core}/CMakeLists.txt || die |
102 |
- sed -i -e '1ifind_package(fmt)' externals/dynarmic/src/CMakeLists.txt || die |
103 |
- sed -i -e '/^#pragma once$/a#include <algorithm>' src/common/logging/log.h || die |
104 |
+ sed -i -e '/find_package(Threads/afind_package(fmt)' CMakeLists.txt || die |
105 |
fi |
106 |
|
107 |
# Unbundle teakra |
108 |
@@ -140,14 +136,7 @@ src_prepare() { |
109 |
-e '1ifind_package(PkgConfig REQUIRED)\npkg_check_modules(CRYPTOPP REQUIRED libcryptopp)' \ |
110 |
src/dedicated_room/CMakeLists.txt \ |
111 |
src/core/CMakeLists.txt || die |
112 |
- sed -i -e '/cryptopp/d' externals/CMakeLists.txt || die |
113 |
- |
114 |
- # Unbundle catch |
115 |
- sed -i -e '1ifind_package(Catch2)' src/tests/CMakeLists.txt externals/dynarmic/tests/CMakeLists.txt || die |
116 |
- sed -i -e '/target_link_libraries/s/catch/Catch2::Catch2/' externals/dynarmic/tests/CMakeLists.txt || die |
117 |
- sed -i -e '/target_link_libraries/s/catch-single-include/Catch2::Catch2/' src/tests/CMakeLists.txt || die |
118 |
- sed -i -e '/catch/d' externals/CMakeLists.txt externals/dynarmic/externals/CMakeLists.txt || die |
119 |
- grep -rl 'include <catch.hpp>' externals/dynarmic | xargs sed -i -e '/include/s:catch.hpp:catch/&:' || die |
120 |
+ sed -i -e '/cryptopp-cmake/d' externals/CMakeLists.txt || die |
121 |
|
122 |
# Unbundle cubeb |
123 |
sed -i -e '/CUBEB/,/endif()/d' externals/CMakeLists.txt || die |
124 |
@@ -155,7 +144,20 @@ src_prepare() { |
125 |
sed -i -e '$afind_package(cubeb REQUIRED)\n' CMakeLists.txt || die |
126 |
fi |
127 |
|
128 |
- # TODO unbundle xbyak (wait for 5.96 in ytree) |
129 |
+ # Unbundle cpp-httplib |
130 |
+ sed -i -e '/# httplib/,/target_link_libraries(httplib/d' externals/CMakeLists.txt || die |
131 |
+ sed -i -e 's/ httplib//' src/{web_service,network,core}/CMakeLists.txt || die |
132 |
+ |
133 |
+ # Unbundle cpp-jwt |
134 |
+ sed -i -e '/# cpp-jwt/,/CPP_JWT_USE_VENDORED_NLOHMANN_JSON/d' externals/CMakeLists.txt || die |
135 |
+ sed -i -e 's/ cpp-jwt//' src/web_service/CMakeLists.txt || die |
136 |
+ |
137 |
+ # Unbundle xbyak |
138 |
+ sed -i -e '/^install(/,/^)$/d' externals/xbyak/CMakeLists.txt || die |
139 |
+ |
140 |
+ # Do not install dynarmic |
141 |
+ sed -i -e '/^# Install/,$d' externals/dynarmic/CMakeLists.txt || die |
142 |
+ |
143 |
cmake_src_prepare |
144 |
} |
145 |
|
146 |
@@ -171,9 +173,15 @@ src_configure() { |
147 |
-DENABLE_WEB_SERVICE=$(usex telemetry) |
148 |
-DGENERATE_QT_TRANSLATION=$(use qt5 && usex nls || echo OFF) |
149 |
-DUSE_SYSTEM_BOOST=ON |
150 |
+ -DUSE_SYSTEM_SDL2=ON |
151 |
) |
152 |
cmake_src_configure |
153 |
|
154 |
# This would be better in src_unpack but it would be unlinked |
155 |
mv "${S}"/compatibility_list.json "${BUILD_DIR}"/dist/compatibility_list/ || die |
156 |
} |
157 |
+ |
158 |
+src_install() { |
159 |
+ cmake_src_install |
160 |
+ rm -rf "${D}"/usr/$(get_libdir)/cmake |
161 |
+} |
162 |
|
163 |
diff --git a/games-emulation/citra/citra-9999.ebuild b/games-emulation/citra/citra-9999.ebuild |
164 |
index 2bf048892..2a6d8e781 100644 |
165 |
--- a/games-emulation/citra/citra-9999.ebuild |
166 |
+++ b/games-emulation/citra/citra-9999.ebuild |
167 |
@@ -1,4 +1,4 @@ |
168 |
-# Copyright 2019-2022 Gentoo Authors |
169 |
+# Copyright 2019-2023 Gentoo Authors |
170 |
# Distributed under the terms of the GNU General Public License v2 |
171 |
|
172 |
EAPI=8 |
173 |
@@ -16,7 +16,7 @@ EGIT_SUBMODULES=( |
174 |
LICENSE="GPL-2" |
175 |
SLOT="0" |
176 |
KEYWORDS="" |
177 |
-IUSE="cubeb +hle-sound nls +qt5 sdl system-libfmt +telemetry video" |
178 |
+IUSE="cubeb +hle-sound nls +qt5 sdl +system-libfmt +telemetry video" |
179 |
|
180 |
RDEPEND=" |
181 |
cubeb? ( media-libs/cubeb ) |
182 |
@@ -32,7 +32,7 @@ RDEPEND=" |
183 |
media-libs/libsdl2 |
184 |
>=dev-libs/inih-52 |
185 |
) |
186 |
- system-libfmt? ( <=dev-libs/libfmt-8:= ) |
187 |
+ system-libfmt? ( >=dev-libs/libfmt-9:= ) |
188 |
video? ( media-video/ffmpeg:= ) |
189 |
>=dev-libs/openssl-1.1:= |
190 |
app-arch/zstd |
191 |
@@ -42,8 +42,8 @@ RDEPEND=" |
192 |
net-libs/enet:1.3= |
193 |
virtual/libusb:1 |
194 |
" |
195 |
-DEPEND="${RDEPEND} |
196 |
- dev-cpp/cpp-httplib |
197 |
+DEPEND="${RDEPEND}" |
198 |
+BDEPEND="dev-cpp/cpp-httplib |
199 |
dev-cpp/cpp-jwt |
200 |
dev-cpp/robin-map" |
201 |
REQUIRED_USE="|| ( qt5 sdl )" |
202 |
@@ -94,10 +94,7 @@ src_prepare() { |
203 |
|
204 |
if use system-libfmt; then # Unbundle libfmt |
205 |
sed -i -e '/fmt/d' externals/CMakeLists.txt || die |
206 |
- sed -i -e 's/fmt/&::&/' -e '1ifind_package(fmt)' \ |
207 |
- src/{core,citra,citra_qt,dedicated_room,input_common,tests,video_core}/CMakeLists.txt || die |
208 |
- sed -i -e '1ifind_package(fmt)' externals/dynarmic/src/CMakeLists.txt || die |
209 |
- sed -i -e '/^#pragma once$/a#include <algorithm>' src/common/logging/log.h || die |
210 |
+ sed -i -e '/find_package(Threads/afind_package(fmt)' CMakeLists.txt || die |
211 |
fi |
212 |
|
213 |
# Unbundle teakra |
214 |
@@ -121,7 +118,7 @@ src_prepare() { |
215 |
-e '1ifind_package(PkgConfig REQUIRED)\npkg_check_modules(CRYPTOPP REQUIRED libcryptopp)' \ |
216 |
src/dedicated_room/CMakeLists.txt \ |
217 |
src/core/CMakeLists.txt || die |
218 |
- sed -i -e '/cryptopp/d' externals/CMakeLists.txt || die |
219 |
+ sed -i -e '/cryptopp-cmake/d' externals/CMakeLists.txt || die |
220 |
|
221 |
# Unbundle cubeb |
222 |
sed -i -e '/CUBEB/,/endif()/d' externals/CMakeLists.txt || die |
223 |
@@ -137,6 +134,12 @@ src_prepare() { |
224 |
sed -i -e '/# cpp-jwt/,/CPP_JWT_USE_VENDORED_NLOHMANN_JSON/d' externals/CMakeLists.txt || die |
225 |
sed -i -e 's/ cpp-jwt//' src/web_service/CMakeLists.txt || die |
226 |
|
227 |
+ # Unbundle xbyak |
228 |
+ sed -i -e '/^install(/,/^)$/d' externals/xbyak/CMakeLists.txt || die |
229 |
+ |
230 |
+ # Do not install dynarmic |
231 |
+ sed -i -e '/^# Install/,$d' externals/dynarmic/CMakeLists.txt || die |
232 |
+ |
233 |
cmake_src_prepare |
234 |
} |
235 |
|
236 |
@@ -159,3 +162,8 @@ src_configure() { |
237 |
# This would be better in src_unpack but it would be unlinked |
238 |
mv "${S}"/compatibility_list.json "${BUILD_DIR}"/dist/compatibility_list/ || die |
239 |
} |
240 |
+ |
241 |
+src_install() { |
242 |
+ cmake_src_install |
243 |
+ rm -rf "${D}"/usr/$(get_libdir)/cmake |
244 |
+} |