diff --git a/games-emulation/yuzu/Manifest b/games-emulation/yuzu/Manifest new file mode 100755 index 0000000..05d350c --- /dev/null +++ b/games-emulation/yuzu/Manifest @@ -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 diff --git a/games-emulation/yuzu/files/yuzu-0001-system-libs.patch b/games-emulation/yuzu/files/yuzu-0001-system-libs.patch new file mode 100755 index 0000000..1594281 --- /dev/null +++ b/games-emulation/yuzu/files/yuzu-0001-system-libs.patch @@ -0,0 +1,24 @@ +From a0397db9220ae26e7dc95475967aebedeea608b9 Mon Sep 17 00:00:00 2001 +From: Andrew Udvare +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) diff --git a/games-emulation/yuzu/files/yuzu-0002-boost-fix.patch b/games-emulation/yuzu/files/yuzu-0002-boost-fix.patch new file mode 100755 index 0000000..c2882ba --- /dev/null +++ b/games-emulation/yuzu/files/yuzu-0002-boost-fix.patch @@ -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($<$:/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 ++#include + + #ifdef _MSC_VER + #pragma warning(pop) +@@ -69,7 +70,7 @@ Message CreateMessage(const u32 magic, const T data, const u32 sender_id) { + }; + Message message{header, data}; + crc.process_bytes(&message, sizeof(Message)); +- message.header.crc = crc.checksum(); ++ message.header.crc = boost::numeric_cast(crc.checksum()); + return message; + } + diff --git a/games-emulation/yuzu/files/yuzu-0003-fmt-10-fixes.patch b/games-emulation/yuzu/files/yuzu-0003-fmt-10-fixes.patch new file mode 100755 index 0000000..7285778 --- /dev/null +++ b/games-emulation/yuzu/files/yuzu-0003-fmt-10-fixes.patch @@ -0,0 +1,364 @@ +From a6e09a7beaff22ac36dcc876b9505c77052993a3 Mon Sep 17 00:00:00 2001 +From: Andrew Udvare +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 + struct fmt::formatter, char>> + : formatter> { + template +- auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) { ++ auto format(const T& value, FormatContext& ctx) const -> decltype(ctx.out()) { + return fmt::formatter>::format( + static_cast>(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 { + return ctx.begin(); + } + template +- 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(addr.GetValue())); + } + }; +@@ -273,7 +273,7 @@ struct fmt::formatter { + return ctx.begin(); + } + template +- 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(addr.GetValue())); + } + }; +@@ -284,7 +284,7 @@ struct fmt::formatter { + return ctx.begin(); + } + template +- 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(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 { + return ctx.begin(); + } + template +- 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(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 + + #include ++#include + + #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 ++#include + + #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 : fmt::formatter { + template +- 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 { + return ctx.begin(); + } + template +- auto format(Shader::Backend::GLASM::Id id, FormatContext& ctx) { ++ auto format(Shader::Backend::GLASM::Id id, FormatContext& ctx) const { + return Shader::Backend::GLASM::FormatTo(ctx, id); + } + }; +@@ -195,7 +195,7 @@ struct fmt::formatter { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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(reg) >= 0 && static_cast(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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 { + return ctx.begin(); + } + template +- 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 ++#include + #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 + + #include ++#include + + #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 : fmt::formatter { + template +- 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 : fmt::formatter + struct fmt::formatter : fmt::formatter { + template +- 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 { + } + + template +- 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 + diff --git a/games-emulation/yuzu/files/yuzu-0004-header-fixes.patch b/games-emulation/yuzu/files/yuzu-0004-header-fixes.patch new file mode 100755 index 0000000..c0e0d40 --- /dev/null +++ b/games-emulation/yuzu/files/yuzu-0004-header-fixes.patch @@ -0,0 +1,101 @@ +From 697265492bac53e055180a93b85e8a89af18782b Mon Sep 17 00:00:00 2001 +From: Andrew Udvare +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 ++#include + #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 + + #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 ++#include + #include + + #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 + #include + + #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 + #include + + #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 + #include + + #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 ++#include + #include + + #include "common/common_types.h" +-- +2.47.1 + diff --git a/games-emulation/yuzu/files/yuzu-0005-boost-1.87.patch b/games-emulation/yuzu/files/yuzu-0005-boost-1.87.patch new file mode 100755 index 0000000..f4b97e9 --- /dev/null +++ b/games-emulation/yuzu/files/yuzu-0005-boost-1.87.patch @@ -0,0 +1,39 @@ +From d89615e9f9519349bd4bd796e873bbc635dc3c99 Mon Sep 17 00:00:00 2001 +From: Andrew Udvare +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 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 send_buffer; + std::array receive_buffer; +-- +2.47.1 + diff --git a/games-emulation/yuzu/files/yuzu-fallback-compat.json.gz b/games-emulation/yuzu/files/yuzu-fallback-compat.json.gz new file mode 100755 index 0000000..e5a1c08 Binary files /dev/null and b/games-emulation/yuzu/files/yuzu-fallback-compat.json.gz differ diff --git a/games-emulation/yuzu/livecheck.json b/games-emulation/yuzu/livecheck.json new file mode 100755 index 0000000..90eae66 --- /dev/null +++ b/games-emulation/yuzu/livecheck.json @@ -0,0 +1,3 @@ +{ + "type": "none" +} diff --git a/games-emulation/yuzu/metadata.xml b/games-emulation/yuzu/metadata.xml new file mode 100755 index 0000000..a2a380c --- /dev/null +++ b/games-emulation/yuzu/metadata.xml @@ -0,0 +1,17 @@ + + + + + audvare@gmail.com + Andrew Udvare + + + yuzu-emu/yuzu-mainline + + + Build with cubeb audio backend + Enable compatibility reporting + Enable web-services + Use dev-qt/qtwebengine for embedded web browser + + diff --git a/games-emulation/yuzu/yuzu-0.1734-r3.ebuild b/games-emulation/yuzu/yuzu-0.1734-r3.ebuild new file mode 100755 index 0000000..503b264 --- /dev/null +++ b/games-emulation/yuzu/yuzu-0.1734-r3.ebuild @@ -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 +}