pkgsrc/games/nethack-lib/Makefile.common
rhialto 4774d224f7 The NetHack DevTeam is announcing the release of NetHack 3.6.6 on
March 8, 2020

NetHack 3.6.6 is the official release of NetHack that follows NetHack 3.6.5.

This release primarily corrects a security issue present in NetHack
versions 3.6.1, 3.6.2, 3.6.3, 3.6.4 and 3.6.5.
For details about the security issues please see https://www.nethack.org/security.
You are encouraged to update to NetHack 3.6.6 as soon as possible.

Here's a brief synopsis of the handful of bug fixes included in NetHack 3.6.6:

 *  invalid status highlight color could be maliciously used to corrupt memory
 *  formatting corpse names used internal buffers differently from formatting
 *      other objects and could potentially clobber memory
 *  avoid divide by 0 crash if 'bogusmon' (file of bogus monster types) is empty
 *  avoid #wizrumorcheck crash if either 'rumors.tru' or 'rumors.fal' or both
 *      were empty when makedefs built 'rumors'
 *  avoid "<mon>'s glorkum pass harmlessly through the shade" for weaponless mon

All of the fixes have been published on the public Git repository for the game.
A more complete list can be found in the game's sources in doc/fixes36.6. As usual,
a warning that some entries in that file may also be "spoilers".

Existing saved games and bones files from 3.6.0 through to 3.6.5 should work with
3.6.6, assuming that the same build configuration options were used.

The following command can be used on most platforms to help confirm the location of
various files that NetHack may use:
    nethack --showpaths
2020-04-24 12:59:00 +00:00

88 lines
2.4 KiB
Text

# $NetBSD: Makefile.common,v 1.43 2020/04/24 12:59:00 rhialto Exp $
#
# used by games/nethack/Makefile
# used by games/nethack-lib/Makefile
# used by games/nethack-x11/Makefile
# used by games/nethack-tty/Makefile
#
# System-provided variables:
#
# GAMEPERM
# The desired owner and the file mode of game executables.
#
NETHACK_BASEVER= 3.6.6
NETHACK_VERSION= ${NETHACK_BASEVER}
NETHACK_DISTVER= ${NETHACK_BASEVER:S/.//g}
NETHACK_DIR= nethackdir${NETHACK_SAVEVER:S/.//g}
# The oldest compatible version of save files. Only change this when
# the upstream breaks save file compatibility.
NETHACK_SAVEVER= 3.6.0
DISTNAME= nethack-${NETHACK_DISTVER}-src
CATEGORIES= games
MASTER_SITES= https://www.nethack.org/download/${NETHACK_BASEVER}/
EXTRACT_SUFX= .tgz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://www.nethack.org/
LICENSE= nethack-license
MAKE_JOBS_SAFE= no
.if !defined(META_PACKAGE)
WRKSRC= ${WRKDIR}/NetHack-NetHack-${NETHACK_BASEVER}_Released
HAS_CONFIGURE= yes
CONFIGURE_SCRIPT= ./sys/unix/setup.sh
USE_TOOLS+= gzip yacc lex awk
.include "../../mk/curses.buildlink3.mk"
.include "../../mk/termcap.buildlink3.mk"
OPSYSVARS+= NETHACK_OS
NETHACK_OS.Linux= SYSV
NETHACK_OS.*= BSD
SUBST_CLASSES+= os
SUBST_MESSAGE.os= Configuring for ${NETHACK_OS}
SUBST_STAGE.os= pre-configure
SUBST_FILES.os= include/unixconf.h
SUBST_VARS.os= VARDIR NETHACK_OS
SUBST_CLASSES+= configh
SUBST_STAGE.configh= pre-configure
SUBST_FILES.configh= include/config.h
SUBST_VARS.configh= HACKDIR
SUBST_SED.configh= -e "s|@GZIP_PROGRAM@|${GZIP_CMD:[1]}|g"
USE_GAMESGROUP= yes
NETHACK_USER= ${GAMES_USER}
NETHACK_GROUP= ${GAMES_GROUP}
BUILD_DEFS+= GAMES_USER GAMES_GROUP
GAMEPERM= ${NETHACK_USER} ${NETHACK_GROUP} 2555
BUILD_DEFS+= VARBASE
HACKDIR= ${PREFIX}/share/${NETHACK_DIR}
VARDIR= ${VARBASE}/games/nethack${NETHACK_SAVEVER:S/.//g}
MAKE_ENV+= HACKDIR=${HACKDIR}
MAKE_ENV+= VARDIR=${VARDIR}
MAKE_ENV+= INSTALL_DATA=${INSTALL_DATA:Q}
MAKE_ENV+= INSTALL_SCRIPT=${INSTALL_SCRIPT:Q}
MAKE_ENV+= INSTALL_PROGRAM=${INSTALL_PROGRAM:Q}
WINTTYLIB= -L${BUILDLINK_PREFIX.termcap}/lib \
${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.termcap}/lib \
-l${BUILDLINK_LIBNAME.termcap}
MAKE_ENV+= WINTTYLIB=${WINTTYLIB:Q}
pre-configure:
${RUN}${CHMOD} 755 ${WRKSRC}/sys/unix/setup.sh
# Substitute NETHACK_DIR in PLIST.
PLIST_SUBST+= NETHACK_DIR=${NETHACK_DIR}
PRINT_PLIST_AWK+= { gsub(/${NETHACK_DIR}/, "$${NETHACK_DIR}"); }
.endif # !defined(META_PACKAGE)