commit: f97aac888aa792bea70ea77ce40dfa31c603dabe Author: Pavel Sobolev <contact <AT> paveloom <DOT> dev> AuthorDate: Thu Aug 21 17:35:48 2025 +0000 Commit: Pavel Sobolev <contact <AT> paveloom <DOT> dev> CommitDate: Thu Aug 21 18:16:00 2025 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f97aac88
games-emulation/eden: add 0.0.3_rc3, drop 0.0.3_rc2 Signed-off-by: Pavel Sobolev <contact <AT> paveloom.dev> games-emulation/eden/Manifest | 3 +- ...eden-0.0.3_rc2.ebuild => eden-0.0.3_rc3.ebuild} | 80 ++++++++++++++-------- ...-add-a-missing-include-for-the-log-header.patch | 15 ---- ...finition-of-create_target_directory_group.patch | 59 ---------------- ...0.0.3_rc2-relax-the-dependency-on-httplib.patch | 16 ----- ...en-0.0.3_rc2-use-the-system-Boost-library.patch | 16 ----- ...n-0.0.3_rc2-use-the-system-QuaZip-library.patch | 22 ------ ...-0.0.3_rc2-use-the-system-mbedtls-library.patch | 33 --------- ...en-0.0.3_rc2-use-the-system-sirit-library.patch | 16 ----- ....3_rc3-allow-overriding-NX_TZDB_ROMFS_DIR.patch | 16 +++++ .../eden-0.0.3_rc3-fix-compilation-errors.patch | 55 +++++++++++++++ ..._rc3-make-the-dependency-on-SDL2-optional.patch | 27 ++++++++ ...0.3_rc3-make-the-dependency-on-mcl-global.patch | 15 ++++ ....0.3_rc3-use-the-bundled-dynarmic-library.patch | 15 ++++ ...en-0.0.3_rc3-use-the-system-Boost-library.patch | 15 ++++ ....3_rc3-use-the-system-discord-rpc-library.patch | 29 ++++++++ ...-0.0.3_rc3-use-the-system-mbedtls-library.patch | 34 +++++++++ ...en-0.0.3_rc3-use-the-system-sirit-library.patch | 23 +++++++ ...en-0.0.3_rc3-use-the-system-xbyak-library.patch | 15 ++++ ...0.0.3_rc3-use-the-system-zycore-c-library.patch | 15 ++++ games-emulation/eden/metadata.xml | 2 + 21 files changed, 313 insertions(+), 208 deletions(-) diff --git a/games-emulation/eden/Manifest b/games-emulation/eden/Manifest index fde27891c7..f5b93da2fc 100644 --- a/games-emulation/eden/Manifest +++ b/games-emulation/eden/Manifest @@ -1 +1,2 @@ -DIST eden-0.0.3_rc2.tar.gz 33625981 BLAKE2B c570dcf78e2cfd00e43ef55f0586c95313b66a8f8026c770060f103dfbc8b995232f2fd6077654ad0b5e48546d63bfed90b2021992a26f38816cafde82f8627e SHA512 c69f9693888251d2d9e23fcd38519a33a0ea350cae913b31ff67342fab4e83c404547753fb62004d01bade4f2c132c448298bbfe30311977aa67ef8bb982abf5 +DIST eden-0.0.3_rc3.tar.gz 16353045 BLAKE2B 4f6f3e41a6fbb9023d52160c82f6466556ade6f3fb98a443dbbe7649b4bca0f1cb82844db972f989d4344a94bb414822ef46c1d1c5ae41dc6b02ef58465d139d SHA512 2890c9a032c3e24dae23cdc5d19252d2be42d7f6613fe04c82c7df8790ae306483313e2bb3cd85669343a8e3178757e73a7e8e080d27daf3916f55c270eb1808 +DIST nx-tzdb-250725.zip 286133 BLAKE2B e8791883b589c58927f24293263f56d85f68a7e52f12d4e022c23bdba47f5e5f12cd1d8dfb186194b455fbd53f48951c8eb1e157d4de5e80db4f09b63d7a25f7 SHA512 8f60b4b29f285e39c0443f3d5572a73780f3dbfcfd5b35004451fadad77f3a215b2e2aa8d0fffe7e348e2a7b0660882b35228b6178dda8804a14ce44509fd2ca diff --git a/games-emulation/eden/eden-0.0.3_rc2.ebuild b/games-emulation/eden/eden-0.0.3_rc3.ebuild similarity index 61% rename from games-emulation/eden/eden-0.0.3_rc2.ebuild rename to games-emulation/eden/eden-0.0.3_rc3.ebuild index 2961de8463..4619187ecd 100644 --- a/games-emulation/eden/eden-0.0.3_rc2.ebuild +++ b/games-emulation/eden/eden-0.0.3_rc3.ebuild @@ -7,26 +7,33 @@ inherit cmake xdg 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" +SRC_URI=" + https://git.eden-emu.dev/eden-emu/eden/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz + https://github.com/crueter/tzdb_to_nx/releases/download/250725/250725.zip -> nx-tzdb-250725.zip +" S="${WORKDIR}/${PN}" LICENSE="GPL-3+" SLOT="0" KEYWORDS="~amd64" -IUSE="camera cubeb discord gui lto sdl ssl test web-applet wifi" -REQUIRED_USE="!gui? ( !camera !discord !web-applet )" +IUSE="camera cubeb discord gui lto opengl sdl ssl test web-applet web-service wifi" +REQUIRED_USE=" + !gui? ( !camera !discord !opengl !web-applet ) + web-service? ( ssl ) +" RESTRICT="!test? ( test )" RDEPEND=" app-arch/lz4 app-arch/zstd - dev-cpp/cpp-httplib:=[ssl] dev-libs/libfmt:= dev-libs/libusb + dev-libs/mcl dev-libs/sirit dev-util/spirv-tools llvm-core/llvm + media-gfx/renderdoc media-libs/libva media-libs/opus media-video/ffmpeg @@ -34,8 +41,10 @@ RDEPEND=" net-libs/mbedtls:0[cmac] sys-libs/zlib - amd64? ( dev-libs/dynarmic ) - arm64? ( dev-libs/dynarmic ) + amd64? ( + dev-libs/zycore-c + dev-libs/zydis + ) camera? ( dev-qt/qtmultimedia:6 ) cubeb? ( media-libs/cubeb ) @@ -45,46 +54,53 @@ RDEPEND=" ) gui? ( dev-libs/quazip[qt6] - dev-qt/qtbase:6[concurrent,dbus,widgets] + dev-qt/qtbase:6[concurrent,dbus,gui,widgets] ) - sdl? ( media-libs/libsdl2 ) + sdl? ( media-libs/libsdl2[haptic,joystick,sound,video] ) ssl? ( dev-libs/openssl:= ) web-applet? ( dev-qt/qtwebengine:6[widgets] ) + web-service? ( dev-cpp/cpp-httplib:=[ssl] ) wifi? ( net-wireless/wireless-tools ) " DEPEND=" ${RDEPEND} - dev-cpp/cpp-jwt dev-cpp/nlohmann_json dev-cpp/simpleini dev-libs/boost:=[context] + dev-libs/unordered_dense dev-util/vulkan-headers dev-util/vulkan-utility-libraries games-util/gamemode - media-gfx/renderdoc media-libs/VulkanMemoryAllocator - sys-libs/timezone-data amd64? ( dev-libs/xbyak ) arm64? ( dev-libs/oaknut ) x86? ( dev-libs/xbyak ) + + web-service? ( dev-cpp/cpp-jwt ) " BDEPEND=" - dev-build/make - dev-vcs/git - sys-apps/coreutils + app-arch/unzip virtual/pkgconfig - test? ( dev-cpp/catch ) + + test? ( + dev-cpp/catch + dev-libs/oaknut + ) " PATCHES=( - "${FILESDIR}/${PN}-0.0.3_rc2-add-a-missing-include-for-the-log-header.patch" - "${FILESDIR}/${PN}-0.0.3_rc2-move-the-definition-of-create_target_directory_group.patch" - "${FILESDIR}/${PN}-0.0.3_rc2-relax-the-dependency-on-httplib.patch" - "${FILESDIR}/${PN}-0.0.3_rc2-use-the-system-Boost-library.patch" - "${FILESDIR}/${PN}-0.0.3_rc2-use-the-system-mbedtls-library.patch" - "${FILESDIR}/${PN}-0.0.3_rc2-use-the-system-QuaZip-library.patch" - "${FILESDIR}/${PN}-0.0.3_rc2-use-the-system-sirit-library.patch" + "${FILESDIR}/${PN}-0.0.3_rc3-allow-overriding-NX_TZDB_ROMFS_DIR.patch" + "${FILESDIR}/${PN}-0.0.3_rc3-fix-compilation-errors.patch" + "${FILESDIR}/${PN}-0.0.3_rc3-make-the-dependency-on-mcl-global.patch" + "${FILESDIR}/${PN}-0.0.3_rc3-make-the-dependency-on-SDL2-optional.patch" + "${FILESDIR}/${PN}-0.0.3_rc3-use-the-bundled-dynarmic-library.patch" + "${FILESDIR}/${PN}-0.0.3_rc3-use-the-system-Boost-library.patch" + "${FILESDIR}/${PN}-0.0.3_rc3-use-the-system-discord-rpc-library.patch" + "${FILESDIR}/${PN}-0.0.3_rc3-use-the-system-mbedtls-library.patch" + "${FILESDIR}/${PN}-0.0.3_rc3-use-the-system-sirit-library.patch" + "${FILESDIR}/${PN}-0.0.3_rc3-use-the-system-xbyak-library.patch" + "${FILESDIR}/${PN}-0.0.3_rc3-use-the-system-zycore-c-library.patch" ) # [directory]=license @@ -94,8 +110,7 @@ declare -A KEEP_BUNDLED=( [cmake-modules]=Boost-1.0 [FidelityFX-FSR]=MIT [glad]=GPL-2+ - [microprofile]=public-domain - [nx_tzdb]="GPL-2+ MIT" + [nx_tzdb]="GPL-2+" [stb]="MIT public-domain" [tz]=BSD-2 ) @@ -127,31 +142,34 @@ src_prepare() { src_configure() { local mycmakeargs=( -DTITLE_BAR_FORMAT_IDLE="Eden | v${PV/_/-}" - -DTZDB2NX_VERSION=gentoo - -DTZDB2NX_ZONEINFO_DIR=/usr/share/zoneinfo -DYUZU_CHECK_SUBMODULES=no -DYUZU_ENABLE_PORTABLE=no -DYUZU_USE_BUNDLED_FFMPEG=no -DYUZU_USE_BUNDLED_SDL2=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_USE_PRECOMPILED_HEADERS=no + -DDYNARMIC_USE_PRECOMPILED_HEADERS=no + + -DBUILD_TESTING=$(usex test) -DENABLE_CUBEB=$(usex cubeb) + -DENABLE_OPENGL=$(usex opengl) -DENABLE_OPENSSL=$(usex ssl) -DENABLE_QT=$(usex gui) -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_TESTS=$(usex test) -DYUZU_USE_QT_MULTIMEDIA=$(usex camera) -DYUZU_USE_QT_WEB_ENGINE=$(usex web-applet) - # Support for this flag is broken by upstream - -DENABLE_WEB_SERVICE=yes + # Contains time zone data in the Nintendo Switch's format + -DNX_TZDB_ROMFS_DIR="${WORKDIR}" -Wno-dev ) @@ -162,6 +180,8 @@ src_configure() { src_test() { cd "${BUILD_DIR}" || die + ./bin/dynarmic_tests || die + # See https://git.eden-emu.dev/eden-emu/eden/issues/126 - ./bin/tests "~Fibers::InterExchange" "~RingBuffer: Threaded Test" + ./bin/tests "~Fibers::InterExchange" "~RingBuffer: Threaded Test" || die } diff --git a/games-emulation/eden/files/eden-0.0.3_rc2-add-a-missing-include-for-the-log-header.patch b/games-emulation/eden/files/eden-0.0.3_rc2-add-a-missing-include-for-the-log-header.patch deleted file mode 100644 index 6931a0ec60..0000000000 --- a/games-emulation/eden/files/eden-0.0.3_rc2-add-a-missing-include-for-the-log-header.patch +++ /dev/null @@ -1,15 +0,0 @@ -From: Pavel Sobolev <[email protected]> -Subject: [PATCH] Add a missing `include` for the log header. - -Signed-off-by: Pavel Sobolev <[email protected]> - ---- a/src/core/hle/service/nvnflinger/hos_binder_driver_server.cpp -+++ b/src/core/hle/service/nvnflinger/hos_binder_driver_server.cpp -@@ -4,6 +4,7 @@ - #include <mutex> - - #include "common/common_types.h" -+#include "common/logging/log.h" - #include "core/hle/service/nvnflinger/hos_binder_driver_server.h" - - namespace Service::Nvnflinger { diff --git a/games-emulation/eden/files/eden-0.0.3_rc2-move-the-definition-of-create_target_directory_group.patch b/games-emulation/eden/files/eden-0.0.3_rc2-move-the-definition-of-create_target_directory_group.patch deleted file mode 100644 index dabbe6f42b..0000000000 --- a/games-emulation/eden/files/eden-0.0.3_rc2-move-the-definition-of-create_target_directory_group.patch +++ /dev/null @@ -1,59 +0,0 @@ -From: Pavel Sobolev <[email protected]> -Subject: [PATCH] Move the definition of `create_target_directory_groups`. - -This way, the function can be used by the external projects. - -Signed-off-by: Pavel Sobolev <[email protected]> - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -455,6 +455,24 @@ set(FFmpeg_COMPONENTS - avutil - swscale) - -+# This function should be passed a list of all files in a target. It will automatically generate -+# file groups following the directory hierarchy, so that the layout of the files in IDEs matches the -+# one in the filesystem. -+function(create_target_directory_groups target_name) -+ # Place any files that aren't in the source list in a separate group so that they don't get in -+ # the way. -+ source_group("Other Files" REGULAR_EXPRESSION ".") -+ -+ get_target_property(target_sources "${target_name}" SOURCES) -+ -+ foreach(file_name IN LISTS target_sources) -+ get_filename_component(dir_name "${file_name}" PATH) -+ # Group names use '\' as a separator even though the entire rest of CMake uses '/'... -+ string(REPLACE "/" "\\" group_name "${dir_name}") -+ source_group("${group_name}" FILES "${file_name}") -+ endforeach() -+endfunction() -+ - add_subdirectory(externals) - - if (ENABLE_QT) -@@ -628,24 +646,6 @@ endif() - # Include source code - # =================== - --# This function should be passed a list of all files in a target. It will automatically generate --# file groups following the directory hierarchy, so that the layout of the files in IDEs matches the --# one in the filesystem. --function(create_target_directory_groups target_name) -- # Place any files that aren't in the source list in a separate group so that they don't get in -- # the way. -- source_group("Other Files" REGULAR_EXPRESSION ".") -- -- get_target_property(target_sources "${target_name}" SOURCES) -- -- foreach(file_name IN LISTS target_sources) -- get_filename_component(dir_name "${file_name}" PATH) -- # Group names use '\' as a separator even though the entire rest of CMake uses '/'... -- string(REPLACE "/" "\\" group_name "${dir_name}") -- source_group("${group_name}" FILES "${file_name}") -- endforeach() --endfunction() -- - # Adjustments for MSVC + Ninja - if (MSVC AND CMAKE_GENERATOR STREQUAL "Ninja") - add_compile_options( diff --git a/games-emulation/eden/files/eden-0.0.3_rc2-relax-the-dependency-on-httplib.patch b/games-emulation/eden/files/eden-0.0.3_rc2-relax-the-dependency-on-httplib.patch deleted file mode 100644 index d3ec6f1d60..0000000000 --- a/games-emulation/eden/files/eden-0.0.3_rc2-relax-the-dependency-on-httplib.patch +++ /dev/null @@ -1,16 +0,0 @@ -From: Pavel Sobolev <[email protected]> -Subject: [PATCH] Relax the dependency on `httplib`. - -Signed-off-by: Pavel Sobolev <[email protected]> - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -404,7 +404,7 @@ if (ENABLE_WEB_SERVICE) - endif() - - if (ENABLE_WEB_SERVICE OR ENABLE_QT_UPDATE_CHECKER) -- find_package(httplib 0.12 MODULE COMPONENTS OpenSSL) -+ find_package(httplib MODULE COMPONENTS OpenSSL REQUIRED) - endif() - - if (YUZU_TESTS) diff --git a/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-Boost-library.patch b/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-Boost-library.patch deleted file mode 100644 index 1f986652fa..0000000000 --- a/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-Boost-library.patch +++ /dev/null @@ -1,16 +0,0 @@ -From: Pavel Sobolev <[email protected]> -Subject: [PATCH] Use the system `Boost` library. - -Signed-off-by: Pavel Sobolev <[email protected]> - ---- a/externals/CMakeLists.txt -+++ b/externals/CMakeLists.txt -@@ -161,7 +161,7 @@ if (YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS) - endif() - - # Boost headers --add_subdirectory(boost-headers) -+find_package(Boost COMPONENTS context REQUIRED GLOBAL) - - # TZDB (Time Zone Database) - add_subdirectory(nx_tzdb) diff --git a/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-QuaZip-library.patch b/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-QuaZip-library.patch deleted file mode 100644 index e0131c621e..0000000000 --- a/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-QuaZip-library.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Pavel Sobolev <[email protected]> -Subject: [PATCH] Use the system `QuaZip` library. - -Signed-off-by: Pavel Sobolev <[email protected]> - ---- a/src/yuzu/externals/CMakeLists.txt -+++ b/src/yuzu/externals/CMakeLists.txt -@@ -5,13 +5,4 @@ set(BUILD_TESTING OFF) - set(BUILD_SHARED_LIBS OFF) - - # QuaZip --include(CPM) --set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm) --set(CPM_USE_LOCAL_PACKAGES ON) -- --CPMAddPackage( -- NAME QuaZip-Qt6 -- VERSION 1.3 -- GIT_REPOSITORY "https://github.com/crueter/quazip-qt6.git" -- GIT_TAG v1.5-qt6 --) -+find_package(QuaZip-Qt6 REQUIRED) diff --git a/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-mbedtls-library.patch b/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-mbedtls-library.patch deleted file mode 100644 index 5ef7617cd4..0000000000 --- a/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-mbedtls-library.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Pavel Sobolev <[email protected]> -Subject: [PATCH] Use the system `mbedtls` library. - -Signed-off-by: Pavel Sobolev <[email protected]> - ---- a/externals/CMakeLists.txt -+++ b/externals/CMakeLists.txt -@@ -40,13 +40,7 @@ endif() - add_subdirectory(glad) - - # mbedtls --add_subdirectory(mbedtls) --target_include_directories(mbedtls PUBLIC ./mbedtls/include) --if (NOT MSVC) -- target_compile_options(mbedcrypto PRIVATE -- -Wno-unused-but-set-variable -- -Wno-string-concatenation) --endif() -+add_library(mbedtls SHARED IMPORTED) - - # MicroProfile - add_library(microprofile INTERFACE) ---- a/src/core/CMakeLists.txt -+++ b/src/core/CMakeLists.txt -@@ -1185,7 +1185,7 @@ else() - endif() - - target_link_libraries(core PUBLIC common PRIVATE audio_core hid_core network video_core nx_tzdb tz) --target_link_libraries(core PUBLIC Boost::headers PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls RenderDoc::API) -+target_link_libraries(core PUBLIC Boost::headers PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls mbedcrypto RenderDoc::API) - if (MINGW) - target_link_libraries(core PRIVATE ${MSWSOCK_LIBRARY}) - endif() diff --git a/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-sirit-library.patch b/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-sirit-library.patch deleted file mode 100644 index 7d3638126d..0000000000 --- a/games-emulation/eden/files/eden-0.0.3_rc2-use-the-system-sirit-library.patch +++ /dev/null @@ -1,16 +0,0 @@ -From: Pavel Sobolev <[email protected]> -Subject: [PATCH] Use the system `sirit` library. - -Signed-off-by: Pavel Sobolev <[email protected]> - ---- a/externals/CMakeLists.txt -+++ b/externals/CMakeLists.txt -@@ -110,7 +110,7 @@ if (USE_DISCORD_PRESENCE AND NOT TARGET DiscordRPC::discord-rpc) - endif() - - # Sirit --add_subdirectory(sirit) -+add_library(sirit SHARED IMPORTED) - - # httplib - if ((ENABLE_WEB_SERVICE OR ENABLE_QT_UPDATE_CHECKER) AND NOT TARGET httplib::httplib) diff --git a/games-emulation/eden/files/eden-0.0.3_rc3-allow-overriding-NX_TZDB_ROMFS_DIR.patch b/games-emulation/eden/files/eden-0.0.3_rc3-allow-overriding-NX_TZDB_ROMFS_DIR.patch new file mode 100644 index 0000000000..cbac534ecd --- /dev/null +++ b/games-emulation/eden/files/eden-0.0.3_rc3-allow-overriding-NX_TZDB_ROMFS_DIR.patch @@ -0,0 +1,16 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Allow overriding `NX_TZDB_ROMFS_DIR`. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/externals/nx_tzdb/CMakeLists.txt ++++ b/externals/nx_tzdb/CMakeLists.txt +@@ -30,7 +30,7 @@ endif() + set(NX_TZDB_VERSION "250725") + set(NX_TZDB_ARCHIVE "${CPM_SOURCE_CACHE}/nx_tzdb/${NX_TZDB_VERSION}.zip") + +-set(NX_TZDB_ROMFS_DIR "${CPM_SOURCE_CACHE}/nx_tzdb/tz") ++set(NX_TZDB_ROMFS_DIR CACHE PATH "${CPM_SOURCE_CACHE}/nx_tzdb/tz") + + if ((NOT CAN_BUILD_NX_TZDB OR YUZU_DOWNLOAD_TIME_ZONE_DATA) AND NOT EXISTS ${NX_TZDB_ROMFS_DIR}) + set(NX_TZDB_DOWNLOAD_URL "https://github.com/crueter/tzdb_to_nx/releases/download/${NX_TZDB_VERSION}/${NX_TZDB_VERSION}.zip") diff --git a/games-emulation/eden/files/eden-0.0.3_rc3-fix-compilation-errors.patch b/games-emulation/eden/files/eden-0.0.3_rc3-fix-compilation-errors.patch new file mode 100644 index 0000000000..b8faa72615 --- /dev/null +++ b/games-emulation/eden/files/eden-0.0.3_rc3-fix-compilation-errors.patch @@ -0,0 +1,55 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Fix compilation errors. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- 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; +\ No newline at end of file +--- a/src/dynarmic/src/dynarmic/common/memory_pool.h ++++ b/src/dynarmic/src/dynarmic/common/memory_pool.h +@@ -5,7 +5,7 @@ + + #pragma once + +-#include <cstddef> ++#include <cstdlib> + #include <vector> + + namespace Dynarmic::Common { +--- a/src/shader_recompiler/backend/spirv/emit_spirv.cpp ++++ b/src/shader_recompiler/backend/spirv/emit_spirv.cpp +@@ -491,12 +491,12 @@ void PatchPhiNodes(IR::Program& program, EmitContext& ctx) { + // Start "before" first PHI; advance on phi_arg == 0 + size_t phi_index = static_cast<size_t>(-1); + +- ctx.PatchDeferredPhi([&](size_t phi_arg, Id parent) -> std::pair<Id, Id> { ++ ctx.PatchDeferredPhi([&](size_t phi_arg) -> Id { + if (phi_arg == 0) { + ++phi_index; + } + IR::Inst* phi = phi_instructions[phi_index]; +- return { ctx.Def(phi->Arg(phi_arg)), parent }; ++ return ctx.Def(phi->Arg(phi_arg)); + }); + } + } // Anonymous namespace +--- 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 diff --git a/games-emulation/eden/files/eden-0.0.3_rc3-make-the-dependency-on-SDL2-optional.patch b/games-emulation/eden/files/eden-0.0.3_rc3-make-the-dependency-on-SDL2-optional.patch new file mode 100644 index 0000000000..d47309ca9b --- /dev/null +++ b/games-emulation/eden/files/eden-0.0.3_rc3-make-the-dependency-on-SDL2-optional.patch @@ -0,0 +1,27 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Make the dependency on `SDL2` optional. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -904,7 +904,7 @@ if (ENABLE_WEB_SERVICE OR ENABLE_QT_UPDATE_CHECKER) + find_package(cpp-jwt) + endif() + +-if (NOT YUZU_USE_BUNDLED_SDL2) ++if (ENABLE_SDL2 AND NOT YUZU_USE_BUNDLED_SDL2) + find_package(SDL2) + endif() + +--- a/externals/CMakeLists.txt ++++ b/externals/CMakeLists.txt +@@ -87,7 +87,7 @@ if (ENABLE_LIBUSB AND NOT TARGET libusb::usb) + endif() + + # SDL2 +-if (NOT YUZU_USE_BUNDLED_SDL2) ++if (ENABLE_SDL2 AND NOT YUZU_USE_BUNDLED_SDL2) + if (NOT WIN32) + # Yuzu itself needs: Atomic Audio Events Joystick Haptic Sensor Threads Timers + # Since 2.0.18 Atomic+Threads required for HIDAPI/libusb (see https://github.com/libsdl-org/SDL/issues/5095) diff --git a/games-emulation/eden/files/eden-0.0.3_rc3-make-the-dependency-on-mcl-global.patch b/games-emulation/eden/files/eden-0.0.3_rc3-make-the-dependency-on-mcl-global.patch new file mode 100644 index 0000000000..1ed244d153 --- /dev/null +++ b/games-emulation/eden/files/eden-0.0.3_rc3-make-the-dependency-on-mcl-global.patch @@ -0,0 +1,15 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Make the dependency on `mcl` global. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/src/dynarmic/externals/CMakeLists.txt ++++ b/src/dynarmic/externals/CMakeLists.txt +@@ -56,6 +56,7 @@ AddPackage( + REPO "azahar-emu/mcl" + SHA 7b08d83418 + HASH f943bac39c1879986decad7a442ff4288eaeca4a2907684c7914e115a55ecc43c2782ded85c0835763fe04e40d5c82220ce864423e489e648e408a84f54dc4f3 ++ FIND_PACKAGE_ARGUMENTS "GLOBAL" + OPTIONS + "MCL_INSTALL OFF" + ) diff --git a/games-emulation/eden/files/eden-0.0.3_rc3-use-the-bundled-dynarmic-library.patch b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-bundled-dynarmic-library.patch new file mode 100644 index 0000000000..3f66b873ad --- /dev/null +++ b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-bundled-dynarmic-library.patch @@ -0,0 +1,15 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Use the bundled `dynarmic` library. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- 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 diff --git a/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-Boost-library.patch b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-Boost-library.patch new file mode 100644 index 0000000000..7773a044c5 --- /dev/null +++ b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-Boost-library.patch @@ -0,0 +1,15 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Use the system `Boost` library. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -779,6 +779,7 @@ else() + endif() + endif() + ++find_package(Boost COMPONENTS context REQUIRED) + if(NOT TARGET Boost::headers) + AddPackage( + NAME boost_headers diff --git a/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-discord-rpc-library.patch b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-discord-rpc-library.patch new file mode 100644 index 0000000000..5c2f126690 --- /dev/null +++ b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-discord-rpc-library.patch @@ -0,0 +1,29 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Use the system `discord-rpc` library. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -800,22 +800,7 @@ endif() + + # DiscordRPC + if (USE_DISCORD_PRESENCE) +- AddPackage( +- NAME discord-rpc +- REPO "discord/discord-rpc" +- SHA 963aa9f3e5 +- HASH 386e1344e9a666d730f2d335ee3aef1fd05b1039febefd51aa751b705009cc764411397f3ca08dffd46205c72f75b235c870c737b2091a4ed0c3b061f5919bde +- OPTIONS +- "BUILD_EXAMPLES OFF" +- PATCHES +- ${CMAKE_SOURCE_DIR}/.patch/discord-rpc/0001-cmake-version.patch +- ${CMAKE_SOURCE_DIR}/.patch/discord-rpc/0002-no-clang-format.patch +- ${CMAKE_SOURCE_DIR}/.patch/discord-rpc/0003-fix-cpp17.patch +- EXCLUDE_FROM_ALL ON +- ) +- +- target_include_directories(discord-rpc INTERFACE ${discord-rpc_SOURCE_DIR}/include) +- add_library(DiscordRPC::discord-rpc ALIAS discord-rpc) ++ find_package(DiscordRPC REQUIRED) + endif() diff --git a/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-mbedtls-library.patch b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-mbedtls-library.patch new file mode 100644 index 0000000000..b980e532d4 --- /dev/null +++ b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-mbedtls-library.patch @@ -0,0 +1,34 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Use the system `mbedtls` library. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/externals/CMakeLists.txt ++++ b/externals/CMakeLists.txt +@@ -69,14 +69,7 @@ endif() + add_subdirectory(glad) + + # mbedtls +-AddPackage( +- NAME mbedtls +- REPO "Mbed-TLS/mbedtls" +- SHA "8c88150ca1" +- HASH 769ad1e94c570671071e1f2a5c0f1027e0bf6bcdd1a80ea8ac970f2c86bc45ce4e31aa88d6d8110fc1bed1de81c48bc624df1b38a26f8b340a44e109d784a966 +- PATCHES +- ${CMAKE_SOURCE_DIR}/.patch/mbedtls/0001-cmake-version.patch +-) ++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 +@@ -1193,7 +1193,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() diff --git a/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-sirit-library.patch b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-sirit-library.patch new file mode 100644 index 0000000000..53e38bede9 --- /dev/null +++ b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-sirit-library.patch @@ -0,0 +1,23 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Use the system `sirit` library. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/externals/CMakeLists.txt ++++ b/externals/CMakeLists.txt +@@ -139,14 +139,7 @@ AddPackage( + HASH f48bbe18341ed55ea0fe280dbbbc0a44bf222278de6e716e143ca1e95ca320b06d4d23d6583fbf8d03e1428f3dac8fa00e5b82ddcd6b425e6236d85af09550a4 + ) + +-AddPackage( +- NAME sirit +- REPO "eden-emulator/sirit" +- SHA db1f1e8ab5 +- HASH 73eb3a042848c63a10656545797e85f40d142009dfb7827384548a385e1e28e1ac72f42b25924ce530d58275f8638554281e884d72f9c7aaf4ed08690a414b05 +- OPTIONS +- "SIRIT_USE_SYSTEM_SPIRV_HEADERS ON" +-) ++add_library(sirit SHARED IMPORTED) + + if(MSVC AND USE_CCACHE AND TARGET sirit) + get_target_property(_opts sirit COMPILE_OPTIONS) diff --git a/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-xbyak-library.patch b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-xbyak-library.patch new file mode 100644 index 0000000000..9a2229f430 --- /dev/null +++ b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-xbyak-library.patch @@ -0,0 +1,15 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Use the system `xbyak` library. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/externals/CMakeLists.txt ++++ b/externals/CMakeLists.txt +@@ -46,7 +46,7 @@ if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) + REPO "Lizzie841/xbyak" + SHA ${XBYAK_HASH} + HASH ${XBYAK_SHA512SUM} +- BUNDLED_PACKAGE ON ++ FIND_PACKAGE_ARGUMENTS "GLOBAL" + ) + endif() diff --git a/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-zycore-c-library.patch b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-zycore-c-library.patch new file mode 100644 index 0000000000..860fe70653 --- /dev/null +++ b/games-emulation/eden/files/eden-0.0.3_rc3-use-the-system-zycore-c-library.patch @@ -0,0 +1,15 @@ +From: Pavel Sobolev <[email protected]> +Subject: [PATCH] Use the system `zycore-c` library. + +Signed-off-by: Pavel Sobolev <[email protected]> + +--- a/src/dynarmic/externals/CMakeLists.txt ++++ b/src/dynarmic/externals/CMakeLists.txt +@@ -104,7 +104,6 @@ if ("x86_64" IN_LIST ARCHITECTURE) + OPTIONS + "CMAKE_DISABLE_FIND_PACKAGE_Doxygen ON" + EXCLUDE_FROM_ALL ON +- SYSTEM_PACKAGE OFF + ) + + AddPackage( diff --git a/games-emulation/eden/metadata.xml b/games-emulation/eden/metadata.xml index 620064929e..a3670ce384 100644 --- a/games-emulation/eden/metadata.xml +++ b/games-emulation/eden/metadata.xml @@ -9,9 +9,11 @@ <flag name="camera">Enable camera support</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="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> </use> <upstream>
