Gentoo Archives: gentoo-commits

From: Ionen Wolkens <ionen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: games-emulation/pcsx2/files/, games-emulation/pcsx2/
Date: Fri, 23 Sep 2022 00:27:52
Message-Id: 1663892836.87f15c596ca134db6715ce4d3b4f543917e560cd.ionen@gentoo
1 commit: 87f15c596ca134db6715ce4d3b4f543917e560cd
2 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
3 AuthorDate: Thu Sep 22 22:58:27 2022 +0000
4 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
5 CommitDate: Fri Sep 23 00:27:16 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87f15c59
7
8 games-emulation/pcsx2: add 1.7.3329
9
10 Meant to do this for a while given 1.6.0 is getting very old and is
11 32bit-only (many users end up going with -9999 to handle this), but
12 upstream kept doing major changes making this perhaps too experimental.
13 Seems to have settled down a bit, so trying now.
14
15 Many changes, so please report if anything off.
16
17 For some notable changes from current -9999 ebuild:
18 - EAPI7->8
19 - add machinery to keep 1.7.x and -9999 ebuilds in sync
20 - switch to patches for unbundling, 9999 may break more often but
21 there will now be a known-working 1.7.x release to fallback on
22 - postinst elog to explain 1.7.x model a bit + warn
23 - update LICENSE to account for hopefully all files and 3rdparty/* use
24 - add IUSE=qt6 early support, doesn't support PACKAGE_MODE so this
25 requires a few workarounds
26 - add IUSE=wayland with untested runtime (build system would need
27 updates if wanted pure X-less)
28 - add IUSE=vulkan (considered IUSE=opengl too, esp if using vulkan,
29 but code/build is too tied with opengl+egl)
30 - pass -fno-strict-aliasing with USE=vulkan for glslang wrt bug #858374
31 - depend on >=libsdl2-2.0.22, not /necessary/ but the Qt build requests
32 this minimum version rather than gtk's .12 for some reason
33 - fix tests (they weren't being built/ran, low coverage either way)
34 - use -DARCH_FLAG to pass minimum required -msse4.1 rather than rely
35 on -DDISABLE_ADVANCED_SIMD which still pass more than necessary
36 - disable WX_vs_SDL check rather than pass -DSDL2_API, see wx-vs-sdl
37 patch for details
38 - drop ld.gold workaround, likely still broken but not really
39 supporting gold anymore (please don't use it, esp. system-wide)
40 - drop imgui submodule, is now hard-bundled as non-submodule and makes
41 little sense to unbundle because of the way it's setup
42 - drop unused alsa-lib(alsa is provided by external cubeb), libXext +
43 libICE (checked but unused, okay if missing), and libxml2
44 - replace freetype by harfbuzz, albeit while it checks and tries to
45 link with harfbuzz it's technically unused (same for libsamplerate)
46
47 This also drops x86 keyword, it may be possible to make it work but
48 between the CMakeLists current FATAL_ERROR if not x86_64 (thus -* in
49 KEYWORDS), various use of migrated-from-x86 asm, and min req of sse4.1
50 leaving out many cpus, this doesn't leave real room for non-x86_64.
51
52 CMake Error at cmake/BuildParameters.cmake:152 (message):
53 Unsupported architecture: i386
54
55 Users of -9999 are encouraged to switch to 1.7.x to get normal
56 updates and not be at the forefront of every new issues (9999
57 ebuild will mostly only be checked when doing new 1.7.x releases
58 unless get a report).
59
60 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
61
62 games-emulation/pcsx2/Manifest | 3 +
63 .../pcsx2/files/pcsx2-1.7.3329-clang16.patch | 19 ++
64 .../pcsx2/files/pcsx2-1.7.3329-lto.patch | 21 +++
65 .../pcsx2/files/pcsx2-1.7.3329-musl.patch | 9 +
66 .../pcsx2/files/pcsx2-1.7.3329-qt6.patch | 10 ++
67 .../pcsx2/files/pcsx2-1.7.3329-unbundle.patch | 41 +++++
68 .../pcsx2/files/pcsx2-1.7.3329-wx-vs-sdl.patch | 9 +
69 games-emulation/pcsx2/metadata.xml | 4 +
70 games-emulation/pcsx2/pcsx2-1.7.3329.ebuild | 198 +++++++++++++++++++++
71 9 files changed, 314 insertions(+)
72
73 diff --git a/games-emulation/pcsx2/Manifest b/games-emulation/pcsx2/Manifest
74 index bb30d90e594a..3a8dfeb3dde4 100644
75 --- a/games-emulation/pcsx2/Manifest
76 +++ b/games-emulation/pcsx2/Manifest
77 @@ -1 +1,4 @@
78 DIST pcsx2-1.6.0.tar.gz 17963332 BLAKE2B d1370fd089e1f8716a3365b9f499fef9418c4a9464e701cf0dbac8296cf59a2c6fc9b85ed680c514d8128da7b5c47aa8a067d48cac9eb0482ef2ba5f9234e60e SHA512 0a3e01a25384719fc72b636a1e9cf1cd966d0c978c1c3adfb46d6b3f76f43a25f90ef63d27a1d8092cdf444c5dc7560ce807ca81908d11ade9715e7eaaad6253
79 +DIST pcsx2-1.7.3329.tar.gz 19379924 BLAKE2B ec1313d97ab9f8bb5c735e73a3174071ccbd8499857835145dcd057f96cf51b60f3677a64c155916e5b6d33960d3e0d8c300714b6149ce4326e747e672c97406 SHA512 cfdd129c93e04f3ddc0a685483683cf5d4c239f9e7a059fd838ebe6cc8c2f3f819c26f45a8fe2a256030fdbd6273599d6e95813980eafbd301dac27689c2182a
80 +DIST pcsx2-glslang-c9706bdda0.tar.gz 3433325 BLAKE2B f2449a6c8b05e47367164d09036ae2302f0f28ec83c2e2f401426f52fbd4edf55f717f01eea2cbfe7554e1004b89ffdebc34ec21a95809fcbc719f69e65e8487 SHA512 5ff0902e95592525b2671788bf27717c85d0876b31e96374eff5128f9bf7caf93bb636e4d5e1916a5d641715a780172308403bd49305d9a07cf66358d7e6407c
81 +DIST pcsx2-vulkan-headers-9f4c61a314.tar.gz 1554220 BLAKE2B 7f7fa093e8af30919dd743768e6d882fa40800fecedf1183a45568dbb81207ffdf9eed1beadba98160c61bac89a24182794a601a2dce0c91cf54e16d0080cb69 SHA512 8b5fa5bcf6bd8ae5fb44000e4b842d86c014e9d8dae9bff988f86ec359fc27db3f71dc96253ceb2f31da4db41a6585034bb185f68da5446e91293bb0c2bbf993
82
83 diff --git a/games-emulation/pcsx2/files/pcsx2-1.7.3329-clang16.patch b/games-emulation/pcsx2/files/pcsx2-1.7.3329-clang16.patch
84 new file mode 100644
85 index 000000000000..331101ed6a1c
86 --- /dev/null
87 +++ b/games-emulation/pcsx2/files/pcsx2-1.7.3329-clang16.patch
88 @@ -0,0 +1,19 @@
89 +https://bugs.gentoo.org/870412
90 +--- a/3rdparty/cpuinfo/src/api.c
91 ++++ b/3rdparty/cpuinfo/src/api.c
92 +@@ -78 +78 @@
93 +-const struct cpuinfo_uarch_info* cpuinfo_get_uarchs() {
94 ++const struct cpuinfo_uarch_info* cpuinfo_get_uarchs(void) {
95 +--- a/cmake/FindPCAP.cmake
96 ++++ b/cmake/FindPCAP.cmake
97 +@@ -47 +47 @@
98 +-check_c_source_compiles("int main() { return 0; }" PCAP_LINKS_SOLO)
99 ++check_c_source_compiles("int main(void) { return 0; }" PCAP_LINKS_SOLO)
100 +@@ -55 +55 @@
101 +- check_c_source_compiles("int main() { return 0; }" PCAP_NEEDS_THREADS)
102 ++ check_c_source_compiles("int main(void) { return 0; }" PCAP_NEEDS_THREADS)
103 +--- a/tests/ctest/CMakeLists.txt
104 ++++ b/tests/ctest/CMakeLists.txt
105 +@@ -20 +20 @@
106 +- int main() {
107 ++ int main(void) {
108
109 diff --git a/games-emulation/pcsx2/files/pcsx2-1.7.3329-lto.patch b/games-emulation/pcsx2/files/pcsx2-1.7.3329-lto.patch
110 new file mode 100644
111 index 000000000000..1047105d646a
112 --- /dev/null
113 +++ b/games-emulation/pcsx2/files/pcsx2-1.7.3329-lto.patch
114 @@ -0,0 +1,21 @@
115 +Lazy fix for -Werror=odr and don't rely on the CMAKE macro to
116 +pass -fno-lto to the problematic FastJmp.cpp source with lto.
117 +--- a/common/CMakeLists.txt
118 ++++ b/common/CMakeLists.txt
119 +@@ -268,3 +268,3 @@
120 +
121 +-if (USE_GCC AND CMAKE_INTERPROCEDURAL_OPTIMIZATION)
122 ++if (USE_GCC)
123 + # GCC LTO doesn't work with asm statements
124 +--- a/pcsx2/PAD/Linux/Device.h
125 ++++ b/pcsx2/PAD/Linux/Device.h
126 +@@ -31,3 +31,3 @@
127 +
128 +-enum DeviceType
129 ++enum PADDeviceType
130 + {
131 +@@ -101,3 +101,3 @@
132 + DeviceAPI api;
133 +- DeviceType type;
134 ++ PADDeviceType type;
135 +
136
137 diff --git a/games-emulation/pcsx2/files/pcsx2-1.7.3329-musl.patch b/games-emulation/pcsx2/files/pcsx2-1.7.3329-musl.patch
138 new file mode 100644
139 index 000000000000..95d2ff38a8c2
140 --- /dev/null
141 +++ b/games-emulation/pcsx2/files/pcsx2-1.7.3329-musl.patch
142 @@ -0,0 +1,9 @@
143 +--- a/pcsx2/USB/qemu-usb/iov.h
144 ++++ b/pcsx2/USB/qemu-usb/iov.h
145 +@@ -17,5 +17,5 @@
146 + #define IOV_H
147 +
148 +-#if !defined(_BITS_UIO_H) && !defined(__iovec_defined) /* /usr/include/bits/uio.h */
149 ++#if !defined(_BITS_UIO_H) && !defined(__iovec_defined) && !defined(__DEFINED_struct_iovec)
150 + struct iovec
151 + {
152
153 diff --git a/games-emulation/pcsx2/files/pcsx2-1.7.3329-qt6.patch b/games-emulation/pcsx2/files/pcsx2-1.7.3329-qt6.patch
154 new file mode 100644
155 index 000000000000..9ef82985dc99
156 --- /dev/null
157 +++ b/games-emulation/pcsx2/files/pcsx2-1.7.3329-qt6.patch
158 @@ -0,0 +1,10 @@
159 +https://github.com/PCSX2/pcsx2/commit/6386be09c2e disabled PACKAGE_MODE
160 +for reasons that make no sense as far as installing from an ebuild goes.
161 +
162 +Skip the error and handle the rest from the ebuild.
163 +--- a/pcsx2-qt/CMakeLists.txt
164 ++++ b/pcsx2-qt/CMakeLists.txt
165 +@@ -7,3 +7,2 @@
166 + if (PACKAGE_MODE)
167 +- message(FATAL_ERROR "Package mode is not supported for Qt builds.")
168 + else()
169
170 diff --git a/games-emulation/pcsx2/files/pcsx2-1.7.3329-unbundle.patch b/games-emulation/pcsx2/files/pcsx2-1.7.3329-unbundle.patch
171 new file mode 100644
172 index 000000000000..450329522183
173 --- /dev/null
174 +++ b/games-emulation/pcsx2/files/pcsx2-1.7.3329-unbundle.patch
175 @@ -0,0 +1,41 @@
176 +Adjust to unbundle a few extras.
177 +
178 +zstd changes only needed because of https://bugs.gentoo.org/872254
179 +--- a/CMakeLists.txt
180 ++++ b/CMakeLists.txt
181 +@@ -54,3 +54,4 @@
182 + set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
183 +- add_subdirectory(3rdparty/gtest EXCLUDE_FROM_ALL)
184 ++ find_package(GTest REQUIRED)
185 ++ alias_library(gtest_main GTest::gtest_main)
186 + add_subdirectory(tests/ctest)
187 +--- a/cmake/SearchForStuff.cmake
188 ++++ b/cmake/SearchForStuff.cmake
189 +@@ -177,3 +177,3 @@
190 + set(ACTUALLY_ENABLE_TESTS ${ENABLE_TESTS})
191 +-if(ENABLE_TESTS)
192 ++if(0)
193 + if(NOT EXISTS "${CMAKE_SOURCE_DIR}/3rdparty/gtest/CMakeLists.txt")
194 +@@ -210,7 +210,4 @@
195 + find_optional_system_library(ryml 3rdparty/rapidyaml/rapidyaml 0.4.0)
196 +-find_optional_system_library(zstd 3rdparty/zstd 1.4.5)
197 +-if (${zstd_TYPE} STREQUAL System)
198 +- alias_library(Zstd::Zstd zstd::libzstd_shared)
199 +- alias_library(pcsx2-zstd zstd::libzstd_shared)
200 +-endif()
201 ++pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
202 ++alias_library(Zstd::Zstd PkgConfig::zstd)
203 + find_optional_system_library(libzip 3rdparty/libzip 1.8.0)
204 +@@ -243,3 +240,4 @@
205 + add_subdirectory(3rdparty/lzma EXCLUDE_FROM_ALL)
206 +-add_subdirectory(3rdparty/libchdr EXCLUDE_FROM_ALL)
207 ++pkg_check_modules(chdr REQUIRED IMPORTED_TARGET libchdr)
208 ++alias_library(chdr-static PkgConfig::chdr)
209 +
210 +@@ -269,5 +267,3 @@
211 + if(CUBEB_API)
212 +- add_subdirectory(3rdparty/cubeb EXCLUDE_FROM_ALL)
213 +- target_compile_options(cubeb PRIVATE "-w")
214 +- target_compile_options(speex PRIVATE "-w")
215 ++ find_package(cubeb REQUIRED)
216 + endif()
217
218 diff --git a/games-emulation/pcsx2/files/pcsx2-1.7.3329-wx-vs-sdl.patch b/games-emulation/pcsx2/files/pcsx2-1.7.3329-wx-vs-sdl.patch
219 new file mode 100644
220 index 000000000000..d00f9553993d
221 --- /dev/null
222 +++ b/games-emulation/pcsx2/files/pcsx2-1.7.3329-wx-vs-sdl.patch
223 @@ -0,0 +1,9 @@
224 +This check is unnecessary, bit dodgy (ldd+grep), and requires -DSDL2_API=1
225 +/only/ if wxGTK was built with USE=sdl or else get a cmake unused options
226 +warning. Test code also fails with -Werror=strict-prototypes (clang16).
227 +--- a/cmake/SearchForStuff.cmake
228 ++++ b/cmake/SearchForStuff.cmake
229 +@@ -191,3 +191,2 @@
230 + if(NOT PCSX2_CORE)
231 +- WX_vs_SDL()
232 + endif()
233
234 diff --git a/games-emulation/pcsx2/metadata.xml b/games-emulation/pcsx2/metadata.xml
235 index 0d8f2efac4cd..40c13d5f12ff 100644
236 --- a/games-emulation/pcsx2/metadata.xml
237 +++ b/games-emulation/pcsx2/metadata.xml
238 @@ -13,6 +13,10 @@
239 <email>games@g.o</email>
240 <name>Gentoo Games Project</name>
241 </maintainer>
242 + <use>
243 + <flag name="qt6">Add support for the Qt 6 application and UI framework</flag>
244 + <flag name="vulkan">Enable support for Vulkan</flag>
245 + </use>
246 <upstream>
247 <bugs-to>https://github.com/PCSX2/pcsx2/issues</bugs-to>
248 <remote-id type="github">PCSX2/pcsx2</remote-id>
249
250 diff --git a/games-emulation/pcsx2/pcsx2-1.7.3329.ebuild b/games-emulation/pcsx2/pcsx2-1.7.3329.ebuild
251 new file mode 100644
252 index 000000000000..e4673dc1422c
253 --- /dev/null
254 +++ b/games-emulation/pcsx2/pcsx2-1.7.3329.ebuild
255 @@ -0,0 +1,198 @@
256 +# Copyright 1999-2022 Gentoo Authors
257 +# Distributed under the terms of the GNU General Public License v2
258 +
259 +EAPI=8
260 +
261 +WX_GTK_VER="3.0-gtk3"
262 +inherit cmake fcaps flag-o-matic wxwidgets
263 +
264 +if [[ ${PV} == 9999 ]]; then
265 + inherit git-r3
266 + EGIT_REPO_URI="https://github.com/PCSX2/pcsx2.git"
267 +else
268 + HASH_GLSLANG=c9706bdda0ac22b9856f1aa8261e5b9e15cd20c5
269 + HASH_VULKAN=9f4c61a31435a7a90a314fc68aeb386c92a09c0f
270 + SRC_URI="
271 + https://github.com/PCSX2/pcsx2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
272 + vulkan? (
273 + https://github.com/KhronosGroup/glslang/archive/${HASH_GLSLANG}.tar.gz -> ${PN}-glslang-${HASH_GLSLANG::10}.tar.gz
274 + https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz -> ${PN}-vulkan-headers-${HASH_VULKAN::10}.tar.gz
275 + )"
276 + KEYWORDS="-* ~amd64"
277 +fi
278 +
279 +DESCRIPTION="PlayStation 2 emulator"
280 +HOMEPAGE="https://pcsx2.net/"
281 +
282 +LICENSE="
283 + GPL-3+ Apache-2.0 BSD BSD-2 BSD-4 Boost-1.0 GPL-2+ LGPL-2.1+
284 + LGPL-3+ MIT OFL-1.1 ZLIB public-domain"
285 +SLOT="0"
286 +IUSE="cpu_flags_x86_sse4_1 pulseaudio qt6 test vulkan wayland"
287 +REQUIRED_USE="cpu_flags_x86_sse4_1" # dies at runtime if no support
288 +RESTRICT="!test? ( test )"
289 +
290 +RDEPEND="
291 + app-arch/xz-utils
292 + app-arch/zstd:=
293 + dev-cpp/rapidyaml:=
294 + dev-libs/libaio
295 + dev-libs/libchdr
296 + >=dev-libs/libfmt-7.1.3:=
297 + dev-libs/libzip:=[zstd]
298 + media-libs/cubeb
299 + media-libs/harfbuzz
300 + media-libs/libglvnd
301 + media-libs/libpng:=
302 + media-libs/libsamplerate
303 + >=media-libs/libsdl2-2.0.22[haptic,joystick]
304 + media-libs/libsoundtouch:=
305 + net-libs/libpcap
306 + sys-libs/zlib:=
307 + virtual/libudev:=
308 + x11-libs/libX11
309 + x11-libs/libXrandr
310 + qt6? (
311 + dev-qt/qtbase:6[gui,network,widgets]
312 + net-misc/curl
313 + )
314 + !qt6? (
315 + dev-libs/glib:2
316 + x11-libs/gdk-pixbuf:2
317 + x11-libs/gtk+:3[wayland?]
318 + x11-libs/wxGTK:${WX_GTK_VER}[X]
319 + pulseaudio? ( media-libs/libpulse )
320 + )
321 + vulkan? ( media-libs/vulkan-loader )
322 + wayland? ( dev-libs/wayland )"
323 +DEPEND="
324 + ${RDEPEND}
325 + x11-base/xorg-proto
326 + test? ( dev-cpp/gtest )"
327 +BDEPEND="
328 + dev-lang/perl
329 + qt6? ( dev-qt/qttools[linguist] )
330 + !qt6? ( sys-devel/gettext )"
331 +
332 +FILECAPS=(
333 + -m 0755 "CAP_NET_RAW+eip CAP_NET_ADMIN+eip" usr/bin/pcsx2
334 +)
335 +
336 +PATCHES=(
337 + "${FILESDIR}"/${PN}-1.7.0-crcs.patch
338 + "${FILESDIR}"/${PN}-1.7.3329-clang16.patch
339 + "${FILESDIR}"/${PN}-1.7.3329-lto.patch
340 + "${FILESDIR}"/${PN}-1.7.3329-musl.patch
341 + "${FILESDIR}"/${PN}-1.7.3329-qt6.patch
342 + "${FILESDIR}"/${PN}-1.7.3329-unbundle.patch
343 + "${FILESDIR}"/${PN}-1.7.3329-wx-vs-sdl.patch
344 +)
345 +
346 +src_unpack() {
347 + if [[ ${PV} == 9999 ]]; then
348 + local EGIT_SUBMODULES=()
349 + if use vulkan; then
350 + EGIT_SUBMODULES+=(
351 + 3rdparty/glslang/glslang # needs StandAlone/ResourceLimits.h
352 + 3rdparty/vulkan-headers # to keep in sync with glslang
353 + )
354 + fi
355 + git-r3_src_unpack
356 + else
357 + default
358 + if use vulkan; then
359 + rmdir "${S}"/3rdparty/{glslang/glslang,vulkan-headers} || die
360 + mv glslang-${HASH_GLSLANG} "${S}"/3rdparty/glslang/glslang || die
361 + mv Vulkan-Headers-${HASH_VULKAN} "${S}"/3rdparty/vulkan-headers || die
362 + fi
363 + fi
364 +}
365 +
366 +src_prepare() {
367 + cmake_src_prepare
368 +
369 + # qt6 build doesn't support PACKAGE_MODE and need to set resources location
370 + sed -e "/EmuFolders::AppRoot =/s|=.*|= \"${EPREFIX}/usr/share/PCSX2\";|" \
371 + -i pcsx2/Frontend/CommonHost.cpp || die
372 +
373 + # pulseaudio is only used for usb-mic and without qt6, not for audio output
374 + { use pulseaudio && use !qt6; } || :> cmake/FindPulseAudio.cmake || die
375 +
376 + # GS tests currently fail to build with qt6
377 + use !qt6 || sed -i '/add_subdirectory(GS)/d' tests/ctest/CMakeLists.txt || die
378 +
379 + # delete all 3rdparty/* except known-used ones in non-live
380 + if [[ ${PV} != 9999 ]]; then
381 + local keep=(
382 + cpuinfo glad imgui include jpgd lzma simpleini xbyak
383 + $(usev vulkan 'glslang vulkan-headers')
384 + )
385 + find 3rdparty -mindepth 1 -maxdepth 1 -type d \
386 + -not \( -false ${keep[*]/#/-o -name } \) -exec rm -r {} + || die
387 + fi
388 +}
389 +
390 +src_configure() {
391 + use qt6 || setup-wxwidgets
392 +
393 + # for bundled glslang (bug #858374)
394 + use vulkan && append-flags -fno-strict-aliasing
395 +
396 + local mycmakeargs=(
397 + -DBUILD_SHARED_LIBS=no
398 + -DDISABLE_BUILD_DATE=yes
399 + -DDISABLE_PCSX2_WRAPPER=yes
400 + -DDISABLE_SETCAP=yes
401 + -DENABLE_TESTS=$(usex test)
402 + -DPACKAGE_MODE=yes
403 + -DQT_BUILD=$(usex qt6)
404 + -DUSE_SYSTEM_LIBS=yes
405 + -DUSE_VTUNE=no
406 + -DUSE_VULKAN=$(usex vulkan)
407 + -DWAYLAND_API=$(usex wayland)
408 + -DXDG_STD=yes
409 +
410 + # sse4.1 is the bare minimum required, -m is required at build time
411 + # (see PCSX2Base.h) and it dies if no support at runtime (AppInit.cpp)
412 + # https://github.com/PCSX2/pcsx2/pull/4329
413 + -DARCH_FLAG=-msse4.1
414 + )
415 +
416 + cmake_src_configure
417 +}
418 +
419 +src_test() {
420 + cmake_build unittests
421 +}
422 +
423 +src_install() {
424 + cmake_src_install
425 +
426 + use qt6 && newbin "${BUILD_DIR}"/pcsx2-qt/pcsx2-qt pcsx2
427 +}
428 +
429 +pkg_postinst() {
430 + fcaps_pkg_postinst
431 +
432 + local replacing_old
433 + if [[ ${REPLACING_VERSIONS##* } ]] &&
434 + ver_test ${REPLACING_VERSIONS##* } -lt 1.6.1
435 + then
436 + replacing_old=
437 + elog ">=${PN}-1.7 has received several changes since <=${PN}-1.6.0, just-in-case"
438 + elog "it is recommended to backup your save states and memory cards before use."
439 + elog "Note that the executable was also renamed from 'PCSX2' to 'pcsx2'."
440 + fi
441 +
442 + if [[ ${PV} != 9999 && ( ! ${REPLACING_VERSIONS} || -v replacing_old ) ]]; then
443 + [[ -v replacing_old ]] && elog
444 + elog "${PN}-1.7.x is a development branch using a nightly release model"
445 + elog "(new 'release' every 1-2 days). Stable 1.6.0 is getting old and lacks"
446 + elog "many notable features (e.g. native 64bit builds). Given it may be a long"
447 + elog "time before there is a new stable, Gentoo will carry and update 1.7.x"
448 + elog "roughly every months."
449 + elog
450 + elog "Please report an issue if feel a picked nightly release needs to be"
451 + elog "updated ahead of time or masked (notably for handling regressions)."
452 + fi
453 +}