mirror of
https://github.com/gentoo-mirror/gentoo-zh.git
synced 2025-04-18 23:38:57 -04:00
Merge pull request #3833 from Dawn-Xu-helloworld/master
nethack bump to 3.6.7
This commit is contained in:
commit
9cedc5217f
1
games-roguelike/nethack/Manifest
Normal file
1
games-roguelike/nethack/Manifest
Normal file
@ -0,0 +1 @@
|
||||
DIST nethack-3.6.7.tar.gz 5577415 BLAKE2B a03cfe973b0470efe052eee49c312818755e33cf5148a2c39beecf052e44dfe951c6c63a3ff58ce826fa656647ad5bbe558b4854a50fcf987d80014ef4707505 SHA512 7890d17e087f4344d30e9a908fa1f24d7c72bc714c4a6415ed59800902cc0aa6b3ce94c5d73857b0222349b96b1fdc8bf3f93b3ac1153477ad1419af7b0d3fb5
|
103
games-roguelike/nethack/files/nethack-3.6.0-nethackrc
Normal file
103
games-roguelike/nethack/files/nethack-3.6.0-nethackrc
Normal file
@ -0,0 +1,103 @@
|
||||
## This is an example nethackrc file (courtesy of nethack.alt.org).
|
||||
##
|
||||
## You should edit it to suit your needs.
|
||||
## Please read the Guidebook in /usr/share/doc/nethack or at www.nethack.org.
|
||||
##
|
||||
## Options which are enabled by default (like autoopen) can be disabled
|
||||
## by prefixing them with a !
|
||||
|
||||
## If USE=X is enabled, this can be changed to x11
|
||||
#OPTIONS=windowtype:tty
|
||||
|
||||
## Custom fruit and pet names
|
||||
#OPTIONS=fruit:mango
|
||||
#OPTIONS=dogname:Izchak
|
||||
#OPTIONS=catname:Chun-Li
|
||||
#OPTIONS=horsename:Marlon
|
||||
|
||||
## Colored output
|
||||
#OPTIONS=color
|
||||
|
||||
## Automatically dig if you are wielding a digging tool and moving
|
||||
## into a place that can be dug
|
||||
#OPTIONS=autodig
|
||||
|
||||
## Walking into a door attempts to open it
|
||||
#OPTIONS=autoopen
|
||||
|
||||
## Automatically pick up stuff
|
||||
#OPTIONS=autopickup
|
||||
|
||||
## Only use autopickup for these item types
|
||||
#OPTIONS=pickup_types:$!?/"=
|
||||
|
||||
## Allow saving and loading bones files.
|
||||
#OPTIONS=bones
|
||||
|
||||
## Show out-of-sight areas of lit rooms
|
||||
#OPTIONS=dark_room
|
||||
|
||||
## Use inverse for pets
|
||||
#OPTIONS=hilite_pet
|
||||
|
||||
## Use inverse for piles of items
|
||||
#OPTIONS=hilite_pile
|
||||
|
||||
## Show experience
|
||||
#OPTIONS=showexp
|
||||
|
||||
## Show elapsed game time (in turns)
|
||||
#OPTIONS=time
|
||||
|
||||
## How recalled messages (ctrl-p) are displayed.
|
||||
#OPTIONS=msg_window:reversed
|
||||
|
||||
## use IBMgraphics or DECgraphics
|
||||
#OPTIONS=symset:DECgraphics
|
||||
#OPTIONS=symset:IBMgraphics
|
||||
|
||||
## If you don't like some default glyphs, these can be changed
|
||||
#SYMBOLS=S_boulder:0
|
||||
#SYMBOLS=S_lava:~
|
||||
#SYMBOLS=S_pool:~
|
||||
#SYMBOLS=S_water:~
|
||||
#SYMBOLS=S_ghost:8
|
||||
#SYMBOLS=S_golem:7
|
||||
|
||||
## Sort items by name. One of "none", "loot", or "full"
|
||||
#OPTIONS=sortloot:full
|
||||
|
||||
## Require explicit yes for some prompts
|
||||
#OPTIONS=paranoid_confirmation:Confirm quit attack pray wand Remove
|
||||
|
||||
## Conducts
|
||||
#OPTIONS=nudist
|
||||
#OPTIONS=blind
|
||||
|
||||
|
||||
## Colored menus. Regular expressions allowed.
|
||||
#OPTIONS=menucolors
|
||||
#MENUCOLOR=" blessed "=green
|
||||
#MENUCOLOR=" holy "=green
|
||||
#MENUCOLOR=" cursed "=red
|
||||
#MENUCOLOR=" unholy "=red
|
||||
#MENUCOLOR=" cursed .* (being worn)"=orange&underline
|
||||
|
||||
|
||||
## Messagetypes
|
||||
|
||||
## displacing pets. hide the message.
|
||||
#MSGTYPE=hide "You swap places with your .*"
|
||||
|
||||
## items on floor. don't repeat the message.
|
||||
#MSGTYPE=norep "You see here a .*"
|
||||
#MSGTYPE=norep "You see here an .*"
|
||||
|
||||
## delayed instadeaths. always prompt for -more-
|
||||
#MSGTYPE=stop "You are slowing down."
|
||||
#MSGTYPE=stop "You find it hard to breathe."
|
||||
#MSGTYPE=stop "You are turning a little .*"
|
||||
|
||||
## moving up or down stairs
|
||||
#MSGTYPE=hide "You descend .*"
|
||||
#MSGTYPE=hide "You (climb|fly) (up|down) .*"
|
19
games-roguelike/nethack/files/nethack-3.6.3-hint-tty
Normal file
19
games-roguelike/nethack/files/nethack-3.6.3-hint-tty
Normal file
@ -0,0 +1,19 @@
|
||||
#-PRE
|
||||
|
||||
LINK=$(CC)
|
||||
|
||||
WINSRC = $(WINTTYSRC)
|
||||
WINOBJ = $(WINTTYOBJ)
|
||||
WINLIB = $(WINTTYLIB)
|
||||
|
||||
GAMEPERM = 02755
|
||||
VARDIRPERM = 0770
|
||||
VARFILEPERM = 0660
|
||||
CHOWN = true
|
||||
CHGRP = true
|
||||
|
||||
|
||||
#-POST
|
||||
|
||||
# needed for external pager, bug #57410
|
||||
DATNODLB = $(VARDATND) license symbols $(DATHELP)
|
23
games-roguelike/nethack/files/nethack-3.6.3-hint-x11
Normal file
23
games-roguelike/nethack/files/nethack-3.6.3-hint-x11
Normal file
@ -0,0 +1,23 @@
|
||||
#-PRE
|
||||
|
||||
LINK=$(CC)
|
||||
|
||||
VARDATND = x11tiles NetHack.ad pet_mark.xbm pilemark.xbm rip.xpm
|
||||
|
||||
WINSRC = $(WINTTYSRC) $(WINX11SRC)
|
||||
WINOBJ = $(WINTTYOBJ) $(WINX11OBJ)
|
||||
WINLIB = $(WINTTYLIB) $(WINX11LIB)
|
||||
|
||||
GAMEPERM = 02755
|
||||
VARDIRPERM = 0770
|
||||
VARFILEPERM = 0660
|
||||
CHOWN = true
|
||||
CHGRP = true
|
||||
|
||||
|
||||
#-POST
|
||||
|
||||
# needed for external pager, bug #57410
|
||||
DATNODLB = $(VARDATND) license symbols $(DATHELP)
|
||||
|
||||
WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11 -lXpm
|
132
games-roguelike/nethack/files/nethack-3.6.3-recover.patch
Normal file
132
games-roguelike/nethack/files/nethack-3.6.3-recover.patch
Normal file
@ -0,0 +1,132 @@
|
||||
From d8878eddd04cb986d57cc721d719670dc7f4d156 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Strogin <steils@gentoo.org>
|
||||
Date: Tue, 17 Dec 2019 20:20:52 +0200
|
||||
Subject: [PATCH] Rename manpage from recover to recover-nethack
|
||||
|
||||
Based on the patch from https://bugs.gentoo.org/203556
|
||||
|
||||
Upstream-Status: Inappropriate [Gentoo-specific]
|
||||
Signed-off-by: Stefan Strogin <steils@gentoo.org>
|
||||
---
|
||||
doc/nethack.6 | 2 +-
|
||||
doc/recover.6 | 28 ++++++++++++++--------------
|
||||
2 files changed, 15 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/doc/nethack.6 b/doc/nethack.6
|
||||
index dda4c89f4..b26a2b493 100644
|
||||
--- a/doc/nethack.6
|
||||
+++ b/doc/nethack.6
|
||||
@@ -393,7 +393,7 @@ SHOPTYPE and SPLEVTYPE can be used in debugging (wizard) mode.
|
||||
DEBUGFILES can be used if the program was built with 'DEBUG' enabled.
|
||||
.SH "SEE ALSO"
|
||||
.PP
|
||||
-dgn_comp(6), lev_comp(6), recover(6)
|
||||
+dgn_comp(6), lev_comp(6), recover-nethack(6)
|
||||
.SH BUGS
|
||||
.PP
|
||||
Probably infinite.
|
||||
diff --git a/doc/recover.6 b/doc/recover.6
|
||||
index 1209d31d3..eee5bbc61 100644
|
||||
--- a/doc/recover.6
|
||||
+++ b/doc/recover.6
|
||||
@@ -1,4 +1,4 @@
|
||||
-.TH RECOVER 6 "14 December 2015" NETHACK
|
||||
+.TH RECOVER-NETHACK 6 "14 December 2015" NETHACK
|
||||
.de ND
|
||||
.ds Nd \\$3
|
||||
..
|
||||
@@ -13,9 +13,9 @@
|
||||
.NR $NHDT-Revision: 1.9 $
|
||||
.ds Na Kenneth Lorber
|
||||
.SH NAME
|
||||
-recover \- recover a NetHack game interrupted by disaster
|
||||
+recover-nethack \- recover a NetHack game interrupted by disaster
|
||||
.SH SYNOPSIS
|
||||
-.B recover
|
||||
+.B recover-nethack
|
||||
[
|
||||
.B \-d
|
||||
.I directory
|
||||
@@ -33,7 +33,7 @@ so such games can be recovered at the point of the last level change.
|
||||
The
|
||||
.I base
|
||||
options tell
|
||||
-.I recover
|
||||
+.I recover-nethack
|
||||
which files to process.
|
||||
Each base option specifies recovery of a separate game.
|
||||
.PP
|
||||
@@ -83,24 +83,24 @@ by a user number to avoid conflicts,
|
||||
or "xlock" if the number of concurrent players is being limited.
|
||||
It may be necessary to look in the playground to find the correct
|
||||
base name of the interrupted game.
|
||||
-.I recover
|
||||
+.I recover-nethack
|
||||
will transform these level files into a save file of the same name as
|
||||
.I nethack
|
||||
would have used.
|
||||
.PP
|
||||
Since
|
||||
-.I recover
|
||||
+.I recover-nethack
|
||||
must be able to read and delete files from the playground
|
||||
and create files in the save directory,
|
||||
it has interesting interactions with game security.
|
||||
Giving ordinary players access to
|
||||
-.I recover
|
||||
+.I recover-nethack
|
||||
through setuid or setgid is tantamount to leaving the playground
|
||||
world-writable,
|
||||
with respect to both cheating and messing up other players.
|
||||
For a single-user system, this of course does not change anything,
|
||||
so some of the microcomputer ports install
|
||||
-.I recover
|
||||
+.I recover-nethack
|
||||
by default.
|
||||
.PP
|
||||
For a multi-user system,
|
||||
@@ -108,22 +108,22 @@ the game administrator may want to arrange for all .0 files in the
|
||||
playground to be fed to recover when the host machine boots,
|
||||
and handle game crashes individually.
|
||||
If the user population is sufficiently trustworthy,
|
||||
-.I recover
|
||||
+.I recover-nethack
|
||||
can be installed with the same permissions the
|
||||
.I nethack
|
||||
executable has.
|
||||
In either case,
|
||||
-.I recover
|
||||
+.I recover-nethack
|
||||
is easily compiled from the distribution utility directory.
|
||||
.SH NOTES
|
||||
.PP
|
||||
Like
|
||||
.I nethack
|
||||
itself,
|
||||
-.I recover
|
||||
+.I recover-nethack
|
||||
will overwrite existing savefiles of the same name.
|
||||
Savefiles created by
|
||||
-.I recover
|
||||
+.I recover-nethack
|
||||
are uncompressed;
|
||||
they may be compressed afterwards if desired,
|
||||
but even a compression-using
|
||||
@@ -133,12 +133,12 @@ will find them in the uncompressed form.
|
||||
nethack(6)
|
||||
.SH BUGS
|
||||
.PP
|
||||
-.I recover
|
||||
+.I recover-nethack
|
||||
makes no attempt to find out if a base name specifies a game in progress.
|
||||
If multiple machines share a playground, this would be impossible to
|
||||
determine.
|
||||
.PP
|
||||
-.I recover
|
||||
+.I recover-nethack
|
||||
should be taught to use the nethack playground locking mechanism to
|
||||
avoid conflicts.
|
||||
.SH COPYRIGHT
|
||||
--
|
||||
2.24.1
|
||||
|
10
games-roguelike/nethack/files/nethack-3.6.6-clang16.patch
Normal file
10
games-roguelike/nethack/files/nethack-3.6.6-clang16.patch
Normal file
@ -0,0 +1,10 @@
|
||||
https://bugs.gentoo.org/874462
|
||||
--- a/win/tty/wintty.c
|
||||
+++ b/win/tty/wintty.c
|
||||
@@ -26,2 +26,6 @@
|
||||
|
||||
+#ifdef DEF_PAGER
|
||||
+#include <fcntl.h>
|
||||
+#endif
|
||||
+
|
||||
#ifndef NO_TERMS
|
148
games-roguelike/nethack/nethack-3.6.7.ebuild
Normal file
148
games-roguelike/nethack/nethack-3.6.7.ebuild
Normal file
@ -0,0 +1,148 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit desktop flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="The ultimate old-school single player dungeon exploration game"
|
||||
HOMEPAGE="https://www.nethack.org/"
|
||||
SRC_URI="https://nethack.org/download/${PV}/nethack-${PV//.}-src.tgz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/NetHack-${PV}"
|
||||
|
||||
LICENSE="nethack"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
|
||||
IUSE="X"
|
||||
|
||||
RDEPEND="
|
||||
acct-group/gamestat
|
||||
sys-libs/ncurses:0=
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXaw
|
||||
x11-libs/libXpm
|
||||
x11-libs/libXt
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
app-alternatives/yacc
|
||||
X? (
|
||||
x11-apps/bdftopcf
|
||||
x11-apps/mkfontscale
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-3.6.3-recover.patch"
|
||||
"${FILESDIR}/${PN}-3.6.6-clang16.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
cp "${FILESDIR}/${PN}-3.6.3-hint-$(usex X x11 tty)" hint || die "Failed to copy hint file"
|
||||
sys/unix/setup.sh hint || die "Failed to run setup.sh"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
append-cflags -std=gnu89 # old codebase, incompatible with c2x
|
||||
append-cflags -I../include -DDLB -DSECURE -DTIMED_DELAY -DVISION_TABLES -DDUMPLOG -DSCORE_ON_BOTL
|
||||
append-cflags '-DCOMPRESS=\"${EPREFIX}/bin/gzip\"' '-DCOMPRESS_EXTENSION=\".gz\"'
|
||||
append-cflags "-DHACKDIR=\\\"${EPREFIX}/usr/$(get_libdir)/nethack\\\"" "-DVAR_PLAYGROUND=\\\"${EPREFIX}/var/games/nethack\\\""
|
||||
append-cflags "-DDEF_PAGER=\\\"${PAGER}\\\""
|
||||
append-cflags -DSYSCF "-DSYSCF_FILE=\\\"${EPREFIX}/etc/nethack.sysconf\\\""
|
||||
|
||||
if use X; then
|
||||
append-cflags -DX11_GRAPHICS -DUSE_XPM
|
||||
|
||||
# XtErrorHandler usage seems right, but headers "may" add ((noreturn))
|
||||
# giving an incompatible type error with clang-16 (could alternatively
|
||||
# use private _X_NORETURN but this may be fragile)
|
||||
append-cflags -Wno-error=incompatible-pointer-types #874462
|
||||
fi
|
||||
|
||||
LOCAL_MAKEOPTS=(
|
||||
CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LFLAGS="${LDFLAGS}"
|
||||
WINTTYLIB="$($(tc-getPKG_CONFIG) --libs ncurses)"
|
||||
HACKDIR="${EPREFIX}/usr/$(get_libdir)/nethack" INSTDIR="${ED}/usr/$(get_libdir)/nethack"
|
||||
SHELLDIR="${ED}/usr/bin" VARDIR="${ED}/var/games/nethack"
|
||||
)
|
||||
|
||||
emake "${LOCAL_MAKEOPTS[@]}" nethack recover Guidebook spec_levs
|
||||
|
||||
# Upstream still has some parallel compilation bugs
|
||||
emake -j1 "${LOCAL_MAKEOPTS[@]}" all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake "${LOCAL_MAKEOPTS[@]}" install
|
||||
|
||||
mv "${ED}/usr/$(get_libdir)/nethack/recover" "${ED}/usr/bin/recover-nethack" || die "Failed to move recover-nethack"
|
||||
|
||||
doman doc/nethack.6
|
||||
newman doc/recover.6 recover-nethack.6
|
||||
dodoc doc/Guidebook.txt
|
||||
|
||||
insinto /etc
|
||||
newins sys/unix/sysconf nethack.sysconf
|
||||
|
||||
insinto /etc/skel
|
||||
newins "${FILESDIR}/${PN}-3.6.0-nethackrc" .nethackrc
|
||||
|
||||
if use X ; then
|
||||
cd "${S}/win/X11" || die "Failed to enter win/X11 directory"
|
||||
|
||||
mkdir -p "${ED}/etc/X11/app-defaults/" || die "Failed to make app-defaults directory"
|
||||
mv "${ED}/usr/$(get_libdir)/nethack/NetHack.ad" "${ED}/etc/X11/app-defaults/" || die "Failed to move NetHack.ad"
|
||||
|
||||
newicon nh_icon.xpm nethack.xpm
|
||||
make_desktop_entry ${PN} Nethack
|
||||
|
||||
# install nethack fonts
|
||||
bdftopcf -o nh10.pcf nh10.bdf || die "Converting fonts failed"
|
||||
bdftopcf -o ibm.pcf ibm.bdf || die "Converting fonts failed"
|
||||
insinto "/usr/$(get_libdir)/nethack/fonts"
|
||||
doins *.pcf
|
||||
mkfontdir "${ED}/usr/$(get_libdir)/nethack/fonts" || die "mkfontdir failed"
|
||||
fi
|
||||
|
||||
rm -r "${ED}/var/games/nethack" || die "Failed to clean var/games/nethack"
|
||||
keepdir /var/games/nethack/save
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
fowners root:gamestat /var/games/nethack /var/games/nethack/save
|
||||
fperms 2770 /var/games/nethack /var/games/nethack/save
|
||||
|
||||
fowners root:gamestat "/usr/$(get_libdir)/nethack/nethack"
|
||||
fperms g+s "/usr/$(get_libdir)/nethack/nethack"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
cd "${EROOT}/var/games/nethack" || die "Failed to enter ${EROOT}/var/games/nethack directory"
|
||||
|
||||
# Transition mechanism for <nethack-3.6.1 ebuilds. It's perfectly safe, so we'll just run it unconditionally.
|
||||
chmod 2770 . save || die "Failed to chmod statedir"
|
||||
|
||||
# Those files can't be created earlier because we don't want portage to wipe them during upgrades
|
||||
( umask 007 && touch logfile perm record xlogfile ) || die "Failed to create log files"
|
||||
|
||||
# Instead of using a proper version header in its save files, nethack checks for incompatibilities
|
||||
# by comparing the mtimes of save files and its own binary. This would require admin interaction even
|
||||
# during upgrades which don't change the file format, so we'll just touch the files and warn the admin
|
||||
# manually in case of compatibility issues.
|
||||
(
|
||||
shopt -s nullglob
|
||||
local saves=( bones* save/* )
|
||||
[[ -n "${saves[*]}" ]] && touch -c "${saves[@]}"
|
||||
) # non-fatal
|
||||
|
||||
elog "A minimal default .nethackrc has been placed in /etc/skel/"
|
||||
elog "The sysconf file is at /etc/nethack.sysconf"
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user