commit:     98f07e417114c0077ac7f082483f95dc31522dde
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed May 10 16:59:44 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed May 10 17:25:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=98f07e41

games-emulation/pcsx2: switch to bundled libfmt for now

May or may not be an easy fix for libfmt-10, but upstream currently
does not really support using system libraries unless someone else
does the fix for them (e.g. closed the rapidyaml-0.5 issue and
left it broken for months).

Given libfmt tend to be volatile and break old code often, switch
to bundled for now. May revisit this later when there's non-nightly
releases, or if (at least) gets fixed for libfmt-10.

Do a revbump given portage does not fully understand rebuilding pcsx2
as being a solution to allow bumping libfmt if the dep is gone.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-emulation/pcsx2/Manifest                       |  1 +
 ...csx2-1.7.3738.ebuild => pcsx2-1.7.3738-r1.ebuild} | 20 +++++++++++++++++---
 ...csx2-1.7.4425.ebuild => pcsx2-1.7.4425-r1.ebuild} | 16 +++++++++++++---
 games-emulation/pcsx2/pcsx2-9999.ebuild              | 16 +++++++++++++---
 4 files changed, 44 insertions(+), 9 deletions(-)

diff --git a/games-emulation/pcsx2/Manifest b/games-emulation/pcsx2/Manifest
index db45ae12d53c..73283f95037d 100644
--- a/games-emulation/pcsx2/Manifest
+++ b/games-emulation/pcsx2/Manifest
@@ -3,6 +3,7 @@ DIST pcsx2-1.7.3738.tar.gz 15935061 BLAKE2B 
51e113e2148c94861a3d6baab8de5b8ed613
 DIST pcsx2-1.7.4280.tar.gz 8983164 BLAKE2B 
822322bac0ae5bbd484246316a2c0466f5d9b1783ab3fea28eb42ac9f9ddb2d4c104ed1bf824fc36b91a5d7bf9815e48f970e999148b2afe66f2cf7dd13c8585
 SHA512 
60446743d511789482bc52ac9ff52a26e1d35b753c8a9320a45658c9070562533ba553716122d406b67bc3bac6ada2e5383c2213b6b354a719dbd2d811b79a5e
 DIST pcsx2-1.7.4425.tar.gz 8976395 BLAKE2B 
9c2abaa90ad238a436e8ec801dab7da40a842fbf9e6a2bc9358b101cb4cea8e84f644bfac4b101a79307b7208781e4dfe34ccacd56dcc9df1feba867d360eb31
 SHA512 
a62e9d9c2f51a75e620a56a26b76c22d5eb922a7402ee44d91778cb4392cbfb168b9d77f17c2f83d4fc52f3af3983c63e2d7c695e33cf0d3575d75ae61994bc8
 DIST pcsx2-fast_float-32d21dcecb.tar.gz 76108 BLAKE2B 
7a4e8e3bb67387c03912e5f7035ba3fab1aeaa119b36ebdeb14c45069b3270270a8b87de2774ec325d8ed2ef0604a3d3762432d42f1e026a213990ac39341e10
 SHA512 
2cbdc5b05ab7c19e20b4e34959b90d1fa866d4ba239ec0a4c434cd33bddfb1cb6f1da467b0a525f5a4887c9b1860e975fe074aca0d9e211f0fc7bc6402d3601e
+DIST pcsx2-fmt-b6f4ceaed0.tar.gz 826246 BLAKE2B 
74a4784bd1842d3afa4023efb8f74ad53b4d5b4676c5529f2c7b516db568f91d945804db20b425fececfbf10a44a1fdf39a94f88d6f40339328ceb263e15b37f
 SHA512 
805424979dbed28ba0a48f69928a14d122de50f21dcadb97f852dcc415ab8a7a30fcf2eb90c06f006c54cbea00fcfe449d340cbb40e6a0454fffbc009fbe25e5
 DIST pcsx2-glslang-c9706bdda0.tar.gz 3433325 BLAKE2B 
f2449a6c8b05e47367164d09036ae2302f0f28ec83c2e2f401426f52fbd4edf55f717f01eea2cbfe7554e1004b89ffdebc34ec21a95809fcbc719f69e65e8487
 SHA512 
5ff0902e95592525b2671788bf27717c85d0876b31e96374eff5128f9bf7caf93bb636e4d5e1916a5d641715a780172308403bd49305d9a07cf66358d7e6407c
 DIST pcsx2-rcheevos-31f8788fe0.tar.gz 522855 BLAKE2B 
39533199f6b1e0cd821d817ff57101ccad0049f5144b856f1e796c83d81fcee059caa944a0fb14a0e95e51da43a6bc003cd6891ca85c2b9a959b4c42d8ca0a84
 SHA512 
cb0e8bf4d222f3ef127d20a9d6738e6c39d7cff48a0da8fe19fcc43669433b7e53cc63ab332e8f0cd935b6a33eddef3e741ee862a82bd4f29a02df1d9a42ec45
 DIST pcsx2-vulkan-headers-9f4c61a314.tar.gz 1554220 BLAKE2B 
7f7fa093e8af30919dd743768e6d882fa40800fecedf1183a45568dbb81207ffdf9eed1beadba98160c61bac89a24182794a601a2dce0c91cf54e16d0080cb69
 SHA512 
8b5fa5bcf6bd8ae5fb44000e4b842d86c014e9d8dae9bff988f86ec359fc27db3f71dc96253ceb2f31da4db41a6585034bb185f68da5446e91293bb0c2bbf993

diff --git a/games-emulation/pcsx2/pcsx2-1.7.3738.ebuild 
b/games-emulation/pcsx2/pcsx2-1.7.3738-r1.ebuild
similarity index 90%
rename from games-emulation/pcsx2/pcsx2-1.7.3738.ebuild
rename to games-emulation/pcsx2/pcsx2-1.7.3738-r1.ebuild
index 87648ee26e9d..b0b340795652 100644
--- a/games-emulation/pcsx2/pcsx2-1.7.3738.ebuild
+++ b/games-emulation/pcsx2/pcsx2-1.7.3738-r1.ebuild
@@ -11,6 +11,7 @@ if [[ ${PV} == 9999 ]]; then
        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
@@ -18,6 +19,8 @@ else
                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? (
@@ -46,7 +49,6 @@ RDEPEND="
        >=dev-cpp/rapidyaml-0.5:=
        dev-libs/libaio
        dev-libs/libchdr
-       >=dev-libs/libfmt-7.1.3:=
        dev-libs/libzip:=[zstd]
        media-libs/harfbuzz
        media-libs/libglvnd
@@ -100,6 +102,10 @@ PATCHES=(
 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
 
@@ -125,6 +131,9 @@ src_unpack() {
                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
 
@@ -151,7 +160,7 @@ src_prepare() {
                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 discord-rpc glad imgui include jpgd lzma
+                       cpuinfo cubeb discord-rpc fmt glad imgui include jpgd 
lzma
                        rapidjson rapidyaml rcheevos simpleini xbyak zydis
                        $(usev vulkan 'glslang vulkan-headers')
                )
@@ -174,12 +183,17 @@ src_configure() {
                -DENABLE_TESTS=$(usex test)
                -DPACKAGE_MODE=yes
                -DQT_BUILD=$(usex qt6)
-               -DUSE_SYSTEM_LIBS=yes
                -DUSE_VTUNE=no
                -DUSE_VULKAN=$(usex vulkan)
                -DWAYLAND_API=$(usex wayland)
                -DXDG_STD=yes
 
+               # 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

diff --git a/games-emulation/pcsx2/pcsx2-1.7.4425.ebuild 
b/games-emulation/pcsx2/pcsx2-1.7.4425-r1.ebuild
similarity index 92%
rename from games-emulation/pcsx2/pcsx2-1.7.4425.ebuild
rename to games-emulation/pcsx2/pcsx2-1.7.4425-r1.ebuild
index ae1c9c594c50..4b41e151906f 100644
--- a/games-emulation/pcsx2/pcsx2-1.7.4425.ebuild
+++ b/games-emulation/pcsx2/pcsx2-1.7.4425-r1.ebuild
@@ -10,6 +10,7 @@ if [[ ${PV} == 9999 ]]; then
        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
@@ -17,6 +18,8 @@ else
                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? (
@@ -46,7 +49,6 @@ RDEPEND="
        dev-cpp/rapidyaml:=
        dev-libs/libaio
        dev-libs/libchdr
-       dev-libs/libfmt:=
        dev-libs/libzip:=[zstd]
        dev-qt/qtbase:6[gui,network,widgets]
        dev-qt/qtsvg:6
@@ -86,6 +88,10 @@ PATCHES=(
 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
 
@@ -111,6 +117,9 @@ src_unpack() {
                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
 
@@ -136,8 +145,8 @@ src_prepare() {
                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 glad imgui include 
jpgd lzma
-                       rapidjson rapidyaml rcheevos simpleini xbyak zydis
+                       cpuinfo cubeb demangler discord-rpc fmt glad imgui 
include jpgd
+                       lzma rapidjson rapidyaml rcheevos simpleini xbyak zydis
                        $(usev vulkan 'glslang vulkan-headers')
                )
                find 3rdparty -mindepth 1 -maxdepth 1 -type d \
@@ -163,6 +172,7 @@ src_configure() {
                # 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)

diff --git a/games-emulation/pcsx2/pcsx2-9999.ebuild 
b/games-emulation/pcsx2/pcsx2-9999.ebuild
index 2608f0e1b287..ca3efae59de9 100644
--- a/games-emulation/pcsx2/pcsx2-9999.ebuild
+++ b/games-emulation/pcsx2/pcsx2-9999.ebuild
@@ -10,6 +10,7 @@ if [[ ${PV} == 9999 ]]; then
        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
@@ -17,6 +18,8 @@ else
                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? (
@@ -46,7 +49,6 @@ RDEPEND="
        dev-cpp/rapidyaml:=
        dev-libs/libaio
        dev-libs/libchdr
-       dev-libs/libfmt:=
        dev-libs/libzip:=[zstd]
        dev-qt/qtbase:6[gui,network,widgets]
        dev-qt/qtsvg:6
@@ -87,6 +89,10 @@ PATCHES=(
 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
 
@@ -112,6 +118,9 @@ src_unpack() {
                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
 
@@ -137,8 +146,8 @@ src_prepare() {
                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 glad imgui include 
jpgd lzma
-                       rapidjson rapidyaml rcheevos simpleini xbyak zydis
+                       cpuinfo cubeb demangler discord-rpc fmt glad imgui 
include jpgd
+                       lzma rapidjson rapidyaml rcheevos simpleini xbyak zydis
                        $(usev vulkan 'glslang vulkan-headers')
                )
                find 3rdparty -mindepth 1 -maxdepth 1 -type d \
@@ -165,6 +174,7 @@ src_configure() {
                # 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)

Reply via email to