View | Details | Raw Unified | Return to bug 193206 | Differences between
and this patch

Collapse All | Expand All

(-)nethack34/Makefile (-35 / +39 lines)
Lines 9-16 Link Here
9
DISTNAME=	${PORTNAME}-${PORTVERSION:S/.//g}-src
9
DISTNAME=	${PORTNAME}-${PORTVERSION:S/.//g}-src
10
10
11
PATCH_SITES=	${MASTER_SITE_SOURCEFORGE_JP}
11
PATCH_SITES=	${MASTER_SITE_SOURCEFORGE_JP}
12
PATCH_SITE_SUBDIR=	jnethack/15876
12
PATCH_SITE_SUBDIR=	jnethack/58545
13
PATCHFILES=	jnethack-${PORTVERSION}-0.7.diff.gz
13
PATCHFILES=	jnethack-${PORTVERSION}-0.11.diff.gz
14
PATCH_DIST_STRIP=	-p1
14
PATCH_DIST_STRIP=	-p1
15
15
16
MAINTAINER=	ports@FreeBSD.org
16
MAINTAINER=	ports@FreeBSD.org
Lines 18-78 Link Here
18
18
19
WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
19
WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}
20
20
21
BROKEN=		Fails to build
21
USES=		gmake tar:tgz
22
23
USES=		bison gmake tar:tgz
24
MAKE_ENV=	GRAPHICS="${GRAPHICS}"
22
MAKE_ENV=	GRAPHICS="${GRAPHICS}"
25
PLIST_SUB=	HACKNAME="${HACKNAME}" \
23
PLIST_SUB=	HACKNAME="${HACKNAME}"
26
		HACKDIR="${HACKDIR}" \
24
27
		HACKDOCSDIR="${HACKDOCSDIR}"
25
MAKE_JOBS_UNSAFE=	yes
28
26
29
MAN6=		dgn_comp.6 dlb.6 lev_comp.6 nethack.6 recover.6
30
# Configure these variables as you want them to be.
27
# Configure these variables as you want them to be.
31
HACKNAME?=	jnethack
28
HACKNAME?=	jnethack
32
HACKDIR?=	lib/${HACKNAME}
29
HACKDIR?=	share/${HACKNAME}
33
HACKDOCSDIR?=	share/doc/ja/nethack
30
31
DATADIR=	${PREFIX}/${HACKDIR}
32
DOCSDIR=	${PREFIX}/share/doc/${HACKNAME}
33
PKGDEINSTALL=	${WRKDIR}/pkg-deinstall
34
35
OPTIONS_DEFINE=	DOCS X11 SHELL
36
OPTIONS_DEFAULT=X11 SHELL
37
38
SHELL_DESC=	Shell support
34
39
35
.if !defined(PKGNAMESUFFIX)
40
.include <bsd.port.options.mk>
41
42
.if ${PORT_OPTIONS:MX11}
36
USE_XORG=	xaw xpm
43
USE_XORG=	xaw xpm
37
GRAPHICS=	X11_GRAPHICS
44
GRAPHICS=	X11_GRAPHICS
38
.else
45
.else
39
.if ${PKGNAMESUFFIX} == "-nox11"
40
GRAPHICS=	# none
46
GRAPHICS=	# none
41
.endif
47
.endif
42
.endif
43
44
NO_STAGE=	yes
45
46
OPTIONS_DEFINE=	DOCS
47
48
.include <bsd.port.options.mk>
49
48
50
post-patch:
49
post-patch:
51
.for f in include/config.h sys/unix/Makefile.src sys/unix/Makefile.top
50
.for f in include/config.h sys/unix/Makefile.top sys/unix/Makefile.doc
52
	${REINPLACE_CMD} -e 's|%%HACKNAME%%|${HACKNAME}|g;s|%%HACKDIR%%|${PREFIX}/${HACKDIR}|g' ${WRKSRC}/${f}
51
	@${REINPLACE_CMD} -e 's|%%HACKNAME%%|${HACKNAME}|g' \
52
		-e 's|%%HACKDIR%%|${PREFIX}/${HACKDIR}|g' \
53
		${WRKSRC}/${f}
53
.endfor
54
.endfor
54
	${REINPLACE_CMD} -e 's|<regex.h>|<gnuregex.h>|g' ${WRKSRC}/src/sounds.c
55
	@${REINPLACE_CMD} -e 's|<malloc.h>|<stdlib.h>|g' ${WRKSRC}/win/Qt/qt_win.cpp
55
	${REINPLACE_CMD} -e 's|<malloc.h>|<stdlib.h>|g' ${WRKSRC}/win/Qt/qt_win.cpp
56
.if ! ${PORT_OPTIONS:MSHELL}
56
.if defined(WITHOUT_SHELL)
57
	@${REINPLACE_CMD} -e 's|#define SHELL|/* #define SHELL|' ${WRKSRC}/include/unixconf.h
57
	@${REINPLACE_CMD} -e 's|#define SHELL|/* #define SHELL|' ${WRKSRC}/include/unixconf.h
58
.endif
58
.endif
59
.if ! ${PORT_OPTIONS:MX11}
60
	@${REINPLACE_CMD} -e 's|# define XI18N|/* # define XI18N|' ${WRKSRC}/include/config.h
61
.endif
59
62
60
pre-configure:
63
do-configure:
61
	@cd ${WRKSRC}/sys/unix; ${SH} setup.sh
64
	@cd ${WRKSRC}/sys/unix; ${SH} setup.sh
62
65
66
pre-install:
67
	@${CAT} ${FILESDIR}/pkg-deinstall.in | ${SED} \
68
		-e 's|%%HACKDIR%%|${HACKDIR}|g' > ${PKGDEINSTALL}
69
63
post-install:
70
post-install:
64
# Makefile.top digs bin/lib somehow
71
	@cd ${WRKSRC}/doc; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} manpages
65
	${RMDIR} ${PREFIX}/bin/lib
66
.if ${PORT_OPTIONS:MDOCS}
72
.if ${PORT_OPTIONS:MDOCS}
67
	${MKDIR} ${PREFIX}/${HACKDOCSDIR}
73
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
74
.for i in Guidebook.txt jGuidebook.txt
75
	${INSTALL_DATA} ${WRKSRC}/doc/$i ${STAGEDIR}${DOCSDIR}
76
.endfor
68
.for i in README.j ChangeLog.j INSTALL.j
77
.for i in README.j ChangeLog.j INSTALL.j
69
	${INSTALL_DATA} ${WRKSRC}/$i ${PREFIX}/${HACKDOCSDIR}
78
	${INSTALL_DATA} ${WRKSRC}/$i ${STAGEDIR}${DOCSDIR}
70
.endfor
79
.endfor
71
.endif
80
.endif
72
	@cd ${WRKSRC}/doc; ${SETENV} ${MAKE_ENV} ${MAKE} manpages
73
.if ${PORT_OPTIONS:MDOCS}
74
	@${MKDIR} ${PREFIX}/${HACKDOCSDIR}
75
	${INSTALL_DATA} ${WRKSRC}/doc/Guidebook.txt ${PREFIX}/${HACKDOCSDIR}
76
.endif
77
81
78
.include <bsd.port.mk>
82
.include <bsd.port.mk>
(-)nethack34/distinfo (-2 / +2 lines)
Lines 1-4 Link Here
1
SHA256 (nethack-343-src.tgz) = bb39c3d2a9ee2df4a0c8fdde708fbc63740853a7608d2f4c560b488124866fe4
1
SHA256 (nethack-343-src.tgz) = bb39c3d2a9ee2df4a0c8fdde708fbc63740853a7608d2f4c560b488124866fe4
2
SIZE (nethack-343-src.tgz) = 3497458
2
SIZE (nethack-343-src.tgz) = 3497458
3
SHA256 (jnethack-3.4.3-0.7.diff.gz) = e686fea476d00c2f8461dcf3ea6cc9a013cd50d82389bc254177b33dc864c259
3
SHA256 (jnethack-3.4.3-0.11.diff.gz) = fbc071f6b33c53d89e8f13319ced952e605499a21d2086077296c631caff7389
4
SIZE (jnethack-3.4.3-0.7.diff.gz) = 925046
4
SIZE (jnethack-3.4.3-0.11.diff.gz) = 956624
(-)nethack34/files/patch-include-config.h (+11 lines)
Line 0 Link Here
1
--- include/config.h.orig	2014-08-28 15:09:32.000000000 +0900
2
+++ include/config.h	2014-08-28 15:10:15.000000000 +0900
3
@@ -219,7 +219,7 @@
4
  * otherwise it will be the current directory.
5
  */
6
 # ifndef HACKDIR
7
-#  define HACKDIR "/usr/games/lib/jnethackdir"
8
+#  define HACKDIR "%%HACKDIR%%"
9
 # endif
10
 
11
 /*
(-)nethack34/files/patch-include-system.h (+13 lines)
Line 0 Link Here
1
--- include/system.h.orig	2014-08-28 14:59:56.000000000 +0900
2
+++ include/system.h	2014-08-28 15:15:45.000000000 +0900
3
@@ -79,7 +79,9 @@
4
 # if !defined(__SC__) && !defined(LINUX)
5
 E  long NDECL(random);
6
 # endif
7
-# if (!defined(SUNOS4) && !defined(bsdi) && !defined(__FreeBSD__)) || defined(RANDOM)
8
+# if defined(__FreeBSD__)
9
+E void FDECL(srandom, (unsigned long));
10
+# elif (!defined(SUNOS4) && !defined(bsdi) && !defined(__FreeBSD__)) || defined(RANDOM)
11
 E void FDECL(srandom, (unsigned int));
12
 # else
13
 #  if !defined(bsdi) && !defined(__FreeBSD__)
(-)nethack34/files/patch-include-unixconf.h (+20 lines)
Line 0 Link Here
1
--- include/unixconf.h.orig	2014-08-28 14:59:56.000000000 +0900
2
+++ include/unixconf.h	2014-08-28 15:23:59.000000000 +0900
3
@@ -19,7 +19,7 @@
4
  */
5
 
6
 /* define exactly one of the following four choices */
7
-/* #define BSD 1 */	/* define for 4.n/Free/Open/Net BSD  */
8
+#define BSD 1		/* define for 4.n/Free/Open/Net BSD  */
9
 			/* also for relatives like SunOS 4.x, DG/UX, and */
10
 			/* older versions of Linux */
11
 /* #define ULTRIX */	/* define for Ultrix v3.0 or higher (but not lower) */
12
@@ -284,7 +284,7 @@
13
 #endif
14
 
15
 #if defined(BSD) || defined(ULTRIX)
16
-# if !defined(DGUX) && !defined(SUNOS4)
17
+# if !defined(DGUX) && !defined(SUNOS4) && !defined(__FreeBSD__)
18
 #define memcpy(d, s, n)		bcopy(s, d, n)
19
 #define memcmp(s1, s2, n)	bcmp(s2, s1, n)
20
 # endif
(-)nethack34/files/patch-sys-unix-Makefile.doc (+43 lines)
Line 0 Link Here
1
--- sys/unix/Makefile.doc.orig	2014-09-01 16:25:39.000000000 +0900
2
+++ sys/unix/Makefile.doc	2014-09-01 16:26:31.000000000 +0900
3
@@ -40,16 +40,16 @@
4
 	latex Guidebook.tex
5
 
6
 
7
-GAME	= nethack
8
-MANDIR	= /usr/local/man/man6
9
+GAME	= %%HACKNAME%%
10
+MANDIR	= ${PREFIX}/man/man
11
 MANEXT	= 6
12
 
13
 # manual installation for most BSD-style systems
14
-GAMEMANCREATE = cp nethack.6
15
-LEVMANCREATE = cp lev_comp.6
16
-DGNMANCREATE = cp dgn_comp.6
17
-RCVRMANCREATE = cp recover.6
18
-DLBMANCREATE = cp dlb.6
19
+GAMEMANCREATE = ${BSD_INSTALL_MAN} nethack.6
20
+LEVMANCREATE = ${BSD_INSTALL_MAN} lev_comp.6
21
+DGNMANCREATE = ${BSD_INSTALL_MAN} dgn_comp.6
22
+RCVRMANCREATE = ${BSD_INSTALL_MAN} recover.6
23
+DLBMANCREATE = ${BSD_INSTALL_MAN} dlb.6
24
 # manual installation for most SYSV-style systems
25
 # GAMEMANCREATE = nroff -man nethack.6 >
26
 # LEVMANCREATE = nroff -man lev_comp.6 >
27
@@ -58,11 +58,11 @@
28
 # DLBMANCREATE = nroff -man dlb.6 >
29
 
30
 manpages:
31
-	-$(GAMEMANCREATE) $(MANDIR)/$(GAME).$(MANEXT)
32
-	-$(LEVMANCREATE) $(MANDIR)/lev_comp.$(MANEXT)
33
-	-$(DGNMANCREATE) $(MANDIR)/dgn_comp.$(MANEXT)
34
-	-$(RCVRMANCREATE) $(MANDIR)/recover.$(MANEXT)
35
-	-$(DLBMANCREATE) $(MANDIR)/dlb.$(MANEXT)
36
+	-$(GAMEMANCREATE) ${DESTDIR}$(MANDIR)$(MANEXT)/$(GAME).$(MANEXT)
37
+	-$(LEVMANCREATE) ${DESTDIR}$(MANDIR)$(MANEXT)/lev_comp.$(MANEXT)
38
+	-$(DGNMANCREATE) ${DESTDIR}$(MANDIR)$(MANEXT)/dgn_comp.$(MANEXT)
39
+	-$(RCVRMANCREATE) ${DESTDIR}$(MANDIR)$(MANEXT)/recover.$(MANEXT)
40
+	-$(DLBMANCREATE) ${DESTDIR}$(MANDIR)$(MANEXT)/dlb.$(MANEXT)
41
 
42
 # manual creation for distribution
43
 DISTRIB = Guidebook.txt nethack.txt lev_comp.txt dgn_comp.txt recover.txt dlb.txt
(-)nethack34/files/patch-sys-unix-Makefile.src (+130 lines)
Line 0 Link Here
1
--- sys/unix/Makefile.src.orig	2014-08-26 22:41:21.000000000 +0900
2
+++ sys/unix/Makefile.src	2014-08-26 22:41:59.000000000 +0900
3
@@ -72,7 +72,7 @@
4
 #
5
 #	If you are using GCC 2.2.2 or higher on a DPX/2, just use:
6
 #
7
-CC = gcc
8
+#CC = gcc
9
 #
10
 #	For HP/UX 10.20 with GCC:
11
 # CC = gcc -D_POSIX_SOURCE
12
@@ -149,19 +149,29 @@
13
 # directories.  The ones given below is the usual spot for linux systems.
14
 # The paths are for glibconfig.h and gnomesupport.h respectively.
15
 #
16
-GNOMEINC=-I/usr/lib/glib/include -I/usr/lib/gnome-libs/include -I../win/gnome
17
+GNOMEINC= $(shell ${GNOME_CONFIG} --cflags gnomeui)
18
 
19
 # flags for debugging:
20
 # CFLAGS = -g -I../include
21
 
22
-CFLAGS = -W -g -O -I../include
23
+CFLAGS += -I../include
24
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
25
+CFLAGS += -DX11_GRAPHICS -I${LOCALBASE}/include
26
+endif
27
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
28
+CFLAGS += -DQT_GRAPHICS
29
+endif
30
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
31
+CFLAGS += -DGNOME_GRAPHICS ${CPPFLAGS}
32
+endif
33
+
34
 LFLAGS = 
35
 
36
 # The Qt and Be window systems are written in C++, while the rest of
37
 # NetHack is standard C.  If using Qt, uncomment the LINK line here to get
38
 # the C++ libraries linked in.
39
-CXXFLAGS = $(CFLAGS) -I. -I$(QTDIR)/include
40
-CXX=g++
41
+CXXFLAGS += -I. -I../include ${QTCPPFLAGS}
42
+#CXX=g++
43
 #LINK=g++
44
 #	For cross-compiling, eg. with gcc on Linux (see also CC further up):
45
 #CXX=arm-linux-g++
46
@@ -228,8 +238,27 @@
47
 #
48
 #
49
 WINSRC = $(WINTTYSRC)
50
-WINOBJ = $(WINTTYOBJ)
51
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
52
+WINSRC += $(WINX11SRC)
53
+endif
54
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
55
+WINSRC += $(WINQTSRC)
56
+endif
57
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
58
+WINSRC += $(WINGNOMESRC)
59
+endif
60
 
61
+WINOBJ = $(WINTTYOBJ)
62
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
63
+WINOBJ += $(WINX11OBJ)
64
+endif
65
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
66
+WINOBJ += $(WINQTOBJ)
67
+endif
68
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
69
+WINOBJ += $(WINGNOMEOBJ)
70
+endif
71
+ 
72
 # on some systems the termcap library is in -ltermcap or -lcurses
73
 # on 386 Xenix, the -ltermlib tputs() seems not to work; use -lcurses instead
74
 # Sysatt uses shared library in lieu of this option
75
@@ -248,19 +277,19 @@
76
 #
77
 # libraries for X11
78
 # If USE_XPM is defined in config.h, you will also need -lXpm here.
79
-WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11
80
+WINX11LIB = -lXaw -lXmu -lXpm -lXext -lXt -lX11 -lSM -lICE -L${LOCALBASE}/lib
81
 # WINX11LIB = -lXaw -lXmu -lXt -lX11
82
 # WINX11LIB = -lXaw -lXmu -lXext -lXt -lXpm -lX11 -lm
83
 # WINX11LIB = -lXaw -lXmu -lXpm -lXext -lXt -lX11 -lSM -lICE -lm # BSD/OS 2.0
84
 #
85
 # libraries for Qt
86
-WINQTLIB = -L$(QTDIR)/lib -lqt
87
+WINQTLIB = ${QTCFGLIBS} ${LIBQT}
88
 #
89
 # libraries for KDE (with Qt)
90
 WINKDELIB = -lkdecore -lkdeui -lXext
91
 #
92
 # libraries for Gnome
93
-WINGNOMELIB = -lgnomeui -lgnome -lart_lgpl -lgtk -lgdk -lpopt
94
+WINGNOMELIB = $(shell ${GNOME_CONFIG} --libs gnomeui) ${LDFLAGS}
95
 #
96
 # libraries for Gem port
97
 WINGEMLIB = -le_gem -lgem
98
@@ -269,6 +298,15 @@
99
 WINBELIB = -lbe
100
 
101
 WINLIB = $(WINTTYLIB)
102
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
103
+WINLIB += $(WINX11LIB)
104
+endif
105
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
106
+WINLIB += $(WINQTLIB)
107
+endif
108
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
109
+WINLIB += $(WINGNOMELIB)
110
+endif
111
 
112
 # any other strange libraries your system needs (for Sysunix only -- the more
113
 # specialized targets should already be right)
114
@@ -478,13 +516,13 @@
115
 
116
 # Qt windowport meta-object-compiler output
117
 qt_kde0.moc: ../include/qt_kde0.h
118
-	$(QTDIR)/bin/moc -o qt_kde0.moc ../include/qt_kde0.h
119
+	${MOC} -o qt_kde0.moc ../include/qt_kde0.h
120
 
121
 qt_win.moc: ../include/qt_win.h
122
-	$(QTDIR)/bin/moc -o qt_win.moc ../include/qt_win.h
123
+	${MOC} -o qt_win.moc ../include/qt_win.h
124
 
125
 qttableview.moc: ../include/qttableview.h
126
-	$(QTDIR)/bin/moc -o qttableview.moc ../include/qttableview.h
127
+	${MOC} -o qttableview.moc ../include/qttableview.h
128
 
129
 $(MAKEDEFS): ../util/makedefs.c  $(CONFIG_H) ../include/permonst.h \
130
 		../include/objclass.h ../include/monsym.h \
(-)nethack34/files/patch-sys-unix-Makefile.top (+140 lines)
Line 0 Link Here
1
--- sys/unix/Makefile.top.orig	2014-09-01 22:34:32.000000000 +0900
2
+++ sys/unix/Makefile.top	2014-09-01 22:36:34.000000000 +0900
3
@@ -14,7 +14,6 @@
4
 # MAKE = make
5
 
6
 # make NetHack
7
-PREFIX	 = /usr
8
 GAME     = jnethack
9
 # GAME     = nethack.prg
10
 GAMEUID  = games
11
@@ -22,10 +21,10 @@
12
 
13
 # Permissions - some places use setgid instead of setuid, for instance
14
 # See also the option "SECURE" in include/config.h
15
-GAMEPERM = 04755
16
-FILEPERM = 0644
17
+GAMEPERM = 02755
18
+FILEPERM = 0664
19
 EXEPERM  = 0755
20
-DIRPERM  = 0755
21
+DIRPERM  = 0775
22
 
23
 # GAMEDIR also appears in config.h as "HACKDIR".
24
 # VARDIR may also appear in unixconf.h as "VAR_PLAYGROUND" else GAMEDIR
25
@@ -35,12 +34,12 @@
26
 # therefore there should not be anything in GAMEDIR that you want to keep
27
 # (if there is, you'll have to do the installation by hand or modify the
28
 # instructions)
29
-GAMEDIR  = $(PREFIX)/games/lib/$(GAME)dir
30
+GAMEDIR  = ${PREFIX}/share/jnethack
31
 VARDIR  = $(GAMEDIR)
32
-SHELLDIR = $(PREFIX)/games
33
+SHELLDIR = $(PREFIX)/bin
34
 
35
 # per discussion in Install.X11 and Install.Qt
36
-VARDATND = 
37
+# VARDATND = 
38
 # VARDATND = x11tiles NetHack.ad pet_mark.xbm
39
 # VARDATND = x11tiles NetHack.ad pet_mark.xbm rip.xpm
40
 # for Atari/Gem
41
@@ -48,7 +47,7 @@
42
 # for BeOS
43
 # VARDATND = beostiles
44
 # for Gnome
45
-# VARDATND = x11tiles pet_mark.xbm rip.xpm mapbg.xpm
46
+VARDATND = x11tiles pet_mark.xbm rip.xpm mapbg.xpm
47
 
48
 VARDATD = data joracles options quest.dat jrumors
49
 VARDAT = $(VARDATD) $(VARDATND)
50
@@ -185,55 +184,38 @@
51
 		-e '}' 					\
52
 	  	-e '$$s/.*/nodlb/p' < dat/options` ;	\
53
 	$(MAKE) dofiles-$${target-nodlb}
54
-	cp src/$(GAME) $(GAMEDIR)
55
-	cp util/recover $(GAMEDIR)
56
-	-rm -f $(SHELLDIR)/$(GAME)
57
+	${BSD_INSTALL_PROGRAM} src/$(GAME) ${DESTDIR}$(GAMEDIR)
58
+	${BSD_INSTALL_PROGRAM} util/recover ${DESTDIR}$(GAMEDIR)
59
+	-rm -f ${DESTDIR}$(SHELLDIR)/$(GAME)
60
 	sed -e 's;/usr/games/lib/nethackdir;$(GAMEDIR);' \
61
 		-e 's;HACKDIR/nethack;HACKDIR/$(GAME);' \
62
 		< sys/unix/nethack.sh \
63
-		> $(SHELLDIR)/$(GAME)
64
-# set up their permissions
65
-	-( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(GAME) recover ; \
66
-			$(CHGRP) $(GAMEGRP) $(GAME) recover )
67
-	chmod $(GAMEPERM) $(GAMEDIR)/$(GAME)
68
-	chmod $(EXEPERM) $(GAMEDIR)/recover
69
-	-$(CHOWN) $(GAMEUID) $(SHELLDIR)/$(GAME)
70
-	$(CHGRP) $(GAMEGRP) $(SHELLDIR)/$(GAME)
71
-	chmod $(EXEPERM) $(SHELLDIR)/$(GAME)
72
+		> ${DESTDIR}$(SHELLDIR)/$(GAME)
73
 
74
 dofiles-dlb: check-dlb
75
-	( cd dat ; cp nhdat $(DATNODLB) $(GAMEDIR) )
76
+	( cd dat ; cp nhdat $(DATNODLB) ${DESTDIR}$(GAMEDIR) )
77
 #	( cd win/X11 ; cp JNetHack.ad $(GAMEDIR)/JNetHack )
78
 #	( cd win/gtk ; cp GTKRC $(GAMEDIR)/gtkrc )
79
 #	( bdftopcf win/X11/nh10.bdf > $(GAMEDIR)/nh10.pcf ; mkfontdir $(GAMEDIR))
80
-# set up their permissions
81
-	-( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \
82
-			$(CHGRP) $(GAMEGRP) nhdat $(DATNODLB) ; \
83
-			chmod $(FILEPERM) nhdat $(DATNODLB) )
84
 
85
 dofiles-nodlb:
86
 # copy over the game files
87
-	( cd dat ; cp $(DAT) $(GAMEDIR) )
88
+	( cd dat ; cp $(DAT) ${DESTDIR}$(GAMEDIR) )
89
 #	( cd win/X11 ; cp JNetHack.ad $(GAMEDIR)/JNetHack )
90
 #	( cd win/gtk ; cp GTKRC $(GAMEDIR)/gtkrc )
91
 #	( bdftopcf win/X11/nh10.bdf > $(GAMEDIR)/nh10.pcf ; mkfontdir $(GAMEDIR))
92
-# set up their permissions
93
-	-( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(DAT) ; \
94
-			$(CHGRP) $(GAMEGRP) $(DAT) ; \
95
-			chmod $(FILEPERM) $(DAT) )
96
 
97
 update: $(GAME) recover $(VARDAT) dungeon spec_levs
98
 #	(don't yank the old version out from under people who're playing it)
99
-	-mv $(GAMEDIR)/$(GAME) $(GAMEDIR)/$(GAME).old
100
+	-mv ${DESTDIR}$(GAMEDIR)/$(GAME) ${DESTDIR}$(GAMEDIR)/$(GAME).old
101
 #	quest.dat is also kept open and has the same problems over NFS
102
 #	(quest.dat may be inside nhdat if dlb is in use)
103
-	-mv $(GAMEDIR)/quest.dat $(GAMEDIR)/quest.dat.old
104
-	-mv $(GAMEDIR)/nhdat $(GAMEDIR)/nhdat.old
105
+	-mv ${DESTDIR}$(GAMEDIR)/quest.dat ${DESTDIR}$(GAMEDIR)/quest.dat.old
106
+	-mv ${DESTDIR}$(GAMEDIR)/nhdat ${DESTDIR}$(GAMEDIR)/nhdat.old
107
 # set up new versions of the game files
108
 	( $(MAKE) dofiles )
109
 # touch time-sensitive files
110
 	-touch -c $(VARDIR)/bones* $(VARDIR)/?lock* $(VARDIR)/wizard*
111
-	-touch -c $(VARDIR)/save/*
112
 	touch $(VARDIR)/perm $(VARDIR)/record
113
 # and a reminder
114
 	@echo You may also want to install the man pages via the doc Makefile.
115
@@ -241,20 +223,15 @@
116
 install: $(GAME) recover $(VARDAT) dungeon spec_levs
117
 # set up the directories
118
 # not all mkdirs have -p; those that don't will create a -p directory
119
-	-mkdir -p $(SHELLDIR)
120
-	-rm -rf $(GAMEDIR) $(VARDIR)
121
-	-mkdir -p $(SHELLDIR)/lib $(GAMEDIR) $(VARDIR) $(VARDIR)/save
122
+	-mkdir -p ${DESTDIR}$(SHELLDIR)
123
+	-rm -rf ${DESTDIR}$(GAMEDIR) ${DESTDIR}$(VARDIR)
124
+	-mkdir -p ${DESTDIR}$(GAMEDIR) ${DESTDIR}$(VARDIR) ${DESTDIR}$(VARDIR)/save
125
 	-rmdir ./-p
126
-	-$(CHOWN) $(GAMEUID) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
127
-	$(CHGRP) $(GAMEGRP) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
128
-	chmod $(DIRPERM) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
129
+	-chmod $(DIRPERM) ${DESTDIR}$(GAMEDIR) ${DESTDIR}$(VARDIR) ${DESTDIR}$(VARDIR)/save
130
 # set up the game files
131
 	( $(MAKE) dofiles )
132
 # set up some additional files
133
-	touch $(VARDIR)/perm $(VARDIR)/record $(VARDIR)/logfile
134
-	-( cd $(VARDIR) ; $(CHOWN) $(GAMEUID) perm record logfile ; \
135
-			$(CHGRP) $(GAMEGRP) perm record logfile ; \
136
-			chmod $(FILEPERM) perm record logfile )
137
+	touch ${DESTDIR}$(VARDIR)/perm ${DESTDIR}$(VARDIR)/record ${DESTDIR}$(VARDIR)/logfile
138
 # and a reminder
139
 	@echo You may also want to reinstall the man pages via the doc Makefile.
140
 
(-)nethack34/files/patch-sys-unix-Makefile.utl (+42 lines)
Line 0 Link Here
1
--- sys/unix/Makefile.utl.orig	2014-08-27 14:21:34.000000000 +0900
2
+++ sys/unix/Makefile.utl	2014-08-27 15:19:11.000000000 +0900
3
@@ -15,7 +15,7 @@
4
 
5
 # if you are using gcc as your compiler,
6
 #	uncomment the CC definition below if it's not in your environment
7
-CC = gcc
8
+#CC = gcc
9
 #
10
 #	For Bull DPX/2 systems at B.O.S. 2.0 or higher use the following:
11
 #
12
@@ -89,7 +89,17 @@
13
 # flags for debugging:
14
 # CFLAGS = -g -I../include
15
 
16
-CFLAGS = -O -I../include
17
+CFLAGS += -I../include
18
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
19
+CFLAGS += -DX11_GRAPHICS
20
+endif
21
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
22
+CFLAGS += -DQT_GRAPHICS
23
+endif
24
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
25
+CFLAGS += -DGNOME_GRAPHICS
26
+endif
27
+
28
 LFLAGS =
29
 
30
 LIBS =
31
@@ -101,9 +111,9 @@
32
 
33
 # yacc/lex programs to use to generate *_comp.h, *_lex.c, and *_yacc.c.
34
 # if, instead of yacc/lex you have bison/flex, comment/uncomment the following.
35
-# YACC     = yacc
36
+YACC     = yacc
37
 # LEX      = lex
38
-YACC     = bison -y
39
+# YACC     = bison -y
40
 # YACC     = byacc
41
 LEX      = flex -8
42
  
(-)nethack34/files/pkg-deinstall.in (+14 lines)
Line 0 Link Here
1
#!/bin/sh
2
3
if [ "${2}" = "POST-DEINSTALL" ]; then
4
	if [ -d "${PKG_PREFIX}/%%HACKDIR%%" ]; then
5
		echo
6
		echo "The ${1} save files have not been removed."
7
		echo
8
		echo "If you are deleting ${1} permanently then you can "
9
		echo "remove the save files with the command:"
10
		echo
11
		echo "	rm -rf ${PKG_PREFIX}/%%HACKDIR%%"
12
		echo
13
	fi
14
fi
(-)nethack34/pkg-plist (-148 / +162 lines)
Lines 1-151 Link Here
1
@mode 555
1
bin/%%HACKNAME%%
2
bin/%%HACKNAME%%
2
%%HACKDIR%%/%%HACKNAME%%
3
@owner games
3
@exec mkdir %D/%%HACKDIR%%/save
4
@group games
4
@exec chmod -R 775 %D/%%HACKDIR%%
5
@mode 02755
5
@exec chmod 2755 %D/%%HACKDIR%%/%%HACKNAME%%
6
%%DATADIR%%/%%HACKNAME%%
6
@exec chown games:games %D/%%HACKDIR%%/save
7
@mode
7
@dirrmtry %%HACKDIR%%/save
8
%%DATADIR%%/Arc-fila.lev
8
%%HACKDIR%%/Arc-fila.lev
9
%%DATADIR%%/Arc-filb.lev
9
%%HACKDIR%%/Arc-filb.lev
10
%%DATADIR%%/Arc-goal.lev
10
%%HACKDIR%%/Arc-goal.lev
11
%%DATADIR%%/Arc-loca.lev
11
%%HACKDIR%%/Arc-loca.lev
12
%%DATADIR%%/Arc-strt.lev
12
%%HACKDIR%%/Arc-strt.lev
13
%%DATADIR%%/Bar-fila.lev
13
%%HACKDIR%%/Bar-fila.lev
14
%%DATADIR%%/Bar-filb.lev
14
%%HACKDIR%%/Bar-filb.lev
15
%%DATADIR%%/Bar-goal.lev
15
%%HACKDIR%%/Bar-goal.lev
16
%%DATADIR%%/Bar-loca.lev
16
%%HACKDIR%%/Bar-loca.lev
17
%%DATADIR%%/Bar-strt.lev
17
%%HACKDIR%%/Bar-strt.lev
18
%%DATADIR%%/Cav-fila.lev
18
%%HACKDIR%%/Cav-fila.lev
19
%%DATADIR%%/Cav-filb.lev
19
%%HACKDIR%%/Cav-filb.lev
20
%%DATADIR%%/Cav-goal.lev
20
%%HACKDIR%%/Cav-goal.lev
21
%%DATADIR%%/Cav-loca.lev
21
%%HACKDIR%%/Cav-loca.lev
22
%%DATADIR%%/Cav-strt.lev
22
%%HACKDIR%%/Cav-strt.lev
23
%%DATADIR%%/Hea-fila.lev
23
%%HACKDIR%%/Hea-fila.lev
24
%%DATADIR%%/Hea-filb.lev
24
%%HACKDIR%%/Hea-filb.lev
25
%%DATADIR%%/Hea-goal.lev
25
%%HACKDIR%%/Hea-goal.lev
26
%%DATADIR%%/Hea-loca.lev
26
%%HACKDIR%%/Hea-loca.lev
27
%%DATADIR%%/Hea-strt.lev
27
%%HACKDIR%%/Hea-strt.lev
28
%%DATADIR%%/Kni-fila.lev
28
%%HACKDIR%%/Kni-fila.lev
29
%%DATADIR%%/Kni-filb.lev
29
%%HACKDIR%%/Kni-filb.lev
30
%%DATADIR%%/Kni-goal.lev
30
%%HACKDIR%%/Kni-goal.lev
31
%%DATADIR%%/Kni-loca.lev
31
%%HACKDIR%%/Kni-loca.lev
32
%%DATADIR%%/Kni-strt.lev
32
%%HACKDIR%%/Kni-strt.lev
33
%%DATADIR%%/Mon-fila.lev
33
%%HACKDIR%%/Mon-fila.lev
34
%%DATADIR%%/Mon-filb.lev
34
%%HACKDIR%%/Mon-filb.lev
35
%%DATADIR%%/Mon-goal.lev
35
%%HACKDIR%%/Mon-goal.lev
36
%%DATADIR%%/Mon-loca.lev
36
%%HACKDIR%%/Mon-loca.lev
37
%%DATADIR%%/Mon-strt.lev
37
%%HACKDIR%%/Mon-strt.lev
38
%%DATADIR%%/Pri-fila.lev
38
%%HACKDIR%%/Pri-fila.lev
39
%%DATADIR%%/Pri-filb.lev
39
%%HACKDIR%%/Pri-filb.lev
40
%%DATADIR%%/Pri-goal.lev
40
%%HACKDIR%%/Pri-goal.lev
41
%%DATADIR%%/Pri-loca.lev
41
%%HACKDIR%%/Pri-loca.lev
42
%%DATADIR%%/Pri-strt.lev
42
%%HACKDIR%%/Pri-strt.lev
43
%%DATADIR%%/Ran-fila.lev
43
%%HACKDIR%%/Ran-fila.lev
44
%%DATADIR%%/Ran-filb.lev
44
%%HACKDIR%%/Ran-filb.lev
45
%%DATADIR%%/Ran-goal.lev
45
%%HACKDIR%%/Ran-goal.lev
46
%%DATADIR%%/Ran-loca.lev
46
%%HACKDIR%%/Ran-loca.lev
47
%%DATADIR%%/Ran-strt.lev
47
%%HACKDIR%%/Ran-strt.lev
48
%%DATADIR%%/Rog-fila.lev
48
%%HACKDIR%%/Rog-fila.lev
49
%%DATADIR%%/Rog-filb.lev
49
%%HACKDIR%%/Rog-filb.lev
50
%%DATADIR%%/Rog-goal.lev
50
%%HACKDIR%%/Rog-goal.lev
51
%%DATADIR%%/Rog-loca.lev
51
%%HACKDIR%%/Rog-loca.lev
52
%%DATADIR%%/Rog-strt.lev
52
%%HACKDIR%%/Rog-strt.lev
53
%%DATADIR%%/Sam-fila.lev
53
%%HACKDIR%%/Sam-fila.lev
54
%%DATADIR%%/Sam-filb.lev
54
%%HACKDIR%%/Sam-filb.lev
55
%%DATADIR%%/Sam-goal.lev
55
%%HACKDIR%%/Sam-goal.lev
56
%%DATADIR%%/Sam-loca.lev
56
%%HACKDIR%%/Sam-loca.lev
57
%%DATADIR%%/Sam-strt.lev
57
%%HACKDIR%%/Sam-strt.lev
58
%%DATADIR%%/Tou-fila.lev
58
%%HACKDIR%%/Tou-fila.lev
59
%%DATADIR%%/Tou-filb.lev
59
%%HACKDIR%%/Tou-filb.lev
60
%%DATADIR%%/Tou-goal.lev
60
%%HACKDIR%%/Tou-goal.lev
61
%%DATADIR%%/Tou-loca.lev
61
%%HACKDIR%%/Tou-loca.lev
62
%%DATADIR%%/Tou-strt.lev
62
%%HACKDIR%%/Tou-strt.lev
63
%%DATADIR%%/Val-fila.lev
63
%%HACKDIR%%/Val-fila.lev
64
%%DATADIR%%/Val-filb.lev
64
%%HACKDIR%%/Val-filb.lev
65
%%DATADIR%%/Val-goal.lev
65
%%HACKDIR%%/Val-goal.lev
66
%%DATADIR%%/Val-loca.lev
66
%%HACKDIR%%/Val-loca.lev
67
%%DATADIR%%/Val-strt.lev
67
%%HACKDIR%%/Val-strt.lev
68
%%DATADIR%%/Wiz-fila.lev
68
%%HACKDIR%%/Wiz-fila.lev
69
%%DATADIR%%/Wiz-filb.lev
69
%%HACKDIR%%/Wiz-filb.lev
70
%%DATADIR%%/Wiz-goal.lev
70
%%HACKDIR%%/Wiz-goal.lev
71
%%DATADIR%%/Wiz-loca.lev
71
%%HACKDIR%%/Wiz-loca.lev
72
%%DATADIR%%/Wiz-strt.lev
72
%%HACKDIR%%/Wiz-strt.lev
73
%%DATADIR%%/air.lev
73
%%HACKDIR%%/air.lev
74
%%DATADIR%%/asmodeus.lev
74
%%HACKDIR%%/asmodeus.lev
75
%%DATADIR%%/astral.lev
75
%%HACKDIR%%/astral.lev
76
%%DATADIR%%/baalz.lev
76
%%HACKDIR%%/baalz.lev
77
%%DATADIR%%/bigrm-1.lev
77
%%HACKDIR%%/bigrm-1.lev
78
%%DATADIR%%/bigrm-2.lev
78
%%HACKDIR%%/bigrm-2.lev
79
%%DATADIR%%/bigrm-3.lev
79
%%HACKDIR%%/bigrm-3.lev
80
%%DATADIR%%/bigrm-4.lev
80
%%HACKDIR%%/bigrm-4.lev
81
%%DATADIR%%/bigrm-5.lev
81
%%HACKDIR%%/bigrm-5.lev
82
%%DATADIR%%/castle.lev
82
%%HACKDIR%%/castle.lev
83
%%DATADIR%%/data
83
%%HACKDIR%%/data
84
%%DATADIR%%/dungeon
84
%%HACKDIR%%/dungeon
85
%%DATADIR%%/earth.lev
85
%%HACKDIR%%/earth.lev
86
%%DATADIR%%/fakewiz1.lev
86
%%HACKDIR%%/fakewiz1.lev
87
%%DATADIR%%/fakewiz2.lev
87
%%HACKDIR%%/fakewiz2.lev
88
%%DATADIR%%/fire.lev
88
%%HACKDIR%%/fire.lev
89
%%DATADIR%%/jcmdhelp
89
%%HACKDIR%%/jcmdhelp
90
%%DATADIR%%/jhelp
90
%%HACKDIR%%/jhelp
91
%%DATADIR%%/jhh
91
%%HACKDIR%%/jhh
92
%%DATADIR%%/jhistory
92
%%HACKDIR%%/jhistory
93
%%DATADIR%%/jopthelp
93
%%HACKDIR%%/jopthelp
94
%%DATADIR%%/joracles
94
%%HACKDIR%%/joracles
95
%%DATADIR%%/jrumors
95
%%HACKDIR%%/jrumors
96
%%DATADIR%%/juiblex.lev
96
%%HACKDIR%%/juiblex.lev
97
%%DATADIR%%/jwizhelp
97
%%HACKDIR%%/jwizhelp
98
%%DATADIR%%/knox.lev
98
%%HACKDIR%%/knox.lev
99
%%DATADIR%%/license
99
%%HACKDIR%%/license
100
@mode 664
100
%%HACKDIR%%/mapbg.xpm
101
%%DATADIR%%/logfile
101
%%HACKDIR%%/medusa-1.lev
102
@mode
102
%%HACKDIR%%/medusa-2.lev
103
%%DATADIR%%/mapbg.xpm
103
%%HACKDIR%%/minefill.lev
104
%%DATADIR%%/medusa-1.lev
104
%%HACKDIR%%/minend-1.lev
105
%%DATADIR%%/medusa-2.lev
105
%%HACKDIR%%/minend-2.lev
106
%%DATADIR%%/minefill.lev
106
%%HACKDIR%%/minend-3.lev
107
%%DATADIR%%/minend-1.lev
107
%%HACKDIR%%/minetn-1.lev
108
%%DATADIR%%/minend-2.lev
108
%%HACKDIR%%/minetn-2.lev
109
%%DATADIR%%/minend-3.lev
109
%%HACKDIR%%/minetn-3.lev
110
%%DATADIR%%/minetn-1.lev
110
%%HACKDIR%%/minetn-4.lev
111
%%DATADIR%%/minetn-2.lev
111
%%HACKDIR%%/minetn-5.lev
112
%%DATADIR%%/minetn-3.lev
112
%%HACKDIR%%/minetn-6.lev
113
%%DATADIR%%/minetn-4.lev
113
%%HACKDIR%%/minetn-7.lev
114
%%DATADIR%%/minetn-5.lev
114
%%HACKDIR%%/options
115
%%DATADIR%%/minetn-6.lev
115
%%HACKDIR%%/oracle.lev
116
%%DATADIR%%/minetn-7.lev
116
%%HACKDIR%%/orcus.lev
117
%%DATADIR%%/options
117
%%HACKDIR%%/pet_mark.xbm
118
%%DATADIR%%/oracle.lev
118
%%HACKDIR%%/quest.dat
119
%%DATADIR%%/orcus.lev
119
%%HACKDIR%%/recover
120
%%DATADIR%%/perm
120
%%HACKDIR%%/rip.xpm
121
%%DATADIR%%/pet_mark.xbm
121
%%HACKDIR%%/sanctum.lev
122
%%DATADIR%%/quest.dat
122
%%HACKDIR%%/soko1-1.lev
123
%%HACKDIR%%/soko1-2.lev
124
%%HACKDIR%%/soko2-1.lev
125
%%HACKDIR%%/soko2-2.lev
126
%%HACKDIR%%/soko3-1.lev
127
%%HACKDIR%%/soko3-2.lev
128
%%HACKDIR%%/soko4-1.lev
129
%%HACKDIR%%/soko4-2.lev
130
%%HACKDIR%%/tower1.lev
131
%%HACKDIR%%/tower2.lev
132
%%HACKDIR%%/tower3.lev
133
%%HACKDIR%%/valley.lev
134
%%HACKDIR%%/water.lev
135
%%HACKDIR%%/wizard1.lev
136
%%HACKDIR%%/wizard2.lev
137
%%HACKDIR%%/wizard3.lev
138
%%HACKDIR%%/x11tiles
139
@mode 664
123
@mode 664
140
%%HACKDIR%%/perm
124
%%DATADIR%%/record
125
@mode
126
@mode 02755
127
%%DATADIR%%/recover
128
@mode
129
%%DATADIR%%/rip.xpm
130
%%DATADIR%%/sanctum.lev
131
%%DATADIR%%/soko1-1.lev
132
%%DATADIR%%/soko1-2.lev
133
%%DATADIR%%/soko2-1.lev
134
%%DATADIR%%/soko2-2.lev
135
%%DATADIR%%/soko3-1.lev
136
%%DATADIR%%/soko3-2.lev
137
%%DATADIR%%/soko4-1.lev
138
%%DATADIR%%/soko4-2.lev
139
%%DATADIR%%/tower1.lev
140
%%DATADIR%%/tower2.lev
141
%%DATADIR%%/tower3.lev
142
%%DATADIR%%/valley.lev
143
%%DATADIR%%/water.lev
144
%%DATADIR%%/wizard1.lev
145
%%DATADIR%%/wizard2.lev
146
%%DATADIR%%/wizard3.lev
147
%%DATADIR%%/x11tiles
141
@mode
148
@mode
142
@unexec [ -s %D/%%HACKDIR%%/logfile ] || rm -f %D/%%HACKDIR%%/logfile
149
@owner
143
@exec touch %D/%%HACKDIR%%/logfile && chmod 664 %D/%%HACKDIR%%/logfile
150
@group
144
@unexec [ -s %D/%%HACKDIR%%/record ] || rm -f %D/%%HACKDIR%%/record
151
man/man6/dgn_comp.6.gz
145
@exec touch %D/%%HACKDIR%%/record && chmod 664 %D/%%HACKDIR%%/record
152
man/man6/dlb.6.gz
146
@dirrm %%HACKDIR%%
153
man/man6/lev_comp.6.gz
147
%%PORTDOCS%%%%HACKDOCSDIR%%/Guidebook.txt
154
man/man6/%%HACKNAME%%.6.gz
148
%%PORTDOCS%%%%HACKDOCSDIR%%/ChangeLog.j
155
man/man6/recover.6.gz
149
%%PORTDOCS%%%%HACKDOCSDIR%%/INSTALL.j
156
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog.j
150
%%PORTDOCS%%%%HACKDOCSDIR%%/README.j
157
%%PORTDOCS%%%%DOCSDIR%%/Guidebook.txt
151
%%PORTDOCS%%@dirrm %%HACKDOCSDIR%%
158
%%PORTDOCS%%%%DOCSDIR%%/INSTALL.j
159
%%PORTDOCS%%%%DOCSDIR%%/README.j
160
%%PORTDOCS%%%%DOCSDIR%%/jGuidebook.txt
161
@exec chown games:games %D/%%DATADIR%%/save %D/%%DATADIR%% 
162
@exec chmod 0775 %D/%%DATADIR%%/save %D/%%DATADIR%% 
163
@dirrmtry %%DATADIR%%/save
164
@dirrmtry %%DATADIR%%
165
%%PORTDOCS%%@dirrm %%DOCSDIR%%

Return to bug 193206