1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-21 00:25:50 +00:00

- Support staging

- Convert USE_GMAKE to USES
- Improve highscore dir handling
- Fix on 10.x+
This commit is contained in:
Dmitry Marakasov 2014-05-12 00:59:00 +00:00
parent 11deaa725c
commit d38a9a2ee4
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=353754
4 changed files with 49 additions and 226 deletions

View File

@ -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>

View File

@ -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

View File

@ -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%%"

View File

@ -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