aboutsummaryrefslogtreecommitdiff
path: root/games/mirrormagic
diff options
context:
space:
mode:
authorDmitry Marakasov <amdmi3@FreeBSD.org>2014-05-12 00:59:00 +0000
committerDmitry Marakasov <amdmi3@FreeBSD.org>2014-05-12 00:59:00 +0000
commitd38a9a2ee4e3cabd60d7dc228539d8a0904f6ca1 (patch)
treeebfe225b842650eb7e5602ebed535a5c7fd9b720 /games/mirrormagic
parent11deaa725c5b2884f40ceca4e38edfabcdc804bb (diff)
downloadports-d38a9a2ee4e3cabd60d7dc228539d8a0904f6ca1.tar.gz
ports-d38a9a2ee4e3cabd60d7dc228539d8a0904f6ca1.zip
- Support staging
- Convert USE_GMAKE to USES - Improve highscore dir handling - Fix on 10.x+
Notes
Notes: svn path=/head/; revision=353754
Diffstat (limited to 'games/mirrormagic')
-rw-r--r--games/mirrormagic/Makefile33
-rw-r--r--games/mirrormagic/files/pkg-deinstall.in16
-rw-r--r--games/mirrormagic/files/pkg-install.in10
-rw-r--r--games/mirrormagic/pkg-plist216
4 files changed, 49 insertions, 226 deletions
diff --git a/games/mirrormagic/Makefile b/games/mirrormagic/Makefile
index 880009b62a56..bdb261d5f91b 100644
--- a/games/mirrormagic/Makefile
+++ b/games/mirrormagic/Makefile
@@ -13,16 +13,23 @@ COMMENT= Arcade style game with stereo sound for X Window System
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>
diff --git a/games/mirrormagic/files/pkg-deinstall.in b/games/mirrormagic/files/pkg-deinstall.in
new file mode 100644
index 000000000000..5fb203d395dc
--- /dev/null
+++ b/games/mirrormagic/files/pkg-deinstall.in
@@ -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
diff --git a/games/mirrormagic/files/pkg-install.in b/games/mirrormagic/files/pkg-install.in
new file mode 100644
index 000000000000..6eb955c96456
--- /dev/null
+++ b/games/mirrormagic/files/pkg-install.in
@@ -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%%"
diff --git a/games/mirrormagic/pkg-plist b/games/mirrormagic/pkg-plist
index 40ce7a07647f..c281d7daefe4 100644
--- a/games/mirrormagic/pkg-plist
+++ b/games/mirrormagic/pkg-plist
@@ -1,213 +1,5 @@
+@group games
+@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
-@exec mkdir -p %D/%%DATADIR%%/scores
-@dirrm %%DATADIR%%/sounds
-@dirrm %%DATADIR%%/music
-@dirrm %%DATADIR%%/levels/Classic_Games/classic_mindbender
-@dirrm %%DATADIR%%/levels/Classic_Games/classic_deflektor
-@dirrm %%DATADIR%%/levels/Classic_Games
-@dirrm %%DATADIR%%/levels
-@dirrm %%DATADIR%%/graphics
-@unexec rmdir %D/%%DATADIR%%/scores 2>/dev/null || true
-@unexec rmdir %D/%%DATADIR%% 2>/dev/null || true
-%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@mode
+@group