1# Created by: asami 2 3PORTNAME= nethack36 4PORTVERSION= 3.6.7 5CATEGORIES= games 6MASTER_SITES= https://nethack.org/download/${PORTVERSION}/ 7DISTNAME= ${TRUEPORTNAME}-${PORTVERSION:S/.//g}-src 8 9MAINTAINER= ports@MidnightBSD.org 10COMMENT= Dungeon explorin', slashin', hackin' game 11WWW= https://www.nethack.org/ 12 13LICENSE= nethack 14LICENSE_NAME= NETHACK GENERAL PUBLIC LICENSE 15LICENSE_FILE= ${WRKSRC}/dat/license 16LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept 17 18USES= compiler:c11 gmake ncurses tar:tgz 19 20FAKE_OPTS= trueprefix 21 22WRKSRC= ${WRKDIR}/NetHack-${PORTVERSION} 23 24MAKE_ENV= GRAPHICS="${GRAPHICS}" 25PLIST_SUB= HACKNAME="${HACKNAME}" \ 26 HACKEXT="${HACKEXT}" 27TRUEPORTNAME= nethack 28 29# Configure these variables as you want them to be. 30HACKEXT?= 36 31HACKNAME?= ${TRUEPORTNAME}${HACKEXT} 32HACKDIR?= share/${HACKNAME} 33HACKLINK= ${TRUEPORTNAME} 34 35DATADIR= ${TRUE_PREFIX}/${HACKDIR} 36DOCSDIR= ${TRUE_PREFIX}/share/doc/${HACKNAME} 37PKGDEINSTALL= ${WRKDIR}/pkg-deinstall 38 39.if !defined(PKGNAMESUFFIX) 40USES+= xorg 41USE_XORG= xaw xpm xmu xext xt x11 sm ice 42CFLAGS+= -DX11_GRAPHICS -DUSE_TILES 43GRAPHICS= X11_GRAPHICS 44.else 45.if ${PKGNAMESUFFIX} == "-nox11" 46GRAPHICS= # none 47.endif 48.endif 49CFLAGS+= -DNOMAIL -DCURSES_GRAPHICS 50 51OPTIONS_DEFINE= DOCS 52 53.include <bsd.port.pre.mk> 54 55.if !exists(${PREFIX}/bin/${HACKLINK}) && ${HACKNAME} != ${HACKLINK} 56PLIST_SUB+= HACKLINK="" 57.else 58PLIST_SUB+= HACKLINK="@comment " 59.endif 60 61post-patch: 62 @${REINPLACE_CMD} -e \ 63 's|%%PREFIX%%|${TRUE_PREFIX}|g' ${WRKSRC}/include/config.h 64 @${REINPLACE_CMD} -e \ 65 's|<malloc.h>|<stdlib.h>|g' ${WRKSRC}/win/Qt/qt_win.cpp 66.for f in sys/unix/Makefile.doc sys/unix/Makefile.src sys/unix/Makefile.top 67 @${REINPLACE_CMD} -e 's|%%HACKNAME%%|${HACKNAME}|g' \ 68 -e 's|%%HACKDIR%%|${TRUE_PREFIX}/${HACKDIR}|g' \ 69 -e 's|%%HACKEXT%%|${HACKEXT}|g' \ 70 ${WRKSRC}/${f} 71.endfor 72.for f in dgn_comp.6 dlb.6 lev_comp.6 nethack.6 recover.6 73 @${REINPLACE_CMD} -e 's|%%HACKNAME%%|${HACKNAME}|g' \ 74 -e 's|%%HACKDIR%%|${TRUE_PREFIX}/${HACKDIR}|g' \ 75 -e 's|%%HACKEXT%%|${HACKEXT}|g' \ 76 ${WRKSRC}/doc/${f} 77.endfor 78.if defined(WITHOUT_SHELL) 79 @${REINPLACE_CMD} -e 's|#define SHELL|/* #define SHELL|' ${WRKSRC}/include/unixconf.h 80.endif 81.if defined(WITH_MAIL) 82 @${REINPLACE_CMD} -e 's|/\* #define MAIL \*/|#define MAIL|' ${WRKSRC}/include/unixconf.h 83.endif 84 85do-configure: 86 @cd ${WRKSRC}/sys/unix; ${SH} setup.sh 87 88pre-install: 89 @${CAT} ${FILESDIR}/pkg-deinstall.in | ${SED} \ 90 -e 's|%%HACKDIR%%|${HACKDIR}|g' > ${PKGDEINSTALL} 91 92post-install: 93.if !exists(${PREFIX}/bin/${HACKLINK}) && ${HACKNAME} != ${HACKLINK} 94 @${LN} -s -f ${PREFIX}/bin/${HACKNAME} ${PREFIX}/bin/${HACKLINK} 95.endif 96 @cd ${WRKSRC}/doc; ${SETENV} ${MAKE_ENV} ${FAKE_MAKEENV} ${MAKE} ${MAKE_ARGS} ${FAKE_MAKEARGS} manpages 97 ${MKDIR} ${FAKE_DESTDIR}${DATADIR}/save 98 ${CP} ${WRKSRC}/sys/unix/sysconf ${FAKE_DESTDIR}/${DATADIR}/sysconf 99 # Make sysconf a sample to prevent it being removed if altered 100 ${CP} ${FAKE_DESTDIR}/${DATADIR}/sysconf ${FAKE_DESTDIR}/${DATADIR}/sysconf.sample 101 # Make "sample" files from records to prevent them being removed 102 # if they have been altered 103 ${CP} ${FAKE_DESTDIR}/${DATADIR}/logfile ${FAKE_DESTDIR}/${DATADIR}/logfile.sample 104 ${CP} ${FAKE_DESTDIR}/${DATADIR}/record ${FAKE_DESTDIR}/${DATADIR}/record.sample 105 ${CP} ${FAKE_DESTDIR}/${DATADIR}/xlogfile ${FAKE_DESTDIR}/${DATADIR}/xlogfile.sample 106.if ${PORT_OPTIONS:MDOCS} 107 ${MKDIR} ${FAKE_DESTDIR}${DOCSDIR} 108 ${INSTALL_DATA} ${WRKSRC}/doc/Guidebook.txt ${FAKE_DESTDIR}${DOCSDIR} 109.endif 110 111.include <bsd.port.post.mk> 112