svn commit: r353754 - in head/games/mirrormagic: . files

Dmitry Marakasov amdmi3 at FreeBSD.org
Mon May 12 00:59:01 UTC 2014


Author: amdmi3
Date: Mon May 12 00:59:00 2014
New Revision: 353754
URL: http://svnweb.freebsd.org/changeset/ports/353754
QAT: https://qat.redports.org/buildarchive/r353754/

Log:
  - Support staging
  - Convert USE_GMAKE to USES
  - Improve highscore dir handling
  - Fix on 10.x+

Added:
  head/games/mirrormagic/files/pkg-deinstall.in   (contents, props changed)
  head/games/mirrormagic/files/pkg-install.in   (contents, props changed)
Modified:
  head/games/mirrormagic/Makefile
  head/games/mirrormagic/pkg-plist

Modified: head/games/mirrormagic/Makefile
==============================================================================
--- head/games/mirrormagic/Makefile	Mon May 12 00:36:24 2014	(r353753)
+++ head/games/mirrormagic/Makefile	Mon May 12 00:59:00 2014	(r353754)
@@ -13,16 +13,23 @@ COMMENT=	Arcade style game with stereo s
 
 LICENSE=	GPLv2
 
-USE_GMAKE=	yes
+USES=		gmake
 MAKE_ARGS=	CC="${CC}" MAKE="${GMAKE}" OPTIONS="${CFLAGS}" \
 		RO_GAME_DIR="${DATADIR}" RW_GAME_DIR="${DATADIR}/scores" \
 		X11_PATH="${LOCALBASE}"
-WANT_SDL=	yes
+USE_GCC=	any # doesn't start otherwise (UB?)
+
+PORTDATA=	*
+PORTDOCS=	*
+
+SCOREDIR=	/var/games/${PORTNAME}
+
+SUB_FILES=	pkg-deinstall pkg-install
+SUB_LIST=	SCOREDIR="${SCOREDIR}"
 
 OPTIONS_DEFINE=	SDL
-OPTIONS_DEFAULT=	SDL
+OPTIONS_DEFAULT=SDL
 
-NO_STAGE=	yes
 .include <bsd.port.options.mk>
 
 .if ${PORT_OPTIONS:MSDL}
@@ -43,17 +50,15 @@ post-patch:
 	@${REINPLACE_CMD} -e 's|inline||' ${WRKSRC}/src/libgame/*.[ch]
 
 do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/mirrormagic ${PREFIX}/bin
-	@${MKDIR} ${DATADIR}
-	${TAR} -C ${WRKSRC} -cf - graphics levels music scores sounds | \
-		${TAR} -C ${DATADIR} -xf -
-	@${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DATADIR}
-	@${CHMOD} 777 ${DATADIR}/scores
-.if ${PORT_OPTIONS:MDOCS}
-	@${MKDIR} ${DOCSDIR}
+	${INSTALL_PROGRAM} ${WRKSRC}/mirrormagic ${STAGEDIR}${PREFIX}/bin
+	@${MKDIR} ${STAGEDIR}${DATADIR}
+	cd ${WRKSRC} && ${COPYTREE_SHARE} "graphics levels music scores sounds" \
+		${STAGEDIR}${DATADIR}
+	${RMDIR} ${STAGEDIR}${DATADIR}/scores
+	${LN} -s ${SCOREDIR} ${STAGEDIR}${DATADIR}/scores
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
 .for file in CHANGES CREDITS README
-	${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/${file} ${STAGEDIR}${DOCSDIR}
 .endfor
-.endif
 
 .include <bsd.port.mk>

Added: head/games/mirrormagic/files/pkg-deinstall.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/mirrormagic/files/pkg-deinstall.in	Mon May 12 00:59:00 2014	(r353754)
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# $FreeBSD$
+
+[ "$2" != "POST-DEINSTALL" ] && exit 0
+
+rmdir "%%SCOREDIR%%" 2>/dev/null
+
+if [ -e "%%SCOREDIR%%" ]; then
+	echo
+	echo "To completely remove the port, please remove the following"
+	echo "directory manually, if it's no longer needed:"
+	echo
+	echo "    %%SCOREDIR%%"
+	echo
+fi

Added: head/games/mirrormagic/files/pkg-install.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/games/mirrormagic/files/pkg-install.in	Mon May 12 00:59:00 2014	(r353754)
@@ -0,0 +1,10 @@
+#!/bin/sh
+#
+# $FreeBSD: head/games/pachi/pkg-install 340719 2014-01-22 15:52:06Z mat $
+
+[ "$2" != "POST-INSTALL" ] && exit 0
+[ -e "%%SCOREDIR%%" ] && exit 0
+
+mkdir -p "%%SCOREDIR%%"
+chgrp games "%%SCOREDIR%%"
+chmod g+w "%%SCOREDIR%%"

Modified: head/games/mirrormagic/pkg-plist
==============================================================================
--- head/games/mirrormagic/pkg-plist	Mon May 12 00:36:24 2014	(r353753)
+++ head/games/mirrormagic/pkg-plist	Mon May 12 00:59:00 2014	(r353754)
@@ -1,213 +1,5 @@
+ at group games
+ at mode 2555
 bin/mirrormagic
-%%PORTDOCS%%%%DOCSDIR%%/CHANGES
-%%PORTDOCS%%%%DOCSDIR%%/CREDITS
-%%PORTDOCS%%%%DOCSDIR%%/README
-%%DATADIR%%/graphics/MirrorDF.pcx
-%%DATADIR%%/graphics/MirrorDoor.pcx
-%%DATADIR%%/graphics/MirrorFont.pcx
-%%DATADIR%%/graphics/MirrorFont2.pcx
-%%DATADIR%%/graphics/MirrorFont3.pcx
-%%DATADIR%%/graphics/MirrorScreen.pcx
-%%DATADIR%%/graphics/MirrorToons.pcx
-%%DATADIR%%/graphics/mirrormagic_icon.xbm
-%%DATADIR%%/graphics/mirrormagic_iconmask.xbm
-%%DATADIR%%/graphics/mouse.pcx
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/001.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/002.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/003.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/004.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/005.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/006.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/007.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/008.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/009.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/010.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/011.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/012.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/013.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/014.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/015.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/016.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/017.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/018.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/019.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/020.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/021.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/022.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/023.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/024.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/025.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/026.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/027.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/028.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/029.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/030.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/031.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/032.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/033.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/034.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/035.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/036.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/037.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/038.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/039.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/040.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/041.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/042.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/043.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/044.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/045.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/046.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/047.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/048.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/049.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/050.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/051.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/052.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/053.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/054.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/055.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/056.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/057.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/058.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/059.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/060.level
-%%DATADIR%%/levels/Classic_Games/classic_deflektor/levelinfo.conf
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/000.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/001.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/002.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/003.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/004.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/005.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/006.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/007.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/008.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/009.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/010.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/011.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/012.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/013.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/014.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/015.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/016.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/017.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/018.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/019.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/020.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/021.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/022.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/023.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/024.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/025.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/026.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/027.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/028.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/029.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/030.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/031.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/032.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/033.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/034.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/035.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/036.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/037.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/038.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/039.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/040.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/041.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/042.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/043.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/044.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/045.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/046.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/047.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/048.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/049.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/050.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/051.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/052.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/053.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/054.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/055.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/056.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/057.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/058.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/059.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/060.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/061.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/062.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/063.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/064.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/065.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/066.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/067.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/068.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/069.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/070.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/071.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/072.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/073.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/074.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/075.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/076.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/077.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/078.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/079.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/080.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/081.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/082.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/083.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/084.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/085.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/086.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/087.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/088.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/089.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/090.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/091.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/092.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/093.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/094.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/095.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/096.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/097.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/098.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/099.level
-%%DATADIR%%/levels/Classic_Games/classic_mindbender/levelinfo.conf
-%%DATADIR%%/levels/Classic_Games/levelinfo.conf
-%%DATADIR%%/music/mod.enter_our_world
-%%DATADIR%%/music/mod.lk
-%%DATADIR%%/music/mod.loud_and_clear
-%%DATADIR%%/music/tyger.wav
-%%DATADIR%%/music/voyager.wav
-%%DATADIR%%/sounds/amoebe.wav
-%%DATADIR%%/sounds/antigrav.wav
-%%DATADIR%%/sounds/autsch.wav
-%%DATADIR%%/sounds/bong.wav
-%%DATADIR%%/sounds/fuel.wav
-%%DATADIR%%/sounds/halloffame.wav
-%%DATADIR%%/sounds/holz.wav
-%%DATADIR%%/sounds/hui.wav
-%%DATADIR%%/sounds/kabumm.wav
-%%DATADIR%%/sounds/kink.wav
-%%DATADIR%%/sounds/kling.wav
-%%DATADIR%%/sounds/laser.wav
-%%DATADIR%%/sounds/oeffnen.wav
-%%DATADIR%%/sounds/quiek.wav
-%%DATADIR%%/sounds/rhythmloop.wav
-%%DATADIR%%/sounds/roaaar.wav
-%%DATADIR%%/sounds/sirr.wav
-%%DATADIR%%/sounds/slurp.wav
-%%DATADIR%%/sounds/warnton.wav
-%%DATADIR%%/sounds/whoosh.wav
- at exec mkdir -p %D/%%DATADIR%%/scores
- at dirrm %%DATADIR%%/sounds
- at dirrm %%DATADIR%%/music
- at dirrm %%DATADIR%%/levels/Classic_Games/classic_mindbender
- at dirrm %%DATADIR%%/levels/Classic_Games/classic_deflektor
- at dirrm %%DATADIR%%/levels/Classic_Games
- at dirrm %%DATADIR%%/levels
- at dirrm %%DATADIR%%/graphics
- at unexec rmdir %D/%%DATADIR%%/scores 2>/dev/null || true
- at unexec rmdir %D/%%DATADIR%% 2>/dev/null || true
-%%PORTDOCS%%@dirrm %%DOCSDIR%%
+ at mode
+ at group


More information about the svn-ports-all mailing list