net-im/swift: build fixes

* Fix build with ICU-75.1 by building with C++17 instead of C++11 (bug #933871)
* Fix build with >=net-libs/miniupnpc-2.2.8 (bug #934054), thanks to
  Bill Prendergast <dek.devel@baisenvar.info> for the patch.

Closes: https://bugs.gentoo.org/933871
Closes: https://bugs.gentoo.org/934054
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James 2024-07-12 22:16:12 +01:00
parent df074f42f0
commit 99616548f7
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
2 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,24 @@
https://bugs.gentoo.org/934054
From: Bill Prendergast <dek.devel@baisenvar.info>
Fix build with newer net-libs/miniupnpc (API 18)
--- a/Swiften/Network/MiniUPnPInterface.cpp
+++ b/Swiften/Network/MiniUPnPInterface.cpp
@@ -45,9 +45,16 @@ MiniUPnPInterface::MiniUPnPInterface() : p(new Private()) {
}
char lanAddress[64];
+#if MINIUPNPC_API_VERSION > 17
+ char wanAddress[64];
+ if (!UPNP_GetValidIGD(p->deviceList, &p->urls, &p->data, lanAddress, sizeof(lanAddress), wanAddress, sizeof(wanAddress))) {
+ return;
+ }
+#else
if (!UPNP_GetValidIGD(p->deviceList, &p->urls, &p->data, lanAddress, sizeof(lanAddress))) {
return;
}
+#endif
p->localAddress = std::string(lanAddress);
p->isValid = true;
}

View File

@ -61,6 +61,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-4.0.3-libxml2-2.12-compatibility.patch
"${WORKDIR}"/${PN}-4.0.3-python3-compatibility.patch
"${FILESDIR}"/${PN}-4.0.3-reproducible-build.patch
"${FILESDIR}"/${PN}-4.0.3-miniupnpc.patch
)
pkg_setup() {
@ -77,6 +78,9 @@ src_prepare() {
# Use correct LIBDIR for Lua
sed -e "s/lib/$(get_libdir)/g" -i Sluift/SConscript.variant || die
# bug #933871
sed -i -e 's:c++11:c++17:g' BuildTools/SCons/SConscript.boot || die
# Hack for finding Qt system libs
mkdir "${T}"/qt || die
ln -s "${EPREFIX}"/usr/$(get_libdir)/qt5/bin "${T}"/qt/bin || die