pkgsrc/games/nethack-x11/patches/patch-ab
pooka d65e5aee6a Hello NetHack 3.4.1
This is a bugfix release, no new features introduced.

As a compensation for no new features, savegames and bones levels
from NetHack 3.4.0 should work, and that's why I kept the datafile
directory named nethackdir340. In theory you should be able to
simply update the nethack pkgs and continue playing, but I'll not
accept any death threats if it doesn't work, so please make sure
you make the appropriate backups before trying.
2003-03-01 21:12:49 +00:00

121 lines
4 KiB
Text

$NetBSD: patch-ab,v 1.9 2003/03/01 21:12:52 pooka Exp $
--- sys/unix/Makefile.top.orig 2003-02-23 16:43:39.000000000 +0200
+++ sys/unix/Makefile.top 2003-03-01 22:06:45.000000000 +0200
@@ -14,18 +14,17 @@
# MAKE = make
# make NetHack
-PREFIX = /usr
GAME = nethack
# GAME = nethack.prg
-GAMEUID = games
-GAMEGRP = bin
+GAMEUID = root
+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 = 2755
+FILEPERM = 0664
EXEPERM = 0755
-DIRPERM = 0755
+DIRPERM = 0775
# GAMEDIR also appears in config.h as "HACKDIR".
# VARDIR may also appear in unixconf.h as "VAR_PLAYGROUND" else GAMEDIR
@@ -35,12 +34,12 @@
# 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
+GAMEDIR = $(PREFIX)/share/$(GAME)dir340
VARDIR = $(GAMEDIR)
-SHELLDIR = $(PREFIX)/games
+SHELLDIR = $(PREFIX)/bin
# per discussion in Install.X11 and Install.Qt
-VARDATND =
+VARDATND = pet_mark.xbm rip.xpm
# VARDATND = x11tiles pet_mark.xbm
# VARDATND = x11tiles pet_mark.xbm rip.xpm
# for Atari/Gem
@@ -87,9 +86,12 @@
$(GAME):
( cd src ; $(MAKE) )
-all: $(GAME) recover Guidebook $(VARDAT) dungeon spec_levs check-dlb
+all: $(GAME) datastuff
@echo "Done."
+datastuff: recover Guidebook $(VARDAT) dungeon spec_levs check-dlb
+ @echo "Data Sets Built."
+
# Note: many of the dependencies below are here to allow parallel make
# to generate valid output
@@ -180,18 +182,15 @@
-e '}' \
-e '$$s/.*/nodlb/p' < dat/options` ; \
$(MAKE) dofiles-$${target-nodlb}
- cp src/$(GAME) $(GAMEDIR)
- cp util/recover $(GAMEDIR)
+ cp util/recover $(PREFIX)/bin
-rm -f $(SHELLDIR)/$(GAME)
sed -e 's;/usr/games/lib/nethackdir;$(GAMEDIR);' \
-e 's;HACKDIR/nethack;HACKDIR/$(GAME);' \
+ -e 's;XXXPREFIXXXX;$(PREFIX);' \
< sys/unix/nethack.sh \
> $(SHELLDIR)/$(GAME)
# set up their permissions
- -( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(GAME) recover ; \
- $(CHGRP) $(GAMEGRP) $(GAME) recover )
- chmod $(GAMEPERM) $(GAMEDIR)/$(GAME)
- chmod $(EXEPERM) $(GAMEDIR)/recover
+ chmod $(EXEPERM) $(PREFIX)/bin/recover
-$(CHOWN) $(GAMEUID) $(SHELLDIR)/$(GAME)
$(CHGRP) $(GAMEGRP) $(SHELLDIR)/$(GAME)
chmod $(EXEPERM) $(SHELLDIR)/$(GAME)
@@ -227,16 +226,16 @@
# and a reminder
@echo You may also want to install the man pages via the doc Makefile.
-install: $(GAME) recover $(VARDAT) dungeon spec_levs
+install-dat: recover $(VARDAT) dungeon spec_levs
# set up the directories
# not all mkdirs have -p; those that don't will create a -p directory
-mkdir -p $(SHELLDIR)
- -rm -rf $(GAMEDIR) $(VARDIR)
-mkdir -p $(GAMEDIR) $(VARDIR) $(VARDIR)/save
-rmdir ./-p
-$(CHOWN) $(GAMEUID) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
$(CHGRP) $(GAMEGRP) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
- chmod $(DIRPERM) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
+ chmod $(DIRPERM) $(GAMEDIR) $(VARDIR)
+ chmod 770 $(VARDIR)/save
# set up the game files
( $(MAKE) dofiles )
# set up some additional files
@@ -244,9 +243,20 @@
-( cd $(VARDIR) ; $(CHOWN) $(GAMEUID) perm record logfile ; \
$(CHGRP) $(GAMEGRP) perm record logfile ; \
chmod $(FILEPERM) perm record logfile )
+ -touch -c $(VARDIR)/bones* $(VARDIR)/?lock* $(VARDIR)/wizard*
+ -touch -c $(VARDIR)/save/*
+ -mkdir -p $(PREFIX)/share/doc/nethack
+ cp doc/Guidebook $(PREFIX)/share/doc/nethack
+ chown $(GAMEUID):$(GAMEGRP) $(PREFIX)/share/doc/nethack/Guidebook
+ chmod $(FILEPERM) $(PREFIX)/share/doc/nethack/Guidebook
# and a reminder
@echo You may also want to reinstall the man pages via the doc Makefile.
+binfiles: $(GAME)
+ cp src/$(GAME) $(SHELLDIR)/$(GAME)$(GTYPE)
+ -( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(SHELLDIR)/$(GAME)$(GTYPE) ; \
+ $(CHGRP) $(GAMEGRP) $(SHELLDIR)/$(GAME)$(GTYPE) )
+ chmod $(GAMEPERM) $(SHELLDIR)/$(GAME)$(GTYPE)
# 'make clean' removes all the .o files, but leaves around all the executables
# and compiled data files