games-emulation/eden: add 0.0.4_rc1, drop 0.0.3

Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
This commit is contained in:
Pavel Sobolev
2025-11-02 19:05:01 +03:00
parent 5b86b850da
commit fa6dcae702
10 changed files with 42 additions and 160 deletions

View File

@@ -1,2 +1,3 @@
DIST eden-0.0.3.tar.gz 16409877 BLAKE2B dee3028aa88c00a07e030bad635ef8e2bb9bc4575d9e4b0285c7217a0fe0547c85e1532bbc2ba9c0b7c48525fd3b8050b3999899a4afd0ecf2b5b1a4ffeb6491 SHA512 59acce43e99d92fe668ccf035a5bc9963594764088312b1b1a79223a2a85a48097cff8a2f3ccb2f693e86d377260840b81cef39724f70c3d960932b54b4e1184
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

View File

@@ -10,6 +10,8 @@ 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.eden-emu.dev/eden-emu/eden/commit/6b01c13975439784cd40cf1810b67350111a41d3.patch ->
${PN}-0.0.4_rc1-revert-the-latest-Dynarmic-changes.patch
"
S="${WORKDIR}/${PN}"
@@ -17,7 +19,7 @@ S="${WORKDIR}/${PN}"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="camera cubeb discord gui lto opengl sdl ssl test web-applet web-service wifi"
IUSE="camera cubeb discord gui lto opengl sdl ssl test usb web-applet web-service wifi"
REQUIRED_USE="
!gui? ( !camera !discord !opengl !web-applet )
web-service? ( ssl )
@@ -28,7 +30,6 @@ RDEPEND="
app-arch/lz4
app-arch/zstd
dev-libs/libfmt:=
dev-libs/libusb
dev-libs/mcl
dev-libs/sirit
dev-util/spirv-tools
@@ -38,7 +39,7 @@ RDEPEND="
media-libs/opus
media-video/ffmpeg
net-libs/enet
net-libs/mbedtls:0[cmac]
net-libs/mbedtls:3
sys-libs/zlib
amd64? (
@@ -51,7 +52,6 @@ RDEPEND="
discord? (
dev-cpp/cpp-httplib:=[ssl]
dev-libs/discord-rpc
dev-qt/qtbase:6[network]
)
gui? (
dev-libs/quazip[qt6]
@@ -59,6 +59,7 @@ RDEPEND="
)
sdl? ( media-libs/libsdl2[haptic,joystick,sound,video] )
ssl? ( dev-libs/openssl:= )
usb? ( dev-libs/libusb )
web-applet? ( dev-qt/qtwebengine:6[widgets] )
web-service? ( dev-cpp/cpp-httplib:=[ssl] )
wifi? ( net-wireless/wireless-tools )
@@ -68,6 +69,7 @@ DEPEND="
dev-cpp/nlohmann_json
dev-cpp/simpleini
dev-libs/boost:=[context]
dev-libs/frozen
dev-libs/unordered_dense
dev-util/spirv-headers
dev-util/vulkan-headers
@@ -80,25 +82,20 @@ DEPEND="
x86? ( dev-libs/xbyak )
web-service? ( dev-cpp/cpp-jwt )
test? ( dev-libs/oaknut )
"
BDEPEND="
app-arch/unzip
dev-util/glslang
virtual/pkgconfig
test? (
dev-cpp/catch
dev-libs/oaknut
)
test? ( dev-cpp/catch )
"
PATCHES=(
"${FILESDIR}/${PN}-0.0.3-fix-compilation-errors.patch"
"${FILESDIR}/${PN}-0.0.3-make-the-dependency-on-mcl-global.patch"
"${FILESDIR}/${PN}-0.0.3-make-the-dependency-on-xbyak-global.patch"
"${FILESDIR}/${PN}-0.0.3-use-the-bundled-dynarmic-library.patch"
"${FILESDIR}/${PN}-0.0.3-use-the-system-discord-rpc-library.patch"
"${FILESDIR}/${PN}-0.0.3-use-the-system-mbedtls-library.patch"
"${DISTDIR}/${PN}-0.0.4_rc1-revert-the-latest-Dynarmic-changes.patch"
"${FILESDIR}/${PN}-0.0.4_rc1-add-a-formatter-for-Dynarmic-IR-Opcode.patch"
)
# [directory]=license
@@ -111,6 +108,9 @@ declare -A KEEP_BUNDLED=(
[nx_tzdb]="GPL-2+"
[stb]="MIT public-domain"
[tz]=BSD-2
# Configuration for the system library
[libusb]=GPL-3+
)
add_bundled_licenses() {
@@ -134,30 +134,21 @@ src_prepare() {
einfo "removing sources: ${remove[*]}"
rm -r "${remove[@]}" || die
mkdir -p "${S}/.cache/cpm/nx_tzdb" || die
mv "${WORKDIR}/zoneinfo" "$_/250725" || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCPMUTIL_FORCE_SYSTEM=yes
-DTITLE_BAR_FORMAT_IDLE="Eden | v${PV/_/-}"
-DYUZU_CHECK_SUBMODULES=no
-DYUZU_ENABLE_PORTABLE=no
-DYUZU_USE_BUNDLED_FFMPEG=no
-DYUZU_USE_CPM=no
-DYUZU_USE_EXTERNAL_SDL2=no
-DYUZU_USE_EXTERNAL_VULKAN_HEADERS=no
-DYUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS=no
-DYUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES=no
-DYUZU_TZDB_PATH="${WORKDIR}"
-DYUZU_USE_FASTER_LD=no
-DYUZU_USE_PRECOMPILED_HEADERS=no
-DDYNARMIC_USE_PRECOMPILED_HEADERS=no
-DDYNARMIC_ENABLE_LTO=$(usex lto)
-DBUILD_TESTING=$(usex test)
-DENABLE_CUBEB=$(usex cubeb)
-DENABLE_LIBUSB=$(usex usb)
-DENABLE_OPENGL=$(usex opengl)
-DENABLE_OPENSSL=$(usex ssl)
-DENABLE_QT=$(usex gui)
@@ -169,9 +160,6 @@ src_configure() {
-DYUZU_USE_QT_MULTIMEDIA=$(usex camera)
-DYUZU_USE_QT_WEB_ENGINE=$(usex web-applet)
-DCPMUTIL_FORCE_SYSTEM=yes
-Dnx_tzdb_FORCE_BUNDLED=yes
-Wno-dev
)

View File

@@ -1,36 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Fix compilation errors.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- a/src/dynarmic/src/dynarmic/common/common_types.h
+++ b/src/dynarmic/src/dynarmic/common/common_types.h
@@ -21,3 +21,5 @@ using f64 = double; ///< 64-bit floating point
using u128 = std::array<std::uint64_t, 2>;
static_assert(sizeof(u128) == 16, "u128 must be 128 bits wide");
+
+using size_t = std::size_t;
--- a/src/dynarmic/src/dynarmic/common/memory_pool.h
+++ b/src/dynarmic/src/dynarmic/common/memory_pool.h
@@ -6,6 +6,7 @@
#pragma once
#include <cstddef>
+#include <cstdlib>
#include <vector>
namespace Dynarmic::Common {
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -101,9 +101,10 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
#include <QUrl>
#include <QtConcurrent/QtConcurrent>
-#ifdef HAVE_SDL2
#include <QCheckBox>
#include <QStringLiteral>
+
+#ifdef HAVE_SDL2
#include <SDL.h> // For SDL ScreenSaver functions
#endif

View File

@@ -1,15 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Make the dependency on `mcl` global.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- a/src/dynarmic/externals/cpmfile.json
+++ b/src/dynarmic/externals/cpmfile.json
@@ -10,6 +10,7 @@
"repo": "azahar-emu/mcl",
"sha": "7b08d83418",
"hash": "f943bac39c1879986decad7a442ff4288eaeca4a2907684c7914e115a55ecc43c2782ded85c0835763fe04e40d5c82220ce864423e489e648e408a84f54dc4f3",
+ "find_args": "GLOBAL",
"options": [
"MCL_INSTALL OFF"
]

View File

@@ -1,15 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Make the dependency on `xbyak` global.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- a/externals/cpmfile.json
+++ b/externals/cpmfile.json
@@ -84,6 +84,7 @@
"repo": "herumi/xbyak",
"sha": "4e44f4614d",
"hash": "5824e92159e07fa36a774aedd3b3ef3541d0241371d522cffa4ab3e1f215fa5097b1b77865b47b2481376c704fa079875557ea463ca63d0a7fd6a8a20a589e70",
+ "find_args": "GLOBAL",
"bundled": true
},
"oaknut": {

View File

@@ -1,15 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Use the bundled `dynarmic` library.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- a/src/dynarmic/src/dynarmic/CMakeLists.txt
+++ b/src/dynarmic/src/dynarmic/CMakeLists.txt
@@ -1,6 +1,6 @@
include(TargetArchitectureSpecificSources)
-add_library(dynarmic
+add_library(dynarmic STATIC
backend/block_range_information.cpp
backend/block_range_information.h
backend/exception_handler.h

View File

@@ -1,20 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Use the system `discord-rpc` library.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -499,10 +499,8 @@ endif()
# DiscordRPC
if (USE_DISCORD_PRESENCE)
- AddJsonPackage(discord-rpc)
-
- target_include_directories(discord-rpc INTERFACE ${discord-rpc_SOURCE_DIR}/include)
- add_library(DiscordRPC::discord-rpc ALIAS discord-rpc)
+ find_package(DiscordRPC REQUIRED)
+ find_package(httplib)
endif()
# SimpleIni

View File

@@ -1,27 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Use the system `mbedtls` library.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -54,7 +54,7 @@ endif()
add_subdirectory(glad)
# mbedtls
-AddJsonPackage(mbedtls)
+add_library(mbedtls SHARED IMPORTED)
if (mbedtls_ADDED)
target_include_directories(mbedtls PUBLIC ${mbedtls_SOURCE_DIR}/include)
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -1196,7 +1196,7 @@ else()
target_link_libraries(core PUBLIC Boost::headers)
endif()
-target_link_libraries(core PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls RenderDoc::API)
+target_link_libraries(core PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls mbedcrypto RenderDoc::API)
if (MINGW)
target_link_libraries(core PRIVATE ${MSWSOCK_LIBRARY})
endif()

View File

@@ -0,0 +1,20 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Add a formatter for `Dynarmic::IR::Opcode`.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- a/src/dynarmic/src/dynarmic/ir/opcodes.h
+++ b/src/dynarmic/src/dynarmic/ir/opcodes.h
@@ -654,3 +654,11 @@ constexpr bool MayGetNZCVFromOp(const Opcode op) noexcept {
}
} // namespace Dynarmic::IR
+
+template<>
+struct fmt::formatter<Dynarmic::IR::Opcode> : fmt::formatter<std::string_view> {
+ template<typename FormatContext>
+ auto format(Dynarmic::IR::Opcode op, FormatContext& ctx) const {
+ return formatter<std::string_view>::format(GetNameOf(op), ctx);
+ }
+};

View File

@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>contact@paveloom.dev</email>
<name>Pavel Sobolev</name>
<email>contact@paveloom.dev</email>
</maintainer>
<use>
<flag name="camera">Enable camera support</flag>
@@ -12,6 +12,7 @@
<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="wifi">Enable Wi-Fi scanning</flag>