From a50155d1636107f9fedc8fbeea50a526f503ea05 Mon Sep 17 00:00:00 2001 From: Erica Nebula Date: Tue, 16 Jun 2026 00:36:46 -0500 Subject: [PATCH] games-emulation/rpcs3: add 0.0.41 Signed-off-by: Erica Nebula --- games-emulation/rpcs3/Manifest | 5 + .../rpcs3/files/rpcs3-0.0.41-system-stb.patch | 22 +++ games-emulation/rpcs3/rpcs3-0.0.41.ebuild | 178 ++++++++++++++++++ 3 files changed, 205 insertions(+) create mode 100644 games-emulation/rpcs3/files/rpcs3-0.0.41-system-stb.patch create mode 100644 games-emulation/rpcs3/rpcs3-0.0.41.ebuild diff --git a/games-emulation/rpcs3/Manifest b/games-emulation/rpcs3/Manifest index 5369b1c90f..1fc1c6f89d 100644 --- a/games-emulation/rpcs3/Manifest +++ b/games-emulation/rpcs3/Manifest @@ -1,11 +1,16 @@ DIST rpcs3-0.0.39.tar.gz 5960997 BLAKE2B 68e8629c674e5d0486c6ff5120433ade502179ef40427b2e030b9b12c827f36385871c66c391c3fba50d46cf0f6426a38207047a93e92c1cdaed2d7d3c4d7155 SHA512 f1756b85b02b76d4500b6bfa88071bc980dff9a22d5d786af1e0fefed416b4338efec0e7999cb3259febba5feda622228ebfa8d95f18e84784ff14dba258c3a7 DIST rpcs3-0.0.40.tar.gz 6180790 BLAKE2B 74c3f38dfaaddad2ac52d3eb6367bd9aa35f15e24bccd94d1d4ec52160221b07070866e0277aedeb56a6500b443cf274a626fa2136e3fa36cc57c6d5b46b92e0 SHA512 7cda5ca68746d4ba83d64f0b7b768cc5749871f2188c5228f6dcebcf95e99702207e88009ba8e7286fdc9f888ce4005fd5ca9bc543913293ba3607a85edf3a78 +DIST rpcs3-0.0.41.tar.gz 6672033 BLAKE2B 138f4cd0433736c5943fe1af687c95b88fd3f4a7982ce8e920953b8d59e83270cb825f392a9fbc387f32ac2ab5823219fa840a1d4b05a0c76ad82c862930e7a3 SHA512 5c29c7a7c980ba35ee5fb8137996d099fe178a3091de87a7854ccd759ef02c2d5627ec052736d9d848c7d6b2957ca27b5e4fe1a0ef3cf1eebd30fa4944d37db5 DIST rpcs3-GameMode.tar.gz 79916 BLAKE2B 5d4dd5f462ffb62fad5e8a2b0b772378aba10e0198a07eb01e5ebcd6d8fd94adc9e176c712e11fe8a032c4e4879a807df26755c758da462c67227f700ea66369 SHA512 189a7a9b3159d985652d4eee1a5a69abb14eec4bb5b11ebd55ccba5eb03c5ef37a71751514717949c6cd5ccb0fdce97cf1e24aff6a7e9c0845768b6bddb82fd4 DIST rpcs3-VulkanMemoryAllocator-1d8f600fd424278486eade7ed3e877c99f0846b1.tar.gz 962421 BLAKE2B a54d279c64eb0d4d3d8d9445de7a4e1cdf250546af96ed8739f4dea5f4037b3139807e492847425055cc2e82482a110fabd0478e40520647e58dc4487f452420 SHA512 69591ef6ee25b181aed1e59846e760833dd58d82b5b72e69059cc9d252ca6b7d0fb0418b02cf5aa3feb0983f629ce64f27f10e00da5b73d9e8eae015e261a7f4 DIST rpcs3-asmjit-416f7356967c1f66784dc1580fe157f9406d8bff.tar.gz 1152383 BLAKE2B 17b054083ce178255f19026d175986225f6f803a21e0cef4ce9a557ac50057578d3ae76d3b179fe25d0febd5e05d5d5feb28f9761045a8e41497b92a966196ec SHA512 2be4de27b2ed2212cf7b6ef9d40afac5c00f7a71df4e60208ea57258c01e56413cee439f84490d605f44a835522d1c1a55de898feccdd4429e907a9f82edd7cb DIST rpcs3-fusion-008e03eac0ac1d5f85e16f5fcaefdda3fee75cb8.tar.gz 447989 BLAKE2B 93a79f76f3801fcf693d3cd45f654dae7a5d0ef1a9ee345d590a7e35582015ac5bf624266b7a57c4177dc76e49b9916a2ac594268ddedd6c1944f442d1788344 SHA512 1460225fac603b381a500789474622fa3d6271d8d5c1ba995b764ac264d09de5817ee412a596033587e048a4af12d4f541a49390ad0161653e8b7e5fe508d2aa +DIST rpcs3-glslang-f0bd0257c308b9a26562c1a30c4748a0219cc951.tar.gz 4302423 BLAKE2B ff30824e3f69c5d697c9a518ef7afd1e70ede31a9667d5f1f3d948706d3a0c072eccf212ee30ff0bd277c8336300d44e730fdd709ce2b3d09626d87076398cd2 SHA512 7b763aa6839fcf3414e7b9037f40f80b4d643e8ab9e07a49e1c2a4283e124630cdd6751f17453c231f63e9045fea4ed50f1a48895392a1ff81c91fcad222a5f4 DIST rpcs3-glslang-fc9889c889561c5882e83819dcaffef5ed45529b.tar.gz 4030379 BLAKE2B 9dd4295d81ffaac556f31ff415f37dd7da2050135b35ba464760312969302dd09e01a5676a26f05eb9c8fb219d8e21350778c7c7ad9262545edc479588ffacf9 SHA512 11344bd7551e8577fe3c3b20a8baaec871f1e5e1a48abb572d82783e72a02cfd0db383f2f2e20a16605758c9c854445c548ad6318fa5b70b235950f131b32b36 DIST rpcs3-soundtouch-3982730833b6daefe77dcfb32b5c282851640c17.tar.gz 607787 BLAKE2B 58358d00186830ad0d9a23a551949d9437cc6a949b835c623730f06371f166bcf43433b96c3b80572d4ab907775258051bbea73f9cd7e2d9a0c36fa5ec4bf525 SHA512 aa42aac667ed701df29fec5b75a1878e6c7404d8e66a9238d930a14f994fca37f350108c7ba4cbce899b0155976b454031a6425b28809a0ffe15d1a1709ade1f +DIST rpcs3-soundtouch-a0fba77b6f9cfbdb71f8bbec58b6ac4e5e3b1097.tar.gz 607849 BLAKE2B 9f456a7174f1d059a5b605cc055cade409b2e30f7c89eb5213d825f6460c4ccb9dac7b71a946dff85a1dee264c1fdf0d80834eb3cc4290cd229f57f9af588e34 SHA512 2508487ca5e5dfa01694da915d2f61861a4907247a0f568e268a648118681a8013c9557ff716bdcfe88dc7429ddcb7807850f51fd9060096f0f7bcfc42f663ab +DIST rpcs3-wolfssl-1d363f3adceba9d1478230ede476a37b0dcdef24.tar.gz 26729937 BLAKE2B f0335e078697c3ac732b536364a13b95c7ddecd567bdf2b7df60167f1f582f133608d400d53b24c751348c64048357452efd0510d11ab0daa246d7531739e74b SHA512 89fc37bf5ba66c75de92171b48161d2c82b797d2ba7d393ec4fcd31ee021a333e3af303cb48c5ecd5749d5d6d1491b9cdebe73e64bbf43fb1f8c01443bec8878 DIST rpcs3-wolfssl-b077c81eb635392e694ccedbab8b644297ec0285.tar.gz 24936390 BLAKE2B 717d36c5fe3e64089bf550844caaa61cdd532d6b37216427d7bcbd9af12df0cf7bd474d8e79c217d28646f69b7d1a388eb50ea1006760b06d09b74ff140d734e SHA512 14e198ca5f90ba38f61bc6237f9e5d63e0a9631bf8360d02cc34759d8415b8b0a9bae30e122e08a2aa29027e787bb81359c8d26f853fe1c3410356d92f1b95d5 DIST rpcs3-yaml-cpp-05c44fcd18074836e21e1eda9fc02b3a4a1529b5-.tar.gz 1057124 BLAKE2B 5fdbcda7d402b8a7c632b17063aba011bc149a1bed34a9e0172c104d417ccb186cd1e31d0d292b3305fb0d72f27935c2b5a30d758dab51371974f6773972cbe1 SHA512 2372d6da3eb69ab6e56df9785af7261eae432cb50ce4608be22224995e4b51ff1f9fe15be489460c4bd2fab23b037089ab612bdabec068292d3b4664657093ce DIST rpcs3-yaml-cpp-3982730833b6daefe77dcfb32b5c282851640c17-.tar.gz 1019142 BLAKE2B 8c7b4e1c788a07c1092be813555b1774a713693dd995183671d60b1896f96e105631447cb8c69bbcb13c380388b632d38a2c59be19903bc259ae6b57a181612a SHA512 0d06856bacb6c3cb987299c650baffcb2647a4b9a53394a7ce5c75301b527574d41cb0dfe9bf2e997e04588786d5aa7232437472a2e5fec422e8aa56aba0ea14 +DIST rpcs3-yaml-cpp-51a5d623e3fde1f58829a56ba910f1cb33596222-.tar.gz 1057156 BLAKE2B c21397d2595182f32166a139384f8f2a2d7c7049720fa989c343e2e8ee313d231ab8955b45520fbca71574e919d9d4c4fe996483140561447467e5ca7c8eb103 SHA512 af9ca2c9fa2ade54f230247d5ae1d0acf298475bbe2b64c2a7bd177f9af50cc530695ec50584d7e64bfecf8a58fe0ff249d0f02187945022768ce996d77946ef diff --git a/games-emulation/rpcs3/files/rpcs3-0.0.41-system-stb.patch b/games-emulation/rpcs3/files/rpcs3-0.0.41-system-stb.patch new file mode 100644 index 0000000000..43e39720c0 --- /dev/null +++ b/games-emulation/rpcs3/files/rpcs3-0.0.41-system-stb.patch @@ -0,0 +1,22 @@ +diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt +index 6c49a889b..c749044fb 100644 +--- a/3rdparty/CMakeLists.txt ++++ b/3rdparty/CMakeLists.txt +@@ -125,7 +125,8 @@ else() + endif() + + # stblib +-add_subdirectory(stblib) ++pkg_check_modules(stb REQUIRED IMPORTED_TARGET GLOBAL stb) ++add_library(3rdparty::stblib ALIAS PkgConfig::stb) + + # DiscordRPC + add_subdirectory(discord-rpc) +@@ -373,7 +374,6 @@ add_library(3rdparty::yaml-cpp ALIAS yaml-cpp) + add_library(3rdparty::hidapi ALIAS 3rdparty_hidapi) + add_library(3rdparty::libpng ALIAS ${LIBPNG_TARGET}) + add_library(3rdparty::opengl ALIAS 3rdparty_opengl) +-add_library(3rdparty::stblib ALIAS 3rdparty_stblib) + add_library(3rdparty::discordRPC ALIAS 3rdparty_discordRPC) + add_library(3rdparty::faudio ALIAS ${FAUDIO_TARGET}) + add_library(3rdparty::libevdev ALIAS ${LIBEVDEV_TARGET}) diff --git a/games-emulation/rpcs3/rpcs3-0.0.41.ebuild b/games-emulation/rpcs3/rpcs3-0.0.41.ebuild new file mode 100644 index 0000000000..83b06503ca --- /dev/null +++ b/games-emulation/rpcs3/rpcs3-0.0.41.ebuild @@ -0,0 +1,178 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic xdg optfeature + +ASMJIT_COMMIT="416f7356967c1f66784dc1580fe157f9406d8bff" # master~71 +GLSLANG_COMMIT="f0bd0257c308b9a26562c1a30c4748a0219cc951" # tags/16.2.0 +WOLFSSL_COMMIT="1d363f3adceba9d1478230ede476a37b0dcdef24" # tags/5.9.1-stable +SOUNDTOUCH_COMMIT="a0fba77b6f9cfbdb71f8bbec58b6ac4e5e3b1097" # master +YAMLCPP_COMMIT="51a5d623e3fde1f58829a56ba910f1cb33596222" # master +FUSION_COMMIT="008e03eac0ac1d5f85e16f5fcaefdda3fee75cb8" # tags/1.2.11 +VULKANMEMORYALLOCATOR_COMMIT="1d8f600fd424278486eade7ed3e877c99f0846b1" # tags/3.3.0 +GAMEMODE_COMMIT="c54d6d4243b0dd0afcb49f2c9836d432da171a2b" # tags/1.8.2 + +DESCRIPTION="PS3 emulator/debugger" +HOMEPAGE="https://rpcs3.net/" +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/RPCS3/rpcs3" + EGIT_SUBMODULES=( + 'asmjit' '3rdparty/glslang' '3rdparty/wolfssl' + '3rdparty/SoundTouch/soundtouch' '3rdparty/fusion/fusion' '3rdparty/GPUOpen/VulkanMemoryAllocator' + '3rdparty/feralinteractive/feralinteractive' '3rdparty/yaml-cpp' + ) + inherit git-r3 +else + SRC_URI=" + https://github.com/RPCS3/rpcs3/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://github.com/asmjit/asmjit/archive/${ASMJIT_COMMIT}.tar.gz -> ${PN}-asmjit-${ASMJIT_COMMIT}.tar.gz + https://github.com/KhronosGroup/glslang/archive/${GLSLANG_COMMIT}.tar.gz -> ${PN}-glslang-${GLSLANG_COMMIT}.tar.gz + https://github.com/wolfSSL/wolfssl/archive/${WOLFSSL_COMMIT}.tar.gz -> ${PN}-wolfssl-${WOLFSSL_COMMIT}.tar.gz + https://github.com/RPCS3/soundtouch/archive/${SOUNDTOUCH_COMMIT}.tar.gz + -> ${PN}-soundtouch-${SOUNDTOUCH_COMMIT}.tar.gz + https://github.com/RPCS3/yaml-cpp/archive/${YAMLCPP_COMMIT}.tar.gz -> ${PN}-yaml-cpp-${YAMLCPP_COMMIT}-.tar.gz + https://github.com/xioTechnologies/Fusion/archive/${FUSION_COMMIT}.tar.gz -> ${PN}-fusion-${FUSION_COMMIT}.tar.gz + https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz + -> ${PN}-VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz + https://github.com/FeralInteractive/gamemode/archive/${GAMEMODE_COMMIT}.tar.gz -> ${PN}-GameMode.tar.gz + " + KEYWORDS="~amd64" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="discord faudio +llvm opencv vulkan wayland" + +DEPEND=" + app-arch/7zip + app-arch/zstd + >=dev-libs/protobuf-33.0.0 + dev-libs/hidapi + dev-libs/libevdev + dev-libs/pugixml + dev-libs/stb + dev-qt/qtbase:6[concurrent,dbus,gui,widgets] + dev-qt/qtmultimedia:6 + dev-qt/qtsvg:6 + media-libs/alsa-lib + media-libs/cubeb + media-libs/glew + media-libs/libglvnd + media-libs/libpng:= + media-libs/openal + media-libs/rtmidi + media-video/ffmpeg:= + net-libs/miniupnpc:= + net-misc/curl + llvm-core/llvm:= + virtual/zlib:= + virtual/libusb:1 + x11-libs/libX11 + faudio? ( app-emulation/faudio ) + opencv? ( media-libs/opencv ) + vulkan? ( media-libs/vulkan-loader[wayland?] ) + wayland? ( dev-libs/wayland ) +" +RDEPEND="${DEPEND}" + +QA_PREBUILT="usr/share/rpcs3/test/.*" +QA_WX_LOAD="usr/share/rpcs3/test/*" + +PATCHES=( + "${FILESDIR}/${P}-system-stb.patch" +) + +src_prepare() { + if [[ ${PV} != "9999" ]]; then + rmdir "${S}/3rdparty/asmjit/asmjit" || die + mv "${WORKDIR}/asmjit-${ASMJIT_COMMIT}" "${S}/3rdparty/asmjit/asmjit" || die + + rmdir "${S}/3rdparty/glslang/glslang" || die + mv "${WORKDIR}/glslang-${GLSLANG_COMMIT}" "${S}/3rdparty/glslang/glslang" || die + + rmdir "${S}/3rdparty/wolfssl/wolfssl" || die + mv "${WORKDIR}/wolfssl-${WOLFSSL_COMMIT}" "${S}/3rdparty/wolfssl/wolfssl" || die + + rmdir "${S}/3rdparty/SoundTouch/soundtouch" || die + mv "${WORKDIR}/soundtouch-${SOUNDTOUCH_COMMIT}" "${S}/3rdparty/SoundTouch/soundtouch" || die + + rmdir "${S}/3rdparty/yaml-cpp/yaml-cpp" || die + mv "${WORKDIR}/yaml-cpp-${YAMLCPP_COMMIT}" "${S}/3rdparty/yaml-cpp/yaml-cpp" || die + + rmdir "${S}/3rdparty/fusion/fusion" || die + mv "${WORKDIR}/Fusion-${FUSION_COMMIT}" "${S}/3rdparty/fusion/fusion" || die + + rmdir "${S}/3rdparty/GPUOpen/VulkanMemoryAllocator" || die + mv "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" \ + "${S}/3rdparty/GPUOpen/VulkanMemoryAllocator" || die + + rmdir "${S}/3rdparty/feralinteractive/feralinteractive" || die + mv "${WORKDIR}/gamemode-${GAMEMODE_COMMIT}" \ + "${S}/3rdparty/feralinteractive/feralinteractive" || die + + #Define RPCS3 Version + { echo "#define RPCS3_GIT_VERSION \"${PV}\"" + echo '#define RPCS3_GIT_BRANCH "master"' + echo '#define RPCS3_GIT_FULL_BRANCH "RPCS3/rpcs3/master"' + echo '#define RPCS3_GIT_VERSION_NO_UPDATE 1'; } > rpcs3/git-version.h + fi + + # Disable automagic ccache + sed -i -e '/find_program(CCACHE_PATH ccache .*)/d' CMakeLists.txt || die + + # Unbundle yaml-cpp: system yaml-cpp should be compiled with -fexceptions + # sed -i -e '/yaml-cpp/d' 3rdparty/CMakeLists.txt || die + # sed -i -e '$afind_package(yaml-cpp)\n' CMakeLists.txt || die + # sed -i -e 's/3rdparty::yaml-cpp/yaml-cpp/' rpcs3/Emu/CMakeLists.txt \ + # rpcs3/rpcs3qt/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + filter-lto + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF # to remove after unbundling + -DUSE_PRECOMPILED_HEADERS=ON + -DUSE_SYSTEM_CUBEB=ON + -DUSE_SYSTEM_CURL=ON + -DUSE_SYSTEM_FFMPEG=ON + -DUSE_SYSTEM_PROTOBUF=ON + -DUSE_SYSTEM_HIDAPI=ON + -DUSE_SYSTEM_LIBPNG=ON + -DUSE_SYSTEM_LIBUSB=ON + -DUSE_SYSTEM_MINIUPNPC=ON + -DUSE_SYSTEM_PUGIXML=ON + -DUSE_SYSTEM_RTMIDI=ON + -DUSE_SYSTEM_ZLIB=ON + -DUSE_SYSTEM_ZSTD=ON + -DUSE_DISCORD_RPC=$(usex discord) + -DUSE_FAUDIO=$(usex faudio) + -DUSE_SYSTEM_OPENCV=$(usex opencv) + -DUSE_VULKAN=$(usex vulkan) + -DWITH_LLVM=$(usex llvm) + $(cmake_use_find_package wayland Wayland) + ) + # These options are defined conditionally to suppress QA notice + use faudio && mycmakeargs+=( -DUSE_SYSTEM_FAUDIO=$(usex faudio) ) + + cmake_src_configure + + sed -i -e 's/FFMPEG_LIB_AVFORMAT-NOTFOUND/avformat/' -e 's/FFMPEG_LIB_AVCODEC-NOTFOUND/avcodec/' \ + -e 's/FFMPEG_LIB_AVUTIL-NOTFOUND/avutil/' -e 's/FFMPEG_LIB_SWSCALE-NOTFOUND/swscale/' \ + -e 's/FFMPEG_LIB_SWRESAMPLE-NOTFOUND/swresample/' "${BUILD_DIR}"/build.ninja || die +} + +src_install() { + cmake_src_install + + # remove unneccessary files to save some space + rm -rf "${ED}/usr/share/rpcs3/"{git,test} || die +} + +pkg_postinst() { + optfeature "FeralInteractive GameMode support" games-util/gamemode +}