Gentoo Archives: gentoo-commits

From: Samuel Bauer <samuel.bauer@×××××.fr>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: games-emulation/yuzu/
Date: Fri, 21 Jan 2022 03:31:17
Message-Id: 1642735820.7a70fb27ee6b5aca3099bd810b96178cbfb064b2.samuel.bauer@gentoo
1 commit: 7a70fb27ee6b5aca3099bd810b96178cbfb064b2
2 Author: Samuel Bauer <samuel.bauer <AT> yahoo <DOT> fr>
3 AuthorDate: Fri Jan 21 03:30:20 2022 +0000
4 Commit: Samuel Bauer <samuel.bauer <AT> yahoo <DOT> fr>
5 CommitDate: Fri Jan 21 03:30:20 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=7a70fb27
7
8 games-emulation/yuzu: unbundle mbedtls, update SDL2, skip qtconcurrent fix, review comments
9
10 Signed-off-by: Samuel Bauer <samuel.bauer <AT> yahoo.fr>
11
12 games-emulation/yuzu/yuzu-9999.ebuild | 25 +++++++++++++++----------
13 1 file changed, 15 insertions(+), 10 deletions(-)
14
15 diff --git a/games-emulation/yuzu/yuzu-9999.ebuild b/games-emulation/yuzu/yuzu-9999.ebuild
16 index c194b8c19..e4a73c5ad 100644
17 --- a/games-emulation/yuzu/yuzu-9999.ebuild
18 +++ b/games-emulation/yuzu/yuzu-9999.ebuild
19 @@ -8,12 +8,10 @@ inherit cmake git-r3 toolchain-funcs xdg
20 DESCRIPTION="An emulator for Nintendo Switch"
21 HOMEPAGE="https://yuzu-emu.org"
22 EGIT_REPO_URI="https://github.com/yuzu-emu/yuzu-mainline"
23 -EGIT_SUBMODULES=( '-*' 'dynarmic' 'soundtouch' 'sirit' 'mbedtls' 'xbyak' 'externals/cpp-httplib' )
24 +EGIT_SUBMODULES=( '-*' 'dynarmic' 'soundtouch' 'sirit' 'xbyak' 'externals/cpp-httplib' )
25 # Soundtouch cannot be unbundled -> custom version
26 -# Dynarmic is heavily tweaked to emulate switch cpu non sense to unbundle
27 +# Dynarmic is intended to be tailored on purpose, not to be generic
28 # TODO wait 'xbyak' for bump in tree, require 5.96
29 -# TODO many submodules produce static libraries which forces to unset BUILD_SHARED_LIBS
30 -# this may be better to generate shared libraries and install them under /usr/$(get_libdir)/yuzu
31
32 LICENSE="|| ( Apache-2.0 GPL-2+ ) 0BSD BSD GPL-2+ ISC MIT
33 !system-vulkan? ( Apache-2.0 )"
34 @@ -30,6 +28,7 @@ RDEPEND="
35 >=media-libs/opus-1.3.1
36 >=media-video/ffmpeg-4.3:=
37 >=sys-libs/zlib-1.2
38 + net-libs/mbedtls[cmac]
39 virtual/libusb:1
40 cubeb? ( media-libs/cubeb )
41 qt5? (
42 @@ -38,7 +37,7 @@ RDEPEND="
43 >=dev-qt/qtwidgets-5.15:5
44 )
45 sdl? (
46 - >=media-libs/libsdl2-2.0.16
47 + >=media-libs/libsdl2-2.0.18
48 >=dev-libs/inih-52
49 )
50 "
51 @@ -62,8 +61,6 @@ pkg_setup() {
52 [[ "$(gcc-major-version)" -lt 11 ]] && \
53 die "You need gcc version 11 or clang to compile this package"
54 fi
55 - grep -q 'ThreadEngineStarter<void>' /usr/include/qt5/QtConcurrent/qtconcurrentthreadengine.h \
56 - || die "add user patch for dev-qt/qtconcurrent: https://github.com/qt/qtbase/commit/659f7a06e91c04b239e3f4c0bcfccbe3581af1c3.diff"
57 }
58
59 src_unpack() {
60 @@ -101,15 +98,21 @@ src_prepare() {
61 sed -i -e 's:../../externals/Vulkan-Headers/include:/usr/include/vulkan/:' src/video_core/CMakeLists.txt src/yuzu/CMakeLists.txt src/yuzu_cmd/CMakeLists.txt || die
62 fi
63
64 + # Unbundle mbedtls: undefined reference to `mbedtls_cipher_cmac'
65 + sed -i -e '/mbedtls/d' externals/CMakeLists.txt || die
66 + sed -i -e 's/mbedtls/& mbedcrypto mbedx509/' \
67 + -e '1ifind_path(MBEDTLS_INCLUDE_DIR NAMES mbedtls/ssl.h)' \
68 + -e '1ifind_library(MBEDTLS_LIB NAMES mbedtls)' \
69 + -e '1ifind_library(MBEDX509_LIB NAMES mbedx509)' \
70 + -e '1ifind_library(MBEDCRYPTO_LIB NAMES mbedcrypto)' \
71 + src/core/CMakeLists.txt
72 +
73 # Workaround: GenerateSCMRev fails
74 sed -i -e "s/@GIT_BRANCH@/${EGIT_BRANCH:-master}/" \
75 -e "s/@GIT_REV@/$(git rev-parse --short HEAD)/" \
76 -e "s/@GIT_DESC@/$(git describe --always --long)/" \
77 src/common/scm_rev.cpp.in || die
78
79 - # Lower sdl requirement
80 - sed -i -e '/SDL2/s/18/16/' CMakeLists.txt || die
81 -
82 # Use system SPIRV headers
83 sed -i -e '/SPIRV/d' externals/sirit/CMakeLists.txt || die
84
85 @@ -130,6 +133,7 @@ src_prepare() {
86
87 src_configure() {
88 local -a mycmakeargs=(
89 + # Libraries are private and rely on circular dependency resolution.
90 -DBUILD_SHARED_LIBS=OFF
91 -DDYNARMIC_NO_BUNDLED_ROBIN_MAP=ON
92 -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=$(usex compatibility-list)
93 @@ -139,6 +143,7 @@ src_configure() {
94 -DENABLE_SDL2=$(usex sdl)
95 -DENABLE_WEB_SERVICE=$(usex webservice)
96 -DUSE_DISCORD_PRESENCE=$(usex discord)
97 + -DYUZU_USE_BUNDLED_OPUS=OFF
98 -DYUZU_USE_EXTERNAL_SDL2=OFF
99 -DYUZU_USE_QT_WEB_ENGINE=$(usex webengine)
100 )