games/xnethack: (new port) Experimental features and improvements applied to NetHack 3.7-dev
xNetHack is a fork of the dungeon exploration game NetHack. It is a distant descendent of Rogue and Hack, and a direct descendant of the development version of NetHack 3.7. The main goals of xNetHack are to take vanilla NetHack and: - Fix gameplay balance issues. - Remove tedious and frustrating parts of the game. - Make uninteresting parts of the game more interesting. - Experiment with new ideas from the community. In general, the game design takes a conservative approach to changing the gameplay compared to other variants, with focus on deepening elements of the game rather than broadening them. For example, this philosophy would prefer to differentiate monsters in a class that all tend to play the same way, instead of adding new monsters to that class. WWW: https://nethackwiki.com/wiki/XNetHack PR: 255456
This commit is contained in:
parent
cd4b02d068
commit
7ef30eed0c
@ -1084,6 +1084,8 @@
|
||||
SUBDIR += xmris
|
||||
SUBDIR += xmulti
|
||||
SUBDIR += xneko
|
||||
SUBDIR += xnethack
|
||||
SUBDIR += xnethack-nox11
|
||||
SUBDIR += xoct
|
||||
SUBDIR += xoids
|
||||
SUBDIR += xoj
|
||||
|
9
games/xnethack-nox11/Makefile
Normal file
9
games/xnethack-nox11/Makefile
Normal file
@ -0,0 +1,9 @@
|
||||
# Created by: Jeremy Chadwick <yoshi@parodius.com>
|
||||
|
||||
MASTERDIR= ${.CURDIR}/../xnethack
|
||||
|
||||
MAINTAINER= fuz@fuz.su
|
||||
|
||||
PKGNAMESUFFIX= -nox11
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
105
games/xnethack/Makefile
Normal file
105
games/xnethack/Makefile
Normal file
@ -0,0 +1,105 @@
|
||||
# Created by: asami
|
||||
|
||||
PORTNAME= xNetHack
|
||||
DISTVERSIONPREFIX= xnh
|
||||
DISTVERSION= 6.1
|
||||
CATEGORIES= games
|
||||
|
||||
MAINTAINER= fuz@fuz.su
|
||||
COMMENT= Experimental features and improvements applied to NetHack 3.7-dev
|
||||
|
||||
LICENSE= nethack
|
||||
LICENSE_NAME= NETHACK GENERAL PUBLIC LICENSE
|
||||
LICENSE_FILE= ${WRKSRC}/dat/license
|
||||
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
|
||||
|
||||
USES= alias compiler:c11 gmake ncurses tar:tgz lua
|
||||
USE_GITHUB= yes
|
||||
|
||||
GH_ACCOUNT= copperwater
|
||||
GH_PROJECT= xNetHack
|
||||
|
||||
MAKE_ENV= GRAPHICS="${GRAPHICS}"
|
||||
PLIST_SUB= HACKNAME="${HACKNAME}" \
|
||||
HACKEXT="${HACKEXT}"
|
||||
TRUEPORTNAME= xnethack
|
||||
|
||||
# Configure these variables as you want them to be.
|
||||
HACKEXT?=
|
||||
HACKNAME?= ${TRUEPORTNAME}${HACKEXT}
|
||||
HACKDIR?= share/${HACKNAME}
|
||||
HACKLINK= ${TRUEPORTNAME}
|
||||
|
||||
DATADIR= ${PREFIX}/${HACKDIR}
|
||||
DOCSDIR= ${PREFIX}/share/doc/${HACKNAME}
|
||||
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
|
||||
|
||||
.if !defined(PKGNAMESUFFIX)
|
||||
USES+= xorg
|
||||
USE_XORG= xaw xpm xmu xext xt x11 sm ice
|
||||
CFLAGS+= -DX11_GRAPHICS -DUSE_TILES
|
||||
GRAPHICS= X11_GRAPHICS
|
||||
.else
|
||||
.if ${PKGNAMESUFFIX} == "-nox11"
|
||||
GRAPHICS= # none
|
||||
.endif
|
||||
.endif
|
||||
CFLAGS+= -DNOMAIL -DCURSES_GRAPHICS
|
||||
|
||||
OPTIONS_DEFINE= DOCS
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if !exists(${PREFIX}/bin/${HACKLINK}) && ${HACKNAME} != ${HACKLINK}
|
||||
PLIST_SUB+= HACKLINK=""
|
||||
.else
|
||||
PLIST_SUB+= HACKLINK="@comment "
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
.for f in include/config.h sys/unix/Makefile.doc sys/unix/Makefile.src sys/unix/Makefile.top
|
||||
@${REINPLACE_CMD} -e 's|%%HACKNAME%%|${HACKNAME}|g' \
|
||||
-e 's|%%HACKDIR%%|${PREFIX}/${HACKDIR}|g' \
|
||||
-e 's|%%HACKEXT%%|${HACKEXT}|g' \
|
||||
${WRKSRC}/${f}
|
||||
.endfor
|
||||
.for f in dlb.6 nethack.6 recover.6
|
||||
@${REINPLACE_CMD} -e 's|%%HACKNAME%%|${HACKNAME}|g' \
|
||||
-e 's|%%HACKDIR%%|${PREFIX}/${HACKDIR}|g' \
|
||||
-e 's|%%HACKEXT%%|${HACKEXT}|g' \
|
||||
${WRKSRC}/doc/${f}
|
||||
.endfor
|
||||
.if defined(WITHOUT_SHELL)
|
||||
@${REINPLACE_CMD} -e 's|#define SHELL|/* #define SHELL|' ${WRKSRC}/include/unixconf.h
|
||||
.endif
|
||||
.if defined(WITH_MAIL)
|
||||
@${REINPLACE_CMD} -e 's|/\* #define MAIL \*/|#define MAIL|' ${WRKSRC}/include/unixconf.h
|
||||
.endif
|
||||
|
||||
do-configure:
|
||||
@cd ${WRKSRC}/sys/unix; ${SH} setup.sh
|
||||
|
||||
pre-install:
|
||||
@${CAT} ${FILESDIR}/pkg-deinstall.in | ${SED} \
|
||||
-e 's|%%HACKDIR%%|${HACKDIR}|g' > ${PKGDEINSTALL}
|
||||
|
||||
post-install:
|
||||
.if !exists(${PREFIX}/bin/${HACKLINK}) && ${HACKNAME} != ${HACKLINK}
|
||||
@${LN} -s -f ${PREFIX}/bin/${HACKNAME} ${STAGEDIR}${PREFIX}/bin/${HACKLINK}
|
||||
.endif
|
||||
@cd ${WRKSRC}/doc; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} manpages
|
||||
@${MKDIR} ${STAGEDIR}${DATADIR}/save
|
||||
@${CP} ${WRKSRC}/sys/unix/sysconf ${STAGEDIR}/${DATADIR}/sysconf
|
||||
# Make sysconf a sample to prevent it being removed if altered
|
||||
@${CP} ${STAGEDIR}/${DATADIR}/sysconf ${STAGEDIR}/${DATADIR}/sysconf.sample
|
||||
# Make "sample" files from records to prevent them being removed
|
||||
# if they have been altered
|
||||
@${CP} ${STAGEDIR}/${DATADIR}/logfile ${STAGEDIR}/${DATADIR}/logfile.sample
|
||||
@${CP} ${STAGEDIR}/${DATADIR}/record ${STAGEDIR}/${DATADIR}/record.sample
|
||||
@${CP} ${STAGEDIR}/${DATADIR}/xlogfile ${STAGEDIR}/${DATADIR}/xlogfile.sample
|
||||
.if ${PORT_OPTIONS:MDOCS}
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/doc/Guidebook.txt ${STAGEDIR}${DOCSDIR}
|
||||
.endif
|
||||
|
||||
.include <bsd.port.post.mk>
|
3
games/xnethack/distinfo
Normal file
3
games/xnethack/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1620650405
|
||||
SHA256 (copperwater-xNetHack-xnh6.1_GH0.tar.gz) = 48cdb14a0b30cd439e04ccc3daa21d4db8b2abe9090dd7dcb2fdfa839a9572d8
|
||||
SIZE (copperwater-xNetHack-xnh6.1_GH0.tar.gz) = 5850953
|
11
games/xnethack/files/patch-doc_dlb.6
Normal file
11
games/xnethack/files/patch-doc_dlb.6
Normal file
@ -0,0 +1,11 @@
|
||||
--- doc/dlb.6.orig 2021-03-22 22:28:14 UTC
|
||||
+++ doc/dlb.6
|
||||
@@ -96,7 +96,7 @@ List the contents of the archive 'foo':
|
||||
Kenneth Lorber
|
||||
.SH "SEE ALSO"
|
||||
.PP
|
||||
-nethack(6), tar(1)
|
||||
+xnethack%%HACKEXT%%(6), tar(1)
|
||||
.SH BUGS
|
||||
.PP
|
||||
Not a good tar emulation; - does not mean stdin or stdout.
|
38
games/xnethack/files/patch-doc_nethack.6
Normal file
38
games/xnethack/files/patch-doc_nethack.6
Normal file
@ -0,0 +1,38 @@
|
||||
--- doc/nethack.6.orig 2021-03-22 22:28:14 UTC
|
||||
+++ doc/nethack.6
|
||||
@@ -17,7 +17,7 @@ nethack \- Exploring The Mazes of Menace
|
||||
.SH SYNOPSIS
|
||||
.na
|
||||
.hy 0
|
||||
-.B nethack
|
||||
+.B xnethack
|
||||
[
|
||||
.B \-d
|
||||
.I directory
|
||||
@@ -219,7 +219,7 @@ option, which must be the first argument if it appears
|
||||
supplies a directory which is to serve as the playground.
|
||||
It overrides the value from NETHACKDIR, HACKDIR,
|
||||
or the directory specified by the game administrator during compilation
|
||||
-(usually /usr/games/lib/nethackdir).
|
||||
+(usually %%HACKDIR%%).
|
||||
This option is usually only useful to the game administrator.
|
||||
The playground must contain several auxiliary files such as help files,
|
||||
the list of top scorers, and a subdirectory
|
||||
@@ -265,7 +265,7 @@ name is '.xnethackrc' in the user's home directory.
|
||||
|
||||
.br
|
||||
All other files are in the playground directory,
|
||||
-normally /usr/games/lib/nethackdir.
|
||||
+normally %%HACKDIR%%.
|
||||
If DLB was defined during the compile, the data files and special levels
|
||||
will be inside a larger file, normally nhdat, instead of being separate
|
||||
files.
|
||||
@@ -392,7 +392,7 @@ SHOPTYPE and SPLEVTYPE can be used in debugging (wizar
|
||||
DEBUGFILES can be used if the program was built with 'DEBUG' enabled.
|
||||
.SH "SEE ALSO"
|
||||
.PP
|
||||
-recover(6)
|
||||
+recover%%HACKEXT%%(6)
|
||||
.SH BUGS
|
||||
.PP
|
||||
Probably infinite.
|
20
games/xnethack/files/patch-doc_recover.6
Normal file
20
games/xnethack/files/patch-doc_recover.6
Normal file
@ -0,0 +1,20 @@
|
||||
--- doc/recover.6.orig 2021-03-22 22:28:14 UTC
|
||||
+++ doc/recover.6
|
||||
@@ -43,7 +43,7 @@ option, which must be the first argument if it appears
|
||||
supplies a directory which is the NetHack playground.
|
||||
It overrides the value from NETHACKDIR, HACKDIR, or the directory
|
||||
specified by the game administrator during compilation
|
||||
-(usually /usr/games/lib/nethackdir).
|
||||
+(usually %%HACKDIR%%).
|
||||
.PP
|
||||
^?ALLDOCS
|
||||
For recovery to be possible,
|
||||
@@ -130,7 +130,7 @@ but even a compression-using
|
||||
.I nethack
|
||||
will find them in the uncompressed form.
|
||||
.SH "SEE ALSO"
|
||||
-nethack(6)
|
||||
+xnethack%%HACKEXT%%(6)
|
||||
.SH BUGS
|
||||
.PP
|
||||
.I recover
|
36
games/xnethack/files/patch-include-config.h
Normal file
36
games/xnethack/files/patch-include-config.h
Normal file
@ -0,0 +1,36 @@
|
||||
--- include/config.h.orig 2021-03-22 22:28:14 UTC
|
||||
+++ include/config.h
|
||||
@@ -294,11 +294,11 @@
|
||||
|
||||
#if defined(UNIX) && !defined(ZLIB_COMP) && !defined(COMPRESS)
|
||||
/* path and file name extension for compression program */
|
||||
-#define COMPRESS "/usr/bin/compress" /* Lempel-Ziv compression */
|
||||
-#define COMPRESS_EXTENSION ".Z" /* compress's extension */
|
||||
+/* #define COMPRESS "/usr/bin/compress" */ /* Lempel-Ziv compression */
|
||||
+/* #define COMPRESS_EXTENSION ".Z" */ /* compress's extension */
|
||||
/* An example of one alternative you might want to use: */
|
||||
-/* #define COMPRESS "/usr/local/bin/gzip" */ /* FSF gzip compression */
|
||||
-/* #define COMPRESS_EXTENSION ".gz" */ /* normal gzip extension */
|
||||
+#define COMPRESS "/usr/bin/gzip" /* FSF gzip compression */
|
||||
+#define COMPRESS_EXTENSION ".gz" /* normal gzip extension */
|
||||
#endif
|
||||
|
||||
#ifndef COMPRESS
|
||||
@@ -383,7 +383,7 @@
|
||||
* otherwise it will be the current directory.
|
||||
*/
|
||||
#ifndef HACKDIR
|
||||
-#define HACKDIR "/usr/games/lib/xnethackdir"
|
||||
+#define HACKDIR "%%HACKDIR%%"
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -646,7 +646,7 @@ typedef unsigned char uchar;
|
||||
#ifdef DUMPLOG
|
||||
|
||||
#ifndef DUMPLOG_FILE
|
||||
-#define DUMPLOG_FILE "/tmp/xnethack.%n.%d.log"
|
||||
+#define DUMPLOG_FILE "/tmp/xnethack.%v.%u.%n.%D.log"
|
||||
/* DUMPLOG_FILE allows following placeholders:
|
||||
%% literal '%'
|
||||
%v version (eg. "3.6.3-0")
|
13
games/xnethack/files/patch-include-system.h
Normal file
13
games/xnethack/files/patch-include-system.h
Normal file
@ -0,0 +1,13 @@
|
||||
--- include/system.h.orig 2021-03-22 22:28:14 UTC
|
||||
+++ include/system.h
|
||||
@@ -82,7 +82,9 @@ typedef long off_t;
|
||||
#if !defined(__SC__) && !defined(LINUX)
|
||||
E long random(void);
|
||||
#endif
|
||||
-#if (!defined(SUNOS4) && !defined(bsdi) && !defined(__FreeBSD__)) \
|
||||
+# if defined(__FreeBSD__)
|
||||
+#include <stdlib.h> /* srandom() differs between versions of FreeBSD. */
|
||||
+#elif (!defined(SUNOS4) && !defined(bsdi) && !defined(__FreeBSD__)) \
|
||||
|| defined(RANDOM)
|
||||
E void srandom(unsigned int);
|
||||
#else
|
27
games/xnethack/files/patch-include-unixconf.h
Normal file
27
games/xnethack/files/patch-include-unixconf.h
Normal file
@ -0,0 +1,27 @@
|
||||
--- include/unixconf.h.orig 2021-03-22 22:28:14 UTC
|
||||
+++ include/unixconf.h
|
||||
@@ -20,13 +20,13 @@
|
||||
*/
|
||||
|
||||
/* define exactly one of the following four choices */
|
||||
-/* #define BSD 1 */ /* define for 4.n/Free/Open/Net BSD */
|
||||
+#define BSD 1 /* define for 4.n/Free/Open/Net BSD */
|
||||
/* also for relatives like SunOS 4.x, DG/UX, and */
|
||||
/* older versions of Linux */
|
||||
/* #define ULTRIX */ /* define for Ultrix v3.0 or higher (but not lower) */
|
||||
/* Use BSD for < v3.0 */
|
||||
/* "ULTRIX" not to be confused with "ultrix" */
|
||||
-#define SYSV /* define for System V, Solaris 2.x, newer versions */
|
||||
+/* #define SYSV */ /* define for System V, Solaris 2.x, newer versions */
|
||||
/* of Linux */
|
||||
/* #define HPUX */ /* Hewlett-Packard's Unix, version 6.5 or higher */
|
||||
/* use SYSV for < v6.5 */
|
||||
@@ -315,7 +315,7 @@
|
||||
#endif
|
||||
|
||||
#if defined(BSD) || defined(ULTRIX)
|
||||
-#if !defined(DGUX) && !defined(SUNOS4)
|
||||
+#if !defined(DGUX) && !defined(SUNOS4) && !defined(__FreeBSD__)
|
||||
#define memcpy(d, s, n) bcopy(s, d, n)
|
||||
#define memcmp(s1, s2, n) bcmp(s2, s1, n)
|
||||
#endif
|
10
games/xnethack/files/patch-src-files.c
Normal file
10
games/xnethack/files/patch-src-files.c
Normal file
@ -0,0 +1,10 @@
|
||||
--- src/files.c.orig 2021-03-22 22:28:14 UTC
|
||||
+++ src/files.c
|
||||
@@ -51,6 +51,7 @@ const
|
||||
|
||||
#if defined(UNIX) && defined(SELECTSAVED)
|
||||
#include <sys/types.h>
|
||||
+#include <limits.h>
|
||||
#include <dirent.h>
|
||||
#include <stdlib.h>
|
||||
#endif
|
39
games/xnethack/files/patch-sys-unix-Makefile.doc
Normal file
39
games/xnethack/files/patch-sys-unix-Makefile.doc
Normal file
@ -0,0 +1,39 @@
|
||||
--- sys/unix/Makefile.doc.orig 2021-03-22 22:28:14 UTC
|
||||
+++ sys/unix/Makefile.doc
|
||||
@@ -66,15 +66,15 @@ Guidebook.dvi: Guidebook.tex
|
||||
latex Guidebook.tex
|
||||
|
||||
|
||||
-GAME = nethack
|
||||
-MANDIR = /usr/man/man6
|
||||
+GAME = xnethack%%HACKEXT%%
|
||||
+MANDIR = ${PREFIX}/man/man6
|
||||
MANEXT = 6
|
||||
|
||||
# manual installation for most BSD-style systems
|
||||
-GAMEMANCREATE = cat nethack.6 | $(NHGREP) >
|
||||
-RCVRMANCREATE = cat recover.6 | $(NHGREP) >
|
||||
-DLBMANCREATE = cat dlb.6 | $(NHGREP) >
|
||||
-MDMANCREATE = cat makedefs.6 | $(NHGREP) >
|
||||
+GAMEMANCREATE = cat nethack.6 | $(NHGREP) > nethack.6.out ; ${BSD_INSTALL_MAN} nethack.6.out
|
||||
+RCVRMANCREATE = cat recover.6 | $(NHGREP) > recover.6.out ; ${BSD_INSTALL_MAN} recover.6.out
|
||||
+DLBMANCREATE = cat dlb.6 | $(NHGREP) > dlb.6.out ; ${BSD_INSTALL_MAN} dlb.6.out
|
||||
+MDMANCREATE = cat makedefs.6 | $(NHGREP) > makedefs.6.out ; ${BSD_INSTALL_MAN} makedefs.6.out
|
||||
# manual installation for most SYSV-style systems
|
||||
# GAMEMANCREATE = cat nethack.6 | $(NHGREP) | nroff -man - >
|
||||
# RCVRMANCREATE = cat recover.6 | $(NHGREP) | nroff -man - >
|
||||
@@ -82,10 +82,10 @@ MDMANCREATE = cat makedefs.6 | $(NHGREP) >
|
||||
# MDMANCREATE = cat makedefs.6 | $(NHGREP) | nroff -man - >
|
||||
|
||||
manpages:
|
||||
- -$(GAMEMANCREATE) $(MANDIR)/$(GAME).$(MANEXT)
|
||||
- -$(RCVRMANCREATE) $(MANDIR)/recover.$(MANEXT)
|
||||
- -$(DLBMANCREATE) $(MANDIR)/dlb.$(MANEXT)
|
||||
- -$(MDMANCREATE) $(MANDIR)/makedefs.$(MANEXT)
|
||||
+ -$(GAMEMANCREATE) ${DESTDIR}$(MANDIR)/$(GAME)%%HACKEXT%%.$(MANEXT)
|
||||
+ -$(RCVRMANCREATE) ${DESTDIR}$(MANDIR)/recover%%HACKEXT%%.$(MANEXT)
|
||||
+ -$(DLBMANCREATE) ${DESTDIR}$(MANDIR)/dlb%%HACKEXT%%.$(MANEXT)
|
||||
+ -$(MDMANCREATE) ${DESTDIR}$(MANDIR)/makedefs%%HACKEXT%%.$(MANEXT)
|
||||
|
||||
# manual creation for distribution
|
||||
DISTRIB = Guidebook.txt nethack.txt recover.txt \
|
154
games/xnethack/files/patch-sys-unix-Makefile.src
Normal file
154
games/xnethack/files/patch-sys-unix-Makefile.src
Normal file
@ -0,0 +1,154 @@
|
||||
--- sys/unix/Makefile.src.orig 2021-03-22 22:28:14 UTC
|
||||
+++ sys/unix/Makefile.src
|
||||
@@ -169,9 +169,17 @@ SYSOBJ = $(TARGETPFX)ioctl.o $(TARGETPFX)unixmain.o $(
|
||||
|
||||
# flags for debugging:
|
||||
# CFLAGS = -g -I../include
|
||||
+CFLAGS += -I../include -I${LUA_INCDIR}
|
||||
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
|
||||
+CFLAGS += -DX11_GRAPHICS -I${LOCALBASE}/include
|
||||
+endif
|
||||
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
|
||||
+CFLAGS += -DQT_GRAPHICS
|
||||
+endif
|
||||
|
||||
#CFLAGS = -O -I../include
|
||||
-#LFLAGS =
|
||||
+LFLAGS += -L${LUA_LIBDIR}
|
||||
+LINK = $(CC)
|
||||
|
||||
# The Qt and Be window systems are written in C++, while the rest of
|
||||
# NetHack is standard C. If using Qt, uncomment the LINK line here to get
|
||||
@@ -297,6 +305,29 @@ WINBEOBJ =
|
||||
# Curses - Karl Garrison, Tangles
|
||||
#WINSRC = $(WINCURSESSRC)
|
||||
#WINOBJ = $(WINCURSESOBJ)
|
||||
+
|
||||
+WINSRC = $(WINTTYSRC) $(WINCURSESSRC)
|
||||
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
|
||||
+WINSRC += $(WINX11SRC)
|
||||
+endif
|
||||
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
|
||||
+WINSRC += $(WINQTSRC)
|
||||
+endif
|
||||
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
|
||||
+WINSRC += $(WINGNOMESRC)
|
||||
+endif
|
||||
+
|
||||
+WINOBJ = $(WINTTYOBJ) $(WINCURSESOBJ)
|
||||
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
|
||||
+WINOBJ += $(WINX11OBJ)
|
||||
+endif
|
||||
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
|
||||
+WINOBJ += $(WINQTOBJ)
|
||||
+endif
|
||||
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
|
||||
+WINOBJ += $(WINGNOMEOBJ)
|
||||
+endif
|
||||
+
|
||||
#
|
||||
# on some systems the termcap library is in -ltermcap or -lcurses
|
||||
# on 386 Xenix, the -ltermlib tputs() seems not to work; use -lcurses instead
|
||||
@@ -313,6 +344,7 @@ WINBEOBJ =
|
||||
# WINTTYLIB = -lcurses16
|
||||
# WINTTYLIB = -lncurses
|
||||
#WINTTYLIB = -ltermlib
|
||||
+WINTTYLIB = -lncurses -L${LOCALBASE}/lib
|
||||
#
|
||||
# libraries for X11
|
||||
# If USE_XPM is defined in config.h, you will also need -lXpm here.
|
||||
@@ -320,10 +352,13 @@ WINBEOBJ =
|
||||
# WINX11LIB = -lXaw -lXmu -lXt -lX11
|
||||
# WINX11LIB = -lXaw -lXmu -lXext -lXt -lXpm -lX11 -lm
|
||||
# WINX11LIB = -lXaw -lXmu -lXpm -lXext -lXt -lX11 -lSM -lICE -lm # BSD/OS 2.0
|
||||
+WINX11LIB = -lXaw -lXmu -lXpm -lXext -lXt -lX11 -lSM -lICE -L${LOCALBASE}/lib
|
||||
#
|
||||
#
|
||||
# libraries for Qt 3
|
||||
-WINQT3LIB = -L$(QTDIR)/lib -lqt
|
||||
+#WINQTLIB = -L$(QTDIR)/lib -lqt
|
||||
+WINQT3LIB = ${QTCFGLIBS} ${LIBQT}
|
||||
+WINQTLIB = ${QTCFGLIBS} ${LIBQT}
|
||||
#
|
||||
# libraries for Qt 4
|
||||
WINQT4LIB = `pkg-config QtGui --libs`
|
||||
@@ -339,7 +374,7 @@ WINBELIB = -lbe
|
||||
#
|
||||
# libraries for curses port
|
||||
# link with ncurses
|
||||
-WINCURSESLIB = -lncurses
|
||||
+WINCURSESLIB = -lncurses -L${LOCALBASE}/lib
|
||||
# link with pdcurses for SDL, installed in a separate directory
|
||||
#WINCURSESLIB = -L/usr/local/lib/pdcurses -lpdcurses -lSDL
|
||||
# same as above, for XCurses
|
||||
@@ -349,6 +384,18 @@ WINCURSESLIB = -lncurses
|
||||
#
|
||||
# For Curses
|
||||
#WINLIB = $(WINCURSESLIB)
|
||||
+
|
||||
+WINLIB = $(WINTTYLIB)
|
||||
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
|
||||
+WINLIB += $(WINX11LIB)
|
||||
+endif
|
||||
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
|
||||
+WINLIB += $(WINQTLIB)
|
||||
+endif
|
||||
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
|
||||
+WINLIB += $(WINGNOMELIB)
|
||||
+endif
|
||||
+
|
||||
#
|
||||
# some platforms need to build the support libraries
|
||||
# BUILDMORE = $(TARGETPFX)pdcurses.a
|
||||
@@ -384,7 +431,7 @@ WINCURSESLIB = -lncurses
|
||||
# LIBS =
|
||||
|
||||
# make NetHack
|
||||
-GAME = xnethack
|
||||
+GAME = xnethack%%HACKEXT%%
|
||||
# GAME = nethack.prg
|
||||
GAMEBIN = $(GAME)
|
||||
|
||||
@@ -412,7 +459,7 @@ GITINFO=1
|
||||
# (rather than just in suffix default rule), such as is implemented by
|
||||
# gnu make and others which have picked up its extensions;
|
||||
# allowed values are 0, 1, and empty (which behaves like 0)
|
||||
-QUIETCC=1
|
||||
+QUIETCC=0
|
||||
|
||||
# ----------------------------------------
|
||||
#
|
||||
@@ -465,7 +512,8 @@ PACKAGE=@true
|
||||
MAKEDEFS = ../util/makedefs
|
||||
|
||||
# -lm required by lua
|
||||
-LUALIB = ../lib/lua/liblua.a -lm
|
||||
+#LUALIB = ../lib/lua/liblua.a -lm
|
||||
+LUALIB = -llua-${LUA_VER} -lm
|
||||
|
||||
# timestamp files to reduce `make' overhead and shorten .o dependency lists
|
||||
CONFIG_H = ../src/config.h-t
|
||||
@@ -654,7 +702,7 @@ DUMB.Setup: ../include/extern.h
|
||||
cp ../include/extern.DUMB ../include/extern.h
|
||||
@touch DUMB.Setup
|
||||
|
||||
-../lib/lua/liblua.a ../include/nhlua.h:
|
||||
+../include/nhlua.h:
|
||||
@( cd .. ; $(MAKE) lua_support )
|
||||
|
||||
# dependencies for makedefs and its outputs, which the util
|
||||
@@ -673,11 +721,11 @@ objects.o:
|
||||
|
||||
# Qt 3 windowport meta-object-compiler output
|
||||
qt3_kde0.moc: ../win/Qt3/qt3_kde0.h
|
||||
- $(QTDIR)/bin/moc -o qt3kde0.moc ../win/Qt3/qt3_kde0.h
|
||||
+ ${MOC} -o qt3kde0.moc ../win/Qt3/qt3_kde0.h
|
||||
qt3_win.moc: ../win/Qt3/qt3_win.h
|
||||
- $(QTDIR)/bin/moc -o qt3win.moc ../win/Qt3/qt3_win.h
|
||||
+ ${MOC} -o qt3win.moc ../win/Qt3/qt3_win.h
|
||||
qt3tableview.moc: ../win/Qt3/qt3tableview.h
|
||||
- $(QTDIR)/bin/moc -o qt3tableview.moc ../win/Qt/qt3tableview.h
|
||||
+ ${MOC} -o qt3tableview.moc ../win/Qt/qt3tableview.h
|
||||
|
||||
# Qt 4 windowport meta-object-compiler output
|
||||
qt_kde0.moc : ../win/Qt/qt_kde0.h
|
175
games/xnethack/files/patch-sys-unix-Makefile.top
Normal file
175
games/xnethack/files/patch-sys-unix-Makefile.top
Normal file
@ -0,0 +1,175 @@
|
||||
--- sys/unix/Makefile.top.orig 2021-03-22 22:28:14 UTC
|
||||
+++ sys/unix/Makefile.top
|
||||
@@ -20,18 +20,18 @@ NHSROOT=.
|
||||
|
||||
# make NetHack
|
||||
#PREFIX = /usr
|
||||
-GAME = xnethack
|
||||
+GAME = xnethack%%HACKEXT%%
|
||||
# GAME = nethack.prg
|
||||
#GAMEUID = games
|
||||
-#GAMEGRP = bin
|
||||
+GAMEGRP = games
|
||||
|
||||
# Permissions - some places use setgid instead of setuid, for instance
|
||||
# See also the option "SECURE" in include/config.h
|
||||
-#GAMEPERM = 04755
|
||||
-FILEPERM = 0644
|
||||
+GAMEPERM = 02755
|
||||
+FILEPERM = 0664
|
||||
# VARFILEPERM = 0644
|
||||
EXEPERM = 0755
|
||||
-DIRPERM = 0755
|
||||
+DIRPERM = 0775
|
||||
# VARDIRPERM = 0755
|
||||
|
||||
# VARDIR may also appear in unixconf.h as "VAR_PLAYGROUND" else HACKDIR
|
||||
@@ -41,14 +41,15 @@ DIRPERM = 0755
|
||||
# therefore there should not be anything in HACKDIR that you want to keep
|
||||
# (if there is, you'll have to do the installation by hand or modify the
|
||||
# instructions)
|
||||
-#HACKDIR = $(PREFIX)/games/lib/$(GAME)dir
|
||||
-#VARDIR = $(HACKDIR)
|
||||
+HACKDIR = %%HACKDIR%%
|
||||
+VARDIR = $(HACKDIR)
|
||||
+INSTDIR = $(HACKDIR)
|
||||
# Where nethack.sh in installed. If this is not defined, the wrapper is not used.
|
||||
-#SHELLDIR = $(PREFIX)/games
|
||||
+SHELLDIR = ${PREFIX}/bin
|
||||
|
||||
# per discussion in Install.X11 and Install.Qt
|
||||
#VARDATND =
|
||||
# VARDATND = x11tiles NetHack.ad pet_mark.xbm pilemark.xbm
|
||||
-# VARDATND = x11tiles NetHack.ad pet_mark.xbm pilemark.xbm rip.xpm
|
||||
+VARDATND = x11tiles NetHack.ad pet_mark.xbm pilemark.xbm
|
||||
# for Atari/Gem
|
||||
# VARDATND = nh16.img title.img GEM_RSC.RSC rip.img
|
||||
@@ -75,7 +76,7 @@ VARDAT = $(VARDATD) $(VARDATND)
|
||||
#CHGRP = chgrp
|
||||
|
||||
# Lua version
|
||||
-LUA_VERSION = 5.4.2
|
||||
+LUA_VERSION = ${LUA_VER}
|
||||
|
||||
#
|
||||
# end of configuration
|
||||
@@ -108,7 +109,7 @@ all: $(ALLDEP)
|
||||
$(GAME): lua_support
|
||||
( cd src ; $(MAKE) $(GAME) )
|
||||
|
||||
-lua_support: $(TOPLUALIB) include/nhlua.h
|
||||
+lua_support: include/nhlua.h
|
||||
@true
|
||||
lib/lua-$(LUA_VERSION)/src/liblua.a: lib/lua-$(LUA_VERSION)/src/lua.h
|
||||
( cd lib/lua-$(LUA_VERSION)/src \
|
||||
@@ -116,13 +117,11 @@ lib/lua-$(LUA_VERSION)/src/liblua.a: lib/lua-$(LUA_VER
|
||||
lib/lua/liblua.a: lib/lua-$(LUA_VERSION)/src/liblua.a
|
||||
@( if [ ! -d lib/lua ] ; then mkdir -p lib/lua ; fi )
|
||||
cp lib/lua-$(LUA_VERSION)/src/liblua.a $@
|
||||
-include/nhlua.h: $(TOPLUALIB)
|
||||
+include/nhlua.h:
|
||||
echo '/* nhlua.h - generated by top Makefile */' > $@
|
||||
- @echo '#include "../lib/lua-$(LUA_VERSION)/src/lua.h"' >> $@
|
||||
- @sed -e '/(lua_error)/!d' -e '/(lua_error)/s/;/ NORETURN;/1' \
|
||||
- < lib/lua-$(LUA_VERSION)/src/lua.h >> $@
|
||||
- @echo '#include "../lib/lua-$(LUA_VERSION)/src/lualib.h"' >> $@
|
||||
- @echo '#include "../lib/lua-$(LUA_VERSION)/src/lauxlib.h"' >> $@
|
||||
+ @echo '#include <lua.h>' >> $@
|
||||
+ @echo '#include <lualib.h>' >> $@
|
||||
+ @echo '#include <lauxlib.h>' >> $@
|
||||
@echo '/*nhlua.h*/' >> $@
|
||||
|
||||
# Note: many of the dependencies below are here to allow parallel make
|
||||
@@ -234,39 +233,22 @@ dofiles:
|
||||
-e '}' \
|
||||
-e '$$s/.*/nodlb/p' < dat/options` ; \
|
||||
$(MAKE) dofiles-$${target-nodlb}
|
||||
- cp src/$(GAME) $(INSTDIR)
|
||||
- cp util/recover $(INSTDIR)
|
||||
- -if test -n '$(SHELLDIR)'; then rm -f $(SHELLDIR)/$(GAME); fi
|
||||
+ cp src/$(GAME) ${DESTDIR}$(INSTDIR)/$(GAME)
|
||||
+ cp util/recover ${DESTDIR}$(INSTDIR)
|
||||
+ -if test -n '${DESTDIR}$(SHELLDIR)'; then rm -f ${DESTDIR}$(SHELLDIR)/$(GAME); fi
|
||||
if test -n '$(SHELLDIR)'; then \
|
||||
sed -e 's;/usr/games/lib/nethackdir;$(HACKDIR);' \
|
||||
-e 's;HACKDIR/nethack;HACKDIR/$(GAME);' \
|
||||
< sys/unix/nethack.sh \
|
||||
- > $(SHELLDIR)/$(GAME) ; fi
|
||||
-# set up their permissions
|
||||
- -( cd $(INSTDIR) ; $(CHOWN) $(GAMEUID) $(GAME) recover ; \
|
||||
- $(CHGRP) $(GAMEGRP) $(GAME) recover )
|
||||
- chmod $(GAMEPERM) $(INSTDIR)/$(GAME)
|
||||
- chmod $(EXEPERM) $(INSTDIR)/recover
|
||||
- -if test -n '$(SHELLDIR)'; then \
|
||||
- $(CHOWN) $(GAMEUID) $(SHELLDIR)/$(GAME); fi
|
||||
- if test -n '$(SHELLDIR)'; then \
|
||||
- $(CHGRP) $(GAMEGRP) $(SHELLDIR)/$(GAME); \
|
||||
- chmod $(EXEPERM) $(SHELLDIR)/$(GAME); fi
|
||||
+ > ${DESTDIR}$(SHELLDIR)/$(GAME) ; fi
|
||||
|
||||
dofiles-dlb: check-dlb
|
||||
- ( cd dat ; cp nhdat $(DATNODLB) $(INSTDIR) )
|
||||
-# set up their permissions
|
||||
- -( cd $(INSTDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \
|
||||
- $(CHGRP) $(GAMEGRP) nhdat $(DATNODLB) ; \
|
||||
- chmod $(FILEPERM) nhdat $(DATNODLB) )
|
||||
+ ( cd dat ; cp nhdat $(DATNODLB) ${DESTDIR}$(INSTDIR) )
|
||||
|
||||
dofiles-nodlb:
|
||||
# copy over the game files
|
||||
- ( cd dat ; cp $(DAT) $(INSTDIR) )
|
||||
-# set up their permissions
|
||||
- -( cd $(INSTDIR) ; $(CHOWN) $(GAMEUID) $(DAT) ; \
|
||||
- $(CHGRP) $(GAMEGRP) $(DAT) ; \
|
||||
- chmod $(FILEPERM) $(DAT) )
|
||||
+ ( cd dat ; cp $(DAT) ${DESTDIR}$(INSTDIR) )
|
||||
+
|
||||
#
|
||||
# This is not part of the dependency build hierarchy.
|
||||
# It requires an explicit "make fetch-Lua".
|
||||
@@ -283,13 +265,9 @@ fetch-Lua:
|
||||
update: $(GAME) recover $(VARDAT) spec_levs
|
||||
# (don't yank the old version out from under people who're playing it)
|
||||
-mv $(INSTDIR)/$(GAME) $(INSTDIR)/$(GAME).old
|
||||
- -mv $(INSTDIR)/nhdat $(INSTDIR)/nhdat.old
|
||||
+ -mv ${DESTDIR}$(INSTDIR)/nhdat ${DESTDIR}$(INSTDIR)/nhdat.old
|
||||
# set up new versions of the game files
|
||||
( $(MAKE) dofiles )
|
||||
-# touch time-sensitive files
|
||||
- -touch -c $(VARDIR)/bones* $(VARDIR)/?lock* $(VARDIR)/wizard*
|
||||
- -touch -c $(VARDIR)/save/* $(VARDIR)/whereis/*
|
||||
- touch $(VARDIR)/perm $(VARDIR)/record
|
||||
# and a reminder
|
||||
@echo You may also want to install the man pages via the doc Makefile.
|
||||
|
||||
@@ -300,25 +278,16 @@ install: rootcheck $(GAME) recover $(VARDAT) spec_levs
|
||||
true; $(PREINSTALL)
|
||||
# set up the directories
|
||||
# not all mkdirs have -p; those that don't will create a -p directory
|
||||
- -if test -n '$(SHELLDIR)'; then \
|
||||
- mkdir -p $(SHELLDIR); fi
|
||||
- rm -rf $(INSTDIR) $(VARDIR)
|
||||
- -mkdir -p $(INSTDIR) $(VARDIR) $(VARDIR)/save $(VARDIR)/whereis
|
||||
+ -if test -n '${DESTDIR}$(SHELLDIR)'; then \
|
||||
+ mkdir -p ${DESTDIR}$(SHELLDIR); fi
|
||||
+ rm -rf ${DESTDIR}$(INSTDIR) ${DESTDIR}$(VARDIR)
|
||||
+ -mkdir -p ${DESTDIR}$(INSTDIR) ${DESTDIR}$(VARDIR) ${DESTDIR}$(VARDIR)/save ${DESTDIR}$(VARDIR)/whereis
|
||||
if test -d ./-p; then rmdir ./-p; fi
|
||||
- -$(CHOWN) $(GAMEUID) $(INSTDIR) $(VARDIR) $(VARDIR)/save $(VARDIR)/whereis
|
||||
- $(CHGRP) $(GAMEGRP) $(INSTDIR) $(VARDIR) $(VARDIR)/save $(VARDIR)/whereis
|
||||
# order counts here:
|
||||
- chmod $(DIRPERM) $(INSTDIR)
|
||||
- chmod $(VARDIRPERM) $(VARDIR) $(VARDIR)/save $(VARDIR)/whereis
|
||||
# set up the game files
|
||||
( $(MAKE) dofiles )
|
||||
# set up some additional files
|
||||
- touch $(VARDIR)/perm $(VARDIR)/record $(VARDIR)/logfile \
|
||||
- $(VARDIR)/xlogfile $(VARDIR)/livelog
|
||||
- -( cd $(VARDIR) ; \
|
||||
- $(CHOWN) $(GAMEUID) perm record logfile xlogfile livelog ; \
|
||||
- $(CHGRP) $(GAMEGRP) perm record logfile xlogfile livelog ; \
|
||||
- chmod $(VARFILEPERM) perm record logfile xlogfile livelog )
|
||||
+ touch ${DESTDIR}$(VARDIR)/perm ${DESTDIR}$(VARDIR)/record ${DESTDIR}$(VARDIR)/logfile ${DESTDIR}$(VARDIR)/xlogfile
|
||||
true; $(POSTINSTALL)
|
||||
# and a reminder
|
||||
@echo You may also want to reinstall the man pages via the doc Makefile.
|
33
games/xnethack/files/patch-sys-unix-Makefile.utl
Normal file
33
games/xnethack/files/patch-sys-unix-Makefile.utl
Normal file
@ -0,0 +1,33 @@
|
||||
--- sys/unix/Makefile.utl.orig 2021-03-22 22:28:14 UTC
|
||||
+++ sys/unix/Makefile.utl
|
||||
@@ -93,18 +93,25 @@ NHSROOT=..
|
||||
# flags for debugging:
|
||||
# CFLAGS = -g -I../include
|
||||
|
||||
-#CFLAGS = -O -I../include
|
||||
-#LFLAGS =
|
||||
+CFLAGS += -I../include -I${LUA_INCDIR}
|
||||
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
|
||||
+CFLAGS += -DX11_GRAPHICS
|
||||
+endif
|
||||
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
|
||||
+CFLAGS += -DQT_GRAPHICS
|
||||
+endif
|
||||
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
|
||||
+CFLAGS += -DGNOME_GRAPHICS
|
||||
+endif
|
||||
|
||||
-# -lm required by lua
|
||||
-LFLAGS += -lm
|
||||
+LFLAGS = -L${LUA_LIBDIR}
|
||||
|
||||
# we specify C preprocessor flags via CFLAGS; files built with default rules
|
||||
# might include $(CPPFLAGS) which could get a value from user's environment;
|
||||
# we avoid that by forcing it empty rather than by overriding default rules
|
||||
CPPFLAGS =
|
||||
|
||||
-LIBS =
|
||||
+LIBS = -llua-${LUA_VER} -lm
|
||||
|
||||
OBJDIR = ../src
|
||||
|
11
games/xnethack/files/patch-sys-unix-sysconf
Normal file
11
games/xnethack/files/patch-sys-unix-sysconf
Normal file
@ -0,0 +1,11 @@
|
||||
--- sys/unix/sysconf.orig 2021-03-22 22:28:14 UTC
|
||||
+++ sys/unix/sysconf
|
||||
@@ -136,7 +136,7 @@ LLC_TURNS=3000
|
||||
# %D current time, YYYYMMDDhhmmss format
|
||||
# %n player name
|
||||
# %N first character of player name
|
||||
-DUMPLOGFILE=/tmp/xnethack.%n.%d.log
|
||||
+DUMPLOGFILE=/tmp/nethack.%v.%u.%n.%D.log
|
||||
|
||||
# End of game HTML dump.
|
||||
# Only available if NetHack was compiled with DUMPHTML
|
71
games/xnethack/files/patch-util-makedefs.c
Normal file
71
games/xnethack/files/patch-util-makedefs.c
Normal file
@ -0,0 +1,71 @@
|
||||
--- util/makedefs.c.orig 2021-03-22 22:28:14 UTC
|
||||
+++ util/makedefs.c
|
||||
@@ -116,6 +116,7 @@ static struct version_info version;
|
||||
#define MAXFNAMELEN 600
|
||||
|
||||
static char filename[MAXFNAMELEN];
|
||||
+static char tempfilename[MAXFNAMELEN];
|
||||
|
||||
#ifdef FILE_PREFIX
|
||||
/* if defined, a first argument not starting with - is
|
||||
@@ -229,6 +230,12 @@ main(int argc, char *argv[])
|
||||
return 1;
|
||||
}
|
||||
|
||||
+ if (snprintf(tempfilename, sizeof(tempfilename), "%s.%d", "grep.tmp", getpid()) >= sizeof(tempfilename)) {
|
||||
+ Fprintf(stderr, "Cannot create temporary filename.");
|
||||
+ (void) fflush(stderr);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
#ifdef FILE_PREFIX
|
||||
if (argc >= 2 && argv[1][0] != '-') {
|
||||
file_prefix = argv[1];
|
||||
@@ -964,12 +971,12 @@ do_rnd_access_file(const char* fname, const char* defl
|
||||
more likely to be picked than normal but it's nothing to worry about */
|
||||
(void) fputs(xcrypt(deflt_content), ofp);
|
||||
|
||||
- tfp = getfp(DATA_TEMPLATE, "grep.tmp", WRTMODE, FLG_TEMPFILE);
|
||||
+ tfp = getfp(DATA_TEMPLATE, tempfilename, WRTMODE, FLG_TEMPFILE);
|
||||
grep0(ifp, tfp, FLG_TEMPFILE);
|
||||
#ifndef HAS_NO_MKSTEMP
|
||||
ifp = tfp;
|
||||
#else
|
||||
- ifp = getfp(DATA_TEMPLATE, "grep.tmp", RDTMODE, 0);
|
||||
+ ifp = getfp(DATA_TEMPLATE, tempfilename, RDTMODE, 0);
|
||||
#endif
|
||||
while ((line = fgetline(ifp)) != 0) {
|
||||
if (line[0] != '#' && line[0] != '\n')
|
||||
@@ -980,7 +987,7 @@ do_rnd_access_file(const char* fname, const char* defl
|
||||
Fclose(ofp);
|
||||
|
||||
#ifdef HAS_NO_MKSTEMP
|
||||
- delete_file(DATA_TEMPLATE, "grep.tmp");
|
||||
+ delete_file(DATA_TEMPLATE, templfilename);
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
@@ -1758,12 +1765,12 @@ do_dungeon(void)
|
||||
}
|
||||
Fprintf(ofp, "%s", Dont_Edit_Data);
|
||||
|
||||
- tfp = getfp(DATA_TEMPLATE, "grep.tmp", WRTMODE, FLG_TEMPFILE);
|
||||
+ tfp = getfp(DATA_TEMPLATE, tempfilename, WRTMODE, FLG_TEMPFILE);
|
||||
grep0(ifp, tfp, FLG_TEMPFILE);
|
||||
#ifndef HAS_NO_MKSTEMP
|
||||
ifp = tfp;
|
||||
#else
|
||||
- ifp = getfp(DATA_TEMPLATE, "grep.tmp", RDTMODE, 0);
|
||||
+ ifp = getfp(DATA_TEMPLATE, tempfilename, RDTMODE, 0);
|
||||
#endif
|
||||
while ((line = fgetline(ifp)) != 0) {
|
||||
SpinCursor(3);
|
||||
@@ -1779,7 +1786,7 @@ do_dungeon(void)
|
||||
Fclose(ofp);
|
||||
|
||||
#ifdef HAS_NO_MKSTEMP
|
||||
- delete_file(DATA_TEMPLATE, "grep.tmp");
|
||||
+ delete_file(DATA_TEMPLATE, tempfilename);
|
||||
#endif
|
||||
return;
|
||||
}
|
13
games/xnethack/files/patch-win-tty-termcap.c
Normal file
13
games/xnethack/files/patch-win-tty-termcap.c
Normal file
@ -0,0 +1,13 @@
|
||||
--- win/tty/termcap.c.orig 2021-03-22 22:28:14 UTC
|
||||
+++ win/tty/termcap.c
|
||||
@@ -185,10 +185,6 @@ tty_startup(int *wid, int *hgt)
|
||||
error("Terminal must backspace.");
|
||||
#else
|
||||
if (!(BC = Tgetstr("bc"))) { /* termcap also uses bc/bs */
|
||||
-#ifndef MINIMAL_TERM
|
||||
- if (!tgetflag("bs"))
|
||||
- error("Terminal must backspace.");
|
||||
-#endif
|
||||
BC = tbufptr;
|
||||
tbufptr += 2;
|
||||
*BC = '\b';
|
14
games/xnethack/files/patch-win_Qt_qt__win.cpp
Normal file
14
games/xnethack/files/patch-win_Qt_qt__win.cpp
Normal file
@ -0,0 +1,14 @@
|
||||
--- win/Qt/qt_win.cpp.orig 2021-03-22 22:28:14 UTC
|
||||
+++ win/Qt/qt_win.cpp
|
||||
@@ -57,6 +57,11 @@ extern "C" {
|
||||
#endif
|
||||
#include "qt_post.h"
|
||||
|
||||
+#ifdef Invisible
|
||||
+/* Invisible was added to an enum in Qt 3.2, #defined in youprop.h */
|
||||
+#undef Invisible
|
||||
+#endif
|
||||
+
|
||||
// Many of these headers are not needed here. It's a holdover
|
||||
// from when most of the Qt code was in one big file.
|
||||
#include "qt_win.h"
|
14
games/xnethack/files/pkg-deinstall.in
Normal file
14
games/xnethack/files/pkg-deinstall.in
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ "${2}" = "POST-DEINSTALL" ]; then
|
||||
if [ -d "${PKG_PREFIX}/%%HACKDIR%%" ]; then
|
||||
echo
|
||||
echo "The ${1} save files have not been removed."
|
||||
echo
|
||||
echo "If you are deleting ${1} permanently then you can "
|
||||
echo "remove the save files with the command:"
|
||||
echo
|
||||
echo " rm -rf ${PKG_PREFIX}/%%HACKDIR%%"
|
||||
echo
|
||||
fi
|
||||
fi
|
19
games/xnethack/pkg-descr
Normal file
19
games/xnethack/pkg-descr
Normal file
@ -0,0 +1,19 @@
|
||||
xNetHack is a fork of the dungeon exploration game NetHack. It is a
|
||||
distant descendent of Rogue and Hack, and a direct descendant of the
|
||||
development version of NetHack 3.7.
|
||||
|
||||
The main goals of xNetHack are to take vanilla NetHack and:
|
||||
|
||||
- Fix gameplay balance issues.
|
||||
- Remove tedious and frustrating parts of the game.
|
||||
- Make uninteresting parts of the game more interesting.
|
||||
- Experiment with new ideas from the community.
|
||||
|
||||
In general, the game design takes a conservative approach to changing
|
||||
the gameplay compared to other variants, with focus on deepening
|
||||
elements of the game rather than broadening them. For example, this
|
||||
philosophy would prefer to differentiate monsters in a class that all
|
||||
tend to play the same way, instead of adding new monsters to that class.
|
||||
|
||||
|
||||
WWW: https://nethackwiki.com/wiki/XNetHack
|
180
games/xnethack/pkg-plist
Normal file
180
games/xnethack/pkg-plist
Normal file
@ -0,0 +1,180 @@
|
||||
%%HACKLINK%%bin/xnethack
|
||||
@mode 555
|
||||
bin/%%HACKNAME%%
|
||||
@owner games
|
||||
@group games
|
||||
@mode 02755
|
||||
%%DATADIR%%/%%HACKNAME%%
|
||||
@mode
|
||||
%%DATADIR%%/Arc-fila.lua
|
||||
%%DATADIR%%/Arc-filb.lua
|
||||
%%DATADIR%%/Arc-goal.lua
|
||||
%%DATADIR%%/Arc-loca.lua
|
||||
%%DATADIR%%/Arc-strt.lua
|
||||
%%DATADIR%%/Bar-fila.lua
|
||||
%%DATADIR%%/Bar-filb.lua
|
||||
%%DATADIR%%/Bar-goal.lua
|
||||
%%DATADIR%%/Bar-loca.lua
|
||||
%%DATADIR%%/Bar-strt.lua
|
||||
%%DATADIR%%/Cav-fila.lua
|
||||
%%DATADIR%%/Cav-filb.lua
|
||||
%%DATADIR%%/Cav-goal.lua
|
||||
%%DATADIR%%/Cav-loca.lua
|
||||
%%DATADIR%%/Cav-strt.lua
|
||||
%%DATADIR%%/Hea-fila.lua
|
||||
%%DATADIR%%/Hea-filb.lua
|
||||
%%DATADIR%%/Hea-goal.lua
|
||||
%%DATADIR%%/Hea-loca.lua
|
||||
%%DATADIR%%/Hea-strt.lua
|
||||
%%DATADIR%%/Kni-fila.lua
|
||||
%%DATADIR%%/Kni-filb.lua
|
||||
%%DATADIR%%/Kni-goal.lua
|
||||
%%DATADIR%%/Kni-loca.lua
|
||||
%%DATADIR%%/Kni-strt.lua
|
||||
%%DATADIR%%/Mon-fila.lua
|
||||
%%DATADIR%%/Mon-filb.lua
|
||||
%%DATADIR%%/Mon-goal.lua
|
||||
%%DATADIR%%/Mon-loca.lua
|
||||
%%DATADIR%%/Mon-strt.lua
|
||||
%%DATADIR%%/NHdump.css
|
||||
%%DATADIR%%/NetHack.ad
|
||||
%%DATADIR%%/Pri-fila.lua
|
||||
%%DATADIR%%/Pri-filb.lua
|
||||
%%DATADIR%%/Pri-goal.lua
|
||||
%%DATADIR%%/Pri-loca.lua
|
||||
%%DATADIR%%/Pri-strt.lua
|
||||
%%DATADIR%%/Ran-fila.lua
|
||||
%%DATADIR%%/Ran-filb.lua
|
||||
%%DATADIR%%/Ran-goal.lua
|
||||
%%DATADIR%%/Ran-loca.lua
|
||||
%%DATADIR%%/Ran-strt.lua
|
||||
%%DATADIR%%/Rog-fila.lua
|
||||
%%DATADIR%%/Rog-filb.lua
|
||||
%%DATADIR%%/Rog-goal.lua
|
||||
%%DATADIR%%/Rog-loca.lua
|
||||
%%DATADIR%%/Rog-strt.lua
|
||||
%%DATADIR%%/Sam-fila.lua
|
||||
%%DATADIR%%/Sam-filb.lua
|
||||
%%DATADIR%%/Sam-goal.lua
|
||||
%%DATADIR%%/Sam-loca.lua
|
||||
%%DATADIR%%/Sam-strt.lua
|
||||
%%DATADIR%%/Tou-fila.lua
|
||||
%%DATADIR%%/Tou-filb.lua
|
||||
%%DATADIR%%/Tou-goal.lua
|
||||
%%DATADIR%%/Tou-loca.lua
|
||||
%%DATADIR%%/Tou-strt.lua
|
||||
%%DATADIR%%/Val-fila.lua
|
||||
%%DATADIR%%/Val-filb.lua
|
||||
%%DATADIR%%/Val-goal.lua
|
||||
%%DATADIR%%/Val-loca.lua
|
||||
%%DATADIR%%/Val-strt.lua
|
||||
%%DATADIR%%/Wiz-fila.lua
|
||||
%%DATADIR%%/Wiz-filb.lua
|
||||
%%DATADIR%%/Wiz-goal.lua
|
||||
%%DATADIR%%/Wiz-loca.lua
|
||||
%%DATADIR%%/Wiz-strt.lua
|
||||
%%DATADIR%%/air.lua
|
||||
%%DATADIR%%/asmodeus.lua
|
||||
%%DATADIR%%/astral.lua
|
||||
%%DATADIR%%/baalz.lua
|
||||
%%DATADIR%%/bigrm-1.lua
|
||||
%%DATADIR%%/bigrm-10.lua
|
||||
%%DATADIR%%/bigrm-11.lua
|
||||
%%DATADIR%%/bigrm-2.lua
|
||||
%%DATADIR%%/bigrm-3.lua
|
||||
%%DATADIR%%/bigrm-4.lua
|
||||
%%DATADIR%%/bigrm-5.lua
|
||||
%%DATADIR%%/bigrm-6.lua
|
||||
%%DATADIR%%/bigrm-7.lua
|
||||
%%DATADIR%%/bigrm-8.lua
|
||||
%%DATADIR%%/bigrm-9.lua
|
||||
%%DATADIR%%/bogusmon
|
||||
%%DATADIR%%/castle.lua
|
||||
%%DATADIR%%/cmdhelp
|
||||
%%DATADIR%%/data
|
||||
%%DATADIR%%/dungeon.lua
|
||||
%%DATADIR%%/earth.lua
|
||||
%%DATADIR%%/engrave
|
||||
%%DATADIR%%/epitaph
|
||||
%%DATADIR%%/fakewiz1.lua
|
||||
%%DATADIR%%/fakewiz2.lua
|
||||
%%DATADIR%%/fire.lua
|
||||
%%DATADIR%%/help
|
||||
%%DATADIR%%/hh
|
||||
%%DATADIR%%/history
|
||||
%%DATADIR%%/juiblex.lua
|
||||
%%DATADIR%%/keyhelp
|
||||
%%DATADIR%%/knox.lua
|
||||
%%DATADIR%%/license
|
||||
@sample(games,games,664) %%DATADIR%%/logfile.sample
|
||||
%%DATADIR%%/medusa-1.lua
|
||||
%%DATADIR%%/medusa-2.lua
|
||||
%%DATADIR%%/medusa-3.lua
|
||||
%%DATADIR%%/medusa-4.lua
|
||||
%%DATADIR%%/minefill.lua
|
||||
%%DATADIR%%/minend-1.lua
|
||||
%%DATADIR%%/minend-2.lua
|
||||
%%DATADIR%%/minend-3.lua
|
||||
%%DATADIR%%/minend-4.lua
|
||||
%%DATADIR%%/minetn-1.lua
|
||||
%%DATADIR%%/minetn-2.lua
|
||||
%%DATADIR%%/minetn-3.lua
|
||||
%%DATADIR%%/minetn-4.lua
|
||||
%%DATADIR%%/minetn-5.lua
|
||||
%%DATADIR%%/minetn-6.lua
|
||||
%%DATADIR%%/minetn-7.lua
|
||||
%%DATADIR%%/minetn-8.lua
|
||||
%%DATADIR%%/nhlib.lua
|
||||
%%DATADIR%%/opthelp
|
||||
%%DATADIR%%/options
|
||||
%%DATADIR%%/oracle-1.lua
|
||||
%%DATADIR%%/oracle-2.lua
|
||||
%%DATADIR%%/oracle-3.lua
|
||||
%%DATADIR%%/oracles
|
||||
%%DATADIR%%/orcus.lua
|
||||
@mode 664
|
||||
%%DATADIR%%/perm
|
||||
@mode
|
||||
%%DATADIR%%/pet_mark.xbm
|
||||
%%DATADIR%%/pilemark.xbm
|
||||
%%DATADIR%%/quest.lua
|
||||
@sample(games,games,664) %%DATADIR%%/record.sample
|
||||
@mode 02755
|
||||
%%DATADIR%%/recover
|
||||
@mode
|
||||
%%DATADIR%%/rumors
|
||||
%%DATADIR%%/sanctum.lua
|
||||
%%DATADIR%%/shirts
|
||||
%%DATADIR%%/soko1-1.lua
|
||||
%%DATADIR%%/soko1-2.lua
|
||||
%%DATADIR%%/soko2-1.lua
|
||||
%%DATADIR%%/soko2-2.lua
|
||||
%%DATADIR%%/soko3-1.lua
|
||||
%%DATADIR%%/soko3-2.lua
|
||||
%%DATADIR%%/soko4-1.lua
|
||||
%%DATADIR%%/soko4-2.lua
|
||||
%%DATADIR%%/symbols
|
||||
@sample(games,games,) %%DATADIR%%/sysconf.sample
|
||||
%%DATADIR%%/themerms.lua
|
||||
%%DATADIR%%/tower1.lua
|
||||
%%DATADIR%%/tower2.lua
|
||||
%%DATADIR%%/tower3.lua
|
||||
%%DATADIR%%/tribute
|
||||
%%DATADIR%%/valley.lua
|
||||
%%DATADIR%%/water.lua
|
||||
%%DATADIR%%/wizard1.lua
|
||||
%%DATADIR%%/wizard2.lua
|
||||
%%DATADIR%%/wizard3.lua
|
||||
%%DATADIR%%/wizhelp
|
||||
%%DATADIR%%/x11tiles
|
||||
@sample(games,games,664) %%DATADIR%%/xlogfile.sample
|
||||
@owner
|
||||
@group
|
||||
man/man6/dlb.6.gz
|
||||
man/man6/makedefs.6.gz
|
||||
man/man6/recover.6.gz
|
||||
man/man6/%%HACKNAME%%.6.gz
|
||||
%%PORTDOCS%%%%DOCSDIR%%/Guidebook.txt
|
||||
@dir(games,games,0775) %%DATADIR%%/save
|
||||
@dir(games,games,0775) %%DATADIR%%/whereis
|
||||
@dir(games,games,0775) %%DATADIR%%
|
Loading…
Reference in New Issue
Block a user