summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/hengband/DESCR5
-rw-r--r--games/hengband/Makefile64
-rw-r--r--games/hengband/PLIST230
-rw-r--r--games/hengband/distinfo16
-rw-r--r--games/hengband/options.mk39
-rw-r--r--games/hengband/patches/patch-lib_Makefile.am13
-rw-r--r--games/hengband/patches/patch-lib_xtra_graf_Makefile.am15
-rw-r--r--games/hengband/patches/patch-src_Makefile.am16
-rw-r--r--games/hengband/patches/patch-src_h-type.h47
-rw-r--r--games/hengband/patches/patch-src_init2.c38
-rw-r--r--games/hengband/patches/patch-src_main-gcu.c25
11 files changed, 508 insertions, 0 deletions
diff --git a/games/hengband/DESCR b/games/hengband/DESCR
new file mode 100644
index 00000000000..b1d31f06017
--- /dev/null
+++ b/games/hengband/DESCR
@@ -0,0 +1,5 @@
+Hengband is a rogue-like game which is a descendant of Moria and
+Angband, and is a direct derivation of Zangband. In order to win the
+game by defeating The Serpent of Chaos who lurks in the 100th floor of
+the Dungeon of Angband, you need to not only obtain a good set of
+gears, but also acquaint yourself with the game.
diff --git a/games/hengband/Makefile b/games/hengband/Makefile
new file mode 100644
index 00000000000..3f00f1d9dc2
--- /dev/null
+++ b/games/hengband/Makefile
@@ -0,0 +1,64 @@
+# $NetBSD: Makefile,v 1.1 2020/01/24 13:33:32 pho Exp $
+
+DISTNAME= hengband-1.6.2
+CATEGORIES= games
+MASTER_SITES= ${MASTER_SITE_OSDN:=hengband/10331/}
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= pho@cielonegro.org
+HOMEPAGE= http://hengband.sourceforge.jp/en/index.html
+COMMENT= Rogue-like game derived from Zangband
+LICENSE= gnu-gpl-v2
+
+# Optional 16x16 (large) tile set, only useful for the X11 UI.
+HENGBAND_TILE16= heng-graf-16x16.tar.gz
+DISTFILES= ${DEFAULT_DISTFILES} ${HENGBAND_TILE16}
+SITES.${HENGBAND_TILE16}= ${MASTER_SITE_OSDN:=hengband/5195/}
+EXTRACT_DIR.${HENGBAND_TILE16}= ${WRKSRC}/lib/xtra/graf
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --with-setgid=${HENGBAND_GROUP}
+CONFIGURE_ARGS+= --with-libpath=${HENGBAND_LIBDIR}/
+
+HENGBAND_LIBDIR= ${PREFIX}/libdata/${PKGBASE}
+HENGBAND_VARDIR= ${VARBASE}/games/${PKGBASE}
+HENGBAND_USER= ${GAMES_USER}
+HENGBAND_GROUP= ${GAMES_GROUP}
+BUILD_DEFS+= VARBASE GAMES_USER GAMES_GROUP
+
+SUBST_CLASSES+= vardir
+SUBST_STAGE.vardir= pre-configure
+SUBST_FILES.vardir= src/init2.c
+SUBST_VARS.vardir= HENGBAND_VARDIR
+
+SPECIAL_PERMS+= ${PREFIX}/bin/hengband \
+ ${HENGBAND_USER} ${HENGBAND_GROUP} 2555
+
+USE_TOOLS+= automake autoreconf
+pre-configure:
+ ${RUN}cd ${WRKSRC} && autoreconf -i
+
+# Special handling for the score, save, and pref files: we do not want
+# to delete them between package installations and deinstallations.
+# See "readme_angband" for the details of these directories.
+REQD_DIRS_PERMS+= ${HENGBAND_VARDIR} \
+ ${HENGBAND_USER} ${HENGBAND_GROUP} 775
+REQD_DIRS_PERMS+= ${HENGBAND_VARDIR}/apex \
+ ${HENGBAND_USER} ${HENGBAND_GROUP} 775
+REQD_DIRS_PERMS+= ${HENGBAND_VARDIR}/bone \
+ ${HENGBAND_USER} ${HENGBAND_GROUP} 775
+REQD_DIRS_PERMS+= ${HENGBAND_VARDIR}/data \
+ ${HENGBAND_USER} ${HENGBAND_GROUP} 775
+REQD_DIRS_PERMS+= ${HENGBAND_VARDIR}/save \
+ ${HENGBAND_USER} ${HENGBAND_GROUP} 775
+
+INSTALLATION_DIRS+= share/doc/${PKGBASE}
+post-install:
+ ${RUN}for f in autopick.txt autopick_eng.txt readme.txt \
+ readme_angband readme_eng.txt; do \
+ ${INSTALL_DATA} ${WRKSRC}/$${f} \
+ ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}; \
+ done
+
+.include "options.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/games/hengband/PLIST b/games/hengband/PLIST
new file mode 100644
index 00000000000..d46a9ad299a
--- /dev/null
+++ b/games/hengband/PLIST
@@ -0,0 +1,230 @@
+@comment $NetBSD: PLIST,v 1.1 2020/01/24 13:33:32 pho Exp $
+bin/hengband
+libdata/hengband/edit/a_info.txt
+libdata/hengband/edit/d_info.txt
+libdata/hengband/edit/e_info.txt
+libdata/hengband/edit/f_info.txt
+libdata/hengband/edit/k_info.txt
+libdata/hengband/edit/m_info.txt
+libdata/hengband/edit/misc.txt
+libdata/hengband/edit/q0000001.txt
+libdata/hengband/edit/q0000002.txt
+libdata/hengband/edit/q0000003.txt
+libdata/hengband/edit/q0000004.txt
+libdata/hengband/edit/q0000005.txt
+libdata/hengband/edit/q0000006.txt
+libdata/hengband/edit/q0000007.txt
+libdata/hengband/edit/q0000019.txt
+libdata/hengband/edit/q0000020.txt
+libdata/hengband/edit/q0000021.txt
+libdata/hengband/edit/q0000022.txt
+libdata/hengband/edit/q0000023.txt
+libdata/hengband/edit/q0000027.txt
+libdata/hengband/edit/q0000028.txt
+libdata/hengband/edit/q00000ms.txt
+libdata/hengband/edit/q000chao.txt
+libdata/hengband/edit/q000dekn.txt
+libdata/hengband/edit/q000eric.txt
+libdata/hengband/edit/q000lyeh.txt
+libdata/hengband/edit/q000natu.txt
+libdata/hengband/edit/q000sorc.txt
+libdata/hengband/edit/q00water.txt
+libdata/hengband/edit/q0clone0.txt
+libdata/hengband/edit/q0fields.txt
+libdata/hengband/edit/q0thief1.txt
+libdata/hengband/edit/q0thief2.txt
+libdata/hengband/edit/q0willow.txt
+libdata/hengband/edit/q_info.txt
+libdata/hengband/edit/q_oberon.txt
+libdata/hengband/edit/q_pref.txt
+libdata/hengband/edit/q_random.txt
+libdata/hengband/edit/q_serpen.txt
+libdata/hengband/edit/q_warg.txt
+libdata/hengband/edit/qdarkelf.txt
+libdata/hengband/edit/qhaunted.txt
+libdata/hengband/edit/r_info.txt
+libdata/hengband/edit/s_info.txt
+libdata/hengband/edit/t0000001.txt
+libdata/hengband/edit/t0000002.txt
+libdata/hengband/edit/t0000003.txt
+libdata/hengband/edit/t0000004.txt
+libdata/hengband/edit/t0000005.txt
+libdata/hengband/edit/t0000006.txt
+libdata/hengband/edit/t_basic.txt
+libdata/hengband/edit/t_info.txt
+libdata/hengband/edit/t_lite.txt
+libdata/hengband/edit/t_pref.txt
+libdata/hengband/edit/v_info.txt
+libdata/hengband/edit/w_info.txt
+libdata/hengband/file/a_cursed.txt
+libdata/hengband/file/a_cursed_j.txt
+libdata/hengband/file/a_high.txt
+libdata/hengband/file/a_high_j.txt
+libdata/hengband/file/a_low.txt
+libdata/hengband/file/a_low_j.txt
+libdata/hengband/file/a_med.txt
+libdata/hengband/file/a_med_j.txt
+libdata/hengband/file/aname_j.txt
+libdata/hengband/file/book-0_jp.txt
+libdata/hengband/file/chainswd.txt
+libdata/hengband/file/chainswd_j.txt
+libdata/hengband/file/dead.txt
+libdata/hengband/file/dead_j.txt
+libdata/hengband/file/death.txt
+libdata/hengband/file/death_j.txt
+libdata/hengband/file/elvish.txt
+libdata/hengband/file/elvish_j.txt
+libdata/hengband/file/error.txt
+libdata/hengband/file/error_j.txt
+libdata/hengband/file/mondeath.txt
+libdata/hengband/file/mondeath_j.txt
+libdata/hengband/file/monfear.txt
+libdata/hengband/file/monfear_j.txt
+libdata/hengband/file/monfrien.txt
+libdata/hengband/file/monfrien_j.txt
+libdata/hengband/file/monspeak.txt
+libdata/hengband/file/monspeak_j.txt
+libdata/hengband/file/news.txt
+libdata/hengband/file/news_j.txt
+libdata/hengband/file/rumors.txt
+libdata/hengband/file/rumors_j.txt
+libdata/hengband/file/seppuku.txt
+libdata/hengband/file/seppuku_j.txt
+libdata/hengband/file/silly.txt
+libdata/hengband/file/silly_j.txt
+libdata/hengband/file/timefun.txt
+libdata/hengband/file/timefun_j.txt
+libdata/hengband/file/timenorm.txt
+libdata/hengband/file/timenorm_j.txt
+libdata/hengband/file/w_cursed.txt
+libdata/hengband/file/w_cursed_j.txt
+libdata/hengband/file/w_high.txt
+libdata/hengband/file/w_high_j.txt
+libdata/hengband/file/w_low.txt
+libdata/hengband/file/w_low_j.txt
+libdata/hengband/file/w_med.txt
+libdata/hengband/file/w_med_j.txt
+libdata/hengband/help/attack.hlp
+libdata/hengband/help/attack.txt
+libdata/hengband/help/birth.hlp
+libdata/hengband/help/birth.txt
+libdata/hengband/help/bldg.txt
+libdata/hengband/help/command.hlp
+libdata/hengband/help/command.txt
+libdata/hengband/help/commdesc.hlp
+libdata/hengband/help/commdesc.txt
+libdata/hengband/help/defend.hlp
+libdata/hengband/help/defend.txt
+libdata/hengband/help/dungeon.hlp
+libdata/hengband/help/dungeon.txt
+libdata/hengband/help/gambling.txt
+libdata/hengband/help/general.hlp
+libdata/hengband/help/general.txt
+libdata/hengband/help/help.hlp
+libdata/hengband/help/helpinfo.txt
+libdata/hengband/help/j_general.txt
+libdata/hengband/help/j_item1.txt
+libdata/hengband/help/j_item2.txt
+libdata/hengband/help/j_trans.txt
+libdata/hengband/help/jattack.hlp
+libdata/hengband/help/jattack.txt
+libdata/hengband/help/jbirth.hlp
+libdata/hengband/help/jbirth.txt
+libdata/hengband/help/jbldg.txt
+libdata/hengband/help/jcommand.hlp
+libdata/hengband/help/jcommand.txt
+libdata/hengband/help/jcommdesc.hlp
+libdata/hengband/help/jcommdesc.txt
+libdata/hengband/help/jdefend.hlp
+libdata/hengband/help/jdefend.txt
+libdata/hengband/help/jdungeon.hlp
+libdata/hengband/help/jdungeon.txt
+libdata/hengband/help/jgambling.txt
+libdata/hengband/help/jgeneral.hlp
+libdata/hengband/help/jgeneral.txt
+libdata/hengband/help/jhelp.hlp
+libdata/hengband/help/jhelpinfo.txt
+libdata/hengband/help/jlicense.txt
+libdata/hengband/help/jmagic.hlp
+libdata/hengband/help/jmagic.txt
+libdata/hengband/help/jmonster.hlp
+libdata/hengband/help/jmonster.txt
+libdata/hengband/help/jobjects.hlp
+libdata/hengband/help/jobjects.txt
+libdata/hengband/help/joption.hlp
+libdata/hengband/help/joption.txt
+libdata/hengband/help/jpref.hlp
+libdata/hengband/help/jpref.txt
+libdata/hengband/help/jraceclas.hlp
+libdata/hengband/help/jraceclas.txt
+libdata/hengband/help/jspecial.hlp
+libdata/hengband/help/jtang.txt
+libdata/hengband/help/jtown.hlp
+libdata/hengband/help/jtown.txt
+libdata/hengband/help/jversion.txt
+libdata/hengband/help/magic.hlp
+libdata/hengband/help/magic.txt
+libdata/hengband/help/monster.hlp
+libdata/hengband/help/monster.txt
+libdata/hengband/help/objects.hlp
+libdata/hengband/help/objects.txt
+libdata/hengband/help/option.hlp
+libdata/hengband/help/option.txt
+libdata/hengband/help/pref.hlp
+libdata/hengband/help/pref.txt
+libdata/hengband/help/raceclas.hlp
+libdata/hengband/help/raceclas.txt
+libdata/hengband/help/tang.txt
+libdata/hengband/help/town.hlp
+libdata/hengband/help/town.txt
+libdata/hengband/help/version.txt
+libdata/hengband/info/delete.me
+libdata/hengband/pref/colors.prf
+libdata/hengband/pref/font-ami.prf
+libdata/hengband/pref/font-dos.prf
+libdata/hengband/pref/font-ibm.prf
+libdata/hengband/pref/font-mac.prf
+libdata/hengband/pref/font-mon.prf
+libdata/hengband/pref/font-win.prf
+libdata/hengband/pref/font-x11.prf
+libdata/hengband/pref/font-xxx.prf
+libdata/hengband/pref/font.prf
+libdata/hengband/pref/graf-ami.prf
+libdata/hengband/pref/graf-dos.prf
+libdata/hengband/pref/graf-gcu.prf
+libdata/hengband/pref/graf-ibm.prf
+libdata/hengband/pref/graf-mac.prf
+libdata/hengband/pref/graf-new.prf
+libdata/hengband/pref/graf-win.prf
+libdata/hengband/pref/graf-x11.prf
+libdata/hengband/pref/graf-xaw.prf
+libdata/hengband/pref/graf-xxx.prf
+libdata/hengband/pref/graf.prf
+libdata/hengband/pref/pickpref.prf
+libdata/hengband/pref/picktype.prf
+libdata/hengband/pref/pref-acn.prf
+libdata/hengband/pref/pref-ami.prf
+libdata/hengband/pref/pref-emx.prf
+libdata/hengband/pref/pref-gcu.prf
+libdata/hengband/pref/pref-key.prf
+libdata/hengband/pref/pref-mac.prf
+libdata/hengband/pref/pref-opt.prf
+libdata/hengband/pref/pref-win.prf
+libdata/hengband/pref/pref-x11.prf
+libdata/hengband/pref/pref.prf
+libdata/hengband/pref/proxy.prf
+libdata/hengband/pref/spell-xx.prf
+libdata/hengband/pref/user-win.prf
+libdata/hengband/pref/user.prf
+libdata/hengband/pref/xtra-gcu.prf
+libdata/hengband/pref/xtra-new.prf
+libdata/hengband/pref/xtra-xxx.prf
+libdata/hengband/script/delete.me
+libdata/hengband/xtra/graf/16x16.bmp
+libdata/hengband/xtra/graf/8x8.bmp
+libdata/hengband/xtra/graf/mask.bmp
+share/doc/hengband/autopick.txt
+share/doc/hengband/autopick_eng.txt
+share/doc/hengband/readme.txt
+share/doc/hengband/readme_angband
+share/doc/hengband/readme_eng.txt
diff --git a/games/hengband/distinfo b/games/hengband/distinfo
new file mode 100644
index 00000000000..562c096e5c7
--- /dev/null
+++ b/games/hengband/distinfo
@@ -0,0 +1,16 @@
+$NetBSD: distinfo,v 1.1 2020/01/24 13:33:32 pho Exp $
+
+SHA1 (heng-graf-16x16.tar.gz) = 27166a215209f3ec0f2c4a61761fce5d802cddc1
+RMD160 (heng-graf-16x16.tar.gz) = eb2e8034d43709b9b7e06b69eac4b6a84d026cc1
+SHA512 (heng-graf-16x16.tar.gz) = 4641e12122b13015d03f8a7f3dcba72797495451f15c04eab2d6ea1fd57d082e11eea3115056c2a2203032db973bea01476ecb2389a7a730e98e972c41756dfa
+Size (heng-graf-16x16.tar.gz) = 381027 bytes
+SHA1 (hengband-1.6.2.tar.bz2) = 32156fe9363309ba75273d6c8ebb8f2043c97129
+RMD160 (hengband-1.6.2.tar.bz2) = 59f41666dd1724f03739d5fa078e537467dbf36e
+SHA512 (hengband-1.6.2.tar.bz2) = 24c67f00556d7899b4f18f3071c4bd50bc754566c4c4736c18248ced243b1332e6c84381250c1a59358e7a914e5d62db05c47ab0921bcf40fbd6cfe4b6717520
+Size (hengband-1.6.2.tar.bz2) = 2029169 bytes
+SHA1 (patch-lib_Makefile.am) = 35a066930834f9ea23c6ce9fb2a088c7ec86c28a
+SHA1 (patch-lib_xtra_graf_Makefile.am) = 71d8e17bfc39a689ab30f3a02b5f052687bcf1db
+SHA1 (patch-src_Makefile.am) = 57f08de8ecbd8083917fe36436286b7b1aef307c
+SHA1 (patch-src_h-type.h) = b9327f3110d831a2b5ce711450fe73e0d093e5ad
+SHA1 (patch-src_init2.c) = fe7064f23bce494ced5a524f2a60117ac0ef56ff
+SHA1 (patch-src_main-gcu.c) = 8bffb440de8beb18a45b9257a95e33e033260036
diff --git a/games/hengband/options.mk b/games/hengband/options.mk
new file mode 100644
index 00000000000..2c5e36646f6
--- /dev/null
+++ b/games/hengband/options.mk
@@ -0,0 +1,39 @@
+# $NetBSD: options.mk,v 1.1 2020/01/24 13:33:32 pho Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.hengband
+PKG_SUPPORTED_OPTIONS= lang-ja
+PKG_OPTIONS_NONEMPTY_SETS= ui
+PKG_OPTIONS_SET.ui= ncurses curses termcap x11
+PKG_SUGGESTED_OPTIONS= ncurses x11
+
+.include "../../mk/bsd.options.mk"
+
+###
+### Language (English or Japanese)
+###
+.if empty(PKG_OPTIONS:Mlang-ja)
+CONFIGURE_ARGS+= --disable-japanese
+.endif
+
+###
+### TTY support
+###
+.if !empty(PKG_OPTIONS:Mncurses)
+.include "../../devel/ncurses/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mcurses)
+.include "../../mk/curses.buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Mtermcap)
+.include "../../mk/termcap.buildlink3.mk"
+.endif
+
+###
+### X11 support
+###
+.if !empty(PKG_OPTIONS:Mx11)
+.include "../../x11/libX11/buildlink3.mk"
+.include "../../x11/libXt/buildlink3.mk"
+.endif
diff --git a/games/hengband/patches/patch-lib_Makefile.am b/games/hengband/patches/patch-lib_Makefile.am
new file mode 100644
index 00000000000..1684aa143c2
--- /dev/null
+++ b/games/hengband/patches/patch-lib_Makefile.am
@@ -0,0 +1,13 @@
+$NetBSD: patch-lib_Makefile.am,v 1.1 2020/01/24 13:33:33 pho Exp $
+
+Don't create directories that need special handling. This is
+pkgsrc-specific.
+
+--- lib/Makefile.am.orig 2020-01-23 15:28:26.780752530 +0000
++++ lib/Makefile.am
+@@ -2,4 +2,4 @@
+
+ AUTOMAKE_OPTIONS = foreign
+
+-SUBDIRS = apex bone data edit file help info pref save script user xtra
++SUBDIRS = edit file help info pref script xtra
diff --git a/games/hengband/patches/patch-lib_xtra_graf_Makefile.am b/games/hengband/patches/patch-lib_xtra_graf_Makefile.am
new file mode 100644
index 00000000000..688db2fcca6
--- /dev/null
+++ b/games/hengband/patches/patch-lib_xtra_graf_Makefile.am
@@ -0,0 +1,15 @@
+$NetBSD: patch-lib_xtra_graf_Makefile.am,v 1.1 2020/01/24 13:33:33 pho Exp $
+
+Install 16x16 tile set too.
+
+--- lib/xtra/graf/Makefile.am.orig 2020-01-23 17:09:20.857756573 +0000
++++ lib/xtra/graf/Makefile.am
+@@ -1,7 +1,7 @@
+ ## Makefile.am -- Process this file with automake to process Makefile.in
+
+ angband_files = \
+- 8x8.bmp
++ 8x8.bmp 16x16.bmp mask.bmp
+
+ EXTRA_DIST = \
+ $(angband_files)
diff --git a/games/hengband/patches/patch-src_Makefile.am b/games/hengband/patches/patch-src_Makefile.am
new file mode 100644
index 00000000000..e735ca58ef9
--- /dev/null
+++ b/games/hengband/patches/patch-src_Makefile.am
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_Makefile.am,v 1.1 2020/01/24 13:33:33 pho Exp $
+
+Support user-destdir build
+
+--- src/Makefile.am.orig 2003-11-03 02:56:44.000000000 +0000
++++ src/Makefile.am
+@@ -29,9 +29,3 @@ EXTRA_hengband_SOURCES = \
+ main-dos.c main-ibm.c \
+ makefile.bcc makefile.std makefile.dos makefile.ibm \
+ readdib.c wall.bmp
+-
+-install-exec-hook:
+-if SET_GID
+- chgrp "@GAMEGROUP@" "$(DESTDIR)$(bindir)/hengband"
+- chmod g+s "$(DESTDIR)$(bindir)/hengband"
+-endif
diff --git a/games/hengband/patches/patch-src_h-type.h b/games/hengband/patches/patch-src_h-type.h
new file mode 100644
index 00000000000..1648cd4b605
--- /dev/null
+++ b/games/hengband/patches/patch-src_h-type.h
@@ -0,0 +1,47 @@
+$NetBSD: patch-src_h-type.h,v 1.1 2020/01/24 13:33:33 pho Exp $
+
+Use the correct int types. The original code doesn't work on 64-bits
+machines.
+
+--- src/h-type.h.orig 2017-04-30 13:03:32.000000000 +0000
++++ src/h-type.h
+@@ -3,6 +3,8 @@
+ #ifndef INCLUDED_H_TYPE_H
+ #define INCLUDED_H_TYPE_H
+
++#include <stdint.h>
++
+ /*
+ * Basic "types".
+ *
+@@ -91,7 +93,7 @@ typedef int errr;
+
+ /* Note that unsigned values can cause math problems */
+ /* An unsigned byte of memory */
+-typedef unsigned char byte;
++typedef uint8_t byte;
+
+ /* Note that a bool is smaller than a full "int" */
+ /* Simple True/False type */
+@@ -113,17 +115,12 @@ typedef unsigned long huge;
+
+
+ /* Signed/Unsigned 16 bit value */
+-typedef signed short s16b;
+-typedef unsigned short u16b;
++typedef int16_t s16b;
++typedef uint16_t u16b;
+
+ /* Signed/Unsigned 32 bit value */
+-#ifdef L64 /* 64 bit longs */
+-typedef signed int s32b;
+-typedef unsigned int u32b;
+-#else
+-typedef signed long s32b;
+-typedef unsigned long u32b;
+-#endif
++typedef int32_t s32b;
++typedef uint32_t u32b;
+
+
+
diff --git a/games/hengband/patches/patch-src_init2.c b/games/hengband/patches/patch-src_init2.c
new file mode 100644
index 00000000000..5978e275d93
--- /dev/null
+++ b/games/hengband/patches/patch-src_init2.c
@@ -0,0 +1,38 @@
+$NetBSD: patch-src_init2.c,v 1.1 2020/01/24 13:33:33 pho Exp $
+
+Directories that contain things like score files have to be placed
+under ${VARBASE}, because ${PREFIX}/libdata is meant to be
+read-only. This is pkgsrc-specific.
+
+--- src/init2.c.orig 2020-01-23 15:49:35.185187295 +0000
++++ src/init2.c
+@@ -139,16 +139,13 @@ void init_file_paths(char *path)
+ /*** Build the sub-directory names ***/
+
+ /* Build a path name */
+- strcpy(tail, "apex");
+- ANGBAND_DIR_APEX = string_make(path);
++ ANGBAND_DIR_APEX = string_make("@HENGBAND_VARDIR@/apex");
+
+ /* Build a path name */
+- strcpy(tail, "bone");
+- ANGBAND_DIR_BONE = string_make(path);
++ ANGBAND_DIR_BONE = string_make("@HENGBAND_VARDIR@/bone");
+
+ /* Build a path name */
+- strcpy(tail, "data");
+- ANGBAND_DIR_DATA = string_make(path);
++ ANGBAND_DIR_DATA = string_make("@HENGBAND_VARDIR@/data");
+
+ /* Build a path name */
+ strcpy(tail, "edit");
+@@ -175,8 +172,7 @@ void init_file_paths(char *path)
+ ANGBAND_DIR_PREF = string_make(path);
+
+ /* Build a path name */
+- strcpy(tail, "save");
+- ANGBAND_DIR_SAVE = string_make(path);
++ ANGBAND_DIR_SAVE = string_make("@HENGBAND_VARDIR@/save");
+
+ #ifdef PRIVATE_USER_PATH
+
diff --git a/games/hengband/patches/patch-src_main-gcu.c b/games/hengband/patches/patch-src_main-gcu.c
new file mode 100644
index 00000000000..c4f4d0e7972
--- /dev/null
+++ b/games/hengband/patches/patch-src_main-gcu.c
@@ -0,0 +1,25 @@
+$NetBSD: patch-src_main-gcu.c,v 1.1 2020/01/24 13:33:33 pho Exp $
+
+A WINDOW object in ncurses is an opaque pointer and thus we cannot
+access its members directly.
+
+--- src/main-gcu.c.orig 2017-04-27 09:55:49.000000000 +0000
++++ src/main-gcu.c
+@@ -600,7 +600,7 @@ static errr Term_xtra_gcu_alive(int v)
+ mvcur(curscr->cury, curscr->curx, LINES - 1, 0);
+ #else
+ /* this moves curses to bottom right corner */
+- mvcur(curscr->_cury, curscr->_curx, LINES - 1, 0);
++ mvcur(getcury(curscr), getcurx(curscr), LINES - 1, 0);
+ #endif
+
+ /* Exit curses */
+@@ -736,7 +736,7 @@ static void Term_nuke_gcu(term *t)
+ mvcur(curscr->cury, curscr->curx, LINES - 1, 0);
+ #else
+ /* This moves curses to bottom right corner */
+- mvcur(curscr->_cury, curscr->_curx, LINES - 1, 0);
++ mvcur(getcury(curscr), getcurx(curscr), LINES - 1, 0);
+ #endif
+
+ /* Flush the curses buffer */