summaryrefslogtreecommitdiff
path: root/games/rocksndiamonds/Makefile
diff options
context:
space:
mode:
authorheinz <heinz@pkgsrc.org>2006-07-22 23:16:42 +0000
committerheinz <heinz@pkgsrc.org>2006-07-22 23:16:42 +0000
commit76b4cbfe7f475c047a7f89c4a32fd6c51a8fd3ee (patch)
tree6e4d25c9f90eede5022121f19023493d5fba4ee8 /games/rocksndiamonds/Makefile
parent8a419ad8caafb3cdab5cf2ecae9f3590e0503f3a (diff)
downloadpkgsrc-76b4cbfe7f475c047a7f89c4a32fd6c51a8fd3ee.tar.gz
Updated to version 3.2.0.
Pkgsrc changes: - Cleaned up COMMENT: There are no more separate packages for x11 and sdl. - INSTALLATION_DIRS should be extended, not set absolutely. - Simplified PLIST handling: no more @exec in PLIST, replaced by OWN_DIRS_PERMS. - Simplified installation of sounds/graphics/levels etc. All the files are now dynamically added to the PLIST, so the static PLIST is really short now. - Use GAMEOWN and GAMEGRP as user and group now. - No more substitutions in the pre-configure target and no more patch-aa: Replaced by overriding GNU make variables with MAKE_FLAGS. - Simplified patch-ab, also with MAKE_FLAGS. - Changed mode of top-level score directory so that users cannot see the score files. This prevents tampering with high scores :). - The do-install target uses now INSTALL_GAME to honor SETGIDGAME (from mk.conf). Relevant changes since version 3.1.2: ===================================== - finished new native game engine for Emerald Mine (Club) levels - added all new elements from EMC engine also to R'n'D engine - added selection between ECS and AGA graphics for EMC levels to setup - added multi-player support for EMC game engine (with up to four players) - added player switching (visual and quick) to R'n'D and EM game engine - added key shortcut settings for switching player focus to setup menu - added custom element actions for CE change page in level editor - added "CE value" and "CE score" counters for custom elements - added cascaded element lists to element list in level editor - added dynamic element list with all elements used in current level - added special Supaplex animations for Murphy being bored and sleeping - added setup option to display element token name in level editor - added up to five title screens for each level set to show after loading - added credits pages to the "credits" section that were really missing - lots of bugfixes and internal engine changes (see ChangeLog file)
Diffstat (limited to 'games/rocksndiamonds/Makefile')
-rw-r--r--games/rocksndiamonds/Makefile100
1 files changed, 53 insertions, 47 deletions
diff --git a/games/rocksndiamonds/Makefile b/games/rocksndiamonds/Makefile
index 3305ac42afe..7e16dab6324 100644
--- a/games/rocksndiamonds/Makefile
+++ b/games/rocksndiamonds/Makefile
@@ -1,73 +1,79 @@
-# $NetBSD: Makefile,v 1.30 2006/06/12 16:28:10 wiz Exp $
+# $NetBSD: Makefile,v 1.31 2006/07/22 23:16:42 heinz Exp $
-DISTNAME= rocksndiamonds-3.1.2
-PKGREVISION= 2
+DISTNAME= rocksndiamonds-3.2.0
CATEGORIES= games x11
MASTER_SITES= http://www.artsoft.org/RELEASES/unix/rocksndiamonds/
MAINTAINER= heinz@NetBSD.org
HOMEPAGE= http://www.artsoft.org/rocksndiamonds/
-COMMENT= Game like Boulder Dash, Emerald Mine, or Sokoban (X11 build)
+COMMENT= Game like Boulder Dash, Emerald Mine, or Sokoban
USE_TOOLS+= gmake
-INSTALLATION_DIRS= ${PKGMANDIR}/man6
+INSTALLATION_DIRS+= ${PKGMANDIR}/man6
-PLIST_SRC= ${WRKDIR}/PLIST PLIST
-PLIST_SUBST+= SCORE_PATH=${SCORE_PATH:Q}
-PLIST_SUBST+= ROCK_INSTALL_DIR="${INSTALL} -d -o ${RND_USER} -g ${RND_GROUP} -m 775"
+PKG_GROUPS+= ${GAMEGRP}
+PKG_USERS+= ${GAMEOWN}:${GAMEGRP}
-PKG_GROUPS= ${RND_GROUP}
-PKG_USERS= ${RND_USER}:${RND_GROUP}
+SHARESUBDIR= share/rocksndiamonds
+SHAREDIR= ${PREFIX}/${SHARESUBDIR}
-RND_USER= games
-RND_GROUP= games
+SCORE_PATH= ${VARBASE}/games/rocksndiamonds
+
+REQD_DIRS+= ${SHARESUBDIR}
+
+OWN_DIRS_PERMS+= ${SCORE_PATH:Q}
+OWN_DIRS_PERMS+= ${GAMEOWN} ${GAMEGRP} ${GAMEDIRMODE}
+OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores
+OWN_DIRS_PERMS+= ${GAMEOWN} ${GAMEGRP} 750
+OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_boulderdash
+OWN_DIRS_PERMS+= ${GAMEOWN} ${GAMEGRP} ${GAMEDIRMODE}
+OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_emerald_mine
+OWN_DIRS_PERMS+= ${GAMEOWN} ${GAMEGRP} ${GAMEDIRMODE}
+OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_sokoban
+OWN_DIRS_PERMS+= ${GAMEOWN} ${GAMEGRP} ${GAMEDIRMODE}
+OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/classic_supaplex
+OWN_DIRS_PERMS+= ${GAMEOWN} ${GAMEGRP} ${GAMEDIRMODE}
+OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/rnd_tutorial_aaron_davidson
+OWN_DIRS_PERMS+= ${GAMEOWN} ${GAMEGRP} ${GAMEDIRMODE}
+OWN_DIRS_PERMS+= ${SCORE_PATH:Q}/scores/rnd_tutorial_niko_boehm
+OWN_DIRS_PERMS+= ${GAMEOWN} ${GAMEGRP} ${GAMEDIRMODE}
+
+PLIST_SRC= PLIST ${WRKDIR}/PLIST.F ${WRKDIR}/PLIST.D
.if ( ${MACHINE} == "i386" || ${MACHINE} == "prep" || ${MACHINE} == "cats" || \
${MACHINE} == "shark" )
-MAKE_ENV+= HAVE_JOYSTICK=1
+MAKE_FLAGS+= JOYSTICK=-DHAVE_JOYSTICK
.endif
-.include "options.mk"
-
-SCORE_PATH= ${VARBASE}/games/rocksndiamonds
+MAKE_FLAGS+= CC=${CC:Q}
+MAKE_FLAGS+= MAKE=${MAKE_PROGRAM:Q}
+MAKE_FLAGS+= X11_PATH=${X11BASE:Q}
+MAKE_FLAGS+= RO_GAME_DIR=${PREFIX:Q}/share/rocksndiamonds
+MAKE_FLAGS+= RW_GAME_DIR=${SCORE_PATH:Q}
+MAKE_FLAGS+= X11_INCL=
+MAKE_FLAGS+= X11_LIBS=-lX11
-pre-configure:
- @${SED} -e "s,@SCORE_PATH@,${SCORE_PATH},g" \
- ${WRKSRC}/Makefile > ${WRKSRC}/Makefile.fixed && \
- ${MV} ${WRKSRC}/Makefile.fixed ${WRKSRC}/Makefile
+.include "options.mk"
do-install:
- ${INSTALL_PROGRAM} -o ${RND_USER} -g ${RND_GROUP} -m 2755 \
- ${WRKSRC}/rocksndiamonds ${PREFIX}/bin/
+ ${INSTALL_GAME} ${WRKSRC}/rocksndiamonds ${PREFIX}/bin/
${INSTALL_MAN} ${WRKSRC}/rocksndiamonds.1 \
${PREFIX}/${PKGMANDIR}/man6/rocksndiamonds.6
- ${INSTALL_DATA_DIR} ${PREFIX}/share/rocksndiamonds
- cd ${WRKSRC} && ${PAX} -rw sounds graphics levels music \
- ${PREFIX}/share/rocksndiamonds/
- ${CHOWN} -R ${RND_USER}:${RND_GROUP} ${PREFIX}/share/rocksndiamonds
- ${CHMOD} -R a-w ${PREFIX}/share/rocksndiamonds
- ${INSTALL_DATA_DIR} ${SCORE_PATH}/scores
- ${CHMOD} 755 ${SCORE_PATH}
- ${CHMOD} 775 ${SCORE_PATH}/scores
- # extract basenames of level subdirectories, levelinfo.conf is a file
- LEVELDIRS=`${LS} -d ${WRKSRC}/levels/*/* | \
- ${SED} -e 's@^.*/\([^/]*\)$$@\1@' -e '/levelinfo\.conf/d'` && \
- for directory in $${LEVELDIRS}; do \
- ${INSTALL_DATA_DIR} ${SCORE_PATH}/scores/$${directory}; \
- ${CHMOD} 775 ${SCORE_PATH}/scores/$${directory}; \
- done
- ${CHOWN} -R ${RND_USER}:${RND_GROUP} ${SCORE_PATH}
+ ${INSTALL_DATA_DIR} ${SHAREDIR}
# auto-generated PLIST
- ${RM} -f ${WRKDIR}/PLIST
-.for levdir in Classic_Games Tutorials
- cd ${PREFIX} && \
- ${FIND} share/rocksndiamonds/levels/${levdir} -type f -print >>${WRKDIR}/PLIST
-.endfor
-.for directory in graphics music sounds
- cd ${PREFIX} && \
- ${FIND} share/rocksndiamonds/${directory} -type f -print >>${WRKDIR}/PLIST
-.endfor
+ -${RM} -f ${WRKDIR}/PLIST.F ${WRKDIR}/PLIST.D
+ cd ${WRKSRC} && \
+ for d in sounds graphics levels music; do \
+ ${FIND} $${d} -type d -print | { while read subdir; do \
+ ${INSTALL_DATA_DIR} ${SHAREDIR}/$${subdir}; \
+ ${ECHO} "@dirrm ${SHARESUBDIR}/$${subdir}"; \
+ done ; } | ${SORT} -r >> ${WRKDIR}/PLIST.D; \
+ ${FIND} $${d} -type f -print | while read f; do \
+ ${INSTALL_DATA} $${f} ${SHAREDIR}/$${f}; \
+ ${ECHO} ${SHARESUBDIR}/$${f} >> ${WRKDIR}/PLIST.F;\
+ done ; \
+ done
.include "../../mk/x11.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"