aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGonçalo Negrier Duarte <gonegrier.duarte@gmail.com>2024-04-14 18:31:28 +0100
committerGonçalo Negrier Duarte <gonegrier.duarte@gmail.com>2024-04-14 22:07:14 +0100
commite94aae8fe0dc39882a76462cd83eae818673e887 (patch)
tree52840d907e29c647126665816f6e7b712d3d97c7 /games-emulation
parentgames-puzzle/katawa-shoujo: new package - this game is native for Linux, no W... (diff)
downloadguru-e94aae8fe0dc39882a76462cd83eae818673e887.tar.gz
guru-e94aae8fe0dc39882a76462cd83eae818673e887.tar.bz2
guru-e94aae8fe0dc39882a76462cd83eae818673e887.zip
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@gmail.com>
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/rpcs3/files/rpcs3-0001-gui_pad_thread-add-missing-unistd-h.patch29
-rw-r--r--games-emulation/rpcs3/rpcs3-9999.ebuild69
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.duarte@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.duarte@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