Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Dec 2013 02:49:00 +0900
From:      KATO Tsuguru <tkato432@yahoo.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/184876: games/xinvaders: Fix build with clang
Message-ID:  <20131217024900.d3aac5c569120ee16fa5e72b@yahoo.com>
Resent-Message-ID: <201312161810.rBGIALl3016426@freefall.freebsd.org>

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

>Number:         184876
>Category:       ports
>Synopsis:       games/xinvaders: Fix build with clang
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Dec 16 18:10:21 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     KATO Tsuguru
>Release:        FreeBSD 8.4-RELEASE-p4 i386
>Organization:
>Environment:
>Description:
- Fix build with clang
- Add DESKTOP_ENTRIES

New file:
files/patch-main.c

Remove file:
files/patch-aa

>How-To-Repeat:
>Fix:

diff -urN /usr/ports/games/xinvaders/Makefile games/xinvaders/Makefile
--- /usr/ports/games/xinvaders/Makefile	2013-11-06 22:00:29.000000000 +0900
+++ games/xinvaders/Makefile	2013-12-17 00:00:00.000000000 +0900
@@ -3,36 +3,37 @@
 
 PORTNAME=	xinvaders
 PORTVERSION=	2.1.1
-PORTREVISION=	8
+PORTREVISION=	9
 CATEGORIES=	games
-MASTER_SITES=	${MASTER_SITE_SUNSITE}
-MASTER_SITE_SUBDIR=	games/arcade/invaders
+MASTER_SITES=	SUNSITE/games/arcade/invaders
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Shoot-em-up them nasty little bugs
 
-ONLY_FOR_ARCHS=	i386
-
 NO_CDROM=	don't sell for profit
 
 USES=		gettext
 USE_XORG=	x11 xmu xaw xt
-USE_AUTOTOOLS=	automake14 autoconf213
-AUTOMAKE_ARGS=	--include-deps
-CONFIGURE_ENV=	LIBS="-L${LOCALBASE}/lib -lintl"
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--enable-scorefile=${DATADIR}/xinvaders.scores
+
 CPPFLAGS+=	-I${LOCALBASE}/include
-CONFIGURE_ARGS=	--enable-scorefile=${PREFIX}/share/xinvaders/xinvaders.scores
+LDFLAGS+=	-L${LOCALBASE}/lib -lintl
+
+DESKTOP_ENTRIES="XInvaders" "Space Invaders game for X" \
+		"${PREFIX}/share/pixmaps/${PORTNAME}.xpm" "${PORTNAME}" "" ""
 
-MAN6=		xinvaders.6
+post-patch:
+	@${REINPLACE_CMD} -e \
+		's|$$(prefix)/games|$$(prefix)/bin| ; \
+		 /install-exec-am:/s|install-exec-local|| ; \
+		 /install-data-am:/s|install-data-local||' ${WRKSRC}/Makefile.in
 
-NO_STAGE=	yes
 post-install:
-	${INSTALL_DATA} ${FILESDIR}/Vaders.ad ${PREFIX}/lib/X11/app-defaults/Vaders
-	@${MKDIR} ${PREFIX}/share/xinvaders
-	@${ECHO_CMD} '0' > ${PREFIX}/share/xinvaders/xinvaders.scores
-	@${CHOWN} root:games ${PREFIX}/bin/xinvaders
-	@${CHMOD} 2555 ${PREFIX}/bin/xinvaders
-	@${CHOWN} root:games ${PREFIX}/share/xinvaders/xinvaders.scores
-	@${CHMOD} 0660 ${PREFIX}/share/xinvaders/xinvaders.scores
+	(cd ${FILESDIR} && ${INSTALL_DATA} Vaders.ad \
+		${STAGEDIR}${PREFIX}/lib/X11/app-defaults/Vaders)
+	(cd ${WRKSRC} && ${INSTALL_DATA} icon.xpm \
+		${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}.xpm)
+	@${MKDIR} ${STAGEDIR}${DATADIR}
 
 .include <bsd.port.mk>
diff -urN /usr/ports/games/xinvaders/files/patch-aa games/xinvaders/files/patch-aa
--- /usr/ports/games/xinvaders/files/patch-aa	2013-11-06 22:00:29.000000000 +0900
+++ games/xinvaders/files/patch-aa	1970-01-01 09:00:00.000000000 +0900
@@ -1,26 +0,0 @@
---- Makefile.am.orig	Sat Sep 16 16:31:29 2000
-+++ Makefile.am	Sat Feb  3 11:18:31 2001
-@@ -3,8 +3,7 @@
- SUBDIRS=intl po
- EXTRA_DIST=debian Vaders xinvaders.6 icon.xpm xinvaders.lsm
- 
--execgamesdir=$(prefix)/games
--execgames_PROGRAMS = xinvaders
-+bin_PROGRAMS = xinvaders
- 
- xinvaders_SOURCES = base.c main.c score.c shot.c spacers.c vaders.c \
- widget.c me.h patchlevel.h vaders.h base1.bit base2.bit explode1.bit \
-@@ -14,13 +13,3 @@
- vader3b1.bit vader3b2.bit vexplod1.bit vexplod2.bit
- 
- man_MANS = xinvaders.6
--
--install-data-local:
--	mkdir -p $(shell dirname $(DESTDIR)$(SCOREFILE) )
--	echo 0 > $(DESTDIR)$(SCOREFILE)
--	chgrp games $(DESTDIR)$(SCOREFILE)
--	chmod 0660 $(DESTDIR)$(SCOREFILE)
--
--install-exec-local:
--	chgrp games $(DESTDIR)$(execgamesdir)/xinvaders
--	chmod g+s $(DESTDIR)$(execgamesdir)/xinvaders
diff -urN /usr/ports/games/xinvaders/files/patch-main.c games/xinvaders/files/patch-main.c
--- /usr/ports/games/xinvaders/files/patch-main.c	1970-01-01 09:00:00.000000000 +0900
+++ games/xinvaders/files/patch-main.c	2013-12-17 00:00:00.000000000 +0900
@@ -0,0 +1,122 @@
+--- main.c.orig
++++ main.c
+@@ -38,55 +38,6 @@
+     {"-debug",	"*debug",	XrmoptionNoArg,	NULL},
+ };
+ 
+-static XtResource resources[] = {
+-    {XtNwidth, XtCWidth, XtRInt, sizeof(int),
+-	 (Cardinal)&width, XtRImmediate, (caddr_t) VWIDTH},
+-    {XtNheight, XtCHeight, XtRInt, sizeof(int),
+-	 (Cardinal)&height, XtRImmediate, (caddr_t) VHEIGHT},
+-    {"debug", "Debug", XtRBoolean, sizeof(Boolean),
+-	 (Cardinal)&debug, XtRString, "off"},
+-    {"font", "Font", XtRString, sizeof(String),
+-	 (Cardinal)&vaderfont, XtRString, (String)"9x15"},
+-    {"scale", "Scale", XtRInt, sizeof(int),
+-	 (Cardinal)&scale, XtRImmediate, (caddr_t) 2},
+-    {"basewait", "BaseWait", XtRInt, sizeof(int),
+-	 (Cardinal)&basewait, XtRImmediate, (caddr_t) 10},
+-    {"vaderwait", "VaderWait", XtRInt, sizeof(int),
+-	 (Cardinal)&vaderwait, XtRImmediate, (caddr_t) 300},
+-    {"spacerwait", "SpacerWait", XtRInt, sizeof(int),
+-	 (Cardinal)&spacerwait, XtRImmediate, (caddr_t) 50},
+-    {"shotwait", "ShotWait", XtRInt, sizeof(int),
+-	 (Cardinal)&shotwait, XtRImmediate, (caddr_t) 10},
+-    {"vshotwait", "VshotWait", XtRInt, sizeof(int),
+-	 (Cardinal)&vshotwait, XtRImmediate, (caddr_t) 30},
+-    {"basecolor", "BaseColor", XtRPixel, sizeof(Pixel),
+-	 (Cardinal)&basepixel, XtRString, "cyan"},
+-    {"spacercolor", "SpacerColor", XtRPixel, sizeof(Pixel),
+-	 (Cardinal)&spacerpixel, XtRString, "gray"},
+-    {"buildingcolor", "BuildingColor", XtRPixel, sizeof(Pixel),
+-	 (Cardinal)&buildingpixel, XtRString, "yellow"},
+-    {"vader1color", "Vader1Color", XtRPixel, sizeof(Pixel),
+-	 (Cardinal)&vader1pixel, XtRString, "blue"},
+-    {"vader2color", "Vader2Color", XtRPixel, sizeof(Pixel),
+-	 (Cardinal)&vader2pixel, XtRString, "green"},
+-    {"vader3color", "Vader3Color", XtRPixel, sizeof(Pixel),
+-	 (Cardinal)&vader3pixel, XtRString, "red"},
+-    {"shotcolor", "ShotColor", XtRPixel, sizeof(Pixel),
+-	 (Cardinal)&shotpixel, XtRString, "lavender"},
+-    {"vshotcolor", "VshotColor", XtRPixel, sizeof(Pixel),
+-	 (Cardinal)&vshotpixel, XtRString, "orange"},
+-    {"scorecolor", "ScoreColor", XtRPixel, sizeof(Pixel),
+-	 (Cardinal)&scorepixel, XtRString, "white"},
+-    {"maxshots", "MaxShots", XtRInt, sizeof(int),
+-	 (Cardinal) &maxshots, XtRImmediate, (caddr_t) 1},
+-    {"maxvshots", "MaxVshots", XtRInt, sizeof(int),
+-	 (Cardinal) &maxvshots, XtRImmediate, (caddr_t) 6},
+-    {"defaultfore", "DefaultFore", XtRPixel, sizeof(Pixel),
+-	 (Cardinal) &defaultfore, XtRString, "white"},
+-    {"defaultback", "DefaultBack", XtRPixel, sizeof(Pixel),
+-	 (Cardinal) &defaultback, XtRString, "black"},
+-};
+-
+ 
+ /*ARGSUSED*/
+ static void CvtStringToFloat(args, num_args, fromVal, toVal)
+@@ -141,13 +92,62 @@
+   return w;
+ }
+ 
+-int main(Cardinal argc, char **argv)
++int main(int argc, char **argv)
+ {
+   static Arg args[10];
+   int n;
+   Widget form, button;
+   /* extern WidgetClass labelwidgetclass; */
+ 
++  XtResource resources[] = {
++    {XtNwidth, XtCWidth, XtRInt, sizeof(int),
++	 (Cardinal)&width, XtRImmediate, (caddr_t) VWIDTH},
++    {XtNheight, XtCHeight, XtRInt, sizeof(int),
++	 (Cardinal)&height, XtRImmediate, (caddr_t) VHEIGHT},
++    {"debug", "Debug", XtRBoolean, sizeof(Boolean),
++	 (Cardinal)&debug, XtRString, "off"},
++    {"font", "Font", XtRString, sizeof(String),
++	 (Cardinal)&vaderfont, XtRString, (String)"9x15"},
++    {"scale", "Scale", XtRInt, sizeof(int),
++	 (Cardinal)&scale, XtRImmediate, (caddr_t) 2},
++    {"basewait", "BaseWait", XtRInt, sizeof(int),
++	 (Cardinal)&basewait, XtRImmediate, (caddr_t) 10},
++    {"vaderwait", "VaderWait", XtRInt, sizeof(int),
++	 (Cardinal)&vaderwait, XtRImmediate, (caddr_t) 300},
++    {"spacerwait", "SpacerWait", XtRInt, sizeof(int),
++	 (Cardinal)&spacerwait, XtRImmediate, (caddr_t) 50},
++    {"shotwait", "ShotWait", XtRInt, sizeof(int),
++	 (Cardinal)&shotwait, XtRImmediate, (caddr_t) 10},
++    {"vshotwait", "VshotWait", XtRInt, sizeof(int),
++	 (Cardinal)&vshotwait, XtRImmediate, (caddr_t) 30},
++    {"basecolor", "BaseColor", XtRPixel, sizeof(Pixel),
++	 (Cardinal)&basepixel, XtRString, "cyan"},
++    {"spacercolor", "SpacerColor", XtRPixel, sizeof(Pixel),
++	 (Cardinal)&spacerpixel, XtRString, "gray"},
++    {"buildingcolor", "BuildingColor", XtRPixel, sizeof(Pixel),
++	 (Cardinal)&buildingpixel, XtRString, "yellow"},
++    {"vader1color", "Vader1Color", XtRPixel, sizeof(Pixel),
++	 (Cardinal)&vader1pixel, XtRString, "blue"},
++    {"vader2color", "Vader2Color", XtRPixel, sizeof(Pixel),
++	 (Cardinal)&vader2pixel, XtRString, "green"},
++    {"vader3color", "Vader3Color", XtRPixel, sizeof(Pixel),
++	 (Cardinal)&vader3pixel, XtRString, "red"},
++    {"shotcolor", "ShotColor", XtRPixel, sizeof(Pixel),
++	 (Cardinal)&shotpixel, XtRString, "lavender"},
++    {"vshotcolor", "VshotColor", XtRPixel, sizeof(Pixel),
++	 (Cardinal)&vshotpixel, XtRString, "orange"},
++    {"scorecolor", "ScoreColor", XtRPixel, sizeof(Pixel),
++	 (Cardinal)&scorepixel, XtRString, "white"},
++    {"maxshots", "MaxShots", XtRInt, sizeof(int),
++	 (Cardinal) &maxshots, XtRImmediate, (caddr_t) 1},
++    {"maxvshots", "MaxVshots", XtRInt, sizeof(int),
++	 (Cardinal) &maxvshots, XtRImmediate, (caddr_t) 6},
++    {"defaultfore", "DefaultFore", XtRPixel, sizeof(Pixel),
++	 (Cardinal) &defaultfore, XtRString, "white"},
++    {"defaultback", "DefaultBack", XtRPixel, sizeof(Pixel),
++	 (Cardinal) &defaultback, XtRString, "black"},
++};
++
+   setlocale(LC_ALL, "");
+   textdomain(PACKAGE);
+ 
diff -urN /usr/ports/games/xinvaders/pkg-plist games/xinvaders/pkg-plist
--- /usr/ports/games/xinvaders/pkg-plist	2013-11-06 22:00:29.000000000 +0900
+++ games/xinvaders/pkg-plist	2013-12-17 00:00:00.000000000 +0900
@@ -1,5 +1,14 @@
+@group games
+@mode 2555
 bin/xinvaders
+@mode
+@group
 lib/X11/app-defaults/Vaders
+man/man6/xinvaders.6.gz
 share/locale/es/LC_MESSAGES/xinvaders.mo
-share/xinvaders/xinvaders.scores
-@dirrm share/xinvaders
+@unexec if [ `stat -f %z %D/%%DATADIR%%/xinvaders.scores 2>/dev/null` = "2" ]; then rm -f %D/%%DATADIR%%/xinvaders.scores; fi
+@dirrmtry %%DATADIR%%
+@exec if [ ! -e %D/%%DATADIR%% ]; then mkdir -p %D/%%DATADIR%%; fi
+@exec if [ ! -e %D/%%DATADIR%%/xinvaders.scores ]; then echo "0" > %D/%%DATADIR%%/xinvaders.scores; fi
+@exec chmod 0660 %D/%%DATADIR%%/xinvaders.scores
+@exec chgrp games %D/%%DATADIR%%/xinvaders.scores
>Release-Note:
>Audit-Trail:
>Unformatted:



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