summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKris Kennaway <kris@FreeBSD.org>2001-08-24 10:52:28 +0000
committerKris Kennaway <kris@FreeBSD.org>2001-08-24 10:52:28 +0000
commitbe2dc01b73670347ebc0a94ae7ea205eb6cac27f (patch)
treead9976c45f7ac5710aad3d526fb975bd2ad64a81
parentUpgrade to 0.1.7 (diff)
Add falconseye 1.9.3, a roguelike game heavily based on nethack.
If you've ever wondered what NetHack would be like with sound effects, a MIDI soundtrack, a GUI and isometric dungeon interface a la Diablo, here's your chance. Obtained from: OpenBSD (after unsmoking much crack)
Notes
Notes: svn path=/head/; revision=46776
-rw-r--r--games/Makefile1
-rw-r--r--games/falconseye/Makefile43
-rw-r--r--games/falconseye/distinfo1
-rw-r--r--games/falconseye/files/patch-include_config_h44
-rw-r--r--games/falconseye/files/patch-include_system_h27
-rw-r--r--games/falconseye/files/patch-include_unixconf_h60
-rw-r--r--games/falconseye/files/patch-sys_unix_Makefile_doc24
-rw-r--r--games/falconseye/files/patch-sys_unix_Makefile_src96
-rw-r--r--games/falconseye/files/patch-sys_unix_Makefile_top81
-rw-r--r--games/falconseye/files/patch-sys_unix_Makefile_utl20
-rw-r--r--games/falconseye/files/patch-sys_unix_nethack_sh19
-rw-r--r--games/falconseye/files/patch-sys_unix_unixunix_c12
-rw-r--r--games/falconseye/files/patch-win_Qt_qt_win_cpp12
-rw-r--r--games/falconseye/files/patch-win_jtp_gamedata_config_jtp_keys_txt32
-rw-r--r--games/falconseye/files/patch-win_jtp_gamedata_config_jtp_opts_txt20
-rw-r--r--games/falconseye/files/patch-win_jtp_jtp_win_c47
-rw-r--r--games/falconseye/files/substitute6
-rw-r--r--games/falconseye/files/x-config7
-rw-r--r--games/falconseye/pkg-comment1
-rw-r--r--games/falconseye/pkg-descr9
-rw-r--r--games/falconseye/pkg-plist274
21 files changed, 836 insertions, 0 deletions
diff --git a/games/Makefile b/games/Makefile
index f5ca526f84c6..96b52b13ff94 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -67,6 +67,7 @@
SUBDIR += dungeon
SUBDIR += eboard
SUBDIR += empire
+ SUBDIR += falconseye
SUBDIR += fkiss
SUBDIR += flightgear
SUBDIR += flying
diff --git a/games/falconseye/Makefile b/games/falconseye/Makefile
new file mode 100644
index 000000000000..bd0c0c566fda
--- /dev/null
+++ b/games/falconseye/Makefile
@@ -0,0 +1,43 @@
+# Ports collection makefile for: falconseye
+# Date created: 23 Aug 2001
+# Whom: Kris Kennaway <kris@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= falconseye
+PORTVERSION= 1.9.3
+CATEGORIES= games
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= falconseye
+DISTNAME= nethack_source_331_jtp_${PORTVERSION:S/.//g}
+
+MAINTAINER= kris@FreeBSD.org
+
+LIB_DEPENDS= SDL-1.1.3:${PORTSDIR}/devel/sdl12
+RUN_DEPENDS= timidity:${PORTSDIR}/audio/timidity
+
+NHDIR= "${PREFIX}/share/falconseyedir"
+MAKE_ENV= NHDIR="${NHDIR}" NETHACKCONFIG="${NETHACKCONFIG}"
+NETHACKCONFIG= ${FILESDIR}/x-config
+USE_X_PREFIX= Yes
+USE_ZIP= yes
+MAKE_ENV+= CFLAGS="${CFLAGS} -I${X11BASE}/include -I${LOCALBASE}/include -L${X11BASE}/lib -L${LOCALBASE}/lib -I${LOCALBASE}/include/SDL11" PREFIX="${PREFIX}" X11BASE="${X11BASE}"
+WRKSRC= ${WRKDIR}
+
+do-configure:
+ @cd ${WRKSRC}/sys/unix && ${SH} setup.sh symlinks
+
+post-build:
+ @cd ${WRKSRC}/util && ${LN} -f recover frecover
+ @cd ${WRKSRC}/doc && ${PERL} -p ${FILESDIR}/substitute <nethack.6 >falconseye.6
+ @cd ${WRKSRC}/doc && ${PERL} -p ${FILESDIR}/substitute <recover.6 >frecover.6
+
+post-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/util/recover ${PREFIX}/bin/frecover
+ @cd ${WRKSRC}/doc && \
+ ${INSTALL_MAN} recover.6 ${PREFIX}/man/man6/frecover.6
+ @cd ${WRKSRC}/doc && \
+ ${INSTALL_MAN} nethack.6 ${PREFIX}/man/man6/falconseye.6
+
+.include <bsd.port.mk>
diff --git a/games/falconseye/distinfo b/games/falconseye/distinfo
new file mode 100644
index 000000000000..cf0177765780
--- /dev/null
+++ b/games/falconseye/distinfo
@@ -0,0 +1 @@
+MD5 (nethack_source_331_jtp_193.zip) = 764f31f32d4ee39ba809f672a86c08ae
diff --git a/games/falconseye/files/patch-include_config_h b/games/falconseye/files/patch-include_config_h
new file mode 100644
index 000000000000..2d236d64bf49
--- /dev/null
+++ b/games/falconseye/files/patch-include_config_h
@@ -0,0 +1,44 @@
+--- include/config.h.orig Tue Jul 3 18:56:52 2001
++++ include/config.h Wed Jul 4 11:23:29 2001
+@@ -146,7 +146,7 @@
+ * would allow:
+ * xpmtoppm <x11tiles.xpm | pnmscale 1.25 | ppmquant 90 >x11tiles_big.xpm
+ */
+-/* # define USE_XPM */ /* Disable if you do not have the XPM library */
++# define USE_XPM /* Disable if you do not have the XPM library */
+ # ifdef USE_XPM
+ # define GRAPHIC_TOMBSTONE /* Use graphical tombstone (rip.xpm) */
+ # endif
+@@ -160,6 +160,7 @@
+ * LOGFILE and NEWS refer to files in the playground.
+ */
+
++#define WIZARD "games"
+ #ifndef WIZARD /* allow for compile-time or Makefile changes */
+ # ifndef KR1ED
+ # define WIZARD "wizard" /* the person allowed to use the -D option */
+@@ -187,11 +188,13 @@
+
+ #ifdef UNIX
+ /* 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"
++#define COMPRESS_EXTENSION ".gz"
+ #endif
+
+ #ifndef COMPRESS
+@@ -318,7 +321,7 @@ typedef unsigned char uchar;
+ * functions that have been macroized.
+ */
+
+-/* #define VISION_TABLES */ /* use vision tables generated at compile time */
++#define VISION_TABLES /* use vision tables generated at compile time */
+ #ifndef VISION_TABLES
+ # ifndef NO_MACRO_CPATH
+ # define MACRO_CPATH /* use clear_path macros instead of functions */
diff --git a/games/falconseye/files/patch-include_system_h b/games/falconseye/files/patch-include_system_h
new file mode 100644
index 000000000000..45c67123a536
--- /dev/null
+++ b/games/falconseye/files/patch-include_system_h
@@ -0,0 +1,27 @@
+--- include/system.h.orig Sun Jun 24 18:57:16 2001
++++ include/system.h Fri Aug 24 01:19:07 2001
+@@ -78,7 +78,7 @@
+ E long NDECL(random);
+ # endif
+ # if !defined(SUNOS4) || defined(RANDOM)
+-E void FDECL(srandom, (unsigned int));
++E void FDECL(srandom, (unsigned long));
+ # else
+ # if !defined(bsdi) && !defined(__FreeBSD__)
+ E int FDECL(srandom, (unsigned int));
+@@ -513,11 +513,15 @@
+ # endif
+ # endif
+
++# if defined(BSD)
++/* no declaration needed; it's in time.h */
++#else
+ # if defined(ULTRIX) || defined(SYSV) || defined(MICRO) || defined(VMS) || defined(MAC) || (defined(HPUX) && defined(_POSIX_SOURCE))
+ E time_t FDECL(time, (time_t *));
+ # else
+ E long FDECL(time, (time_t *));
+ # endif /* ULTRIX */
++#endif
+
+ #ifdef VMS
+ /* used in makedefs.c, but missing from gcc-vms's <time.h> */
diff --git a/games/falconseye/files/patch-include_unixconf_h b/games/falconseye/files/patch-include_unixconf_h
new file mode 100644
index 000000000000..1b2387366368
--- /dev/null
+++ b/games/falconseye/files/patch-include_unixconf_h
@@ -0,0 +1,60 @@
+--- include/unixconf.h.orig Sun Jun 24 18:57:16 2001
++++ include/unixconf.h Wed Jul 4 11:23:29 2001
+@@ -19,7 +19,12 @@
+ */
+
+ /* define exactly one of the following four choices */
+-/* #define BSD 1 */ /* define for 4.n BSD */
++/* procure the real define BSD */
++#ifdef HAVE_SYS_PARAM_H
++#include <sys/param.h>
++#endif
++/* #define BSD 1 /* define for 4.n 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) */
+@@ -32,7 +37,7 @@
+
+
+ /* 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 */
+@@ -47,6 +52,7 @@
+ * job control (note that AIX is SYSV otherwise)
+ * Also define this for AIX 3.2 */
+
++#define TERMLIB
+ #define TERMINFO /* uses terminfo rather than termcap */
+ /* Should be defined for most SYSV, SVR4 (including
+ * Solaris 2+), HPUX, and Linux systems. In
+@@ -132,7 +138,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() */
+ #endif
+
+ /*
+@@ -143,7 +149,7 @@
+ * A stat system call is done on the mailbox every MAILCKFREQ moves.
+ */
+
+-#define MAIL /* Deliver mail during the game */
++/* #define MAIL /* Deliver mail during the game */
+
+ /* The Andrew Message System does mail a little differently from normal
+ * UNIX. Mail is deposited in the user's own directory in ~/Mailbox
+@@ -304,7 +310,7 @@
+ #endif
+
+ #ifdef TIMED_DELAY
+-# if defined(SUNOS4) || defined(LINUX)
++# if defined(SUNOS4) || defined(LINUX) || (defined(BSD) && BSD >= 199103)
+ # define msleep(k) usleep((k)*1000)
+ # endif
+ # ifdef ULTRIX
diff --git a/games/falconseye/files/patch-sys_unix_Makefile_doc b/games/falconseye/files/patch-sys_unix_Makefile_doc
new file mode 100644
index 000000000000..35e9a718ed5e
--- /dev/null
+++ b/games/falconseye/files/patch-sys_unix_Makefile_doc
@@ -0,0 +1,24 @@
+--- sys/unix/Makefile.doc.orig Sun Jun 24 18:57:24 2001
++++ sys/unix/Makefile.doc Wed Jul 4 23:40:29 2001
+@@ -34,15 +34,15 @@ Guidebook.dvi: Guidebook.tex
+
+
+ GAME = nethack
+-MANDIR = /usr/man/man6
++MANDIR = ${PREFIX}/man/man6
+ MANEXT = 6
+
+ # manual installation for most BSD-style systems
+-GAMEMANCREATE = cp nethack.6
+-LEVMANCREATE = cp lev_comp.6
+-DGNMANCREATE = cp dgn_comp.6
+-RCVRMANCREATE = cp recover.6
+-DLBMANCREATE = cp dlb.6
++GAMEMANCREATE = ${INSTALL_MAN} $(GAME).6
++LEVMANCREATE = ${INSTALL_MAN} lev_comp.6
++DGNMANCREATE = ${INSTALL_MAN} dgn_comp.6
++RCVRMANCREATE = ${INSTALL_MAN} recover.6
++DLBMANCREATE = ${INSTALL_MAN} dlb.6
+ # manual installation for most SYSV-style systems
+ # GAMEMANCREATE = nroff -man nethack.6 >
+ # LEVMANCREATE = nroff -man lev_comp.6 >
diff --git a/games/falconseye/files/patch-sys_unix_Makefile_src b/games/falconseye/files/patch-sys_unix_Makefile_src
new file mode 100644
index 000000000000..575868e7b02e
--- /dev/null
+++ b/games/falconseye/files/patch-sys_unix_Makefile_src
@@ -0,0 +1,96 @@
+--- sys/unix/Makefile.src.orig Sun Jun 24 18:57:24 2001
++++ sys/unix/Makefile.src Fri Aug 24 02:20:56 2001
+@@ -1,6 +1,7 @@
+ # NetHack Makefile.
+ # SCCS Id: @(#)Makefile.src 3.3 97/04/17
+
++.include "${NETHACKCONFIG}"
+ # newer makes predefine $(MAKE) to 'make' and do smarter processing of
+ # recursive make calls if $(MAKE) is used
+ # these makes allow $(MAKE) to be overridden by the environment if someone
+@@ -117,8 +118,8 @@
+
+ # flags for Linux
+ # compile normally
+-CFLAGS = -O2 -fomit-frame-pointer -I../include -I/usr/X11/include
+-LFLAGS = -L/usr/X11/lib
++CFLAGS += -I../include -I/usr/X11/include -DHACKDIR=\"${NHDIR}\" -DHAVE_SYS_PARAM_H
++LFLAGS = -L/usr/X11R6/lib
+ # OR compile backwards compatible a.out format
+ # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include -I/usr/X11/include
+ # LFLAGS = -b i486-linuxaout -L/usr/X11/lib
+@@ -146,7 +147,7 @@
+ # directories. You should have sdl-config in your path; it gives the
+ # necessary compile and link flags.
+ #
+-JTPINC=$(shell sdl-config --cflags)
++JTPINC=`sdl11-config --cflags`
+
+ # flags for debugging:
+ # CFLAGS = -g -I../include
+@@ -218,8 +219,8 @@
+
+ #
+ #
+-WINSRC = $(WINTTYSRC) $(WINJTPSRC)
+-WINOBJ = $(WINTTYOBJ) $(WINJTPOBJ)
++WINSRC = $(WINTTYSRC) $(WINJTPSRC) $(WINX11SRC)
++WINOBJ = $(WINTTYOBJ) $(WINJTPOBJ) $(WINX11OBJ)
+
+ # on some systems the termcap library is in -ltermcap or -lcurses
+ # on 386 Xenix, the -ltermlib tputs() seems not to work; use -lcurses instead
+@@ -232,19 +233,19 @@
+ #
+ # libraries for tty ports
+ # WINTTYLIB = -ltermcap
+-# WINTTYLIB = -lcurses
++WINTTYLIB = -lcurses
+ # WINTTYLIB = -lcurses16
+-WINTTYLIB = -lncurses
++# WINTTYLIB = -lncurses
+ # WINTTYLIB = -ltermlib
+ #
+
+ # SDL libraries for Falcon's Eye
+-WINJTPLIB = $(shell sdl-config --libs)
++WINJTPLIB = `sdl11-config --libs`
+
+ #
+ # libraries for X11
+ # If USE_XPM is defined in config.h, you will also need -lXpm here.
+-WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11
++WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11 -lXpm
+ # 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
+@@ -264,7 +265,7 @@
+ # libraries for BeOS
+ WINBELIB = -lbe
+
+-WINLIB = $(WINTTYLIB) $(WINJTPLIB)
++WINLIB = $(WINTTYLIB) $(WINJTPLIB) $(WINX11LIB)
+
+ # any other strange libraries your system needs (for Sysunix only -- the more
+ # specialized targets should already be right)
+@@ -294,7 +295,7 @@
+ LIBS =
+
+ # make NetHack
+-GAME = nethack
++GAME = falconseye
+ # GAME = nethack.prg
+
+ # if you defined RANDOM in unixconf.h/tosconf.h since your system did not come
+@@ -467,10 +468,10 @@
+
+ # Qt windowport meta-object-compiler output
+ qt_kde0.moc: ../include/qt_kde0.h
+- $(QTDIR)/bin/moc ../include/qt_kde0.h > qt_kde0.moc
++ moc2 ../include/qt_kde0.h > qt_kde0.moc
+
+ qt_win.moc: ../include/qt_win.h
+- $(QTDIR)/bin/moc ../include/qt_win.h > qt_win.moc
++ moc2 ../include/qt_win.h > qt_win.moc
+
+ $(MAKEDEFS): ../util/makedefs.c $(CONFIG_H) ../include/permonst.h \
+ ../include/objclass.h ../include/monsym.h \
diff --git a/games/falconseye/files/patch-sys_unix_Makefile_top b/games/falconseye/files/patch-sys_unix_Makefile_top
new file mode 100644
index 000000000000..86ca4d060f74
--- /dev/null
+++ b/games/falconseye/files/patch-sys_unix_Makefile_top
@@ -0,0 +1,81 @@
+--- sys/unix/Makefile.top.orig Sun Jun 24 18:57:24 2001
++++ sys/unix/Makefile.top Fri Aug 24 03:27:56 2001
+@@ -15,18 +15,17 @@
+
+ # make NetHack
+ #PREFIX = /usr
+-PREFIX = $(shell pwd)/compiled
+-GAME = nethack
++GAME = falconseye
+ # 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 = 02755
++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
+@@ -36,12 +35,13 @@
+ # 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
++REALGAMEDIR = $(PREFIX)/share/$(GAME)dir
++GAMEDIR = $(DESTDIR)${REALGAMEDIR}
+ VARDIR = $(GAMEDIR)
+-SHELLDIR = $(PREFIX)/games
++SHELLDIR = ${DESTDIR}$(PREFIX)/bin
+
+ # per discussion in Install.X11 and Install.Qt
+-VARDATND =
++# VARDATND =
+ # VARDATND = x11tiles pet_mark.xbm
+ # VARDATND = x11tiles pet_mark.xbm rip.xpm
+ # for Atari/Gem
+@@ -67,8 +67,8 @@
+ # will only work if setuid (or setgid) behavior is not desired or required.
+ # CHOWN = chown
+ # CHGRP = chgrp
+-CHOWN = true
+-CHGRP = true
++CHOWN = chown
++CHGRP = chgrp
+
+ # ----------------------------------------------
+ # Extra configuration for NetHack - Falcon's Eye
+@@ -119,12 +119,15 @@
+ $(GAME):
+ ( cd src ; $(MAKE) )
+
+-all: $(GAME) Guidebook $(VARDAT) dungeon spec_levs check-dlb
++all: $(GAME) Guidebook recover $(VARDAT) dungeon spec_levs check-dlb
+ @echo "Done."
+
+ Guidebook:
+ ( cd doc ; $(MAKE) Guidebook )
+
++recover:
++ ( cd util ; $(MAKE) recover )
++
+ manpages:
+ ( cd doc ; $(MAKE) manpages )
+
+@@ -201,7 +204,7 @@
+ $(MAKE) dofiles-jtp
+ cp src/$(GAME) $(GAMEDIR)
+ -rm -f $(SHELLDIR)/$(GAME)
+- sed -e 's;/usr/games/lib/nethackdir;$(GAMEDIR);' \
++ sed -e 's;/usr/games/lib/nethackdir;$(REALGAMEDIR);' \
+ -e 's;HACKDIR/nethack;HACKDIR/$(GAME);' \
+ < sys/unix/nethack.sh \
+ > $(SHELLDIR)/$(GAME)
diff --git a/games/falconseye/files/patch-sys_unix_Makefile_utl b/games/falconseye/files/patch-sys_unix_Makefile_utl
new file mode 100644
index 000000000000..b2705741ceb3
--- /dev/null
+++ b/games/falconseye/files/patch-sys_unix_Makefile_utl
@@ -0,0 +1,20 @@
+--- sys/unix/Makefile.utl.orig Sun Jun 24 18:57:24 2001
++++ sys/unix/Makefile.utl Wed Jul 4 11:23:29 2001
+@@ -1,6 +1,7 @@
+ # Makefile for NetHack's utility programs.
+ # SCCS Id: @(#)Makefile.utl 3.3 97/04/19
+
++.include "${NETHACKCONFIG}"
+ # newer makes predefine $(MAKE) to 'make' and do smarter processing of
+ # recursive make calls if $(MAKE) is used
+ # these makes allow $(MAKE) to be overridden by the environment if someone
+@@ -89,8 +90,7 @@
+ # flags for debugging:
+ # CFLAGS = -g -I../include
+
+-CFLAGS = -O -I../include
+-LFLAGS =
++CFLAGS += -I../include
+
+ LIBS =
+
diff --git a/games/falconseye/files/patch-sys_unix_nethack_sh b/games/falconseye/files/patch-sys_unix_nethack_sh
new file mode 100644
index 000000000000..59e0832ec21c
--- /dev/null
+++ b/games/falconseye/files/patch-sys_unix_nethack_sh
@@ -0,0 +1,19 @@
+--- sys/unix/nethack.sh.orig Sun Jun 24 18:57:24 2001
++++ sys/unix/nethack.sh Thu Jul 5 16:22:17 2001
+@@ -6,6 +6,16 @@ export HACKDIR
+ HACK=$HACKDIR/nethack
+ MAXNROFPLAYERS=4
+
++# Handle extra config setup
++: ${FALCONCONFIG:=${HOME}/.falcon}
++if [ -d ${FALCONCONFIG} ]; then
++ :
++else
++ mkdir -p ${FALCONCONFIG}
++ cp ${HACKDIR}/config/* ${FALCONCONFIG}
++fi
++export FALCONCONFIG
++
+ # see if we can find the full path name of PAGER, so help files work properly
+ # assume that if someone sets up a special variable (HACKPAGER) for NetHack,
+ # it will already be in a form acceptable to NetHack
diff --git a/games/falconseye/files/patch-sys_unix_unixunix_c b/games/falconseye/files/patch-sys_unix_unixunix_c
new file mode 100644
index 000000000000..04c03f895e0e
--- /dev/null
+++ b/games/falconseye/files/patch-sys_unix_unixunix_c
@@ -0,0 +1,12 @@
+--- sys/unix/unixunix.c.orig Sun Jun 24 18:57:24 2001
++++ sys/unix/unixunix.c Wed Jul 4 11:23:29 2001
+@@ -42,7 +42,9 @@ gethdate(name)
+ * does not exist on all systems, and moreover, that it sometimes includes
+ * <sys/types.h> again, so that the compiler sees these typedefs twice.
+ */
++#ifndef HAVE_SYS_PARAM_H
+ #define MAXPATHLEN 1024
++#endif
+
+ register const char *np, *path;
+ char filename[MAXPATHLEN+1];
diff --git a/games/falconseye/files/patch-win_Qt_qt_win_cpp b/games/falconseye/files/patch-win_Qt_qt_win_cpp
new file mode 100644
index 000000000000..fa29b24deb81
--- /dev/null
+++ b/games/falconseye/files/patch-win_Qt_qt_win_cpp
@@ -0,0 +1,12 @@
+--- win/Qt/qt_win.cpp.orig Tue Jul 3 17:42:00 2001
++++ win/Qt/qt_win.cpp Wed Jul 4 11:23:29 2001
+@@ -91,7 +91,8 @@ extern "C" {
+ #include "qt_clust.h"
+ #include "qt_xpms.h"
+
+-#include <malloc.h>
++//#include <malloc.h>
++#include <stdlib.h>
+
+ #ifdef _WS_X11_
+ // For userid control
diff --git a/games/falconseye/files/patch-win_jtp_gamedata_config_jtp_keys_txt b/games/falconseye/files/patch-win_jtp_gamedata_config_jtp_keys_txt
new file mode 100644
index 000000000000..cfb5e8da6b17
--- /dev/null
+++ b/games/falconseye/files/patch-win_jtp_gamedata_config_jtp_keys_txt
@@ -0,0 +1,32 @@
+--- win/jtp/gamedata/config/jtp_keys.txt.orig Sun Jun 24 18:57:26 2001
++++ win/jtp/gamedata/config/jtp_keys.txt Thu Jul 5 15:25:21 2001
+@@ -42,25 +42,25 @@
+
+ [up]=[<]
+ [down]=[>]
+-[jump]=[j]
++[jump]=[META+j]
+ [sit down]=[META+s]
+ [teleport]=[CTRL+t]
+
+ %----------------------------------------------------------------
+ % Exploring
+ %----------------------------------------------------------------
+-[kick]=[k]
++[kick]=[CTRL+k]
+ [close door]=[c]
+ [open door]=[o]
+ [look here]=[:]
+ [search]=[s]
+-[untrap]=[u]
++[untrap]=[META+u]
+
+ %----------------------------------------------------------------
+ % Getting items
+ %----------------------------------------------------------------
+ [force lock]=[META+f]
+-[loot chest]=[l]
++[loot chest]=[META+l]
+ [pick up]=[,]
+ [toggle autopickup]=[@]
+
diff --git a/games/falconseye/files/patch-win_jtp_gamedata_config_jtp_opts_txt b/games/falconseye/files/patch-win_jtp_gamedata_config_jtp_opts_txt
new file mode 100644
index 000000000000..9dd3c1b06752
--- /dev/null
+++ b/games/falconseye/files/patch-win_jtp_gamedata_config_jtp_opts_txt
@@ -0,0 +1,20 @@
+--- win/jtp/gamedata/config/jtp_opts.txt.orig Thu Jul 5 15:16:09 2001
++++ win/jtp/gamedata/config/jtp_opts.txt Thu Jul 5 15:16:25 2001
+@@ -39,7 +39,7 @@ fullscreen=0
+ % don't have the appropriate sound hardware.
+ %
+ play_music=1
+-play_effects=1
++play_effects=0
+
+
+ % -----------------------------------
+@@ -60,7 +60,7 @@ linux_midi_player=/usr/local/bin/timidit
+ % files. You can also give your own command; use %s in place of the
+ % filename. Please give the full path to the player binary.
+ %
+-linux_mp3_player=/usr/bin/mpg123 -q %s
++linux_mp3_player=/usr/local/bin/mpg123 -q %s
+
+
+ % ------------
diff --git a/games/falconseye/files/patch-win_jtp_jtp_win_c b/games/falconseye/files/patch-win_jtp_jtp_win_c
new file mode 100644
index 000000000000..5161c862b0b6
--- /dev/null
+++ b/games/falconseye/files/patch-win_jtp_jtp_win_c
@@ -0,0 +1,47 @@
+--- win/jtp/jtp_win.c.orig Mon Jul 2 08:59:00 2001
++++ win/jtp/jtp_win.c Thu Jul 5 16:21:59 2001
+@@ -7811,6 +7811,7 @@ jtp_init_filenames()
+ {
+ int gplength;
+ int i;
++ char *configdir;
+
+ /* Get starting directory, and save it for reference */
+ getcwd(jtp_game_path, JTP_MAX_FILENAME_LENGTH);
+@@ -7835,16 +7836,26 @@ jtp_init_filenames()
+ }
+
+ /* Data filenames */
+- strcat(jtp_filenames[JTP_FILE_INTRO_SCRIPT], JTP_CONFIG_DIRECTORY);
+- strcat(jtp_filenames[JTP_FILE_INTRO_SCRIPT], "jtp_intr.txt");
+- strcat(jtp_filenames[JTP_FILE_OPTIONS], JTP_CONFIG_DIRECTORY);
+- strcat(jtp_filenames[JTP_FILE_OPTIONS], "jtp_opts.txt");
+- strcat(jtp_filenames[JTP_FILE_SOUNDS_CONFIG], JTP_CONFIG_DIRECTORY);
+- strcat(jtp_filenames[JTP_FILE_SOUNDS_CONFIG], "jtp_snds.txt");
+- strcat(jtp_filenames[JTP_FILE_KEYS_CONFIG], JTP_CONFIG_DIRECTORY);
+- strcat(jtp_filenames[JTP_FILE_KEYS_CONFIG], "jtp_keys.txt");
+- strcat(jtp_filenames[JTP_FILE_SHADING_TABLE], JTP_CONFIG_DIRECTORY);
+- strcat(jtp_filenames[JTP_FILE_SHADING_TABLE], "jtp_lit1.dat");
++ configdir=getenv("FALCONCONFIG");
++ if (configdir != NULL) {
++ strcpy(jtp_filenames[JTP_FILE_INTRO_SCRIPT], configdir);
++ strcpy(jtp_filenames[JTP_FILE_OPTIONS], configdir);
++ strcpy(jtp_filenames[JTP_FILE_SOUNDS_CONFIG], configdir);
++ strcpy(jtp_filenames[JTP_FILE_KEYS_CONFIG], configdir);
++ strcpy(jtp_filenames[JTP_FILE_SHADING_TABLE], configdir);
++ } else {
++ strcat(jtp_filenames[JTP_FILE_INTRO_SCRIPT], JTP_CONFIG_DIRECTORY);
++ strcat(jtp_filenames[JTP_FILE_OPTIONS], JTP_CONFIG_DIRECTORY);
++ strcat(jtp_filenames[JTP_FILE_SOUNDS_CONFIG], JTP_CONFIG_DIRECTORY);
++ strcat(jtp_filenames[JTP_FILE_KEYS_CONFIG], JTP_CONFIG_DIRECTORY);
++ strcat(jtp_filenames[JTP_FILE_SHADING_TABLE], JTP_CONFIG_DIRECTORY);
++ }
++
++ strcat(jtp_filenames[JTP_FILE_INTRO_SCRIPT], "/jtp_intr.txt");
++ strcat(jtp_filenames[JTP_FILE_OPTIONS], "/jtp_opts.txt");
++ strcat(jtp_filenames[JTP_FILE_SOUNDS_CONFIG], "/jtp_snds.txt");
++ strcat(jtp_filenames[JTP_FILE_KEYS_CONFIG], "/jtp_keys.txt");
++ strcat(jtp_filenames[JTP_FILE_SHADING_TABLE], "/jtp_lit1.dat");
+
+ /* Graphics filenames */
+ strcat(jtp_filenames[JTP_FILE_CMAP_TILES], JTP_GRAPHICS_DIRECTORY);
diff --git a/games/falconseye/files/substitute b/games/falconseye/files/substitute
new file mode 100644
index 000000000000..dcb60fb8c25b
--- /dev/null
+++ b/games/falconseye/files/substitute
@@ -0,0 +1,6 @@
+s/\bNETHACK\b/FALCONSEYE/g;
+s/\bNet[hH]ack\b(?!\s+v3.1)/Falcon's Eye/g;
+s/\bnethack\b/falconseye/g;
+s/\bnethackdir\b/falconseyedir/g;
+s|/usr/games|/usr/local|g;
+s/\brecover\b/frecover/g;
diff --git a/games/falconseye/files/x-config b/games/falconseye/files/x-config
new file mode 100644
index 000000000000..ad90b1f0b35a
--- /dev/null
+++ b/games/falconseye/files/x-config
@@ -0,0 +1,7 @@
+VARDATND = x11tiles pet_mark.xbm rip.xpm
+CFLAGS+=-DX11_GRAPHICS -I${X11BASE}/include
+LFLAGS =-L${X11BASE}/lib
+
+WINSRC = $(WINTTYSRC) $(WINX11SRC)
+WINOBJ = $(WINTTYOBJ) $(WINX11OBJ)
+WINLIB = $(WINTTYLIB) $(WINX11LIB)
diff --git a/games/falconseye/pkg-comment b/games/falconseye/pkg-comment
new file mode 100644
index 000000000000..c5a580ab093e
--- /dev/null
+++ b/games/falconseye/pkg-comment
@@ -0,0 +1 @@
+NetHack derivative
diff --git a/games/falconseye/pkg-descr b/games/falconseye/pkg-descr
new file mode 100644
index 000000000000..4edd0ea4a730
--- /dev/null
+++ b/games/falconseye/pkg-descr
@@ -0,0 +1,9 @@
+Falcon's Eye is nethack.
+With a graphical interface.
+With sound.
+
+This port features per-user config: when you first start Falcon's Eye,
+it creates $HOME/.falcon and copie default configuration files there,
+that you can then edit.
+
+WWW: http://falconseye.sourceforge.net/
diff --git a/games/falconseye/pkg-plist b/games/falconseye/pkg-plist
new file mode 100644
index 000000000000..904dae4cb0fa
--- /dev/null
+++ b/games/falconseye/pkg-plist
@@ -0,0 +1,274 @@
+@group games
+bin/falconseye
+bin/frecover
+share/falconseyedir/Arc-fila.lev
+share/falconseyedir/Arc-filb.lev
+share/falconseyedir/Arc-goal.lev
+share/falconseyedir/Arc-loca.lev
+share/falconseyedir/Arc-strt.lev
+share/falconseyedir/Bar-fila.lev
+share/falconseyedir/Bar-filb.lev
+share/falconseyedir/Bar-goal.lev
+share/falconseyedir/Bar-loca.lev
+share/falconseyedir/Bar-strt.lev
+share/falconseyedir/Cav-fila.lev
+share/falconseyedir/Cav-filb.lev
+share/falconseyedir/Cav-goal.lev
+share/falconseyedir/Cav-loca.lev
+share/falconseyedir/Cav-strt.lev
+share/falconseyedir/Hea-fila.lev
+share/falconseyedir/Hea-filb.lev
+share/falconseyedir/Hea-goal.lev
+share/falconseyedir/Hea-loca.lev
+share/falconseyedir/Hea-strt.lev
+share/falconseyedir/Kni-fila.lev
+share/falconseyedir/Kni-filb.lev
+share/falconseyedir/Kni-goal.lev
+share/falconseyedir/Kni-loca.lev
+share/falconseyedir/Kni-strt.lev
+share/falconseyedir/Mon-fila.lev
+share/falconseyedir/Mon-filb.lev
+share/falconseyedir/Mon-goal.lev
+share/falconseyedir/Mon-loca.lev
+share/falconseyedir/Mon-strt.lev
+share/falconseyedir/Pri-fila.lev
+share/falconseyedir/Pri-filb.lev
+share/falconseyedir/Pri-goal.lev
+share/falconseyedir/Pri-loca.lev
+share/falconseyedir/Pri-strt.lev
+share/falconseyedir/Ran-fila.lev
+share/falconseyedir/Ran-filb.lev
+share/falconseyedir/Ran-goal.lev
+share/falconseyedir/Ran-loca.lev
+share/falconseyedir/Ran-strt.lev
+share/falconseyedir/Rog-fila.lev
+share/falconseyedir/Rog-filb.lev
+share/falconseyedir/Rog-goal.lev
+share/falconseyedir/Rog-loca.lev
+share/falconseyedir/Rog-strt.lev
+share/falconseyedir/Sam-fila.lev
+share/falconseyedir/Sam-filb.lev
+share/falconseyedir/Sam-goal.lev
+share/falconseyedir/Sam-loca.lev
+share/falconseyedir/Sam-strt.lev
+share/falconseyedir/Tou-fila.lev
+share/falconseyedir/Tou-filb.lev
+share/falconseyedir/Tou-goal.lev
+share/falconseyedir/Tou-loca.lev
+share/falconseyedir/Tou-strt.lev
+share/falconseyedir/Val-fila.lev
+share/falconseyedir/Val-filb.lev
+share/falconseyedir/Val-goal.lev
+share/falconseyedir/Val-loca.lev
+share/falconseyedir/Val-strt.lev
+share/falconseyedir/Wiz-fila.lev
+share/falconseyedir/Wiz-filb.lev
+share/falconseyedir/Wiz-goal.lev
+share/falconseyedir/Wiz-loca.lev
+share/falconseyedir/Wiz-strt.lev
+share/falconseyedir/air.lev
+share/falconseyedir/asmodeus.lev
+share/falconseyedir/astral.lev
+share/falconseyedir/baalz.lev
+share/falconseyedir/bigrm-1.lev
+share/falconseyedir/bigrm-2.lev
+share/falconseyedir/bigrm-3.lev
+share/falconseyedir/bigrm-4.lev
+share/falconseyedir/bigrm-5.lev
+share/falconseyedir/castle.lev
+share/falconseyedir/cmdhelp
+share/falconseyedir/config/jtp_intr.txt
+share/falconseyedir/config/jtp_keys.txt
+share/falconseyedir/config/jtp_lit1.dat
+share/falconseyedir/config/jtp_opts.txt
+share/falconseyedir/config/jtp_snds.txt
+share/falconseyedir/data
+share/falconseyedir/defaults.nh
+share/falconseyedir/dungeon
+share/falconseyedir/earth.lev
+share/falconseyedir/fakewiz1.lev
+share/falconseyedir/fakewiz2.lev
+share/falconseyedir/fire.lev
+share/falconseyedir/graphics/backpac5.pcx
+share/falconseyedir/graphics/book1.pcx
+share/falconseyedir/graphics/book2.pcx
+share/falconseyedir/graphics/cairn.pcx
+share/falconseyedir/graphics/chargen2.pcx
+share/falconseyedir/graphics/dawn.pcx
+share/falconseyedir/graphics/dreams.pcx
+share/falconseyedir/graphics/entrance.pcx
+share/falconseyedir/graphics/jtp_cm07.pcx
+share/falconseyedir/graphics/jtp_cm08.pcx
+share/falconseyedir/graphics/jtp_cm09.pcx
+share/falconseyedir/graphics/jtp_cm12.pcx
+share/falconseyedir/graphics/jtp_cm13.pcx
+share/falconseyedir/graphics/jtp_cmb8.pcx
+share/falconseyedir/graphics/jtp_cmc7.pcx
+share/falconseyedir/graphics/jtp_mon6.pcx
+share/falconseyedir/graphics/jtp_mon7.pcx
+share/falconseyedir/graphics/jtp_mou5.pcx
+share/falconseyedir/graphics/jtp_mwi4.pcx
+share/falconseyedir/graphics/jtp_nh_1.pcx
+share/falconseyedir/graphics/jtp_obj1.pcx
+share/falconseyedir/graphics/jtp_obj2.pcx
+share/falconseyedir/graphics/jtp_st10.pcx
+share/falconseyedir/graphics/jtp_win1.pcx
+share/falconseyedir/graphics/mandolin.pcx
+share/falconseyedir/graphics/menuchr2.pcx
+share/falconseyedir/graphics/micons2.pcx
+share/falconseyedir/graphics/night.pcx
+share/falconseyedir/graphics/quitgame.pcx
+share/falconseyedir/graphics/stairway.pcx
+share/falconseyedir/graphics/ttipchr1.pcx
+share/falconseyedir/graphics/valley.pcx
+share/falconseyedir/graphics/walls02a.pcx
+share/falconseyedir/graphics/walls02b.pcx
+share/falconseyedir/graphics/walls02c.pcx
+share/falconseyedir/graphics/walls03a.pcx
+share/falconseyedir/graphics/walls03b.pcx
+share/falconseyedir/graphics/walls03c.pcx
+share/falconseyedir/graphics/yendor.pcx
+share/falconseyedir/help
+share/falconseyedir/hh
+share/falconseyedir/history
+share/falconseyedir/juiblex.lev
+share/falconseyedir/knox.lev
+share/falconseyedir/license
+share/falconseyedir/manual/arrows1.jpg
+share/falconseyedir/manual/arrows2.jpg
+share/falconseyedir/manual/buttonpanel.jpg
+share/falconseyedir/manual/char_arc.jpg
+share/falconseyedir/manual/char_kni.jpg
+share/falconseyedir/manual/char_pri.jpg
+share/falconseyedir/manual/char_ran.jpg
+share/falconseyedir/manual/char_rog.jpg
+share/falconseyedir/manual/char_tou.jpg
+share/falconseyedir/manual/char_val.jpg
+share/falconseyedir/manual/char_wiz.jpg
+share/falconseyedir/manual/contextmenu.jpg
+share/falconseyedir/manual/dng_door.jpg
+share/falconseyedir/manual/dng_strs.jpg
+share/falconseyedir/manual/giantant.jpg
+share/falconseyedir/manual/index.html
+share/falconseyedir/manual/letter_a.jpg
+share/falconseyedir/manual/letter_c.jpg
+share/falconseyedir/manual/letter_m.jpg
+share/falconseyedir/manual/letter_n.jpg
+share/falconseyedir/manual/letter_o.jpg
+share/falconseyedir/manual/letter_r.jpg
+share/falconseyedir/manual/letter_t.jpg
+share/falconseyedir/manual/letter_w.jpg
+share/falconseyedir/manual/letter_y.jpg
+share/falconseyedir/manual/main.html
+share/falconseyedir/manual/main_10.html
+share/falconseyedir/manual/main_11.html
+share/falconseyedir/manual/main_12.html
+share/falconseyedir/manual/main_2.html
+share/falconseyedir/manual/main_3.html
+share/falconseyedir/manual/main_4.html
+share/falconseyedir/manual/main_5.html
+share/falconseyedir/manual/main_6.html
+share/falconseyedir/manual/main_7.html
+share/falconseyedir/manual/main_8.html
+share/falconseyedir/manual/main_9.html
+share/falconseyedir/manual/mapwindow.jpg
+share/falconseyedir/manual/minimap.jpg
+share/falconseyedir/manual/navbar.html
+share/falconseyedir/manual/nhisomet.jpg
+share/falconseyedir/manual/nhmanual.css
+share/falconseyedir/manual/nhnavlog.jpg
+share/falconseyedir/manual/obj_food.jpg
+share/falconseyedir/manual/obj_gem.jpg
+share/falconseyedir/manual/obj_potion.jpg
+share/falconseyedir/manual/obj_ring.jpg
+share/falconseyedir/manual/obj_scroll.jpg
+share/falconseyedir/manual/obj_sword.jpg
+share/falconseyedir/manual/paper1.jpg
+share/falconseyedir/manual/scrollrun.jpg
+share/falconseyedir/manual/statusbar.jpg
+share/falconseyedir/manual/valley.jpg
+share/falconseyedir/manual/wallstyle_full.jpg
+share/falconseyedir/manual/wallstyle_halfheight.jpg
+share/falconseyedir/manual/wallstyle_transparent.jpg
+share/falconseyedir/medusa-1.lev
+share/falconseyedir/medusa-2.lev
+share/falconseyedir/minefill.lev
+share/falconseyedir/minend-1.lev
+share/falconseyedir/minend-2.lev
+share/falconseyedir/minetn-1.lev
+share/falconseyedir/minetn-2.lev
+share/falconseyedir/nethack.ico
+share/falconseyedir/opthelp
+share/falconseyedir/options
+share/falconseyedir/oracle.lev
+share/falconseyedir/oracles
+share/falconseyedir/orcus.lev
+share/falconseyedir/quest.dat
+share/falconseyedir/rumors
+share/falconseyedir/sanctum.lev
+share/falconseyedir/soko1-1.lev
+share/falconseyedir/soko1-2.lev
+share/falconseyedir/soko2-1.lev
+share/falconseyedir/soko2-2.lev
+share/falconseyedir/soko3-1.lev
+share/falconseyedir/soko3-2.lev
+share/falconseyedir/soko4-1.lev
+share/falconseyedir/soko4-2.lev
+share/falconseyedir/sound/aircaves.mid
+share/falconseyedir/sound/ambient1.mid
+share/falconseyedir/sound/ambient2.mid
+share/falconseyedir/sound/ascended.mid
+share/falconseyedir/sound/battle1.mid
+share/falconseyedir/sound/battle2.mid
+share/falconseyedir/sound/bell.raw
+share/falconseyedir/sound/cat.raw
+share/falconseyedir/sound/cldoor.raw
+share/falconseyedir/sound/counting.raw
+share/falconseyedir/sound/died.mid
+share/falconseyedir/sound/dog.raw
+share/falconseyedir/sound/earthcav.mid
+share/falconseyedir/sound/firecave.mid
+share/falconseyedir/sound/fountain.raw
+share/falconseyedir/sound/intro.mid
+share/falconseyedir/sound/lament1.mid
+share/falconseyedir/sound/lament2.mid
+share/falconseyedir/sound/levelup.mid
+share/falconseyedir/sound/levelup.raw
+share/falconseyedir/sound/lion.raw
+share/falconseyedir/sound/mines.mid
+share/falconseyedir/sound/nethack.mid
+share/falconseyedir/sound/opdoor.raw
+share/falconseyedir/sound/oracle.mid
+share/falconseyedir/sound/quit.mid
+share/falconseyedir/sound/roar.raw
+share/falconseyedir/sound/shopping.mid
+share/falconseyedir/sound/swordhit.raw
+share/falconseyedir/sound/swordmis.raw
+share/falconseyedir/sound/town.mid
+share/falconseyedir/sound/walk.raw
+share/falconseyedir/sound/watercav.mid
+share/falconseyedir/tower1.lev
+share/falconseyedir/tower2.lev
+share/falconseyedir/tower3.lev
+share/falconseyedir/valley.lev
+share/falconseyedir/water.lev
+share/falconseyedir/wizard1.lev
+share/falconseyedir/wizard2.lev
+share/falconseyedir/wizard3.lev
+share/falconseyedir/wizhelp
+man/man6/falconseye.6
+man/man6/frecover.6
+@mode 2555
+share/falconseyedir/falconseye
+@exec chmod 775 %B
+@exec install -g games -m 0664 /dev/null %B/logfile
+@exec install -g games -m 0664 /dev/null %B/perm
+@exec install -g games -m 0664 /dev/null %B/record
+@unexec rm -f %B/logfile %B/perm %B/record %B/jtp_log.txt
+@exec install -d -g games -m 0575 %B/save
+@unexec rm -rf %B/save
+@dirrm share/falconseyedir/sound
+@dirrm share/falconseyedir/manual
+@dirrm share/falconseyedir/graphics
+@dirrm share/falconseyedir/config
+@dirrm share/falconseyedir