aboutsummaryrefslogtreecommitdiffstats
path: root/emulators
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2015-10-14 22:57:23 +0800
committerjbeich <jbeich@FreeBSD.org>2015-10-14 22:57:23 +0800
commitac0045033abdcdb0590fa495fad453de227ab68f (patch)
tree1965f35378f1cb89b99d451ca91af65774370d53 /emulators
parentdcfa157023b19542d84da7694506d177fd7c4613 (diff)
downloadfreebsd-ports-gnome-ac0045033abdcdb0590fa495fad453de227ab68f.tar.gz
freebsd-ports-gnome-ac0045033abdcdb0590fa495fad453de227ab68f.tar.zst
freebsd-ports-gnome-ac0045033abdcdb0590fa495fad453de227ab68f.zip
emulators/dolphin-emu: chase r399209
https://github.com/miniupnp/miniupnp/commit/1da63faa4fff5cb30e5d4b848ceef80a292382b9 Obtained from: upstream (rebased) Approved by: portmgr blanket MFH: 2015Q4 X-MFH-With: r399209
Diffstat (limited to 'emulators')
-rw-r--r--emulators/dolphin-emu/Makefile2
-rw-r--r--emulators/dolphin-emu/files/patch-git_8c5744bc137
2 files changed, 138 insertions, 1 deletions
diff --git a/emulators/dolphin-emu/Makefile b/emulators/dolphin-emu/Makefile
index f9898619a7ba..2c339d52d048 100644
--- a/emulators/dolphin-emu/Makefile
+++ b/emulators/dolphin-emu/Makefile
@@ -3,7 +3,7 @@
PORTNAME= dolphin-emu
PORTVERSION= 4.0.2
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= emulators
MAINTAINER= martymac@FreeBSD.org
diff --git a/emulators/dolphin-emu/files/patch-git_8c5744bc b/emulators/dolphin-emu/files/patch-git_8c5744bc
new file mode 100644
index 000000000000..bf762a4fcbf9
--- /dev/null
+++ b/emulators/dolphin-emu/files/patch-git_8c5744bc
@@ -0,0 +1,137 @@
+commit 8c5744bca705a0895bd51c966a30171ee2bab43a
+Author: Marisa Kirisame <marisa@sayachan.org>
+Date: Tue, 29 Sep 2015 23:10:31 +0200
+
+ miniupnpc API version 14 changed the upnpDiscover functions,
+ adding an argument for TTL (should default to 2) this enables support for
+ that should the build system have that specific version installed, the
+ miniupnpc bundled in the project is unchanged
+---
+ CMakeLists.txt | 5 ++++-
+ CMakeTests/FindMiniupnpc.cmake | 39 +++++++++++++++++++++++++++++++++-----
+ Source/Core/Core/NetPlayServer.cpp | 4 ++++
+ 3 files changed, 42 insertions(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 291efee..7ac0679 100644
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -690,9 +690,12 @@ if(USE_UPNP)
+ if(NOT APPLE AND NOT ANDROID)
+ include(FindMiniupnpc)
+ endif()
+- if(MINIUPNP_FOUND AND MINIUPNPC_VERSION_1_7_OR_HIGHER)
++ if(MINIUPNP_FOUND AND (MINIUPNPC_VERSION_1_7_OR_HIGHER OR MINIUPNPC_VERSION_API14_OR_HIGHER))
+ message("Using shared miniupnpc")
+ include_directories(${MINIUPNP_INCLUDE_DIR})
++ if (MINIUPNPC_VERSION_API14_OR_HIGHER)
++ add_definitions(-DUPNPDISCOVER_HAS_TTL)
++ endif()
+ else()
+ message("Using static miniupnpc from Externals")
+ add_subdirectory(Externals/miniupnpc)
+diff --git a/CMakeTests/FindMiniupnpc.cmake b/CMakeTests/FindMiniupnpc.cmake
+index bb1048c..5301d40 100644
+--- CMakeTests/FindMiniupnpc.cmake
++++ CMakeTests/FindMiniupnpc.cmake
+@@ -58,6 +58,30 @@ if (MINIUPNP_FOUND)
+ #include <stdio.h>
+ int main()
+ {
++ struct UPNPDev *devlist = NULL;
++ int upnp_delay = 5000;
++ const char *upnp_multicastif = NULL;
++ const char *upnp_minissdpdsock = NULL;
++ int upnp_sameport = 0;
++ int upnp_ipv6 = 0;
++ unsigned char upnp_ttl = 2;
++ int upnp_error = 0;
++ devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, upnp_ttl, &upnp_error);
++
++ return 0;
++ }"
++ MINIUPNPC_VERSION_API14_OR_HIGHER)
++
++IF (NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
++ set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
++ set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
++ check_cxx_source_runs("
++ #include <miniwget.h>
++ #include <miniupnpc.h>
++ #include <upnpcommands.h>
++ #include <stdio.h>
++ int main()
++ {
+ static struct UPNPUrls urls;
+ static struct IGDdatas data;
+
+@@ -66,8 +90,9 @@ if (MINIUPNP_FOUND)
+ return 0;
+ }"
+ MINIUPNPC_VERSION_1_7_OR_HIGHER)
++ ENDIF()
+
+-IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER AND NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
+ set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+ set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+ check_cxx_source_runs("
+@@ -91,7 +116,7 @@ IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
+ MINIUPNPC_VERSION_PRE1_7)
+ ENDIF()
+
+- IF (NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++ IF (NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER AND NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
+ set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+ set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+ check_cxx_source_runs("
+@@ -116,7 +141,7 @@ IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
+
+ ENDIF()
+
+- IF (NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++ IF (NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER AND NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
+ set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+ set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+ check_cxx_source_runs("
+@@ -136,7 +161,7 @@ IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
+ MINIUPNPC_VERSION_1_5_OR_HIGHER)
+ ENDIF()
+
+- IF (NOT MINIUPNPC_VERSION_1_5_OR_HIGHER AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++ IF (NOT MINIUPNPC_VERSION_1_5_OR_HIGHER AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER AND NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
+ set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+ set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+ check_cxx_source_runs("
+@@ -167,10 +192,14 @@ IF(MINIUPNPC_VERSION_PRE1_7)
+ message(STATUS "Found miniupnpc version is pre v1.7")
+ ENDIF()
+
+-IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7)
++IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
+ message(STATUS "Found miniupnpc version is v1.7 or higher")
+ ENDIF()
+
++IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++ message(STATUS "Found miniupnpc version is v1.9 API version 14 or higher")
++ENDIF()
++
+ else ()
+ message (STATUS "Could not find miniupnp")
+ endif ()
+diff --git a/Source/Core/Core/NetPlayServer.cpp b/Source/Core/Core/NetPlayServer.cpp
+index 7ed283a..27b46c9 100644
+--- Source/Core/Core/Src/NetPlayServer.cpp
++++ Source/Core/Core/Src/NetPlayServer.cpp
+@@ -552,7 +552,11 @@ bool NetPlayServer::initUPnP()
+ memset(&m_upnp_data, 0, sizeof(IGDdatas));
+
+ // Find all UPnP devices
++#ifdef UPNPDISCOVER_HAS_TTL
++ devlist = upnpDiscover(2000, NULL, NULL, 0, 0, 2, &upnperror);
++#else
+ devlist = upnpDiscover(2000, NULL, NULL, 0, 0, &upnperror);
++#endif
+ if (!devlist)
+ {
+ WARN_LOG(NETPLAY, "An error occured trying to discover UPnP devices.");