From bff543bb632933380da922cbfc07c67157d72d42 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 23 Jun 2024 00:11:31 +0100 Subject: gentoo auto-resync : 23:06:2024 - 00:11:30 --- games-emulation/pcsx2/Manifest | 9 +- .../files/pcsx2-1.7.5700-vanilla-shaderc.patch | 18 --- games-emulation/pcsx2/pcsx2-1.7.5624.ebuild | 161 ------------------- games-emulation/pcsx2/pcsx2-1.7.5724.ebuild | 167 -------------------- games-emulation/pcsx2/pcsx2-1.7.5913.ebuild | 173 +++++++++++++++++++++ games-emulation/pcsx2/pcsx2-9999.ebuild | 7 +- 6 files changed, 180 insertions(+), 355 deletions(-) delete mode 100644 games-emulation/pcsx2/files/pcsx2-1.7.5700-vanilla-shaderc.patch delete mode 100644 games-emulation/pcsx2/pcsx2-1.7.5624.ebuild delete mode 100644 games-emulation/pcsx2/pcsx2-1.7.5724.ebuild create mode 100644 games-emulation/pcsx2/pcsx2-1.7.5913.ebuild (limited to 'games-emulation/pcsx2') diff --git a/games-emulation/pcsx2/Manifest b/games-emulation/pcsx2/Manifest index 4e5c791bd23f..2e9819178916 100644 --- a/games-emulation/pcsx2/Manifest +++ b/games-emulation/pcsx2/Manifest @@ -1,13 +1,10 @@ AUX pcsx2-1.7.4667-flags.patch 333 BLAKE2B 4c986ba4909c7289362665c95806bb07306007edbb001fc44cab21d3c4356a46a1104fc77de9d7fbf4dd76147fd2e3e8695ff4abf6e984dbda1a832e610c1126 SHA512 35ae6f69f4c7ef0bac86b231e75438cf24f8c50cb72f03b4540164c87ced0a3c167cb911cd5d7949f9fad41895fe97fc775ff8f179601d73597d967c79029e83 AUX pcsx2-1.7.5232-cubeb-automagic.patch 774 BLAKE2B a932e49643df613710c27c8f0881c6e2b9c2d90964ff7f88b48b3ec5ad281bbd152fbede638accc054ea5935401ef240ed0bf8107fe1c10997242ea546b93699 SHA512 5985f08a2acce8ccbe946a7c5bd85b2388ad7166b0243a7e698c96990a3856660c1f353bc74a9ced0e5ff08f10e27922e05eb77fabff1e797166b7d6a4c445a7 -AUX pcsx2-1.7.5700-vanilla-shaderc.patch 751 BLAKE2B d7dde7c368c2231b2876d1e42ae1306f413bcc795a15514e3cbe15bedccc667a60d9ac09b8559ee48513fb144732937bc69e5d722523fb6a3353adebd7ae8464 SHA512 975d490772a7552f748afbc37fddb7acbd3b33e58799b0b4527b24b6d7335436739e8c544a1eee4c73240029a5bd691e318e953c1d9a33e0630061d69a038837 AUX pcsx2-1.7.5835-vanilla-shaderc.patch 2637 BLAKE2B 87a0774d44ad6d9b8f5219fbb2c36f4156bbefdeb172b6cca5ac6d310ab569e1687202b97b3056220fd0d5cacd0da1dbb11dcd6912b7d53850fbd0e419d13485 SHA512 1d624fae87b92c509404b0a27218a82163568350f223dbd2d9a2021d5207b923bdf9f7e13d5c6efd89aaea6eeb021ee825dce9be0a389ba0b5ee2adfa4a48c16 AUX pcsx2-1.7.5855-no-libbacktrace.patch 955 BLAKE2B 035da91a0a64e9960846cd8d12bf649e4c536def15ca47e8a176294fbf389550f25ebb27e8ce55d9777390c1311b3b803410f57c19980dd677ef4c7e0f8d5d40 SHA512 a68d9d09dee53abcf5abe5b6eea3d7a5871d2f43eb6f684ad73f699c7930a8e89b8dc61df96f1f7a030ad90014b29b19080c6e2dc189efca67123b8509d2a04a -DIST pcsx2-1.7.5624.tar.xz 18073460 BLAKE2B 3068190f979cb5d04c7e8bd89cbab2953bff90c90c0b1fa5e8c1e0ca50eef8b557110c14a61b6f9b9bf5262e5c5151ff0a0a017fed65b63b62d86fd80fd69cdd SHA512 60720289a0994d82d57961be257a89ac12055eefc31fdc0b1f08e4918be4e76a907884c0541c71ea3091467b7c293177dd53445811c1b68037852dfd3e1589f6 -DIST pcsx2-1.7.5724.tar.xz 11429708 BLAKE2B 773dddc2b754ec5eddccad6e520846811299aac9cddf7b5ab77cca13c330f457f2b1d045d5f0f804a70d7fd3e498b6aab62b32e0a58536afd6805785055c81c4 SHA512 1589a0f3087cbb7c57e648f7afc7f1a22edef2601bab10dec2928b31d77d81780f11916f5a56f353d4a1063ea7e01e6ddab8df9e4982424eb7cf14b3bcfe2e3d DIST pcsx2-1.7.5835.tar.xz 11565084 BLAKE2B 537aa890b668a1bed471f3677de1fee99f33fda41943dc4e7a11f8a85d2cbe831bfcd0040319643d370e90f31974272ee8ec4e17e3b6ec5d170d5750d38d707f SHA512 7e0541e5d0433a59047dfd15af3c3d90c61f61a416510cce14b89d5b641c45d7deae1a084ebd9e8b36f1768e714e3b480f1b28801e0f818b0290d7d06d384bc7 -EBUILD pcsx2-1.7.5624.ebuild 4444 BLAKE2B 3602c1506b01d5fc22680968361fc3851d5495f22e0f6669023269d216ac8da017188afc93354cacfcb19b82f58e89bdb31e40d2ff13831930e4431cb3e01068 SHA512 4e03cfa18b447568e0af437763ce03701414270eabd330e9711a736c6470ed51737e4808754ee8dbb9bcc0f1934cae542fb44164083926ea774c8c7350f14594 -EBUILD pcsx2-1.7.5724.ebuild 4658 BLAKE2B 0d2fc97197fda74d235b9f653992f0a56ae300510e71b20ddfbc641af68d94c44b25fc3a4abebe7169eb439fd050801137c5f8b7f9a5026279a55bb9d740b3c5 SHA512 f83dcae5a4c7a1699283abef12948ecada3fca29567a58b233384dfa12d870e3b15430a3605d08fcf4ce8cd83df1269da03dc0206d85bc6fbb1c9ce6241838d5 +DIST pcsx2-1.7.5913.tar.gz 15669443 BLAKE2B 1b1e353b544791fb52d9e181e66fcdf0bc7039878a80279b855d05fdab4f1010f45db685d4ab6ae141f497cd72a6e007f583725345a9ef1c9a6d69dc46a77547 SHA512 a8c2e6879527d4864de97ece74aefcbe34093c169a19aafe7558aef872a449be5209209f800ca71b4d259689583f10188b8385439b769688910dc5c3b291c408 EBUILD pcsx2-1.7.5835.ebuild 4933 BLAKE2B d5de2b4a3e18555f770c07cc2a524f329b03b8d94b6b84f4d9ff32df70e5b6137efd9080525e0526646e654902ca2edfd4b9cbb231aa2e25052ab0096b08d6be SHA512 41dc132c89261814a4457167afece381dc5484c4e5de5cbc12d214078fd834ddde920217f1ebc1b3ec0312f3320d07a42850d89e2b88a1b577398d60026c4b2d -EBUILD pcsx2-9999.ebuild 4865 BLAKE2B df7e10e0cb8bd967bc0f2f6cb9f3ca300b3db3eaf0e0e772f790f02d820a3be516ad16ce3a8e5fa4678ce164ceef3c0f71f6fb85ff9c043baea8e39639245c55 SHA512 d87897b2932d6d6a89af0573e0a7544ce5d54e5eeeba6d7e0e094ff4c27bc1c499a0100474227fce98197ffe36524b9e55438df11749c50c63ee32b7f6d7e41d +EBUILD pcsx2-1.7.5913.ebuild 4758 BLAKE2B fe6b018559c92e102a0eb2fcd8eb61b2daba4af8e8ad53c170616d5e02d081b1fda0f5aaa65c6b170239c06388d1c1d08b0d2b5be17226e865b910fc7dc3b0a2 SHA512 b663c9de55f1ca83a4d8271e5b7fb45271f3e8d28ae20bd8c54fac36a29455d3d80bc0c98ab7815c736dea44d60fe8df949b2a00a1c8580e0745d41b63310f88 +EBUILD pcsx2-9999.ebuild 4758 BLAKE2B fe6b018559c92e102a0eb2fcd8eb61b2daba4af8e8ad53c170616d5e02d081b1fda0f5aaa65c6b170239c06388d1c1d08b0d2b5be17226e865b910fc7dc3b0a2 SHA512 b663c9de55f1ca83a4d8271e5b7fb45271f3e8d28ae20bd8c54fac36a29455d3d80bc0c98ab7815c736dea44d60fe8df949b2a00a1c8580e0745d41b63310f88 MISC metadata.xml 926 BLAKE2B 0076f5137c48d1d000eeff8f82457dfbf01c02928cc2a97479fcdef1eb71ce79c444ece7db8cc949e9c1f143b46623cae5992b51c27be87cf8bbe2bea254a499 SHA512 9e23b0c991418f8c8331795477ece481e0d8a78f4da06db03738cfa303555b80f1bc772f9d521674574fb500cf742b1c5193a0b6084b34f8b16c1cd2f1d33332 diff --git a/games-emulation/pcsx2/files/pcsx2-1.7.5700-vanilla-shaderc.patch b/games-emulation/pcsx2/files/pcsx2-1.7.5700-vanilla-shaderc.patch deleted file mode 100644 index aa447b30b6fc..000000000000 --- a/games-emulation/pcsx2/files/pcsx2-1.7.5700-vanilla-shaderc.patch +++ /dev/null @@ -1,18 +0,0 @@ -This does not exist in normal shaderc and was modified[1] by PCSX2 -for use in their CI/appimage making it impossible to use system's -(despite they do not bundle it). So not much choices but to remove -usage. - -Partial (for simplification) revert of [2], hopefully temporary. - -[1] https://github.com/PCSX2/pcsx2/commit/1cd4ba269854646 -[2] https://github.com/PCSX2/pcsx2/commit/fbfdf1200d27260 ---- a/pcsx2/GS/Renderers/Vulkan/VKShaderCache.cpp -+++ b/pcsx2/GS/Renderers/Vulkan/VKShaderCache.cpp -@@ -113,6 +113,4 @@ - { - options.SetGenerateDebugInfo(); -- if (GSDeviceVK::GetInstance()->GetOptionalExtensions().vk_khr_shader_non_semantic_info) -- options.SetEmitNonSemanticDebugInfo(); - - options.SetOptimizationLevel(shaderc_optimization_level_zero); diff --git a/games-emulation/pcsx2/pcsx2-1.7.5624.ebuild b/games-emulation/pcsx2/pcsx2-1.7.5624.ebuild deleted file mode 100644 index b53145e648db..000000000000 --- a/games-emulation/pcsx2/pcsx2-1.7.5624.ebuild +++ /dev/null @@ -1,161 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake desktop fcaps flag-o-matic toolchain-funcs - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/PCSX2/pcsx2.git" -else - # unbundling on this package has become unmaintainable and, rather than - # handle submodules separately, using a tarball that includes them - SRC_URI="https://dev.gentoo.org/~ionen/distfiles/${P}.tar.xz" - KEYWORDS="-* amd64" -fi - -DESCRIPTION="PlayStation 2 emulator" -HOMEPAGE="https://pcsx2.net/" - -LICENSE=" - GPL-3+ Apache-2.0 BSD BSD-2 BSD-4 Boost-1.0 CC0-1.0 GPL-2+ - ISC LGPL-2.1+ LGPL-3+ MIT OFL-1.1 ZLIB public-domain -" -SLOT="0" -IUSE="alsa cpu_flags_x86_sse4_1 +clang jack pulseaudio sndio test vulkan wayland" -REQUIRED_USE="cpu_flags_x86_sse4_1" # dies at runtime if no support -RESTRICT="!test? ( test )" - -# dlopen: qtsvg, vulkan-loader, wayland -COMMON_DEPEND=" - app-arch/lz4:= - app-arch/xz-utils - app-arch/zstd:= - dev-libs/libaio - dev-qt/qtbase:6[concurrent,gui,widgets] - dev-qt/qtsvg:6 - media-libs/libglvnd[X] - media-libs/libpng:= - media-libs/libsdl2[haptic,joystick] - media-libs/libwebp:= - media-video/ffmpeg:= - net-libs/libpcap - net-misc/curl - sys-apps/dbus - sys-libs/zlib:= - virtual/libudev:= - x11-libs/libXrandr - alsa? ( media-libs/alsa-lib ) - jack? ( virtual/jack ) - pulseaudio? ( media-libs/libpulse ) - sndio? ( media-sound/sndio:= ) - vulkan? ( media-libs/vulkan-loader ) - wayland? ( dev-libs/wayland ) -" -# patches is a optfeature but always pull given PCSX2 complaints if it -# is missing and it is fairly small (installs a ~1.5MB patches.zip) -RDEPEND=" - ${COMMON_DEPEND} - >=games-emulation/pcsx2_patches-0_p20230917 -" -DEPEND=" - ${COMMON_DEPEND} - x11-base/xorg-proto -" -BDEPEND=" - dev-qt/qttools:6[linguist] - clang? ( sys-devel/clang:* ) - wayland? ( - dev-util/wayland-scanner - kde-frameworks/extra-cmake-modules - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.7.4667-flags.patch - "${FILESDIR}"/${PN}-1.7.5232-cubeb-automagic.patch -) - -src_prepare() { - cmake_src_prepare - - if [[ ${PV} != 9999 ]]; then - sed -e '/set(PCSX2_GIT_TAG "")/s/""/"v'${PV}'"/' \ - -i cmake/Pcsx2Utils.cmake || die - fi - - # relax Qt6 and SDL2 version requirements which often get restricted - # without a specific need, please report a bug to Gentoo (not upstream) - # if a still-available older version is really causing issues - sed -e '/find_package(\(Qt6\|SDL2\)/s/ [0-9.]*//' \ - -i cmake/SearchForStuff.cmake || die -} - -src_configure() { - # note that upstream only supports clang and ignores gcc issues, e.g. - # https://github.com/PCSX2/pcsx2/issues/10624#issuecomment-1890326047 - # (CMakeLists.txt also gives a big warning if compiler is not clang) - if use clang && ! tc-is-clang; then - local -x CC=${CHOST}-clang CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - # for bundled old glslang (bug #858374) - use vulkan && append-flags -fno-strict-aliasing - - local mycmakeargs=( - -DBUILD_SHARED_LIBS=no - -DDISABLE_ADVANCE_SIMD=yes - -DENABLE_TESTS=$(usex test) - -DUSE_LINKED_FFMPEG=yes - -DUSE_VTUNE=no - -DUSE_VULKAN=$(usex vulkan) - -DWAYLAND_API=$(usex wayland) - -DX11_API=yes # X libs are currently hard-required either way - - # not packaged due to bug #885471, but still disable for no automagic - -DCMAKE_DISABLE_FIND_PACKAGE_Libbacktrace=yes - - # bundled cubeb flags, see media-libs/cubeb and cubeb-automagic.patch - -DCHECK_ALSA=$(usex alsa) - -DCHECK_JACK=$(usex jack) - -DCHECK_PULSE=$(usex pulseaudio) - -DCHECK_SNDIO=$(usex sndio) - -DLAZY_LOAD_LIBS=no - ) - - cmake_src_configure -} - -src_test() { - cmake_build unittests -} - -src_install() { - insinto /usr/lib/${PN} - doins -r "${BUILD_DIR}"/bin/. - - fperms +x /usr/lib/${PN}/pcsx2-qt - dosym -r /usr/lib/${PN}/pcsx2-qt /usr/bin/${PN} - - newicon bin/resources/icons/AppIconLarge.png ${PN}.png - make_desktop_entry ${PN} ${PN^^} - - dodoc README.md bin/docs/{Debugger.pdf,GameIndex.pdf,debugger.txt} - - use !test || rm "${ED}"/usr/lib/${PN}/*_test || die -} - -pkg_postinst() { - fcaps -m 0755 cap_net_admin,cap_net_raw=eip usr/lib/${PN}/pcsx2-qt - - if [[ ${REPLACING_VERSIONS##* } ]] && - ver_test ${REPLACING_VERSIONS##* } -lt 1.7; then - elog ">=${PN}-1.7 has received several changes since <=${PN}-1.6.0, and is" - elog "notably now a 64bit build using Qt6. Just-in-case it is recommended" - elog "to backup configs, save states, and memory cards before using." - elog - elog "The executable was also renamed from 'PCSX2' to 'pcsx2'." - fi -} diff --git a/games-emulation/pcsx2/pcsx2-1.7.5724.ebuild b/games-emulation/pcsx2/pcsx2-1.7.5724.ebuild deleted file mode 100644 index 1bf5c7c73e38..000000000000 --- a/games-emulation/pcsx2/pcsx2-1.7.5724.ebuild +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake desktop fcaps flag-o-matic optfeature toolchain-funcs - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/PCSX2/pcsx2.git" -else - # unbundling on this package has become unmaintainable and, rather than - # handle submodules separately, using a tarball that includes them - SRC_URI="https://dev.gentoo.org/~ionen/distfiles/${P}.tar.xz" - KEYWORDS="-* amd64" -fi - -DESCRIPTION="PlayStation 2 emulator" -HOMEPAGE="https://pcsx2.net/" - -LICENSE=" - GPL-3+ Apache-2.0 BSD BSD-2 BSD-4 Boost-1.0 CC0-1.0 GPL-2+ - ISC LGPL-2.1+ LGPL-3+ MIT OFL-1.1 ZLIB public-domain -" -SLOT="0" -IUSE="alsa cpu_flags_x86_sse4_1 +clang jack pulseaudio sndio test vulkan wayland" -REQUIRED_USE="cpu_flags_x86_sse4_1" # dies at runtime if no support -RESTRICT="!test? ( test )" - -# dlopen: libglvnd, qtsvg, vulkan-loader, wayland -COMMON_DEPEND=" - app-arch/lz4:= - app-arch/zstd:= - dev-libs/libaio - dev-qt/qtbase:6[concurrent,gui,widgets] - dev-qt/qtsvg:6 - media-libs/freetype - media-libs/libglvnd[X] - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/libsdl2[haptic,joystick] - media-libs/libwebp:= - media-video/ffmpeg:= - net-libs/libpcap - net-misc/curl - sys-apps/dbus - sys-libs/zlib:= - virtual/libudev:= - x11-libs/libXrandr - alsa? ( media-libs/alsa-lib ) - jack? ( virtual/jack ) - pulseaudio? ( media-libs/libpulse ) - sndio? ( media-sound/sndio:= ) - vulkan? ( - media-libs/shaderc - media-libs/vulkan-loader - ) - wayland? ( dev-libs/wayland ) -" -# patches is a optfeature but always pull given PCSX2 complaints if it -# is missing and it is fairly small (installs a ~1.5MB patches.zip) -RDEPEND=" - ${COMMON_DEPEND} - >=games-emulation/pcsx2_patches-0_p20230917 -" -DEPEND=" - ${COMMON_DEPEND} - x11-base/xorg-proto -" -BDEPEND=" - dev-qt/qttools:6[linguist] - clang? ( sys-devel/clang:* ) - wayland? ( - dev-util/wayland-scanner - kde-frameworks/extra-cmake-modules - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.7.4667-flags.patch - "${FILESDIR}"/${PN}-1.7.5232-cubeb-automagic.patch - "${FILESDIR}"/${PN}-1.7.5700-vanilla-shaderc.patch -) - -src_prepare() { - cmake_src_prepare - - if [[ ${PV} != 9999 ]]; then - sed -e '/set(PCSX2_GIT_TAG "")/s/""/"v'${PV}'"/' \ - -i cmake/Pcsx2Utils.cmake || die - fi - - # relax Qt6 and SDL2 version requirements which often get restricted - # without a specific need, please report a bug to Gentoo (not upstream) - # if a still-available older version is really causing issues - sed -e '/find_package(\(Qt6\|SDL2\)/s/ [0-9.]*//' \ - -i cmake/SearchForStuff.cmake || die -} - -src_configure() { - # note that upstream only supports clang and ignores gcc issues, e.g. - # https://github.com/PCSX2/pcsx2/issues/10624#issuecomment-1890326047 - # (CMakeLists.txt also gives a big warning if compiler is not clang) - if use clang && ! tc-is-clang; then - local -x CC=${CHOST}-clang CXX=${CHOST}-clang++ - strip-unsupported-flags - fi - - local mycmakeargs=( - -DBUILD_SHARED_LIBS=no - -DDISABLE_ADVANCE_SIMD=yes - -DENABLE_TESTS=$(usex test) - -DUSE_LINKED_FFMPEG=yes - -DUSE_VTUNE=no - -DUSE_VULKAN=$(usex vulkan) - -DWAYLAND_API=$(usex wayland) - -DX11_API=yes # X libs are currently hard-required either way - - # not packaged due to bug #885471, but still disable for no automagic - -DCMAKE_DISABLE_FIND_PACKAGE_Libbacktrace=yes - - # bundled cubeb flags, see media-libs/cubeb and cubeb-automagic.patch - -DCHECK_ALSA=$(usex alsa) - -DCHECK_JACK=$(usex jack) - -DCHECK_PULSE=$(usex pulseaudio) - -DCHECK_SNDIO=$(usex sndio) - -DLAZY_LOAD_LIBS=no - ) - - cmake_src_configure -} - -src_test() { - cmake_build unittests -} - -src_install() { - insinto /usr/lib/${PN} - doins -r "${BUILD_DIR}"/bin/. - - fperms +x /usr/lib/${PN}/pcsx2-qt - dosym -r /usr/lib/${PN}/pcsx2-qt /usr/bin/${PN} - - newicon bin/resources/icons/AppIconLarge.png ${PN}.png - make_desktop_entry ${PN} ${PN^^} - - dodoc README.md bin/docs/{Debugger.pdf,GameIndex.pdf,debugger.txt} - - use !test || rm "${ED}"/usr/lib/${PN}/*_test || die -} - -pkg_postinst() { - fcaps -m 0755 cap_net_admin,cap_net_raw=eip usr/lib/${PN}/pcsx2-qt - - # calls aplay (or gst-play/launch-1.0 as fallback in next version) - # https://github.com/PCSX2/pcsx2/issues/11141 - optfeature "UI sound effects support" media-sound/alsa-utils - - if [[ ${REPLACING_VERSIONS##* } ]] && - ver_test ${REPLACING_VERSIONS##* } -lt 1.7; then - elog ">=${PN}-1.7 has received several changes since <=${PN}-1.6.0, and is" - elog "notably now a 64bit build using Qt6. Just-in-case it is recommended" - elog "to backup configs, save states, and memory cards before using." - elog - elog "The executable was also renamed from 'PCSX2' to 'pcsx2'." - fi -} diff --git a/games-emulation/pcsx2/pcsx2-1.7.5913.ebuild b/games-emulation/pcsx2/pcsx2-1.7.5913.ebuild new file mode 100644 index 000000000000..f8d4b9f5a3aa --- /dev/null +++ b/games-emulation/pcsx2/pcsx2-1.7.5913.ebuild @@ -0,0 +1,173 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake desktop fcaps flag-o-matic optfeature toolchain-funcs + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/PCSX2/pcsx2.git" +else + SRC_URI=" + https://github.com/PCSX2/pcsx2/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz + " + KEYWORDS="-* ~amd64" +fi + +DESCRIPTION="PlayStation 2 emulator" +HOMEPAGE="https://pcsx2.net/" + +LICENSE=" + GPL-3+ Apache-2.0 BSD BSD-2 BSD-4 Boost-1.0 CC0-1.0 GPL-2+ + ISC LGPL-2.1+ LGPL-3+ MIT OFL-1.1 ZLIB public-domain +" +SLOT="0" +IUSE="alsa cpu_flags_x86_sse4_1 +clang jack pulseaudio sndio test vulkan wayland" +REQUIRED_USE="cpu_flags_x86_sse4_1" # dies at runtime if no support +RESTRICT="!test? ( test )" + +# dlopen: libglvnd, qtsvg, shaderc, vulkan-loader, wayland +COMMON_DEPEND=" + app-arch/lz4:= + app-arch/zstd:= + dev-qt/qtbase:6[concurrent,gui,widgets] + dev-qt/qtsvg:6 + media-libs/freetype + media-libs/libglvnd[X] + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libsdl2[haptic,joystick] + media-libs/libwebp:= + media-video/ffmpeg:= + net-libs/libpcap + net-misc/curl + sys-apps/dbus + sys-libs/zlib:= + virtual/libudev:= + x11-libs/libXrandr + alsa? ( media-libs/alsa-lib ) + jack? ( virtual/jack ) + pulseaudio? ( media-libs/libpulse ) + sndio? ( media-sound/sndio:= ) + vulkan? ( + media-libs/shaderc + media-libs/vulkan-loader + ) + wayland? ( dev-libs/wayland ) +" +# patches is a optfeature but always pull given PCSX2 complaints if it +# is missing and it is fairly small (installs a ~1.5MB patches.zip) +RDEPEND=" + ${COMMON_DEPEND} + >=games-emulation/pcsx2_patches-0_p20230917 +" +DEPEND=" + ${COMMON_DEPEND} + x11-base/xorg-proto +" +BDEPEND=" + dev-qt/qttools:6[linguist] + clang? ( sys-devel/clang:* ) + wayland? ( + dev-util/wayland-scanner + kde-frameworks/extra-cmake-modules + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.7.4667-flags.patch + "${FILESDIR}"/${PN}-1.7.5232-cubeb-automagic.patch + "${FILESDIR}"/${PN}-1.7.5835-vanilla-shaderc.patch + "${FILESDIR}"/${PN}-1.7.5855-no-libbacktrace.patch +) + +src_prepare() { + cmake_src_prepare + + if [[ ${PV} != 9999 ]]; then + sed -e '/set(PCSX2_GIT_TAG "")/s/""/"v'${PV}'"/' \ + -i cmake/Pcsx2Utils.cmake || die + fi + + # relax Qt6 and SDL2 version requirements which often get restricted + # without a specific need, please report a bug to Gentoo (not upstream) + # if a still-available older version is really causing issues + sed -e '/find_package(\(Qt6\|SDL2\)/s/ [0-9.]*//' \ + -i cmake/SearchForStuff.cmake || die +} + +src_configure() { + # note that upstream only supports clang and ignores gcc issues, e.g. + # https://github.com/PCSX2/pcsx2/issues/10624#issuecomment-1890326047 + # (CMakeLists.txt also gives a big warning if compiler is not clang) + if use clang && ! tc-is-clang; then + local -x CC=${CHOST}-clang CXX=${CHOST}-clang++ + strip-unsupported-flags + fi + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=no + -DDISABLE_ADVANCE_SIMD=yes + -DENABLE_TESTS=$(usex test) + -DUSE_LINKED_FFMPEG=yes + -DUSE_VTUNE=no + -DUSE_VULKAN=$(usex vulkan) + + # note that upstream hardly support native wayland, may or may not work + # https://github.com/PCSX2/pcsx2/pull/10179 + -DWAYLAND_API=$(usex wayland) + # not optional given libX11 is hard-required either way and upstream + # seemingly has no intention to drop the requirement at the moment + # https://github.com/PCSX2/pcsx2/issues/11149 + -DX11_API=yes + + # bundled cubeb flags, see media-libs/cubeb and cubeb-automagic.patch + -DCHECK_ALSA=$(usex alsa) + -DCHECK_JACK=$(usex jack) + -DCHECK_PULSE=$(usex pulseaudio) + -DCHECK_SNDIO=$(usex sndio) + -DLAZY_LOAD_LIBS=no + ) + + cmake_src_configure +} + +src_test() { + cmake_build unittests +} + +src_install() { + insinto /usr/lib/${PN} + doins -r "${BUILD_DIR}"/bin/. + + fperms +x /usr/lib/${PN}/pcsx2-qt + dosym -r /usr/lib/${PN}/pcsx2-qt /usr/bin/${PN} + + newicon bin/resources/icons/AppIconLarge.png ${PN}.png + make_desktop_entry ${PN} ${PN^^} + + dodoc README.md bin/docs/{Debugger.pdf,GameIndex.pdf,debugger.txt} + + use !test || rm "${ED}"/usr/lib/${PN}/*_test || die +} + +pkg_postinst() { + fcaps -m 0755 cap_net_admin,cap_net_raw=eip usr/lib/${PN}/pcsx2-qt + + # calls aplay or gst-play/launch-1.0 as fallback + # https://github.com/PCSX2/pcsx2/issues/11141 + optfeature "UI sound effects support" \ + media-sound/alsa-utils \ + media-libs/gst-plugins-base:1.0 + + if [[ ${REPLACING_VERSIONS##* } ]] && + ver_test ${REPLACING_VERSIONS##* } -lt 1.7; then + elog ">=${PN}-1.7 has received several changes since <=${PN}-1.6.0, and is" + elog "notably now a 64bit build using Qt6. Just-in-case it is recommended" + elog "to backup configs, save states, and memory cards before using." + elog + elog "The executable was also renamed from 'PCSX2' to 'pcsx2'." + fi +} diff --git a/games-emulation/pcsx2/pcsx2-9999.ebuild b/games-emulation/pcsx2/pcsx2-9999.ebuild index 452519d49d92..f8d4b9f5a3aa 100644 --- a/games-emulation/pcsx2/pcsx2-9999.ebuild +++ b/games-emulation/pcsx2/pcsx2-9999.ebuild @@ -9,9 +9,10 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/PCSX2/pcsx2.git" else - # unbundling on this package has become unmaintainable and, rather than - # handle submodules separately, using a tarball that includes them - SRC_URI="https://dev.gentoo.org/~ionen/distfiles/${P}.tar.xz" + SRC_URI=" + https://github.com/PCSX2/pcsx2/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz + " KEYWORDS="-* ~amd64" fi -- cgit v1.2.3