Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nethack for openSUSE:Factory checked 
in at 2025-12-01 11:14:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nethack (Old)
 and      /work/SRC/openSUSE:Factory/.nethack.new.14147 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nethack"

Mon Dec  1 11:14:55 2025 rev:10 rq:1320663 version:3.6.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/nethack/nethack.changes  2025-07-18 
15:59:37.485214344 +0200
+++ /work/SRC/openSUSE:Factory/.nethack.new.14147/nethack.changes       
2025-12-01 11:15:44.940671363 +0100
@@ -1,0 +2,37 @@
+Fri Nov 28 13:59:19 UTC 2025 - Thomas Zimmermann <[email protected]>
+
+- Add nethack-367-src.tgz: Update NetHack to version 3.6.7.
+
+- Modify nethack-config.patch: NetHack 3.6 uses improved build scripts
+  that allow for configuration in a few dedicated files. Avoid patching
+  various Makefiles and headers in favor of the new system. Set build
+  configuration in sys/unix/hints/linux.
+
+- Modfify nethack-gcc15-1.patch: Pick upstream Gcc 15 fix for NetHack
+  3.6.7.
+
+- Disable parallel builds. There are complex dependencies among
+  NetHack's source files and build utils, which makes parallel building
+  complicated. Current attempts at parallel building have always been a
+  hack that tries to order dependencies where necessary. Actual
+  suport for parallel builds would require a rewrite of NetHack's
+  Makefile structure.
+
+- Remove nethack-343-src.tar.bz2: The source code of NetHack 3.4.3 is
+  no longer needed.
+
+- Remove nethack-gzip.patch: Setup of gzip is now handled in
+  network-config.patch.
+
+- Remove nethack-WINCHAIN-a-framework-allowing-multiple-processors-be.patch:
+  Not needed for NetHack 3.6.7
+
+- Remove nethack-address-H4266-build-problem-with-clang-Modules.patch: Not
+  needed for NetHack 3.6.7
+
+- Remove nethack-tty-xputc.patch: Not needed for NetHack 3.6.7
+
+- Remove nethack-escapes-revamp.patch: Nethack 3.6.0 and later already
+  include the bug fix.
+
+-------------------------------------------------------------------

Old:
----
  nethack-343-src.tar.bz2
  nethack-WINCHAIN-a-framework-allowing-multiple-processors-be.patch
  nethack-address-H4266-build-problem-with-clang-Modules.patch
  nethack-escapes-revamp.patch
  nethack-gzip.patch
  nethack-tty-xputc.patch

New:
----
  nethack-367-src.tgz

----------(Old B)----------
  Old:
- Remove nethack-WINCHAIN-a-framework-allowing-multiple-processors-be.patch:
  Not needed for NetHack 3.6.7
  Old:
- Remove nethack-address-H4266-build-problem-with-clang-Modules.patch: Not
  needed for NetHack 3.6.7
  Old:
- Remove nethack-escapes-revamp.patch: Nethack 3.6.0 and later already
  include the bug fix.
  Old:
- Remove nethack-gzip.patch: Setup of gzip is now handled in
  network-config.patch.
  Old:
- Remove nethack-tty-xputc.patch: Not needed for NetHack 3.6.7
----------(Old E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nethack.spec ++++++
--- /var/tmp/diff_new_pack.bGIieZ/_old  2025-12-01 11:15:46.344730483 +0100
+++ /var/tmp/diff_new_pack.bGIieZ/_new  2025-12-01 11:15:46.348730651 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package nethack
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,36 +17,26 @@
 
 
 Name:           nethack
-Version:        3.4.3
+Version:        3.6.7
 Release:        0
 Summary:        Turn-based role-playing game
 License:        NGPL
 Group:          Amusements/Games/RPG
 URL:            https://www.nethack.org
-Source0:        nethack-343-src.tar.bz2
+Source0:        https://nethack.org/download/3.6.7/nethack-367-src.tgz
 Source1:        nethack-rpmlintrc
-# PATCH-FIX-UPSTREAM nethack-escapes-revamp.patch boo#1239138
-Patch0:         nethack-escapes-revamp.patch
-# PATCH-FIX-UPSTREAM 
nethack-WINCHAIN-a-framework-allowing-multiple-processors-be.patch boo#1245527
-Patch1:         
nethack-WINCHAIN-a-framework-allowing-multiple-processors-be.patch
-# PATCH-FIX-UPSTREAM 
nethack-address-H4266-build-problem-with-clang-Modules.patch boo#1245527
-Patch2:         nethack-address-H4266-build-problem-with-clang-Modules.patch
-# PATCH-FIX-UPSTREAM nethack-tty-xputc.patch boo#1245527
-Patch3:         nethack-tty-xputc.patch
 # PATCH-FIX-UPSTREAM nethack-gcc15-1.patch boo#1245527
-Patch4:         nethack-gcc15-1.patch
+Patch0:         nethack-gcc15-1.patch
 # PATCH-FIX-OPENSUSE nethack-config.patch Adapt build to openSUSE systems
-Patch50:        nethack-config.patch
+Patch1:         nethack-config.patch
 # PATCH-FIX-OPENSUSE nethack-decl.patch Do not redeclare system interfaces
-Patch51:        nethack-decl.patch
+Patch2:         nethack-decl.patch
 # PATCH-FIX-OPENSUSE nethack-escape-char.patch
-Patch52:        nethack-escape-char.patch
+Patch3:         nethack-escape-char.patch
 # PATCH-FIX-OPENSUSE nethack-secure.patch Handle SECURE in recover utility
-Patch53:        nethack-secure.patch
-# PATCH-FIX-OPENSUSE nethack-gzip.patch Use gzip compression
-Patch54:        nethack-gzip.patch
+Patch4:         nethack-secure.patch
 # PATCH-FIX-OPENSUSE nethack-reproducible.patch boo#1047218
-Patch55:        nethack-reproducible.patch
+Patch5:         nethack-reproducible.patch
 BuildRequires:  bison
 BuildRequires:  fdupes
 BuildRequires:  flex
@@ -66,28 +56,19 @@
 This package contains the text interface.
 
 %prep
-%autosetup -p1
+%autosetup -p1 -n NetHack-3.6.7
 
 %build
-# copy Makefiles and add optimization flags
-sh sys/unix/setup.sh
-sed -i "s/^CFLAGS.*/& %{optflags}/" Makefile dat/Makefile doc/Makefile 
src/Makefile util/Makefile
+# add optimization flags and copy Makefiles
+echo "CFLAGS+=%{optflags}" >> sys/unix/hints/linux
+
+cd sys/unix
+sh setup.sh hints/linux
+cd ../..
 
 # The Makefiles do not track dependencies correctly, which can result
-# in link errors on parallel builds. Prevent this by building the object
-# files for makedefs first.
-%make_build -C src monst.o
-%make_build -C src objects.o
-%make_build -C src dlb.o
-
-# Build the game binary, then some data files. Finally build all
-# remaining default targets. Although 'all' covers the first three
-# make calls as well, we have to resort to sequential building
-# to make it work.
-%make_build nethack
-%make_build dungeon
-%make_build spec_levs
-%make_build all
+# in link errors on parallel builds. Resort to sequential building.
+make -j1 all
 
 # We also package a nicely formatted manual in PostScript format. It
 # is not covered by 'all', so build it here.
@@ -102,7 +83,7 @@
 # game directory
 install -d %{buildroot}%{_localstatedir}/games/nethack/
 install -d %{buildroot}%{_localstatedir}/games/nethack/save/
-for file in logfile paniclog perm record ; do
+for file in logfile paniclog perm record xlogfile ; do
        touch %{buildroot}%{_localstatedir}/games/nethack/$file
 done
 # binaries
@@ -114,6 +95,7 @@
 # common data
 install dat/nhdat %{buildroot}%{_datadir}/games/nethack/
 install dat/license %{buildroot}%{_datadir}/games/nethack/
+install sys/unix/sysconf %{buildroot}%{_datadir}/games/nethack/
 # main launcher script
 install -d %{buildroot}%{_bindir}
 install sys/unix/nethack.sh %{buildroot}%{_bindir}/nethack
@@ -139,6 +121,7 @@
 %dir %{_datadir}/games/nethack
 %{_datadir}/games/nethack/license
 %{_datadir}/games/nethack/nhdat
+%{_datadir}/games/nethack/sysconf
 %dir %{_prefix}/lib/nethack
 %attr(0755,-,-) %{_prefix}/lib/nethack/dgn_comp
 %attr(0755,-,-) %{_prefix}/lib/nethack/dlb
@@ -152,5 +135,6 @@
 %config(noreplace) %attr(0660,games,games) 
%{_localstatedir}/games/nethack/logfile
 %config(noreplace) %attr(0660,games,games) 
%{_localstatedir}/games/nethack/paniclog
 %config(noreplace) %attr(0660,games,games) 
%{_localstatedir}/games/nethack/record
+%config(noreplace) %attr(0660,games,games) 
%{_localstatedir}/games/nethack/xlogfile
 %attr(0660,games,games) %{_localstatedir}/games/nethack/perm
 

++++++ nethack-config.patch ++++++
--- /var/tmp/diff_new_pack.bGIieZ/_old  2025-12-01 11:15:46.400732841 +0100
+++ /var/tmp/diff_new_pack.bGIieZ/_new  2025-12-01 11:15:46.408733177 +0100
@@ -1,135 +1,25 @@
-Index: nethack-3.4.3/include/unixconf.h
+Index: NetHack-3.6.7/include/unixconf.h
 ===================================================================
---- nethack-3.4.3.orig/include/unixconf.h
-+++ nethack-3.4.3/include/unixconf.h
-@@ -32,12 +32,12 @@
- 
- 
- /* define any of the following that are appropriate */
--#define SVR4          /* use in addition to SYSV for System V Release 4 */
-+/* #define SVR4       */      /* use in addition to SYSV for System V Release 
4 */
-                       /* including Solaris 2+ */
- #define NETWORK               /* if running on a networked system */
-                       /* e.g. Suns sharing a playground through NFS */
- /* #define SUNOS4 */  /* SunOS 4.x */
--/* #define LINUX */   /* Another Unix clone */
-+#define LINUX /* Another Unix clone */
- /* #define CYGWIN32 */        /* Unix on Win32 -- use with case sensitive 
defines */
- /* #define GENIX */   /* Yet Another Unix Clone */
- /* #define HISX */    /* Bull Unix for XPS Machines */
-@@ -102,7 +102,7 @@
-  * If you want the static parts of your playground on a read-only file
-  * system, define VAR_PLAYGROUND to be where the variable parts are kept.
-  */
--/* #define VAR_PLAYGROUND "/var/lib/games/nethack" */
-+#define VAR_PLAYGROUND "/var/games/nethack"
- 
- 
- /*
-@@ -132,7 +132,7 @@
-  * "extra output" method is used, but not all systems provide access to
-  * a fine-grained timer.
-  */
--/* #define TIMED_DELAY */     /* usleep() */
-+#define TIMED_DELAY   /* usleep() */
+--- NetHack-3.6.7.orig/include/unixconf.h
++++ NetHack-3.6.7/include/unixconf.h
+@@ -194,7 +194,8 @@
  #endif
- 
- /*
-@@ -166,7 +166,7 @@
- 
- /* #define NO_MAILREADER */   /* have mail daemon just tell player of mail */
- 
--#ifdef        MAIL
-+#ifdef MAIL
- # if defined(BSD) || defined(ULTRIX)
- #  ifdef AMS
- #define AMS_MAILBOX   "/Mailbox"
-@@ -189,7 +189,8 @@
- #   endif
- #  endif
- # else
--#define DEF_MAILREADER        "/bin/mail"
-+/* SuSE mail reader is /usr/bin/mail, not /bin/mail */
-+#define DEF_MAILREADER        "/usr/bin/mail"
- # endif
  #endif
- 
-Index: nethack-3.4.3/sys/unix/Makefile.top
-===================================================================
---- nethack-3.4.3.orig/sys/unix/Makefile.top
-+++ nethack-3.4.3/sys/unix/Makefile.top
-@@ -35,8 +35,8 @@ DIRPERM  = 0755
- # therefore there should not be anything in GAMEDIR that you want to keep
- # (if there is, you'll have to do the installation by hand or modify the
- # instructions)
--GAMEDIR  = $(PREFIX)/games/lib/$(GAME)dir
--VARDIR  = $(GAMEDIR)
-+GAMEDIR  = /usr/lib/nethack
-+VARDIR  = /var/games/nethack
- SHELLDIR = $(PREFIX)/games
- 
- # per discussion in Install.X11 and Install.Qt
-Index: nethack-3.4.3/include/config.h
-===================================================================
---- nethack-3.4.3.orig/include/config.h
-+++ nethack-3.4.3/include/config.h
-@@ -143,10 +143,10 @@
- 
- #ifndef WIZARD                /* allow for compile-time or Makefile changes */
- # ifndef KR1ED
--#  define WIZARD  "wizard" /* the person allowed to use the -D option */
-+#  define WIZARD  "root" /* the person allowed to use the -D option */
- # else
- #  define WIZARD
--#  define WIZARD_NAME "wizard"
-+#  define WIZARD_NAME "root"
- # endif
+ #else
+-#define DEF_MAILREADER "/bin/mail"
++/* SUSE mail reader is /usr/bin/mail, not /bin/mail */
++#define DEF_MAILREADER "/usr/bin/mail"
+ #endif
  #endif
  
-@@ -185,7 +185,7 @@
-  *    a tar-like file, thus making a neater installation.  See *conf.h
-  *    for detailed configuration.
-  */
--/* #define DLB */     /* not supported on all platforms */
-+#define DLB   /* not supported on all platforms */
- 
- /*
-  *    Defining INSURANCE slows down level changes, but allows games that
-@@ -204,7 +204,7 @@
-  * otherwise it will be the current directory.
-  */
- # ifndef HACKDIR
--#  define HACKDIR "/usr/games/lib/nethackdir"
-+#  define HACKDIR "/usr/share/games/nethack"
- # endif
- 
- /*
-@@ -214,7 +214,7 @@
-  * since the user might create files in a directory of his choice.
-  * Of course SECURE is meaningful only if HACKDIR is defined.
-  */
--/* #define SECURE */  /* do setuid(getuid()) after chdir() */
-+#define SECURE        /* do setuid(getuid()) after chdir() */
- 
- /*
-  * If it is desirable to limit the number of people that can play Hack
-@@ -349,7 +349,7 @@ typedef unsigned char      uchar;
-  */
- 
- /*#define GOLDOBJ */  /* Gold is kept on obj chains - Helge Hafting */
--/*#define AUTOPICKUP_EXCEPTIONS */ /* exceptions to autopickup */
-+#define AUTOPICKUP_EXCEPTIONS  /* exceptions to autopickup */
- 
- /* End of Section 5 */
- 
-Index: nethack-3.4.3/sys/unix/Makefile.doc
-===================================================================
---- nethack-3.4.3.orig/sys/unix/Makefile.doc
-+++ nethack-3.4.3/sys/unix/Makefile.doc
-@@ -4,8 +4,8 @@
- # for Atari
- # SHELL=E:/GEMINI2/MUPFEL.TTP
+Index: NetHack-3.6.7/sys/unix/Makefile.doc
+===================================================================
+--- NetHack-3.6.7.orig/sys/unix/Makefile.doc
++++ NetHack-3.6.7/sys/unix/Makefile.doc
+@@ -12,8 +12,8 @@ NHSROOT=..
+ MAKEDEFS = ../util/makedefs
  
+ # Which version do we want to build?  (XXX These are not used anywhere.)
 -GUIDEBOOK = Guidebook         # regular ASCII file
 -#GUIDEBOOK = Guidebook.ps     # PostScript file
 +#GUIDEBOOK = Guidebook                # regular ASCII file
@@ -137,62 +27,27 @@
  #GUIDEBOOK = Guidebook.dvi    # TeX device-independent file
  
  # Some versions of col need -x to keep them from converting spaces to tabs;
-Index: nethack-3.4.3/sys/unix/Makefile.src
+Index: NetHack-3.6.7/sys/unix/nethack.sh
 ===================================================================
---- nethack-3.4.3.orig/sys/unix/Makefile.src
-+++ nethack-3.4.3/sys/unix/Makefile.src
-@@ -126,6 +126,8 @@ SYSOBJ = ioctl.o unixmain.o unixtty.o un
- #   compile normally
- # CFLAGS = -O2 -fomit-frame-pointer -I../include -Wno-old-style-definition 
-Wno-unused-result -Wno-format-overflow
- # LFLAGS = -L/usr/X11R6/lib
-+CFLAGS = -O2 -fomit-frame-pointer -I../include -Wno-old-style-definition 
-Wno-unused-result -Wno-format-overflow
-+LFLAGS = -L/usr/X11R6/lib
- #   OR compile backwards compatible a.out format
- # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include
- # LFLAGS = -b i486-linuxaout -L/usr/X11R6/lib
-@@ -151,8 +153,8 @@ GNOMEINC=-I/usr/lib/glib/include -I/usr/
- # flags for debugging:
- # CFLAGS = -g -I../include
- 
--CFLAGS = -O -I../include
--LFLAGS = 
-+# CFLAGS = -O -I../include
-+# LFLAGS = 
- 
- # 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
-@@ -230,8 +232,8 @@ WINOBJ = $(WINTTYOBJ)
- # WINTTYLIB = -ltermcap
- # WINTTYLIB = -lcurses
- # WINTTYLIB = -lcurses16
--# WINTTYLIB = -lncurses
--WINTTYLIB = -ltermlib
-+WINTTYLIB = -lncurses
-+# WINTTYLIB = -ltermlib
- #
- # libraries for X11
- # If USE_XPM is defined in config.h, you will also need -lXpm here.
-Index: nethack-3.4.3/sys/unix/nethack.sh
-===================================================================
---- nethack-3.4.3.orig/sys/unix/nethack.sh
-+++ nethack-3.4.3/sys/unix/nethack.sh
-@@ -1,9 +1,9 @@
- #!/bin/sh
- #     SCCS Id: @(#)nethack.sh 3.4     1990/02/26
+--- NetHack-3.6.7.orig/sys/unix/nethack.sh
++++ NetHack-3.6.7/sys/unix/nethack.sh
+@@ -3,9 +3,9 @@
+ # Copyright (c) 2015 by Kenneth Lorber, Kensington, Maryland
+ # NetHack may be freely redistributed.  See license for details.
  
 -HACKDIR=/usr/games/lib/nethackdir
 +HACKDIR=/usr/share/games/nethack
  export HACKDIR
 -HACK=$HACKDIR/nethack
 +HACK=/usr/lib/nethack/nethack
- MAXNROFPLAYERS=4
  
  # Since Nethack.ad is installed in HACKDIR, add it to XUSERFILESEARCHPATH
-Index: nethack-3.4.3/doc/nethack.6
+ case "x$XUSERFILESEARCHPATH" in
+Index: NetHack-3.6.7/doc/nethack.6
 ===================================================================
---- nethack-3.4.3.orig/doc/nethack.6
-+++ nethack-3.4.3/doc/nethack.6
-@@ -197,7 +197,7 @@ option, which must be the first argument
+--- NetHack-3.6.7.orig/doc/nethack.6
++++ NetHack-3.6.7/doc/nethack.6
+@@ -219,7 +219,7 @@ option, which must be the first argument
  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
@@ -201,13 +56,84 @@
  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
-@@ -283,7 +283,7 @@ MAIL       Mailbox file.
+@@ -375,7 +375,7 @@ MAIL       Mailbox file.
  .br
  MAILREADER    Replacement for default reader
  .br
 -      (probably /bin/mail or /usr/ucb/mail).
 +      (probably /usr/bin/mail).
  .br
- NETHACKDIR    Playground.
+ NETHACKDIR or HACKDIR Playground.
  .br
+Index: NetHack-3.6.7/sys/unix/sysconf
+===================================================================
+--- NetHack-3.6.7.orig/sys/unix/sysconf
++++ NetHack-3.6.7/sys/unix/sysconf
+@@ -13,7 +13,7 @@
+ # Which users can use debug mode (aka wizard mode; accessed via '-D' command
+ # line flag or OPTIONS=playmode:debug in the runtime options config file).
+ # A value of * allows anyone to enter debugging mode.
+-WIZARDS=root games
++WIZARDS=root
+ 
+ # Which users can use explore mode (aka discover mode; accessed via '-X'
+ # command line flag or OPTIONS=playmode:explore in runtime options file or
+@@ -48,7 +48,7 @@ GENERICUSERS=play player game games neth
+ # but number of different players is not limited.
+ # Setting this to any other value constructs the lock files with
+ # letter and "lock" (eg. alock, block, ...)
+-MAXPLAYERS=10
++#MAXPLAYERS=10
+ 
+ # If not null, added to string "To get local support, " in the support
+ # information help.
+Index: NetHack-3.6.7/sys/unix/hints/linux
+===================================================================
+--- NetHack-3.6.7.orig/sys/unix/hints/linux
++++ NetHack-3.6.7/sys/unix/hints/linux
+@@ -6,15 +6,14 @@
+ #-PRE
+ # Linux hints file
+ # This hints file provides a single-user tty build for Linux, specifically
+-# for Ubuntu dapper.
++# for openSUSE Tumbleweed.
+ 
+ 
+-#PREFIX=/usr
+-PREFIX=$(wildcard ~)/nh/install
+-HACKDIR=$(PREFIX)/games/lib/$(GAME)dir
+-SHELLDIR = $(PREFIX)/games
++PREFIX=
++HACKDIR=$(PREFIX)/usr/share/games/$(GAME)
++SHELLDIR=$(PREFIX)/usr/games
+ INSTDIR=$(HACKDIR)
+-VARDIR = $(HACKDIR)
++VARDIR=$(PREFIX)/var/games/$(GAME)
+ 
+ 
+ 
+@@ -22,10 +21,11 @@ POSTINSTALL=cp -n sys/unix/sysconf $(INS
+ 
+ CFLAGS=-g -O -I../include -DNOTPARMDECL
+ CFLAGS+=-DDLB
+-CFLAGS+=-DCOMPRESS=\"/bin/gzip\" -DCOMPRESS_EXTENSION=\".gz\"
++CFLAGS+=-DCOMPRESS=\"/usr/bin/gzip\" -DCOMPRESS_EXTENSION=\".gz\"
+ CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
+ CFLAGS+=-DTIMED_DELAY
+ CFLAGS+=-DHACKDIR=\"$(HACKDIR)\"
++CFLAGS+=-DVAR_PLAYGROUND=\"$(VARDIR)\"
+ CFLAGS+=-DDUMPLOG
+ CFLAGS+=-DCONFIG_ERROR_SECURE=FALSE
+ CFLAGS+=-DCURSES_GRAPHICS
+@@ -64,8 +64,8 @@ WINLIB = $(WINTTYLIB) $(WINCURSESLIB)
+ 
+ WINTTYLIB=-lncurses -ltinfo
+ 
+-CHOWN=true
+-CHGRP=true
++CHOWN=chown games
++CHGRP=chgrp games
+ 
+ VARDIRPERM = 0755
+ VARFILEPERM = 0600
 

++++++ nethack-decl.patch ++++++
--- /var/tmp/diff_new_pack.bGIieZ/_old  2025-12-01 11:15:46.444734694 +0100
+++ /var/tmp/diff_new_pack.bGIieZ/_new  2025-12-01 11:15:46.452735030 +0100
@@ -1,28 +1,28 @@
-Index: nethack-3.4.3/include/system.h
+Index: NetHack-3.6.7/include/system.h
 ===================================================================
---- nethack-3.4.3.orig/include/system.h
-+++ nethack-3.4.3/include/system.h
-@@ -100,7 +100,9 @@ E void srand48();
+--- NetHack-3.6.7.orig/include/system.h
++++ NetHack-3.6.7/include/system.h
+@@ -109,7 +109,9 @@ E void srand48();
  #if !defined(BSD) || defined(ultrix)
-                       /* real BSD wants all these to return int */
- # ifndef MICRO
+ /* real BSD wants all these to return int */
+ #ifndef MICRO
 +#  ifndef __GLIBC__
  E void FDECL(exit, (int));
 +#  endif
- # endif /* MICRO */
+ #endif /* MICRO */
  /* compensate for some CSet/2 bogosities */
- # if defined(OS2_CSET2) && defined(OS2_CSET2_VER_2)
-@@ -119,7 +121,9 @@ E void FDECL(exit, (int));
- # if defined(__STDC__) || !defined(FLEX_SCANNER)
- #  ifndef OS2_CSET2
- #   ifndef MONITOR_HEAP
+ #if defined(OS2_CSET2) && defined(OS2_CSET2_VER_2)
+@@ -128,7 +130,9 @@ E void FDECL(exit, (int));
+ #if defined(__STDC__) || !defined(FLEX_SCANNER)
+ #ifndef OS2_CSET2
+ #ifndef MONITOR_HEAP
 +#    ifndef __GLIBC__
  E void FDECL(free, (genericptr_t));
 +#    endif
- #   endif
- #  endif
- # endif
-@@ -353,27 +357,35 @@ E char *FDECL(memset, (char*,int,int));
+ #endif
+ #endif
+ #endif
+@@ -362,27 +366,35 @@ E char *FDECL(memset, (char *, int, int)
  E void sleep();
  #endif
  #if defined(ULTRIX) || defined(SYSV)
@@ -49,25 +49,13 @@
  E long NDECL(getgid);
  E long NDECL(getpid);
  #else
- # ifdef POSIX_TYPES
+ #ifdef POSIX_TYPES
 +#  ifndef __GLIBC__
  E pid_t NDECL(getpid);
  E uid_t NDECL(getuid);
  E gid_t NDECL(getgid);
 +#  endif
- #  ifdef VMS
+ #ifdef VMS
  E pid_t NDECL(getppid);
- #  endif
-@@ -484,9 +496,11 @@ E  char *sprintf();
- #  if !defined(SVR4) && !defined(apollo)
- #   if !(defined(ULTRIX_PROTO) && defined(__GNUC__))
- #    if !(defined(SUNOS4) && defined(__STDC__)) /* Solaris unbundled cc (acc) 
*/
-+/*
- E int FDECL(vsprintf, (char *, const char *, va_list));
- E int FDECL(vfprintf, (FILE *, const char *, va_list));
- E int FDECL(vprintf, (const char *, va_list));
-+*/
- #    endif
- #   endif
- #  endif
+ #endif
 

++++++ nethack-escape-char.patch ++++++
--- /var/tmp/diff_new_pack.bGIieZ/_old  2025-12-01 11:15:46.488736546 +0100
+++ /var/tmp/diff_new_pack.bGIieZ/_new  2025-12-01 11:15:46.496736883 +0100
@@ -1,22 +1,22 @@
-Index: nethack-3.4.3/src/cmd.c
+Index: NetHack-3.6.7/src/cmd.c
 ===================================================================
---- nethack-3.4.3.orig/src/cmd.c
-+++ nethack-3.4.3/src/cmd.c
-@@ -2443,6 +2443,16 @@ readchar()
-           readchar_queue = click_to_cmd(x, y, mod);
-           sym = *readchar_queue++;
-       }
+--- NetHack-3.6.7.orig/src/cmd.c
++++ NetHack-3.6.7/src/cmd.c
+@@ -5945,6 +5945,16 @@ readchar()
+         readchar_queue = click_to_cmd(x, y, mod);
+         sym = *readchar_queue++;
+     }
 +
 +      if(sym == 27) { /* ESC (generated by Alt-key) */
 +#ifdef REDO
-+              sym = in_doagain ? Getchar() : nh_poskey(&x, &y, &mod);
++              sym = in_doagain ? pgetchar() : nh_poskey(&x, &y, &mod);
 +#else
-+              sym = Getchar();
++              sym = pgetchar();
 +#endif
 +              sym |= 0x80;
 +      }
 +
-       return((char) sym);
+     return (char) sym;
  }
  
 

++++++ nethack-gcc15-1.patch ++++++
--- /var/tmp/diff_new_pack.bGIieZ/_old  2025-12-01 11:15:46.532738399 +0100
+++ /var/tmp/diff_new_pack.bGIieZ/_new  2025-12-01 11:15:46.536738568 +0100
@@ -1,40 +1,41 @@
-Index: nethack-3.4.3/include/system.h
+Index: NetHack-3.6.7/include/system.h
 ===================================================================
---- nethack-3.4.3.orig/include/system.h
-+++ nethack-3.4.3/include/system.h
-@@ -57,7 +57,11 @@ typedef long        off_t;
+--- NetHack-3.6.7.orig/include/system.h
++++ NetHack-3.6.7/include/system.h
+@@ -60,9 +60,13 @@ typedef long off_t;
  #endif
  #ifndef SIG_RET_TYPE
- # if defined(NHSTDC) || defined(POSIX_TYPES) || defined(OS2) || 
defined(__DECC)
--#  define SIG_RET_TYPE void (*)()
-+#  if defined(__GLIBC__) && defined(__GNUC__)
-+#   define SIG_RET_TYPE __sighandler_t
-+#  else
-+#   define SIG_RET_TYPE void (*)()
-+#  endif
- # endif
+ #if defined(NHSTDC) || defined(POSIX_TYPES) || defined(OS2) || defined(__DECC)
++#if defined(LINUX) && defined(__GNUC__)
++#define SIG_RET_TYPE __sighandler_t
++#else
+ #define SIG_RET_TYPE void (*)()
+ #endif
  #endif
++#endif
  #ifndef SIG_RET_TYPE
-@@ -87,8 +91,10 @@ E int FDECL(srandom, (unsigned int));
- #  endif
- # endif
+ #if defined(ULTRIX) || defined(SUNOS4) || defined(SVR3) || defined(SVR4)
+ /* SVR3 is defined automatically by some systems */
+@@ -95,8 +99,10 @@ E int FDECL(srandom, (unsigned int));
+ E long NDECL(lrand48);
+ E void FDECL(srand48, (long));
  #else
-+#ifndef __GLIBC__
++#ifndef LINUX
  E long lrand48();
  E void srand48();
 +#endif
+ #endif /* MACOSX */
  #endif /* BSD || ULTRIX || RANDOM */
  
- #if !defined(BSD) || defined(ultrix)
-@@ -342,6 +348,7 @@ E char *FDECL(memset, (char*,int,int));
- # endif /* TOS */
+@@ -351,6 +357,7 @@ E char *FDECL(memset, (char *, int, int)
+ #endif /* TOS */
  #endif /* MICRO */
  
-+#ifndef __GLIBC__
- #if defined(BSD) && defined(ultrix)   /* i.e., old versions of Ultrix */
++#ifndef LINUX
+ #if defined(BSD) && defined(ultrix) /* i.e., old versions of Ultrix */
  E void sleep();
  #endif
-@@ -351,6 +358,7 @@ E unsigned sleep();
+@@ -360,6 +367,7 @@ E unsigned sleep();
  #if defined(HPUX)
  E unsigned int FDECL(sleep, (unsigned int));
  #endif
@@ -42,29 +43,42 @@
  #ifdef VMS
  E int FDECL(sleep, (unsigned));
  #endif
-@@ -501,7 +509,11 @@ E char *FDECL(tgoto, (const char *,int,i
+@@ -519,7 +527,11 @@ E char *FDECL(tgoto, (const char *, int,
  #else
- # if ! (defined(HPUX) && defined(_POSIX_SOURCE))
- E int FDECL(tgetent, (char *,const char *));
-+#if !(defined(__GLIBC__) && defined(__GNUC__))
- E void FDECL(tputs, (const char *,int,int (*)()));
+ #if !(defined(HPUX) && defined(_POSIX_SOURCE))
+ E int FDECL(tgetent, (char *, const char *));
++#if !(defined(LINUX) && defined(__GNUC__))
+ E void FDECL(tputs, (const char *, int, int (*)()));
 +#else
 +E int tputs(const char *, int, int (*)(int));
 +#endif
- # endif
+ #endif
  E int FDECL(tgetnum, (const char *));
  E int FDECL(tgetflag, (const char *));
-Index: nethack-3.4.3/sys/unix/Makefile.src
+Index: NetHack-3.6.7/sys/unix/hints/linux
 ===================================================================
---- nethack-3.4.3.orig/sys/unix/Makefile.src
-+++ nethack-3.4.3/sys/unix/Makefile.src
-@@ -124,7 +124,7 @@ SYSOBJ = ioctl.o unixmain.o unixtty.o un
+--- NetHack-3.6.7.orig/sys/unix/hints/linux
++++ NetHack-3.6.7/sys/unix/hints/linux
+@@ -34,6 +34,21 @@ CFLAGS+=-DCURSES_GRAPHICS
+ #CFLAGS+=-DSCORE_ON_BOTL
+ #CFLAGS+=-DMSGHANDLER
+ #CFLAGS+=-DTTY_TILES_ESCCODES
++#detection of clang vs gcc
++CCISCLANG := $(shell echo `$(CC) --version` | grep clang)
++ifneq "$(CCISCLANG)" ""
++# clang-specific follows
++CLANGGTEQ18 := $(shell expr `$(CC) -dumpversion | cut -f1 -d.` \>= 18)
++ifeq "$(CLANGGTEQ18)" "1"
++# clang-specific starts here
++CFLAGS+=-Wno-deprecated-non-prototype
++endif
++# clang-specific ends here
++else
++# gcc-specific starts here
++CFLAGS+=-Wno-old-style-definition -Wno-unused-result -Wno-format-overflow
++# gcc-specific ends here
++endif  # clang-specific or gcc-specific ends here
  
- # flags for Linux
- #   compile normally
--# CFLAGS = -O2 -fomit-frame-pointer -I../include
-+# CFLAGS = -O2 -fomit-frame-pointer -I../include -Wno-old-style-definition 
-Wno-unused-result -Wno-format-overflow
- # LFLAGS = -L/usr/X11R6/lib
- #   OR compile backwards compatible a.out format
- # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include
+ LINK=$(CC)
+ # Only needed for GLIBC stack trace:
 

++++++ nethack-reproducible.patch ++++++
--- /var/tmp/diff_new_pack.bGIieZ/_old  2025-12-01 11:15:46.560739578 +0100
+++ /var/tmp/diff_new_pack.bGIieZ/_new  2025-12-01 11:15:46.568739915 +0100
@@ -20,17 +20,17 @@
    178a60 1b293000 1b285500 1b284200 243c3530  .)0..(U..(B.$<50
 
 
-Index: nethack-3.4.3/util/makedefs.c
+Index: NetHack-3.6.7/util/makedefs.c
 ===================================================================
---- nethack-3.4.3.orig/util/makedefs.c
-+++ nethack-3.4.3/util/makedefs.c
-@@ -563,7 +563,7 @@ do_date()
-       (void) time(&clocktim);
-       Strcpy(cbuf, ctime(&clocktim));
- #else
--      (void) time((time_t *)&clocktim);
-+      //(void) time((time_t *)&clocktim);
-       Strcpy(cbuf, ctime((time_t *)&clocktim));
- #endif
-       for (c = cbuf; *c; c++) if (*c == '\n') break;
+--- NetHack-3.6.7.orig/util/makedefs.c
++++ NetHack-3.6.7/util/makedefs.c
+@@ -1313,7 +1313,7 @@ do_date()
+      * this file into something more modern. */
+     Fprintf(ofp, "%s", Dont_Edit_Code);
+ 
+-    (void) time(&clocktim);
++    //(void) time(&clocktim);
+ #ifdef REPRODUCIBLE_BUILD
+     {
+         /*
 

++++++ nethack-secure.patch ++++++
--- /var/tmp/diff_new_pack.bGIieZ/_old  2025-12-01 11:15:46.616741936 +0100
+++ /var/tmp/diff_new_pack.bGIieZ/_new  2025-12-01 11:15:46.620742105 +0100
@@ -1,9 +1,9 @@
-Index: nethack-3.4.3/util/recover.c
+Index: NetHack-3.6.7/util/recover.c
 ===================================================================
---- nethack-3.4.3.orig/util/recover.c
-+++ nethack-3.4.3/util/recover.c
-@@ -16,6 +16,12 @@
- #include "win32api.h"
+--- NetHack-3.6.7.orig/util/recover.c
++++ NetHack-3.6.7/util/recover.c
+@@ -17,6 +17,12 @@
+ #include <fcntl.h>
  #endif
  
 +#ifdef SECURE
@@ -13,35 +13,35 @@
 +#endif
 +
  #ifdef VMS
- extern int FDECL(vms_creat, (const char *,unsigned));
- extern int FDECL(vms_open, (const char *,int,unsigned));
-@@ -107,15 +113,23 @@ char *argv[];
-       }
+ extern int FDECL(vms_creat, (const char *, unsigned));
+ extern int FDECL(vms_open, (const char *, int, unsigned));
+@@ -112,15 +118,23 @@ char *argv[];
+     }
  #if defined(SECURE) && !defined(VMS)
-       if (dir
--# ifdef HACKDIR
+     if (dir
+-#ifdef HACKDIR
 +# ifdef VAR_PLAYGROUND
 +              && strcmp(dir, VAR_PLAYGROUND)
 +# else
 +#  ifdef HACKDIR
-               && strcmp(dir, HACKDIR)
--# endif
+         && strcmp(dir, HACKDIR)
+-#endif
 +#  endif 
 +# endif /* VAR_PLAYGROUND */
-               ) {
-               (void) setgid(getgid());
-               (void) setuid(getuid());
-       }
- #endif        /* SECURE && !VMS */
+             ) {
+         (void) setgid(getgid());
+         (void) setuid(getuid());
+     }
+ #endif /* SECURE && !VMS */
  
 +#ifdef VAR_PLAYGROUND
 +      if (!dir) dir = VAR_PLAYGROUND;
 +#endif
 +
  #ifdef HACKDIR
-       if (!dir) dir = HACKDIR;
- #endif
-@@ -158,11 +172,19 @@ int lev;
+     if (!dir)
+         dir = HACKDIR;
+@@ -166,11 +180,19 @@ int lev;
  #endif
  }
  
@@ -53,17 +53,17 @@
  open_levelfile(lev)
  int lev;
  {
-       int fd;
+     int fd;
 +#ifdef SECURE
 +      struct stat level_stat;
 +      uid_t uid;
 +#endif
  
-       set_levelfile_name(lev);
+     set_levelfile_name(lev);
  #if defined(MICRO) || defined(WIN32) || defined(MSDOS)
-@@ -170,6 +192,21 @@ int lev;
+@@ -178,6 +200,21 @@ int lev;
  #else
-       fd = open(lock, O_RDONLY, 0);
+     fd = open(lock, O_RDONLY, 0);
  #endif
 +      /* Security check: does the user calling recover own the file? */
 +#ifdef SECURE
@@ -80,12 +80,12 @@
 +              save_uid = level_stat.st_uid;
 +      }
 +#endif
-       return fd;
+     return fd;
  }
  
-@@ -183,6 +220,13 @@ create_savefile()
+@@ -191,6 +228,13 @@ create_savefile()
  #else
-       fd = creat(savename, FCMASK);
+     fd = creat(savename, FCMASK);
  #endif
 +
 +#ifdef SECURE
@@ -94,7 +94,7 @@
 +                      save_uid);
 +      }
 +#endif
-       return fd;
+     return fd;
  }
  
 

Reply via email to