diff options
author | rakuco <rakuco@FreeBSD.org> | 2013-06-12 01:36:22 +0800 |
---|---|---|
committer | rakuco <rakuco@FreeBSD.org> | 2013-06-12 01:36:22 +0800 |
commit | cd5d8fa2efdfe65b19ed6702345eb21634598b0f (patch) | |
tree | 571c1f7f08db7d879d90e5be42f0043f2278062f /games | |
parent | 56d0bda4760279942188269bc1b40e9ee88dfa0f (diff) | |
download | freebsd-ports-gnome-cd5d8fa2efdfe65b19ed6702345eb21634598b0f.tar.gz freebsd-ports-gnome-cd5d8fa2efdfe65b19ed6702345eb21634598b0f.tar.zst freebsd-ports-gnome-cd5d8fa2efdfe65b19ed6702345eb21634598b0f.zip |
Apply some upstream patches to fix the build with recent versions of miniupnpc.
While here, convert from NOPORTDOCS to the OptionsNG variant.
PR: ports/177987
Submitted by: Rusty Nejdl <rnejdl@ringofsaturn.com> (maintainer)
Diffstat (limited to 'games')
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() + |