Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 May 2014 16:23:51 GMT
From:      Sender Ghost <lightside@gmx.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/189478: [PATCH] games/warsow: Update to v1.5
Message-ID:  <201405081623.s48GNp54040241@cgiserv.freebsd.org>
Resent-Message-ID: <201405081630.s48GU0Xd034006@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         189478
>Category:       ports
>Synopsis:       [PATCH] games/warsow: Update to v1.5
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 08 16:30:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Sender Ghost
>Release:        FreeBSD 10.0-RELEASE
>Organization:
>Environment:
>Description:
Patch to update games/warsow port from 1.0.3 to 1.5 version.

Updated games/warsow-data port (to 1.5 version) required to run:
ports/189477

This version uses XInput2 for input code, which might require further patch to use other native characters alongside with English.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

diff -ruN warsow.orig/Makefile warsow/Makefile
--- warsow.orig/Makefile	2014-04-16 22:28:47.000000000 +0400
+++ warsow/Makefile	2014-05-08 19:41:12.000000000 +0400
@@ -2,12 +2,11 @@
 # $FreeBSD: head/games/warsow/Makefile 351411 2014-04-16 18:28:47Z zeising $
 
 PORTNAME=	warsow
-PORTVERSION=	1.0.3
-PORTREVISION=	1
+PORTVERSION=	1.5
 CATEGORIES=	games
-MASTER_SITES=	SF/warsow.mirror/Warsow%201.02 \
-		http://www.warsow.net:1337/~warsow/${PORTVERSION:R}${PORTVERSION:E}/
-DISTNAME=	${PORTNAME}_${PORTVERSION:R}${PORTVERSION:E}_sdk
+MASTER_SITES=	SF/warsow.mirror/Warsow%20${PORTVERSION} \
+		http://www.warsow.net:1337/~warsow/${PORTVERSION}/
+DISTNAME=	${PORTNAME}_15_sdk
 DIST_SUBDIR=	${PORTNAME}
 
 MAINTAINER=	danfe@FreeBSD.org
@@ -16,28 +15,29 @@
 LICENSE=	GPLv2
 
 LIB_DEPENDS=	libcurl.so:${PORTSDIR}/ftp/curl
-RUN_DEPENDS=	${DATADIR}/basewsw/data0_10.pk3:${PORTSDIR}/games/warsow-data
+RUN_DEPENDS=	${DATADIR}/basewsw/data0_15.pk3:${PORTSDIR}/games/warsow-data
 
 ONLY_FOR_ARCHS=	i386 amd64
 MAKE_JOBS_UNSAFE=yes
 
-USES=		dos2unix gmake
-DOS2UNIX_FILES=	ui/as/asbind.h
+USES=		gmake
 
-WRKSRC=		${WRKDIR}/${DISTNAME}/source
+WRKSRC=		${WRKDIR}/source/source
 ALL_TARGET=	game angelwrap
 RELEASEDIR=	${WRKSRC}/release
-AS_SDK_DIR=	${WRKSRC}/../libsrcs/angelscript/angelSVN/sdk
+AS_SDK_DIR=	${WRKSRC}/../libsrcs/angelscript/sdk
 
 PLIST_FILES=	%%DATADIR%%/basewsw/game_${ARCH}.so \
 		%%DATADIR%%/libs/angelwrap_${ARCH}.so
 PLIST_DIRS=	%%DATADIR%%/libs
 
-OPTIONS_DEFINE=	CLIENT SERVER QF OPENAL IRC CIN TV_SRV
-OPTIONS_DEFAULT=	CLIENT SERVER QF OPENAL IRC CIN TV_SRV
+OPTIONS_DEFINE=	CLIENT SERVER FTLIB REF_GL QF OPENAL IRC CIN TV_SRV
+OPTIONS_DEFAULT=	CLIENT SERVER FTLIB REF_GL QF OPENAL IRC CIN TV_SRV
 
 CLIENT_DESC=	Build game client
 SERVER_DESC=	Build dedicated server
+FTLIB_DESC=	Build FreeType library module
+REF_GL_DESC= Build reference OpenGL module
 QF_DESC=	Build Qf sound module
 OPENAL_DESC=	Build OpenAL sound module
 IRC_DESC=	Build IRC client module
@@ -47,25 +47,35 @@
 .include <bsd.port.options.mk>
 
 .if ${PORT_OPTIONS:MCLIENT}
-LIB_DEPENDS+=	libjpeg.so:${PORTSDIR}/graphics/jpeg \
-				libpng15.so:${PORTSDIR}/graphics/png \
-				libfreetype.so:${PORTSDIR}/print/freetype2
-PATCH_DEPENDS=	${DATADIR}/basewsw/ui_porkui.pk3:${PORTSDIR}/games/warsow-data
-USE_GL=		gl
-USE_SDL=	sdl
-USE_XORG=	xinerama xxf86dga xrandr
+USE_XORG=	xi xrandr
+
 ALL_TARGET+=	cgame ui client
 PLIST_FILES+=	bin/warsow %%DATADIR%%/basewsw/cgame_${ARCH}.so \
 		%%DATADIR%%/basewsw/ui_${ARCH}.so \
-		%%DATADIR%%/basewsw/ui/porkui/template.rml \
 		share/pixmaps/warsow128x128.xpm
-PLIST_DIRS+=	%%DATADIR%%/basewsw/ui \
-		%%DATADIR%%/basewsw/ui/porkui
 
 DESKTOP_ENTRIES="Warsow" "${COMMENT}" \
 	"${PREFIX}/share/pixmaps/warsow128x128.xpm" "${PORTNAME}" \
 	"Game;" false
 
+. if ${PORT_OPTIONS:MFTLIB} || ${PORT_OPTIONS:MREF_GL}
+LIB_DEPENDS+=	libpng15.so:${PORTSDIR}/graphics/png
+. endif
+
+. if ${PORT_OPTIONS:MFTLIB}
+LIB_DEPENDS+=	libfreetype.so:${PORTSDIR}/print/freetype2
+ALL_TARGET+=	ftlib
+PLIST_FILES+=	%%DATADIR%%/libs/ftlib_${ARCH}.so
+. endif
+
+. if ${PORT_OPTIONS:MREF_GL}
+USE_GL=		gl
+USE_XORG+=	xinerama
+LIB_DEPENDS+=	libjpeg.so:${PORTSDIR}/graphics/jpeg
+ALL_TARGET+=	ref_gl
+PLIST_FILES+=	%%DATADIR%%/libs/ref_gl_${ARCH}.so
+. endif
+
 . if ${PORT_OPTIONS:MQF} || ${PORT_OPTIONS:MOPENAL}
 LIB_DEPENDS+=	libvorbisfile.so:${PORTSDIR}/audio/libvorbis
 . endif
@@ -104,20 +114,12 @@
 PLIST_FILES+=	bin/wswtv_server
 .endif
 
-pre-patch: .SILENT
-.if ${PORT_OPTIONS:MCLIENT}
-	${MKDIR} ${RELEASEDIR}/basewsw
-	${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${DATADIR}/basewsw/ui_porkui.pk3 --include="ui/porkui/template.rml" -C ${RELEASEDIR}/basewsw ${EXTRACT_AFTER_ARGS}
-.endif
-
 post-patch: .SILENT
 # Unmute build and link commands, respect CFLAGS
 	${REINPLACE_CMD} -e 's|@$$(DO_CC|$$(DO_CC| ; /> Linking $$@/d ; \
 		s|-O2 -fno-strict-aliasing -ffast-math -funroll-loops ||; \
 		s| -msse2||' \
 		${WRKSRC}/Makefile
-	${REINPLACE_CMD} -e 's|-g ||' \
-		${AS_SDK_DIR}/angelscript/projects/gnuc/makefile
 # Adjust architecture names, get rid of ``freebsd_'' prefix
 	${REINPLACE_CMD} -e 's/x86_64/amd64/ ; s/freebsd_//' \
 		${WRKSRC}/gameshared/q_arch.h
@@ -129,11 +131,6 @@
 # ${DATADIR} base path instead of pack file(s)
 	${REINPLACE_CMD} -e 's|pure \&\& !FS_IsPureFile|0 \&\& !FS_IsPureFile|' \
 		${WRKSRC}/qcommon/library.c
-# Fix issue with utf8 characters for console and
-# return checks for delete character (ASCII code 127) from 0.62 version
-	${REINPLACE_CMD} -e '/x11display.ic = 0;/d; \
-		s|Key_CharEvent( key, wc );|if ( wc != 127 ) Key_CharEvent( key, wc );|' \
-		${WRKSRC}/unix/unix_input.c
 
 do-install:
 .for b in ${PLIST_FILES:Mbin/*:T}
diff -ruN warsow.orig/distinfo warsow/distinfo
--- warsow.orig/distinfo	2014-03-09 19:13:14.000000000 +0400
+++ warsow/distinfo	2014-05-07 11:35:21.000000000 +0400
@@ -1,2 +1,2 @@
-SHA256 (warsow/warsow_1.03_sdk.tar.gz) = 98cd7aa25707f9baf97a8e1feb78e1874b6b5dd95af759bf5edda10bc62ed97c
-SIZE (warsow/warsow_1.03_sdk.tar.gz) = 63908911
+SHA256 (warsow/warsow_15_sdk.tar.gz) = 277bbe87744352ee02476dc1bf9258ed5b204345b1b8eb394442dcec6a956949
+SIZE (warsow/warsow_15_sdk.tar.gz) = 89175325
diff -ruN warsow.orig/files/patch-Makefile warsow/files/patch-Makefile
--- warsow.orig/files/patch-Makefile	2014-03-09 19:13:14.000000000 +0400
+++ warsow/files/patch-Makefile	2014-05-08 20:04:08.000000000 +0400
@@ -1,13 +1,13 @@
---- Makefile.orig	2012-12-02 21:36:10.000000000 +0400
-+++ Makefile	2014-02-06 06:54:02.000000000 +0400
-@@ -50,21 +50,13 @@
+--- Makefile.orig	2014-05-02 01:12:05.000000000 +0400
++++ Makefile	2014-05-07 12:00:03.000000000 +0400
+@@ -54,21 +54,13 @@
  else
  CC?=gcc
  CXX?=g++
 -LD=gcc
--LXX?=g++
+-LXX=g++
 +LD=$(CC)
-+LXX?=$(CXX)
++LXX=$(CXX)
  AR=ar
  RANLIB=ranlib
  
@@ -21,10 +21,10 @@
 -ARCH?=$(BASE_ARCH)
 -endif
 -
- SHARED_LIBRARY_EXTENSION=so
- endif
- 
-@@ -210,10 +202,11 @@
+ ifeq ($(ARCH),x86_64)
+ BITS?=64
+ else
+@@ -246,10 +238,11 @@
  CFLAGS_TV_SERVER=-DDEDICATED_ONLY -DTV_SERVER_ONLY -DC_ONLY -DTV_MODULE_HARD_LINKED
  
  LDFLAGS_COMMON=$(LDFLAGS)
@@ -32,13 +32,12 @@
 +LXXFLAGS_COMMON=$(LDFLAGS)#-lstdc++ -lsupc++ # disabled for Clang
  
  ifeq ($(OS),FreeBSD)
--LDFLAGS_COMMON+= -L/usr/local/lib -lm -pthread
-+LDFLAGS_COMMON+= -L$(LOCALBASE)/lib -lm -pthread
+ LDFLAGS_COMMON+= -L$(LOCALBASE)/lib -lm
 +LXXFLAGS_COMMON+= -L$(LOCALBASE)/lib
  else
- LDFLAGS_COMMON+= -L/usr/local/lib -ldl -lm -O1 -Wl,--as-needed
+ LDFLAGS_COMMON+= -L$(LOCALBASE)/lib -lm -ldl -O1 -Wl,--as-needed
  endif
-@@ -298,12 +291,9 @@
+@@ -358,12 +351,9 @@
  ######################################################################################################
  # Helper functions
  ######################################################################################################
diff -ruN warsow.orig/files/patch-release_basewsw_ui_porkui_template.rml warsow/files/patch-release_basewsw_ui_porkui_template.rml
--- warsow.orig/files/patch-release_basewsw_ui_porkui_template.rml	2014-03-09 19:13:14.000000000 +0400
+++ warsow/files/patch-release_basewsw_ui_porkui_template.rml	1970-01-01 03:00:00.000000000 +0300
@@ -1,37 +0,0 @@
---- release/basewsw/ui/porkui/template.rml.orig	2012-07-19 18:39:24.000000000 +0400
-+++ release/basewsw/ui/porkui/template.rml	2014-02-06 07:52:43.000000000 +0400
-@@ -135,32 +135,9 @@
- 			}
- 		}
- 
--		String menuloc;
--		void animOpenMenu( String menu ) // This function automatically animates the content away and opens a new menu after that.
-+		void animOpenMenu( String menu ) // Don't animate on FreeBSD, as the program will crash for some reason...
- 		{
--			if( menu.length() <= 0 )
--				return;				
--				
--			URL currentURL( window.document.URL );
--			String currentDocFilename = currentURL.getFileName() + '.' + currentURL.getFileExtension();
--			if( currentDocFilename == menu ) {
--				// FIXME: not sure this works correct in all cases of valid input URL
--				return;
--			}
--
--			menuloc = menu;
--			
--			Element @body = @window.document.body;
--			Element @content = @body.getElementById( "leftside" );
--			if( @content == null )
--				return;
--				
--			MoveAnimation anim( content, ANIMATION_DURATION_FAST, ANIM_ORIGIN, ANIM_LEFT, EASE_IN, animOpenMenuCallback );
--		}
--
--		void animOpenMenuCallback()
--		{
--			window.location = menuloc;
-+			window.location = menu;
- 		}
- 
- 		void quitGame( Element @self, Event @ev )
diff -ruN warsow.orig/files/patch-ui_as_asbind.h warsow/files/patch-ui_as_asbind.h
--- warsow.orig/files/patch-ui_as_asbind.h	2014-03-09 19:13:14.000000000 +0400
+++ warsow/files/patch-ui_as_asbind.h	1970-01-01 03:00:00.000000000 +0300
@@ -1,78 +0,0 @@
---- ui/as/asbind.h.orig	2012-07-21 13:38:20.000000000 +0400
-+++ ui/as/asbind.h	2014-02-06 06:32:49.000000000 +0400
-@@ -268,7 +268,7 @@
- 	}
- 
- 	// throw ?
--	template<typename T> const char * typestr() { ctassert<false>(); return "ERROR"; }
-+	template<typename T> const char * typestr();
- 
- 	template<> inline const char *typestr<signed int>() { return "int"; }
- 	template<> inline const char *typestr<unsigned int>() { return "uint"; }
-@@ -436,13 +436,7 @@
- // function string
- 
- template<typename R>
--struct FunctionStringProxy {
--	std::string operator()( const char *s )
--	{
--		ctassert<false>();
--		throw Exception( std::string("FunctionStringProxy base called with " ) + s );
--	}
--};
-+struct FunctionStringProxy;
- 
- template<typename R>
- struct FunctionStringProxy<R (*)()> {
-@@ -539,13 +533,7 @@
- 
- // method string
- 
--template<typename T> struct MethodStringProxy {
--	std::string operator()( const char *s  )
--	{
--		ctassert<false>();
--		throw Exception( std::string( "MethodStringProxy: base class called in " ) + s );
--	}
--};
-+template<typename T> struct MethodStringProxy;
- 
- //==
- 
-@@ -902,17 +890,8 @@
- // functor object to call script-function
- 
- // first define structs to get/set arguments (struct to partial-specialize)
--template<typename T> struct SetArg {
--	void operator()( asIScriptContext *ctx, int idx, T &t ) {
--		ctassert<false>();
--	}
--};
--template<typename T> struct GetArg {
--	T operator()() {
--		ctassert<false>();
--		return T();
--	}
--};
-+template<typename T> struct SetArg;
-+template<typename T> struct GetArg;
- 
- template<> struct SetArg<signed int> {
- 	void operator()( asIScriptContext *ctx, int idx, signed int &t ) { ctx->SetArgDWord( idx, t ); }
-@@ -1042,15 +1021,7 @@
- //=================
- 
- template<typename R>
--struct FunctionPtr : FunctionPtrBase {
--	FunctionPtr( asIScriptFunction *fptr=NULL ) : FunctionPtrBase( fptr ) {}
--	R operator()( void )
--	{
--		ctassert<false>();
--		throw std::runtime_error( "FunctionPtr baseclass called!" );
--		return R();
--	}
--};
-+struct FunctionPtr;
- 
- //==
- 


>Release-Note:
>Audit-Trail:
>Unformatted:



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