games-emulation/eden: add 0.0.3_rc3, drop 0.0.3_rc2

Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
This commit is contained in:
Pavel Sobolev
2025-08-21 20:35:48 +03:00
parent 9b4113145e
commit f97aac888a
21 changed files with 313 additions and 208 deletions

View File

@@ -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

View File

@@ -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
}

View File

@@ -1,15 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Add a missing `include` for the log header.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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 {

View File

@@ -1,59 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
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 <contact@paveloom.dev>
--- 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(

View File

@@ -1,16 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Relax the dependency on `httplib`.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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)

View File

@@ -1,16 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Use the system `Boost` library.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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)

View File

@@ -1,22 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Use the system `QuaZip` library.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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)

View File

@@ -1,33 +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
@@ -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()

View File

@@ -1,16 +0,0 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Use the system `sirit` library.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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)

View File

@@ -0,0 +1,16 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Allow overriding `NX_TZDB_ROMFS_DIR`.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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")

View File

@@ -0,0 +1,55 @@
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;
\ 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

View File

@@ -0,0 +1,27 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Make the dependency on `SDL2` optional.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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)

View File

@@ -0,0 +1,15 @@
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/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"
)

View File

@@ -0,0 +1,15 @@
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

@@ -0,0 +1,15 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Use the system `Boost` library.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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

View File

@@ -0,0 +1,29 @@
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
@@ -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()

View File

@@ -0,0 +1,34 @@
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
@@ -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()

View File

@@ -0,0 +1,23 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Use the system `sirit` library.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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)

View File

@@ -0,0 +1,15 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Use the system `xbyak` library.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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()

View File

@@ -0,0 +1,15 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Use the system `zycore-c` library.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- 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(

View File

@@ -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>