games-emulation/yuzu: add package

This commit is contained in:
Jared Allard 2025-03-08 10:13:32 -08:00
parent 06f04611c1
commit 67c276360e
Signed by: jaredallard
SSH key fingerprint: SHA256:wyRyyv28jBYw8Yp/oABNPUYvbGd6hyZj23XVXEm5G/U
10 changed files with 754 additions and 0 deletions

18
games-emulation/yuzu/Manifest Executable file
View file

@ -0,0 +1,18 @@
AUX yuzu-0001-system-libs.patch 691 BLAKE2B 9658f1fe39fbc49faa7b2be17d6a105aec616feaa4b8ab126c2886d9eb05400f84cb38a632663329565bc2bf88d33ff7c1093e365e7e6ae64a919b5e81d64378 SHA512 fbbc4c030431a15a6151bcf9a9bd5034d2d34c7ae76eb43fe1a1762fb1774bd750c368e6925984e3c25222ef583a57b7a824a50614e64f17f5c6087b2a7de529
AUX yuzu-0002-boost-fix.patch 1107 BLAKE2B 2c87ab4f1b2c7606400ff0ee05aaeb6d48888d32946e4b5d5e5957c19eddba951fde79849706c6e4dc274e6217841ea9d7815c6827311ad092ef5236ea633ae7 SHA512 e7fe92c455311823590918df001a72afc4c7a9a8913fb88ac2da2fe1e4044b12db634b929cab85925aa6217eb59cd0156856c24cca04b7a80d40aa93cf89baf1
AUX yuzu-0003-fmt-10-fixes.patch 16927 BLAKE2B 50ed525069b3a8593e54ca54bf3910c60757a518ec7bdbc4b78b2c5a5531ffe27979eaef9dafe1cc38402a5a8ff1f969016e86d387f7f9bab2eb57b32fc4f07f SHA512 1660cf8c2716292eef5f8d4b841d7a5cc560e16588e7984af7cb5dca76e72ddb83050b0925c1f1d7147aa86e2e6e9b87664314919fc94a1020339958a1b4803d
AUX yuzu-0004-header-fixes.patch 3290 BLAKE2B 97bbcbda79e3237c2911ca0b04c3605667654dc7421964d1d2554da74662e9f0c5e47045a9d6e316e799c0f1201a3126127137706ae339281f81a8acd1b3d417 SHA512 1112959d1cb70e9f3ea3c5a906b67f68cc8f3a09bb276659e1e301ad880cf168533fd88f646a70b4e211c405b00b8f7abc60061b75a01dbf9243295d77ebf439
AUX yuzu-0005-boost-1.87.patch 1447 BLAKE2B 78099d0ad78dad63e49ece42f317ba3d0566cdab4b206267eb53dd17dc7444b9548794055512ac673531604f1cb1b7e4246a8ecc6dd475c4526a4083545e59f1 SHA512 4f5c939944f7fba9943dfe0b5e3a7d3e0164a6af88bfd78fe1eaff3ac05ab4cc3f03002bb92b39bc9b00097dbfd4864af1858c706441f4b48c77a70b4afbec68
AUX yuzu-fallback-compat.json.gz 569746 BLAKE2B f7de3d1fb7137cd24878d5a83e587091aee5dc89bafb23ad9a283fe96c4521e35a399df2817dd2ecc5c77c22e5424a02855b4de6c1a162849d634df5c043fdba SHA512 0a22e076f0508196e6cf72c560653a5b2fcbfb9f7265bc853a695f92706ecd8398cd0cd18d46c1c8d9e3988a0b243302240b28f70d68c3d15d36bb3586d44624
DIST yuzu-0.1734.tar.gz 7142363 BLAKE2B 13bfffa42203d7508b32539cc887e6cbaa34b638c51e45265d7119d690ac9c1cb308453a892fb659a979820eff13770ae76a5a97d2ffd62d06ac5424a9a1da81 SHA512 39d6f03c31afd3fc5ad70cfdf3483af3a3e6406a1c4e5b95d77e96840ca821bced6e87bc86d5309761dccc835ab097a46cf80ada5d668efeb604981c09f28198
DIST yuzu-cpp-httplib-6d963fb.tar.gz 637708 BLAKE2B e68c74638bb288e72185f3928a3296c96944317aaf8e4e1af2286478a5768c5824c44b6bdba37a032560e4944567b4fa410a150f689920db3616f42c0351d05d SHA512 09b6584ea8d15572ba9e0e834838daaa3ad5945f8f8b005a31bb94ef63a3b81fa47b050a8f846943af394cfc7d0c511e7b2f49fbfebc31ce24d53f688e73ee55
DIST yuzu-dynarmic-7da3780.tar.gz 3596160 BLAKE2B 2dd18019bde4cab5d933647f03330b4167457a0de78d55439300da14662fa7eea1efa708c48ff383167d817569019eacf38f04fcf2647bafa2dd64e91f7f3685 SHA512 4b043dccb0014db5ee09813d115ae747bfbf5630b6f340e9d0a19c4e1f3383c465ba03d27483dc41717d9bcf98a9acd6d4db9d504f16a36489d7b754e7276edb
DIST yuzu-mbedtls-8c88150.tar.gz 2680389 BLAKE2B 90ef34cf02307d9166fe923dfa49fd6c2833f2b31817f3826a8abdf242cf58c2c4c3a3605cf4fba2a29bfe5181c61cf1536e4c66242ec68eb4d6d44a0c5f4029 SHA512 be482d447a23105a94a429569f90274654a9b1ee6d311ea5c69de7b43915f98f41b8afde7ac9e0b8e5ec7c6f33954d9eacfdf209f19f67c82555ced504f4f3ca
DIST yuzu-nx_tzdb-221202.zip 261822 BLAKE2B 7bd0ff5ca80cf560344ae7edbfeb7c9466c096dc499a7348276cff5d30aa07464f7e2ea391ca9cedac0e21ba6f563169a8b38f2df729a230a0acfb1125ea1b66 SHA512 39c83dee23ef5c26fd4ae033853272febd1c31babdb6269e1374b0c7e3a7b956c77b64bd117807d3a440b19ad9032d3a7b045b81da20177ea77c5067eb091232
DIST yuzu-sdl-cc016b0.tar.gz 7716438 BLAKE2B db9784bd4fc6f5fc671f28591ff8f883a7f255cf3df9cb23e4125009d3a6e675e3a13a36fc3e2c1236466318b57b0ebc4d9ce430b656fef3eb1b93d13b65d95f SHA512 b8d9873446cdb922387471df9968e078714683046674ef0d0edddf8e25da65a539a3bae83d635496b970237f90b07b36a69f8d7855d450de59311d6d6e8c3dbc
DIST yuzu-simpleini-382ddbb.tar.gz 64873 BLAKE2B 59532f4e3f6362665b6d7a87539173007972434591657747a4b714b9d338557abd66c169b4b4e8a644f9784ab5a179b0ad3e1acc41016580d550c3d7ed174295 SHA512 c4bdb878ab4af8dd07b7194ee3a2c5f22be75abf3d213e081ae720025465b2c9edfa0aeb29c0d24c52947328939e60a4b5be6e6b3313086f5c8f9afc8f9f6f0c
DIST yuzu-sirit-ab75463.tar.gz 23853 BLAKE2B 4c4e69203a75cf849497e540bb0dcea694a72b4230f205b769447d3d11f7c0fb089ca262009396b9af55503d45b128edb1e99e438b89ab21ac842f789c5109a3 SHA512 43204596db5c6295cc8bdf9355fd71433fa5d1e28d9d8c01f12082d2cd8fb6f78e20d97b396e7bdf202afae2361386f1861a1012d2947569dcbb114996fc6b1d
DIST yuzu-xbyak-a1ac375.tar.gz 249481 BLAKE2B 94eb81637f410ea88781cb3da94dfce4e4a6104458b0774d36c98f6cd2114f55772182f4535e502a5efa06290677fc67d0bac9db4effb7fa44a79561b16c1738 SHA512 87f6ba92a484738b3a75a4d2c5c7e3f4f9ca65cdc02f71b761dba72c8320a011dd38ea5350516d980b8370211977816de4c3357fc5ae8c9f0a86b4a595768c5e
EBUILD yuzu-0.1734-r3.ebuild 6145 BLAKE2B 37658693126adcbeb9d6b090add243f23848a90f076c1f8619712e6f6b1ac478be8639ea1d61aa6647e4c62842aaf29edf1c3b59765b038271a5ee2ade8efb4d SHA512 6d10ed82dbf89f074a8554d516a2abfece0539095534dc6c7bcaa2aa26e1f0fb00af4072a6ff7052393bb581c80a9b4ef5a3dd50eee2d2993e52ba28ec3ba2e7
MISC livecheck.json 21 BLAKE2B bb81b4a8446b66ed4968fdb16f7d49cf7cc8b18fefbd5113e0c1d87242e00220f47a68c92f248b4a57c6c7b7a3fd0c08644f7d87cfd62c8a40a8f0943e24932e SHA512 15755d50c96c6d85ffc9f5bcdc0c06e667512f963904a088a46ba334c340bb4baa0a5b3f88e578d4f2f4ea51cddf390c177aaa3245617e39ec476ec627b13492
MISC metadata.xml 629 BLAKE2B b951012ddeb64ec3284ecf5f4016210d4c4d09c839a627cfc6df929ea7febd541c1aa1142b5fe3b3114232d2a6c9bd59225623342e7c001dac17e01dffc3b096 SHA512 da4c56a7666f72c9b168b2cfed17ed984e2d9444a7ab5d90aed905c75d50a50fff0034655450b98fe41dbcd2c3e6e99dabe4ca0bf947d622da2a8074acc85ea3

View file

@ -0,0 +1,24 @@
From a0397db9220ae26e7dc95475967aebedeea608b9 Mon Sep 17 00:00:00 2001
From: Andrew Udvare <audvare@gmail.com>
Date: Sun, 26 Nov 2023 20:43:32 -0500
Subject: [PATCH] System libs
---
CMakeLists.txt | 2 +-
externals/CMakeLists.txt | 6 +++++-
src/frontend_common/CMakeLists.txt | 1 +
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e5cac8fe9..2a5c14ec4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -321,7 +321,7 @@ endif()
if (ENABLE_WEB_SERVICE)
find_package(cpp-jwt 1.4 CONFIG)
- find_package(httplib 0.12 MODULE COMPONENTS OpenSSL)
+ find_package(httplib)
endif()
if (YUZU_TESTS)

View file

@ -0,0 +1,34 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2a5c14ec4..68ee358ba 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -263,8 +263,6 @@ endif()
# Configure C++ standard
# ===========================
-# boost asio's concept usage doesn't play nicely with some compilers yet.
-add_definitions(-DBOOST_ASIO_DISABLE_CONCEPTS)
if (MSVC)
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/std:c++20>)
diff --git a/src/input_common/helpers/udp_protocol.h b/src/input_common/helpers/udp_protocol.h
index d9643ffe0..5d0c25a5f 100644
--- a/src/input_common/helpers/udp_protocol.h
+++ b/src/input_common/helpers/udp_protocol.h
@@ -13,6 +13,7 @@
#endif
#include <boost/crc.hpp>
+#include <boost/numeric/conversion/cast.hpp>
#ifdef _MSC_VER
#pragma warning(pop)
@@ -69,7 +70,7 @@ Message<T> CreateMessage(const u32 magic, const T data, const u32 sender_id) {
};
Message<T> message{header, data};
crc.process_bytes(&message, sizeof(Message<T>));
- message.header.crc = crc.checksum();
+ message.header.crc = boost::numeric_cast<u32_le>(crc.checksum());
return message;
}

View file

@ -0,0 +1,364 @@
From a6e09a7beaff22ac36dcc876b9505c77052993a3 Mon Sep 17 00:00:00 2001
From: Andrew Udvare <audvare@gmail.com>
Date: Mon, 2 Dec 2024 18:45:55 -0500
Subject: [PATCH 4/6] fmt 10 fixes
---
src/common/logging/formatter.h | 2 +-
src/common/typed_address.h | 6 +++---
src/core/arm/dynarmic/arm_dynarmic_cp15.cpp | 2 +-
src/core/arm/dynarmic/dynarmic_cp15.cpp | 2 +-
src/core/debugger/gdbstub.cpp | 1 +
src/core/hle/service/nfc/common/device.cpp | 1 +
src/core/hle/service/psc/time/common.h | 2 +-
src/shader_recompiler/backend/glasm/reg_alloc.h | 14 +++++++-------
src/shader_recompiler/frontend/ir/attribute.h | 2 +-
src/shader_recompiler/frontend/ir/condition.h | 2 +-
src/shader_recompiler/frontend/ir/flow_test.h | 2 +-
src/shader_recompiler/frontend/ir/opcodes.h | 2 +-
src/shader_recompiler/frontend/ir/pred.h | 2 +-
src/shader_recompiler/frontend/ir/reg.h | 2 +-
src/shader_recompiler/frontend/ir/type.h | 2 +-
src/shader_recompiler/frontend/maxwell/location.h | 2 +-
src/shader_recompiler/frontend/maxwell/opcodes.h | 2 +-
src/yuzu/main.cpp | 1 +
src/video_core/renderer_vulkan/renderer_vulkan.cpp | 1 +
src/video_core/texture_cache/formatter.h | 6 +++---
20 files changed, 30 insertions(+), 26 deletions(-)
diff --git a/src/common/logging/formatter.h b/src/common/logging/formatter.h
index 27078ee..f9c73d1 100644
--- a/src/common/logging/formatter.h
+++ b/src/common/logging/formatter.h
@@ -14,7 +14,7 @@ template <typename T>
struct fmt::formatter<T, std::enable_if_t<std::is_enum_v<T>, char>>
: formatter<std::underlying_type_t<T>> {
template <typename FormatContext>
- auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) {
+ auto format(const T& value, FormatContext& ctx) const -> decltype(ctx.out()) {
return fmt::formatter<std::underlying_type_t<T>>::format(
static_cast<std::underlying_type_t<T>>(value), ctx);
}
diff --git a/src/common/typed_address.h b/src/common/typed_address.h
index e0695c7..7663a2b 100644
--- a/src/common/typed_address.h
+++ b/src/common/typed_address.h
@@ -262,7 +262,7 @@ struct fmt::formatter<Common::PhysicalAddress> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Common::PhysicalAddress& addr, FormatContext& ctx) {
+ auto format(const Common::PhysicalAddress& addr, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "{:#x}", static_cast<u64>(addr.GetValue()));
}
};
@@ -273,7 +273,7 @@ struct fmt::formatter<Common::ProcessAddress> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Common::ProcessAddress& addr, FormatContext& ctx) {
+ auto format(const Common::ProcessAddress& addr, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "{:#x}", static_cast<u64>(addr.GetValue()));
}
};
@@ -284,7 +284,7 @@ struct fmt::formatter<Common::VirtualAddress> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Common::VirtualAddress& addr, FormatContext& ctx) {
+ auto format(const Common::VirtualAddress& addr, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "{:#x}", static_cast<u64>(addr.GetValue()));
}
};
diff --git a/src/core/arm/dynarmic/dynarmic_cp15.cpp b/src/core/arm/dynarmic/dynarmic_cp15.cpp
index 4c13db8..3886bb7 100644
--- a/src/core/arm/dynarmic/dynarmic_cp15.cpp
+++ b/src/core/arm/dynarmic/dynarmic_cp15.cpp
@@ -22,7 +22,7 @@ struct fmt::formatter<Dynarmic::A32::CoprocReg> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Dynarmic::A32::CoprocReg& reg, FormatContext& ctx) {
+ auto format(const Dynarmic::A32::CoprocReg& reg, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "cp{}", static_cast<size_t>(reg));
}
};
diff --git a/src/core/debugger/gdbstub.cpp b/src/core/debugger/gdbstub.cpp
index 6756c17..f052784 100644
--- a/src/core/debugger/gdbstub.cpp
+++ b/src/core/debugger/gdbstub.cpp
@@ -9,6 +9,7 @@
#include <thread>
#include <boost/algorithm/string.hpp>
+#include <fmt/xchar.h>
#include "common/hex_util.h"
#include "common/logging/log.h"
diff --git a/src/core/hle/service/nfc/common/device.cpp b/src/core/hle/service/nfc/common/device.cpp
index 321136c..ac88355 100644
--- a/src/core/hle/service/nfc/common/device.cpp
+++ b/src/core/hle/service/nfc/common/device.cpp
@@ -15,6 +15,7 @@
#endif
#include <fmt/format.h>
+#include <fmt/xchar.h>
#include "common/fs/file.h"
#include "common/fs/fs.h"
diff --git a/src/core/hle/service/psc/time/common.h b/src/core/hle/service/psc/time/common.h
index c940638..15599e6 100644
--- a/src/core/hle/service/psc/time/common.h
+++ b/src/core/hle/service/psc/time/common.h
@@ -167,7 +167,7 @@ constexpr inline Result GetSpanBetweenTimePoints(s64* out_seconds, const SteadyC
template <>
struct fmt::formatter<Service::PSC::Time::TimeType> : fmt::formatter<fmt::string_view> {
template <typename FormatContext>
- auto format(Service::PSC::Time::TimeType type, FormatContext& ctx) {
+ auto format(Service::PSC::Time::TimeType type, FormatContext& ctx) const {
const string_view name = [type] {
using Service::PSC::Time::TimeType;
switch (type) {
diff --git a/src/shader_recompiler/backend/glasm/reg_alloc.h b/src/shader_recompiler/backend/glasm/reg_alloc.h
index 41b8196..f7b6b3b 100644
--- a/src/shader_recompiler/backend/glasm/reg_alloc.h
+++ b/src/shader_recompiler/backend/glasm/reg_alloc.h
@@ -184,7 +184,7 @@ struct fmt::formatter<Shader::Backend::GLASM::Id> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(Shader::Backend::GLASM::Id id, FormatContext& ctx) {
+ auto format(Shader::Backend::GLASM::Id id, FormatContext& ctx) const {
return Shader::Backend::GLASM::FormatTo<true>(ctx, id);
}
};
@@ -195,7 +195,7 @@ struct fmt::formatter<Shader::Backend::GLASM::Register> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::Backend::GLASM::Register& value, FormatContext& ctx) {
+ auto format(const Shader::Backend::GLASM::Register& value, FormatContext& ctx) const {
if (value.type != Shader::Backend::GLASM::Type::Register) {
throw Shader::InvalidArgument("Register value type is not register");
}
@@ -209,7 +209,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarRegister> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::Backend::GLASM::ScalarRegister& value, FormatContext& ctx) {
+ auto format(const Shader::Backend::GLASM::ScalarRegister& value, FormatContext& ctx) const {
if (value.type != Shader::Backend::GLASM::Type::Register) {
throw Shader::InvalidArgument("Register value type is not register");
}
@@ -223,7 +223,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarU32> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::Backend::GLASM::ScalarU32& value, FormatContext& ctx) {
+ auto format(const Shader::Backend::GLASM::ScalarU32& value, FormatContext& ctx) const {
switch (value.type) {
case Shader::Backend::GLASM::Type::Void:
break;
@@ -244,7 +244,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarS32> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::Backend::GLASM::ScalarS32& value, FormatContext& ctx) {
+ auto format(const Shader::Backend::GLASM::ScalarS32& value, FormatContext& ctx) const {
switch (value.type) {
case Shader::Backend::GLASM::Type::Void:
break;
@@ -265,7 +265,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarF32> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::Backend::GLASM::ScalarF32& value, FormatContext& ctx) {
+ auto format(const Shader::Backend::GLASM::ScalarF32& value, FormatContext& ctx) const {
switch (value.type) {
case Shader::Backend::GLASM::Type::Void:
break;
@@ -286,7 +286,7 @@ struct fmt::formatter<Shader::Backend::GLASM::ScalarF64> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::Backend::GLASM::ScalarF64& value, FormatContext& ctx) {
+ auto format(const Shader::Backend::GLASM::ScalarF64& value, FormatContext& ctx) const {
switch (value.type) {
case Shader::Backend::GLASM::Type::Void:
break;
diff --git a/src/shader_recompiler/frontend/ir/attribute.h b/src/shader_recompiler/frontend/ir/attribute.h
index abc7c06..4089767 100644
--- a/src/shader_recompiler/frontend/ir/attribute.h
+++ b/src/shader_recompiler/frontend/ir/attribute.h
@@ -250,7 +250,7 @@ struct fmt::formatter<Shader::IR::Attribute> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::IR::Attribute& attribute, FormatContext& ctx) {
+ auto format(const Shader::IR::Attribute& attribute, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(attribute));
}
};
diff --git a/src/shader_recompiler/frontend/ir/condition.h b/src/shader_recompiler/frontend/ir/condition.h
index b07b3ee..f92c965 100644
--- a/src/shader_recompiler/frontend/ir/condition.h
+++ b/src/shader_recompiler/frontend/ir/condition.h
@@ -52,7 +52,7 @@ struct fmt::formatter<Shader::IR::Condition> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::IR::Condition& cond, FormatContext& ctx) {
+ auto format(const Shader::IR::Condition& cond, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(cond));
}
};
diff --git a/src/shader_recompiler/frontend/ir/flow_test.h b/src/shader_recompiler/frontend/ir/flow_test.h
index ddfb152..c3f35dc 100644
--- a/src/shader_recompiler/frontend/ir/flow_test.h
+++ b/src/shader_recompiler/frontend/ir/flow_test.h
@@ -55,7 +55,7 @@ struct fmt::formatter<Shader::IR::FlowTest> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::IR::FlowTest& flow_test, FormatContext& ctx) {
+ auto format(const Shader::IR::FlowTest& flow_test, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(flow_test));
}
};
diff --git a/src/shader_recompiler/frontend/ir/opcodes.h b/src/shader_recompiler/frontend/ir/opcodes.h
index aad70e2..7d63bf9 100644
--- a/src/shader_recompiler/frontend/ir/opcodes.h
+++ b/src/shader_recompiler/frontend/ir/opcodes.h
@@ -103,7 +103,7 @@ struct fmt::formatter<Shader::IR::Opcode> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::IR::Opcode& op, FormatContext& ctx) {
+ auto format(const Shader::IR::Opcode& op, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(op));
}
};
diff --git a/src/shader_recompiler/frontend/ir/pred.h b/src/shader_recompiler/frontend/ir/pred.h
index 51dbf78..dff0cd4 100644
--- a/src/shader_recompiler/frontend/ir/pred.h
+++ b/src/shader_recompiler/frontend/ir/pred.h
@@ -33,7 +33,7 @@ struct fmt::formatter<Shader::IR::Pred> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::IR::Pred& pred, FormatContext& ctx) {
+ auto format(const Shader::IR::Pred& pred, FormatContext& ctx) const {
if (pred == Shader::IR::Pred::PT) {
return fmt::format_to(ctx.out(), "PT");
} else {
diff --git a/src/shader_recompiler/frontend/ir/reg.h b/src/shader_recompiler/frontend/ir/reg.h
index ba96f48..0bba552 100644
--- a/src/shader_recompiler/frontend/ir/reg.h
+++ b/src/shader_recompiler/frontend/ir/reg.h
@@ -319,7 +319,7 @@ struct fmt::formatter<Shader::IR::Reg> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::IR::Reg& reg, FormatContext& ctx) {
+ auto format(const Shader::IR::Reg& reg, FormatContext& ctx) const {
if (reg == Shader::IR::Reg::RZ) {
return fmt::format_to(ctx.out(), "RZ");
} else if (static_cast<int>(reg) >= 0 && static_cast<int>(reg) < 255) {
diff --git a/src/shader_recompiler/frontend/ir/type.h b/src/shader_recompiler/frontend/ir/type.h
index b740680..3b6dc56 100644
--- a/src/shader_recompiler/frontend/ir/type.h
+++ b/src/shader_recompiler/frontend/ir/type.h
@@ -54,7 +54,7 @@ struct fmt::formatter<Shader::IR::Type> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::IR::Type& type, FormatContext& ctx) {
+ auto format(const Shader::IR::Type& type, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "{}", NameOf(type));
}
};
diff --git a/src/shader_recompiler/frontend/maxwell/location.h b/src/shader_recompiler/frontend/maxwell/location.h
index 95bea0a..81d067d 100644
--- a/src/shader_recompiler/frontend/maxwell/location.h
+++ b/src/shader_recompiler/frontend/maxwell/location.h
@@ -102,7 +102,7 @@ struct fmt::formatter<Shader::Maxwell::Location> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::Maxwell::Location& location, FormatContext& ctx) {
+ auto format(const Shader::Maxwell::Location& location, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "{:04x}", location.Offset());
}
};
diff --git a/src/shader_recompiler/frontend/maxwell/opcodes.h b/src/shader_recompiler/frontend/maxwell/opcodes.h
index 899711d..1fec013 100644
--- a/src/shader_recompiler/frontend/maxwell/opcodes.h
+++ b/src/shader_recompiler/frontend/maxwell/opcodes.h
@@ -23,7 +23,7 @@ struct fmt::formatter<Shader::Maxwell::Opcode> {
return ctx.begin();
}
template <typename FormatContext>
- auto format(const Shader::Maxwell::Opcode& opcode, FormatContext& ctx) {
+ auto format(const Shader::Maxwell::Opcode& opcode, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "{}", NameOf(opcode));
}
};
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 0d3b10c..7b4ca9f 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -93,6 +93,7 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
#endif
#include <fmt/format.h>
+#include <fmt/xchar.h>
#include "common/detached_tasks.h"
#include "common/fs/fs.h"
#include "common/fs/path_util.h"
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
index 3f9a364..525b46d 100644
--- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp
+++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
@@ -10,6 +10,7 @@
#include <vector>
#include <fmt/format.h>
+#include <fmt/xchar.h>
#include "common/logging/log.h"
#include "common/polyfill_ranges.h"
diff --git a/src/video_core/texture_cache/formatter.h b/src/video_core/texture_cache/formatter.h
index 42fed09..0b11b4c 100644
--- a/src/video_core/texture_cache/formatter.h
+++ b/src/video_core/texture_cache/formatter.h
@@ -13,7 +13,7 @@
template <>
struct fmt::formatter<VideoCore::Surface::PixelFormat> : fmt::formatter<fmt::string_view> {
template <typename FormatContext>
- auto format(VideoCore::Surface::PixelFormat format, FormatContext& ctx) {
+ auto format(VideoCore::Surface::PixelFormat format, FormatContext& ctx) const {
using VideoCore::Surface::PixelFormat;
const string_view name = [format] {
switch (format) {
@@ -234,7 +234,7 @@ struct fmt::formatter<VideoCore::Surface::PixelFormat> : fmt::formatter<fmt::str
template <>
struct fmt::formatter<VideoCommon::ImageType> : fmt::formatter<fmt::string_view> {
template <typename FormatContext>
- auto format(VideoCommon::ImageType type, FormatContext& ctx) {
+ auto format(VideoCommon::ImageType type, FormatContext& ctx)const {
const string_view name = [type] {
using VideoCommon::ImageType;
switch (type) {
@@ -262,7 +262,7 @@ struct fmt::formatter<VideoCommon::Extent3D> {
}
template <typename FormatContext>
- auto format(const VideoCommon::Extent3D& extent, FormatContext& ctx) {
+ auto format(const VideoCommon::Extent3D& extent, FormatContext& ctx) const {
return fmt::format_to(ctx.out(), "{{{}, {}, {}}}", extent.width, extent.height,
extent.depth);
}
--
2.47.1

View file

@ -0,0 +1,101 @@
From 697265492bac53e055180a93b85e8a89af18782b Mon Sep 17 00:00:00 2001
From: Andrew Udvare <audvare@gmail.com>
Date: Mon, 2 Dec 2024 19:08:08 -0500
Subject: [PATCH 6/6] Header fixes
---
src/core/frontend/applets/cabinet.h | 1 +
src/core/memory/dmnt_cheat_vm.cpp | 1 +
src/hid_core/resources/applet_resource.h | 1 +
src/hid_core/resources/npad/npad_vibration.h | 1 +
src/hid_core/resources/touch_screen/gesture.h | 1 +
src/hid_core/resources/touch_screen/touch_screen.h | 1 +
src/hid_core/resources/touch_screen/touch_screen_resource.h | 1 +
7 files changed, 7 insertions(+)
diff --git a/src/core/frontend/applets/cabinet.h b/src/core/frontend/applets/cabinet.h
index 6cb1300..a42119a 100644
--- a/src/core/frontend/applets/cabinet.h
+++ b/src/core/frontend/applets/cabinet.h
@@ -4,6 +4,7 @@
#pragma once
#include <functional>
+#include <memory>
#include "core/frontend/applets/applet.h"
#include "core/hle/service/nfp/nfp_types.h"
diff --git a/src/core/memory/dmnt_cheat_vm.cpp b/src/core/memory/dmnt_cheat_vm.cpp
index 6940add..9f5bfb8 100644
--- a/src/core/memory/dmnt_cheat_vm.cpp
+++ b/src/core/memory/dmnt_cheat_vm.cpp
@@ -1,5 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
+#include <memory>
#include "common/assert.h"
#include "common/scope_exit.h"
diff --git a/src/hid_core/resources/applet_resource.h b/src/hid_core/resources/applet_resource.h
index b37a4f4..0d55eeb 100644
--- a/src/hid_core/resources/applet_resource.h
+++ b/src/hid_core/resources/applet_resource.h
@@ -4,6 +4,7 @@
#pragma once
#include <array>
+#include <memory>
#include <mutex>
#include "common/bit_field.h"
diff --git a/src/hid_core/resources/npad/npad_vibration.h b/src/hid_core/resources/npad/npad_vibration.h
index ca631ed..d5f5ea8 100644
--- a/src/hid_core/resources/npad/npad_vibration.h
+++ b/src/hid_core/resources/npad/npad_vibration.h
@@ -3,6 +3,7 @@
#pragma once
+#include <memory>
#include <mutex>
#include "common/common_types.h"
diff --git a/src/hid_core/resources/touch_screen/gesture.h b/src/hid_core/resources/touch_screen/gesture.h
index b386644..4aa91aa 100644
--- a/src/hid_core/resources/touch_screen/gesture.h
+++ b/src/hid_core/resources/touch_screen/gesture.h
@@ -3,6 +3,7 @@
#pragma once
+#include <memory>
#include <mutex>
#include "common/common_types.h"
diff --git a/src/hid_core/resources/touch_screen/touch_screen.h b/src/hid_core/resources/touch_screen/touch_screen.h
index 2e9a36b..7dce254 100644
--- a/src/hid_core/resources/touch_screen/touch_screen.h
+++ b/src/hid_core/resources/touch_screen/touch_screen.h
@@ -3,6 +3,7 @@
#pragma once
+#include <memory>
#include <mutex>
#include "common/common_types.h"
diff --git a/src/hid_core/resources/touch_screen/touch_screen_resource.h b/src/hid_core/resources/touch_screen/touch_screen_resource.h
index a4e8f43..011c112 100644
--- a/src/hid_core/resources/touch_screen/touch_screen_resource.h
+++ b/src/hid_core/resources/touch_screen/touch_screen_resource.h
@@ -4,6 +4,7 @@
#pragma once
#include <array>
+#include <memory>
#include <mutex>
#include "common/common_types.h"
--
2.47.1

View file

@ -0,0 +1,39 @@
From d89615e9f9519349bd4bd796e873bbc635dc3c99 Mon Sep 17 00:00:00 2001
From: Andrew Udvare <audvare@gmail.com>
Date: Tue, 17 Dec 2024 14:32:14 -0500
Subject: [PATCH 4/4] Fix for Boost 1.87
---
src/input_common/drivers/udp_client.cpp | 2 +-
src/tests/input_common/calibration_configuration_job.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/input_common/drivers/udp_client.cpp b/src/input_common/drivers/udp_client.cpp
index 60821b31a..8aa113ced 100644
--- a/src/input_common/drivers/udp_client.cpp
+++ b/src/input_common/drivers/udp_client.cpp
@@ -113,7 +113,7 @@ private:
}
SocketCallback callback;
- boost::asio::io_service io_service;
+ boost::asio::io_context io_service;
boost::asio::basic_waitable_timer<clock> timer;
udp::socket socket;
diff --git a/src/tests/input_common/calibration_configuration_job.cpp b/src/tests/input_common/calibration_configuration_job.cpp
index 516ff1b30..40af1e4b9 100644
--- a/src/tests/input_common/calibration_configuration_job.cpp
+++ b/src/tests/input_common/calibration_configuration_job.cpp
@@ -82,7 +82,7 @@ public:
}
private:
- boost::asio::io_service io_service;
+ boost::asio::io_context io_service;
boost::asio::ip::udp::socket socket;
std::array<u8, InputCommon::CemuhookUDP::MAX_PACKET_SIZE> send_buffer;
std::array<u8, InputCommon::CemuhookUDP::MAX_PACKET_SIZE> receive_buffer;
--
2.47.1

Binary file not shown.

View file

@ -0,0 +1,3 @@
{
"type": "none"
}

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>audvare@gmail.com</email>
<name>Andrew Udvare</name>
</maintainer>
<upstream>
<remote-id type="github">yuzu-emu/yuzu-mainline</remote-id>
</upstream>
<use>
<flag name="cubeb">Build with cubeb audio backend</flag>
<flag name="compatibility-reporting">Enable compatibility reporting</flag>
<flag name="web-service">Enable web-services</flag>
<flag name="webengine">Use <pkg>dev-qt/qtwebengine</pkg> for embedded web browser</flag>
</use>
</pkgmetadata>

View file

@ -0,0 +1,154 @@
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake flag-o-matic xdg
DESCRIPTION="Nintendo Switch emulator."
HOMEPAGE="https://web.archive.org/web/20240304190805/https://yuzu-emu.org/ https://github.com/yuzu-mirror/yuzu-mainline"
MY_PV="mainline-${PV/./-}"
CPP_HTTPLIB_SHA="6d963fbe8d415399d65e94db7910bbd22fe3741c"
CPP_JWT_SHA="10ef5735d842b31025f1257ae78899f50a40fb14"
_DYNARMIC_SHA="7da378033a7764f955516f75194856d87bbcd7a5"
NX_TZDB_VERSION="221202"
MBEDTLS_SHA="8c88150ca139e06aa2aae8349df8292a88148ea1"
SDL_SHA="cc016b0046d563287f0aa9f09b958b5e70d43696"
SIMPLEINI_SHA="382ddbb4b92c0b26aa1b32cefba2002119a5b1f2"
SIRIT_SHA="ab75463999f4f3291976b079d42d52ee91eebf3f"
XBYAK_SHA="a1ac3750f9a639b5a6c6d6c7da4259b8d6790989"
SRC_URI="https://web.archive.org/web/20240304181657if_/https://codeload.github.com/yuzu-emu/yuzu-mainline/tar.gz/refs/tags/${MY_PV} -> ${P}.tar.gz
https://github.com/yuzu-mirror/mbedtls/archive/${MBEDTLS_SHA}.tar.gz -> ${PN}-mbedtls-${MBEDTLS_SHA:0:7}.tar.gz
https://github.com/yuzu-mirror/dynarmic/archive/${_DYNARMIC_SHA}.tar.gz -> ${PN}-dynarmic-${_DYNARMIC_SHA:0:7}.tar.gz
https://github.com/yuzu-mirror/sirit/archive/${SIRIT_SHA}.tar.gz -> ${PN}-sirit-${SIRIT_SHA:0:7}.tar.gz
https://github.com/lat9nq/tzdb_to_nx/releases/download/${NX_TZDB_VERSION}/${NX_TZDB_VERSION}.zip -> ${PN}-nx_tzdb-${NX_TZDB_VERSION}.zip
https://github.com/yhirose/cpp-httplib/archive/${CPP_HTTPLIB_SHA}.tar.gz -> ${PN}-cpp-httplib-${CPP_HTTPLIB_SHA:0:7}.tar.gz
https://github.com/libsdl-org/SDL/archive/${SDL_SHA}.tar.gz -> ${PN}-sdl-${SDL_SHA:0:7}.tar.gz
https://github.com/brofield/simpleini/archive/${SIMPLEINI_SHA}.tar.gz -> ${PN}-simpleini-${SIMPLEINI_SHA:0:7}.tar.gz
https://github.com/herumi/xbyak/archive/${XBYAK_SHA}.tar.gz -> ${PN}-xbyak-${XBYAK_SHA:0:7}.tar.gz"
LICENSE="BSD GPL-2 GPL-2+ LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE="+compatibility-reporting +cubeb llvm-libunwind qt5 +qt6 +web-service +webengine"
REQUIRED_USE="compatibility-reporting? ( web-service )"
DEPEND=">=app-arch/zstd-1.5.0:=
>=dev-libs/xbyak-6.03:=
>=media-video/ffmpeg-4.3
app-arch/lz4
cubeb? ( media-libs/cubeb )
web-service? ( dev-cpp/cpp-httplib )
dev-cpp/cpp-httplib:=
dev-libs/boost:=[context]
>=dev-libs/libfmt-9.1.0:=
dev-libs/libzip
dev-libs/openssl:=
dev-libs/vulkan-memory-allocator:=
dev-util/vulkan-utility-libraries
dev-util/glslang
qt5? (
dev-qt/qtcore
dev-qt/qtdbus
dev-qt/qtmultimedia:5
dev-qt/qtwidgets
)
qt6? (
dev-qt/qtbase
dev-qt/qtmultimedia:6
)
media-libs/libsdl2
media-libs/libva
media-libs/opus
net-libs/enet:=
sys-libs/zlib
virtual/libusb:=
webengine? (
qt5? ( dev-qt/qtwebengine:5 )
qt6? ( dev-qt/qtwebengine:6 )
)
llvm-libunwind? ( llvm-runtimes/libunwind )
!llvm-libunwind? ( sys-libs/libunwind:= )"
RDEPEND="${DEPEND}
media-libs/vulkan-loader"
BDEPEND="app-arch/unzip
dev-cpp/cpp-jwt
dev-cpp/nlohmann_json
dev-cpp/robin-map
>=dev-util/vulkan-headers-1.3.275
dev-util/spirv-headers"
REQUIRED_USE="|| ( qt5 qt6 )
qt5? ( !qt6 )
qt6? ( !qt5 )"
S="${WORKDIR}/${PN}-mainline-${MY_PV}"
PATCHES=(
"${FILESDIR}/${PN}-0001-system-libs.patch"
"${FILESDIR}/${PN}-0002-boost-fix.patch"
"${FILESDIR}/${PN}-0003-fmt-10-fixes.patch"
"${FILESDIR}/${PN}-0004-header-fixes.patch"
"${FILESDIR}/${PN}-0005-boost-1.87.patch"
)
src_prepare() {
rm .gitmodules || die
rmdir "${S}/externals/"{dynarmic,mbedtls,simpleini,sirit,SDL,xbyak} || die
mv "${WORKDIR}/dynarmic-${_DYNARMIC_SHA}" "${S}/externals/dynarmic" || die
mv "${WORKDIR}/sirit-${SIRIT_SHA}" "${S}/externals/sirit" || die
mv "${WORKDIR}/SDL-${SDL_SHA}" "${S}/externals/SDL" || die
mv "${WORKDIR}/mbedtls-${MBEDTLS_SHA}" "${S}/externals/mbedtls" || die
mv "${WORKDIR}/simpleini-${SIMPLEINI_SHA}" "${S}/externals/simpleini" || die
mv "${WORKDIR}/xbyak-${XBYAK_SHA}" "${S}/externals/xbyak" || die
mkdir -p "${S}_build/externals/nx_tzdb/nx_tzdb" || die
cp "${DISTDIR}/${PN}-nx_tzdb-${NX_TZDB_VERSION}.zip" \
"${S}_build/externals/nx_tzdb/${NX_TZDB_VERSION}.zip" || die
mv "${WORKDIR}/zoneinfo" "${S}_build/externals/nx_tzdb/nx_tzdb/" || die
sed -e 's/find_package(Boost .*/find_package(Boost 1.71 COMPONENTS context REQUIRED)/' \
-i src/common/CMakeLists.txt || die
sed -e '/enable_testing.*/d' \
-e 's/add_subdirectory(externals\/SPIRV-Headers.*/find_package(SPIRV-Headers REQUIRED)/' \
-i externals/sirit/CMakeLists.txt || die
sed -e '/-Werror=missing-declarations/d' -i src/CMakeLists.txt || die
sed -re 's/(find_package\(Vulkan ).*/\1)/' \
-e 's/VulkanMemoryAllocator/VulkanMemoryAllocator REQUIRED/' -i CMakeLists.txt || die
sed -re 's/set\(CAN_BUILD_NX_TZDB.*/set(CAN_BUILD_NX_TZDB false)/' \
-i externals/nx_tzdb/CMakeLists.txt || die
cmake_src_prepare
mkdir -p "${BUILD_DIR}/dist/compatibility_list" || die
einfo 'Using fallback compatibility list'
gunzip <"${FILESDIR}/${PN}-fallback-compat.json.gz" >"${T}/compatibility_list.json" || die
mv -f "${T}/compatibility_list.json" \
"${BUILD_DIR}/dist/compatibility_list/compatibility_list.json" || die
}
src_configure() {
# This is so I do not have to keep patching the VkResult:: constants in the error handler
# switch/case statement in vulkan_wrapper.cpp. Oddly enough this works despite -Werror=all
# coming after.
append-cxxflags -Wno-switch
local mycmakeargs=(
-DBUILD_FULLNAME="${MY_PV}"
-DBUILD_SHARED_LIBS=OFF
-DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF # FIXME
-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF
"-DENABLE_CUBEB=$(usex cubeb)"
"-DENABLE_QT6=$(usex qt6)"
"-DENABLE_WEB_SERVICE=$(usex web-service)"
-DGIT_BRANCH="${PN}"
-DGIT_DESC="${PV}"
-DGIT_REV="${PV}"
-DSIRIT_USE_SYSTEM_SPIRV_HEADERS=ON
-DUSE_DISCORD_PRESENCE=OFF
-DYUZU_DOWNLOAD_TIME_ZONE_DATA=OFF
"-DYUZU_ENABLE_COMPATIBILITY_REPORTING=$(usex compatibility-reporting)"
-DYUZU_TESTS=OFF
-DYUZU_USE_EXTERNAL_SDL2=ON
-DYUZU_USE_EXTERNAL_VULKAN_HEADERS=OFF
-DYUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES=OFF
-DYUZU_USE_QT_MULTIMEDIA=ON
"-DYUZU_USE_QT_WEB_ENGINE=$(usex webengine)"
-DYUZU_USE_FASTER_LD=OFF
-Wno-dev
)
cmake_src_configure
}