mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-04-07 03:10:15 -04:00
games-emulation/rpcs3: add 0.0.34
Signed-off-by: Takuya Wakazono <pastalian46@gmail.com>
This commit is contained in:
8
games-emulation/rpcs3/Manifest
Normal file
8
games-emulation/rpcs3/Manifest
Normal file
@@ -0,0 +1,8 @@
|
||||
DIST rpcs3-0.0.34.tar.gz 7834256 BLAKE2B 62bfc4751e4f77bc20899222520a5b902b7bd263f6a0265e35189c85a8e4ce068dbe38c8b4cd7c61634b69f81c7aa2f7c2d9f894134149e4a9211841ab822102 SHA512 4cbe7d62fe86e51355d63a09ce64ec768ad236aebf4375dd410549339a5f244fb2cc30c89821b0e6f001bb31646432abd06a2b9947b8d589d5c5b73de24e6e9d
|
||||
DIST rpcs3-asmjit-416f7356967c1f66784dc1580fe157f9406d8bff.tar.gz 1152383 BLAKE2B 17b054083ce178255f19026d175986225f6f803a21e0cef4ce9a557ac50057578d3ae76d3b179fe25d0febd5e05d5d5feb28f9761045a8e41497b92a966196ec SHA512 2be4de27b2ed2212cf7b6ef9d40afac5c00f7a71df4e60208ea57258c01e56413cee439f84490d605f44a835522d1c1a55de898feccdd4429e907a9f82edd7cb
|
||||
DIST rpcs3-glslang-36d08c0d940cf307a23928299ef52c7970d8cee6.tar.gz 3769785 BLAKE2B 923bfada8484a3bb91dd92a242d7096017b77fd399a90052af121658221069215e277d51fb4b9b95821b9272e44618f91883c2dc49bfb671c52a941d54aec182 SHA512 184baa0bc22d5e79bf8424692b5c8bb51676ca20819551cf406a4fd898dd1ad5ca7296e26ce7b99878e627dcafc4cd435933dd939c91753c5050022052e1dbe5
|
||||
DIST rpcs3-miniupnp-7f189988a0decca0ab7da89000051ab91751f70d.tar.gz 462956 BLAKE2B da35be2f89c4aa19e4d956f2929184653c9dcafdd6f7fa8b463e23bb6b449bb4ad17ea526ea11eb1dae460ff26c4c45e219de6e93afaeb9fe9042e91ac7a64eb SHA512 7bc34491912099b26873f7942077156e267cf3860082299c6ebf42ca0d7cb8a0d8330b874fd37f00907b865bb08321e4d6d5d1b5bba581140d9dd0f07f9f1599
|
||||
DIST rpcs3-rtmidi-1e5b49925aa60065db52de44c366d446a902547b.tar.gz 515635 BLAKE2B 4a4809bd2c1f03b0ecda9a2583c84fb7f0a040f362bcd96f2639b062b8a5dbdb4da214f1f14d56664e59f0c964413db8f6d1722ece59c9a36629fb50d2b56c92 SHA512 c5f221cecbcee5085a75264b9c5f4eb4f8096d8f7425908678a3429f97fd4177d4f1781c5ef9f46093353878eabffc76b2f9af049ea4ba6dee05f1c7999f1b9f
|
||||
DIST rpcs3-soundtouch-394e1f58b23dc80599214d2e9b6a5e0dfd0bbe07.tar.gz 606942 BLAKE2B 208041ba68fc7b26d3fd800e1a26c79d8f011142fff1f6ea519d71972762299816eb10b3204a8bd4fe872bb19fe5639e5782db4e40333cb2073c7fb32153e6e7 SHA512 ef4a3300b6e80e4f540c3d1444b2604e6cb9bb72bd9648059706e1ad1aba015fdf9babecd9986910a2069ba44947e72e965ccc793f98598b6d6c140181585dfe
|
||||
DIST rpcs3-wolfssl-00e42151ca061463ba6a95adb2290f678cbca472.tar.gz 23602428 BLAKE2B 3e8dfe67c9401a32ae9cdea9f03ef929e6378e55af4edb5b26c4e8bd91e21ff91d5cae73bf858b4dfcc292ca0ac4ba667baf373e9f5d093e26ea6287dd677bee SHA512 79023c31489fa8ce3772e8042c47360be8ad29e29b7e7ae2dd397907e11acd64536d5446f52e9957194d054f959069521ffdc90faa820d09ba406a4ad8ae1440
|
||||
DIST rpcs3-yaml-cpp-456c68f452da09d8ca84b375faa2b1397713eaba.tar.gz 1019142 BLAKE2B 8c7b4e1c788a07c1092be813555b1774a713693dd995183671d60b1896f96e105631447cb8c69bbcb13c380388b632d38a2c59be19903bc259ae6b57a181612a SHA512 0d06856bacb6c3cb987299c650baffcb2647a4b9a53394a7ce5c75301b527574d41cb0dfe9bf2e997e04588786d5aa7232437472a2e5fec422e8aa56aba0ea14
|
||||
23
games-emulation/rpcs3/files/rpcs3-0.0.34-system-openal.patch
Normal file
23
games-emulation/rpcs3/files/rpcs3-0.0.34-system-openal.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
Unbundle openal.
|
||||
--- a/rpcs3/Emu/Cell/Modules/cellMic.h
|
||||
+++ b/rpcs3/Emu/Cell/Modules/cellMic.h
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "Utilities/Thread.h"
|
||||
#include "Emu/Cell/timers.hpp"
|
||||
|
||||
-#include "3rdparty/OpenAL/openal-soft/include/AL/alext.h"
|
||||
+#include <AL/alext.h>
|
||||
|
||||
// Error Codes
|
||||
enum CellMicInError : u32
|
||||
--- a/rpcs3/rpcs3qt/microphone_creator.cpp
|
||||
+++ b/rpcs3/rpcs3qt/microphone_creator.cpp
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "Utilities/StrFmt.h"
|
||||
#include "Utilities/StrUtil.h"
|
||||
|
||||
-#include "3rdparty/OpenAL/openal-soft/include/AL/alext.h"
|
||||
+#include <AL/alext.h>
|
||||
|
||||
LOG_CHANNEL(cfg_log, "CFG");
|
||||
|
||||
21
games-emulation/rpcs3/files/rpcs3-0.0.34-system-stb.patch
Normal file
21
games-emulation/rpcs3/files/rpcs3-0.0.34-system-stb.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
Unbundle stb.
|
||||
--- a/3rdparty/CMakeLists.txt
|
||||
+++ b/3rdparty/CMakeLists.txt
|
||||
@@ -129,7 +130,8 @@ 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)
|
||||
@@ -359,7 +360,6 @@ add_library(3rdparty::xxhash ALIAS xxhash)
|
||||
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})
|
||||
21
games-emulation/rpcs3/files/rpcs3-0.0.34-system-zstd.patch
Normal file
21
games-emulation/rpcs3/files/rpcs3-0.0.34-system-zstd.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
Unbundle zstd.
|
||||
--- a/3rdparty/CMakeLists.txt
|
||||
+++ b/3rdparty/CMakeLists.txt
|
||||
@@ -20,7 +20,8 @@ add_library(3rdparty_dummy_lib INTERFACE)
|
||||
add_subdirectory(zlib EXCLUDE_FROM_ALL)
|
||||
|
||||
# ZSTD
|
||||
-add_subdirectory(zstd EXCLUDE_FROM_ALL)
|
||||
+pkg_check_modules(zstd REQUIRED IMPORTED_TARGET GLOBAL libzstd)
|
||||
+add_library(3rdparty::zstd ALIAS PkgConfig::zstd)
|
||||
|
||||
# 7zip sdk
|
||||
add_subdirectory(7zip EXCLUDE_FROM_ALL)
|
||||
@@ -350,7 +351,6 @@ else()
|
||||
add_library(3rdparty::libusb ALIAS usb-1.0-static)
|
||||
endif()
|
||||
add_library(3rdparty::zlib ALIAS 3rdparty_zlib)
|
||||
-add_library(3rdparty::zstd ALIAS 3rdparty_zstd)
|
||||
add_library(3rdparty::7zip ALIAS 3rdparty_7zip)
|
||||
add_library(3rdparty::flatbuffers ALIAS 3rdparty_flatbuffers)
|
||||
add_library(3rdparty::pugixml ALIAS pugixml)
|
||||
@@ -12,4 +12,7 @@
|
||||
<flag name="opencv">Enable PS Move support</flag>
|
||||
<flag name="vulkan">Build vulkan renderer</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">RPCS3/rpcs3</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
||||
184
games-emulation/rpcs3/rpcs3-0.0.34.ebuild
Normal file
184
games-emulation/rpcs3/rpcs3-0.0.34.ebuild
Normal file
@@ -0,0 +1,184 @@
|
||||
# Copyright 2021-2025 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="36d08c0d940cf307a23928299ef52c7970d8cee6"
|
||||
MINIUPNP_COMMIT="7f189988a0decca0ab7da89000051ab91751f70d"
|
||||
RTMIDI_COMMIT="1e5b49925aa60065db52de44c366d446a902547b"
|
||||
WOLFSSL_COMMIT="00e42151ca061463ba6a95adb2290f678cbca472"
|
||||
SOUNDTOUCH_COMMIT="394e1f58b23dc80599214d2e9b6a5e0dfd0bbe07"
|
||||
YAMLCPP_COMMIT="456c68f452da09d8ca84b375faa2b1397713eaba"
|
||||
|
||||
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'
|
||||
)
|
||||
# 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/RPCS3/yaml-cpp/archive/${YAMLCPP_COMMIT}.tar.gz -> ${PN}-yaml-cpp-${YAMLCPP_COMMIT}.tar.gz
|
||||
"
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="discord faudio +llvm opencv wayland"
|
||||
|
||||
COMMON_DEPEND="
|
||||
app-arch/zstd
|
||||
dev-libs/flatbuffers
|
||||
dev-libs/hidapi
|
||||
dev-libs/libevdev
|
||||
dev-libs/pugixml
|
||||
dev-libs/xxhash
|
||||
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/vulkan-loader[wayland?]
|
||||
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 )
|
||||
wayland? ( dev-libs/wayland )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
DEPEND="
|
||||
${COMMON_DEPEND}
|
||||
dev-libs/stb
|
||||
"
|
||||
|
||||
QA_PREBUILT="usr/share/rpcs3/test/.*"
|
||||
QA_WX_LOAD="usr/share/rpcs3/test/*"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-system-openal.patch"
|
||||
"${FILESDIR}/${P}-system-stb.patch"
|
||||
"${FILESDIR}/${P}-system-zstd.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/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/yaml-cpp/yaml-cpp" || die
|
||||
mv "${WORKDIR}/yaml-cpp-${YAMLCPP_COMMIT}" "${S}/3rdparty/yaml-cpp/yaml-cpp" || 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:":<hidapi/:;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 '/<algorithm>/a#include <cstdint>' 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_XXHASH=ON
|
||||
-DUSE_SYSTEM_ZLIB=ON
|
||||
-DUSE_VULKAN=ON
|
||||
-DUSE_DISCORD_RPC=$(usex discord)
|
||||
-DUSE_FAUDIO=$(usex faudio)
|
||||
-DUSE_SYSTEM_OPENCV=$(usex opencv)
|
||||
-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
|
||||
}
|
||||
Reference in New Issue
Block a user