ports/189478: [PATCH] games/warsow: Update to v1.5
Sender Ghost
lightside at gmx.com
Thu May 8 16:30:00 UTC 2014
>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 at 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:
More information about the freebsd-ports-bugs
mailing list