8 MASTER_SITES= SF/${TRUEPORTNAME}/${TRUEPORTNAME}/${PORTVERSION}
9 DISTNAME= ${TRUEPORTNAME}-${PORTVERSION:S/.//g}-src
11 MAINTAINER= glewis@FreeBSD.org
12 COMMENT= Dungeon explorin', slashin', hackin' game
15 LICENSE_NAME= NETHACK GENERAL PUBLIC LICENSE
16 LICENSE_FILE= ${WRKSRC}/dat/license
17 LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
19 WRKSRC= ${WRKDIR}/${TRUEPORTNAME}-${PORTVERSION}
21 USES= alias gmake ncurses tar:tgz
22 MAKE_ENV= GRAPHICS="${GRAPHICS}"
23 PLIST_SUB= HACKNAME="${HACKNAME}" \
28 # Configure these variables as you want them to be.
30 HACKNAME?= ${TRUEPORTNAME}${HACKEXT}
31 HACKDIR?= share/${HACKNAME}
32 HACKLINK= ${TRUEPORTNAME}
34 DATADIR= ${PREFIX}/${HACKDIR}
35 DOCSDIR= ${PREFIX}/share/doc/${HACKNAME}
36 PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
38 .if !defined(PKGNAMESUFFIX)
41 GRAPHICS= X11_GRAPHICS
43 .if ${PKGNAMESUFFIX} == "-nox11"
47 # 1) hpmon and statuscolors conflict with one another
48 # 2) menucolors patch must be applied before statuscolors
50 .if defined(WITH_HPMON) && defined(WITH_STATUSCOLORS)
51 IGNORE= you cannot enable both HPMON and STATUSCOLORS
53 .if defined(WITH_MENUCOLORS)
54 PATCHFILES+= nh343-menucolor.diff
55 PATCH_SITES+= http://bilious.alt.org/~paxed/nethack/
57 CFLAGS+= -DMENU_COLOR_REGEX_POSIX
59 .if defined(WITH_STATUSCOLORS)
60 PATCHFILES+= nh343-statuscolors.fixed.patch
61 PATCH_SITES+= https://jdc.koitsu.org/nethack/ \
65 .if defined(WITH_HPMON)
66 PATCHFILES+= hpmon.diff
67 PATCH_SITES+= http://www.netsonic.fi/~walker/nh/ \
77 .include <bsd.port.pre.mk>
79 .if !exists(${PREFIX}/bin/${HACKLINK}) && ${HACKNAME} != ${HACKLINK}
80 PLIST_SUB+= HACKLINK=""
82 PLIST_SUB+= HACKLINK="@comment "
86 @if [ "${PKGBASE}" != "nethack" ]; then \
87 ${ECHO_MSG} "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ; \
88 ${ECHO_MSG} " You cannot install nethack and ${PKGBASE} in parallel " ; \
89 ${ECHO_MSG} " But ${PKGBASE} reads your prior nethack scores " ; \
90 ${ECHO_MSG} " Don't forget to backup your nethack libdir if it's " ; \
91 ${ECHO_MSG} " important for you " ; \
92 ${ECHO_MSG} "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ; \
96 @${REINPLACE_CMD} -e \
97 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/include/config.h
98 @${REINPLACE_CMD} -e \
99 's|<malloc.h>|<stdlib.h>|g' ${WRKSRC}/win/Qt/qt_win.cpp
100 .for f in include/config.h sys/unix/Makefile.doc sys/unix/Makefile.src sys/unix/Makefile.top
101 @${REINPLACE_CMD} -e 's|%%HACKNAME%%|${HACKNAME}|g' \
102 -e 's|%%HACKDIR%%|${PREFIX}/${HACKDIR}|g' \
103 -e 's|%%HACKEXT%%|${HACKEXT}|g' \
106 .for f in dgn_comp.6 dlb.6 lev_comp.6 nethack.6 recover.6
107 @${REINPLACE_CMD} -e 's|%%HACKNAME%%|${HACKNAME}|g' \
108 -e 's|%%HACKDIR%%|${PREFIX}/${HACKDIR}|g' \
109 -e 's|%%HACKEXT%%|${HACKEXT}|g' \
112 .if defined(WITHOUT_SHELL)
113 @${REINPLACE_CMD} -e 's|#define SHELL|/* #define SHELL|' ${WRKSRC}/include/unixconf.h
115 .if defined(WITH_MAIL)
116 @${REINPLACE_CMD} -e 's|/\* #define MAIL \*/|#define MAIL|' ${WRKSRC}/include/unixconf.h
120 @cd ${WRKSRC}/sys/unix; ${SH} setup.sh
123 @${CAT} ${FILESDIR}/pkg-deinstall.in | ${SED} \
124 -e 's|%%HACKDIR%%|${HACKDIR}|g' > ${PKGDEINSTALL}
127 .if !exists(${PREFIX}/bin/${HACKLINK}) && ${HACKNAME} != ${HACKLINK}
128 @${LN} -s -f ${PREFIX}/bin/${HACKNAME} ${STAGEDIR}${PREFIX}/bin/${HACKLINK}
130 @cd ${WRKSRC}/doc; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} manpages
131 @${MKDIR} ${STAGEDIR}${DATADIR}/save
132 # Make "sample" files from records to prevent them being removed
133 # if they have been altered
134 @${CP} ${STAGEDIR}/${DATADIR}/logfile ${STAGEDIR}/${DATADIR}/logfile.sample
135 @${CP} ${STAGEDIR}/${DATADIR}/record ${STAGEDIR}/${DATADIR}/record.sample
136 .if ${PORT_OPTIONS:MDOCS}
137 @${MKDIR} ${STAGEDIR}${DOCSDIR}
138 ${INSTALL_DATA} ${WRKSRC}/doc/Guidebook.txt ${STAGEDIR}${DOCSDIR}
141 .include <bsd.port.post.mk>