aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--games/megaglest/Makefile3
-rw-r--r--games/megaglest/files/patch-mk-cmake-modules-FindMiniupnpc.cmake114
-rw-r--r--games/megaglest/files/patch-source-share_lib-sources-platform-posix-socket.cpp25
-rw-r--r--games/megaglest/files/patch-source-shared_lib-CMakeLists.txt27
4 files changed, 166 insertions, 3 deletions
diff --git a/games/megaglest/Makefile b/games/megaglest/Makefile
index 85d1350fe696..a39901bbc2e4 100644
--- a/games/megaglest/Makefile
+++ b/games/megaglest/Makefile
@@ -3,6 +3,7 @@
PORTNAME= megaglest
PORTVERSION= 3.7.1
+PORTREVISION= 1
CATEGORIES= games
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}_${PORTVERSION}/
DISTNAME= ${PORTNAME}-source-${PORTVERSION}
@@ -53,7 +54,7 @@ post-patch:
do-install:
${STRIP_CMD} ${WRKSRC}/mk/linux/megaglest
@${MKDIR} ${DATADIR}
-.if !defined(NOPORTDOCS)
+.if ${PORT_OPTIONS:MDOCS}
@${MKDIR} ${DOCSDIR}
.endif
${INSTALL_PROGRAM} ${WRKSRC}/mk/linux/megaglest ${PREFIX}/bin/${PORTNAME}
diff --git a/games/megaglest/files/patch-mk-cmake-modules-FindMiniupnpc.cmake b/games/megaglest/files/patch-mk-cmake-modules-FindMiniupnpc.cmake
new file mode 100644
index 000000000000..6f6a6a9e0304
--- /dev/null
+++ b/games/megaglest/files/patch-mk-cmake-modules-FindMiniupnpc.cmake
@@ -0,0 +1,114 @@
+--- mk/cmake/Modules/FindMiniupnpc.cmake.orig 2013-05-15 21:42:23.000000000 -0500
++++ mk/cmake/Modules/FindMiniupnpc.cmake 2013-05-15 21:42:02.000000000 -0500
+@@ -58,20 +58,40 @@
+ #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;
+- int upnp_error = 0;
+- devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, &upnp_error);
++ static struct UPNPUrls urls;
++ static struct IGDdatas data;
++
++ GetUPNPUrls (&urls, &data, \"myurl\",0);
+
+ return 0;
+ }"
+- MINIUPNPC_VERSION_1_6_OR_HIGHER)
+-
+- IF (NOT MINIUPNPC_VERSION_1_6_OR_HIGHER)
++ MINIUPNPC_VERSION_1_7_OR_HIGHER)
++
++ IF (NOT MINIUPNPC_VERSION_1_7_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()
++ {
++ 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;
++ int upnp_error = 0;
++ devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, &upnp_error);
++
++ return 0;
++ }"
++ MINIUPNPC_VERSION_PRE1_7)
++ ENDIF()
++
++ IF (NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
+ set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+ set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+ check_cxx_source_runs("
+@@ -96,25 +116,27 @@
+
+ ENDIF()
+
+- 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>
+- static struct UPNPUrls urls;
+- static struct IGDdatas data;
+- int main()
+- {
+- char externalIP[16] = "";
+- UPNP_GetExternalIPAddress(urls.controlURL, data.first.servicetype, externalIP);
++ IF (NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_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>
++ static struct UPNPUrls urls;
++ static struct IGDdatas data;
++ int main()
++ {
++ char externalIP[16] = "";
++ UPNP_GetExternalIPAddress(urls.controlURL, data.first.servicetype, externalIP);
+
+- return 0;
+- }"
+- MINIUPNPC_VERSION_1_5_OR_HIGHER)
++ return 0;
++ }"
++ MINIUPNPC_VERSION_1_5_OR_HIGHER)
++ ENDIF()
+
+- IF (NOT MINIUPNPC_VERSION_1_5_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)
+ set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+ set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+ check_cxx_source_runs("
+@@ -141,8 +163,12 @@
+ IF(MINIUPNPC_VERSION_PRE1_6)
+ message(STATUS "Found miniupnpc version is pre v1.6")
+ ENDIF()
+- IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6)
+- message(STATUS "Found miniupnpc version is v1.6 or higher")
++ 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)
++ message(STATUS "Found miniupnpc version is v1.7 or higher")
+ ENDIF()
+
+ else ()
diff --git a/games/megaglest/files/patch-source-share_lib-sources-platform-posix-socket.cpp b/games/megaglest/files/patch-source-share_lib-sources-platform-posix-socket.cpp
new file mode 100644
index 000000000000..5eedf20bcaff
--- /dev/null
+++ b/games/megaglest/files/patch-source-share_lib-sources-platform-posix-socket.cpp
@@ -0,0 +1,25 @@
+--- source/shared_lib/sources/platform/posix/socket.cpp.orig 2013-05-15 21:33:42.000000000 -0500
++++ source/shared_lib/sources/platform/posix/socket.cpp 2013-05-15 21:37:06.000000000 -0500
+@@ -2478,13 +2478,22 @@
+ if(SystemFlags::VERBOSE_MODE_ENABLED) printf("UPnP device found: %s %s\n", dev->descURL, dev->st);
+
+ //printf("UPnP device found: [%s] [%s] lanaddr [%s]\n", dev->descURL, dev->st,lanaddr);
++#ifndef MINIUPNPC_VERSION_PRE1_7
++ descXML = (char *)miniwget_getaddr(dev->descURL, &descXMLsize, lanaddr, (sizeof(lanaddr) / sizeof(lanaddr[0])),0);
++#else
+ descXML = (char *)miniwget_getaddr(dev->descURL, &descXMLsize, lanaddr, (sizeof(lanaddr) / sizeof(lanaddr[0])));
++#endif
+ if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"LAN address: %s\n", lanaddr);
+
+ if (descXML) {
+ parserootdesc (descXML, descXMLsize, &data);
+ free (descXML); descXML = 0;
++
++#ifndef MINIUPNPC_VERSION_PRE1_7
++ GetUPNPUrls (&urls, &data, dev->descURL,0);
++#else
+ GetUPNPUrls (&urls, &data, dev->descURL);
++#endif
+ }
+ snprintf(buf, 255,"UPnP device found: %s %s LAN address %s", dev->descURL, dev->st, lanaddr);
+
diff --git a/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt b/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt
index fc37e2657a97..9ba8817806e4 100644
--- a/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt
+++ b/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt
@@ -1,5 +1,14 @@
---- source/shared_lib/CMakeLists.txt.orig 2012-11-25 00:19:10.000000000 +0000
-+++ source/shared_lib/CMakeLists.txt 2012-11-25 00:12:01.000000000 +0000
+--- source/shared_lib/CMakeLists.txt.orig 2013-05-15 21:40:33.000000000 -0500
++++ source/shared_lib/CMakeLists.txt 2013-05-15 21:41:00.000000000 -0500
+@@ -116,7 +116,7 @@
+ #
+ # INCLUDE_DIRECTORIES(${LUAJIT_INCLUDE_DIR})
+ # IF(UNIX)
+-# SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUAJIT_LIBRARIES} "libdl.so")
++# SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUAJIT_LIBRARIES} ${CMAKE_DL_LIBS})
+ # ENDIF()
+ # ELSE()
+ # MESSAGE(STATUS "**WARNING: LUAJIT NOT found, so Lua performance may suffer.")
@@ -124,7 +124,7 @@
FIND_PACKAGE(LUA REQUIRED)
INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR})
@@ -9,3 +18,17 @@
ENDIF()
# ENDIF()
+@@ -297,7 +297,12 @@
+ ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_6)
+ message(STATUS "Adding macro for miniupnpc version: pre v1.6")
+ ENDIF()
+- IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6)
++ IF(MINIUPNPC_VERSION_PRE1_7)
++ ADD_DEFINITIONS(-DMINIUPNPC_VERSION_PRE1_7)
++ message(STATUS "Adding macro for miniupnpc version: pre v1.7")
++ ENDIF()
++
++ IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7)
+ message(STATUS "**No macros required for miniupnpc version")
+ ENDIF()
+