diff --git a/games-emulation/rpcs3/Manifest b/games-emulation/rpcs3/Manifest
index 447fc554f0..e9e7174acf 100644
--- a/games-emulation/rpcs3/Manifest
+++ b/games-emulation/rpcs3/Manifest
@@ -1,8 +1,19 @@
DIST rpcs3-0.0.34.tar.gz 7834256 BLAKE2B 62bfc4751e4f77bc20899222520a5b902b7bd263f6a0265e35189c85a8e4ce068dbe38c8b4cd7c61634b69f81c7aa2f7c2d9f894134149e4a9211841ab822102 SHA512 4cbe7d62fe86e51355d63a09ce64ec768ad236aebf4375dd410549339a5f244fb2cc30c89821b0e6f001bb31646432abd06a2b9947b8d589d5c5b73de24e6e9d
+DIST rpcs3-0.0.37.tar.gz 5858089 BLAKE2B 613463695e41366161d59b8a43a55bbfff995ce3f9a3ec026f5030f51a8e7992badfa9e022fa0be5edc3973ec2a3c408969ce10e1c5fecd7616b5fe6bef12cc7 SHA512 cf890a00fc9da3269d8539d9db30372965ec1bb5a18e42017819249a8d37e4d2b95e76dc8450aad6fb0450fcbf9cbec01c2743c51c66763c745c5f318a89b6f7
+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-066d4a63b2c714b20b0a8073a01fda7c5c6763f6.tar.gz 447897 BLAKE2B ec1330941df3fff6538fbfc0e9609fb022ffe2507c3622242dc69a4c4758714f89452dcc0e0902cbe8fbfd3f76185b042adf7e386abdb2a202403b3d8786d6a2 SHA512 3e0d42936ad4175b7a0a50106786973301530ff6a8eeb4b3e393001b83b07b00e5a4d6cf48783e5a765f326bc05c099e20d1211480a56c3a24f1b518deb4c5eb
DIST rpcs3-glslang-36d08c0d940cf307a23928299ef52c7970d8cee6.tar.gz 3769785 BLAKE2B 923bfada8484a3bb91dd92a242d7096017b77fd399a90052af121658221069215e277d51fb4b9b95821b9272e44618f91883c2dc49bfb671c52a941d54aec182 SHA512 184baa0bc22d5e79bf8424692b5c8bb51676ca20819551cf406a4fd898dd1ad5ca7296e26ce7b99878e627dcafc4cd435933dd939c91753c5050022052e1dbe5
+DIST rpcs3-glslang-fc9889c889561c5882e83819dcaffef5ed45529b.tar.gz 4030379 BLAKE2B 9dd4295d81ffaac556f31ff415f37dd7da2050135b35ba464760312969302dd09e01a5676a26f05eb9c8fb219d8e21350778c7c7ad9262545edc479588ffacf9 SHA512 11344bd7551e8577fe3c3b20a8baaec871f1e5e1a48abb572d82783e72a02cfd0db383f2f2e20a16605758c9c854445c548ad6318fa5b70b235950f131b32b36
DIST rpcs3-miniupnp-7f189988a0decca0ab7da89000051ab91751f70d.tar.gz 462956 BLAKE2B da35be2f89c4aa19e4d956f2929184653c9dcafdd6f7fa8b463e23bb6b449bb4ad17ea526ea11eb1dae460ff26c4c45e219de6e93afaeb9fe9042e91ac7a64eb SHA512 7bc34491912099b26873f7942077156e267cf3860082299c6ebf42ca0d7cb8a0d8330b874fd37f00907b865bb08321e4d6d5d1b5bba581140d9dd0f07f9f1599
+DIST rpcs3-miniupnp-d66872e34d9ff83a07f8b71371b13419b2089953.tar.gz 540745 BLAKE2B 87e02644befbd3f6f67e6de70755a98b5ecf81295b1e1c7bcdb974f6c736dcc2b554ec5eba0cc08174dad82b617b2168a5dcbad1761f43992d5aae01e219aaca SHA512 4844d8c49a3bd45ffcde82f6c871673a6f689cad872d6d03b5751409ed6278cf5cfcc78bddb1d1028ce5b720d1f2b08158c0f0037a3deed5919f5f1364a824c6
+DIST rpcs3-openal-dc7d7054a5b4f3bec1dc23a42fd616a0847af948.tar.gz 1253314 BLAKE2B 3a94c7c7d493aea59336181dcf6b22feab47609823c1ba7461a1ffa5fda0c966f92de462ec79f7f90cadc9235001de5a697b251d24533eb201f0fad08d7e8d1a SHA512 208fc64a4ad872780a1fbe953eab0854e28a38664d74cb255111420917e312be53755ae7dd39fd2c0bb1135649ce619d427a15e9da5a76d489ec1c305b4193bc
DIST rpcs3-rtmidi-1e5b49925aa60065db52de44c366d446a902547b.tar.gz 515635 BLAKE2B 4a4809bd2c1f03b0ecda9a2583c84fb7f0a040f362bcd96f2639b062b8a5dbdb4da214f1f14d56664e59f0c964413db8f6d1722ece59c9a36629fb50d2b56c92 SHA512 c5f221cecbcee5085a75264b9c5f4eb4f8096d8f7425908678a3429f97fd4177d4f1781c5ef9f46093353878eabffc76b2f9af049ea4ba6dee05f1c7999f1b9f
DIST rpcs3-soundtouch-394e1f58b23dc80599214d2e9b6a5e0dfd0bbe07.tar.gz 606942 BLAKE2B 208041ba68fc7b26d3fd800e1a26c79d8f011142fff1f6ea519d71972762299816eb10b3204a8bd4fe872bb19fe5639e5782db4e40333cb2073c7fb32153e6e7 SHA512 ef4a3300b6e80e4f540c3d1444b2604e6cb9bb72bd9648059706e1ad1aba015fdf9babecd9986910a2069ba44947e72e965ccc793f98598b6d6c140181585dfe
+DIST rpcs3-soundtouch-3982730833b6daefe77dcfb32b5c282851640c17.tar.gz 607787 BLAKE2B 58358d00186830ad0d9a23a551949d9437cc6a949b835c623730f06371f166bcf43433b96c3b80572d4ab907775258051bbea73f9cd7e2d9a0c36fa5ec4bf525 SHA512 aa42aac667ed701df29fec5b75a1878e6c7404d8e66a9238d930a14f994fca37f350108c7ba4cbce899b0155976b454031a6425b28809a0ffe15d1a1709ade1f
+DIST rpcs3-stb-013ac3beddff3dbffafd5177e7972067cd2b5083.tar.gz 1510118 BLAKE2B 6ea841222758a00bb704dbe2c269a44af3fabeeaa761682e89042fe42f5d4d92eebb5e7c31772873b624e9120295fb75178740f9d98da9fa53c32eb4b5e5cdf3 SHA512 571f22d2a31f836fe19b8606b38135f962486608a7c5bd46ff551d98cef85647556e1f9f59c92bf0ecbc2938cb63cf41c84c08c48188f8cf14d7141d1fc35a66
DIST rpcs3-wolfssl-00e42151ca061463ba6a95adb2290f678cbca472.tar.gz 23602428 BLAKE2B 3e8dfe67c9401a32ae9cdea9f03ef929e6378e55af4edb5b26c4e8bd91e21ff91d5cae73bf858b4dfcc292ca0ac4ba667baf373e9f5d093e26ea6287dd677bee SHA512 79023c31489fa8ce3772e8042c47360be8ad29e29b7e7ae2dd397907e11acd64536d5446f52e9957194d054f959069521ffdc90faa820d09ba406a4ad8ae1440
+DIST rpcs3-wolfssl-b077c81eb635392e694ccedbab8b644297ec0285.tar.gz 24936390 BLAKE2B 717d36c5fe3e64089bf550844caaa61cdd532d6b37216427d7bcbd9af12df0cf7bd474d8e79c217d28646f69b7d1a388eb50ea1006760b06d09b74ff140d734e SHA512 14e198ca5f90ba38f61bc6237f9e5d63e0a9631bf8360d02cc34759d8415b8b0a9bae30e122e08a2aa29027e787bb81359c8d26f853fe1c3410356d92f1b95d5
+DIST rpcs3-yaml-cpp-3982730833b6daefe77dcfb32b5c282851640c17-.tar.gz 1019142 BLAKE2B 8c7b4e1c788a07c1092be813555b1774a713693dd995183671d60b1896f96e105631447cb8c69bbcb13c380388b632d38a2c59be19903bc259ae6b57a181612a SHA512 0d06856bacb6c3cb987299c650baffcb2647a4b9a53394a7ce5c75301b527574d41cb0dfe9bf2e997e04588786d5aa7232437472a2e5fec422e8aa56aba0ea14
DIST rpcs3-yaml-cpp-456c68f452da09d8ca84b375faa2b1397713eaba.tar.gz 1019142 BLAKE2B 8c7b4e1c788a07c1092be813555b1774a713693dd995183671d60b1896f96e105631447cb8c69bbcb13c380388b632d38a2c59be19903bc259ae6b57a181612a SHA512 0d06856bacb6c3cb987299c650baffcb2647a4b9a53394a7ce5c75301b527574d41cb0dfe9bf2e997e04588786d5aa7232437472a2e5fec422e8aa56aba0ea14
+DIST rpcs3-zstd-f8745da6ff1ad1e7bab384bd1f9d742439278e99.tar.gz 2453329 BLAKE2B 827f825cca32016e104391d1fbae1267526366023fe099c867aca74f91c4221e64c425c3364bcf9af3dab9ad7c016632d97d0ae555ed7fad891fd7eb22930aa8 SHA512 3a3e8c5324bc66ca5cdaf83d26df16cdb7b67453277c2764df40171b6787d65aa0eedc9e61256acc95867904b81d4ed570b16edf1e540a9776dd86f70b8b0f37
diff --git a/games-emulation/rpcs3/rpcs3-0.0.37.ebuild b/games-emulation/rpcs3/rpcs3-0.0.37.ebuild
new file mode 100644
index 0000000000..bf9bf20e32
--- /dev/null
+++ b/games-emulation/rpcs3/rpcs3-0.0.37.ebuild
@@ -0,0 +1,200 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic xdg
+
+ASMJIT_COMMIT="416f7356967c1f66784dc1580fe157f9406d8bff"
+GLSLANG_COMMIT="fc9889c889561c5882e83819dcaffef5ed45529b"
+MINIUPNP_COMMIT="d66872e34d9ff83a07f8b71371b13419b2089953"
+RTMIDI_COMMIT="1e5b49925aa60065db52de44c366d446a902547b"
+WOLFSSL_COMMIT="b077c81eb635392e694ccedbab8b644297ec0285"
+SOUNDTOUCH_COMMIT="3982730833b6daefe77dcfb32b5c282851640c17"
+ZSTD_COMMIT="f8745da6ff1ad1e7bab384bd1f9d742439278e99"
+STB_COMMIT="013ac3beddff3dbffafd5177e7972067cd2b5083"
+YAMLCPP_COMMIT="456c68f452da09d8ca84b375faa2b1397713eaba"
+OPENAL_COMMIT="dc7d7054a5b4f3bec1dc23a42fd616a0847af948"
+FUSION_COMMIT="066d4a63b2c714b20b0a8073a01fda7c5c6763f6"
+VULKANMEMORYALLOCATOR_COMMIT="6ec8481c8a13db586d7b3ba58f4eb9bbf017edf0"
+
+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/miniupnp/miniupnp' '3rdparty/rtmidi/rtmidi' '3rdparty/wolfssl'
+ '3rdparty/SoundTouch/soundtouch' '3rdparty/zstd/zstd' '3rdparty/stblib/stb' '3rdparty/OpenAL/openal-soft'
+ '3rdparty/fusion/fusion' '3rdparty/GPUOpen/VulkanMemoryAllocator'
+ )
+ # Delete sources when ensuring yaml-cpp compiled with fexceptions
+ EGIT_SUBMODULES+=( '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/miniupnp/miniupnp/archive/${MINIUPNP_COMMIT}.tar.gz -> ${PN}-miniupnp-${MINIUPNP_COMMIT}.tar.gz
+ https://github.com/thestk/rtmidi/archive/${RTMIDI_COMMIT}.tar.gz -> ${PN}-rtmidi-${RTMIDI_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/facebook/zstd/archive/${ZSTD_COMMIT}.tar.gz -> ${PN}-zstd-${ZSTD_COMMIT}.tar.gz
+ https://github.com/nothings/stb/archive/${STB_COMMIT}.tar.gz -> ${PN}-stb-${STB_COMMIT}.tar.gz
+ https://github.com/RPCS3/yaml-cpp/archive/${YAMLCPP_COMMIT}.tar.gz -> ${PN}-yaml-cpp-${SOUNDTOUCH_COMMIT}-.tar.gz
+ https://github.com/kcat/openal-soft/archive/${OPENAL_COMMIT}.tar.gz -> ${PN}-openal-${OPENAL_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
+ "
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="discord faudio +llvm opencv vulkan wayland"
+
+DEPEND="
+ app-arch/p7zip
+ dev-libs/flatbuffers
+ dev-libs/hidapi
+ dev-libs/libevdev
+ dev-libs/pugixml
+ 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-video/ffmpeg:=
+ net-misc/curl
+ llvm-core/llvm:=
+ sys-libs/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/*"
+
+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/miniupnp/miniupnp" || die
+ mv "${WORKDIR}/miniupnp-${MINIUPNP_COMMIT}" "${S}/3rdparty/miniupnp/miniupnp" || die
+
+ rmdir "${S}/3rdparty/rtmidi/rtmidi" || die
+ mv "${WORKDIR}/rtmidi-${RTMIDI_COMMIT}" "${S}/3rdparty/rtmidi/rtmidi" || 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/zstd/zstd" || die
+ mv "${WORKDIR}/zstd-${ZSTD_COMMIT}" "${S}/3rdparty/zstd/zstd" || die
+
+ rmdir "${S}/3rdparty/stblib/stb" || die
+ mv "${WORKDIR}/stb-${STB_COMMIT}" "${S}/3rdparty/stblib/stb" || 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/OpenAL/openal-soft" || die
+ mv "${WORKDIR}/openal-soft-${OPENAL_COMMIT}" "${S}/3rdparty/OpenAL/openal-soft" || die
+
+ rmdir "${S}/3rdparty/GPUOpen/VulkanMemoryAllocator" || die
+ mv "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" \
+ "${S}/3rdparty/GPUOpen/VulkanMemoryAllocator" || 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_FOUND ccache)/d' CMakeLists.txt || die
+
+ # Unbundle hidapi
+ sed -i -e '/hidapi\.h/{s:<:/>/}' rpcs3/Input/hid_pad_handler.h || die
+ sed -i -e '/hidapi/d' 3rdparty/CMakeLists.txt || die
+ sed -i -e '1afind_package(PkgConfig REQUIRED)\npkg_check_modules(hidapi-hidraw REQUIRED hidapi-hidraw)' \
+ rpcs3/CMakeLists.txt || die
+ sed -i -e 's/3rdparty::hidapi/hidapi-hidraw/' rpcs3/CMakeLists.txt rpcs3/rpcs3qt/CMakeLists.txt || die
+ sed -i -e 's/hid_write_control/hid_write/' \
+ rpcs3/Input/dualsense_pad_handler.cpp rpcs3/Input/ds4_pad_handler.cpp || die
+
+ # Unbundle cubeb
+ sed -i -e '/cubeb/d' 3rdparty/CMakeLists.txt || die
+ sed -i -e '$afind_package(cubeb)\n' CMakeLists.txt || die
+ sed -i -e 's/3rdparty::cubeb/cubeb/' rpcs3/Emu/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
+
+ # Fix build with GCC 15
+ # https://github.com/KhronosGroup/glslang/commit/e40c14a3e007fac0e4f2e4164fdf14d1712355bd
+ sed -i '//a#include ' 3rdparty/glslang/glslang/SPIRV/SpvBuilder.h || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ filter-lto
+
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=OFF # to remove after unbundling
+ -DUSE_PRECOMPILED_HEADERS=ON
+ -DUSE_SYSTEM_CURL=ON
+ -DUSE_SYSTEM_FFMPEG=ON
+ -DUSE_SYSTEM_FLATBUFFERS=ON
+ -DUSE_SYSTEM_LIBPNG=ON
+ -DUSE_SYSTEM_LIBUSB=ON
+ -DUSE_SYSTEM_PUGIXML=ON
+ -DUSE_SYSTEM_ZLIB=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
+}
diff --git a/games-emulation/rpcs3/rpcs3-9999.ebuild b/games-emulation/rpcs3/rpcs3-9999.ebuild
index 223fdac703..bf9bf20e32 100644
--- a/games-emulation/rpcs3/rpcs3-9999.ebuild
+++ b/games-emulation/rpcs3/rpcs3-9999.ebuild
@@ -6,12 +6,17 @@ EAPI=8
inherit cmake flag-o-matic xdg
ASMJIT_COMMIT="416f7356967c1f66784dc1580fe157f9406d8bff"
-GLSLANG_COMMIT="36d08c0d940cf307a23928299ef52c7970d8cee6"
-MINIUPNP_COMMIT="f22a96b4697699d32fdc2d17c5d0ad7880a99c24"
+GLSLANG_COMMIT="fc9889c889561c5882e83819dcaffef5ed45529b"
+MINIUPNP_COMMIT="d66872e34d9ff83a07f8b71371b13419b2089953"
RTMIDI_COMMIT="1e5b49925aa60065db52de44c366d446a902547b"
-WOLFSSL_COMMIT="8970ff4c34034dbb3594943d11f8c9d4c5512bd5"
-SOUNDTOUCH_COMMIT="ced3ce8d5ecc5aef8a5156fea206a37b33774bf3"
+WOLFSSL_COMMIT="b077c81eb635392e694ccedbab8b644297ec0285"
+SOUNDTOUCH_COMMIT="3982730833b6daefe77dcfb32b5c282851640c17"
+ZSTD_COMMIT="f8745da6ff1ad1e7bab384bd1f9d742439278e99"
+STB_COMMIT="013ac3beddff3dbffafd5177e7972067cd2b5083"
YAMLCPP_COMMIT="456c68f452da09d8ca84b375faa2b1397713eaba"
+OPENAL_COMMIT="dc7d7054a5b4f3bec1dc23a42fd616a0847af948"
+FUSION_COMMIT="066d4a63b2c714b20b0a8073a01fda7c5c6763f6"
+VULKANMEMORYALLOCATOR_COMMIT="6ec8481c8a13db586d7b3ba58f4eb9bbf017edf0"
DESCRIPTION="PS3 emulator/debugger"
HOMEPAGE="https://rpcs3.net/"
@@ -33,8 +38,15 @@ else
https://github.com/miniupnp/miniupnp/archive/${MINIUPNP_COMMIT}.tar.gz -> ${PN}-miniupnp-${MINIUPNP_COMMIT}.tar.gz
https://github.com/thestk/rtmidi/archive/${RTMIDI_COMMIT}.tar.gz -> ${PN}-rtmidi-${RTMIDI_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/soundtouch/archive/${SOUNDTOUCH_COMMIT}.tar.gz
+ -> ${PN}-soundtouch-${SOUNDTOUCH_COMMIT}.tar.gz
+ https://github.com/facebook/zstd/archive/${ZSTD_COMMIT}.tar.gz -> ${PN}-zstd-${ZSTD_COMMIT}.tar.gz
+ https://github.com/nothings/stb/archive/${STB_COMMIT}.tar.gz -> ${PN}-stb-${STB_COMMIT}.tar.gz
https://github.com/RPCS3/yaml-cpp/archive/${YAMLCPP_COMMIT}.tar.gz -> ${PN}-yaml-cpp-${SOUNDTOUCH_COMMIT}-.tar.gz
+ https://github.com/kcat/openal-soft/archive/${OPENAL_COMMIT}.tar.gz -> ${PN}-openal-${OPENAL_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
"
KEYWORDS="~amd64"
fi
@@ -94,8 +106,24 @@ src_prepare() {
rmdir "${S}/3rdparty/SoundTouch/soundtouch" || die
mv "${WORKDIR}/soundtouch-${SOUNDTOUCH_COMMIT}" "${S}/3rdparty/SoundTouch/soundtouch" || die
+ rmdir "${S}/3rdparty/zstd/zstd" || die
+ mv "${WORKDIR}/zstd-${ZSTD_COMMIT}" "${S}/3rdparty/zstd/zstd" || die
+
+ rmdir "${S}/3rdparty/stblib/stb" || die
+ mv "${WORKDIR}/stb-${STB_COMMIT}" "${S}/3rdparty/stblib/stb" || die
+
rmdir "${S}/3rdparty/yaml-cpp/yaml-cpp" || die
- mv "${WORKDIR}/yaml-cpp-${YAMLCPP_COMMIT}" "${S}/3rdparty/SoundTouch/soundtouch" || 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/OpenAL/openal-soft" || die
+ mv "${WORKDIR}/openal-soft-${OPENAL_COMMIT}" "${S}/3rdparty/OpenAL/openal-soft" || die
+
+ rmdir "${S}/3rdparty/GPUOpen/VulkanMemoryAllocator" || die
+ mv "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" \
+ "${S}/3rdparty/GPUOpen/VulkanMemoryAllocator" || die
#Define RPCS3 Version
{ echo "#define RPCS3_GIT_VERSION \"${PV}\""