diff options
author | James Le Cuirot <chewi@gentoo.org> | 2024-06-16 23:33:50 +0100 |
---|---|---|
committer | James Le Cuirot <chewi@gentoo.org> | 2024-06-16 23:33:50 +0100 |
commit | 57d4ce1472ddaf7879e4419495c037420155920b (patch) | |
tree | eb76f5f4058b27131821c711244434422c1b68ca /games-strategy | |
parent | sys-kernel/git-sources: add 6.10_rc4 (diff) | |
download | gentoo-57d4ce1472ddaf7879e4419495c037420155920b.tar.gz gentoo-57d4ce1472ddaf7879e4419495c037420155920b.tar.bz2 gentoo-57d4ce1472ddaf7879e4419495c037420155920b.zip |
games-strategy/0ad: Fix compatibility with miniupnpc 2.2.8 with patch
Thanks to Torsten Kaiser for the patch.
Closes: https://bugs.gentoo.org/934315
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Diffstat (limited to 'games-strategy')
-rw-r--r-- | games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild | 1 | ||||
-rw-r--r-- | games-strategy/0ad/files/0ad-0.0.26_alpha-miniupnpc.patch | 38 |
2 files changed, 39 insertions, 0 deletions
diff --git a/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild b/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild index 7c7373e81a78..e910f14e5bd2 100644 --- a/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild +++ b/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild @@ -103,6 +103,7 @@ PATCHES=( "${FILESDIR}"/${P}-libxml2-2.12.patch # https://code.wildfiregames.com/D5267 "${FILESDIR}"/${P}-boost-1.85.patch + "${FILESDIR}"/${P}-miniupnpc.patch ) pkg_setup() { diff --git a/games-strategy/0ad/files/0ad-0.0.26_alpha-miniupnpc.patch b/games-strategy/0ad/files/0ad-0.0.26_alpha-miniupnpc.patch new file mode 100644 index 000000000000..f17cee4e36f2 --- /dev/null +++ b/games-strategy/0ad/files/0ad-0.0.26_alpha-miniupnpc.patch @@ -0,0 +1,38 @@ +Adapt to changes from API 18 + +https://github.com/miniupnp/miniupnp/commit/c0a50ce33e3b99ce8a96fd43049bb5b53ffac62f +https://bugs.gentoo.org/934315 + +--- a/source/network/NetServer.cpp 2022-09-23 21:17:14.000000000 +0200 ++++ a/source/network/NetServer.cpp 2024-06-14 21:43:26.572418719 +0200 +@@ -302,7 +302,11 @@ + else if ((devlist = upnpDiscover(10000, 0, 0, 0, 0, 0)) != NULL) + #endif + { ++#if defined(MINIUPNPC_API_VERSION) && MINIUPNPC_API_VERSION >= 18 ++ ret = UPNP_GetValidIGD(devlist, &urls, &data, internalIPAddress, sizeof(internalIPAddress), NULL, 0); ++#else + ret = UPNP_GetValidIGD(devlist, &urls, &data, internalIPAddress, sizeof(internalIPAddress)); ++#endif + allocatedUrls = ret != 0; // urls is allocated on non-zero return values + } + else +@@ -321,9 +325,18 @@ + LOGMESSAGE("Net server: found valid IGD = %s", urls.controlURL); + break; + case 2: ++#if defined(MINIUPNPC_API_VERSION) && MINIUPNPC_API_VERSION >= 18 ++ LOGMESSAGE("Net server: found a valid IGD with a reserved address = %s, will try to continue anyway", urls.controlURL); ++ break; ++ case 3: ++ LOGMESSAGE("Net server: found a valid, not connected IGD = %s, will try to continue anyway", urls.controlURL); ++ break; ++ case 4: ++#else + LOGMESSAGE("Net server: found a valid, not connected IGD = %s, will try to continue anyway", urls.controlURL); + break; + case 3: ++#endif + LOGMESSAGE("Net server: found a UPnP device unrecognized as IGD = %s, will try to continue anyway", urls.controlURL); + break; + default: |