ports/184876: games/xinvaders: Fix build with clang
KATO Tsuguru
tkato432 at yahoo.com
Mon Dec 16 18:10:21 UTC 2013
>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 at 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 @@
+ at group games
+ at mode 2555
bin/xinvaders
+ at mode
+ at group
lib/X11/app-defaults/Vaders
+man/man6/xinvaders.6.gz
share/locale/es/LC_MESSAGES/xinvaders.mo
-share/xinvaders/xinvaders.scores
- at dirrm share/xinvaders
+ at unexec if [ `stat -f %z %D/%%DATADIR%%/xinvaders.scores 2>/dev/null` = "2" ]; then rm -f %D/%%DATADIR%%/xinvaders.scores; fi
+ at dirrmtry %%DATADIR%%
+ at exec if [ ! -e %D/%%DATADIR%% ]; then mkdir -p %D/%%DATADIR%%; fi
+ at exec if [ ! -e %D/%%DATADIR%%/xinvaders.scores ]; then echo "0" > %D/%%DATADIR%%/xinvaders.scores; fi
+ at exec chmod 0660 %D/%%DATADIR%%/xinvaders.scores
+ at exec chgrp games %D/%%DATADIR%%/xinvaders.scores
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list