commit:     2ac8755a01f7ee322fecfe9870f5934c54c9902e
Author:     Takuya Wakazono <pastalian46 <AT> gmail <DOT> com>
AuthorDate: Thu Jan 11 09:23:09 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Thu Jan 11 09:33:11 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=2ac8755a

games-emulation/rpcs3: update live

Closes: https://bugs.gentoo.org/893430
Closes: https://bugs.gentoo.org/897760
Closes: https://bugs.gentoo.org/912983
Signed-off-by: Takuya Wakazono <pastalian46 <AT> gmail.com>

 games-emulation/rpcs3/rpcs3-9999.ebuild | 74 +++++++++++++++++----------------
 1 file changed, 38 insertions(+), 36 deletions(-)

diff --git a/games-emulation/rpcs3/rpcs3-9999.ebuild 
b/games-emulation/rpcs3/rpcs3-9999.ebuild
index 79dbf9f98b..e25d866035 100644
--- a/games-emulation/rpcs3/rpcs3-9999.ebuild
+++ b/games-emulation/rpcs3/rpcs3-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2022 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -8,60 +8,58 @@ inherit cmake flag-o-matic git-r3 xdg
 DESCRIPTION="PS3 emulator/debugger"
 HOMEPAGE="https://rpcs3.net/";
 EGIT_REPO_URI="https://github.com/RPCS3/rpcs3";
-EGIT_SUBMODULES=( 'asmjit' 'llvm' '3rdparty/flatbuffers' '3rdparty/wolfssl'
+EGIT_SUBMODULES=( 'asmjit' '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' )
 
 LICENSE="GPL-2"
 SLOT="0"
-KEYWORDS=""
+IUSE="alsa discord faudio +llvm pulseaudio vulkan wayland"
 
-DEPEND="alsa? ( media-libs/alsa-lib )
-       faudio? ( app-emulation/faudio )
-       pulseaudio? ( media-sound/pulseaudio )
+DEPEND="
        app-arch/p7zip
+       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/cubeb
        media-libs/glew
-       media-libs/libpng
+       media-libs/libglvnd
+       media-libs/libpng:=
        media-libs/openal
-       sys-libs/zlib"
-#      dev-cpp/yaml-cpp
+       media-video/ffmpeg:=
+       net-misc/curl
+       sys-devel/llvm:=
+       sys-libs/zlib
+       virtual/libusb:1
+       alsa? ( media-libs/alsa-lib )
+       faudio? ( app-emulation/faudio )
+       pulseaudio? ( media-libs/libpulse )
+       vulkan? ( media-libs/vulkan-loader )
+       wayland? ( dev-libs/wayland )
+"
 RDEPEND="${DEPEND}"
-BDEPEND=""
 
-IUSE="alsa discord faudio +llvm pulseaudio vulkan wayland"
-
-src_unpack() {
-       git clone https://github.com/intel/ittapi "${WORKDIR}"/ittapi
-       git-r3_src_unpack
-}
+QA_PREBUILT="usr/share/rpcs3/test/.*"
+QA_WX_LOAD="usr/share/rpcs3/test/*"
 
 src_prepare() {
-       append-cflags -DNDEBUG -Wno-error=stringop-truncation
-       append-cppflags -DNDEBUG -Wno-error=stringop-truncation
-
-       # Disable cache
-       sed -i -e '/find_program(CCACHE_FOUND/d' -e '/set(.*_FLAGS/d' \
-               CMakeLists.txt || die
+       # 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
-       sed -i -e '1afind_package(PkgConfig 
REQUIRED)\npkg_check_modules(hidapi-hidraw REQUIRED hidapi-hidraw)' 
rpcs3/CMakeLists.txt
+       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
-
-       # Move ittapi to the right place via cmake
-       local regex='/GIT_EXECUTABLE} clone/s!(.*!(COMMAND mv '
-       regex+="${WORKDIR}"
-       regex+='/ittapi \${ITTAPI_SOURCE_DIR}!'
-       sed -i -e "${regex}" \
-               llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt || die 
${regex}
+       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
@@ -86,23 +84,27 @@ src_prepare() {
 }
 
 src_configure() {
+       filter-lto
+
        local mycmakeargs=(
-               -DBUILD_LLVM_SUBMODULE=ON # ennoying really
                -DBUILD_SHARED_LIBS=OFF # to remove after unbundling
-               -DUSE_DISCORD_RPC=$(usex discord)
-               -DUSE_FAUDIO=$(usex faudio)
                -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_DISCORD_RPC=$(usex discord)
+               -DUSE_FAUDIO=$(usex faudio)
                -DUSE_VULKAN=$(usex vulkan)
                -DWITH_LLVM=$(usex llvm)
        )
        use faudio && mycmakeargs+=( -DUSE_SYSTEM_FAUDIO=$(usex faudio) )
-       CMAKE_BUILD_TYPE=RELEASE cmake_src_configure
+       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

Reply via email to