FreeBSD Bugzilla – Attachment 224492 Details for
Bug 255456
[New Port] games/xnethack: Experimental features and improvements applied to NetHack 3.7-dev
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
games/xnethack: Experimental features and improvements applied to NetHack 3.7-dev
0002-New-port-games-xnethack-Experimental-features-and-im.patch (text/plain), 40.34 KB, created by
Robert Clausecker
on 2021-04-28 10:58:37 UTC
(
hide
)
Description:
games/xnethack: Experimental features and improvements applied to NetHack 3.7-dev
Filename:
MIME Type:
Creator:
Robert Clausecker
Created:
2021-04-28 10:58:37 UTC
Size:
40.34 KB
patch
obsolete
>From c71ad24b42be88b448b849fb241bca9c79d43e7b Mon Sep 17 00:00:00 2001 >From: Robert Clausecker <fuz@fuz.su> >Date: Tue, 27 Apr 2021 23:43:23 +0200 >Subject: [PATCH 2/2] New port: games/xnethack: 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 >--- > games/Makefile | 2 + > games/xnethack-nox11/Makefile | 9 + > games/xnethack/Makefile | 105 ++++++++++ > games/xnethack/distinfo | 3 + > games/xnethack/files/patch-doc_dlb.6 | 11 ++ > games/xnethack/files/patch-doc_nethack.6 | 38 ++++ > games/xnethack/files/patch-doc_recover.6 | 20 ++ > games/xnethack/files/patch-include-config.h | 36 ++++ > games/xnethack/files/patch-include-system.h | 13 ++ > games/xnethack/files/patch-include-unixconf.h | 27 +++ > games/xnethack/files/patch-src-files.c | 10 + > .../files/patch-sys-unix-Makefile.doc | 39 ++++ > .../files/patch-sys-unix-Makefile.src | 154 +++++++++++++++ > .../files/patch-sys-unix-Makefile.top | 175 +++++++++++++++++ > .../files/patch-sys-unix-Makefile.utl | 33 ++++ > games/xnethack/files/patch-sys-unix-sysconf | 11 ++ > games/xnethack/files/patch-util-makedefs.c | 71 +++++++ > games/xnethack/files/patch-win-tty-termcap.c | 13 ++ > games/xnethack/files/patch-win_Qt_qt__win.cpp | 14 ++ > games/xnethack/files/pkg-deinstall.in | 14 ++ > games/xnethack/pkg-descr | 19 ++ > games/xnethack/pkg-plist | 180 ++++++++++++++++++ > 22 files changed, 997 insertions(+) > create mode 100644 games/xnethack-nox11/Makefile > create mode 100644 games/xnethack/Makefile > create mode 100644 games/xnethack/distinfo > create mode 100644 games/xnethack/files/patch-doc_dlb.6 > create mode 100644 games/xnethack/files/patch-doc_nethack.6 > create mode 100644 games/xnethack/files/patch-doc_recover.6 > create mode 100644 games/xnethack/files/patch-include-config.h > create mode 100644 games/xnethack/files/patch-include-system.h > create mode 100644 games/xnethack/files/patch-include-unixconf.h > create mode 100644 games/xnethack/files/patch-src-files.c > create mode 100644 games/xnethack/files/patch-sys-unix-Makefile.doc > create mode 100644 games/xnethack/files/patch-sys-unix-Makefile.src > create mode 100644 games/xnethack/files/patch-sys-unix-Makefile.top > create mode 100644 games/xnethack/files/patch-sys-unix-Makefile.utl > create mode 100644 games/xnethack/files/patch-sys-unix-sysconf > create mode 100644 games/xnethack/files/patch-util-makedefs.c > create mode 100644 games/xnethack/files/patch-win-tty-termcap.c > create mode 100644 games/xnethack/files/patch-win_Qt_qt__win.cpp > create mode 100644 games/xnethack/files/pkg-deinstall.in > create mode 100644 games/xnethack/pkg-descr > create mode 100644 games/xnethack/pkg-plist > >diff --git a/games/Makefile b/games/Makefile >index 938a6b1a879f..1a0121e400c6 100644 >--- a/games/Makefile >+++ b/games/Makefile >@@ -1084,6 +1084,8 @@ > SUBDIR += xmris > SUBDIR += xmulti > SUBDIR += xneko >+ SUBDIR += xnethack >+ SUBDIR += xnethack-nox11 > SUBDIR += xoct > SUBDIR += xoids > SUBDIR += xoj >diff --git a/games/xnethack-nox11/Makefile b/games/xnethack-nox11/Makefile >new file mode 100644 >index 000000000000..e8199d9acbd6 >--- /dev/null >+++ b/games/xnethack-nox11/Makefile >@@ -0,0 +1,9 @@ >+# Created by: Jeremy Chadwick <yoshi@parodius.com> >+ >+MASTERDIR= ${.CURDIR}/../xnethack >+ >+MAINTAINER= fuz@fuz.su >+ >+PKGNAMESUFFIX= -nox11 >+ >+.include "${MASTERDIR}/Makefile" >diff --git a/games/xnethack/Makefile b/games/xnethack/Makefile >new file mode 100644 >index 000000000000..453eb48c927f >--- /dev/null >+++ b/games/xnethack/Makefile >@@ -0,0 +1,105 @@ >+# Created by: asami >+ >+PORTNAME= xNetHack >+DISTVERSIONPREFIX= xnh >+DISTVERSION= 6.0 >+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> >diff --git a/games/xnethack/distinfo b/games/xnethack/distinfo >new file mode 100644 >index 000000000000..4abd7a358cdf >--- /dev/null >+++ b/games/xnethack/distinfo >@@ -0,0 +1,3 @@ >+TIMESTAMP = 1619550478 >+SHA256 (copperwater-xNetHack-xnh6.0_GH0.tar.gz) = 6adcbbbaa6582d83afded7a512d5c9e8d0961c31841db41d5bf39edc1dc49fe1 >+SIZE (copperwater-xNetHack-xnh6.0_GH0.tar.gz) = 5793880 >diff --git a/games/xnethack/files/patch-doc_dlb.6 b/games/xnethack/files/patch-doc_dlb.6 >new file mode 100644 >index 000000000000..942fb1fdf506 >--- /dev/null >+++ b/games/xnethack/files/patch-doc_dlb.6 >@@ -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. >diff --git a/games/xnethack/files/patch-doc_nethack.6 b/games/xnethack/files/patch-doc_nethack.6 >new file mode 100644 >index 000000000000..6040c8d826c9 >--- /dev/null >+++ b/games/xnethack/files/patch-doc_nethack.6 >@@ -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. >diff --git a/games/xnethack/files/patch-doc_recover.6 b/games/xnethack/files/patch-doc_recover.6 >new file mode 100644 >index 000000000000..2ee7bb286566 >--- /dev/null >+++ b/games/xnethack/files/patch-doc_recover.6 >@@ -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 >diff --git a/games/xnethack/files/patch-include-config.h b/games/xnethack/files/patch-include-config.h >new file mode 100644 >index 000000000000..09e486a83591 >--- /dev/null >+++ b/games/xnethack/files/patch-include-config.h >@@ -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") >diff --git a/games/xnethack/files/patch-include-system.h b/games/xnethack/files/patch-include-system.h >new file mode 100644 >index 000000000000..1b10bc127749 >--- /dev/null >+++ b/games/xnethack/files/patch-include-system.h >@@ -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 >diff --git a/games/xnethack/files/patch-include-unixconf.h b/games/xnethack/files/patch-include-unixconf.h >new file mode 100644 >index 000000000000..790f7ccdbedd >--- /dev/null >+++ b/games/xnethack/files/patch-include-unixconf.h >@@ -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 >diff --git a/games/xnethack/files/patch-src-files.c b/games/xnethack/files/patch-src-files.c >new file mode 100644 >index 000000000000..1b6b782cbaa3 >--- /dev/null >+++ b/games/xnethack/files/patch-src-files.c >@@ -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 >diff --git a/games/xnethack/files/patch-sys-unix-Makefile.doc b/games/xnethack/files/patch-sys-unix-Makefile.doc >new file mode 100644 >index 000000000000..fecd35c0dda4 >--- /dev/null >+++ b/games/xnethack/files/patch-sys-unix-Makefile.doc >@@ -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 \ >diff --git a/games/xnethack/files/patch-sys-unix-Makefile.src b/games/xnethack/files/patch-sys-unix-Makefile.src >new file mode 100644 >index 000000000000..bcf8a95aaf6f >--- /dev/null >+++ b/games/xnethack/files/patch-sys-unix-Makefile.src >@@ -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 >diff --git a/games/xnethack/files/patch-sys-unix-Makefile.top b/games/xnethack/files/patch-sys-unix-Makefile.top >new file mode 100644 >index 000000000000..44a4ffef3d57 >--- /dev/null >+++ b/games/xnethack/files/patch-sys-unix-Makefile.top >@@ -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. >diff --git a/games/xnethack/files/patch-sys-unix-Makefile.utl b/games/xnethack/files/patch-sys-unix-Makefile.utl >new file mode 100644 >index 000000000000..10fd6bc5aa42 >--- /dev/null >+++ b/games/xnethack/files/patch-sys-unix-Makefile.utl >@@ -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 >+ >diff --git a/games/xnethack/files/patch-sys-unix-sysconf b/games/xnethack/files/patch-sys-unix-sysconf >new file mode 100644 >index 000000000000..4629279cc86d >--- /dev/null >+++ b/games/xnethack/files/patch-sys-unix-sysconf >@@ -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 >diff --git a/games/xnethack/files/patch-util-makedefs.c b/games/xnethack/files/patch-util-makedefs.c >new file mode 100644 >index 000000000000..13d38f3bfba0 >--- /dev/null >+++ b/games/xnethack/files/patch-util-makedefs.c >@@ -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; >+ } >diff --git a/games/xnethack/files/patch-win-tty-termcap.c b/games/xnethack/files/patch-win-tty-termcap.c >new file mode 100644 >index 000000000000..9338a9c87743 >--- /dev/null >+++ b/games/xnethack/files/patch-win-tty-termcap.c >@@ -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'; >diff --git a/games/xnethack/files/patch-win_Qt_qt__win.cpp b/games/xnethack/files/patch-win_Qt_qt__win.cpp >new file mode 100644 >index 000000000000..1837d29fc918 >--- /dev/null >+++ b/games/xnethack/files/patch-win_Qt_qt__win.cpp >@@ -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" >diff --git a/games/xnethack/files/pkg-deinstall.in b/games/xnethack/files/pkg-deinstall.in >new file mode 100644 >index 000000000000..04e356acdf02 >--- /dev/null >+++ b/games/xnethack/files/pkg-deinstall.in >@@ -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 >diff --git a/games/xnethack/pkg-descr b/games/xnethack/pkg-descr >new file mode 100644 >index 000000000000..83815936b4ca >--- /dev/null >+++ b/games/xnethack/pkg-descr >@@ -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 >diff --git a/games/xnethack/pkg-plist b/games/xnethack/pkg-plist >new file mode 100644 >index 000000000000..5733415fcb2e >--- /dev/null >+++ b/games/xnethack/pkg-plist >@@ -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%% >-- >2.31.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 255456
:
224492
|
224808