mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-09 15:13:31 -04:00
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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 {
|
||||
@@ -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(
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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()
|
||||
@@ -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)
|
||||
@@ -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")
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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"
|
||||
)
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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()
|
||||
@@ -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()
|
||||
@@ -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)
|
||||
@@ -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()
|
||||
@@ -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(
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user