From yury@esterdev.com  Thu May 12 13:16:45 2005
Return-Path: <yury@esterdev.com>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 5D71D16A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 12 May 2005 13:16:45 +0000 (GMT)
Received: from shelob.esterdev.com (frakir.esterdev.com [212.22.68.2])
	by mx1.FreeBSD.org (Postfix) with ESMTP id ED7D243D98
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 12 May 2005 13:16:43 +0000 (GMT)
	(envelope-from yury@esterdev.com)
Received: from shelob.esterdev.com (argv@localhost [127.0.0.1])
	by shelob.esterdev.com (8.13.1/8.13.1) with ESMTP id j4CDGfkp038580;
	Thu, 12 May 2005 17:16:41 +0400 (MSD)
	(envelope-from yury@shelob.esterdev.com)
Received: (from yury@localhost)
	by shelob.esterdev.com (8.13.1/8.13.1/Submit) id j4CDGfDf038579;
	Thu, 12 May 2005 17:16:41 +0400 (MSD)
	(envelope-from yury)
Message-Id: <200505121316.j4CDGfDf038579@shelob.esterdev.com>
Date: Thu, 12 May 2005 17:16:41 +0400 (MSD)
From: Jurij Ivliev <yury@black.cat.kazan.su>
Reply-To: Jurij Ivliev <yury@black.cat.kazan.su>
To: FreeBSD-gnats-submit@freebsd.org
Cc: q@uni.de
Subject: WITH_MENU and WITH_STATIC_PLUGINS options for quakeforge port
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         80940
>Category:       ports
>Synopsis:       WITH_MENU and WITH_STATIC_PLUGINS options for quakeforge port
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pav
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 12 13:20:00 GMT 2005
>Closed-Date:    Fri May 20 14:47:41 GMT 2005
>Last-Modified:  Fri May 20 14:47:41 GMT 2005
>Originator:     Jurij Ivliev
>Release:        FreeBSD 5.3-RELEASE-p10 i386
>Organization:
EsterDev, Ltd.
>Environment:
System: FreeBSD smaug.esterdev.com 5.3-RELEASE-p10 FreeBSD 5.3-RELEASE-p10 #0: Tue May 3 00:06:42 UTC 2005 build@smaug.esterdev.com:/usr/obj/usr/src/sys/SMAUG i386
>Description:
Defining WITH_MENU option allows building, installing and packaging 
menu.dat.gz file when making clients without tools (WITHOUT_TOOLS defined 
and WITHOUT_CLIENTS undefined).
Defining WITH_STATIC_PLUGINS options allows building plugins statically 
linked. This is workaround to resolve a strange problem loading 
console_client.so plugin.
>How-To-Repeat:
>Fix:
--- quakeforge.diff begins here ---
diff -ru quakeforge.orig/Makefile quakeforge/Makefile
--- quakeforge.orig/Makefile	Tue Apr 12 03:25:34 2005
+++ quakeforge/Makefile	Mon May  9 09:31:28 2005
@@ -98,6 +98,15 @@
 WITHOUT_VORBIS=	yes
 .else
 PLIST_SUB+=	CLIENT=""
+.if defined(WITH_MENU) && defined(WITHOUT_TOOLS)
+CONFIGURE_ARGS+=--with-tools=qfcc,pak
+.endif
+.endif
+
+.if defined(WITHOUT_TOOLS) && (defined(WITHOUT_CLIENTS) || !defined(WITH_MENU))
+PLIST_SUB+=	MENU="@comment "
+.else
+PLIST_SUB+=	MENU=""
 .endif
 
 .if !defined(WITHOUT_SVGALIB) && defined(WITH_SVGALIB)
@@ -150,6 +159,13 @@
 PLIST_SUB+=	SKIN="@comment "
 .endif
 
+.if defined(WITH_STATIC_PLUGINS)
+PLIST_SUB+=	PLUGIN="@comment "
+CONFIGURE_ARGS+=--with-static-plugins
+.else
+PLIST_SUB+=	PLUGIN=""
+.endif
+
 pre-everything::
 .if !defined(NO_WAD)
 	@${ECHO_MSG} "Define NO_WAD to stop from using shareware version!"
@@ -181,6 +197,12 @@
 .if !defined(WITHOUT_CLIENTS)
 	@${ECHO_MSG} "Define WITHOUT_CLIENTS to disable building of the clients"
 .endif
+.if !defined(WITH_MENU) && defined(WITHOUT_TOOLS) && !defined(WITHOUT_CLIENTS)
+	@${ECHO_MSG} "Define WITH_MENU to enable building and installing menu.dat.gz"
+.endif
+.if !defined(WITH_STATIC_PLUGINS)
+	@${ECHO_MSG} "Define WITH_STATIC_PLUGINS to disable building plugins as shared objects"
+.endif
 
 post-patch:
 	@${REINPLACE_CMD} -e 's/-lpthread/${PTHREAD_LIBS}/g' ${WRKSRC}/configure
@@ -212,5 +234,19 @@
 
 post-install:
 	@${SED} -e 's#$${PREFIX}#${PREFIX}#g' ${PKGMESSAGE}
+.if defined(WITH_MENU) && defined(WITHOUT_TOOLS) && !defined(WITHOUT_CLIENTS)
+	@${RM} ${PREFIX}/bin/pak
+	@${RM} ${PREFIX}/bin/zpak
+	@${RM} ${PREFIX}/bin/qfcc
+	@${RM} ${PREFIX}/bin/qfprogs
+	@${RM} ${PREFIX}/bin/qfpreqcc
+	@${RM} ${PREFIX}/lib/ruamoko/libr.a
+	@${RM} ${PREFIX}/lib/ruamoko/libqw.a
+	@${RM} ${PREFIX}/lib/ruamoko/libnq.a
+	@${RM} ${PREFIX}/lib/ruamoko/libcsqc.a
+	@${RM} ${PREFIX}/lib/ruamoko/libgui.a
+	@${RM} ${PREFIX}/man/man1/pak.1
+	@${RM} ${PREFIX}/man/man1/qfcc.1
+.endif
 
 .include <bsd.port.post.mk>
diff -ru quakeforge.orig/pkg-plist quakeforge/pkg-plist
--- quakeforge.orig/pkg-plist	Fri Aug 20 19:50:54 2004
+++ quakeforge/pkg-plist	Mon May  9 08:59:48 2005
@@ -74,21 +74,21 @@
 lib/libQFutil.a
 lib/libQFutil.so
 lib/libQFutil.so.1
-%%CLIENT%%lib/quakeforge/cd_file.so
-%%CLIENT%%%%SDL%%lib/quakeforge/cd_sdl.so
-%%CLIENT%%%%XMMS%%lib/quakeforge/cd_xmms.so
-lib/quakeforge/console_client.so
-lib/quakeforge/console_server.so
-%%CLIENT%%lib/quakeforge/snd_output_disk.so
-%%CLIENT%%lib/quakeforge/snd_output_oss.so
-%%CLIENT%%%%SDL%%lib/quakeforge/snd_output_sdl.so
-%%CLIENT%%lib/quakeforge/snd_render_default.so
+%%PLUGIN%%%%CLIENT%%lib/quakeforge/cd_file.so
+%%PLUGIN%%%%CLIENT%%%%SDL%%lib/quakeforge/cd_sdl.so
+%%PLUGIN%%%%CLIENT%%%%XMMS%%lib/quakeforge/cd_xmms.so
+%%PLUGIN%%lib/quakeforge/console_client.so
+%%PLUGIN%%lib/quakeforge/console_server.so
+%%PLUGIN%%%%CLIENT%%lib/quakeforge/snd_output_disk.so
+%%PLUGIN%%%%CLIENT%%lib/quakeforge/snd_output_oss.so
+%%PLUGIN%%%%CLIENT%%%%SDL%%lib/quakeforge/snd_output_sdl.so
+%%PLUGIN%%%%CLIENT%%lib/quakeforge/snd_render_default.so
 %%TOOL%%lib/ruamoko/libcsqc.a
 %%TOOL%%lib/ruamoko/libgui.a
 %%TOOL%%lib/ruamoko/libnq.a
 %%TOOL%%lib/ruamoko/libqw.a
 %%TOOL%%lib/ruamoko/libr.a
-%%TOOL%%share/quakeforge/QF/menu.dat.gz
+%%MENU%%share/quakeforge/QF/menu.dat.gz
 %%WAD%%share/quakeforge/id1/pak0.pak
 %%SERVER%%share/quakeforge/qw/buttons.qc
 %%SERVER%%share/quakeforge/qw/client.qc
@@ -474,8 +474,8 @@
 @dirrm include/QF/ruamoko/gui
 @dirrm include/QF/ruamoko
 @dirrm include/QF
-%%TOOL%%@dirrm lib/ruamoko
-@dirrm lib/quakeforge
+@unexec rmdir %D/lib/ruamoko/ 2>/dev/null || true
+@unexec rmdir %D/lib/quakeforge/ 2>/dev/null || true
 @unexec rmdir %D/share/quakeforge/QF/ 2>/dev/null || true
 @unexec rmdir %D/share/quakeforge/id1/ 2>/dev/null || true
 @unexec rmdir %D/share/quakeforge/qw/skins/ 2>/dev/null || true
--- quakeforge.diff ends here ---


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback 
State-Changed-By: pav 
State-Changed-When: Tue May 17 18:58:19 GMT 2005 
State-Changed-Why:  
Asked maintainer for approval 


Responsible-Changed-From-To: freebsd-ports-bugs->pav 
Responsible-Changed-By: pav 
Responsible-Changed-When: Tue May 17 18:58:19 GMT 2005 
Responsible-Changed-Why:  
Track 

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

From: Pav Lucistnik <pav@FreeBSD.org>
To: q@galgenberg.net, bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/80940: WITH_MENU and WITH_STATIC_PLUGINS options for
	quakeforge port
Date: Tue, 17 May 2005 20:58:16 +0200

 Dear maintainer of FreeBSD port games/quakeforge, please take a look at
 
 http://www.freebsd.org/cgi/query-pr.cgi?q=80940
 
 Do you approve this patch?
 
 -- 
 Pav Lucistnik <pav@oook.cz>
               <pav@FreeBSD.org>
 
 Eat when you are hungry, sleep when you are tired.
 Chase butterflies when you want some fun.

From: Ulrich Spoerlein <q@galgenberg.net>
To: Pav Lucistnik <pav@FreeBSD.org>,
	Jurij Ivliev <yury@black.cat.kazan.su>
Cc: bug-followup@FreeBSD.org
Subject: Re: ports/80940: WITH_MENU and WITH_STATIC_PLUGINS options for quakeforge port
Date: Fri, 20 May 2005 16:05:37 +0200

 --tThc/1wpZn/ma/RB
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 On Tue, 17.05.2005 at 20:58:16 +0200, Pav Lucistnik wrote:
 > Dear maintainer of FreeBSD port games/quakeforge, please take a look at
 > 
 > http://www.freebsd.org/cgi/query-pr.cgi?q=80940
 > 
 > Do you approve this patch?
 
 Please use attached patch instead.
 
 Summary:
 - Add WITH_STATIC_PLUGINS, requested by original submitter
 - Remove WITHOUT_TOOLS and WITHOUT_SERVERS
 
 Specifying WITHOUT_{TOOLS,SERVERS} only bought us 11% compile time
 savings and lousy 4% in package size. I'd rather remove knobs from this
 port than add even more.
 
 Ulrich Spoerlein
 -- 
  PGP Key ID: F0DB9F44				Encrypted mail welcome!
 Fingerprint: F1CE D062 0CA9 ADE3 349B  2FE8 980A C6B5 F0DB 9F44
 Ok, which part of "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn."
 didn't you understand?
 
 --tThc/1wpZn/ma/RB
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename=patch
 
 ? patch
 Index: Makefile
 ===================================================================
 RCS file: /home/ncvs/ports/games/quakeforge/Makefile,v
 retrieving revision 1.50
 diff -u -r1.50 Makefile
 --- Makefile	13 May 2005 20:17:26 -0000	1.50
 +++ Makefile	20 May 2005 14:01:49 -0000
 @@ -37,6 +37,8 @@
  INSTALLS_SHLIB=	yes
  WANT_SDL=	yes
  
 +MAN1=	pak.1 qfcc.1 qflight.1 qfvis.1 wad.1
 +
  .include <bsd.port.pre.mk>
  
  .if ${ARCH} == "sparc64"
 @@ -74,21 +76,6 @@
  WITH_VORBIS=	yes
  .endif
  
 -.if defined(WITHOUT_SERVERS)
 -CONFIGURE_ARGS+=--without-servers
 -PLIST_SUB+=	SERVER="@comment "
 -.else
 -PLIST_SUB+=	SERVER=""
 -.endif
 -
 -.if defined(WITHOUT_TOOLS)
 -CONFIGURE_ARGS+=--without-tools
 -PLIST_SUB+=	TOOL="@comment "
 -.else
 -PLIST_SUB+=	TOOL=""
 -MAN1=	pak.1 qfcc.1 qflight.1 qfvis.1 wad.1
 -.endif
 -
  .if defined(WITHOUT_CLIENTS)
  CONFIGURE_ARGS+=--without-clients
  PLIST_SUB+=	CLIENT="@comment "
 @@ -137,6 +124,13 @@
  PLIST_SUB+=	SDL="@comment "
  .endif
  
 +.if defined(WITH_STATIC_PLUGINS)
 +PLIST_SUB+=	PLUGIN="@comment "
 +CONFIGURE_ARGS+=--with-static-plugins
 +.else
 +PLIST_SUB+=	PLUGIN=""
 +.endif
 +
  .if !defined(NO_WAD)
  PLIST_SUB+=	WAD=""
  .else
 @@ -172,15 +166,12 @@
  .if !defined(WITH_SDL)
  	@${ECHO_MSG} "Define WITH_SDL to use SDL"
  .endif
 -.if !defined(WITHOUT_TOOLS)
 -	@${ECHO_MSG} "Define WITHOUT_TOOLS to disable building of additional tools"
 -.endif
 -.if !defined(WITHOUT_SERVERS)
 -	@${ECHO_MSG} "Define WITHOUT_SERVERS to disable building of the servers"
 -.endif
  .if !defined(WITHOUT_CLIENTS)
  	@${ECHO_MSG} "Define WITHOUT_CLIENTS to disable building of the clients"
  .endif
 +.if !defined(WITH_STATIC_PLUGINS)
 +	@${ECHO_MSG} "Define WITH_STATIC_PLUGINS to disable building plugins as shared objects"
 +.endif
  
  post-patch:
  	@${REINPLACE_CMD} -e 's/-lpthread/${PTHREAD_LIBS}/g' ${WRKSRC}/configure
 @@ -191,9 +182,7 @@
  	${MKDIR} ${PREFIX}/share/quakeforge/id1 && \
  	${TAR} xzf ${DISTDIR}/${WADFILE} -C ${PREFIX}/share/quakeforge --no-same-owner id1/pak0.pak
  .endif
 -.if !defined(WITHOUT_SERVERS)
  	${TAR} xzf ${DISTDIR}/${PROGFILE} -C ${PREFIX}/share/quakeforge qw/
 -.endif
  .if !defined(NO_SKINS)
  .for file in ${SKINFILES}
  	${UNZIP_CMD} -n ${DISTDIR}/${file} -d ${PREFIX}/share/quakeforge/qw/skins
 Index: pkg-plist
 ===================================================================
 RCS file: /home/ncvs/ports/games/quakeforge/pkg-plist,v
 retrieving revision 1.7
 diff -u -r1.7 pkg-plist
 --- pkg-plist	20 Aug 2004 19:50:54 -0000	1.7
 +++ pkg-plist	20 May 2005 14:01:49 -0000
 @@ -1,23 +1,23 @@
 -%%TOOL%%bin/bsp2img
 -%%SERVER%%bin/hw-master
 +bin/bsp2img
 +bin/hw-master
  %%CLIENT%%%%SVGA%%bin/nq-3dfx
  %%CLIENT%%bin/nq-glx
  %%CLIENT%%%%SDL%%bin/nq-sdl
  %%CLIENT%%%%SDL%%bin/nq-sdl32
 -%%SERVER%%bin/nq-server
 +bin/nq-server
  %%CLIENT%%%%SDL%%bin/nq-sgl
  %%CLIENT%%%%SVGA%%bin/nq-svga
  %%CLIENT%%bin/nq-x11
 -%%TOOL%%bin/pak
 -%%TOOL%%bin/qfbsp
 -%%TOOL%%bin/qfcc
 -%%TOOL%%bin/qflight
 -%%TOOL%%bin/qfmodelgen
 -%%TOOL%%bin/qfpreqcc
 -%%TOOL%%bin/qfprogs
 -%%TOOL%%bin/qfvis
 -%%TOOL%%bin/qfwavinfo
 -%%SERVER%%bin/qtv
 +bin/pak
 +bin/qfbsp
 +bin/qfcc
 +bin/qflight
 +bin/qfmodelgen
 +bin/qfpreqcc
 +bin/qfprogs
 +bin/qfvis
 +bin/qfwavinfo
 +bin/qtv
  %%CLIENT%%%%SVGA%%bin/qw-client-3dfx
  %%CLIENT%%bin/qw-client-glx
  %%CLIENT%%%%SDL%%bin/qw-client-sdl
 @@ -25,10 +25,10 @@
  %%CLIENT%%%%SDL%%bin/qw-client-sgl
  %%CLIENT%%%%SVGA%%bin/qw-client-svga
  %%CLIENT%%bin/qw-client-x11
 -%%SERVER%%bin/qw-master
 -%%SERVER%%bin/qw-server
 -%%TOOL%%bin/wad
 -%%TOOL%%bin/zpak
 +bin/qw-master
 +bin/qw-server
 +bin/wad
 +bin/zpak
  %%CLIENT%%lib/libQFcd.a
  %%CLIENT%%lib/libQFcd.so
  %%CLIENT%%lib/libQFcd.so.1
 @@ -74,43 +74,43 @@
  lib/libQFutil.a
  lib/libQFutil.so
  lib/libQFutil.so.1
 -%%CLIENT%%lib/quakeforge/cd_file.so
 -%%CLIENT%%%%SDL%%lib/quakeforge/cd_sdl.so
 -%%CLIENT%%%%XMMS%%lib/quakeforge/cd_xmms.so
 -lib/quakeforge/console_client.so
 -lib/quakeforge/console_server.so
 -%%CLIENT%%lib/quakeforge/snd_output_disk.so
 -%%CLIENT%%lib/quakeforge/snd_output_oss.so
 -%%CLIENT%%%%SDL%%lib/quakeforge/snd_output_sdl.so
 -%%CLIENT%%lib/quakeforge/snd_render_default.so
 -%%TOOL%%lib/ruamoko/libcsqc.a
 -%%TOOL%%lib/ruamoko/libgui.a
 -%%TOOL%%lib/ruamoko/libnq.a
 -%%TOOL%%lib/ruamoko/libqw.a
 -%%TOOL%%lib/ruamoko/libr.a
 -%%TOOL%%share/quakeforge/QF/menu.dat.gz
 +%%PLUGIN%%%%CLIENT%%lib/quakeforge/cd_file.so
 +%%PLUGIN%%%%CLIENT%%%%SDL%%lib/quakeforge/cd_sdl.so
 +%%PLUGIN%%%%CLIENT%%%%XMMS%%lib/quakeforge/cd_xmms.so
 +%%PLUGIN%%lib/quakeforge/console_client.so
 +%%PLUGIN%%lib/quakeforge/console_server.so
 +%%PLUGIN%%%%CLIENT%%lib/quakeforge/snd_output_disk.so
 +%%PLUGIN%%%%CLIENT%%lib/quakeforge/snd_output_oss.so
 +%%PLUGIN%%%%CLIENT%%%%SDL%%lib/quakeforge/snd_output_sdl.so
 +%%PLUGIN%%%%CLIENT%%lib/quakeforge/snd_render_default.so
 +lib/ruamoko/libcsqc.a
 +lib/ruamoko/libgui.a
 +lib/ruamoko/libnq.a
 +lib/ruamoko/libqw.a
 +lib/ruamoko/libr.a
 +share/quakeforge/QF/menu.dat.gz
  %%WAD%%share/quakeforge/id1/pak0.pak
 -%%SERVER%%share/quakeforge/qw/buttons.qc
 -%%SERVER%%share/quakeforge/qw/client.qc
 -%%SERVER%%share/quakeforge/qw/combat.qc
 -%%SERVER%%share/quakeforge/qw/defs.qc
 -%%SERVER%%share/quakeforge/qw/doors.qc
 -%%SERVER%%share/quakeforge/qw/items.qc
 -%%SERVER%%share/quakeforge/qw/misc.qc
 -%%SERVER%%share/quakeforge/qw/models.qc
 -%%SERVER%%share/quakeforge/qw/plats.qc
 -%%SERVER%%share/quakeforge/qw/player.qc
 -%%SERVER%%share/quakeforge/qw/progdefs.h
 -%%SERVER%%share/quakeforge/qw/progs.src
 -%%SERVER%%share/quakeforge/qw/qwprogs.dat
 -%%SERVER%%share/quakeforge/qw/server.qc
 -%%SERVER%%share/quakeforge/qw/spectate.qc
 -%%SERVER%%share/quakeforge/qw/sprites.qc
 -%%SERVER%%share/quakeforge/qw/subs.qc
 -%%SERVER%%share/quakeforge/qw/triggers.qc
 -%%SERVER%%share/quakeforge/qw/weapons.qc
 -%%SERVER%%share/quakeforge/qw/world.qc
 -%%SERVER%%share/quakeforge/qw/skins/fixskins.sh
 +share/quakeforge/qw/buttons.qc
 +share/quakeforge/qw/client.qc
 +share/quakeforge/qw/combat.qc
 +share/quakeforge/qw/defs.qc
 +share/quakeforge/qw/doors.qc
 +share/quakeforge/qw/items.qc
 +share/quakeforge/qw/misc.qc
 +share/quakeforge/qw/models.qc
 +share/quakeforge/qw/plats.qc
 +share/quakeforge/qw/player.qc
 +share/quakeforge/qw/progdefs.h
 +share/quakeforge/qw/progs.src
 +share/quakeforge/qw/qwprogs.dat
 +share/quakeforge/qw/server.qc
 +share/quakeforge/qw/spectate.qc
 +share/quakeforge/qw/sprites.qc
 +share/quakeforge/qw/subs.qc
 +share/quakeforge/qw/triggers.qc
 +share/quakeforge/qw/weapons.qc
 +share/quakeforge/qw/world.qc
 +share/quakeforge/qw/skins/fixskins.sh
  %%SKIN%%share/quakeforge/qw/skins/311.pcx
  %%SKIN%%share/quakeforge/qw/skins/311.txt
  %%SKIN%%share/quakeforge/qw/skins/amish.pcx
 @@ -474,7 +474,7 @@
  @dirrm include/QF/ruamoko/gui
  @dirrm include/QF/ruamoko
  @dirrm include/QF
 -%%TOOL%%@dirrm lib/ruamoko
 +@dirrm lib/ruamoko
  @dirrm lib/quakeforge
  @unexec rmdir %D/share/quakeforge/QF/ 2>/dev/null || true
  @unexec rmdir %D/share/quakeforge/id1/ 2>/dev/null || true
 
 --tThc/1wpZn/ma/RB--
State-Changed-From-To: feedback->closed 
State-Changed-By: pav 
State-Changed-When: Fri May 20 14:47:33 GMT 2005 
State-Changed-Why:  
Maintainer's version committed. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=80940 
>Unformatted:
