summaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
authorpho <pho@pkgsrc.org>2020-01-24 13:33:32 +0000
committerpho <pho@pkgsrc.org>2020-01-24 13:33:32 +0000
commitd6e28adaabb7b49c32a64e48f569494521f2384c (patch)
tree007731da7e7d573664783a06a51949a91f4047bf /games
parent085ffed69cc4ff31dd4e6249de19d1feff3b7685 (diff)
downloadpkgsrc-d6e28adaabb7b49c32a64e48f569494521f2384c.tar.gz
Import hengband-1.6.2 from wip
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.
Diffstat (limited to 'games')
-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 */