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>

Reply via email to