From nobody@FreeBSD.org  Mon Jul 15 15:15:09 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
	by hub.freebsd.org (Postfix) with ESMTP id 0B4DE9C5
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 15 Jul 2013 15:15:09 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from oldred.freebsd.org (oldred.freebsd.org [8.8.178.121])
	by mx1.freebsd.org (Postfix) with ESMTP id E106325C
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 15 Jul 2013 15:15:08 +0000 (UTC)
Received: from oldred.freebsd.org ([127.0.1.6])
	by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id r6FFF83M019084
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 15 Jul 2013 15:15:08 GMT
	(envelope-from nobody@oldred.freebsd.org)
Received: (from nobody@localhost)
	by oldred.freebsd.org (8.14.5/8.14.5/Submit) id r6FFF8G8019080;
	Mon, 15 Jul 2013 15:15:08 GMT
	(envelope-from nobody)
Message-Id: <201307151515.r6FFF8G8019080@oldred.freebsd.org>
Date: Mon, 15 Jul 2013 15:15:08 GMT
From: Dominic Fandrey <kamikaze@bsdforen.de>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [maintainer-update] games/ioquake3 and slaves
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         180576
>Category:       ports
>Synopsis:       [maintainer-update] games/ioquake3 and slaves
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    marino
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jul 15 15:20:00 UTC 2013
>Closed-Date:    Sat Aug 31 15:08:19 UTC 2013
>Last-Modified:  Sat Aug 31 17:30:00 UTC 2013
>Originator:     Dominic Fandrey
>Release:        stable/9
>Organization:
private
>Environment:
FreeBSD mobileKamikaze.norad 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #0 r253339: Sun Jul 14 22:17:12 CEST 2013     root@mobileKamikaze.norad:/usr/obj/HP6510b-91/amd64/usr/src/sys/HP6510b-91  amd64
>Description:
- Fix breakage from conversion to new options framework
- Clean up slave feature triggers
- New style Makefile headers
>How-To-Repeat:
Currently all ioquak3 and slave ports are marked IGNORE due to wrong options.
>Fix:


Patch attached with submission follows:

Index: games/ioquake3/Makefile
===================================================================
--- games/ioquake3/Makefile	(revision 323028)
+++ games/ioquake3/Makefile	(working copy)
@@ -15,40 +15,31 @@
 USES=		pkgconfig
 USE_GMAKE=	yes
 
-.if defined(PKGNAMESUFFIX) && ${PKGNAMESUFFIX:M*-server}
-# Server config
-WITH_DEDICATED=	yes
-WITHOUT_CLIENT=	yes
-WITHOUT_SERVER=	yes
-WITHOUT_CURL=	yes
-WITHOUT_OPENAL=	yes
-WITHOUT_MUMBLE=	yes
-WITHOUT_VORBIS=	yes
-WITHOUT_TOOLS=	yes
-WITHOUT_DLRENDERER=	yes
-.else
-# Client config
-WITH_CLIENT=	yes
-WITHOUT_DEDICATED=	yes
+# Port configuration flags CLIENT SERVER TOOLS DLRENDERER GAMELIBS
+IOQ3?=		CLIENT TOOLS GAMELIBS
+
+.if ! ${IOQ3:MCLIENT} && ! ${IOQ3:MSERVER}
+BROKEN=		Slave ports must at least specify IOQ3=CLIENT or IOQ3=SERVER
+.endif
+
+# Client options
+.if ${IOQ3:MCLIENT}
 OPTIONS_DEFINE=	SERVER CURL OPENAL MUMBLE VORBIS DEBUG
 OPTIONS_DEFAULT=	SERVER CURL OPENAL MUMBLE VORBIS
 SERVER_DESC=	Install dedicated server
 MUMBLE_DESC=	Enable Mumble support (no dependencies)
-. if defined(NO_TOOLS)
-WITHOUT_TOOLS=	yes
-. else
+.endif
+.if ${IOQ3:MTOOLS}
 OPTIONS_DEFINE+=	TOOLS
 OPTIONS_DEFAULT+=	TOOLS
 TOOLS_DESC=	Enable modding tools
-. endif
-. if defined(HAS_DLRENDERER)
+.endif
+.if ${IOQ3:MDLRENDERER}
 OPTIONS_DEFINE+=	DLRENDERER
 OPTIONS_DEFAULT+=	DLRENDERER
 DLRENDERER_DESC=	Build dynamically loaded renderer
-. endif
 .endif
-# Common config
-.if !defined(NO_GAMELIBS)
+.if ${IOQ3:MGAMELIBS}
 OPTIONS_DEFINE+=	GAMELIBS
 OPTIONS_DEFAULT+=	GAMELIBS
 GAMELIBS_DESC=	Build game libraries
@@ -97,7 +88,7 @@
 .endif
 
 .if !defined(DESKTOP_ENTRIES)
-. if ${PORT_OPTIONS:MCLIENT}
+. if ${IOQ3:MCLIENT}
 DESKTOP_ENTRIES+=	"${Q3CLIENT} ${Q3ENGINEVER}" "${COMMENT}"  \
 		"${Q3ICON}" \
 		"${Q3CLIENT}${BINSUFFIX}" "Game;" false
@@ -109,12 +100,7 @@
 . endif
 .endif
 
-.if ! ${PORT_OPTIONS:MCLIENT} && ! ${PORT_OPTIONS:MDEDICATED} && \
-    ! ${PORT_OPTIONS:MSMP}
-IGNORE=		needs at least one of CLIENT, DEDICATED and SMP options
-.endif
-
-.if ${PORT_OPTIONS:MCLIENT} || ${PORT_OPTIONS:MSMP}
+.if ${IOQ3:MCLIENT}
 # cURL
 .if ${PORT_OPTIONS:MCURL}
 LIB_DEPENDS+=	curl:${PORTSDIR}/ftp/curl
@@ -145,12 +131,9 @@
 MAKE_ARGS+=	USE_MUMBLE=0
 .endif
 .else
-# Features that aren't installed without a client
-WITHOUT_DLRENDERER=	yes
 .endif
 
-# SMP is only built with CLIENT.
-.if ${PORT_OPTIONS:MCLIENT} || ${PORT_OPTIONS:MSMP}
+.if ${IOQ3:MCLIENT}
 MAKE_ARGS+=	BUILD_CLIENT=1
 PLIST_SUB+=	CLIENT=""
 Q3BIN+=		${Q3CLIENT}
@@ -159,7 +142,7 @@
 PLIST_SUB+=	CLIENT="@comment "
 .endif
 
-.if ${PORT_OPTIONS:MDEDICATED}
+.if ${IOQ3:MSERVER}
 MAKE_ARGS+=	BUILD_SERVER=1
 PLIST_SUB+=	DEDICATED=""
 Q3BIN+=		${Q3SERVER}
Index: games/ioquake3/pkg-descr
===================================================================
--- games/ioquake3/pkg-descr	(revision 323028)
+++ games/ioquake3/pkg-descr	(working copy)
@@ -8,4 +8,4 @@
 the engine has been ported to many new platforms and has had a slew of new
 features added, along with massive bug extermination.
 
-WWW:	http://ioquake3.org/
+WWW: http://ioquake3.org/
Index: games/ioquake3-devel/Makefile
===================================================================
--- games/ioquake3-devel/Makefile	(revision 323028)
+++ games/ioquake3-devel/Makefile	(working copy)
@@ -19,6 +19,6 @@
 SVNREVISION?=	2318
 BINSUFFIX?=	-devel
 
-HAS_DLRENDERER?=	yes
+IOQ3?=		CLIENT TOOLS DLRENDERER GAMELIBS
 
 .include "${MASTERDIR}/Makefile"
Index: games/ioquake3-devel-server/Makefile
===================================================================
--- games/ioquake3-devel-server/Makefile	(revision 323028)
+++ games/ioquake3-devel-server/Makefile	(working copy)
@@ -1,9 +1,5 @@
-# New ports collection makefile for:	ioquake3-devel-server
-# Date created:				19 May 2012
-# Whom:					Dominic Fandrey <kamikaze@bsdforen.de>
-#
+# Created by: Dominic Fandrey
 # $FreeBSD$
-#
 
 PORTNAME=	ioquake3-devel
 PKGNAMESUFFIX=	-server
@@ -14,4 +10,6 @@
 UNIQUENAME=	${PORTNAME}${PKGNAMESUFFIX}
 MASTERDIR=	${.CURDIR}/../${PORTNAME}
 
+IOQ3=		SERVER GAMELIBS
+
 .include "${MASTERDIR}/Makefile"
Index: games/ioquake3-server/Makefile
===================================================================
--- games/ioquake3-server/Makefile	(revision 323028)
+++ games/ioquake3-server/Makefile	(working copy)
@@ -1,9 +1,5 @@
-# New ports collection makefile for:	ioquake3-server
-# Date created:				19 May 2012
-# Whom:					Dominic Fandrey <kamikaze@bsdforen.de>
-#
+# Created by: Dominic Fandrey <kamikaze@bsdforen.de>
 # $FreeBSD$
-#
 
 PORTNAME=	ioquake3
 PKGNAMESUFFIX=	-server
@@ -14,4 +10,6 @@
 UNIQUENAME=	${PORTNAME}${PKGNAMESUFFIX}
 MASTERDIR=	${.CURDIR}/../${PORTNAME}
 
+IOQ3=		SERVER
+
 .include "${MASTERDIR}/Makefile"
Index: games/iourbanterror/Makefile
===================================================================
--- games/iourbanterror/Makefile	(revision 323028)
+++ games/iourbanterror/Makefile	(working copy)
@@ -1,9 +1,5 @@
-# New ports collection makefile for:	ioquake3
-# Date created:				3 Jun 2006
-# Whom:					alepulver
-#
+# Created by: alepulver
 # $FreeBSD$
-#
 
 PORTNAME=	iourbanterror
 PORTVERSION=	${GAMEVERSION}.s${SVNREVISION}
@@ -20,8 +16,8 @@
 DISTINFO_FILE=	${.CURDIR}/../ioquake3-devel/distinfo
 PLIST=		${.CURDIR}/../${PORTNAME}/pkg-plist
 
-NO_GAMELIBS=	yes
-NO_TOOLS=	yes
+IOQ3?=		CLIENT DLRENDERER
+
 # The docs belong to ioquake3
 NOPORTDOCS=	yes
 GAMEVERSION=	4.1.1
Index: games/iourbanterror/pkg-descr
===================================================================
--- games/iourbanterror/pkg-descr	(revision 323028)
+++ games/iourbanterror/pkg-descr	(working copy)
@@ -9,4 +9,4 @@
 This port installs a modified ioquake3 engine for Urban Terror called
 ioUrbanTerror, and depends on the data, resulting in a playable game.
 
-WWW:	http://www.urbanterror.info/
+WWW: http://www.urbanterror.info/
Index: games/iourbanterror-server/Makefile
===================================================================
--- games/iourbanterror-server/Makefile	(revision 323028)
+++ games/iourbanterror-server/Makefile	(working copy)
@@ -1,9 +1,5 @@
-# New ports collection makefile for:	iourbanterror-server
-# Date created:				19 May 2012
-# Whom:					Dominic Fandrey <kamikaze@bsdforen.de>
-#
+# Created by: Dominic Fandrey
 # $FreeBSD$
-#
 
 PORTNAME=	iourbanterror
 PKGNAMESUFFIX=	-server
@@ -14,4 +10,6 @@
 UNIQUENAME=	${PORTNAME}${PKGNAMESUFFIX}
 MASTERDIR=	${.CURDIR}/../${PORTNAME}
 
+IOQ3=		SERVER
+
 .include "${MASTERDIR}/Makefile"
Index: games/openarena/Makefile
===================================================================
--- games/openarena/Makefile	(revision 323028)
+++ games/openarena/Makefile	(working copy)
@@ -1,9 +1,5 @@
-# New ports collection makefile for:	openarena
-# Date created:				2007-08-01
-# Whom:					Josh Tolbert <hemi@puresimplicity.net>
-#
+# Created by: Josh Tolbert
 # $FreeBSD$
-#
 
 PORTNAME=	openarena
 PORTVERSION=	${GAMEVERSION}.s${SVNREVISION}
@@ -27,12 +23,9 @@
 PLIST=		${.CURDIR}/../${PORTNAME}/pkg-plist
 PKGMESSAGE=	${.CURDIR}/../${PORTNAME}/pkg-message
 
-NO_GAMELIBS=	yes
-NO_TOOLS=	yes
+IOQ3?=		CLIENT
 # OpenArena doc is too messy to bother
 NOPORTDOCS=	yes
-# Dynamically loaded renderer not yet supported
-WITHOUT_DLRENDERER=	yes
 
 GAMEVERSION=	0.8.8
 SVNREVISION=	1910
Index: games/openarena/pkg-descr
===================================================================
--- games/openarena/pkg-descr	(revision 323028)
+++ games/openarena/pkg-descr	(working copy)
@@ -4,4 +4,4 @@
 Domination, Overload, Harvester, and more. There are 17 unique player models to
 choose from and 12 weapons.
 
-WWW:	http://openarena.ws/
+WWW: http://openarena.ws/
Index: games/openarena-server/Makefile
===================================================================
--- games/openarena-server/Makefile	(revision 323028)
+++ games/openarena-server/Makefile	(working copy)
@@ -1,9 +1,5 @@
-# New ports collection makefile for:	openarena-server
-# Date created:				19 May 2012
-# Whom:					Dominic Fandrey <kamikaze@bsdforen.de>
-#
+# Created by: Dominic Fandrey
 # $FreeBSD$
-#
 
 PORTNAME=	openarena
 PKGNAMESUFFIX=	-server
@@ -14,4 +10,6 @@
 UNIQUENAME=	${PORTNAME}${PKGNAMESUFFIX}
 MASTERDIR=	${.CURDIR}/../${PORTNAME}
 
+IOQ3=		SERVER
+
 .include "${MASTERDIR}/Makefile"


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->miwi 
Responsible-Changed-By: miwi 
Responsible-Changed-When: Tue Jul 16 03:58:02 UTC 2013 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=180576 

From: Dominic Fandrey <kamikaze@bsdforen.de>
To: bug-followup@FreeBSD.org, kamikaze@bsdforen.de
Cc:  
Subject: Re: ports/180576: [maintainer-update] games/ioquake3 and slaves
Date: Tue, 23 Jul 2013 14:25:20 +0200

 This is a multi-part message in MIME format.
 --------------040300040302090505090103
 Content-Type: text/plain; charset=ascii
 Content-Transfer-Encoding: 7bit
 
 Attached is an updated patchset.
 
 The patch removes files, take heed when applying!
 
 Infrastructure changes:
 - Switch to using PLIST_FILES instead of a pkg-plist files
 - Unify the generation of the do-install target and PLIST_FILES
 - Include more documentation
 
 ioquake3-devel* and iourbanterror* changes:
 - Sources are updated from SVN revision 2318 to GIT revision 2178
 - Switch to .xz packaged sources (smaller distfiles)
 - Introduce OPUS support
 - Introduce OpenGL2 support
 
 urbanterror-data:
 - Update from 4.1.1 to 4.2.014, contributed by Zhihao Yuan <lichray@gmail.com>
 
 -- 
 A: Because it fouls the order in which people normally read text.
 Q: Why is top-posting such a bad thing?
 A: Top-posting.
 Q: What is the most annoying thing on usenet and in e-mail? 
 
 
 --------------040300040302090505090103
 Content-Type: text/plain; charset=UTF-8;
  name="patch-ports-games-ioquake3.txt"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
  filename="patch-ports-games-ioquake3.txt"
 
 Index: games/ioquake3/Makefile
 ===================================================================
 --- games/ioquake3/Makefile	(revision 323473)
 +++ games/ioquake3/Makefile	(working copy)
 @@ -15,60 +15,55 @@
  USES=		pkgconfig
  USE_GMAKE=	yes
  
 -.if defined(PKGNAMESUFFIX) && ${PKGNAMESUFFIX:M*-server}
 -# Server config
 -WITH_DEDICATED=	yes
 -WITHOUT_CLIENT=	yes
 -WITHOUT_SERVER=	yes
 -WITHOUT_CURL=	yes
 -WITHOUT_OPENAL=	yes
 -WITHOUT_MUMBLE=	yes
 -WITHOUT_VORBIS=	yes
 -WITHOUT_TOOLS=	yes
 -WITHOUT_DLRENDERER=	yes
 -.else
 -# Client config
 -WITH_CLIENT=	yes
 -WITHOUT_DEDICATED=	yes
 +# Port configuration flags:
 +# 	CLIENT SERVER TOOLS DLRENDERER GAMELIBS OPUS OPENGL2
 +IOQ3?=		CLIENT TOOLS GAMELIBS
 +IOQ3ARCH?=	${ARCH}
 +
 +.if ! ${IOQ3:MCLIENT} && ! ${IOQ3:MSERVER}
 +BROKEN=		Slave ports must at least specify IOQ3=CLIENT or IOQ3=SERVER
 +.endif
 +
 +# Client options
 +.if ${IOQ3:MCLIENT}
  OPTIONS_DEFINE=	SERVER CURL OPENAL MUMBLE VORBIS DEBUG
  OPTIONS_DEFAULT=	SERVER CURL OPENAL MUMBLE VORBIS
  SERVER_DESC=	Install dedicated server
  MUMBLE_DESC=	Enable Mumble support (no dependencies)
 -. if defined(NO_TOOLS)
 -WITHOUT_TOOLS=	yes
 -. else
 +.endif
 +.if ${IOQ3:MTOOLS}
  OPTIONS_DEFINE+=	TOOLS
  OPTIONS_DEFAULT+=	TOOLS
  TOOLS_DESC=	Enable modding tools
 -. endif
 -. if defined(HAS_DLRENDERER)
 +.endif
 +.if ${IOQ3:MDLRENDERER}
  OPTIONS_DEFINE+=	DLRENDERER
  OPTIONS_DEFAULT+=	DLRENDERER
  DLRENDERER_DESC=	Build dynamically loaded renderer
 -. endif
  .endif
 -# Common config
 -.if !defined(NO_GAMELIBS)
 +.if ${IOQ3:MGAMELIBS}
  OPTIONS_DEFINE+=	GAMELIBS
  OPTIONS_DEFAULT+=	GAMELIBS
  GAMELIBS_DESC=	Build game libraries
  .endif
 +.if ${IOQ3:MOPUS}
 +OPTIONS_DEFINE+=	OPUS
 +OPTIONS_DEFAULT+=	OPUS
 +OPUS_DESC=	Opus audio codec support
 +.endif
  
  MAKE_ARGS+=	DEFAULT_BASEDIR="${Q3DIR}" \
 -		DEFAULT_LIBDIR="${LIBDIR}" \
 +		DEFAULT_LIBDIR="${PREFIX}/${LIBDIR}" \
  		HOMEPATH="${HOMEPATH}" \
  		VERSION="${Q3ENGINEVER}" \
 -		ARCH="${ARCH}" \
 +		ARCH="${IOQ3ARCH}" \
  		USE_LOCAL_HEADERS=0
 -PLIST_SUB+=	LIBDIR="${LIBDIR:S/${PREFIX}\///}" \
 -		ARCH="${ARCH}" \
 -		BINSUFFIX="${BINSUFFIX}"
  ALL_TARGET=	release
  MAKE_JOBS_SAFE=	yes
  
 -LIBDIR=		${PREFIX}/lib/${PORTNAME}${PKGNAMESUFFIX}
 -DOCSDIR=	${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX}
 -BUILDDIR=	${WRKSRC}/build/${ALL_TARGET}-${OPSYS:L}-${ARCH}
 +LIBDIR=		lib/${PORTNAME}${PKGNAMESUFFIX}
 +DOCSDIR=	share/doc/${PORTNAME}${PKGNAMESUFFIX}
 +BUILDDIR=	${WRKSRC}/build/${ALL_TARGET}-${OPSYS:L}-${IOQ3ARCH}
  BINSUFFIX?=
  HOMEPATH?=	/.${PORTNAME}
  Q3CLIENT?=	ioquake3
 @@ -77,10 +72,21 @@
  		q3cpp \
  		q3lcc \
  		q3rcc
 +Q3DOCS?=	README \
 +		id-readme.txt \
 +		md4-readme.txt \
 +		voip-readme.txt
  Q3BASE?=	baseq3 \
  		missionpack
 +Q3GAMELIBS?=	cgame \
 +		qagame \
 +		ui
  Q3ICON?=	${PREFIX}/share/pixmaps/quake3.xpm
 -Q3RENDERER?=	renderer_opengl1_${ARCH}
 +.if ${IOQ3:MOPENGL2}
 +Q3RENDERER?=	renderer_opengl1_${IOQ3ARCH} renderer_opengl2_${IOQ3ARCH}
 +.else
 +Q3RENDERER?=	renderer_opengl1_${IOQ3ARCH}
 +.endif
  Q3INSTALL?=
  Q3ENGINEVER?=	${DISTVERSION}
  
 @@ -97,7 +103,7 @@
  .endif
  
  .if !defined(DESKTOP_ENTRIES)
 -. if ${PORT_OPTIONS:MCLIENT}
 +. if ${IOQ3:MCLIENT}
  DESKTOP_ENTRIES+=	"${Q3CLIENT} ${Q3ENGINEVER}" "${COMMENT}"  \
  		"${Q3ICON}" \
  		"${Q3CLIENT}${BINSUFFIX}" "Game;" false
 @@ -109,13 +115,21 @@
  . endif
  .endif
  
 -.if ! ${PORT_OPTIONS:MCLIENT} && ! ${PORT_OPTIONS:MDEDICATED} && \
 -    ! ${PORT_OPTIONS:MSMP}
 -IGNORE=		needs at least one of CLIENT, DEDICATED and SMP options
 +.if ${IOQ3:MCLIENT}
 +MAKE_ARGS+=	BUILD_CLIENT=1
 +Q3BIN+=		${Q3CLIENT}
 +USE_SDL=	sdl
 +.else
 +MAKE_ARGS+=	BUILD_CLIENT=0
  .endif
  
 -.if ${PORT_OPTIONS:MCLIENT} || ${PORT_OPTIONS:MSMP}
 -# cURL
 +.if ${IOQ3:MSERVER}
 +MAKE_ARGS+=	BUILD_SERVER=1
 +Q3BIN+=		${Q3SERVER}
 +.else
 +MAKE_ARGS+=	BUILD_SERVER=0
 +.endif
 +
  .if ${PORT_OPTIONS:MCURL}
  LIB_DEPENDS+=	curl:${PORTSDIR}/ftp/curl
  MAKE_ARGS+=	USE_CURL=1 USE_CURL_DLOPEN=0
 @@ -122,7 +136,7 @@
  .else
  MAKE_ARGS+=	USE_CURL=0
  .endif
 -# OpenAL
 +
  .if ${PORT_OPTIONS:MOPENAL}
  USE_OPENAL=	al
  MAKE_ARGS+=	USE_OPENAL=1 USE_OPENAL_DLOPEN=0
 @@ -129,108 +143,100 @@
  .else
  MAKE_ARGS+=	USE_OPENAL=0
  .endif
 -# SDL
 -USE_SDL=	sdl
 -# Vorbis
 +
  .if ${PORT_OPTIONS:MVORBIS}
 -LIB_DEPENDS+=	vorbis.4:${PORTSDIR}/audio/libvorbis
 +LIB_DEPENDS+=	vorbis:${PORTSDIR}/audio/libvorbis
  MAKE_ARGS+=	USE_CODEC_VORBIS=1
  .else
  MAKE_ARGS+=	USE_CODEC_VORBIS=0
  .endif
 -# Mumble
 -.if ${PORT_OPTIONS:MMUMBLE}
 -MAKE_ARGS+=	USE_MUMBLE=1
 -.else
 -MAKE_ARGS+=	USE_MUMBLE=0
 -.endif
 -.else
 -# Features that aren't installed without a client
 -WITHOUT_DLRENDERER=	yes
 -.endif
  
 -# SMP is only built with CLIENT.
 -.if ${PORT_OPTIONS:MCLIENT} || ${PORT_OPTIONS:MSMP}
 -MAKE_ARGS+=	BUILD_CLIENT=1
 -PLIST_SUB+=	CLIENT=""
 -Q3BIN+=		${Q3CLIENT}
 +.if ${PORT_OPTIONS:MOPUS}
 +MAKE_ARGS+=	USE_CODEC_OPUS=1 USE_INTERNAL_OPUS=1
  .else
 -MAKE_ARGS+=	BUILD_CLIENT=0
 -PLIST_SUB+=	CLIENT="@comment "
 +MAKE_ARGS+=	USE_CODEC_OPUS=0
  .endif
  
 -.if ${PORT_OPTIONS:MDEDICATED}
 -MAKE_ARGS+=	BUILD_SERVER=1
 -PLIST_SUB+=	DEDICATED=""
 -Q3BIN+=		${Q3SERVER}
 +.if ${PORT_OPTIONS:MMUMBLE}
 +MAKE_ARGS+=	USE_MUMBLE=1
  .else
 -MAKE_ARGS+=	BUILD_SERVER=0
 -PLIST_SUB+=	DEDICATED="@comment "
 +MAKE_ARGS+=	USE_MUMBLE=0
  .endif
  
  .if ${PORT_OPTIONS:MGAMELIBS}
  MAKE_ARGS+=	BUILD_GAME_SO=1
 -PLIST_SUB+=	GAMELIBS=""
  .else
 -PLIST_SUB+=	GAMELIBS="@comment "
 +MAKE_ARGS+=	BUILD_GAME_SO=0
  .endif
  
  # Note that SMP is only supported on OS-X, hence the option has been removed.
  .if ${PORT_OPTIONS:MSMP}
  MAKE_ARGS+=	BUILD_CLIENT_SMP=1
 -PLIST_SUB+=	SMP=""
  Q3BIN+=		${Q3CLIENT}-smp
  .else
  MAKE_ARGS+=	BUILD_CLIENT_SMP=0
 -PLIST_SUB+=	SMP="@comment "
  .endif
  
  .if ${PORT_OPTIONS:MDLRENDERER}
 -PLIST_SUB+=	DLRENDERER=""
  MAKE_ARGS+=	USE_RENDERER_DLOPEN=1
 +. if ${IOQ3:MOPENGL2}
 +Q3DOCS+=	opengl2-readme.txt
 +. endif
  .else
  MAKE_ARGS+=	USE_RENDERER_DLOPEN=0
 -PLIST_SUB+=	DLRENDERER="@comment "
  .endif
  
 -.if ${PORT_OPTIONS:MTOOLS}
 -PLIST_SUB+=	TOOLS=""
 -.else
 -PLIST_SUB+=	TOOLS="@comment "
 -.endif
 -
 -do-install: ${Q3INSTALL}
 +# Generate a set of install instruction tuples: <cmd>;<src>;<dst>
  .for bin in ${Q3BIN}
 -	${INSTALL_PROGRAM} ${BUILDDIR}/${bin}.${ARCH} \
 -		${PREFIX}/bin/${bin}${BINSUFFIX}
 +IOQ3_INST+=	PROGRAM;${bin}.${IOQ3ARCH};bin/${bin}${BINSUFFIX}
  .endfor
  .if ${PORT_OPTIONS:MTOOLS}
 -.for bin in ${Q3TOOLS}
 -	${INSTALL_PROGRAM} ${BUILDDIR}/tools/${bin} \
 -		${PREFIX}/bin/${bin}${BINSUFFIX}
 -.endfor
 +. for bin in ${Q3TOOLS}
 +IOQ3_INST+=	PROGRAM;tools/${bin};bin/${bin}${BINSUFFIX}
 +. endfor
  .endif
  .if ${PORT_OPTIONS:MDLRENDERER}
 -.for renderer in ${Q3RENDERER}
 -	${MKDIR} ${LIBDIR}
 -	${INSTALL_LIB} ${BUILDDIR}/${renderer}.so ${LIBDIR}
 -.endfor
 +. for renderer in ${Q3RENDERER}
 +IOQ3_INST+=	LIB;${renderer}.so;${LIBDIR}/${renderer}.so
 +. endfor
  .endif
  .if ${PORT_OPTIONS:MGAMELIBS}
 -.for dir in ${Q3BASE}
 -	${MKDIR} ${LIBDIR}/${dir}
 -	${INSTALL_LIB} ${BUILDDIR}/${dir}/*.so ${LIBDIR}/${dir}
 -.endfor
 +. for dir in ${Q3BASE}
 +PLIST_DIRS+=	${LIBDIR}/${dir}
 +.  for lib in ${Q3GAMELIBS}
 +IOQ3_INST+=	LIB;${dir}/${lib}${IOQ3ARCH}.so;${LIBDIR}/${dir}/${lib}${IOQ3ARCH}.so
 +.  endfor
 +. endfor
  .endif
 +.if ${PORT_OPTIONS:MDLRENDERER} || ${PORT_OPTIONS:MGAMELIBS}
 +PLIST_DIRS+=	${LIBDIR}
 +.endif
  .if ${PORT_OPTIONS:MDOCS}
 -	${MKDIR} ${DOCSDIR}
 -	${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
 +PLIST_DIRS+=	${DOCSDIR}
 +. for doc in ${Q3DOCS}
 +IOQ3_INST+=	DATA;../../${doc};${DOCSDIR}/${doc}
 +. endfor
  .endif
  
 +# Generate PLIST_FILES
 +.for inst in ${IOQ3_INST}
 +PLIST_FILES+=	${inst:C/.*;//}
 +.endfor
 +
 +# Generate install target
 +do-install: ${Q3INSTALL}
 +.for dir in ${PLIST_DIRS}
 +	${MKDIR} ${PREFIX}/${dir}
 +.endfor
 +.for inst in ${IOQ3_INST}
 +	${INSTALL_${inst:C/;.*//}} ${BUILDDIR}/${inst:C/[^;]*;//:C/;.*//} \
 +		${PREFIX}/${inst:C/.*;//}
 +.endfor
 +
  post-install:
 -	@${ECHO_CMD}
 +	@${JOT} -s '' -b= 78
  	@${CAT} ${PKGMESSAGE}
 -	@${ECHO_CMD}
 +	@${JOT} -s '' -b= 78
  
  .if !defined(Q3TOTALCONV)
  .include "${.CURDIR}/../quake3-data/Makefile.include"
 Index: games/ioquake3/pkg-descr
 ===================================================================
 --- games/ioquake3/pkg-descr	(revision 323473)
 +++ games/ioquake3/pkg-descr	(working copy)
 @@ -8,4 +8,4 @@
  the engine has been ported to many new platforms and has had a slew of new
  features added, along with massive bug extermination.
  
 -WWW:	http://ioquake3.org/
 +WWW: http://ioquake3.org/
 Index: games/ioquake3/pkg-message
 ===================================================================
 --- games/ioquake3/pkg-message	(revision 323473)
 +++ games/ioquake3/pkg-message	(working copy)
 @@ -1,5 +1,3 @@
 -==============================================================================
 -
  Should the game freeze when entering a match, try to change the value of
  com_zoneMegs (e.g. to 48).
  
 @@ -7,5 +5,3 @@
  they have additional variables which would be removed if other engines
  overwrite them. But you can safely copy the original directory to the new one
  for the first time.
 -
 -==============================================================================
 Index: games/ioquake3/pkg-plist
 ===================================================================
 --- games/ioquake3/pkg-plist	(revision 323473)
 +++ games/ioquake3/pkg-plist	(working copy)
 @@ -1,19 +0,0 @@
 -%%DEDICATED%%bin/ioq3ded%%BINSUFFIX%%
 -%%CLIENT%%bin/ioquake3%%BINSUFFIX%%
 -%%SMP%%bin/ioquake3-smp%%BINSUFFIX%%
 -%%TOOLS%%bin/q3asm%%BINSUFFIX%%
 -%%TOOLS%%bin/q3cpp%%BINSUFFIX%%
 -%%TOOLS%%bin/q3lcc%%BINSUFFIX%%
 -%%TOOLS%%bin/q3rcc%%BINSUFFIX%%
 -%%DLRENDERER%%%%LIBDIR%%/renderer_opengl1_%%ARCH%%.so
 -%%GAMELIBS%%%%LIBDIR%%/baseq3/cgame%%ARCH%%.so
 -%%GAMELIBS%%%%LIBDIR%%/baseq3/qagame%%ARCH%%.so
 -%%GAMELIBS%%%%LIBDIR%%/baseq3/ui%%ARCH%%.so
 -%%GAMELIBS%%%%LIBDIR%%/missionpack/cgame%%ARCH%%.so
 -%%GAMELIBS%%%%LIBDIR%%/missionpack/qagame%%ARCH%%.so
 -%%GAMELIBS%%%%LIBDIR%%/missionpack/ui%%ARCH%%.so
 -%%PORTDOCS%%%%DOCSDIR%%/README
 -%%GAMELIBS%%@dirrm %%LIBDIR%%/missionpack
 -%%GAMELIBS%%@dirrm %%LIBDIR%%/baseq3
 -@dirrmtry %%LIBDIR%%
 -%%PORTDOCS%%@dirrm %%DOCSDIR%%
 Index: games/ioquake3-devel/Makefile
 ===================================================================
 --- games/ioquake3-devel/Makefile	(revision 323473)
 +++ games/ioquake3-devel/Makefile	(working copy)
 @@ -2,23 +2,25 @@
  # $FreeBSD$
  
  PORTNAME?=	ioquake3-devel
 -DISTVERSION?=	1.36_SVN${SVNREVISION}
 +DISTVERSION?=	GIT${GITREVISION}
  PORTREVISION?=	0
  MASTER_SITES?=	ftp://deponie.yamagi.org/freebsd/distfiles/ioquake3/ \
  		http://deponie.yamagi.org/freebsd/distfiles/ioquake3/
 +EXTRACT_SUFX?=	.tar.xz
  
  MAINTAINER?=	kamikaze@bsdforen.de
 -COMMENT?=	Development SVN snapshots of ioquake3
 +COMMENT?=	Development GIT snapshots of ioquake3
  
  MASTERDIR=	${.CURDIR}/../ioquake3
  DESCR?=		${.CURDIR}/../${PORTNAME}/pkg-descr
  DISTINFO_FILE?=	${.CURDIR}/../${PORTNAME}/distinfo
 -PATCHDIR?=	${WRKDIR}/freebsd-patchset/
 +PATCHDIR?=	${.CURDIR}/../${PORTNAME}/files
  PKGMESSAGE?=	${.CURDIR}/../${PORTNAME}/pkg-message
  
 -SVNREVISION?=	2318
 +GITREVISION?=	2178
  BINSUFFIX?=	-devel
  
 -HAS_DLRENDERER?=	yes
 +IOQ3?=		CLIENT TOOLS DLRENDERER GAMELIBS OPUS OPENGL2
 +IOQ3ARCH?=	${ARCH:S/i386/x86/:S/amd64/x86_64/}
  
  .include "${MASTERDIR}/Makefile"
 Index: games/ioquake3-devel/distinfo
 ===================================================================
 --- games/ioquake3-devel/distinfo	(revision 323473)
 +++ games/ioquake3-devel/distinfo	(working copy)
 @@ -1,2 +1,2 @@
 -SHA256 (ioquake3-devel-1.36_SVN2318.zip) = 5e82c2108425ef3ce7de463ea924b8b83e6d84b38a60c4561195b4d37ab76c15
 -SIZE (ioquake3-devel-1.36_SVN2318.zip) = 5657343
 +SHA256 (ioquake3-devel-GIT2178.tar.xz) = 9567243047c7c0ef6f9e329a1c8be826bdce4f12d02685eb51ec3a8058324eb9
 +SIZE (ioquake3-devel-GIT2178.tar.xz) = 4167780
 Index: games/ioquake3-devel/pkg-message
 ===================================================================
 --- games/ioquake3-devel/pkg-message	(revision 323473)
 +++ games/ioquake3-devel/pkg-message	(working copy)
 @@ -1,6 +1,2 @@
 -==============================================================================
 -
  Should the game have trouble meeting com_maxfps, which would result in less
  effective strafe jumping, set com_busywait 1 to restore the old behaviour.
 -
 -==============================================================================
 Index: games/ioquake3-devel-server/Makefile
 ===================================================================
 --- games/ioquake3-devel-server/Makefile	(revision 323473)
 +++ games/ioquake3-devel-server/Makefile	(working copy)
 @@ -1,9 +1,5 @@
 -# New ports collection makefile for:	ioquake3-devel-server
 -# Date created:				19 May 2012
 -# Whom:					Dominic Fandrey <kamikaze@bsdforen.de>
 -#
 +# Created by: Dominic Fandrey
  # $FreeBSD$
 -#
  
  PORTNAME=	ioquake3-devel
  PKGNAMESUFFIX=	-server
 @@ -14,4 +10,6 @@
  UNIQUENAME=	${PORTNAME}${PKGNAMESUFFIX}
  MASTERDIR=	${.CURDIR}/../${PORTNAME}
  
 +IOQ3=		SERVER GAMELIBS
 +
  .include "${MASTERDIR}/Makefile"
 Index: games/ioquake3-server/Makefile
 ===================================================================
 --- games/ioquake3-server/Makefile	(revision 323473)
 +++ games/ioquake3-server/Makefile	(working copy)
 @@ -1,9 +1,5 @@
 -# New ports collection makefile for:	ioquake3-server
 -# Date created:				19 May 2012
 -# Whom:					Dominic Fandrey <kamikaze@bsdforen.de>
 -#
 +# Created by: Dominic Fandrey <kamikaze@bsdforen.de>
  # $FreeBSD$
 -#
  
  PORTNAME=	ioquake3
  PKGNAMESUFFIX=	-server
 @@ -14,4 +10,6 @@
  UNIQUENAME=	${PORTNAME}${PKGNAMESUFFIX}
  MASTERDIR=	${.CURDIR}/../${PORTNAME}
  
 +IOQ3=		SERVER GAMELIBS
 +
  .include "${MASTERDIR}/Makefile"
 Index: games/iourbanterror/Makefile
 ===================================================================
 --- games/iourbanterror/Makefile	(revision 323473)
 +++ games/iourbanterror/Makefile	(working copy)
 @@ -1,15 +1,11 @@
 -# New ports collection makefile for:	ioquake3
 -# Date created:				3 Jun 2006
 -# Whom:					alepulver
 -#
 +# Created by: alepulver
  # $FreeBSD$
 -#
  
  PORTNAME=	iourbanterror
 -PORTVERSION=	${GAMEVERSION}.s${SVNREVISION}
 +PORTVERSION=	${GAMEVERSION}.g${GITREVISION}
  PORTEPOCH=	1
  CATEGORIES=	games
 -DISTNAME=	ioquake3-devel-1.36_SVN${SVNREVISION}
 +DISTNAME=	ioquake3-devel-GIT${GITREVISION}
  
  MAINTAINER=	kamikaze@bsdforen.de
  COMMENT=	Quake 3 engine modified for Urban Terror (based on ioquake3)
 @@ -18,14 +14,13 @@
  
  MASTERDIR=	${.CURDIR}/../ioquake3-devel
  DISTINFO_FILE=	${.CURDIR}/../ioquake3-devel/distinfo
 -PLIST=		${.CURDIR}/../${PORTNAME}/pkg-plist
  
 -NO_GAMELIBS=	yes
 -NO_TOOLS=	yes
 +IOQ3?=		CLIENT DLRENDERER OPUS OPENGL2
 +
  # The docs belong to ioquake3
 -NOPORTDOCS=	yes
 -GAMEVERSION=	4.1.1
 -Q3ENGINEVER=	1.36_SVN${SVNREVISION}+${GAMEVERSION}
 +OPTIONS_EXCLUDE=	DOCS
 +GAMEVERSION=	4.2.014
 +Q3ENGINEVER=	GIT${GITREVISION}+${GAMEVERSION}
  Q3TOTALCONV=	yes
  Q3DIR=		${PREFIX}/share/quake3
  Q3ICON=		${PREFIX}/share/quake3/q3ut4/q3ut.ico
 @@ -38,12 +33,7 @@
  MAKE_ARGS+=	BUILD_MISSIONPACK=0 \
  		BUILD_STANDALONE=1
  
 -UTPATCHES=	${.CURDIR}/../${PORTNAME}/files/*
 -
  post-patch:
 -	@for utpatch in ${UTPATCHES}; do \
 -		${PATCH} -sd "${WRKSRC}" < $$utpatch; \
 -	done
  	@${REINPLACE_CMD} \
  		-e 's/ioquake3/${Q3CLIENT}/g' \
  		-e 's/ioq3ded/${Q3SERVER}/g' \
 Index: games/iourbanterror/pkg-descr
 ===================================================================
 --- games/iourbanterror/pkg-descr	(revision 323473)
 +++ games/iourbanterror/pkg-descr	(working copy)
 @@ -9,4 +9,4 @@
  This port installs a modified ioquake3 engine for Urban Terror called
  ioUrbanTerror, and depends on the data, resulting in a playable game.
  
 -WWW:	http://www.urbanterror.info/
 +WWW: http://www.urbanterror.info/
 Index: games/iourbanterror/pkg-message
 ===================================================================
 --- games/iourbanterror/pkg-message	(revision 323473)
 +++ games/iourbanterror/pkg-message	(working copy)
 @@ -1,5 +1,3 @@
 -==============================================================================
 -
  Note, that the port was switched over to use the original ioquake project
  source code instead of code provided by the UrbanTerror project. The
  UrbanTerror project is switching to a closed source licensing model:
 @@ -7,5 +5,3 @@
  
  Should the game have trouble meeting com_maxfps, set com_busywait 1 to restore
  the old behaviour.
 -
 -==============================================================================
 Index: games/iourbanterror/pkg-plist
 ===================================================================
 --- games/iourbanterror/pkg-plist	(revision 323473)
 +++ games/iourbanterror/pkg-plist	(working copy)
 @@ -1,5 +0,0 @@
 -%%DEDICATED%%bin/ioUrTded
 -%%CLIENT%%bin/ioUrbanTerror
 -%%SMP%%bin/ioUrbanTerror-smp
 -%%DLRENDERER%%%%LIBDIR%%/renderer_opengl1_%%ARCH%%.so
 -%%DLRENDERER%%@dirrm %%LIBDIR%%
 Index: games/iourbanterror-server/Makefile
 ===================================================================
 --- games/iourbanterror-server/Makefile	(revision 323473)
 +++ games/iourbanterror-server/Makefile	(working copy)
 @@ -1,9 +1,5 @@
 -# New ports collection makefile for:	iourbanterror-server
 -# Date created:				19 May 2012
 -# Whom:					Dominic Fandrey <kamikaze@bsdforen.de>
 -#
 +# Created by: Dominic Fandrey
  # $FreeBSD$
 -#
  
  PORTNAME=	iourbanterror
  PKGNAMESUFFIX=	-server
 @@ -14,4 +10,6 @@
  UNIQUENAME=	${PORTNAME}${PKGNAMESUFFIX}
  MASTERDIR=	${.CURDIR}/../${PORTNAME}
  
 +IOQ3=		SERVER
 +
  .include "${MASTERDIR}/Makefile"
 Index: games/openarena/Makefile
 ===================================================================
 --- games/openarena/Makefile	(revision 323473)
 +++ games/openarena/Makefile	(working copy)
 @@ -1,9 +1,5 @@
 -# New ports collection makefile for:	openarena
 -# Date created:				2007-08-01
 -# Whom:					Josh Tolbert <hemi@puresimplicity.net>
 -#
 +# Created by: Josh Tolbert
  # $FreeBSD$
 -#
  
  PORTNAME=	openarena
  PORTVERSION=	${GAMEVERSION}.s${SVNREVISION}
 @@ -24,19 +20,16 @@
  DESCR=		${.CURDIR}/../${PORTNAME}/pkg-descr
  DISTINFO_FILE=	${.CURDIR}/../${PORTNAME}/distinfo
  PATCHDIR=	${.CURDIR}/../${PORTNAME}/files
 -PLIST=		${.CURDIR}/../${PORTNAME}/pkg-plist
  PKGMESSAGE=	${.CURDIR}/../${PORTNAME}/pkg-message
  
 -NO_GAMELIBS=	yes
 -NO_TOOLS=	yes
 +IOQ3?=		CLIENT
 +IOQ3ARCH?=	${ARCH}
  # OpenArena doc is too messy to bother
 -NOPORTDOCS=	yes
 -# Dynamically loaded renderer not yet supported
 -WITHOUT_DLRENDERER=	yes
 +OPTIONS_EXCLUDE=	DOCS
  
  GAMEVERSION=	0.8.8
  SVNREVISION=	1910
 -Q3ENGINEVER=	1.36_SVN${SVNREVISION}+${GAMEVERSION}
 +Q3ENGINEVER=	SVN${SVNREVISION}+${GAMEVERSION}
  Q3TOTALCONV=	yes
  Q3CLIENT=	openarena
  Q3SERVER=	oa_ded
 Index: games/openarena/pkg-descr
 ===================================================================
 --- games/openarena/pkg-descr	(revision 323473)
 +++ games/openarena/pkg-descr	(working copy)
 @@ -4,4 +4,4 @@
  Domination, Overload, Harvester, and more. There are 17 unique player models to
  choose from and 12 weapons.
  
 -WWW:	http://openarena.ws/
 +WWW: http://openarena.ws/
 Index: games/openarena/pkg-message
 ===================================================================
 --- games/openarena/pkg-message	(revision 323473)
 +++ games/openarena/pkg-message	(working copy)
 @@ -1,6 +1,2 @@
 -==============================================================================
 -
  Should the game have trouble meeting com_maxfps, which would result in less
  effective strafe jumping, set com_busywait 1 to restore the old behaviour.
 -
 -==============================================================================
 Index: games/openarena/pkg-plist
 ===================================================================
 --- games/openarena/pkg-plist	(revision 323473)
 +++ games/openarena/pkg-plist	(working copy)
 @@ -1,3 +0,0 @@
 -%%DEDICATED%%bin/oa_ded%%BINSUFFIX%%
 -%%CLIENT%%bin/openarena%%BINSUFFIX%%
 -%%SMP%%bin/openarena-smp%%BINSUFFIX%%
 Index: games/openarena-server/Makefile
 ===================================================================
 --- games/openarena-server/Makefile	(revision 323473)
 +++ games/openarena-server/Makefile	(working copy)
 @@ -1,9 +1,5 @@
 -# New ports collection makefile for:	openarena-server
 -# Date created:				19 May 2012
 -# Whom:					Dominic Fandrey <kamikaze@bsdforen.de>
 -#
 +# Created by: Dominic Fandrey
  # $FreeBSD$
 -#
  
  PORTNAME=	openarena
  PKGNAMESUFFIX=	-server
 @@ -14,4 +10,6 @@
  UNIQUENAME=	${PORTNAME}${PKGNAMESUFFIX}
  MASTERDIR=	${.CURDIR}/../${PORTNAME}
  
 +IOQ3=		SERVER
 +
  .include "${MASTERDIR}/Makefile"
 Index: games/urbanterror-data/Makefile
 ===================================================================
 --- games/urbanterror-data/Makefile	(revision 323473)
 +++ games/urbanterror-data/Makefile	(working copy)
 @@ -1,18 +1,14 @@
 -# New ports collection makefile for:	urbanterror-data
 -# Date created:				2007-09-10
 -# Whom:					alepulver
 -#
 +# Created by: alepulver
  # $FreeBSD$
 -#
  
  PORTNAME=	data
 -PORTVERSION=	4.1.1
 +PORTVERSION=	4.2.014
  CATEGORIES=	games
 -MASTER_SITES=	ftp://ftp.snt.utwente.nl/pub/games/urbanterror/full_install/linux_or_mac/ \
 -		http://www.iourt.com/files/ \
 -		http://urbanterror.mtc-team.fr/
 +MASTER_SITES=	http://www.ftwgl.com/files/mirror/ \
 +		http://www.f1m.fr/uploads/urt/ \
 +		http://maps.goreclan.net/
  PKGNAMEPREFIX=	urbanterror-
 -DISTNAME=	UrbanTerror${PORTVERSION:S/.//g}
 +DISTNAME=	UrbanTerror${URT_VER}_full${URT_REV}
  EXTRACT_SUFX=	.zip
  EXTRACT_ONLY=
  
 @@ -23,18 +19,25 @@
  NO_PACKAGE=	Package will be 1GB; set FORCE_PACKAGE if you really want it
  
  DATADIR=	${PREFIX}/share/quake3
 +DOCSDIR=	${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME}
  
 +URT_VER=	${PORTVERSION:C/([0-9]+).([0-9]+).*/\1\2/}
 +URT_REV=	${PORTVERSION:C/([0-9]+\.[0-9]+).*\.([0-9]+)/\2/}
 +
 +PLIST_SUB+=	VER=${URT_VER}
 +
 +.include <bsd.port.options.mk>
 +
  do-install:
  	${MKDIR} ${DATADIR}/q3ut4
  	${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${DISTDIR}/${DISTFILES} \
  		${EXTRACT_AFTER_ARGS} -C ${DATADIR} --strip-components 1 \
 -		UrbanTerror/q3ut4
 -.if !defined(NOPORTDOCS)
 +		UrbanTerror${URT_VER}/q3ut4
 +.if ${PORT_OPTIONS:MDOCS}
  	${MKDIR} ${DOCSDIR}
 -	${MV} ${DATADIR}/q3ut4/readme${PORTVERSION:S/.//:C/\..*//}.txt \
 -		${DOCSDIR}/readme${PORTVERSION:S/.//g}.txt
 +	${MV} ${DATADIR}/q3ut4/readme${URT_VER}.txt ${DOCSDIR}
  .else
 -	${RM} ${DATADIR}/q3ut4/readme${PORTVERSION:S/.//:C/\..*//}.txt
 +	${RM} ${DATADIR}/q3ut4/readme${URT_VER}.txt
  .endif
  
  .include <bsd.port.mk>
 Index: games/urbanterror-data/distinfo
 ===================================================================
 --- games/urbanterror-data/distinfo	(revision 323473)
 +++ games/urbanterror-data/distinfo	(working copy)
 @@ -1,2 +1,2 @@
 -SHA256 (UrbanTerror411.zip) = 32d578c556975db2b09735d8be49b575cc0bfc4d379ca57d9981c656115a6f47
 -SIZE (UrbanTerror411.zip) = 1074190065
 +SHA256 (UrbanTerror42_full014.zip) = 52618f40223baedf37b0a97fc99fd05d3915d20eaff38c71e4eeb66835c7d169
 +SIZE (UrbanTerror42_full014.zip) = 1548345447
 Index: games/urbanterror-data/pkg-descr
 ===================================================================
 --- games/urbanterror-data/pkg-descr	(revision 323473)
 +++ games/urbanterror-data/pkg-descr	(working copy)
 @@ -9,4 +9,4 @@
  This port only contains the data, and can be played with ioUrbanTerror
  (games/iourbanterror) or any other Quake 3 Arena compatible engine.
  
 -WWW:	http://www.urbanterror.net/
 +WWW: http://www.urbanterror.net/
 Index: games/urbanterror-data/pkg-plist
 ===================================================================
 --- games/urbanterror-data/pkg-plist	(revision 323473)
 +++ games/urbanterror-data/pkg-plist	(working copy)
 @@ -1,19 +1,34 @@
 -%%PORTDOCS%%%%DOCSDIR%%/readme411.txt
 -%%DATADIR%%/q3ut4/QIIIA Game Source (SDK) License.doc
 -%%DATADIR%%/q3ut4/Urban Terror on the Web.url
 -%%DATADIR%%/q3ut4/autoexec.cfg
 -%%DATADIR%%/q3ut4/demos/tutorial.dm_68
 -%%DATADIR%%/q3ut4/description.txt
 -%%DATADIR%%/q3ut4/mapcycle.txt
 -%%DATADIR%%/q3ut4/q3ut.ico
 -%%DATADIR%%/q3ut4/screenshots/shot0000.jpg
 -%%DATADIR%%/q3ut4/server.cfg
 +%%PORTDOCS%%%%DOCSDIR%%/readme%%VER%%.txt
 +%%DATADIR%%/q3ut4/How_To_Install.txt
 +%%DATADIR%%/q3ut4/QIIIA_Game_Source_License.doc
 +%%DATADIR%%/q3ut4/autoexec_example.cfg
 +%%DATADIR%%/q3ut4/mapcycle_example.txt
 +%%DATADIR%%/q3ut4/server_example.cfg
  %%DATADIR%%/q3ut4/ut4_commune.pk3
 -%%DATADIR%%/q3ut4/zpak000.pk3
 -%%DATADIR%%/q3ut4/zpak000_assets.pk3
 -%%DATADIR%%/q3ut4/zpak001_assets.pk3
 -@dirrm %%DATADIR%%/q3ut4/screenshots
 -@dirrm %%DATADIR%%/q3ut4/demos
 +%%DATADIR%%/q3ut4/ut4_jumpents.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0001.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0002.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0003.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0004.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0005.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0006.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0007.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0008.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0009.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0010.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0011.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0012.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0013.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0014.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0015.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0016.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0017.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0018.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0019.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0020.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0021.pk3
 +%%DATADIR%%/q3ut4/zUrT42_0022.pk3
 +%%DATADIR%%/q3ut4/zUrT42_qvm.pk3
  @dirrm %%DATADIR%%/q3ut4
  @dirrmtry %%DATADIR%%
  %%PORTDOCS%%@dirrm %%DOCSDIR%%
 
 --------------040300040302090505090103--

From: Dominic Fandrey <kamikaze@bsdforen.de>
To: bug-followup@FreeBSD.org, kamikaze@bsdforen.de
Cc:  
Subject: Re: ports/180576: [maintainer-update] games/ioquake3 and slaves
Date: Tue, 23 Jul 2013 14:39:47 +0200

 This is a multi-part message in MIME format.
 --------------050406050004010207040706
 Content-Type: text/plain; charset=ascii
 Content-Transfer-Encoding: 7bit
 
 The attached adds new files introduced in conjunction with the previously
 mailed patch.
 
 --------------050406050004010207040706
 Content-Type: text/plain; charset=UTF-8;
  name="shar-ports-games-iourbanterror-files.txt"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
  filename="shar-ports-games-iourbanterror-files.txt"
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	games/iourbanterror/files/patch-code-qcommon-vm_interpreted.c
 #	games/iourbanterror/files/patch-code-qcommon-vm_x86.c
 #
 echo x - games/iourbanterror/files/patch-code-qcommon-vm_interpreted.c
 sed 's/^X//' >games/iourbanterror/files/patch-code-qcommon-vm_interpreted.c << 'a05650c847d3648d03593516ce310db4'
 Xdiff -r de1eebcbab05 code/qcommon/vm_interpreted.c
 X--- code/qcommon/vm_interpreted.c	Mon Jul 15 20:43:44 2013 +0200
 X+++ code/qcommon/vm_interpreted.c	Tue Jul 23 10:41:47 2013 +0200
 X@@ -436,21 +436,21 @@
 X 				return 0;
 X 			}
 X #endif
 X-			r0 = opStack[opStackOfs] = *(int *) &image[r0 & dataMask & ~3 ];
 X+			r0 = opStack[opStackOfs] = *(int *) &image[r0 & dataMask ];
 X 			goto nextInstruction2;
 X 		case OP_LOAD2:
 X-			r0 = opStack[opStackOfs] = *(unsigned short *)&image[ r0&dataMask&~1 ];
 X+			r0 = opStack[opStackOfs] = *(unsigned short *)&image[ r0&dataMask ];
 X 			goto nextInstruction2;
 X 		case OP_LOAD1:
 X 			r0 = opStack[opStackOfs] = image[ r0&dataMask ];
 X 			goto nextInstruction2;
 X 
 X 		case OP_STORE4:
 X-			*(int *)&image[ r1&(dataMask & ~3) ] = r0;
 X+			*(int *)&image[ r1&dataMask ] = r0;
 X 			opStackOfs -= 2;
 X 			goto nextInstruction;
 X 		case OP_STORE2:
 X-			*(short *)&image[ r1&(dataMask & ~1) ] = r0;
 X+			*(short *)&image[ r1&dataMask ] = r0;
 X 			opStackOfs -= 2;
 X 			goto nextInstruction;
 X 		case OP_STORE1:
 X@@ -460,7 +460,7 @@
 X 
 X 		case OP_ARG:
 X 			// single byte offset from programStack
 X-			*(int *)&image[ (codeImage[programCounter] + programStack)&dataMask&~3 ] = r0;
 X+			*(int *)&image[ (codeImage[programCounter] + programStack)&dataMask ] = r0;
 X 			opStackOfs--;
 X 			programCounter += 1;
 X 			goto nextInstruction;
 a05650c847d3648d03593516ce310db4
 echo x - games/iourbanterror/files/patch-code-qcommon-vm_x86.c
 sed 's/^X//' >games/iourbanterror/files/patch-code-qcommon-vm_x86.c << 'b99229479f1b9014d0f8028a3c1f2c41'
 Xdiff -r de1eebcbab05 code/qcommon/vm_x86.c
 X--- code/qcommon/vm_x86.c	Mon Jul 15 20:43:44 2013 +0200
 X+++ code/qcommon/vm_x86.c	Tue Jul 23 10:41:43 2013 +0200
 X@@ -783,7 +783,7 @@
 X 		return qtrue;
 X 
 X 	case OP_STORE4:
 X-		EmitMovEAXStack(vm, (vm->dataMask & ~3));
 X+		EmitMovEAXStack(vm, vm->dataMask);
 X #if idx64
 X 		EmitRexString(0x41, "C7 04 01");		// mov dword ptr [r9 + eax], 0x12345678
 X 		Emit4(Constant4());
 X@@ -798,7 +798,7 @@
 X 		return qtrue;
 X 
 X 	case OP_STORE2:
 X-		EmitMovEAXStack(vm, (vm->dataMask & ~1));
 X+		EmitMovEAXStack(vm, vm->dataMask);
 X #if idx64
 X 		Emit1(0x66);					// mov word ptr [r9 + eax], 0x1234
 X 		EmitRexString(0x41, "C7 04 01");
 X@@ -1369,7 +1369,7 @@
 X 		case OP_STORE4:
 X 			EmitMovEAXStack(vm, 0);	
 X 			EmitString("8B 54 9F FC");			// mov edx, dword ptr -4[edi + ebx * 4]
 X-			MASK_REG("E2", vm->dataMask & ~3);		// and edx, 0x12345678
 X+			MASK_REG("E2", vm->dataMask);			// and edx, 0x12345678
 X #if idx64
 X 			EmitRexString(0x41, "89 04 11");		// mov dword ptr [r9 + edx], eax
 X #else
 X@@ -1381,7 +1381,7 @@
 X 		case OP_STORE2:
 X 			EmitMovEAXStack(vm, 0);	
 X 			EmitString("8B 54 9F FC");			// mov edx, dword ptr -4[edi + ebx * 4]
 X-			MASK_REG("E2", vm->dataMask & ~1);		// and edx, 0x12345678
 X+			MASK_REG("E2", vm->dataMask);			// and edx, 0x12345678
 X #if idx64
 X 			Emit1(0x66);					// mov word ptr [r9 + edx], eax
 X 			EmitRexString(0x41, "89 04 11");
 b99229479f1b9014d0f8028a3c1f2c41
 exit
 
 
 --------------050406050004010207040706--

From: Dominic Fandrey <kamikaze@bsdforen.de>
To: bug-followup@FreeBSD.org, kamikaze@bsdforen.de
Cc:  
Subject: Re: ports/180576: [maintainer-update] games/ioquake3 and slaves
Date: Sun, 18 Aug 2013 13:21:52 +0200

 Can I speed this up by providing tinderbox logs?
 
 Regards
 Kami
 
 -- 
 A: Because it fouls the order in which people normally read text.
 Q: Why is top-posting such a bad thing?
 A: Top-posting.
 Q: What is the most annoying thing on usenet and in e-mail? 

From: Tig <tigger.on@gmail.com>
To: bug-followup@FreeBSD.org, kamikaze@bsdforen.de
Cc:  
Subject: Re: ports/180576: [maintainer-update] games/ioquake3 and slaves
Date: Wed, 28 Aug 2013 19:51:25 +1000

 --047d7b6dc1a8c41aad04e4feee34
 Content-Type: text/plain; charset=ISO-8859-1
 
 Just wondering if there is a problem with this PR / patch.
 
 I've been waiting on it being approved for a while now and it seems to be
 in a state of limbo :[
 
 BTW, I'm an IOQuake3 user, not the maintainer.
 
 -Tig
 
 --047d7b6dc1a8c41aad04e4feee34
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 <div dir=3D"ltr"><div><div>Just wondering if there is a problem with this P=
 R / patch.<br><br>I&#39;ve been waiting on it being approved for a while no=
 w and it seems to be in a state of limbo :[<br><br></div>BTW, I&#39;m an IO=
 Quake3 user, not the maintainer.<br>
 <br>-Tig<br></div><br></div>
 
 --047d7b6dc1a8c41aad04e4feee34--
Responsible-Changed-From-To: miwi->marino 
Responsible-Changed-By: marino 
Responsible-Changed-When: Sat Aug 31 12:29:59 UTC 2013 
Responsible-Changed-Why:  
I'll over-take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=180576 
State-Changed-From-To: open->closed 
State-Changed-By: marino 
State-Changed-When: Sat Aug 31 15:08:18 UTC 2013 
State-Changed-Why:  
Committed with minor changes.  The revision is 325812.  Unfortunately 
due to a typo I referenced the wrong PR and it didn't get posted here. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=180576 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/180576: commit references a PR
Date: Sat, 31 Aug 2013 17:25:16 +0000 (UTC)

 Author: marino
 Date: Sat Aug 31 17:25:08 2013
 New Revision: 325818
 URL: http://svnweb.freebsd.org/changeset/ports/325818
 
 Log:
   games/iourbanterror: Fix new patches
   
   Something went with shar extraction.
   One new patch came out wrong and the other wasn't created.
   Let's put them right now.
   
   PR:		ports/180576
   Reported by:	Domininic Fandrey (maintainer)
 
 Added:
   head/games/iourbanterror/files/patch-code-qcommon-vm_x86.c   (contents, props changed)
 Modified:
   head/games/iourbanterror/files/patch-code-qcommon-vm_interpreted.c
 
 Modified: head/games/iourbanterror/files/patch-code-qcommon-vm_interpreted.c
 ==============================================================================
 --- head/games/iourbanterror/files/patch-code-qcommon-vm_interpreted.c	Sat Aug 31 17:21:40 2013	(r325817)
 +++ head/games/iourbanterror/files/patch-code-qcommon-vm_interpreted.c	Sat Aug 31 17:25:08 2013	(r325818)
 @@ -1,7 +1,6 @@
 -diff -r de1eebcbab05 code/qcommon/vm_interpreted.c
 ---- code/qcommon/vm_interpreted.c	Mon Jul 15 20:43:44 2013 +0200
 -+++ code/qcommon/vm_interpreted.c	Tue Jul 23 10:41:47 2013 +0200
 -@@ -436,21 +436,21 @@
 +--- code/qcommon/vm_interpreted.c.orig	2013-07-15 18:54:41.000000000 +0000
 ++++ code/qcommon/vm_interpreted.c
 +@@ -436,21 +436,21 @@ nextInstruction2:
   				return 0;
   			}
   #endif
 @@ -27,7 +26,7 @@ diff -r de1eebcbab05 code/qcommon/vm_int
   			opStackOfs -= 2;
   			goto nextInstruction;
   		case OP_STORE1:
 -@@ -460,7 +460,7 @@
 +@@ -460,7 +460,7 @@ nextInstruction2:
   
   		case OP_ARG:
   			// single byte offset from programStack
 @@ -36,47 +35,3 @@ diff -r de1eebcbab05 code/qcommon/vm_int
   			opStackOfs--;
   			programCounter += 1;
   			goto nextInstruction;
 -a05650c847d3648d03593516ce310db4
 -echo x - games/iourbanterror/files/patch-code-qcommon-vm_x86.c
 -sed 's/^X//' >games/iourbanterror/files/patch-code-qcommon-vm_x86.c << 'b99229479f1b9014d0f8028a3c1f2c41'
 -diff -r de1eebcbab05 code/qcommon/vm_x86.c
 ---- code/qcommon/vm_x86.c	Mon Jul 15 20:43:44 2013 +0200
 -+++ code/qcommon/vm_x86.c	Tue Jul 23 10:41:43 2013 +0200
 -@@ -783,7 +783,7 @@
 - 		return qtrue;
 - 
 - 	case OP_STORE4:
 --		EmitMovEAXStack(vm, (vm->dataMask & ~3));
 -+		EmitMovEAXStack(vm, vm->dataMask);
 - #if idx64
 - 		EmitRexString(0x41, "C7 04 01");		// mov dword ptr [r9 + eax], 0x12345678
 - 		Emit4(Constant4());
 -@@ -798,7 +798,7 @@
 - 		return qtrue;
 - 
 - 	case OP_STORE2:
 --		EmitMovEAXStack(vm, (vm->dataMask & ~1));
 -+		EmitMovEAXStack(vm, vm->dataMask);
 - #if idx64
 - 		Emit1(0x66);					// mov word ptr [r9 + eax], 0x1234
 - 		EmitRexString(0x41, "C7 04 01");
 -@@ -1369,7 +1369,7 @@
 - 		case OP_STORE4:
 - 			EmitMovEAXStack(vm, 0);	
 - 			EmitString("8B 54 9F FC");			// mov edx, dword ptr -4[edi + ebx * 4]
 --			MASK_REG("E2", vm->dataMask & ~3);		// and edx, 0x12345678
 -+			MASK_REG("E2", vm->dataMask);			// and edx, 0x12345678
 - #if idx64
 - 			EmitRexString(0x41, "89 04 11");		// mov dword ptr [r9 + edx], eax
 - #else
 -@@ -1381,7 +1381,7 @@
 - 		case OP_STORE2:
 - 			EmitMovEAXStack(vm, 0);	
 - 			EmitString("8B 54 9F FC");			// mov edx, dword ptr -4[edi + ebx * 4]
 --			MASK_REG("E2", vm->dataMask & ~1);		// and edx, 0x12345678
 -+			MASK_REG("E2", vm->dataMask);			// and edx, 0x12345678
 - #if idx64
 - 			Emit1(0x66);					// mov word ptr [r9 + edx], eax
 - 			EmitRexString(0x41, "89 04 11");
 -b99229479f1b9014d0f8028a3c1f2c41
 -exit
 
 Added: head/games/iourbanterror/files/patch-code-qcommon-vm_x86.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/games/iourbanterror/files/patch-code-qcommon-vm_x86.c	Sat Aug 31 17:25:08 2013	(r325818)
 @@ -0,0 +1,38 @@
 +--- code/qcommon/vm_x86.c.orig	2013-07-15 18:54:41.000000000 +0000
 ++++ code/qcommon/vm_x86.c
 +@@ -783,7 +783,7 @@ qboolean ConstOptimize(vm_t *vm, int cal
 + 		return qtrue;
 + 
 + 	case OP_STORE4:
 +-		EmitMovEAXStack(vm, (vm->dataMask & ~3));
 ++		EmitMovEAXStack(vm, vm->dataMask);
 + #if idx64
 + 		EmitRexString(0x41, "C7 04 01");		// mov dword ptr [r9 + eax], 0x12345678
 + 		Emit4(Constant4());
 +@@ -798,7 +798,7 @@ qboolean ConstOptimize(vm_t *vm, int cal
 + 		return qtrue;
 + 
 + 	case OP_STORE2:
 +-		EmitMovEAXStack(vm, (vm->dataMask & ~1));
 ++		EmitMovEAXStack(vm, vm->dataMask);
 + #if idx64
 + 		Emit1(0x66);					// mov word ptr [r9 + eax], 0x1234
 + 		EmitRexString(0x41, "C7 04 01");
 +@@ -1369,7 +1369,7 @@ void VM_Compile(vm_t *vm, vmHeader_t *he
 + 		case OP_STORE4:
 + 			EmitMovEAXStack(vm, 0);	
 + 			EmitString("8B 54 9F FC");			// mov edx, dword ptr -4[edi + ebx * 4]
 +-			MASK_REG("E2", vm->dataMask & ~3);		// and edx, 0x12345678
 ++			MASK_REG("E2", vm->dataMask);			// and edx, 0x12345678
 + #if idx64
 + 			EmitRexString(0x41, "89 04 11");		// mov dword ptr [r9 + edx], eax
 + #else
 +@@ -1381,7 +1381,7 @@ void VM_Compile(vm_t *vm, vmHeader_t *he
 + 		case OP_STORE2:
 + 			EmitMovEAXStack(vm, 0);	
 + 			EmitString("8B 54 9F FC");			// mov edx, dword ptr -4[edi + ebx * 4]
 +-			MASK_REG("E2", vm->dataMask & ~1);		// and edx, 0x12345678
 ++			MASK_REG("E2", vm->dataMask);			// and edx, 0x12345678
 + #if idx64
 + 			Emit1(0x66);					// mov word ptr [r9 + edx], eax
 + 			EmitRexString(0x41, "89 04 11");
 _______________________________________________
 svn-ports-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-ports-all
 To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
 
>Unformatted:
