diff -ruN assaultcube.orig/Makefile assaultcube/Makefile --- assaultcube.orig/Makefile 2015-03-15 15:51:06.000000000 +0400 +++ assaultcube/Makefile 2015-04-13 21:54:05.000000000 +0400 @@ -24,11 +24,8 @@ LICENSE_PERMS_OTHER= dist-mirror pkg-mirror auto-accept USES= gmake tar:bzip2 -GNU_CONFIGURE= yes -ALL_TARGET= libenet +ALL_TARGET= # empty WRKSRC= ${WRKDIR}/AssaultCube_v${PORTVERSION} -CONFIGURE_ARGS= --enable-shared=no --enable-static=yes -CONFIGURE_WRKSRC= ${WRKSRC}/source/enet BUILD_WRKSRC= ${WRKSRC}/source/src SUB_FILES= ${PLIST_FILES:Mbin/*:T} @@ -36,7 +33,7 @@ PORTDOCS= * PLIST_DIRS= %%DATADIR%%/packages/maps/servermaps/incoming -OPTIONS_DEFINE= DOCS +OPTIONS_DEFINE= DOCS PORT_ENET OPTIONS_MULTI= BUILD OPTIONS_MULTI_BUILD= CLIENT DEDICATED MASTER OPTIONS_DEFAULT= CLIENT DEDICATED @@ -55,6 +52,10 @@ MASTER_DESC= Build master server MASTER_ALL_TARGET= master MASTER_PLIST_FILES= bin/${PORTNAME}_master libexec/${PORTNAME}_master +PORT_ENET_DESC= Use libenet from net/enet +PORT_ENET_LIB_DEPENDS= libenet.so:${PORTSDIR}/net/enet +PORT_ENET_ALL_TARGET_OFF= libenet +PORT_ENET_CONFIGURE_OFF= --enable-shared=no --enable-static=yes .include @@ -64,6 +65,27 @@ "Game;" false .endif +.if !${PORT_OPTIONS:MPORT_ENET} +GNU_CONFIGURE= yes +CONFIGURE_WRKSRC= ${WRKSRC}/source/enet +.endif + +post-patch: .SILENT + ${REINPLACE_CMD} -e '/^CXXFLAGS=/d ; /^CXX=/d ; \ + /^INCLUDES=/s|$$| -I$$(LOCALBASE)/include| ; \ + s|-I/usr/include || ; \ + s|sdl-config|$$(SDL_CONFIG)| ; \ + s|$$(USRLIB)|$$(LOCALBASE)/lib| ; \ + /^CLIENT_LIBS=/s|$$| -lintl| ; \ + /^SERVER_LIBS=/s|$$| -L$$(LOCALBASE)/lib|' \ + ${BUILD_WRKSRC}/Makefile +.if ${PORT_OPTIONS:MPORT_ENET} + ${SED} -i '.port_enet.bak' -e 's/libenet // ; \ + s|-I\.\./enet/include|| ; \ + s|-L\.\./enet/\.libs||' \ + ${BUILD_WRKSRC}/Makefile +.endif + do-install: .for f in ${PLIST_FILES:Mbin/*} ${INSTALL_SCRIPT} ${WRKDIR}/${f:T} ${STAGEDIR}${PREFIX}/${f} diff -ruN assaultcube.orig/files/patch-source_enet_unix.c assaultcube/files/patch-source_enet_unix.c --- assaultcube.orig/files/patch-source_enet_unix.c 1970-01-01 03:00:00.000000000 +0300 +++ assaultcube/files/patch-source_enet_unix.c 2015-02-15 10:59:36.000000000 +0400 @@ -0,0 +1,20 @@ +--- source/enet/unix.c.orig 2013-10-22 18:57:22 UTC ++++ source/enet/unix.c +@@ -97,7 +97,7 @@ enet_address_set_host (ENetAddress * add + char buffer [2048]; + int errnum; + +-#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) + gethostbyname_r (name, & hostData, buffer, sizeof (buffer), & hostEntry, & errnum); + #else + hostEntry = gethostbyname_r (name, & hostData, buffer, sizeof (buffer), & errnum); +@@ -150,7 +150,7 @@ enet_address_get_host (const ENetAddress + + in.s_addr = address -> host; + +-#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) ++#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) + gethostbyaddr_r ((char *) & in, sizeof (struct in_addr), AF_INET, & hostData, buffer, sizeof (buffer), & hostEntry, & errnum); + #else + hostEntry = gethostbyaddr_r ((char *) & in, sizeof (struct in_addr), AF_INET, & hostData, buffer, sizeof (buffer), & errnum); diff -ruN assaultcube.orig/files/patch-source_src_Makefile assaultcube/files/patch-source_src_Makefile --- assaultcube.orig/files/patch-source_src_Makefile 2013-11-03 09:10:47.000000000 +0400 +++ assaultcube/files/patch-source_src_Makefile 1970-01-01 03:00:00.000000000 +0300 @@ -1,35 +0,0 @@ ---- source/src/Makefile.orig 2013-10-29 13:20:58.000000000 +0400 -+++ source/src/Makefile 2013-10-29 17:00:06.000000000 +0400 -@@ -1,9 +1,7 @@ --CXXFLAGS= -O3 -fomit-frame-pointer --CXX=clang++ # Use clang++, as g++ optimizations cause crashes... - override CXXFLAGS+= -Wall -fsigned-char - - PLATFORM= $(shell uname -s) --PLATFORM_PREFIX=native -+PLATFORM_PREFIX=FreeBSD - - INCLUDES= -I. -Ibot -I../enet/include - -@@ -22,8 +20,8 @@ - else - USRLIB=$(shell if [ -e /usr/lib64 ]; then echo "/usr/lib64"; else echo "/usr/lib"; fi) - # override CXXFLAGS+= -rdynamic # clang++ doesn't use this... --CLIENT_INCLUDES= $(INCLUDES) -I/usr/include `sdl-config --cflags` -idirafter ../include --CLIENT_LIBS= -L../enet/.libs -lenet -L$(USRLIB) -lX11 `sdl-config --libs` -lSDL_image -lz -lGL -lopenal -lvorbisfile -lcurl -+CLIENT_INCLUDES= $(INCLUDES) -I${LOCALBASE}/include `${SDL_CONFIG} --cflags` -idirafter ../include -+CLIENT_LIBS= -L../enet/.libs -lenet -L${LOCALBASE}/lib -lX11 `${SDL_CONFIG} --libs` -lSDL_image -lz -lGL -lopenal -lvorbisfile -lcurl -lintl - endif - - CLIENT_OBJS= \ -@@ -87,8 +85,8 @@ - SERVER_INCLUDES= -DSTANDALONE $(INCLUDES) -I../include - SERVER_LIBS= -L../lib -lzdll -lenet -llibintl -lws2_32 -lwinmm - else --SERVER_INCLUDES= -DSTANDALONE $(INCLUDES) --SERVER_LIBS= -L../enet/.libs -lenet -lz -+SERVER_INCLUDES= -DSTANDALONE $(INCLUDES) -I${LOCALBASE}/include -+SERVER_LIBS= -L../enet/.libs -lenet -lz -L${LOCALBASE}/lib - endif - - SERVER_OBJS= \ diff -ruN assaultcube.orig/files/patch-source_src_bot_bot_waypoint.cpp assaultcube/files/patch-source_src_bot_bot_waypoint.cpp --- assaultcube.orig/files/patch-source_src_bot_bot_waypoint.cpp 2015-03-15 15:51:06.000000000 +0400 +++ assaultcube/files/patch-source_src_bot_bot_waypoint.cpp 2015-04-13 21:44:43.000000000 +0400 @@ -1,6 +1,6 @@ ---- source/src/bot/bot_waypoint.cpp.orig 2013-11-10 22:50:03.000000000 +0400 -+++ source/src/bot/bot_waypoint.cpp 2015-02-13 07:33:14.000000000 +0400 -@@ -848,7 +848,7 @@ +--- source/src/bot/bot_waypoint.cpp.orig 2013-11-10 18:50:03 UTC ++++ source/src/bot/bot_waypoint.cpp +@@ -848,7 +848,7 @@ void CWaypointClass::DeleteWaypoint(vec if (!pWP) { diff -ruN assaultcube.orig/files/patch-source_src_console.h assaultcube/files/patch-source_src_console.h --- assaultcube.orig/files/patch-source_src_console.h 2013-10-12 21:55:50.000000000 +0400 +++ assaultcube/files/patch-source_src_console.h 2015-04-13 21:44:43.000000000 +0400 @@ -1,6 +1,6 @@ ---- source/src/console.h.orig 2013-10-09 12:27:31.000000000 +0400 -+++ source/src/console.h 2013-10-11 02:23:35.000000000 +0400 -@@ -127,7 +127,7 @@ +--- source/src/console.h.orig 2013-10-09 08:27:31 UTC ++++ source/src/console.h +@@ -127,7 +127,7 @@ struct textinputbuffer } }; @@ -9,7 +9,7 @@ struct textinputbuffer_wip { string buf; -@@ -257,4 +257,4 @@ +@@ -257,4 +257,4 @@ struct textinputbuffer_wip return false; } }; diff -ruN assaultcube.orig/files/patch-source_src_master.cpp assaultcube/files/patch-source_src_master.cpp --- assaultcube.orig/files/patch-source_src_master.cpp 2013-10-12 21:55:50.000000000 +0400 +++ assaultcube/files/patch-source_src_master.cpp 2015-04-13 21:44:43.000000000 +0400 @@ -1,6 +1,6 @@ ---- source/src/master.cpp.orig 2013-10-09 12:27:37.000000000 +0400 -+++ source/src/master.cpp 2013-10-11 02:26:24.000000000 +0400 -@@ -510,7 +510,7 @@ +--- source/src/master.cpp.orig 2013-10-22 18:57:19 UTC ++++ source/src/master.cpp +@@ -510,7 +510,7 @@ void reqauth(client &c, uint id, char *n authreq &a = c.authreqs.add(); a.reqtime = servtime; a.id = id;