summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2023-08-27 00:35:04 -0400
committerIonen Wolkens <ionen@gentoo.org>2023-08-27 01:02:24 -0400
commita6344190b62e7ba9972dfc0d4beb135b6498d5ed (patch)
treec5f2e319dc0ac9a7a714bee739b1dc6b404be0ac /games-emulation
parentsys-kernel/gentoo-kernel-bin: Bump to 5.15.128 (diff)
downloadgentoo-a6344190b62e7ba9972dfc0d4beb135b6498d5ed.tar.gz
gentoo-a6344190b62e7ba9972dfc0d4beb135b6498d5ed.tar.bz2
gentoo-a6344190b62e7ba9972dfc0d4beb135b6498d5ed.zip
games-emulation/pcsx2: update live, give up unbundling
We already had to go out of our way to unbundle a few extras, but now upstream has removed all checks for alternatively using system libraries (that someone had sent a PR for to add before) and this is becoming too much of a pain to go against and very fragile. May possibly revisit when it does a non-nightly release. CMakeLists.txt set a very high lower bound on SDL2 for some reason, but well, it's packaged. Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/pcsx2/pcsx2-9999.ebuild99
1 files changed, 5 insertions, 94 deletions
diff --git a/games-emulation/pcsx2/pcsx2-9999.ebuild b/games-emulation/pcsx2/pcsx2-9999.ebuild
index f41481a3cf53..f2a78ab73686 100644
--- a/games-emulation/pcsx2/pcsx2-9999.ebuild
+++ b/games-emulation/pcsx2/pcsx2-9999.ebuild
@@ -9,26 +9,10 @@ if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/PCSX2/pcsx2.git"
else
- HASH_FASTFLOAT=32d21dcecb404514f94fb58660b8029a4673c2c1
- HASH_FMT=b6f4ceaed0a0a24ccf575fab6c56dd50ccf6f1a9
- HASH_RCHEEVOS=31f8788fe0e694e99db7ce138d45a655c556fa96
- HASH_GLSLANG=c9706bdda0ac22b9856f1aa8261e5b9e15cd20c5
- HASH_VULKAN=9f4c61a31435a7a90a314fc68aeb386c92a09c0f
- SRC_URI="
- https://github.com/PCSX2/pcsx2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
- https://github.com/fastfloat/fast_float/archive/${HASH_FASTFLOAT}.tar.gz
- -> ${PN}-fast_float-${HASH_FASTFLOAT::10}.tar.gz
- https://github.com/fmtlib/fmt/archive/${HASH_FMT}.tar.gz
- -> ${PN}-fmt-${HASH_FMT::10}.tar.gz
- https://github.com/RetroAchievements/rcheevos/archive/${HASH_RCHEEVOS}.tar.gz
- -> ${PN}-rcheevos-${HASH_RCHEEVOS::10}.tar.gz
- vulkan? (
- https://github.com/KhronosGroup/glslang/archive/${HASH_GLSLANG}.tar.gz
- -> ${PN}-glslang-${HASH_GLSLANG::10}.tar.gz
- https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz
- -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
- )
- "
+ # formerly was attempting to unbundle most, but upstream dropped every
+ # checks for alternatively using system's and keeping this up has become
+ # unmaintainable, and to simplify now also using tarballs with submodules
+ SRC_URI="https://dev.gentoo.org/~ionen/distfiles/${P}.tar.xz"
KEYWORDS="-* ~amd64"
fi
@@ -47,16 +31,12 @@ RESTRICT="!test? ( test )"
# dlopen: qtsvg, vulkan-loader, wayland
COMMON_DEPEND="
app-arch/xz-utils
- app-arch/zstd:=
- dev-cpp/rapidyaml:=
dev-libs/libaio
- dev-libs/libchdr
- dev-libs/libzip:=[zstd]
dev-qt/qtbase:6[gui,network,widgets]
dev-qt/qtsvg:6
media-libs/libglvnd
media-libs/libpng:=
- >=media-libs/libsdl2-2.0.22[haptic,joystick]
+ >=media-libs/libsdl2-2.28.2[haptic,joystick]
media-video/ffmpeg:=
net-libs/libpcap
net-misc/curl
@@ -80,7 +60,6 @@ RDEPEND="
DEPEND="
${COMMON_DEPEND}
x11-base/xorg-proto
- test? ( dev-cpp/gtest )
"
BDEPEND="
dev-qt/qttools:6[linguist]
@@ -98,59 +77,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.7.3468-cubeb-automagic.patch
"${FILESDIR}"/${PN}-1.7.3773-lto.patch
"${FILESDIR}"/${PN}-1.7.4667-flags.patch
- "${FILESDIR}"/${PN}-1.7.4667-system-chdr.patch
- "${FILESDIR}"/${PN}-1.7.4667-system-gtest.patch
- "${FILESDIR}"/${PN}-1.7.4795-rapidyaml-0.5.patch
- "${FILESDIR}"/${PN}-1.7.4943-system-libzip-zstd.patch
)
-src_unpack() {
- if [[ ${PV} == 9999 ]]; then
- local EGIT_SUBMODULES=(
- # libfmt is volatile and upstream is unlikely to make fixes for
- # latest system copy punctually (may revisit this eventually)
- 3rdparty/fmt/fmt
-
- # has no build system and is not really setup for unbundling
- 3rdparty/rcheevos/rcheevos
-
- # system rapidyaml is still used, but this uses another part
- # of the source directly (fast_float) and so allow the submodule
- # https://github.com/PCSX2/pcsx2/commit/af646e449
- 3rdparty/rapidyaml/rapidyaml
- 3rdparty/rapidyaml/rapidyaml/extern/c4core
- 3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext/fast_float
-
- # glslang can be troublesome to unbundle (bug #831217),
- # also keep vulkan-headers to stay in sync
- $(usev vulkan '
- 3rdparty/glslang/glslang
- 3rdparty/vulkan-headers
- ')
- )
-
- git-r3_src_unpack
- else
- default
-
- mkdir -p "${S}"/3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext || die
- mv fast_float-${HASH_FASTFLOAT} \
- "${S}"/3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext/fast_float || die
-
- rmdir "${S}"/3rdparty/fmt/fmt || die
- mv fmt-${HASH_FMT} "${S}"/3rdparty/fmt/fmt || die
-
- rmdir "${S}"/3rdparty/rcheevos/rcheevos || die
- mv rcheevos-${HASH_RCHEEVOS} "${S}"/3rdparty/rcheevos/rcheevos || die
-
- if use vulkan; then
- rmdir "${S}"/3rdparty/{glslang/glslang,vulkan-headers} || die
- mv glslang-${HASH_GLSLANG} "${S}"/3rdparty/glslang/glslang || die
- mv Vulkan-Headers-${HASH_VULKAN} "${S}"/3rdparty/vulkan-headers || die
- fi
- fi
-}
-
src_prepare() {
cmake_src_prepare
@@ -160,17 +88,6 @@ src_prepare() {
if [[ ${PV} != 9999 ]]; then
sed -e '/set(PCSX2_GIT_TAG "")/s/""/"v'${PV}-gentoo'"/' \
-i cmake/Pcsx2Utils.cmake || die
-
- # delete all 3rdparty/* except known-used ones in non-live
- local keep=(
- # TODO?: rapidjson and xbyak are packaged and could be unbundlable
- # w/ patch, and discord-rpc be optional w/ dependency on rapidjson
- cpuinfo cubeb demangler discord-rpc fmt glad imgui include jpgd
- lzma rapidjson rapidyaml rcheevos simpleini soundtouch xbyak zydis
- $(usev vulkan 'glslang vulkan-headers')
- )
- find 3rdparty -mindepth 1 -maxdepth 1 -type d \
- -not \( -false ${keep[*]/#/-o -name } \) -exec rm -r {} + || die
fi
}
@@ -195,12 +112,6 @@ src_configure() {
-DWAYLAND_API=$(usex wayland)
-DX11_API=yes # fails if X libs are missing even if disabled
- # note that the current upstream is somewhat hostile to using system
- # libs, system installs, or any modifications and may disregard any
- # bugs that is not reproducible with the appimage using bundled libs
- -DUSE_SYSTEM_LIBS=yes
- -DUSE_SYSTEM_FMT=no # volatile, keep bundled at least "for now"
-
# sse4.1 is the bare minimum required, -m is required at build time
# (see PCSX2Base.h) and it dies if no support at runtime (AppInit.cpp)
# https://github.com/PCSX2/pcsx2/pull/4329