Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Jun 2013 17:36:23 +0000 (UTC)
From:      Raphael Kubo da Costa <rakuco@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r320617 - in head/games/megaglest: . files
Message-ID:  <201306111736.r5BHaNXG025284@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rakuco
Date: Tue Jun 11 17:36:22 2013
New Revision: 320617
URL: http://svnweb.freebsd.org/changeset/ports/320617

Log:
  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)

Added:
  head/games/megaglest/files/patch-mk-cmake-modules-FindMiniupnpc.cmake   (contents, props changed)
  head/games/megaglest/files/patch-source-share_lib-sources-platform-posix-socket.cpp   (contents, props changed)
Modified:
  head/games/megaglest/Makefile
  head/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt

Modified: head/games/megaglest/Makefile
==============================================================================
--- head/games/megaglest/Makefile	Tue Jun 11 16:52:13 2013	(r320616)
+++ head/games/megaglest/Makefile	Tue Jun 11 17:36:22 2013	(r320617)
@@ -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}

Added: head/games/megaglest/files/patch-mk-cmake-modules-FindMiniupnpc.cmake
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/megaglest/files/patch-mk-cmake-modules-FindMiniupnpc.cmake	Tue Jun 11 17:36:22 2013	(r320617)
@@ -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 ()

Added: head/games/megaglest/files/patch-source-share_lib-sources-platform-posix-socket.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/megaglest/files/patch-source-share_lib-sources-platform-posix-socket.cpp	Tue Jun 11 17:36:22 2013	(r320617)
@@ -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);
+ 

Modified: head/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt
==============================================================================
--- head/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt	Tue Jun 11 16:52:13 2013	(r320616)
+++ head/games/megaglest/files/patch-source-shared_lib-CMakeLists.txt	Tue Jun 11 17:36:22 2013	(r320617)
@@ -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()
+ 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306111736.r5BHaNXG025284>