commit: e94aae8fe0dc39882a76462cd83eae818673e887 Author: Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail <DOT> com> AuthorDate: Sun Apr 14 17:31:28 2024 +0000 Commit: Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail <DOT> com> CommitDate: Sun Apr 14 21:07:14 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=e94aae8f
games-emulation/rpcs3: fix compile error on llvm-18 * https://github.com/RPCS3/rpcs3/issues/15448 * and releases logic to ebuild * release 0.0.31 not added since it fails to compile on my system Signed-off-by: Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail.com> ...-0001-gui_pad_thread-add-missing-unistd-h.patch | 29 +++++++++ games-emulation/rpcs3/rpcs3-9999.ebuild | 69 ++++++++++++++++++++-- 2 files changed, 92 insertions(+), 6 deletions(-) diff --git a/games-emulation/rpcs3/files/rpcs3-0001-gui_pad_thread-add-missing-unistd-h.patch b/games-emulation/rpcs3/files/rpcs3-0001-gui_pad_thread-add-missing-unistd-h.patch new file mode 100644 index 0000000000..7bd67c06e3 --- /dev/null +++ b/games-emulation/rpcs3/files/rpcs3-0001-gui_pad_thread-add-missing-unistd-h.patch @@ -0,0 +1,29 @@ +From 5d3427acaad0084caee0051c846efe9a333e5428 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Gon=C3=A7alo=20Negrier=20Duarte?= + <gonegrier.dua...@gmail.com> +Date: Sun, 14 Apr 2024 17:58:50 +0100 +Subject: [PATCH] rpcs3-gui_pad_thread-add-missing-unistd-h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Gonçalo Negrier Duarte <gonegrier.dua...@gmail.com> +--- + rpcs3/Input/gui_pad_thread.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/rpcs3/Input/gui_pad_thread.cpp b/rpcs3/Input/gui_pad_thread.cpp +index 92fb23367..e3dbae518 100644 +--- a/rpcs3/Input/gui_pad_thread.cpp ++++ b/rpcs3/Input/gui_pad_thread.cpp +@@ -22,6 +22,7 @@ + #ifdef __linux__ + #include <linux/uinput.h> + #include <fcntl.h> ++#include <unistd.h> + #define CHECK_IOCTRL_RET(res) if (res == -1) { gui_log.error("gui_pad_thread: ioctl failed (errno=%d=%s)", res, strerror(errno)); } + #elif defined(__APPLE__) + #pragma GCC diagnostic push +-- +2.44.0 + diff --git a/games-emulation/rpcs3/rpcs3-9999.ebuild b/games-emulation/rpcs3/rpcs3-9999.ebuild index 7162b888ce..ec248dd211 100644 --- a/games-emulation/rpcs3/rpcs3-9999.ebuild +++ b/games-emulation/rpcs3/rpcs3-9999.ebuild @@ -3,15 +3,37 @@ EAPI=8 -inherit cmake flag-o-matic git-r3 xdg +inherit cmake flag-o-matic xdg + +ASMJIT_COMMIT="416f7356967c1f66784dc1580fe157f9406d8bff" +GLSLANG_COMMIT="36d08c0d940cf307a23928299ef52c7970d8cee6" +MINIUPNP_COMMIT="f22a96b4697699d32fdc2d17c5d0ad7880a99c24" +RTMIDI_COMMIT="1e5b49925aa60065db52de44c366d446a902547b" +WOLFSSL_COMMIT="8970ff4c34034dbb3594943d11f8c9d4c5512bd5" +SOUNDTOUCH_COMMIT="ced3ce8d5ecc5aef8a5156fea206a37b33774bf3" +YAMLCPP_COMMIT="456c68f452da09d8ca84b375faa2b1397713eaba" DESCRIPTION="PS3 emulator/debugger" HOMEPAGE="https://rpcs3.net/" -EGIT_REPO_URI="https://github.com/RPCS3/rpcs3" -EGIT_SUBMODULES=( 'asmjit' '3rdparty/glslang' '3rdparty/miniupnp/miniupnp' '3rdparty/rtmidi/rtmidi' '3rdparty/wolfssl' - '3rdparty/SoundTouch/soundtouch' ) -# Delete sources when ensuring yaml-cpp compiled with fexceptions -EGIT_SUBMODULES+=( '3rdparty/yaml-cpp' ) +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' ) + # 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-${SOUNDTOUCH_COMMIT}-.tar.gz + " + KEYWORDS="~amd64" +fi LICENSE="GPL-2" SLOT="0" @@ -46,7 +68,42 @@ RDEPEND="${DEPEND}" QA_PREBUILT="usr/share/rpcs3/test/.*" QA_WX_LOAD="usr/share/rpcs3/test/*" +PATCHES=( + "${FILESDIR}/${PN}-0001-gui_pad_thread-add-missing-unistd-h.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/SoundTouch/soundtouch" || 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