commit: 278b5cb7e54fb4f0a1169042fa3559c5811da581
Author: crueter <crueter <AT> eden-emu <DOT> dev>
AuthorDate: Wed Nov 5 01:38:13 2025 +0000
Commit: crueter <crueter <AT> crueter <DOT> xyz>
CommitDate: Wed Nov 5 01:38:13 2025 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=278b5cb7
[games-emulation/eden] better/new USE flags; stricter sirit; tzdb update
Rationales:
- sirit MUST be version 1.0.1 (our fork) or newer, NOT any older version
e.g. Rein/Pablo's
- gui should be qt6
- Better descriptions for USE flags all around
- tzdb update to 091025
- room, llvm, renderdoc, gamemode:
* room: dedicated room executable (may be desirable)
* llvm: demangling is supported anyways, but people may not want to
pull in all of LLVM for this; other than that, also allow Dynarmic
to use LLVM for disassembly (see: games-emulation/dolphin)--demangle
itself is pulled from LLVM, so we also have to add its exception
* renderdoc: If enabled, will let Eden use the system renderdoc API
and also enforce its installation for the hotkey
* gamemode: Uses the system gamemode client, and also enforces the
user having it installed in the first place
- better REQUIRED_USE
* web-service requires SSL of course, but also can only be used if the
Qt or Room executables are enabled.
* opengl requires gui? Nope--OpenGL works with the SDL frontend as well
Some additional prepwork for rc2 is due as well, I'll get on that later
Signed-off-by: crueter <crueter <AT> eden-emu.dev>
games-emulation/eden/Manifest | 2 +-
games-emulation/eden/eden-0.0.4_rc1.ebuild | 32 +++++++++++++++++++-----------
games-emulation/eden/metadata.xml | 22 +++++++++++++-------
3 files changed, 36 insertions(+), 20 deletions(-)
diff --git a/games-emulation/eden/Manifest b/games-emulation/eden/Manifest
index 9fff4b99c7..cbe4ba987c 100644
--- a/games-emulation/eden/Manifest
+++ b/games-emulation/eden/Manifest
@@ -1,3 +1,3 @@
DIST eden-0.0.4_rc1-revert-the-latest-Dynarmic-changes.patch 110541 BLAKE2B
7832f1f08d79cb8c16797ffdaa824bf4ff4822b2ab002fd3c551864aff4f3128ab0cbb2624132ec139e75ef0e9c6fc18119bd0805d3969fa219b97937aff14d1
SHA512
6e41b8dc2fb8b4b6cfdb0223c9f63a7ae7aab30a038f1e5dee52598f20e6bd53c6638fc6b072c2bb7633268d016fc02274e01cc3a27d935c22d53b2c51702067
DIST eden-0.0.4_rc1.tar.gz 15713193 BLAKE2B
33b1062189b09505f064e7bf0bdb18a2377518b577f1f88fbb948657e60f47bd381ad4e8b572046416c19232bdc57885d531682060118941abbfb638007fdc24
SHA512
2054a71b1bdcd4958e85aee2e6597ddcf54939e1d43e23cf85c1ba835b205236ba92b51c2b2cf2fee9a4e3f6c74eedd45f9954dcd2dc097d50760d64d74012d8
-DIST nx-tzdb-250725.zip 286133 BLAKE2B
e8791883b589c58927f24293263f56d85f68a7e52f12d4e022c23bdba47f5e5f12cd1d8dfb186194b455fbd53f48951c8eb1e157d4de5e80db4f09b63d7a25f7
SHA512
8f60b4b29f285e39c0443f3d5572a73780f3dbfcfd5b35004451fadad77f3a215b2e2aa8d0fffe7e348e2a7b0660882b35228b6178dda8804a14ce44509fd2ca
+DIST nx-tzdb-091025.tar.gz 983040 BLAKE2B
c57b8e6e9b21985211330eeffcbffbaf5da8b4b7dacc50948aeb6bffb7f23c3dfabf902d19e4f503497c306f8ff279e4c9b69d87da49c57fd65a8629edcb00f3
SHA512
87abb2aeca716d5d77b05317086dbc2f8acfc2f3f76ce4778345ee3df19973e6cd8ecbf16cfab5ad94c9636a6c44fd3588f9aadd3cba89403cfd56c8bec645c5
diff --git a/games-emulation/eden/eden-0.0.4_rc1.ebuild
b/games-emulation/eden/eden-0.0.4_rc1.ebuild
index bc509e80a4..1e26f38009 100644
--- a/games-emulation/eden/eden-0.0.4_rc1.ebuild
+++ b/games-emulation/eden/eden-0.0.4_rc1.ebuild
@@ -5,11 +5,13 @@ EAPI=8
inherit cmake xdg
+_TZDB_VER=091025
+
DESCRIPTION="Nintendo Switch Emulator"
HOMEPAGE="https://eden-emu.dev"
SRC_URI="
https://git.eden-emu.dev/eden-emu/eden/archive/v${PV/_/-}.tar.gz ->
${P}.tar.gz
-
https://git.crueter.xyz/misc/tzdb_to_nx/releases/download/250725/250725.zip ->
nx-tzdb-250725.zip
+
https://git.crueter.xyz/misc/tzdb_to_nx/releases/download/${_TZDB_VER}/${_TZDB_VER}.tar.gz
-> nx-tzdb-${_TZDB_VER}.tar.gz
https://git.eden-emu.dev/eden-emu/eden/commit/6b01c13975439784cd40cf1810b67350111a41d3.patch
->
${PN}-0.0.4_rc1-revert-the-latest-Dynarmic-changes.patch
"
@@ -19,10 +21,10 @@ S="${WORKDIR}/${PN}"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="camera cubeb discord gui lto opengl sdl ssl test usb web-applet
web-service wifi"
+IUSE="camera +cubeb discord +qt6 lto +opengl +sdl ssl test +usb web-applet
web-service wifi room llvm renderdoc +gamemode"
REQUIRED_USE="
- !gui? ( !camera !discord !opengl !web-applet )
- web-service? ( ssl )
+ !qt6? ( !camera !discord !web-applet )
+ web-service? ( ssl || ( qt6 room ) )
"
RESTRICT="!test? ( test )"
@@ -31,10 +33,8 @@ RDEPEND="
app-arch/zstd
dev-libs/libfmt:=
dev-libs/mcl
- dev-libs/sirit
+ >=dev-libs/sirit-1.0.1
dev-util/spirv-tools
- llvm-core/llvm
- media-gfx/renderdoc
media-libs/libva
media-libs/opus
media-video/ffmpeg
@@ -53,7 +53,7 @@ RDEPEND="
dev-cpp/cpp-httplib:=[ssl]
dev-libs/discord-rpc
)
- gui? (
+ qt6? (
dev-libs/quazip[qt6]
dev-qt/qtbase:6[concurrent,dbus,gui,widgets]
)
@@ -63,6 +63,9 @@ RDEPEND="
web-applet? ( dev-qt/qtwebengine:6[widgets] )
web-service? ( dev-cpp/cpp-httplib:=[ssl] )
wifi? ( net-wireless/wireless-tools )
+ llvm? ( llvm-core/llvm )
+ renderdoc? ( media-gfx/renderdoc )
+ gamemode? ( games-util/gamemode )
"
DEPEND="
${RDEPEND}
@@ -74,7 +77,6 @@ DEPEND="
dev-util/spirv-headers
dev-util/vulkan-headers
dev-util/vulkan-utility-libraries
- games-util/gamemode
media-libs/VulkanMemoryAllocator
amd64? ( dev-libs/xbyak )
@@ -103,6 +105,7 @@ declare -A KEEP_BUNDLED=(
# Generated or copied files for internal usage
[bc_decoder]=MPL-2.0
[cmake-modules]=Boost-1.0
+ [demangle]="Apache-2.0 WITH LLVM-exception"
[FidelityFX-FSR]=MIT
[glad]=GPL-2+
[nx_tzdb]="GPL-2+"
@@ -141,25 +144,30 @@ src_configure() {
local mycmakeargs=(
-DCPMUTIL_FORCE_SYSTEM=yes
-DTITLE_BAR_FORMAT_IDLE="Eden | v${PV/_/-}"
- -DYUZU_TZDB_PATH="${WORKDIR}"
+ -DYUZU_TZDB_PATH="${WORKDIR}/${_TZDB_VER}"
-DYUZU_USE_FASTER_LD=no
-DDYNARMIC_ENABLE_LTO=$(usex lto)
+ -DYUZU_ENABLE_LTO=$(usex lto)
+
+ -DDYNARMIC_USE_LLVM=$(usex llvm)
+ -DYUZU_DISABLE_LLVM=$(usex !llvm)
-DBUILD_TESTING=$(usex test)
-DENABLE_CUBEB=$(usex cubeb)
-DENABLE_LIBUSB=$(usex usb)
-DENABLE_OPENGL=$(usex opengl)
-DENABLE_OPENSSL=$(usex ssl)
- -DENABLE_QT=$(usex gui)
+ -DENABLE_QT=$(usex qt6)
-DENABLE_SDL2=$(usex sdl)
-DENABLE_WEB_SERVICE=$(usex web-service)
-DENABLE_WIFI_SCAN=$(usex wifi)
-DUSE_DISCORD_PRESENCE=$(usex discord)
- -DYUZU_ENABLE_LTO=$(usex lto)
-DYUZU_USE_QT_MULTIMEDIA=$(usex camera)
-DYUZU_USE_QT_WEB_ENGINE=$(usex web-applet)
+ -DYUZU_ROOM=$(usex room)
+
-Wno-dev
)
diff --git a/games-emulation/eden/metadata.xml
b/games-emulation/eden/metadata.xml
index a0f25784a3..9a0ae6b2ce 100644
--- a/games-emulation/eden/metadata.xml
+++ b/games-emulation/eden/metadata.xml
@@ -5,17 +5,25 @@
<name>Pavel Sobolev</name>
<email>[email protected]</email>
</maintainer>
+ <maintainer type="person">
+ <name>crueter</name>
+ <email>[email protected]</email>
+ </maintainer>
<use>
- <flag name="camera">Enable camera support</flag>
+ <flag name="camera">Enable camera support through
dev-qt/qtmultimedia</flag>
<flag name="cubeb">Enable the cubeb audio backend</flag>
<flag name="discord">Enable Discord Rich Presence</flag>
- <flag name="opengl">Enable the OpenGL frontend</flag>
- <flag name="sdl">Enable the SDL2 frontend</flag>
- <flag name="ssl">Enable OpenSSL backend for ISslConnection</flag>
- <flag name="usb">Enable the use of LibUSB</flag>
- <flag name="web-applet">Enable web applet support</flag>
- <flag name="web-service">Enable web services (telemetry, etc.)</flag>
+ <flag name="opengl">Enable the OpenGL graphics backend</flag>
+ <flag name="sdl">Enable the SDL2 frontend (eden-cli, controller
backend...)</flag>
+ <flag name="ssl">Enable the OpenSSL backend for ISslConnection</flag>
+ <flag name="usb">Enable the LibUSB controller backend</flag>
+ <flag name="web-applet">Enable the custom web applet frontend through
dev-qt/qtwebengine</flag>
+ <flag name="web-service">Enable multiplayer support</flag>
<flag name="wifi">Enable Wi-Fi scanning</flag>
+ <flag name="room">Compile the dedicated room executable</flag>
+ <flag name="llvm">Enable the LLVM backend for disassembly and symbol
demangling</flag>
+ <flag name="renderdoc">Enable the RenderDoc API for graphics
debugging</flag>
+ <flag name="gamemode">Enable the Feral Gamemode client for better
performance</flag>
</use>
<upstream>
<bugs-to>https://git.eden-emu.dev/eden-emu/eden/issues</bugs-to>