commit: 3d01ac33ab98ee72f9481588784108683b28eecb
Author: Erica Nebula <EricaNebula <AT> Proton <DOT> me>
AuthorDate: Thu Jan 1 22:38:04 2026 +0000
Commit: Erica Nebula <EricaNebula <AT> proton <DOT> me>
CommitDate: Thu Jan 1 22:38:14 2026 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=3d01ac33
games-emulation/rpcs3: add 0.0.39
Includes updates to submodule commit ids
Signed-off-by: Erica Nebula <EricaNebula <AT> Proton.me>
games-emulation/rpcs3/Manifest | 2 +
.../rpcs3/files/rpcs3-0.0.39-system-stb.patch | 22 +++
games-emulation/rpcs3/rpcs3-0.0.39.ebuild | 178 +++++++++++++++++++++
3 files changed, 202 insertions(+)
diff --git a/games-emulation/rpcs3/Manifest b/games-emulation/rpcs3/Manifest
index 7e25915190..74bcdc49c4 100644
--- a/games-emulation/rpcs3/Manifest
+++ b/games-emulation/rpcs3/Manifest
@@ -1,9 +1,11 @@
DIST rpcs3-0.0.37.tar.gz 5858089 BLAKE2B
613463695e41366161d59b8a43a55bbfff995ce3f9a3ec026f5030f51a8e7992badfa9e022fa0be5edc3973ec2a3c408969ce10e1c5fecd7616b5fe6bef12cc7
SHA512
cf890a00fc9da3269d8539d9db30372965ec1bb5a18e42017819249a8d37e4d2b95e76dc8450aad6fb0450fcbf9cbec01c2743c51c66763c745c5f318a89b6f7
DIST rpcs3-0.0.38.tar.gz 5880433 BLAKE2B
7f1b77abde138e2676dd56b621f6e131140a949e6dcafbf44574dbf37f882e78069ec6c2da6f2486f8d7447fa1d152963b3ed6427f7b55ba0621792408ddf29b
SHA512
e84c3d045f127283430a5262ea055094288c1ceda865fe5b0f2602f870027a7c89e830d3a28980f5bbf26ed1893cf7786b032a748163c4fe788ba49dfdaa031c
+DIST rpcs3-0.0.39.tar.gz 5960997 BLAKE2B
68e8629c674e5d0486c6ff5120433ade502179ef40427b2e030b9b12c827f36385871c66c391c3fba50d46cf0f6426a38207047a93e92c1cdaed2d7d3c4d7155
SHA512
f1756b85b02b76d4500b6bfa88071bc980dff9a22d5d786af1e0fefed416b4338efec0e7999cb3259febba5feda622228ebfa8d95f18e84784ff14dba258c3a7
DIST rpcs3-GameMode.tar.gz 79916 BLAKE2B
5d4dd5f462ffb62fad5e8a2b0b772378aba10e0198a07eb01e5ebcd6d8fd94adc9e176c712e11fe8a032c4e4879a807df26755c758da462c67227f700ea66369
SHA512
189a7a9b3159d985652d4eee1a5a69abb14eec4bb5b11ebd55ccba5eb03c5ef37a71751514717949c6cd5ccb0fdce97cf1e24aff6a7e9c0845768b6bddb82fd4
DIST
rpcs3-VulkanMemoryAllocator-1d8f600fd424278486eade7ed3e877c99f0846b1.tar.gz
962421 BLAKE2B
a54d279c64eb0d4d3d8d9445de7a4e1cdf250546af96ed8739f4dea5f4037b3139807e492847425055cc2e82482a110fabd0478e40520647e58dc4487f452420
SHA512
69591ef6ee25b181aed1e59846e760833dd58d82b5b72e69059cc9d252ca6b7d0fb0418b02cf5aa3feb0983f629ce64f27f10e00da5b73d9e8eae015e261a7f4
DIST
rpcs3-VulkanMemoryAllocator-6ec8481c8a13db586d7b3ba58f4eb9bbf017edf0.tar.gz
962721 BLAKE2B
c369f33f6057880df21b0ed01310385ea373546c61aa25157f3ff3ea139cae400a10361fcd1d395d048fa7648e42269b7257db2ada7f74e8654ee6b53bb46144
SHA512
4514ea5b604939fb28185cd2c76e43927e9d604bafa3e8ad4c2d17ed60bd925e658be8c06a6ea470636c9ce25781a96a3c3b707056d9093c62842d13f9baed99
DIST rpcs3-asmjit-416f7356967c1f66784dc1580fe157f9406d8bff.tar.gz 1152383
BLAKE2B
17b054083ce178255f19026d175986225f6f803a21e0cef4ce9a557ac50057578d3ae76d3b179fe25d0febd5e05d5d5feb28f9761045a8e41497b92a966196ec
SHA512
2be4de27b2ed2212cf7b6ef9d40afac5c00f7a71df4e60208ea57258c01e56413cee439f84490d605f44a835522d1c1a55de898feccdd4429e907a9f82edd7cb
+DIST rpcs3-fusion-008e03eac0ac1d5f85e16f5fcaefdda3fee75cb8.tar.gz 447989
BLAKE2B
93a79f76f3801fcf693d3cd45f654dae7a5d0ef1a9ee345d590a7e35582015ac5bf624266b7a57c4177dc76e49b9916a2ac594268ddedd6c1944f442d1788344
SHA512
1460225fac603b381a500789474622fa3d6271d8d5c1ba995b764ac264d09de5817ee412a596033587e048a4af12d4f541a49390ad0161653e8b7e5fe508d2aa
DIST rpcs3-fusion-066d4a63b2c714b20b0a8073a01fda7c5c6763f6.tar.gz 447897
BLAKE2B
ec1330941df3fff6538fbfc0e9609fb022ffe2507c3622242dc69a4c4758714f89452dcc0e0902cbe8fbfd3f76185b042adf7e386abdb2a202403b3d8786d6a2
SHA512
3e0d42936ad4175b7a0a50106786973301530ff6a8eeb4b3e393001b83b07b00e5a4d6cf48783e5a765f326bc05c099e20d1211480a56c3a24f1b518deb4c5eb
DIST rpcs3-glslang-fc9889c889561c5882e83819dcaffef5ed45529b.tar.gz 4030379
BLAKE2B
9dd4295d81ffaac556f31ff415f37dd7da2050135b35ba464760312969302dd09e01a5676a26f05eb9c8fb219d8e21350778c7c7ad9262545edc479588ffacf9
SHA512
11344bd7551e8577fe3c3b20a8baaec871f1e5e1a48abb572d82783e72a02cfd0db383f2f2e20a16605758c9c854445c548ad6318fa5b70b235950f131b32b36
DIST rpcs3-miniupnp-d66872e34d9ff83a07f8b71371b13419b2089953.tar.gz 540745
BLAKE2B
87e02644befbd3f6f67e6de70755a98b5ecf81295b1e1c7bcdb974f6c736dcc2b554ec5eba0cc08174dad82b617b2168a5dcbad1761f43992d5aae01e219aaca
SHA512
4844d8c49a3bd45ffcde82f6c871673a6f689cad872d6d03b5751409ed6278cf5cfcc78bddb1d1028ce5b720d1f2b08158c0f0037a3deed5919f5f1364a824c6
diff --git a/games-emulation/rpcs3/files/rpcs3-0.0.39-system-stb.patch
b/games-emulation/rpcs3/files/rpcs3-0.0.39-system-stb.patch
new file mode 100644
index 0000000000..43e39720c0
--- /dev/null
+++ b/games-emulation/rpcs3/files/rpcs3-0.0.39-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.39.ebuild
b/games-emulation/rpcs3/rpcs3-0.0.39.ebuild
new file mode 100644
index 0000000000..482ae9d1e1
--- /dev/null
+++ b/games-emulation/rpcs3/rpcs3-0.0.39.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" #
remotes/origin/a32_port~71
+GLSLANG_COMMIT="fc9889c889561c5882e83819dcaffef5ed45529b" # tags/15.3.0
+WOLFSSL_COMMIT="b077c81eb635392e694ccedbab8b644297ec0285" # tags/5.8.0-stable
+SOUNDTOUCH_COMMIT="3982730833b6daefe77dcfb32b5c282851640c17" # master
+YAMLCPP_COMMIT="456c68f452da09d8ca84b375faa2b1397713eaba" # 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-${SOUNDTOUCH_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/flatbuffers
+ 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_FLATBUFFERS=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
+}