summaryrefslogtreecommitdiff
path: root/games-roguelike
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /games-roguelike
reinit the tree, so we can have metadata
Diffstat (limited to 'games-roguelike')
-rw-r--r--games-roguelike/FTL/FTL-1.5.13.ebuild65
-rw-r--r--games-roguelike/FTL/Manifest5
-rw-r--r--games-roguelike/FTL/metadata.xml20
-rw-r--r--games-roguelike/adom/Manifest5
-rw-r--r--games-roguelike/adom/adom-1.1.1-r1.ebuild38
-rw-r--r--games-roguelike/adom/metadata.xml8
-rw-r--r--games-roguelike/angband/Manifest9
-rw-r--r--games-roguelike/angband/angband-4.0.4.ebuild116
-rw-r--r--games-roguelike/angband/angband-4.0.5-r1.ebuild115
-rw-r--r--games-roguelike/angband/angband-4.0.5.ebuild116
-rw-r--r--games-roguelike/angband/files/angband-4.0.5-pie-gcc.patch13
-rw-r--r--games-roguelike/angband/metadata.xml11
-rw-r--r--games-roguelike/crossfire-client/Manifest6
-rw-r--r--games-roguelike/crossfire-client/crossfire-client-1.71.0-r1.ebuild80
-rw-r--r--games-roguelike/crossfire-client/crossfire-client-1.71.0-r2.ebuild79
-rw-r--r--games-roguelike/crossfire-client/metadata.xml11
-rw-r--r--games-roguelike/dwarf-fortress/Manifest9
-rw-r--r--games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild84
-rw-r--r--games-roguelike/dwarf-fortress/files/Makefile32
-rw-r--r--games-roguelike/dwarf-fortress/files/Makefile.native28
-rw-r--r--games-roguelike/dwarf-fortress/files/dwarf-fortress24
-rw-r--r--games-roguelike/dwarf-fortress/metadata.xml18
-rw-r--r--games-roguelike/hengband/Manifest8
-rw-r--r--games-roguelike/hengband/files/hengband-1.6.2-added_faq.patch163
-rw-r--r--games-roguelike/hengband/files/hengband-1.6.2-ovflfix.patch11
-rw-r--r--games-roguelike/hengband/hengband-1.6.2-r1.ebuild62
-rw-r--r--games-roguelike/hengband/metadata.xml11
-rw-r--r--games-roguelike/mangband/Manifest6
-rw-r--r--games-roguelike/mangband/files/mangband-1.1.3-paths.patch118
-rw-r--r--games-roguelike/mangband/files/mangband-1.1.3-strchr.patch22
-rw-r--r--games-roguelike/mangband/mangband-1.1.3.ebuild83
-rw-r--r--games-roguelike/mangband/metadata.xml12
-rw-r--r--games-roguelike/mazesofmonad/Manifest7
-rw-r--r--games-roguelike/mazesofmonad/files/mazesofmonad-1.0.9-time-1.5.patch22
-rw-r--r--games-roguelike/mazesofmonad/mazesofmonad-1.0.9-r2.ebuild61
-rw-r--r--games-roguelike/mazesofmonad/mazesofmonad-1.0.9-r3.ebuild37
-rw-r--r--games-roguelike/mazesofmonad/metadata.xml25
-rw-r--r--games-roguelike/metadata.xml37
-rw-r--r--games-roguelike/moria/Manifest11
-rw-r--r--games-roguelike/moria/files/5.5.2-fbsd.patch268
-rw-r--r--games-roguelike/moria/files/5.5.2-gentoo-paths.patch58
-rw-r--r--games-roguelike/moria/files/5.5.2-glibc.patch356
-rw-r--r--games-roguelike/moria/files/5.5.2-hours.patch30
-rw-r--r--games-roguelike/moria/files/5.5.2-warnings.patch12
-rw-r--r--games-roguelike/moria/metadata.xml8
-rw-r--r--games-roguelike/moria/moria-5.5.2.ebuild70
-rw-r--r--games-roguelike/nethack/Manifest10
-rw-r--r--games-roguelike/nethack/files/nethack-3.6.0-hint-tty19
-rw-r--r--games-roguelike/nethack/files/nethack-3.6.0-hint-x1123
-rw-r--r--games-roguelike/nethack/files/nethack-3.6.0-nethackrc103
-rw-r--r--games-roguelike/nethack/files/nethack-3.6.0-recover.patch110
-rw-r--r--games-roguelike/nethack/files/nethack-3.6.0-x11-color.patch186
-rw-r--r--games-roguelike/nethack/metadata.xml19
-rw-r--r--games-roguelike/nethack/nethack-3.6.0-r3.ebuild143
-rw-r--r--games-roguelike/powder/Manifest6
-rw-r--r--games-roguelike/powder/metadata.xml8
-rw-r--r--games-roguelike/powder/powder-117-r1.ebuild37
-rw-r--r--games-roguelike/powder/powder-117.ebuild39
-rw-r--r--games-roguelike/rogue/Manifest5
-rw-r--r--games-roguelike/rogue/metadata.xml8
-rw-r--r--games-roguelike/rogue/rogue-5.4.4.ebuild31
-rw-r--r--games-roguelike/scourge/Manifest9
-rw-r--r--games-roguelike/scourge/files/scourge-0.21.1-automake-1.13.patch11
-rw-r--r--games-roguelike/scourge/files/scourge-0.21.1-gcc47.patch12
-rw-r--r--games-roguelike/scourge/files/scourge-0.21.1-gcc6.patch34
-rw-r--r--games-roguelike/scourge/metadata.xml11
-rw-r--r--games-roguelike/scourge/scourge-0.21.1-r1.ebuild64
-rw-r--r--games-roguelike/stone-soup/Manifest11
-rw-r--r--games-roguelike/stone-soup/files/stone-soup-0.16.2-Use-pkg-config-for-linking-to-ncurses.patch49
-rw-r--r--games-roguelike/stone-soup/files/stone-soup-0.16.2-perl526.patch48
-rw-r--r--games-roguelike/stone-soup/files/stone-soup-0.16.2-respect-flags-and-compiler.patch110
-rw-r--r--games-roguelike/stone-soup/metadata.xml41
-rw-r--r--games-roguelike/stone-soup/stone-soup-0.16.2-r1.ebuild144
-rw-r--r--games-roguelike/stone-soup/stone-soup-0.16.2.ebuild144
-rw-r--r--games-roguelike/tome/Manifest8
-rw-r--r--games-roguelike/tome/files/2.3.5-gentoo-paths.patch31
-rw-r--r--games-roguelike/tome/files/tome-2.3.5-format.patch88
-rw-r--r--games-roguelike/tome/files/tome-2.3.5-noX.patch11
-rw-r--r--games-roguelike/tome/metadata.xml8
-rw-r--r--games-roguelike/tome/tome-2.3.5.ebuild124
-rw-r--r--games-roguelike/tomenet/Manifest8
-rw-r--r--games-roguelike/tomenet/files/tomenet-4.6.1a-makefile.patch77
-rw-r--r--games-roguelike/tomenet/files/tomenet-server-wrapper6
-rw-r--r--games-roguelike/tomenet/files/tomenet-wrapper18
-rw-r--r--games-roguelike/tomenet/metadata.xml21
-rw-r--r--games-roguelike/tomenet/tomenet-4.6.1a.ebuild99
-rw-r--r--games-roguelike/wrogue/Manifest7
-rw-r--r--games-roguelike/wrogue/files/wrogue-0.8.0b-ldflags.patch29
-rw-r--r--games-roguelike/wrogue/metadata.xml15
-rw-r--r--games-roguelike/wrogue/wrogue-0.8.0b-r1.ebuild48
-rw-r--r--games-roguelike/wrogue/wrogue-0.8.0b.ebuild45
-rw-r--r--games-roguelike/zangband/Manifest9
-rw-r--r--games-roguelike/zangband/files/zangband-2.7.4c-configure.patch51
-rw-r--r--games-roguelike/zangband/files/zangband-2.7.4c-makefile.patch29
-rw-r--r--games-roguelike/zangband/files/zangband-2.7.4c-rng.patch11
-rw-r--r--games-roguelike/zangband/files/zangband-2.7.4c-tk85.patch19
-rw-r--r--games-roguelike/zangband/metadata.xml8
-rw-r--r--games-roguelike/zangband/zangband-2.7.4c.ebuild62
98 files changed, 4657 insertions, 0 deletions
diff --git a/games-roguelike/FTL/FTL-1.5.13.ebuild b/games-roguelike/FTL/FTL-1.5.13.ebuild
new file mode 100644
index 000000000000..7af82e11915f
--- /dev/null
+++ b/games-roguelike/FTL/FTL-1.5.13.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils games
+
+DESCRIPTION="Faster Than Light: A spaceship simulation real-time roguelike-like game"
+HOMEPAGE="http://www.ftlgame.com/"
+SRC_URI="FTL.${PV}.tar.gz"
+
+LICENSE="all-rights-reserved Boost-1.0 free-noncomm MIT bundled-libs? ( FTL LGPL-2.1 ZLIB libpng )"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="bundled-libs"
+RESTRICT="fetch bindist splitdebug"
+
+RDEPEND="
+ sys-devel/gcc[cxx]
+ virtual/opengl
+ !bundled-libs? (
+ media-libs/devil[png]
+ media-libs/freetype:2
+ media-libs/libsdl[X,sound,joystick,opengl,video]
+ sys-libs/zlib
+ )"
+
+QA_PREBUILT="${GAMES_PREFIX_OPT#/}/${PN}/bin/${PN}
+ ${GAMES_PREFIX_OPT#/}/${PN}/lib/*"
+
+S=${WORKDIR}/${PN}
+
+pkg_nofetch() {
+ einfo "Please buy & download ${SRC_URI} from:"
+ einfo " ${HOMEPAGE}"
+ einfo "and move it to ${DISTDIR}"
+ einfo
+}
+
+src_prepare() {
+ if ! use bundled-libs ; then
+ # no system lib for libbass available
+ find data/${ARCH}/lib -type f \! -name "libbass*" -delete || die
+ fi
+}
+
+src_install() {
+ local dir=${GAMES_PREFIX_OPT}/${PN}
+
+ insinto "${dir}"
+ doins -r data/resources
+
+ exeinto "${dir}"/bin
+ doexe data/${ARCH}/bin/${PN}
+ exeinto "${dir}"/lib
+ doexe data/${ARCH}/lib/*.so*
+
+ games_make_wrapper ${PN} "${dir}/bin/${PN}" "${dir}" "${dir}/lib"
+ make_desktop_entry ${PN} "Faster Than Light" "/usr/share/pixmaps/FTL.bmp"
+
+ newicon data/resources/exe_icon.bmp FTL.bmp
+ dohtml ${PN}_README.html
+
+ prepgamesdirs
+}
diff --git a/games-roguelike/FTL/Manifest b/games-roguelike/FTL/Manifest
new file mode 100644
index 000000000000..3985ca553a73
--- /dev/null
+++ b/games-roguelike/FTL/Manifest
@@ -0,0 +1,5 @@
+DIST FTL.1.5.13.tar.gz 197569383 SHA256 babdfafceec744f36dd663966813098669a983f94d243265dd57104ffbfb7055 SHA512 129aa9ea13b6889520cb637bcbda0452f3dc2e8d93fb0e4d1c7938436d776b39a0a33b4e9d943e058ab5c80dcbb6e7bb874d0a78bd8a2a5a3a7e34159e1faac9 WHIRLPOOL 23f9af234d3f81555fa2ca1533708e785fb82ba992c5fc836b6db1fe330e43c1b22927837a0cd000718e9adda8d3d9feb3abda8ca72463e9dc2aa75378db4c00
+EBUILD FTL-1.5.13.ebuild 1496 SHA256 1b99ffb825b4929abedb8964d340fea70054cd2b1fda35040718605f7fa4793c SHA512 29b3e123f46ebc39b552208af43e40ca39793756aa58b814ee87f74af6e997dde2eeb2bda4e8f6dc70f43cd097ba5d0fe72f000b909a8802c2fab54b934db8b2 WHIRLPOOL b1bb03ee1e22fba4a9bc703faa5d39ee2a29ea01d24e45862ca320b51aadf5f51c4e4020814bccc6ebbfb1c6a1daa83eecd5f6f5d73218edbd85c66f71f18851
+MISC ChangeLog 2817 SHA256 4575766e93a755dbe4713944315625392e684b783623b2d42fbb7c8b461bd4ef SHA512 ca5a1923802ab79dcb4644f4e4546ac556b182715aa81a5564037a2d95002bfcdecffb2b652a321c5d30f61b533126d79e5e4a8c094f35bc2ae859697079921d WHIRLPOOL 85d3f86e056e4dee3aa8f750e27e40cf1e9e64811340d9980d7c8ed07dc1e9007944efbe0b7e9d0c8871061e75a90404251f07a52dc16de829e044500f235eed
+MISC ChangeLog-2015 2678 SHA256 b1d0c41d4bac5feb8e23c55af655d70f803f389daba8b945748a16dbdd464506 SHA512 4da01b4f7f18725e61ac32593af947c33d1939356ff2af7f59cc5b406f45e7198561cb2e720abc8a5ec41257ce31289b3d24cea1893a21b6b136b8ed0450c1b9 WHIRLPOOL 71108ed55e3853e6b60d559ee5fedcbebb37b68ee6c5bdf39caabd0ee0f9ca87f87b48dc2cc030ecf732e745af5f16d04988ab17e1e012f08edcb34eb11705f0
+MISC metadata.xml 593 SHA256 e42a3400dbcc6c13fcdc931f41da5fa9a07b90563d4d8a1bf24a2443ff0c61a3 SHA512 b7d805ccd3aa99a771370190fd33f6254fe3e5dba0be56379c3fbebda94a10815750a41e47f696d76e2e927f951f20d292d378c15cd73e1a5700aa0059eb7a3d WHIRLPOOL 21031f004d8dabd7c39a7f2c960574af308745412fbe64f70915c28d3b087295bc93c2d48862d4ade0844fd0ad7a7dece7589704bb3a4447f18215fad2520724
diff --git a/games-roguelike/FTL/metadata.xml b/games-roguelike/FTL/metadata.xml
new file mode 100644
index 000000000000..35261acd711f
--- /dev/null
+++ b/games-roguelike/FTL/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu</name>
+ <description>Proxied maintainer</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="bundled-libs">Use bundled libraries.</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-roguelike/adom/Manifest b/games-roguelike/adom/Manifest
new file mode 100644
index 000000000000..724451b08d27
--- /dev/null
+++ b/games-roguelike/adom/Manifest
@@ -0,0 +1,5 @@
+DIST adom-111-elf.tar.gz 1001683 SHA256 3200e814c6c70f1a3ecb6e82651803db2f837c2b398ca597c7ddffea773438bb SHA512 7b1d8916f66273b4ab06edd2d77c30e2edce827d346451d83c677af32492c40e5c578a8450ab3cc9be7888a0052a0960306e97db408e8581700c71c1b480b128 WHIRLPOOL 65d3df96bbab1af8d4110fc130f197eb715eb8d52e67390ff49340c9d88ea6238335bc089cf99972c4f7598605d5acaa6d929257ebf7b6752e89df3268fc13d9
+EBUILD adom-1.1.1-r1.ebuild 857 SHA256 6b88c47d3ac80ed6679097f9d85b06f915a1e3b59316d068866e0c389c310551 SHA512 c4f31dea5e9cd5c1398c3c9af9dcbb4530f92fae5328044eba72eb91c8a1764fb37bc7d4163b2ee4b4539ad3d95f189f5aed87ed21850e51e2700ad9c2a0db0e WHIRLPOOL ec83435ee73bc24acf70192d4578ce7b7dce6fb6500685c9ff221b105dc1ee5cb5ff28843d2f5d19db870da900a8847261e7a49a060d9d9ccd0093b0f5cc4669
+MISC ChangeLog 2636 SHA256 462616f1743a678b70beb56ff4007fc297abf698339afcb37a3812b6a1c3a6f2 SHA512 5adb4bbc5a954f5a92ab8094db70a6b8851224113fdb5b5f2313f9db0ccf3c5b4ceaad71d2cbb69370f962bfaac6c0c2d8586820cf62489d15a18ffad16cdad3 WHIRLPOOL 0108166f8ac93320818ba5eb2cf605652942e2f8a41190ca57a638b8f5dbfe6da91d9a46141167b28e31c38a2a2adda4824624c720cf5f96b1eda34e9768e06e
+MISC ChangeLog-2015 1524 SHA256 97f0bfb5268a8da8440c14ee52a48cd35810fc3b5468e26086e800d8008ce18c SHA512 904f1e890620e2235e27f38c960d27daeb392dc34cda508ba2984b3191e2e75f947213d61f1523c190131351864ec4e54339f69cdf4fd7b5fc0e7f2d8aaef1f0 WHIRLPOOL 859e0d48b6f98368c638380fb26ecc0243a9f840a9fa2ecab72762082f3b32fbec02b1842273c4e73d081abb9ad101b31041fd0c102613c9b56b33bc049ea5f2
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-roguelike/adom/adom-1.1.1-r1.ebuild b/games-roguelike/adom/adom-1.1.1-r1.ebuild
new file mode 100644
index 000000000000..bf9c4ed20b12
--- /dev/null
+++ b/games-roguelike/adom/adom-1.1.1-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="Ancient Domains Of Mystery rogue-like game"
+HOMEPAGE="http://www.adom.de/"
+SRC_URI="http://www.adom.de/adom/download/linux/${P//.}-elf.tar.gz"
+
+LICENSE="adom"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+RESTRICT="strip" #bug #137340
+QA_FLAGS_IGNORED="${GAMES_PREFIX_OPT:1}/bin/adom"
+
+RDEPEND="|| (
+ >=sys-libs/ncurses-5.9-r3:0/5[abi_x86_32(-)]
+ >=sys-libs/ncurses-5.9-r3:5/5[abi_x86_32(-)] )"
+
+S=${WORKDIR}/${PN}
+
+src_install() {
+ exeinto "${GAMES_PREFIX_OPT}/bin"
+ doexe adom
+
+ keepdir "${GAMES_STATEDIR}/${PN}"
+ echo "${GAMES_STATEDIR}/${PN}" > adom_ds.cfg
+ insinto /etc
+ doins adom_ds.cfg
+
+ edos2unix adomfaq.txt
+ dodoc adomfaq.txt manual.doc readme.1st
+
+ prepgamesdirs
+ fperms g+w "${GAMES_STATEDIR}/${PN}"
+}
diff --git a/games-roguelike/adom/metadata.xml b/games-roguelike/adom/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-roguelike/adom/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-roguelike/angband/Manifest b/games-roguelike/angband/Manifest
new file mode 100644
index 000000000000..15efd5d5d59a
--- /dev/null
+++ b/games-roguelike/angband/Manifest
@@ -0,0 +1,9 @@
+AUX angband-4.0.5-pie-gcc.patch 453 SHA256 4eec632135ffbdb1f266fd4950061cecb4d9f9bf5dd6b3574e60aaf799627da1 SHA512 1173ab1e5eebfba393d34085d6896b9633ec5be4914cfe3925082b6ff8ba8194b6a85970c998dc268d84e71ac524b885a66becbaa2a28ee17acfc11d4957fb3a WHIRLPOOL 97a2e53d61b598039b99c10f92a1c7315812891afa49a23f739f829ceb7ea2b0a73963347e7472bff85f1dd386fcc4f9f74c5331acc26d60fcd51ef167f3d4e7
+DIST angband-4.0.4.tar.gz 19888293 SHA256 93f95444304d5178d23569dbd3dbe1eb29747201d353c676206f26b5bec4667c SHA512 73dbf0782f042dbc5ee9fe42430041f447a58ec14076280d2d6a44ec2b338dd4a7c220dc36f1b214380852283fb0d6e56fb338c2da95911b450714fb7f71e680 WHIRLPOOL aafa1fb9f0a54f8a39cb194e86fc4df43f0d773da58703b401cda0856ef2f99db7f351f444a3e0405b140a6130dd2da6fb318fde0e66f143ad38c51b7b91fa73
+DIST angband-4.0.5.tar.gz 19886562 SHA256 0d769a0f349842b0c78cbcd1804a9e08f064e75ca26b957710e4c2a3eb14f852 SHA512 9ad46430d7e3c4b7676042b28107a2a5b9b2ed967dd1f45b91ca37583fa2d5e9ba25d963a6510ee091b8fdb3a704a60002d851d7898a6298567f804dce36a88b WHIRLPOOL f725bc940332b90081583f2eccc4890ce1a7a7426bd9f5ae69272beaaa79741797b46ffd283ec2969d14167c6c50d1ff738a573dade045bda79d0c7f51053e5a
+EBUILD angband-4.0.4.ebuild 2689 SHA256 860dbbd861c2ca6322e5f56c6664680853e91f3dffb9e8a9266c6868dec4e5aa SHA512 ce76008c075b73737a9e0839be0604937310ff1f4b593c473d7290aa6bc5ffc1341c7965d42fd570695f62b6917f412a9b621c25d3cfecdffe4a7577f9d23bc8 WHIRLPOOL 529f1ec604ab61d059120919b6f1c8de939091f4f1952495c0fa2c68a5877f98a4bc14e634b272863e60a23fdc0911153e743f6dd205f1926e79f0d409eaecbb
+EBUILD angband-4.0.5-r1.ebuild 2650 SHA256 88a89a7ea085d150a92d46e0d0d50e0cd526fe89f5e4e8249f62c632daf294bb SHA512 0dcb532baf61ee94461b055b6a3b63f5b17d42f849ea318815d8960b7c0ba6b3b31c2b72d42e7788481357bb9b0c8f0694849d44c0c7641ccb094f6ef5d5701c WHIRLPOOL aaee3d4d3021ed9fdda89b24aa4bb98320136d302771580d3d2ba383896fdf224d9d8dd8ec153497055c20df33af8b47e7408dd4e4d51467666d2aff81116d35
+EBUILD angband-4.0.5.ebuild 2689 SHA256 e81cc67b585547cdb12845e57dc68a974fa4ae3763666996a0a00d54c6403f64 SHA512 b45be10a995db01e34ad580c7ac1c367590975b2f5f1abda200e81890815973749215aed9ce6cae0d72fd55bc485597ec87c0e2c4b08c75f5157b4bdc1b336a5 WHIRLPOOL 939167685a988792a3ee34e5d6d8b1e025d64734c7cc32d9e71ef6450baa458c648328898732f1bdb8c2605a07d334878a275fb9ffc4f6376ba4c18e783424a2
+MISC ChangeLog 5856 SHA256 d1cf26782f4a45d2903616118a659882df675265fc7c2746273a747d8e173ff0 SHA512 7e7337326aa607a558dccd85957cda475e1f42bb0ff54812c7c068d47d114d6f2d373bcb531f0cbef666181cae06061bf4ae1df71e19d693fcbe076d147cdc63 WHIRLPOOL 5b9433d7afdd18afb900faec76941d7e96f756f99039afc090174c0a435c86594ffdf5505a955e675809f420491d6fe00a45b2b92f1fc1e1fbe9cbbb20afb696
+MISC ChangeLog-2015 7599 SHA256 b5b4404a75eeed28ab6b2505026e7884ffc92b38a56685a760a80b46a5c4f2de SHA512 15e5ac4ebda41695f70c5f6b7d8fde6e95fd5348fce7e5039dd83f9b8629e72b6ab769efe4f5ab49b5b6825551684ed9b3c339441feb311a9b76c7bd89a26696 WHIRLPOOL 1092f65eb6aebbd007eff7bb85b0968d75a5d1650e061672e8d2429b6e1b4d7fdc1c5b7f97c65dd88fa4022ded8dd8a1f2318a36ebe2643ca10bbf1355ccb767
+MISC metadata.xml 322 SHA256 ca84dbfaf5f704c100c1ab5d5130c9784e7118383afbb6e313425fa89cd43b2f SHA512 0f2cb75c7386183901d5790e27da590b8e529807f9c0ea1781d072645bf5605fd66589851189ec4b58ff7d711c00c3c0df2ab88acb96ed01079dbe2f8ac17b24 WHIRLPOOL 587a934c38fa71e68247ad2755cbd2164692a92296db487d38efeb850615239d8a1af203d0adb1144f4cb116f6bd94e983988b630be3d42135b7397638ab7b44
diff --git a/games-roguelike/angband/angband-4.0.4.ebuild b/games-roguelike/angband/angband-4.0.4.ebuild
new file mode 100644
index 000000000000..4a599eafd08b
--- /dev/null
+++ b/games-roguelike/angband/angband-4.0.4.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils gnome2-utils versionator games
+
+MAJOR_PV=$(get_version_component_range 1-2)
+
+DESCRIPTION="A roguelike dungeon exploration game based on the books of J.R.R. Tolkien"
+HOMEPAGE="http://rephial.org/"
+SRC_URI="http://rephial.org/downloads/${MAJOR_PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="ncurses sdl +sound X"
+
+RDEPEND="X? ( x11-libs/libX11 )
+ !ncurses? ( !X? ( !sdl? ( sys-libs/ncurses:0=[unicode] ) ) )
+ ncurses? ( sys-libs/ncurses:0=[unicode] )
+ sdl? ( media-libs/libsdl[video,X]
+ media-libs/sdl-ttf
+ media-libs/sdl-image
+ sound? ( media-libs/sdl-mixer[mp3]
+ media-libs/libsdl[sound] ) )"
+DEPEND="${RDEPEND}
+ dev-python/docutils
+ virtual/pkgconfig"
+
+src_prepare() {
+
+ sed -i -e '/libpath/s#datarootdir#datadir#' configure.ac || die
+ sed -i -e "/^.SILENT/d" mk/buildsys.mk.in || die
+ sed -i -e '/^DOC =/s/=.*/=/' doc/Makefile || die
+
+ if use !sound ; then
+ sed -i -e 's/sounds//' lib/Makefile || die
+ fi
+
+ # Game constant files are now system config files in Angband, but
+ # users will be hidden from applying updates by default
+ {
+ echo "CONFIG_PROTECT_MASK=\"${GAMES_SYSCONFDIR}/${PN}/customize/\""
+ echo "CONFIG_PROTECT_MASK=\"${GAMES_SYSCONFDIR}/${PN}/gamedata/\""
+ } > "${T}"/99${PN} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ if use sdl; then
+ myconf="$(use_enable sound sdl-mixer)"
+ else
+ myconf="--disable-sdl-mixer"
+ fi
+
+ ac_cv_path_NCURSES_CONFIG="pkg-config ncursesw" \
+ egamesconf \
+ --bindir="${GAMES_BINDIR}" \
+ --with-private-dirs \
+ $(use_enable X x11) \
+ $(use_enable sdl) \
+ $(use_enable ncurses curses) \
+ $(use !sdl && use !ncurses && use !X && \
+ echo --enable-curses) \
+ ${myconf}
+}
+
+src_install() {
+ DOCS="changes.txt faq.txt readme.txt thanks.txt" \
+ default
+
+ dohtml doc/manual.html
+ doenvd "${T}"/99${PN}
+
+ if use X || use sdl ; then
+ if use X; then
+ make_desktop_entry "angband -mx11" "Angband (X11)" "${PN}"
+ fi
+
+ if use sdl; then
+ make_desktop_entry "angband -msdl" "Angband (SDL)" "${PN}"
+ fi
+
+ local s
+ for s in 16 32 128 256 512
+ do
+ newicon -s ${s} lib/icons/att-${s}.png "${PN}.png"
+ done
+ newicon -s scalable lib/icons/att.svg "${PN}.svg"
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ if use X || use sdl ; then
+ gnome2_icon_savelist
+ fi
+}
+
+pkg_postinst() {
+ echo
+ elog "Angband now uses private savefiles instead of system-wide ones."
+ elog "This version of Angband is not compatible with the save files"
+ elog "of previous versions."
+ echo
+
+ games_pkg_postinst
+ if use X || use sdl ; then
+ gnome2_icon_cache_update
+ fi
+}
diff --git a/games-roguelike/angband/angband-4.0.5-r1.ebuild b/games-roguelike/angband/angband-4.0.5-r1.ebuild
new file mode 100644
index 000000000000..d8830482e592
--- /dev/null
+++ b/games-roguelike/angband/angband-4.0.5-r1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils gnome2-utils versionator
+
+MAJOR_PV=$(get_version_component_range 1-2)
+
+DESCRIPTION="A roguelike dungeon exploration game based on the books of J.R.R. Tolkien"
+HOMEPAGE="http://rephial.org/"
+SRC_URI="http://rephial.org/downloads/${MAJOR_PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ncurses sdl +sound X"
+
+RDEPEND="X? ( x11-libs/libX11 )
+ !ncurses? ( !X? ( !sdl? ( sys-libs/ncurses:0=[unicode] ) ) )
+ ncurses? ( sys-libs/ncurses:0=[unicode] )
+ sdl? ( media-libs/libsdl[video,X]
+ media-libs/sdl-image
+ media-libs/sdl-ttf
+ sound? ( media-libs/libsdl[sound] )
+ media-libs/sdl-mixer[mp3] )"
+DEPEND="${RDEPEND}
+ dev-python/docutils
+ virtual/pkgconfig"
+
+PATCHES=("${FILESDIR}"/${P}-pie-gcc.patch)
+
+src_prepare() {
+ default
+
+ sed -i -e '/libpath/s#datarootdir#datadir#' configure.ac || die
+ sed -i -e "/^.SILENT/d" mk/buildsys.mk.in || die
+ sed -i -e '/^DOC =/s/=.*/=/' doc/Makefile || die
+
+ if use !sound ; then
+ sed -i -e 's/sounds//' lib/Makefile || die
+ fi
+
+ # Game constant files are now system config files in Angband, but
+ # users will be hidden from applying updates by default
+ {
+ echo "CONFIG_PROTECT_MASK=\"/etc/${PN}/customize/\""
+ echo "CONFIG_PROTECT_MASK=\"/etc/${PN}/gamedata/\""
+ } > "${T}"/99${PN} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ if use sdl; then
+ myconf="$(use_enable sound sdl-mixer)"
+ else
+ myconf="--disable-sdl-mixer"
+ fi
+
+ ac_cv_path_NCURSES_CONFIG="pkg-config ncursesw" \
+ econf \
+ --bindir="${EPREFIX}"/usr/bin \
+ --with-private-dirs \
+ $(use_enable X x11) \
+ $(use_enable sdl) \
+ $(use_enable ncurses curses) \
+ $(use !sdl && use !ncurses && use !X && \
+ echo --enable-curses) \
+ ${myconf}
+}
+
+src_install() {
+ DOCS="changes.txt faq.txt readme.txt thanks.txt" \
+ default
+
+ dodoc doc/manual.html
+ doenvd "${T}"/99${PN}
+
+ if use X || use sdl ; then
+ if use X; then
+ make_desktop_entry "angband -mx11" "Angband (X11)" "${PN}"
+ fi
+
+ if use sdl; then
+ make_desktop_entry "angband -msdl" "Angband (SDL)" "${PN}"
+ fi
+
+ local s
+ for s in 16 32 128 256 512
+ do
+ newicon -s ${s} lib/icons/att-${s}.png "${PN}.png"
+ done
+ newicon -s scalable lib/icons/att.svg "${PN}.svg"
+ fi
+}
+
+pkg_preinst() {
+ if use X || use sdl ; then
+ gnome2_icon_savelist
+ fi
+}
+
+pkg_postinst() {
+ echo
+ elog "Angband now uses private savefiles instead of system-wide ones."
+ elog "This version of Angband is not compatible with the save files"
+ elog "of previous versions."
+ echo
+
+ if use X || use sdl ; then
+ gnome2_icon_cache_update
+ fi
+}
diff --git a/games-roguelike/angband/angband-4.0.5.ebuild b/games-roguelike/angband/angband-4.0.5.ebuild
new file mode 100644
index 000000000000..433844d7bfc8
--- /dev/null
+++ b/games-roguelike/angband/angband-4.0.5.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils gnome2-utils versionator games
+
+MAJOR_PV=$(get_version_component_range 1-2)
+
+DESCRIPTION="A roguelike dungeon exploration game based on the books of J.R.R. Tolkien"
+HOMEPAGE="http://rephial.org/"
+SRC_URI="http://rephial.org/downloads/${MAJOR_PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="ncurses sdl +sound X"
+
+RDEPEND="X? ( x11-libs/libX11 )
+ !ncurses? ( !X? ( !sdl? ( sys-libs/ncurses:0=[unicode] ) ) )
+ ncurses? ( sys-libs/ncurses:0=[unicode] )
+ sdl? ( media-libs/libsdl[video,X]
+ media-libs/sdl-ttf
+ media-libs/sdl-image
+ sound? ( media-libs/sdl-mixer[mp3]
+ media-libs/libsdl[sound] ) )"
+DEPEND="${RDEPEND}
+ dev-python/docutils
+ virtual/pkgconfig"
+
+src_prepare() {
+
+ sed -i -e '/libpath/s#datarootdir#datadir#' configure.ac || die
+ sed -i -e "/^.SILENT/d" mk/buildsys.mk.in || die
+ sed -i -e '/^DOC =/s/=.*/=/' doc/Makefile || die
+
+ if use !sound ; then
+ sed -i -e 's/sounds//' lib/Makefile || die
+ fi
+
+ # Game constant files are now system config files in Angband, but
+ # users will be hidden from applying updates by default
+ {
+ echo "CONFIG_PROTECT_MASK=\"${GAMES_SYSCONFDIR}/${PN}/customize/\""
+ echo "CONFIG_PROTECT_MASK=\"${GAMES_SYSCONFDIR}/${PN}/gamedata/\""
+ } > "${T}"/99${PN} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ if use sdl; then
+ myconf="$(use_enable sound sdl-mixer)"
+ else
+ myconf="--disable-sdl-mixer"
+ fi
+
+ ac_cv_path_NCURSES_CONFIG="pkg-config ncursesw" \
+ egamesconf \
+ --bindir="${GAMES_BINDIR}" \
+ --with-private-dirs \
+ $(use_enable X x11) \
+ $(use_enable sdl) \
+ $(use_enable ncurses curses) \
+ $(use !sdl && use !ncurses && use !X && \
+ echo --enable-curses) \
+ ${myconf}
+}
+
+src_install() {
+ DOCS="changes.txt faq.txt readme.txt thanks.txt" \
+ default
+
+ dohtml doc/manual.html
+ doenvd "${T}"/99${PN}
+
+ if use X || use sdl ; then
+ if use X; then
+ make_desktop_entry "angband -mx11" "Angband (X11)" "${PN}"
+ fi
+
+ if use sdl; then
+ make_desktop_entry "angband -msdl" "Angband (SDL)" "${PN}"
+ fi
+
+ local s
+ for s in 16 32 128 256 512
+ do
+ newicon -s ${s} lib/icons/att-${s}.png "${PN}.png"
+ done
+ newicon -s scalable lib/icons/att.svg "${PN}.svg"
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ if use X || use sdl ; then
+ gnome2_icon_savelist
+ fi
+}
+
+pkg_postinst() {
+ echo
+ elog "Angband now uses private savefiles instead of system-wide ones."
+ elog "This version of Angband is not compatible with the save files"
+ elog "of previous versions."
+ echo
+
+ games_pkg_postinst
+ if use X || use sdl ; then
+ gnome2_icon_cache_update
+ fi
+}
diff --git a/games-roguelike/angband/files/angband-4.0.5-pie-gcc.patch b/games-roguelike/angband/files/angband-4.0.5-pie-gcc.patch
new file mode 100644
index 000000000000..b4f3c5707d43
--- /dev/null
+++ b/games-roguelike/angband/files/angband-4.0.5-pie-gcc.patch
@@ -0,0 +1,13 @@
+Allow gcc to construct correct partial linking command to ld.
+Otherwise ld gets an incompatible mix of '-pie -r'.
+
+https://bugs.gentoo.org/617982
+diff --git a/src/Makefile b/src/Makefile
+index 79be4cc..d27bb91 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -33,3 +33,3 @@ win/$(PROGNAME).res: win/$(PROGNAME).rc
+ $(PROGNAME).o: $(OBJECTS)
+- $(LD) -nostdlib -Wl,-r -o $@ $(OBJECTS)
++ $(LD) -nostdlib -r -o $@ $(OBJECTS)
+ @printf "%10s %-20s\n" LINK $@
diff --git a/games-roguelike/angband/metadata.xml b/games-roguelike/angband/metadata.xml
new file mode 100644
index 000000000000..dc2d1c7d2794
--- /dev/null
+++ b/games-roguelike/angband/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="sound">Enable and install sounds</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-roguelike/crossfire-client/Manifest b/games-roguelike/crossfire-client/Manifest
new file mode 100644
index 000000000000..e0620c10fbc3
--- /dev/null
+++ b/games-roguelike/crossfire-client/Manifest
@@ -0,0 +1,6 @@
+DIST crossfire-client-1.71.0.tar.bz2 761156 SHA256 5427655e756ffb48e75c1d9dc3200afab81efa7f2f00ffdf5dfee51918d5819d SHA512 86710d684fd7908ea9aaf5ba20bff0f1ba01ff0ba90c3e2847afff9d0db6f60c7b671413c8888b513c992fbf27474e744b79df185d5e2c04afc9d2dce3d8665e WHIRLPOOL 7a51aac98d4df3f057e201f900faa2fc5f46c180cc57e11db063307fce4510823cc8ef4da62c72bff9dc9a66756de71b93b2dd2e7e759b02c376c7d973d10f9e
+EBUILD crossfire-client-1.71.0-r1.ebuild 1626 SHA256 2b09588990af89adb643a95d343bb0bca71d1706ccec39ca9e8e6c96c5023cc1 SHA512 64427a93782a97f1b36b06ffedd281787690b208f14a7f0d1ed452a94e9c9e4ad8d7bda0f4e46b14915a96bd3d0d780d4e9ae9faab1eff3ba99818b8c7b0ff19 WHIRLPOOL 21c1ca4044e7b64fdb5d916f0e4c50fdf28fc683ea5437d64b16639e27bc77348c4ad8624ee709dd8b857c55b46dab809b2b6b14825624accba2b5abecee31b3
+EBUILD crossfire-client-1.71.0-r2.ebuild 1573 SHA256 5dfe068b179461586cfd65baf61656c0b8ce94347f14ee96bb7529df0942c957 SHA512 488691c905c146e25847cd2839197167abfa860cd5875ce0cd4337932f585ebb9e870c4d52f79e904d2dcbbaa5c1316419afc41bd67ec563974530d1950f3f33 WHIRLPOOL 1e9da63b1a420417778ef3766515473f5480621f3281868da3d36f850396bc1933bb64c64ba90fc0e9823aaacf0b9470ff0a31a7bc1aa799133660005576c7d5
+MISC ChangeLog 4023 SHA256 b3a4c67caeb835520c003e0e7d704296b959ab78312103edc72964830996a050 SHA512 c4eda484e60368ebbecd6379961bcd8983af5990f32e5c9e79e2870677c6fe36399472cd944ffa156c0c9a00d452384f242ef7b4125bd319fa7b7f97268f1957 WHIRLPOOL d9b72fdd29f5b2853e1f66741624981e69579d3b1a729f44edc142c42c6dc07f5052b1548a8ab3639ddb0bae2db8fb61bbfc78a11c6197a21aa52b66af382771
+MISC ChangeLog-2015 7180 SHA256 d90318520beeb0a23a6e5935381447d4e1e2b76952a227e5ccda3a30de12d47a SHA512 59ebee90cba10e5dba1e377034b183d9cd6eec41cc9377a8a18cdf0c5cba68d528d8c3cf470a6bd5c8805c8d9399a69d15a83ee7f3294e3cfb631fc00944a332 WHIRLPOOL c7244a0f9b0573149cc4214954c15b5614b3abc531bb668f1d3461c84b38ed302667d9502500ca83d7d83fb560c64298f5e2b7fda6975e9c94d08257e85976b2
+MISC metadata.xml 332 SHA256 4ea4ae6026d15105c7d28db5172539c34cc0b15e479ec0a3218ca9562fa606fe SHA512 cf046be69b614cd43deba574e8fbd23b566507c694b9f7cbda92d7009d727ac4087de411bf63463561beb3160ecfe7f9fb685574b018466b473535184529ccf7 WHIRLPOOL 56d933d8733f4ebd3738af985542e85599044bbfe140a394d3eb2cfe802904b30133128b3f6ddaf9b9c8b867050e0556ccaf708177156a478ed94ee9d6254366
diff --git a/games-roguelike/crossfire-client/crossfire-client-1.71.0-r1.ebuild b/games-roguelike/crossfire-client/crossfire-client-1.71.0-r1.ebuild
new file mode 100644
index 000000000000..092aa3bb809b
--- /dev/null
+++ b/games-roguelike/crossfire-client/crossfire-client-1.71.0-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools toolchain-funcs gnome2-utils games
+
+DESCRIPTION="Client for the nethack-style but more in the line of UO"
+HOMEPAGE="http://crossfire.real-time.com/"
+SRC_URI="mirror://sourceforge/crossfire/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="lua opengl sdl sound"
+
+RDEPEND="
+ sound? ( media-libs/sdl-mixer[vorbis] )
+ opengl? ( virtual/opengl
+ media-libs/freeglut )
+ sdl? ( media-libs/libsdl[video]
+ media-libs/sdl-image[png] )
+ lua? ( dev-lang/lua:0= )
+ x11-libs/gtk+:2
+ net-misc/curl
+ media-libs/libpng:0
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -ri -e '/^.TH/s:$: 6:' $(find . -name "*man") || die
+ sed -i -e 's/lua-5.1/lua/' configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ # bugs in configure script so we cant use $(use_enable ...)
+ local myconf
+
+ use lua && myconf="${myconf} --enable-lua"
+ use sdl || myconf="${myconf} --disable-sdl"
+ use opengl || myconf="${myconf} --disable-opengl"
+ use sound || myconf="${myconf} --disable-sound"
+
+ egamesconf ${myconf}
+}
+
+src_compile() {
+ # bug 139785
+ if use sound ; then
+ emake -C sound-src AR="$(tc-getAR)"
+ fi
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ local s
+
+ default
+ domenu gtk-v2/crossfire-client.desktop
+ for s in 16 32 48
+ do
+ newicon -s ${s} pixmaps/${s}x${s}.png ${PN}.png
+ done
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-roguelike/crossfire-client/crossfire-client-1.71.0-r2.ebuild b/games-roguelike/crossfire-client/crossfire-client-1.71.0-r2.ebuild
new file mode 100644
index 000000000000..0292fdf40be5
--- /dev/null
+++ b/games-roguelike/crossfire-client/crossfire-client-1.71.0-r2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools toolchain-funcs gnome2-utils
+
+DESCRIPTION="Client for the nethack-style but more in the line of UO"
+HOMEPAGE="http://crossfire.real-time.com/"
+SRC_URI="mirror://sourceforge/crossfire/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="lua opengl sdl sound"
+
+RDEPEND="
+ lua? ( dev-lang/lua:0= )
+ media-libs/libpng:0
+ net-misc/curl
+ opengl? ( virtual/opengl
+ media-libs/freeglut )
+ sdl? ( media-libs/libsdl[video]
+ media-libs/sdl-image[png] )
+ sound? ( media-libs/sdl-mixer[vorbis] )
+ sys-libs/zlib
+ x11-libs/gtk+:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ sed -ri -e '/^.TH/s:$: 6:' $(find . -name "*man") || die
+ sed -i -e 's/lua-5.1/lua/' configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ # bugs in configure script so we cant use $(use_enable ...)
+ local myconf
+
+ use lua && myconf="${myconf} --enable-lua"
+ use sdl || myconf="${myconf} --disable-sdl"
+ use opengl || myconf="${myconf} --disable-opengl"
+ use sound || myconf="${myconf} --disable-sound"
+
+ econf ${myconf}
+}
+
+src_compile() {
+ # bug 139785
+ if use sound ; then
+ emake -C sound-src AR="$(tc-getAR)"
+ fi
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ local s
+
+ default
+ domenu gtk-v2/crossfire-client.desktop
+ for s in 16 32 48
+ do
+ newicon -s ${s} pixmaps/${s}x${s}.png ${PN}.png
+ done
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-roguelike/crossfire-client/metadata.xml b/games-roguelike/crossfire-client/metadata.xml
new file mode 100644
index 000000000000..baf8c3afc277
--- /dev/null
+++ b/games-roguelike/crossfire-client/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">crossfire</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-roguelike/dwarf-fortress/Manifest b/games-roguelike/dwarf-fortress/Manifest
new file mode 100644
index 000000000000..aedb3db6bcfb
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/Manifest
@@ -0,0 +1,9 @@
+AUX Makefile 1169 SHA256 dd9468ce93e397810794f3fb0e14ee909e3f7246d7b97fd87cf9124efafa7747 SHA512 94baa1189e6a01415d46c475a0d1e40c785ded0473fd7dd89f136df36c07d58f718fee23b7d885e5ee8774a62063c9d92a1d26b02643f36ad5562e3e168e86bf WHIRLPOOL d06f37e7b12ef9682239d3b79d35c208200c7ec0f7e1ea5525a4cb81ec26201015f019c490ea21baf15aa2564ee41db0bb4f6530515733dfe46c181d13c59e3a
+AUX Makefile.native 1016 SHA256 e6ca566b0b574629f4262f073ae63d4f2eeaa9dc604b2c75a9ef9d75c9515ab7 SHA512 d390c65f406cf8b43f3d493cd6513167c122a5811e3bc8614a66dc080eac21df9fc1d5f110503c8f6815f683eaeb5ddcdd833d310400ccc2426ae81c2b8159f8 WHIRLPOOL ae8f9f585e0c169207f35cc96210df8949d24290003a8adf60f534c2668ec54f1cbbb5d5dc7b346d3a649e96565081a773ab030a2eeefdcf5c736486aa1a909b
+AUX dwarf-fortress 516 SHA256 baf33b5eda7286fdef1d6f226d0205c5ea5715378250c1646a40e2eb16b90c6b SHA512 1f1fada35e33cb99c28835d600f6567ecaaf7b2c6111a2e96b1a88c54e5d727f94ae1c0213327bc70a623dbdf19a8433e3c59edcab5a40e898b0124eb2eb9006 WHIRLPOOL ade88e67f249ec1ed89248c4691441064a102a01ca72e763b37890066f220bf9532c54d2746da96001e568747322ec0e14bb1abce7cdf272de1ca3c57c726a26
+DIST df_43_05_linux.tar.bz2 11580594 SHA256 856c13170e8beefb5419ae71ee26c85db9716b3ebd4c7348aa44b896bd490be4 SHA512 502e6bac0bdd5586fb6b4e1117caf144a0336a7eed3ed9350ec316e4a286e309a15e0738517c0dd7d32f182984c501c7a8756e942d3dde9fb87f72b153f38e7a WHIRLPOOL 2ba6091c575eb7e2ca282e2192c0ca30ee48bfea473a0537acabfe33b2b7e848d1057f65409f9cc4aa2ec42f3c2dc7fef22139d3b2a788a84e71338a2c767ba1
+DIST df_43_05_linux32.tar.bz2 12158550 SHA256 0334e6b35ecc36949f5c60ffc1eb46fade3365b55a44f2e11fd4ae799ba7819a SHA512 d0446ddb5c37ee45ade36b18b815595e8d7bfd9749af4ecd2f25b45859d797a9da70f2344e2c58544feafc7df06882ade8a10534c37754359747c0d37f084b7c WHIRLPOOL 899d8739847cb37cb636453e7a728a0ae9765958fd77828e7f099b1f4b7a4bdaae0fee93121ddc81a0f2bf5ab4292380c9edb405dc5ed64d3d3cecf26f5f23c7
+EBUILD dwarf-fortress-0.43.05.ebuild 2320 SHA256 e4e5eae8e2eb9be5d8927f02940b1ee18e21776c6d5146315e63a0e18f4a9832 SHA512 81a4f5c4fe27f5f53344b2d3b889930863ae221b1cd7342be05f75e9b04fb956fcd05251cf21288898d37675b5b35821f69cda0721aaa601755cda7ae629d3ce WHIRLPOOL cfe96610d12503a2cc904dd609b3e779118933ddeed54612a3f6e596499a4f0fe6547b298cc5008bf38b746ce08aaae648f114bc37cea3cf7339b84fb2c37d5c
+MISC ChangeLog 4261 SHA256 963578893e485af808e744ad5d6b76c9eaaac1c0f7e83b4eae774cc5f84dbc79 SHA512 4ca2f3a4bbc3eff117671b0a674e513c7e1b52bdcfc9e4c64dba0001a950ef5f5b19941ef24826a314aae6a3cd606805156ba968197845c010faadd180591cae WHIRLPOOL 3ce82b6a14566aac2400c2c3524786f98c874d67c45ee5865db63a8c0f71bd6b9ded735eb3df76f64b7dccc02d5c787b8a7ee0d5981b7f577e5c20d52f13b65c
+MISC ChangeLog-2015 468 SHA256 33751dd858b0448c3e5c1b9bbcc817422bdc5dce2aefc054b8a8c4eee087e5a0 SHA512 0195936b188a6a4e7a06fcaf9b818d3406df64185b30cc87ef3a4c9289e946bbbb6affda7a27f0b0dd90fa3ae29bd32540e1dec7374ac627d8c684400636b912 WHIRLPOOL 8636d396abae7e57fdf1ce9220dfa14ce1d72009746ad1bae8955d2dcf1d424d24a1f6171564290afc3d04e244332442a95e935b67da07015f65cd81e3ef96f2
+MISC metadata.xml 583 SHA256 cadf5b222bab2f0191a679cdb12e09716cde56d25138721ca886427e7995d5cd SHA512 084c03470208f5439a6831d3340d1f8a37c46f4f00fc0c3f00a834ae2faee9ee2e8dcb711943b095cae602c15eda1f45517d28f9416d65b55de63206094213f4 WHIRLPOOL cb62009f9fce972ecf377621021c9d1e6f915161d7d5088a1fc9209aeed32dfa430f6b09ad3fc4832f91d72e992a83698b7e701b6d1aa8cccbddf8b78e63ca94
diff --git a/games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild b/games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild
new file mode 100644
index 000000000000..6352e7dba598
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit versionator
+
+MY_PV=$(replace_all_version_separators _ "$(get_version_component_range 2-)")
+MY_PN=df
+MY_P=${MY_PN}_${MY_PV}
+
+DESCRIPTION="A single-player fantasy game"
+HOMEPAGE="http://www.bay12games.com/dwarves"
+SRC_URI="amd64? ( http://www.bay12games.com/dwarves/${MY_P}_linux.tar.bz2 )
+ x86? ( http://www.bay12games.com/dwarves/${MY_P}_linux32.tar.bz2 )"
+
+LICENSE="free-noncomm BSD BitstreamVera"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 -*"
+IUSE="debug"
+
+RDEPEND="media-libs/glew:0
+ media-libs/libsdl[joystick,video]
+ media-libs/sdl-image[png]
+ media-libs/sdl-ttf
+ sys-libs/zlib
+ virtual/glu
+ x11-libs/gtk+:2"
+# Yup, libsndfile, openal and ncurses are only needed at compile-time; the code
+# dlopens them at runtime if requested.
+DEPEND="${RDEPEND}
+ media-libs/libsndfile
+ media-libs/openal
+ sys-libs/ncurses:5[unicode]
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_PN}_linux
+
+gamesdir="/opt/${PN}"
+QA_PREBUILT="${gamesdir#/}/libs/Dwarf_Fortress"
+RESTRICT="strip"
+
+src_prepare() {
+ rm -f libs/*.so* || die
+ sed -i -e '1i#include <cmath>' g_src/ttf_manager.cpp || die
+ default
+}
+
+src_configure() {
+ tc-export CXX PKG_CONFIG
+ CXXFLAGS+=" -D$(use debug || echo N)DEBUG"
+}
+
+src_compile() {
+ emake -f "${FILESDIR}/Makefile.native"
+ sed -e "s:^gamesdir=.*:gamesdir=${gamesdir}:" "${FILESDIR}/dwarf-fortress" > dwarf-fortress || die
+}
+
+src_install() {
+ # install data-files and libs
+ insinto "${gamesdir}"
+ doins -r raw data libs
+
+ # install our wrapper
+ dobin dwarf-fortress
+
+ # install docs
+ dodoc README.linux *.txt
+
+ fperms 755 "${gamesdir}"/libs/Dwarf_Fortress
+}
+
+pkg_postinst() {
+ elog "System-wide Dwarf Fortress has been installed to ${gamesdir}. This is"
+ elog "symlinked to ~/.dwarf-fortress when dwarf-fortress is run."
+ elog "For more information on what exactly is replaced, see /usr/bin/dwarf-fortress."
+ elog "Note: This means that the primary entry point is /usr/bin/dwarf-fortress."
+ elog "Do not run ${gamesdir}/libs/Dwarf_Fortress."
+ elog
+ elog "Optional runtime dependencies:"
+ elog "Install sys-libs/ncurses[unicode] for [PRINT_MODE:TEXT]"
+ elog "Install media-libs/openal and media-libs/libsndfile for audio output"
+ elog "Install media-libs/libsdl[opengl] for the OpenGL PRINT_MODE settings"
+}
diff --git a/games-roguelike/dwarf-fortress/files/Makefile b/games-roguelike/dwarf-fortress/files/Makefile
new file mode 100644
index 000000000000..856670b6a67e
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/Makefile
@@ -0,0 +1,32 @@
+# Copyright 2014-2016 Alex Xu (Hello71)
+# Distributed under the terms of the GNU General Public License v2
+
+PKG_CONFIG ?= pkg-config
+PKG_CONFIG_PATH ?= /usr/lib32/pkgconfig:/usr/lib/pkgconfig
+PKG_CONFIG := PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG)
+
+SRCS := g_src/basics.cpp g_src/command_line.cpp g_src/enabler.cpp \
+ g_src/files.cpp g_src/find_files_posix.cpp g_src/graphics.cpp \
+ g_src/init.cpp g_src/interface.cpp g_src/keybindings.cpp \
+ g_src/music_and_sound_openal.cpp g_src/random.cpp g_src/textlines.cpp \
+ g_src/enabler_input.cpp g_src/KeybindingScreen.cpp \
+ g_src/win32_compat.cpp g_src/textures.cpp g_src/resize++.cpp \
+ g_src/renderer_offscreen.cpp g_src/ttf_manager.cpp g_src/ViewBase.cpp
+OBJS := $(SRCS:.cpp=.o)
+
+BLIBS := ncursesw openal sndfile
+LIBS := glew glu gtk+-2.0 sdl SDL_image SDL_ttf zlib
+CXXFLAGS ?= -O2 -pipe -Wall -Wextra
+CXXFLAGS += -m32 $(shell $(PKG_CONFIG) --cflags $(BLIBS) $(LIBS)) -Dunix -Dlinux -fPIC -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0
+LDLIBS := $(shell $(PKG_CONFIG) --libs $(LIBS))
+
+LG := libs/libgraphics.so
+
+all: $(LG)
+$(LG): $(OBJS)
+ $(LINK.cpp) -shared $^ $(LDLIBS) -o $@
+
+clean:
+ $(RM) $(LG) $(OBJS)
+
+.PHONY: clean
diff --git a/games-roguelike/dwarf-fortress/files/Makefile.native b/games-roguelike/dwarf-fortress/files/Makefile.native
new file mode 100644
index 000000000000..85383e5e2f1d
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/Makefile.native
@@ -0,0 +1,28 @@
+# Copyright 2014-2016 Alex Xu (Hello71)
+# Distributed under the terms of the GNU General Public License v2
+
+SRCS := g_src/basics.cpp g_src/command_line.cpp g_src/enabler.cpp \
+ g_src/files.cpp g_src/find_files_posix.cpp g_src/graphics.cpp \
+ g_src/init.cpp g_src/interface.cpp g_src/keybindings.cpp \
+ g_src/music_and_sound_openal.cpp g_src/random.cpp g_src/textlines.cpp \
+ g_src/enabler_input.cpp g_src/KeybindingScreen.cpp \
+ g_src/win32_compat.cpp g_src/textures.cpp g_src/resize++.cpp \
+ g_src/renderer_offscreen.cpp g_src/ttf_manager.cpp g_src/ViewBase.cpp
+OBJS := $(SRCS:.cpp=.o)
+
+BLIBS := ncursesw openal sndfile
+LIBS := glew glu gtk+-2.0 sdl SDL_image SDL_ttf zlib
+CXXFLAGS ?= -O2 -pipe -Wall -Wextra
+CXXFLAGS += $(shell $(PKG_CONFIG) --cflags $(BLIBS) $(LIBS)) -Dunix -Dlinux -fPIC -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0
+LDLIBS := $(shell $(PKG_CONFIG) --libs $(LIBS))
+
+LG := libs/libgraphics.so
+
+all: $(LG)
+$(LG): $(OBJS)
+ $(LINK.cpp) -shared $^ $(LDLIBS) -o $@
+
+clean:
+ $(RM) $(LG) $(OBJS)
+
+.PHONY: clean
diff --git a/games-roguelike/dwarf-fortress/files/dwarf-fortress b/games-roguelike/dwarf-fortress/files/dwarf-fortress
new file mode 100644
index 000000000000..23b9c348754c
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/files/dwarf-fortress
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+gamesdir=/opt/dwarf-fortress
+install="$HOME/.dwarf-fortress"
+
+do_install() {
+ cp -rn "$gamesdir"/data "$install"/
+ # DF gets unhappy when this is out of sync
+ cp -f "$gamesdir"/data/index "$install"/data/
+ cp -rsn "$gamesdir"/* "$install"/
+}
+
+if [ -d "$install" ]; then
+ # delete dangling symlinks
+ find -L "$install/" -type l -delete
+ # ignore "are the same file" errors
+ do_install 2>/dev/null
+else
+ mkdir "$install" || exit
+ do_install || exit
+fi
+
+cd "$install" || exit
+exec ./libs/Dwarf_Fortress "$@"
diff --git a/games-roguelike/dwarf-fortress/metadata.xml b/games-roguelike/dwarf-fortress/metadata.xml
new file mode 100644
index 000000000000..9192526ee353
--- /dev/null
+++ b/games-roguelike/dwarf-fortress/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>alex_y_xu@yahoo.ca</email>
+ <name>Alex Xu</name>
+ <description>proxied maintainer, please assign bugs to</description>
+</maintainer>
+<maintainer type="person">
+ <email>creffett@gentoo.org</email>
+ <name>Chris Reffett</name>
+ <description>maintainer, please CC on bugs</description>
+</maintainer>
+<maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-roguelike/hengband/Manifest b/games-roguelike/hengband/Manifest
new file mode 100644
index 000000000000..255e00cbe3ef
--- /dev/null
+++ b/games-roguelike/hengband/Manifest
@@ -0,0 +1,8 @@
+AUX hengband-1.6.2-added_faq.patch 6371 SHA256 0c8c47e686575791f02432267d9d96d8d4a6d2869cb7cd3a2b49a53cc97b6150 SHA512 254283e117f6bf7d050ec152d7bb04cdcbd23235f56da8ed8aa587e23ef21de0a556cac4027e8a3b0fa32d66448c96ac18e9e76d242b9d1a921befcaf78195a1 WHIRLPOOL ac34a2959827ddfd9c69708c90dd5b5140518d3aa30dae8509528dd2800620e1c7e29a64bc407501f340bddfb40710bbc5347e704bbca69ee389f63739af5f90
+AUX hengband-1.6.2-ovflfix.patch 236 SHA256 789b6b89811fefc68b39ed111e43d576aeaf09439ff47c83f4060102e1f609a4 SHA512 0e51671bce72cd0ab1109111556bfda71ef043475c033548ffd5873d9329597e705b9e6459d5e95369df5f5501e2553f9109622d522534ea43f787087160e3cf WHIRLPOOL 13e72c1378421d6972275fd72643bef4c63efd3ea8eaadf5387a26f8c41bb1a9fdde72b0c258bd8ea8697b09d084f04055cc11f4ea9e869410183a6ab3060d9d
+DIST hengband-1.6.2-mispellings.patch.gz 11964 SHA256 68139e72091e12614124bee63f5700f36a560573e98a541974836fa61a12f08d SHA512 73838981616e09deca7afc3911386e665ac38fafcdcea42d87bc41e4bc187551278efeaa608a772a444e0c178c3f990e16dd302b6a8dc6dfdd8625d463b9b3b5 WHIRLPOOL 3a9d1136bfd6af7aa310562902a150d47402aa3242dfb1dfe78b16d8925351709e4eabb0aa9c8d48d68cad68ecfd6d858b15fa13a1bce286e1ffd326268ecee6
+DIST hengband-1.6.2.tar.bz2 2029169 SHA256 72f1c8dd9365127ccd155b786d2828a19bbd0311a9d62d07bd16a22600c385b4 SHA512 24c67f00556d7899b4f18f3071c4bd50bc754566c4c4736c18248ced243b1332e6c84381250c1a59358e7a914e5d62db05c47ab0921bcf40fbd6cfe4b6717520 WHIRLPOOL 380f4494acf0038f7d0a22ac0806652ea794a3d9aecad18d23e73a9657675bf94ad55edda7d5fcbcdad022fabdb05425294cdd7fa9a5c8c2269535fcd5d41a1e
+EBUILD hengband-1.6.2-r1.ebuild 1452 SHA256 790a92499b482ac524a85e2ddbcc9e550c7fd873a94c38f14fe51cbc6066f97b SHA512 0671050282de91422332060f115e41d7c2fcf87069224a20b19ef540bdcee846dd9778bd932d5ab57a467c229e57d277ee42d76daa3b362e8af145579090067c WHIRLPOOL 8838710669af2717449ff442a3cc98fd05bd58688862c3257b0e573699357dff284e84a5b124f82516d4d96a1740c76c26b6fa406da138e6752d5a6a7dc29e0a
+MISC ChangeLog 2816 SHA256 21f391c66fd2b39334c00900c5f7c23b7f07d9ca445715f26dd43e4b89a28f58 SHA512 5ba99fe98cb9a75fa542d93cfb030e3740b5a584b7bdcbb371e2fc6543c91391385a9b0282323ed3d0f96188c72dced6b3ab072e881b484998793176aa73877c WHIRLPOOL 4df34e440fe6bb18a997022d976c8c10e97fe4bdeead25c19730c9a7958a0cb2aaa105f1a9035570e2119e4b36f0c55ce81c2b61040df354b8c062579ebf71df
+MISC ChangeLog-2015 2094 SHA256 a84113d255d080ab467bde5a7fc805bbd2aa3ce5341304a4fb4bf69e2d3cf08a SHA512 4345b4c3411cede006d61f184d664282f3456783d085ad8b0a10fab2d6cb060ddc204f7cafb81faf1dc9b6391998225abbb4d02a8ccc7ce9a75a4bfb1df4a3cc WHIRLPOOL f92cac2e45752352d6b74bc8f0455e35ab7f13b2beab9d01cbb1484d63c48523cf3a0ed86adf78481fcd41eb798c33963e03578a1b6e00a2c9297da8efa4472c
+MISC metadata.xml 334 SHA256 de318498c0b82670adf2f6cb35500676eb5ce6f0e06adce445f78a71c4425551 SHA512 ec8a4116d1ad2f15b2dad0148f912da9123d937cd724eaac00ff20541d64b7ac37190f617b8e82376c571a47cb6b886fc269a477c2c6b4aaa0859204f716add9 WHIRLPOOL fec66c37d3ff917475c70c3b2c99a2e9269c2058c6eebb15c65f2c53a5fec770b57e86dcabf44d77a519af8674e2dd078353434b77a93bfb2af081adc898626b
diff --git a/games-roguelike/hengband/files/hengband-1.6.2-added_faq.patch b/games-roguelike/hengband/files/hengband-1.6.2-added_faq.patch
new file mode 100644
index 000000000000..0e75022145cb
--- /dev/null
+++ b/games-roguelike/hengband/files/hengband-1.6.2-added_faq.patch
@@ -0,0 +1,163 @@
+diff -Naur hengband-1.6.2-orig/lib/help/faq.txt hengband-1.6.2-fixed/lib/help/faq.txt
+--- hengband-1.6.2-orig/lib/help/faq.txt 1970-01-01 03:00:00.000000000 +0300
++++ hengband-1.6.2-fixed/lib/help/faq.txt 2004-12-07 08:12:53.000000000 +0300
+@@ -0,0 +1,147 @@
++
++========= Hengband FAQ ==========
++
++
++Q. I want to play as an Android, Balrog, Golem, Skeleton, Zombie,
++ Spectre, or Ent. But I can't find any scroll of satisfy hunger.
++ And Berserkers no longer have racial ability of satisfy hunger.
++ How do I avoid starvation?
++
++A. Scroll of Satisfy Hunger and Berserker's ability of Satisfy Hunger
++ are obsoleted. And races which previously relyed on Satisfy Hunger
++ have new sources of nutrition now; Android can quaff oil. Balrogs
++ can sacrifice human corpse using the 'E'at command. Golems,
++ Skeletons, Zombies, and Spectres can absorb mana from staves and
++ wands using the 'E'at command. Ents can gain enough nutrition from
++ potions.
++
++
++Q. I got through the Yeek cave and I headed into the wilderness....and
++ I'm still there searching endlessly down one road after another
++ looking for a town. Where are other towns and dungeons?
++
++A. You need to use the global wilderness map (press the < key on the
++ ground level). This gives you a larger map of the world, where you
++ can travel to other towns and dungeons. By the way, you should
++ read the readme_eng.txt and the on-line help.
++
++
++Q. I'm playing as a berserker, and cannot read scrolls. How do I
++ remove curse?
++
++A. You can simply 't'ake off cursed equipments. Since cursed
++ equipments are strongly sticking, you need to try 't'ake off
++ command many times.
++
++
++Q. I know Berserkers cannot use scrolls, and rods. How do I recall
++ from dungeon? Maybe I need to travel completely on foot?!!
++
++A. Berserkers gain a class power 'Recall' at level 10. Press the
++ 'U'(original keyset) or 'O'(Roguelike keyset) to use class power.
++
++
++Q. Why Ninja have Iron Spikes at the start?
++
++A. Ninja can use Iron Spikes as shuriken; they can throw it as good
++ missile weapon. Simply use 'v' command.
++
++
++Q. I'm at normal speed (+0). But normal speed monsters sometimes do
++ double or even triple move!
++
++A. On Hengband, amount of energy needed for a move is somewhat
++ randomized. This method of speed system is an important feature of
++ Hengband, and is simulating real fighting. So always expect that
++ your enemy can get two or three move. Don't fight when your HP is
++ low, if you don't want to get instakill!
++
++
++Q. I tried to dual wield two weapons. But I couldn't hit anything!
++
++A. You need to practice your dual wielding skill(proficiency level)
++ and your weapon skills. Hitting high level monsters many times
++ will improve your skills. Note that the information command '~'
++ reveals your proficiency levels.
++
++
++Q. How do skills(proficiency levels) work?
++
++A. Weapon proficiency levels and dual wielding proficiency levels
++ increase your to-hit bonus. Spell proficiency levels decrease fail
++ rate and mana consumption rate of spells. Riding proficiency level
++ gives you more speed when you are riding on a high speed monster,
++ and decreases risk of falling from your mount.
++
++
++Q. How do I increase proficiency level?
++
++A. Proficiency level of a weapon will increase when you hit a monster
++ whose level is high enough compared with your character level.
++ Proficiency level of a spell will increase when you cast the spell
++ at the dungeon level deep enough compared with the spell level.
++ Needed condition to increase riding proficiency level is rather
++ complex; Generally, you need to hit a monster whose level is high
++ enough compared with current riding proficiency level or to shoot a
++ monster when ride on high level mount.
++
++
++Q. How do I ride on a monster?
++
++A. At first, summon, charm or capture some suitable monster. Then use
++ pet menu command 'p'.
++
++
++Q. How to use Capture Ball?
++
++A. Just equip it and activate 'A' to a dying monster.
++
++
++Q. I cannot hold a weapon and a shield without losing control of my
++ horse. My horse runs aimlessly!
++
++A. You cannot directly control your mount unless you use one hand to
++ control your mount. But you can command your mount. Just use 'p'
++ command, and give your mount a target. The horse which was given a
++ target will no longer run around aimlessly.
++
++
++Q. Where is the score server? And how do I register my character
++ dumps?
++
++A. Here;'http://hengband.sourceforge.jp/en/score.html'.
++ When you die, Hengband will ask you as 'Do you send score to the
++ world score sever?'. And if you answer 'y', Hengband will
++ automatically register your character dump and screen shot.
++
++
++Q. Are there spoiler for more details?
++
++A. Yes. Henkma is writing spoiler page for Hengband;
++ 'http://www.kmc.gr.jp/~henkma/heng-e/index.html'
++
++
++Q. Who wrote Hengband?
++
++A. Hengband is mainly based on ZAngband 2.2.8 Japanese version.
++ ZAngband 2.2.8 Japanese version was developed by Mitsuhiro Itakura,
++ based on both ZAngband 2.2.8 and Angband 2.8.3 Japanese version,
++ and has some original features, for example, Auto-picker, in
++ addition to simple translation.
++
++ Hengband also includes codes from many other variants including
++ ToME, OAngband, etc... Mr.Hoge wrote the first original part of
++ Hengband. And currently, it is maintained by Hengband Development
++ Team including Mr.Hoge, Habu, Henkma, iks, Kuwa, Mogami and nsk.
++
++
++Q. Where is Hengband?
++
++A. Here: http://hengband.sourceforge.jp/en/
++
++
++
++ Hengband FAQ written by Mogami
++
++--
++Updated : Hengband 1.5.4
+diff -Naur hengband-1.6.2-orig/lib/help/Makefile.am hengband-1.6.2-fixed/lib/help/Makefile.am
+--- hengband-1.6.2-orig/lib/help/Makefile.am 2002-10-31 17:12:08.000000000 +0300
++++ hengband-1.6.2-fixed/lib/help/Makefile.am 2005-11-22 11:59:58.000000000 +0300
+@@ -4,7 +4,7 @@
+ attack.hlp attack.txt birth.hlp birth.txt \
+ bldg.txt raceclas.hlp raceclas.txt command.hlp \
+ command.txt commdesc.hlp commdesc.txt defend.hlp \
+- defend.txt dungeon.hlp dungeon.txt gambling.txt \
++ defend.txt dungeon.hlp dungeon.txt faq.txt gambling.txt \
+ general.hlp general.txt help.hlp helpinfo.txt \
+ j_general.txt j_item1.txt j_item2.txt j_trans.txt \
+ jattack.hlp jattack.txt jbirth.hlp jbirth.txt \
diff --git a/games-roguelike/hengband/files/hengband-1.6.2-ovflfix.patch b/games-roguelike/hengband/files/hengband-1.6.2-ovflfix.patch
new file mode 100644
index 000000000000..47bb53cf771a
--- /dev/null
+++ b/games-roguelike/hengband/files/hengband-1.6.2-ovflfix.patch
@@ -0,0 +1,11 @@
+--- src/effects.c.old 2010-10-28 11:51:31.000000000 +0200
++++ src/effects.c 2010-10-28 11:51:59.000000000 +0200
+@@ -5191,7 +5191,7 @@
+ }
+ else
+ {
+- char buf[10];
++ char buf[15];
+
+ if (p_ptr->inside_arena)
+ #ifdef JP
diff --git a/games-roguelike/hengband/hengband-1.6.2-r1.ebuild b/games-roguelike/hengband/hengband-1.6.2-r1.ebuild
new file mode 100644
index 000000000000..8a4ef4846c0e
--- /dev/null
+++ b/games-roguelike/hengband/hengband-1.6.2-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils autotools games
+
+DESCRIPTION="An Angband variant, with a Japanese/fantasy theme"
+HOMEPAGE="http://hengband.sourceforge.jp/en/"
+SRC_URI="mirror://sourceforge.jp/hengband/10331/${P}.tar.bz2
+ mirror://gentoo/${P}-mispellings.patch.gz"
+
+KEYWORDS="x86 ~x86-fbsd"
+LICENSE="Moria"
+SLOT="0"
+IUSE="X l10n_ja"
+
+RDEPEND=">=sys-libs/ncurses-5:0
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ X? ( x11-libs/libXt )"
+
+src_prepare() {
+ # Removing Xaw dependency as is not used
+ sed -i \
+ -e '/Xaw/d' src/main-xaw.c \
+ || die
+ sed -i \
+ -e 's|root\.|root:|' lib/*/Makefile.in \
+ || die
+ sed -i \
+ -e 's:/games/:/:g' configure.in \
+ || die
+ epatch \
+ "../${P}"-mispellings.patch \
+ "${FILESDIR}/${P}"-added_faq.patch \
+ "${FILESDIR}"/${P}-ovflfix.patch
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ use l10n_ja || myconf="--disable-japanese"
+
+ egamesconf \
+ --with-setgid=${GAMES_GROUP} \
+ $(use_with X x) \
+ ${myconf}
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+ if use l10n_ja ; then
+ dodoc readme.txt autopick.txt readme_eng.txt autopick_eng.txt
+ else
+ newdoc readme_eng.txt readme.txt
+ newdoc autopick_eng.txt autopick.txt
+ fi
+ prepgamesdirs
+ # FIXME: we need to patch around this BS
+ fperms g+w "${GAMES_DATADIR}"/${PN}/lib/{apex,data,save,user}
+}
diff --git a/games-roguelike/hengband/metadata.xml b/games-roguelike/hengband/metadata.xml
new file mode 100644
index 000000000000..4ced683a10c0
--- /dev/null
+++ b/games-roguelike/hengband/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge-jp">hengband</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-roguelike/mangband/Manifest b/games-roguelike/mangband/Manifest
new file mode 100644
index 000000000000..d144dda95965
--- /dev/null
+++ b/games-roguelike/mangband/Manifest
@@ -0,0 +1,6 @@
+AUX mangband-1.1.3-paths.patch 3029 SHA256 81766b3e898dd801f7a7707787b0951a285abc304ea948e3d0f1f604a2ed27f1 SHA512 3dc510a04e339f06a654d8c5b6b5c7059e451a4d7669a4709d4efbdf9bd667993d67411b8338cbfe837c9b7e4ce9123d72a2eafb0ac86daaa68161bc061483c4 WHIRLPOOL aeda4ea2ff8569e7f31b06b80888c3394f32abbd9b3f61ed00403d1f67b96e0be16f9aa96c237b8f289defae1c6105a23754e664bf8ee59293f0fc8b420bfeec
+AUX mangband-1.1.3-strchr.patch 371 SHA256 d37708b57cbd9bc4eadb3d6e7e12764332b68f993d38236df4e84202027db309 SHA512 f6bef0974416ff6f2036fe6a08db85b1353234a88f38134bc9ab739d26c44a914150044cd2ca80c141b7fd111c3b3f5f1acca1d111ec5d6c6586ac438bb5dcc3 WHIRLPOOL 7310b95a6ef6a7899e462923d8a100c11a29505c03f53d64a7a0c875d8def66b56e9d854cc154c236dd9c6612e726492df120bee6896682e7ab744bceadc1e80
+DIST mangband-1.1.3.tar.gz 1497078 SHA256 d4917c51fc84a0626db1b09f6cf8b0ebc4522dd8ab34334e56fba8275ede9069 SHA512 5efda352607953e94a433bf9aabb496419a22c984dc9e054cebc90623682da23a90fb6cb910fcc950010d469571f2af515bfa7740c921add44ac9ea95e723130 WHIRLPOOL 28bf625bf930dff87e66ef8f500043a061b5834e830b1f377f7115c824432fc8025ab687fb6bc3bf69e73c8316ece0f4707cf6550ba3f6560d1c2b456c510bd0
+EBUILD mangband-1.1.3.ebuild 2048 SHA256 655f44e0974b11a968d06e7a9eaa4f50bf36ef6c2dd7912790bacd567d18db3a SHA512 8f1b2a0afb6f3b600730b64aaf79ed9834397c8ce5d7f85279b5b481a258b0f35493e00258d38880bf0e7c37ba149d5e2765862a1aa4e2469dd0fda66434e4f7 WHIRLPOOL 9e0244e5628076f64ac38f94e44db9d470b16b7542307637ddc0ff90167b027973702ca9924a3c9cc3c9ca3eef58f65c95fe6c0627bf7e8181f95113303a00bf
+MISC ChangeLog 530 SHA256 a27c9c1a00990521f67c4b859aa9e436159f581e83331d10858808e60e537221 SHA512 ee0a7bfa10fa1c4b7f0632c5d53f12cb75d6b5e33df554c44955d538a722cdcd2c2bc35015e21126c67cb4a7d4a59dc2966d0e971b47927cc12893fe8a5ea669 WHIRLPOOL 99c4d395a3070efc1a4dc3183832b013439f91808b6136e5710b1d3c6048255022225e065a24ea2c6bbb9ee087b87ee9292f4d738481df1abebc12cd1ed1c1da
+MISC metadata.xml 386 SHA256 659b4aadc2d52c0277fb57ca4bce9da9b6f1f8529faa7ab4430e1dd448f683cc SHA512 58fc9278b48b83d30722d7c98f2346d1ee4efa1b9a5e350a72e68d977ceef6f265152ee6e2c596f80667afe2719bd7aeb0974a009f6c56d092b3d6130af5603c WHIRLPOOL c06c6a73c04addbbb6da21e9667b73d6f6f9b49e0cbd8cf8d3348321530228c00669706120509e9f7a8824ee3743ebf303f0c403cb77ff8964289372dda8b110
diff --git a/games-roguelike/mangband/files/mangband-1.1.3-paths.patch b/games-roguelike/mangband/files/mangband-1.1.3-paths.patch
new file mode 100644
index 000000000000..dd9551570196
--- /dev/null
+++ b/games-roguelike/mangband/files/mangband-1.1.3-paths.patch
@@ -0,0 +1,118 @@
+diff --git a/src/config.h.in b/src/config.h.in
+index e8efdca..9a6290a 100644
+--- a/config.h.in
++++ a/config.h.in
+@@ -473,6 +473,9 @@
+ #ifndef DEFAULT_PATH
+ # define DEFAULT_PATH "./lib/"
+ #endif
++#ifndef DEFAULT_PATH_W
++# define DEFAULT_PATH_W DEFAULT_PATH
++#endif
+
+
+ /*
+diff --git a/src/server/externs.h b/src/server/externs.h
+index 249e41b..e1a5c4f 100644
+--- a/server/externs.h
++++ a/server/externs.h
+@@ -644,7 +644,7 @@ extern errr init_e_info_txt(FILE *fp, char *buf);
+ extern errr init_r_info_txt(FILE *fp, char *buf);
+
+ /* init.c */
+-extern void init_file_paths(char *path);
++extern void init_file_paths(char *path, char *path2);
+ extern void init_some_arrays(void);
+ extern void load_server_cfg(void);
+
+diff --git a/src/server/init2.c b/src/server/init2.c
+index 00d8a01..27fd2b7 100644
+--- a/server/init2.c
++++ a/server/init2.c
+@@ -63,10 +63,11 @@
+ * to succeed even if the strings have not been allocated yet,
+ * as long as the variables start out as "NULL".
+ */
+-void init_file_paths(char *path)
++void init_file_paths(char *path, char *path2)
+ {
+ char *tail;
+-
++ char *tail2;
++ char *tmp;
+
+ /*** Free everything ***/
+
+@@ -103,6 +104,10 @@ void init_file_paths(char *path)
+ /* Prepare to append to the Base Path */
+ tail = path + strlen(path);
+
++ tmp = string_make(path2);
++
++ /* Prepare to append to the Base Path */
++ tail2 = path2 + strlen(path2);
+
+ #ifdef VM
+
+@@ -123,8 +128,8 @@ void init_file_paths(char *path)
+ /*** Build the sub-directory names ***/
+
+ /* Build a path name */
+- strcpy(tail, "data");
+- ANGBAND_DIR_DATA = string_make(path);
++ strcpy(tail2, "data");
++ ANGBAND_DIR_DATA = string_make(path2);
+
+ /* Build a path name */
+ strcpy(tail, "edit");
+@@ -147,16 +152,16 @@ void init_file_paths(char *path)
+ ANGBAND_DIR_PREF = string_make(path);
+ #endif
+ /* Build a path name */
+- strcpy(tail, "save");
+- ANGBAND_DIR_SAVE = string_make(path);
++ strcpy(tail2, "save");
++ ANGBAND_DIR_SAVE = string_make(path2);
+
+ /* Build a path name */
+ strcpy(tail, "text");
+ ANGBAND_DIR_TEXT = string_make(path);
+
+ /* Build a path name */
+- strcpy(tail, "user");
+- ANGBAND_DIR_USER = string_make(path);
++ strcpy(tail2, "user");
++ ANGBAND_DIR_USER = string_make(path2);
+ #if 0
+ /* Build a path name */
+ strcpy(tail, "apex");
+diff --git a/src/server/main.c b/src/server/main.c
+index 4260b8d..7884b2f 100644
+--- a/server/main.c
++++ a/server/main.c
+@@ -142,6 +142,7 @@ extern unsigned _ovrbuffer = 0x1500;
+ static void init_stuff(void)
+ {
+ char path[1024];
++ char path2[1024];
+
+ #if defined(AMIGA) || defined(VM)
+
+@@ -161,10 +162,16 @@ static void init_stuff(void)
+ /* Hack -- Add a path separator (only if needed) */
+ if (!suffix(path, PATH_SEP)) strcat(path, PATH_SEP);
+
++ /* Use the angband_path, or a default */
++ strcpy(path2, tail ? tail : DEFAULT_PATH_W);
++
++ /* Hack -- Add a path separator (only if needed) */
++ if (!suffix(path2, PATH_SEP)) strcat(path2, PATH_SEP);
++
+ #endif /* AMIGA / VM */
+
+ /* Initialize */
+- init_file_paths(path);
++ init_file_paths(path, path2);
+ }
+
+ /*
diff --git a/games-roguelike/mangband/files/mangband-1.1.3-strchr.patch b/games-roguelike/mangband/files/mangband-1.1.3-strchr.patch
new file mode 100644
index 000000000000..f1fa19e1191e
--- /dev/null
+++ b/games-roguelike/mangband/files/mangband-1.1.3-strchr.patch
@@ -0,0 +1,22 @@
+diff --git a/src/common/h-system.h b/src/common/h-system.h
+index f60bbc1..0294dd3 100644
+--- a/common/h-system.h
++++ a/common/h-system.h
+@@ -104,17 +104,6 @@
+
+ #ifdef SET_UID
+
+-# ifdef USG
+-# include <string.h>
+-# else
+-# include <strings.h>
+-extern char *strstr();
+-extern char *strchr();
+-extern char *strrchr();
+-# endif
+-
+-#else
+-
+ # include <string.h>
+
+ #endif
diff --git a/games-roguelike/mangband/mangband-1.1.3.ebuild b/games-roguelike/mangband/mangband-1.1.3.ebuild
new file mode 100644
index 000000000000..880306d0d6c0
--- /dev/null
+++ b/games-roguelike/mangband/mangband-1.1.3.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils flag-o-matic user
+
+DESCRIPTION="Online multiplayer real-time roguelike game, derived from Angband."
+HOMEPAGE="http://www.mangband.org"
+SRC_URI="http://www.mangband.org/download/${P}.tar.gz"
+
+#RESTRICT=nomirror # for ebuild debugging
+
+LICENSE="Moria"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ncurses sdl X"
+
+# Remove this once we hit MAngband 1.2:
+S="${WORKDIR}/${P}"/src
+
+RDEPEND="
+ ncurses? ( sys-libs/ncurses:= )
+ sdl? ( media-libs/libsdl )
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-strchr.patch"
+ "${FILESDIR}/${P}-paths.patch" )
+
+MY_DATADIR=/usr/share/"${PN}"
+MY_STATEDIR=/var/lib/"${PN}"
+MY_SYSCONFDIR=/etc
+
+src_configure() {
+ append-cflags "-DDEFAULT_PATH='\"${MY_DATADIR}\"' -DDEFAULT_PATH_W='\"${MY_STATEDIR}\"'"
+ econf \
+ $(use_with ncurses gcu) \
+ $(use_with X x11) \
+ $(use_with sdl)
+}
+
+pkg_setup() {
+ # mangband server uses own user/group:
+ enewgroup mangband
+ enewuser mangband -1 -1 -1 "mangband"
+}
+
+src_install() {
+# Newer versions of MAngband have "make install", so we could use..
+# emake DESTDIR="${D}" install
+# dodoc NEWS README INSTALL AUTHORS
+#..but not yet
+
+ dobin mangband mangclient
+
+ # Read-only data
+ insinto "${MY_DATADIR}"
+ doins -r "${WORKDIR}/${P}"/lib/{edit,file,help,text,xtra,user}
+
+ # Server config
+ insinto "${MY_SYSCONFDIR}"
+ doins "${WORKDIR}/${P}"/mangband.cfg
+
+ # Read-write data
+ insinto "${MY_STATEDIR}"
+ doins -r "${WORKDIR}/${P}"/lib/{data,save,user}
+
+ fowners -R mangband:mangband "${MY_STATEDIR}"/{data,save,user}
+ fperms -R 2664 "${MY_STATEDIR}"/{data,save,user}
+ fperms 2775 "${MY_STATEDIR}"/{data,save,user}
+
+ # Docs
+ #dodoc ${WORKDIR}/${P}/LICENSE
+}
+
+pkg_postinst() {
+ echo
+ elog "Make sure LibDir is either unset in ~/.mangrc or points to"
+ elog " ${MY_DATADIR} for 'mangclient' to pick it up."
+ elog "Server binary is called 'mangband', and must be run under user"
+ elog " mangband, i.e. 'sudo -u mangband mangband' "
+ echo
+}
diff --git a/games-roguelike/mangband/metadata.xml b/games-roguelike/mangband/metadata.xml
new file mode 100644
index 000000000000..11e4ff3a600c
--- /dev/null
+++ b/games-roguelike/mangband/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>flambard@mangband.org</email>
+ <description>Proxied Maintainer</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/games-roguelike/mazesofmonad/Manifest b/games-roguelike/mazesofmonad/Manifest
new file mode 100644
index 000000000000..783da00e3d9e
--- /dev/null
+++ b/games-roguelike/mazesofmonad/Manifest
@@ -0,0 +1,7 @@
+AUX mazesofmonad-1.0.9-time-1.5.patch 968 SHA256 fb1d715426bc4a2011a136d4fa6afd97c8b02cc189c90418057db0c745ea5e88 SHA512 e93813f3cfd1966fc6ac20d8d651242c0ae3b881ea339de07ebb815db5f7d32f7ca5263c72d68fe2281997abc1a77893a26882e75bed09dd9e3a4a64d012116f WHIRLPOOL 4c45b2e31a28b7adb7e04267e1bc1f50028ef6d16fd954b45111bcac6a1e5c6ddfb567e8cf076b71a336fde0a896936a3b65ae3d9c72bcd5ee459e6cd5b584e5
+DIST MazesOfMonad-1.0.9.tar.gz 56342 SHA256 02075be1011adc99f69f6438a30b8da4b397aef9dcbaec23134a7524cbc73310 SHA512 a537672907f0bf356574b5c16b9b354cc73133958873e3dfc064f9de2ad7c18bed011f811887edc37c9b40de5529f7954889953946a79da29a255637e81d9612 WHIRLPOOL 1c1c9615bdf2f1597aae495731ed498c416a0f02761c76bbc88697a75a21cf14748fb678a9b0470eea2d0c0e73807319c847d6f63f7648d2b88d8405e24206a1
+EBUILD mazesofmonad-1.0.9-r2.ebuild 1156 SHA256 318e69189c005310aa548c035948a4db1d853b73f3eb326c27c67c7f5facb5d1 SHA512 4bad9e5a3898d04d4119437c6fbfe9c442f5473912fda26715102b6fa477d27bab20534d38692eb3fa23c406f8f7fef82b39e637d0438f289b30374cd5bbafcc WHIRLPOOL e6ca9f558e7d187a915e66a9a7767034d4ff21ee1b92fa61b56840a8a7fddc1f9dd1773546252218df949fd8c381b0a35b73b7dd3a40c982585fd4c0b8270171
+EBUILD mazesofmonad-1.0.9-r3.ebuild 822 SHA256 ba75e3dab22c2aa5d742e22972456a3ab4b7c449a68f9c233b6b0f541d5765a0 SHA512 3fa0ed0b1a089c86215e956ad305dbd72b8167de81aa79edf79829b68090fcbc87188533c1d87a81127c2545fe3e8ef1ca9da95d07694870ea63cbb3c146ffba WHIRLPOOL 2c7e848c3e730a27d05b00a966c3ac5b131643311e717eaa3b4d4626fdb2fb8512321663f93377bde23710dd829760dfc191837562b00ab7d5e169415109a5ff
+MISC ChangeLog 2932 SHA256 c52caac61c442ed00a3c22a20bcd194f53a859510a852b06efc26c4d0dd3eb0b SHA512 56da42689fb15933fdbc5546673b7aaf748b89d8923157b252b3786b255e7727a222055cd0af172eb1a4895d9c1f20f421ee73db8cc3ddade71f024bd882c209 WHIRLPOOL 13f77c6c1ba329328fb6a20ef1450637a962b32693aba199044cc61925e2157a5801bbb41f9a269cb85a4a70ef8812666657675f2fecc5da5362fe2357a3eda5
+MISC ChangeLog-2015 1449 SHA256 7c07df0b89218089ffb7bd251bc0f5978fff7cbdb5dd2fa0d7164e71a5a5106b SHA512 63625cbff42882a192124c4082576689a6a0749f53aa4df47b2a81c8bde504e7da519d26cbc7cb47220c85a1efc904d69c16a91ed6fea1b3f87db756b5866856 WHIRLPOOL 4ebabd59de2dac76d6131e9d70dbd6dc8b74b62421db2567b9d74a8df1e75e495011b71ccb26fcc2aa37dd2e020a47ffea47e248061c15e5971440df1f8e7f92
+MISC metadata.xml 971 SHA256 7d78034c03420a6781a258bae454c85740ada762c717011f2b22ff2fa040673d SHA512 fc715d7961b2b6421e8dba76a8f81a2f0ce814fdcf9eaae45c5c4a6509e253193f440924c56786f8e291cebaf1bfd5d3dbb6675f0d016c14ea17b97beec12eab WHIRLPOOL 872709bd85df95ffcdb015f85e53920cd9225f8b846279e1e168335c771078a7ca494818e381d68b4004f546cfcfd7090af01ab61da6871de172015deb2b5b76
diff --git a/games-roguelike/mazesofmonad/files/mazesofmonad-1.0.9-time-1.5.patch b/games-roguelike/mazesofmonad/files/mazesofmonad-1.0.9-time-1.5.patch
new file mode 100644
index 000000000000..11ef34ef45f9
--- /dev/null
+++ b/games-roguelike/mazesofmonad/files/mazesofmonad-1.0.9-time-1.5.patch
@@ -0,0 +1,22 @@
+diff --git a/MazesOfMonad.cabal b/MazesOfMonad.cabal
+index db5e5bf..c3b427b 100644
+--- a/MazesOfMonad.cabal
++++ b/MazesOfMonad.cabal
+@@ -34,3 +34,3 @@ Executable mazesofmonad
+ regex-posix, containers, filepath, directory, pretty,
+- array, mtl, old-locale, time
++ array, mtl, old-locale, time, time-locale-compat
+
+diff --git a/src/MoresmauJP/Rpg/Save.hs b/src/MoresmauJP/Rpg/Save.hs
+index 12965b7..238b9b9 100644
+--- a/src/MoresmauJP/Rpg/Save.hs
++++ b/src/MoresmauJP/Rpg/Save.hs
+@@ -10,2 +10,3 @@ import Data.Maybe
+ import Data.Time
++import qualified Data.Time.Locale.Compat as DTLC
+
+@@ -112,3 +113,3 @@ listGames rs name= do
+ if isJust $ bckGame bs
+- then return $ Just (dropExtension x,formatTime defaultTimeLocale (iso8601DateFormat $ Just "%R") $ bckDate bs)
++ then return $ Just (dropExtension x,formatTime DTLC.defaultTimeLocale (DTLC.iso8601DateFormat $ Just "%R") $ bckDate bs)
+ else return Nothing
diff --git a/games-roguelike/mazesofmonad/mazesofmonad-1.0.9-r2.ebuild b/games-roguelike/mazesofmonad/mazesofmonad-1.0.9-r2.ebuild
new file mode 100644
index 000000000000..316f3acdd95a
--- /dev/null
+++ b/games-roguelike/mazesofmonad/mazesofmonad-1.0.9-r2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CABAL_FEATURES="bin"
+inherit eutils haskell-cabal games
+
+MY_PN=MazesOfMonad
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Console-based roguelike Role Playing Game similar to nethack"
+HOMEPAGE="https://github.com/JPMoresmau/MazesOfMonad
+ http://hackage.haskell.org/package/MazesOfMonad"
+SRC_URI="mirror://hackage/packages/archive/${MY_PN}/${PV}/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-libs/gmp-5:0=
+ virtual/libffi:="
+DEPEND="${RDEPEND}
+ >=dev-lang/ghc-7.4.1
+ >=dev-haskell/cabal-1.6
+ dev-haskell/hunit
+ dev-haskell/mtl
+ dev-haskell/random
+ dev-haskell/regex-posix
+ dev-haskell/time-locale-compat
+"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ games_pkg_setup
+ haskell-cabal_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.0.9-time-1.5.patch
+}
+
+src_configure() {
+ haskell-cabal_src_configure \
+ --prefix="${GAMES_PREFIX}"
+}
+
+src_compile() {
+ haskell-cabal_src_compile
+}
+
+src_install() {
+ haskell-cabal_src_install
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ haskell-cabal_pkg_postinst
+ games_pkg_postinst
+}
diff --git a/games-roguelike/mazesofmonad/mazesofmonad-1.0.9-r3.ebuild b/games-roguelike/mazesofmonad/mazesofmonad-1.0.9-r3.ebuild
new file mode 100644
index 000000000000..b2576b4387b0
--- /dev/null
+++ b/games-roguelike/mazesofmonad/mazesofmonad-1.0.9-r3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+CABAL_FEATURES="bin"
+inherit eutils haskell-cabal
+
+MY_PN=MazesOfMonad
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Console-based roguelike Role Playing Game similar to nethack"
+HOMEPAGE="https://github.com/JPMoresmau/MazesOfMonad
+ http://hackage.haskell.org/package/MazesOfMonad"
+SRC_URI="mirror://hackage/packages/archive/${MY_PN}/${PV}/${MY_P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-libs/gmp-5:0=
+ virtual/libffi:="
+DEPEND="${RDEPEND}
+ >=dev-lang/ghc-7.4.1
+ >=dev-haskell/cabal-1.6
+ dev-haskell/hunit
+ dev-haskell/mtl
+ dev-haskell/random
+ dev-haskell/regex-posix
+ dev-haskell/time-locale-compat
+"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.9-time-1.5.patch
+)
diff --git a/games-roguelike/mazesofmonad/metadata.xml b/games-roguelike/mazesofmonad/metadata.xml
new file mode 100644
index 000000000000..c264aaf1de4f
--- /dev/null
+++ b/games-roguelike/mazesofmonad/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>haskell@gentoo.org</email>
+ <name>Gentoo Haskell</name>
+ </maintainer>
+ <longdescription>
+ MazesOfMonad is a console-based Role Playing Game. You create
+ characters with their strong and weak points, and try to complete
+ mazes that are randomly generated. You can pick up gold and items
+ on the way, meet monsters, and deal with them as you want. You can
+ fight, use magic, bribe, trade, steal... This is only a simple game
+ that I did to see what building a full blown Haskell application
+ is like to develop. Versions 1.0.5 and above are complete
+ and working.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">JPMoresmau/MazesOfMonad</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-roguelike/metadata.xml b/games-roguelike/metadata.xml
new file mode 100644
index 000000000000..3d54b3c25841
--- /dev/null
+++ b/games-roguelike/metadata.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The games-roguelike category contains games which resemble Rogue's
+ style.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie games-roguelike enthält Spiele die sich am Stil von
+ Rogue orientieren (z.B. NetHack).
+ </longdescription>
+ <longdescription lang="es">
+ La categoría games-roguelike contiene juegos que recrean el estilo del
+ Rogue.
+ </longdescription>
+ <longdescription lang="ja">
+ games-roguelike カテゴリーにはRogueスタイルに似たゲームが含まれています。
+ </longdescription>
+ <longdescription lang="nl">
+ De games-roguelike categorie bevat spellen die gebaseerd zijn op de
+ stijl van Rogue, zoals bijvoorbeeld NetHack.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm games-roguelike chứa các trò chơi dạng Rogue.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria games-roguelike contiene giochi che ricreano lo stile di Rogue.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria games-roguelike contém jogos que recriam o estilo
+ de Rogue.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria games-roguelike zawiera tekstowe gry cRPG podobne do Rogue.
+ </longdescription>
+</catmetadata>
+
diff --git a/games-roguelike/moria/Manifest b/games-roguelike/moria/Manifest
new file mode 100644
index 000000000000..fe1abbf22d41
--- /dev/null
+++ b/games-roguelike/moria/Manifest
@@ -0,0 +1,11 @@
+AUX 5.5.2-fbsd.patch 6904 SHA256 14d431275e60b320c33ee30a0fdf446a04d8786fa51080f9cad60f87b630894c SHA512 ec1c0428bd5223ee2bd5408b482941911fab6650cde1c49ff0c93262ea4203d09502a5bb5fda1ee66588935faccc9c1f0a738c337f8af92a63467238d91f6d8d WHIRLPOOL e051422e773698e449fd72fdf28d95c608536c9d41ed4dc35afccac808ea999e2ddf35c64cb49b5de29dd1a404a10e58c7ebff1d266071efe603ba361620529e
+AUX 5.5.2-gentoo-paths.patch 2363 SHA256 40a8402d7b49bb296eb13e5f3b76fec50a6b484c7ffde7943269e11e92829a35 SHA512 41789167d9e624e0ca2d800bb87851a5e9628b51cc80cc84ca15c974f394d99101ea9cc6bde361b1c2187a3983b5d2291ca15cdbae04499687fd9785e017c32c WHIRLPOOL 91e92fe7afa5797367836643ec6eb241394770261fe5d8a53f0b2f46e04dd7c9d041fd063a5c493a277fd07ffd123f2671aeb4dcb818e20889329f8e5d97f190
+AUX 5.5.2-glibc.patch 9796 SHA256 90ed9516a4acd57c70654f3b5817e694596c90caed10cc08c167ed05926601c8 SHA512 834e3b4521ac00e8367abd3c5e5eefe7859f36f0182794911936006224c9fac94b6e4beae1da73c228e1e434d02cf870fc69f6102b981c78916c204a6eea101d WHIRLPOOL cf5a61dcd1089cde0d55dd05f02d6c12962e0aaf8200d766414d1b0789d5f4855c2a638e9755fc91571f4b110d0f373f23fa740251df34225486e4ae81c2a809
+AUX 5.5.2-hours.patch 1343 SHA256 821d0085fc025419ae57aa4725f7084f6934bf07070d7463118aede4c414f3c4 SHA512 2b59e37741664dcfc095a5ae9ac482d6899d71f8221ca0f7d9d1caee594f05ac2ef043a6ff983e5266b904afa725876210d07b02352921066271f35e2efe7047 WHIRLPOOL f0be07932cb437bd08288924d04c561e7f20dae916022f23cfc39479fef3e15ea83af90852cb1fd4ec104f5ea4951b23fa3307f99dcec245313474d5e1a67853
+AUX 5.5.2-warnings.patch 386 SHA256 ad5ec6b509cf371ea0d367d4aea6f9874ae4083145dd9f0a015c12dbf79ec13d SHA512 64bd3e7a0c613ca3043ea0a4aa4aab83281132af16d73e9ed70f1d5ff979b48cf1f085a030c56f0c17be01bbabb2dd4d9dcbd02d4a204993adec3fd01f03ab5c WHIRLPOOL 2dea4ff1bc6e48d2e61da52f79fb4ff70207e2d07120d8097de2ae8e371595a83ec9ec46889e6d0647f984805719cd328688deb0f8c55214bdd0f418ca110aac
+DIST moria-extras.tar.bz2 57324 SHA256 60f2a7d7bf8615a090cacafd17cf6fae8f9f0af78700439022e25014384b5076 SHA512 39d04ffdbe779fc070ee72084df5c731f8db25116e9156898d4c78c86e02288cf3560849461f2081209a06a74274789a671b104dc806b63a0d955adad17fd85f WHIRLPOOL cb862713c26d18515bb4017a14a8b25943c2a692eaf17d672faa2c8fb34a612a68342c7d21c2bcca247959a4a1906aa5649fda175e7c281cc1d81ba2c6ac9f89
+DIST um5.5.2.tar.Z 910536 SHA256 fffab65703c77058a1aadd8647cc1f44bd4349065af0b334702986f36007b2ed SHA512 987bbccb9cb4870ec91704cd20cf19875320d1cfe62c4c5a0063bfc3827732a0e3334a4ea3712137f3262d7418db0ea7e803d724e2dec4d5eb41ebe741f326cc WHIRLPOOL 568ea63c647cc999267834a24ecf3792f55e83c2942f5bcfaa70ca089abebb4de4d827646d493d551447ed3cdc34e39f31d0cca18f40eb767daf586d38951ebe
+EBUILD moria-5.5.2.ebuild 1930 SHA256 fa8af2f70fb0f4a835ee32936f99bd5e47c6cf6b9d701187d38dae018ca18215 SHA512 c98c72d406ada7b67c85b0dbeaff9c3897efa61a5c5f0ddd5846d96545e8f083ac3b7fcf5ae5baa022366bf860994f49b482ff7da236ee44c1c697c4abd57103 WHIRLPOOL 1209ee78d82c8cff8062f4ba6aeb1eb27fdd98e60103eae346b72a2db33ba9df154cc8e66e00b972ba9db143838d3b9d5aad2a08cfdd81174ff28f16ff7d20e2
+MISC ChangeLog 2718 SHA256 be3eba26c3c7dfd83b22e64155fa772c311e1d26ed87376fd4f9cc3a55b78945 SHA512 8cdeb505cfbd7477f89cd8a59ea07a1283b34fc90445eb0daae1ca44710d8475266793a1bf5dbb151c0514fd67ae61775c227a2ea45c6e5e5cdafa8c97505758 WHIRLPOOL 853716ac93fdf604e187c91119d4f1dcb98e743b60e38967bfb5e09a463cd262d904b5ce8d67c863077a8c8aa5d3d1b7566e540987e1f376a1f33224ccebca08
+MISC ChangeLog-2015 1474 SHA256 d4036f0a296ecd9d469cbab6890c8fe6d1b721b668adc79918c7cdfbe5c83407 SHA512 55ae95054683642e987d2f10ec1a57d85d72f345a3454e307fbce50df5cbdb5b37b4585dea8d9388627b5ced02408b21d9dc104c51ea07b39b78f9aea222631b WHIRLPOOL fa6ce8b57eec5a9429be54c1c5c7fe12db38f9fbe751b1243d37bfdf0453a151d48ecdc7f1cd4b064829a01af6666d612327026241118537c14d79a6cef2c4d7
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-roguelike/moria/files/5.5.2-fbsd.patch b/games-roguelike/moria/files/5.5.2-fbsd.patch
new file mode 100644
index 000000000000..4f65b08f567d
--- /dev/null
+++ b/games-roguelike/moria/files/5.5.2-fbsd.patch
@@ -0,0 +1,268 @@
+Index: umoria/source/main.c
+===================================================================
+--- umoria.orig/source/main.c
++++ umoria/source/main.c
+@@ -88,6 +88,7 @@
+ #include <time.h>
+ #endif
+
++#ifndef __FreeBSD__
+ #ifndef VMS
+ #ifndef MAC
+ #ifndef GEMDOS
+@@ -98,6 +99,9 @@ long time();
+ char *getenv();
+ #endif
+ #endif
++#else
++#include <stdlib.h>
++#endif
+
+ #ifndef MAC
+ #ifndef AMIGA
+@@ -360,7 +364,7 @@ char *argv[];
+ else
+ { /* Create character */
+ create_character();
+-#ifdef MAC
++#if defined(MAC) || defined(__FreeBSD__)
+ birth_date = time ((time_t *)0);
+ #else
+ birth_date = time ((long *)0);
+Index: umoria/source/death.c
+===================================================================
+--- umoria.orig/source/death.c
++++ umoria/source/death.c
+@@ -123,6 +123,7 @@ static void kingly(void);
+ #include <stdlib.h>
+ #endif
+
++#ifndef __FreeBSD__
+ #ifndef VMS
+ #ifndef MAC
+ #if !defined(ATARIST_MWC) && !defined(AMIGA)
+@@ -130,18 +131,19 @@ long time();
+ #endif
+ #endif
+ #endif
++#endif
+
+ static void date(day)
+ char *day;
+ {
+ register char *tmp;
+-#ifdef MAC
++#if defined(MAC) || defined(__FreeBSD__)
+ time_t clockvar;
+ #else
+ long clockvar;
+ #endif
+
+-#ifdef MAC
++#if defined(MAC) || defined(__FreeBSD__)
+ clockvar = time((time_t *) 0);
+ #else
+ clockvar = time((long *) 0);
+Index: umoria/source/io.c
+===================================================================
+--- umoria.orig/source/io.c
++++ umoria/source/io.c
+@@ -13,6 +13,11 @@
+
+ #include "config.h"
+
++#ifdef __FreeBSD__
++#include <sys/ioctl_compat.h>
++#include <time.h>
++#endif
++
+ #ifdef HPUX
+ #include <sys/bsdtty.h>
+ #endif
+@@ -245,7 +250,9 @@ int suspend()
+ struct ltchars lcbuf;
+ struct tchars cbuf;
+ int lbuf;
++#ifndef __FreeBSD__
+ long time();
++#endif
+
+ py.misc.male |= 2;
+ (void) ioctl(0, TIOCGETP, (char *)&tbuf);
+@@ -313,7 +320,7 @@ void init_curses()
+ #endif
+
+ /* PC curses returns ERR */
+-#if defined(USG) && !defined(PC_CURSES) && !defined(AMIGA)
++#if (defined(USG) && !defined(PC_CURSES) && !defined(AMIGA)) || defined(__FreeBSD__)
+ if (initscr() == NULL)
+ #else
+ if (initscr() == ERR)
+@@ -331,7 +338,7 @@ void init_curses()
+ #if defined(atarist) && defined(__GNUC__)
+ (void) signal (SIGTSTP, (__Sigfunc)suspend);
+ #else
+-#ifdef __386BSD__
++#if defined(__386BSD__) || defined(__FreeBSD__)
+ (void) signal (SIGTSTP, (sig_t)suspend);
+ #else
+ (void) signal (SIGTSTP, suspend);
+@@ -757,7 +764,7 @@ void shell_out()
+ msg_print("Fork failed. Try again.");
+ return;
+ }
+-#if defined(USG) || defined(__386BSD__)
++#if defined(USG) || defined(__386BSD__) || defined(__FreeBSD__)
+ (void) wait((int *) 0);
+ #else
+ (void) wait((union wait *) 0);
+Index: umoria/source/misc1.c
+===================================================================
+--- umoria.orig/source/misc1.c
++++ umoria/source/misc1.c
+@@ -28,7 +28,7 @@
+ #endif
+ #endif
+
+-#if !defined(ATARIST_MWC) && !defined(MAC) && !defined(VMS) && !defined(AMIGA)
++#if !defined(ATARIST_MWC) && !defined(MAC) && !defined(VMS) && !defined(AMIGA) && !defined(__FreeBSD__)
+ long time();
+ #endif
+ struct tm *localtime();
+@@ -45,7 +45,7 @@ int32u seed;
+ register int32u clock_var;
+
+ if (seed == 0)
+-#ifdef MAC
++#if defined(MAC) || defined(__FreeBSD__)
+ clock_var = time((time_t *)0);
+ #else
+ clock_var = time((long *)0);
+@@ -89,10 +89,14 @@ void reset_seed()
+ int check_time()
+ {
+ #ifdef MORIA_HOU
++#if defined(MAC) || defined(__FreeBSD__)
++ time_t clock_var;
++#else
+ long clock_var;
++#endif
+ register struct tm *tp;
+
+-#ifdef MAC
++#if defined(MAC) || defined(__FreeBSD__)
+ clock_var = time((time_t *)0);
+ #else
+ clock_var = time((long *)0);
+Index: umoria/source/save.c
+===================================================================
+--- umoria.orig/source/save.c
++++ umoria/source/save.c
+@@ -102,7 +102,7 @@ static void rd_monster();
+ #endif
+
+ #if !defined(ATARIST_MWC)
+-#ifdef MAC
++#if defined(MAC) || defined(__FreeBSD__)
+ #include <time.h>
+ #else
+ long time();
+@@ -331,7 +331,7 @@ static int sv_write()
+ }
+
+ /* save the current time in the savefile */
+-#ifdef MAC
++#if defined(MAC) || defined(__FreeBSD__)
+ l = time((time_t *)0);
+ #else
+ l = time((long *)0);
+@@ -1029,7 +1029,7 @@ int *generate;
+ || (version_min == 2 && patch_level >= 2))
+ rd_long ((int32u *)&birth_date);
+ else
+-#ifdef MAC
++#if defined(MAC) || defined(__FreeBSD__)
+ birth_date = time((time_t *)0);
+ #else
+ birth_date = time((long *)0);
+@@ -1253,7 +1253,7 @@ scoreboard; it will not be scored again.
+ /* rotate store inventory, depending on how old the save file */
+ /* is foreach day old (rounded up), call store_maint */
+ /* calculate age in seconds */
+-#ifdef MAC
++#if defined(MAC) || defined(__FreeBSD__)
+ start_time = time((time_t *)0);
+ #else
+ start_time = time((long *)0);
+Index: umoria/source/signals.c
+===================================================================
+--- umoria.orig/source/signals.c
++++ umoria/source/signals.c
+@@ -89,7 +89,7 @@ static int signal_count = 0;
+
+ /*ARGSUSED*/
+ #ifndef USG
+-#ifdef __386BSD__
++#if defined(__386BSD__) || defined(__FreeBSD__)
+ static void signal_handler(sig, code, scp)
+ #else
+ static int signal_handler(sig, code, scp)
+@@ -217,7 +217,7 @@ void signals()
+ #if defined(atarist) && defined(__GNUC__)
+ (void) signal(SIGTSTP, (__Sigfunc)suspend);
+ #else
+-#ifdef __386BSD__
++#if defined(__386BSD__) || defined(__FreeBSD__)
+ (void) signal(SIGTSTP, (sig_t)suspend);
+ #else
+ (void) signal(SIGTSTP, suspend);
+Index: umoria/source/types.h
+===================================================================
+--- umoria.orig/source/types.h
++++ umoria/source/types.h
+@@ -6,11 +6,20 @@
+ not for profit purposes provided that this copyright and statement are
+ included in all such copies. */
+
++#ifdef __FreeBSD__
++#include <sys/types.h>
++typedef u_int32_t int32u;
++typedef int32_t int32;
++typedef u_int16_t int16u;
++typedef int16_t int16;
++typedef u_int8_t int8u;
++#else
+ typedef unsigned long int32u;
+ typedef long int32;
+ typedef unsigned short int16u;
+ typedef short int16;
+ typedef unsigned char int8u;
++#endif
+ /* some machines will not accept 'signed char' as a type, and some accept it
+ but still treat it like an unsigned character, let's just avoid it,
+ any variable which can ever hold a negative value must be 16 or 32 bits */
+Index: umoria/unix/unix.c
+===================================================================
+--- umoria.orig/unix/unix.c
++++ umoria/unix/unix.c
+@@ -14,6 +14,10 @@
+ /* defines TRUE and FALSE */
+ #include <curses.h>
+
++#ifdef __FreeBSD__
++#include <unistd.h>
++#endif
++
+ #include "config.h"
+ #include "constant.h"
+ #include "types.h"
+@@ -276,7 +280,9 @@ int getuid();
+ void user_name(buf)
+ char *buf;
+ {
++#ifndef __FreeBSD__
+ extern char *getlogin();
++#endif
+ struct passwd *pwline;
+ register char *p;
+
diff --git a/games-roguelike/moria/files/5.5.2-gentoo-paths.patch b/games-roguelike/moria/files/5.5.2-gentoo-paths.patch
new file mode 100644
index 000000000000..5ce4ce4d2b4d
--- /dev/null
+++ b/games-roguelike/moria/files/5.5.2-gentoo-paths.patch
@@ -0,0 +1,58 @@
+--- umoria/unix/Makefile.orig 2003-12-31 14:52:58.583335976 -0500
++++ umoria/unix/Makefile 2003-12-31 14:51:54.621059720 -0500
+@@ -3,6 +3,7 @@
+ # LIBDIR must be the same directory defined in config.h
+ # OWNER is who you want the game to be chown to.
+ # GROUP is who you wnat the game to be chgrp to.
++STATEDIR = /var/lib
+ BINDIR = /home/zariski/grabiner/moria
+ LIBDIR = /home/zariski/grabiner/moria/files
+ OWNER = grabiner
+@@ -65,12 +66,11 @@
+ chmod 4711 $(BINDIR)/moria
+ chmod 711 $(LIBDIR)
+ (cd files; cp $(LIBFILES) $(LIBDIR))
+- (cd $(LIBDIR); chmod 444 $(LIBFILES))
+- (cd $(LIBDIR); touch scores; chmod 644 scores)
++ (cd $(STATEDIR); touch moriascores; chmod 664 moriascores; chown $(OWNER) moriascores; chgrp $(GROUP) moriascores)
+ chown $(OWNER) $(BINDIR)/moria
+ chgrp $(GROUP) $(BINDIR)/moria
+- (cd $(LIBDIR); chown $(OWNER) $(LIBFILES) scores)
+- (cd $(LIBDIR); chgrp $(GROUP) $(LIBFILES) scores)
++ (cd $(LIBDIR); chown $(OWNER) $(LIBFILES))
++ (cd $(LIBDIR); chgrp $(GROUP) $(LIBFILES))
+ # If you are short on disk space, or aren't interested in debugging moria.
+ # strip $(BINDIR)/moria
+
+--- umoria/source/config.h.orig 2003-12-31 15:19:48.893531616 -0500
++++ umoria/source/config.h 2003-12-31 15:21:09.584264760 -0500
+@@ -199,17 +199,18 @@
+ #else
+
+ /* This must be unix; change MORIA_LIB as appropriate. */
+-#define MORIA_SAV "moria.save"
+-#define MORIA_LIB(xxx) "/home/math/grabiner/moria/files/xxx"
+-#define MORIA_HOU MORIA_LIB(hours)
+-#define MORIA_MOR MORIA_LIB(news)
+-#define MORIA_TOP MORIA_LIB(scores)
+-#define MORIA_HELP MORIA_LIB(roglcmds.hlp)
+-#define MORIA_ORIG_HELP MORIA_LIB(origcmds.hlp)
+-#define MORIA_WIZ_HELP MORIA_LIB(rwizcmds.hlp)
+-#define MORIA_OWIZ_HELP MORIA_LIB(owizcmds.hlp)
+-#define MORIA_WELCOME MORIA_LIB(welcome.hlp)
+-#define MORIA_VER MORIA_LIB(version.hlp)
++#define MORIA_SAV ".moria.save"
++#define MORIA_LIB(xxx) "GENTOO_DATADIR/" xxx
++#define MORIA_STATE(xxx) "GENTOO_STATEDIR/" xxx
++#define MORIA_HOU MORIA_LIB("hours")
++#define MORIA_MOR MORIA_LIB("news")
++#define MORIA_TOP MORIA_STATE("moriascores")
++#define MORIA_HELP MORIA_LIB("roglcmds.hlp")
++#define MORIA_ORIG_HELP MORIA_LIB("origcmds.hlp")
++#define MORIA_WIZ_HELP MORIA_LIB("rwizcmds.hlp")
++#define MORIA_OWIZ_HELP MORIA_LIB("owizcmds.hlp")
++#define MORIA_WELCOME MORIA_LIB("welcome.hlp")
++#define MORIA_VER MORIA_LIB("version.hlp")
+
+ #endif
+ #endif
diff --git a/games-roguelike/moria/files/5.5.2-glibc.patch b/games-roguelike/moria/files/5.5.2-glibc.patch
new file mode 100644
index 000000000000..55e4e5de2b14
--- /dev/null
+++ b/games-roguelike/moria/files/5.5.2-glibc.patch
@@ -0,0 +1,356 @@
+diff -Naur common-orig/Makefile umoria/unix/Makefile
+--- common-orig/Makefile 2003-12-09 10:06:19.000000000 -0500
++++ umoria/unix/Makefile 2003-12-09 10:07:12.000000000 -0500
+@@ -14,9 +14,9 @@
+ CFLAGS = -O
+
+ # For BSD Systems
+-CURSES = -lcurses -ltermcap
++# CURSES = -lcurses -ltermcap
+ # For SYS V Systems
+-# CURSES = -lcurses
++CURSES = `pkg-config ncurses --libs`
+ # For XENIX, some XENIX systems may need -ltinfo
+ # CURSES = -ltcap -ltermcap -lx
+
+diff -Naur common-orig/death.c umoria/source/death.c
+--- common-orig/death.c 2003-12-09 10:06:19.000000000 -0500
++++ umoria/source/death.c 2003-12-09 10:06:56.000000000 -0500
+@@ -175,10 +175,12 @@
+ /* The following code is provided especially for systems which -CJS-
+ have no flock system call. It has never been tested. */
+
++#ifndef LOCK_EX
+ #define LOCK_EX 1
+ #define LOCK_SH 2
+ #define LOCK_NB 4
+ #define LOCK_UN 8
++#endif
+
+ /* An flock HACK. LOCK_SH and LOCK_EX are not distinguished. DO NOT release
+ a lock which you failed to set! ALWAYS release a lock you set! */
+diff -Naur common-orig/io.c umoria/source/io.c
+--- common-orig/io.c 2003-12-09 10:06:19.000000000 -0500
++++ umoria/source/io.c 2003-12-09 10:06:56.000000000 -0500
+@@ -62,6 +62,7 @@
+
+
+ #include <ctype.h>
++#include <termios.h>
+
+ #if defined(SYS_V) && defined(lint)
+ /* for AIX, prevent hundreds of unnecessary lint errors, must define before
+@@ -334,7 +335,9 @@
+ #ifdef __386BSD__
+ (void) signal (SIGTSTP, (sig_t)suspend);
+ #else
+- (void) signal (SIGTSTP, suspend);
++ /* (void) signal (SIGTSTP, suspend); */
++ /* libc6 defaults to BSD, this expects SYSV */
++ (void) sysv_signal (SIGTSTP, suspend);
+ #endif
+ #endif
+ #endif
+diff -Naur common-orig/misc3.c umoria/source/misc3.c
+--- common-orig/misc3.c 2003-12-09 10:06:19.000000000 -0500
++++ umoria/source/misc3.c 2003-12-09 10:06:56.000000000 -0500
+@@ -1249,8 +1249,7 @@
+ {
+ int i;
+ register inven_type *i_ptr;
+- vtype prt2;
+- bigvtype prt1;
++ bigvtype prt1, prt2;
+ #ifdef ATARIST_MWC
+ int32u holder;
+ #endif
+diff -Naur common-orig/misc4.c umoria/source/misc4.c
+--- common-orig/misc4.c 2003-12-09 10:06:19.000000000 -0500
++++ umoria/source/misc4.c 2003-12-09 10:06:56.000000000 -0500
+@@ -33,7 +33,7 @@
+ void scribe_object()
+ {
+ int item_val, j;
+- vtype out_val, tmp_str;
++ bigvtype out_val, tmp_str;
+
+ if (inven_ctr > 0 || equip_ctr > 0)
+ {
+diff -Naur common-orig/moria1.c umoria/source/moria1.c
+--- common-orig/moria1.c 2003-12-09 10:06:19.000000000 -0500
++++ umoria/source/moria1.c 2003-12-09 10:06:56.000000000 -0500
+@@ -332,8 +332,8 @@
+ {
+ objdes(tmp_val, &inventory[i], TRUE);
+ tmp_val[lim] = 0; /* Truncate if too long. */
+- (void) sprintf(out_val[i], " %c) %s", 'a'+i, tmp_val);
+- l = strlen(out_val[i]);
++ (void) sprintf(out_val[i], "%c) %s", 'a'+i, tmp_val);
++ l = strlen(out_val[i]) + 2;
+ if (weight)
+ l += 9;
+ if (l > len)
+@@ -352,9 +352,12 @@
+ {
+ /* don't need first two spaces if in first column */
+ if (col == 0)
+- prt(&out_val[i][2], current_line, col);
+- else
+ prt(out_val[i], current_line, col);
++ else
++ {
++ put_buffer(" ", current_line, col);
++ prt(out_val[i], current_line, col+2);
++ }
+ if (weight)
+ {
+ total_weight = inventory[i].weight*inventory[i].number;
+@@ -466,9 +469,9 @@
+ }
+ objdes(prt2, &inventory[i], TRUE);
+ prt2[lim] = 0; /* Truncate if necessary */
+- (void) sprintf(out_val[line], " %c) %-14s: %s", line+'a',
+- prt1, prt2);
+- l = strlen(out_val[line]);
++ (void) sprintf(out_val[line], "%c) %-14s: %s", line+'a',
++ prt1, prt2);
++ l = strlen(out_val[line]) + 2;
+ if (weight)
+ l += 9;
+ if (l > len)
+@@ -488,9 +491,12 @@
+ {
+ /* don't need first two spaces when using whole screen */
+ if (col == 0)
+- prt(&out_val[line][2], line+1, col);
+- else
+ prt(out_val[line], line+1, col);
++ else
++ {
++ put_buffer(" ", line+1, col);
++ prt(out_val[line], line+1, col+2);
++ }
+ if (weight)
+ {
+ total_weight = i_ptr->weight*i_ptr->number;
+diff -Naur common-orig/signals.c umoria/source/signals.c
+--- common-orig/signals.c 2003-12-09 10:06:19.000000000 -0500
++++ umoria/source/signals.c 2003-12-09 10:06:56.000000000 -0500
+@@ -113,7 +113,11 @@
+ if(error_sig >= 0) /* Ignore all second signals. */
+ {
+ if(++signal_count > 10) /* Be safe. We will die if persistent enough. */
++#ifdef __FreeBSD__
+ (void) signal(sig, SIG_DFL);
++#else
++ (void) sysv_signal(sig, SIG_DFL);
++#endif
+ return;
+ }
+ error_sig = sig;
+@@ -126,7 +126,11 @@
+ )
+ {
+ if (death)
++#ifdef __FreeBSD__
+ (void) signal(sig, SIG_IGN); /* Can't quit after death. */
++#else
++ (void) sysv_signal(sig, SIG_IGN); /* Can't quit after death. */
++#endif
+ else if (!character_saved && character_generated)
+ {
+ if (!get_check("Really commit *Suicide*?"))
+@@ -137,7 +137,11 @@
+ put_qio();
+ error_sig = -1;
+ #ifdef USG
++#ifdef __FreeBSD__
+ (void) signal(sig, signal_handler);/* Have to restore handler. */
++#else
++ (void) sysv_signal(sig, signal_handler);/* Have to restore handler. */
++#endif
+ #else
+ (void) sigsetmask(smask);
+ #endif
+@@ -179,7 +179,11 @@
+ restore_term();
+ #if !defined(MSDOS) && !defined(AMIGA) && !defined(ATARIST_TC)
+ /* always generate a core dump */
++#ifdef __FreeBSD__
+ (void) signal(sig, SIG_DFL);
++#else
++ (void) sysv_signal(sig, SIG_DFL);
++#endif
+ (void) kill(getpid(), sig);
+ (void) sleep(5);
+ #endif
+@@ -199,7 +199,11 @@
+ #if defined(atarist) && defined(__GNUC__)
+ (void) signal(SIGTSTP, (__Sigfunc)SIG_IGN);
+ #else
++#ifdef __FreeBSD__
+ (void) signal(SIGTSTP, SIG_IGN);
++#else
++ (void) sysv_signal(SIGTSTP, SIG_IGN);
++#endif
+ #endif
+ #ifndef USG
+ mask = sigsetmask(0);
+@@ -220,7 +220,11 @@
+ #ifdef __386BSD__
+ (void) signal(SIGTSTP, (sig_t)suspend);
+ #else
++#ifdef __FreeBSD__
+ (void) signal(SIGTSTP, suspend);
++#else
++ (void) sysv_signal(SIGTSTP, suspend);
++#endif
+ #endif
+ #endif
+ #ifndef USG
+@@ -237,7 +237,11 @@
+ {
+ #if !defined(ATARIST_MWC) && !defined(ATARIST_TC)
+ /* No signals for Atari ST compiled with MWC or TC. */
++#ifdef __FreeBSD__
+ (void) signal(SIGINT, signal_handler);
++#else
++ (void) sysv_signal(SIGINT, signal_handler);
++#endif
+
+ #if defined(atarist) && defined(__GNUC__)
+ /* Atari ST compiled with GNUC has most signals, but we need a cast
+@@ -259,8 +259,13 @@
+
+ #else
+ /* Everybody except the atari st. */
++#ifdef __FreeBSD__
+ (void) signal(SIGINT, signal_handler);
+ (void) signal(SIGFPE, signal_handler);
++#else
++ (void) sysv_signal(SIGINT, signal_handler);
++ (void) sysv_signal(SIGFPE, signal_handler);
++#endif
+
+ #if defined(MSDOS)
+ /* many fewer signals under MSDOS */
+@@ -278,30 +278,61 @@
+
+ /* Everybody except Atari, MSDOS, and Amiga. */
+ /* Ignore HANGUP, and let the EOF code take care of this case. */
++#ifdef __FreeBSD__
+ (void) signal(SIGHUP, SIG_IGN);
+ (void) signal(SIGQUIT, signal_handler);
+ (void) signal(SIGILL, signal_handler);
+ (void) signal(SIGTRAP, signal_handler);
+ (void) signal(SIGIOT, signal_handler);
++#else
++ (void) sysv_signal(SIGHUP, SIG_IGN);
++ (void) sysv_signal(SIGQUIT, signal_handler);
++ (void) sysv_signal(SIGILL, signal_handler);
++ (void) sysv_signal(SIGTRAP, signal_handler);
++ (void) sysv_signal(SIGIOT, signal_handler);
++#endif
+ #ifdef SIGEMT /* in BSD systems */
+ (void) signal(SIGEMT, signal_handler);
+ #endif
+ #ifdef SIGDANGER /* in SYSV systems */
+ (void) signal(SIGDANGER, signal_handler);
+ #endif
++#ifdef __FreeBSD__
+ (void) signal(SIGKILL, signal_handler);
+ (void) signal(SIGBUS, signal_handler);
+ (void) signal(SIGSEGV, signal_handler);
++#else
++ (void) sysv_signal(SIGKILL, signal_handler);
++ (void) sysv_signal(SIGBUS, signal_handler);
++ (void) sysv_signal(SIGSEGV, signal_handler);
++#endif
+ #ifdef SIGSYS
++#ifdef __FreeBSD__
+ (void) signal(SIGSYS, signal_handler);
++#else
++ (void) sysv_signal(SIGSYS, signal_handler);
++#endif
+ #endif
++#ifdef __FreeBSD__
+ (void) signal(SIGTERM, signal_handler);
+ (void) signal(SIGPIPE, signal_handler);
++#else
++ (void) sysv_signal(SIGTERM, signal_handler);
++ (void) sysv_signal(SIGPIPE, signal_handler);
++#endif
+ #ifdef SIGXCPU /* BSD */
++#ifdef __FreeBSD__
+ (void) signal(SIGXCPU, signal_handler);
++#else
++ (void) sysv_signal(SIGXCPU, signal_handler);
++#endif
+ #endif
+ #ifdef SIGPWR /* SYSV */
++#ifdef __FreeBSD__
+ (void) signal(SIGPWR, signal_handler);
++#else
++ (void) sysv_signal(SIGPWR, signal_handler);
++#endif
+ #endif
+ #endif
+ #endif
+@@ -314,7 +314,11 @@
+ #if !defined(ATARIST_MWC)
+ (void) signal(SIGINT, SIG_IGN);
+ #ifdef SIGQUIT
++#ifdef __FreeBSD__
+ (void) signal(SIGQUIT, SIG_IGN);
++#else
++ (void) sysv_signal(SIGQUIT, SIG_IGN);
++#endif
+ #endif
+ #endif
+ }
+@@ -324,7 +324,11 @@
+ #if !defined(ATARIST_MWC)
+ (void) signal(SIGINT, SIG_DFL);
+ #ifdef SIGQUIT
++#ifdef __FreeBSD__
+ (void) signal(SIGQUIT, SIG_DFL);
++#else
++ (void) sysv_signal(SIGQUIT, SIG_DFL);
++#endif
+ #endif
+ #endif
+ }
+@@ -335,13 +335,21 @@
+ #if defined(atarist) && defined(__GNUC__)
+ (void) signal(SIGINT, (__Sigfunc)signal_handler);
+ #else
++#ifdef __FreeBSD__
+ (void) signal(SIGINT, signal_handler);
++#else
++ (void) sysv_signal(SIGINT, signal_handler);
++#endif
+ #endif
+ #ifdef SIGQUIT
+ #if defined(atarist) && defined(__GNUC__)
+ (void) signal(SIGQUIT, (__Sigfunc)signal_handler);
+ #else
++#ifdef __FreeBSD__
+ (void) signal(SIGQUIT, signal_handler);
++#else
++ (void) sysv_signal(SIGQUIT, signal_handler);
++#endif
+ #endif
+ #endif
+ #endif
+diff -Naur common-orig/unix.c umoria/unix/unix.c
+--- common-orig/unix.c 2003-12-09 10:06:19.000000000 -0500
++++ umoria/unix/unix.c 2003-12-09 10:06:56.000000000 -0500
+@@ -261,7 +261,7 @@
+ #endif
+
+ #ifdef USG
+-unsigned short getuid();
++/* unsigned short getuid(); */
+ #else
+ #ifndef SECURE
+ #ifdef BSD4_3
diff --git a/games-roguelike/moria/files/5.5.2-hours.patch b/games-roguelike/moria/files/5.5.2-hours.patch
new file mode 100644
index 000000000000..3d1c329d9b9b
--- /dev/null
+++ b/games-roguelike/moria/files/5.5.2-hours.patch
@@ -0,0 +1,30 @@
+diff -ru umoria.orig/source/files.c umoria/source/files.c
+--- umoria.orig/source/files.c 1994-07-21 21:47:22.000000000 -0400
++++ umoria/source/files.c 2010-05-05 14:51:44.334588483 -0400
+@@ -130,19 +130,19 @@
+ if (strlen(in_line) > 3)
+ {
+ if (!strncmp(in_line, "SUN:", 4))
+- (void) strcpy(days[0], in_line);
++ (void) snprintf(days[0], sizeof(days[0]), "%s", in_line);
+ else if (!strncmp(in_line, "MON:", 4))
+- (void) strcpy(days[1], in_line);
++ (void) snprintf(days[1], sizeof(days[0]), "%s", in_line);
+ else if (!strncmp(in_line, "TUE:", 4))
+- (void) strcpy(days[2], in_line);
++ (void) snprintf(days[2], sizeof(days[0]), "%s", in_line);
+ else if (!strncmp(in_line, "WED:", 4))
+- (void) strcpy(days[3], in_line);
++ (void) snprintf(days[3], sizeof(days[0]), "%s", in_line);
+ else if (!strncmp(in_line, "THU:", 4))
+- (void) strcpy(days[4], in_line);
++ (void) snprintf(days[4], sizeof(days[0]), "%s", in_line);
+ else if (!strncmp(in_line, "FRI:", 4))
+- (void) strcpy(days[5], in_line);
++ (void) snprintf(days[5], sizeof(days[0]), "%s", in_line);
+ else if (!strncmp(in_line, "SAT:", 4))
+- (void) strcpy(days[6], in_line);
++ (void) snprintf(days[6], sizeof(days[0]), "%s", in_line);
+ }
+ (void) fclose(file1);
+ }
diff --git a/games-roguelike/moria/files/5.5.2-warnings.patch b/games-roguelike/moria/files/5.5.2-warnings.patch
new file mode 100644
index 000000000000..33a2762b99d0
--- /dev/null
+++ b/games-roguelike/moria/files/5.5.2-warnings.patch
@@ -0,0 +1,12 @@
+diff -ru umoria.orig/unix/unix.c umoria/unix/unix.c
+--- umoria.orig/unix/unix.c 2014-11-01 02:45:07.375535783 -0400
++++ umoria/unix/unix.c 2014-11-01 02:45:58.575820065 -0400
+@@ -315,7 +315,7 @@
+
+ user[0] = '\0';
+ file++;
+- while (*file != '/' && i < sizeof(user))
++ while (*file != '/' && i < sizeof(user) - 1)
+ user[i++] = *file++;
+ user[i] = '\0';
+ if (i == 0)
diff --git a/games-roguelike/moria/metadata.xml b/games-roguelike/moria/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-roguelike/moria/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-roguelike/moria/moria-5.5.2.ebuild b/games-roguelike/moria/moria-5.5.2.ebuild
new file mode 100644
index 000000000000..d67bd7105e5b
--- /dev/null
+++ b/games-roguelike/moria/moria-5.5.2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils toolchain-funcs games
+
+DESCRIPTION="Rogue-like D&D curses game similar to nethack (BUT BETTER)"
+HOMEPAGE="http://remarque.org/~grabiner/moria.html"
+SRC_URI="ftp://ftp.greyhelm.com/pub/Games/Moria/source/um${PV}.tar.Z
+ http://www.funet.fi/pub/unix/games/moria/source/um${PV}.tar.Z
+ http://www.piratehaven.org/~beej/moria/mirror/Games/Moria/source/um${PV}.tar.Z
+ http://alge.anart.no/ftp/pub/games/RPG/moria/um${PV}.tar.Z
+ ftp://kane.evendata.net/pub/${PN}-extras.tar.bz2"
+
+LICENSE="Moria"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-fbsd"
+IUSE=""
+
+RDEPEND=">=sys-libs/ncurses-5:0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/umoria
+
+src_prepare() {
+ local f
+
+ epatch \
+ "${FILESDIR}"/${PV}-gentoo-paths.patch \
+ "${FILESDIR}"/${PV}-glibc.patch \
+ "${FILESDIR}"/${PV}-fbsd.patch \
+ "${FILESDIR}"/${PV}-hours.patch \
+ "${FILESDIR}"/${PV}-warnings.patch
+
+ for f in source/* unix/* ; do
+ ln -s ${f} $(basename ${f})
+ done
+
+ sed -i \
+ -e "s:David Grabiner:root:" \
+ -e "s:GENTOO_DATADIR:${GAMES_DATADIR}/${PN}:" \
+ -e "s:GENTOO_STATEDIR:${GAMES_STATEDIR}:" \
+ config.h || die
+ {
+ echo "#include <stdlib.h>"
+ echo "#include <stdio.h>"
+ } >> config.h || die
+ sed -i \
+ -e "/^STATEDIR =/s:=.*:=\$(DESTDIR)${GAMES_STATEDIR}:" \
+ -e "/^BINDIR = /s:=.*:=\$(DESTDIR)${GAMES_BINDIR}:" \
+ -e "/^LIBDIR = /s:=.*:=\$(DESTDIR)${GAMES_DATADIR}/${PN}:" \
+ -e "/^CFLAGS = /s:=.*:=${CFLAGS}:" \
+ -e "/^OWNER = /s:=.*:=${GAMES_USER}:" \
+ -e "/^GROUP = /s:=.*:=${GAMES_GROUP}:" \
+ -e "/^CC = /s:=.*:=$(tc-getCC):" \
+ -e '/^LFLAGS = /s:=.*:= $(LDFLAGS):' \
+ Makefile || die
+ mv doc/moria.6 "${S}" || die
+}
+
+src_install() {
+ dodir "${GAMES_BINDIR}" "${GAMES_DATADIR}/${PN}" "${GAMES_STATEDIR}"
+ emake DESTDIR="${D}" install
+
+ doman moria.6
+ dodoc README doc/* "${WORKDIR}"/${PN}-extras/*
+
+ prepgamesdirs
+}
diff --git a/games-roguelike/nethack/Manifest b/games-roguelike/nethack/Manifest
new file mode 100644
index 000000000000..1fad775aa55a
--- /dev/null
+++ b/games-roguelike/nethack/Manifest
@@ -0,0 +1,10 @@
+AUX nethack-3.6.0-hint-tty 258 SHA256 b0ed1c88691d8b087482717afef6d9d67819fefe40f6e28b4f615d15b41ad0d2 SHA512 112769bd68cb65f26604c084a0820eb9ab006a84f3bc754d43122d084b731746238b23beadff0bbd0dcaf39bfe009d466d3d355aeee7ad53939dc1974fe54531 WHIRLPOOL 8e3e4745120d9fd4df45254dc17993272f0f09dbf13f50e597be42a46536cc55db03e82cbc807579178783951c79eb518a76dfad9b31fc025332d35933d08b8b
+AUX nethack-3.6.0-hint-x11 412 SHA256 4e4eabf65e333d5525010c15f7cf88a2b5f731237a594a57681a25ac010958fc SHA512 7046791f17f5abc066b378af69f49d045f7533f794337e238400b98b5b5e6b518bb89d86dfe14828b54d0744d5cdd2ff5435fa7f1cacad92f3dd7caf643243ed WHIRLPOOL 68e1a7954adc868d006b282300169548c38bf3170d5f9fab51f8a1fdd7a6431d593f3905a57f7b5e3c7271bdd5aa2776017b28bc53aeec9adce5cd4197b52ad9
+AUX nethack-3.6.0-nethackrc 2458 SHA256 dbf86f76a7ce58cb906bd38dd89b74f5a0ea8b786a239e563dcb3f56d4d1e763 SHA512 9aae0d8ea3352b6335339fe91f5e52eb597f82e8fe50e0a52270e918123a02629610dda173419f6fc6e8f1e68358364bc5d8450e185b64c96d790790b68dddb9 WHIRLPOOL 2004f57ed11cc0c26b9e94412b6f0203f1d97d16e932de44cc0accbce79582d77c054a6e273c06752508637d7718b6b160887a17400012c0b830c249649d1680
+AUX nethack-3.6.0-recover.patch 3238 SHA256 ca6411f4b6ec8eace60d94969dc5be273d041a0fec29a3643cc9a04f36695078 SHA512 613b33757c1dabf897da77b53a26eb57318387462ff4d34f06411b2aef06d812c730db0ec4fb15b2895266bd914bd8ac11fa91334430834541b8d465c2a484ec WHIRLPOOL 050d09c5438b8ded9d8986c350021b16bea5dfad79d6f402f3993ca4d6fce592290c96598420b4c8311e3796644d1060234762f9717320027aad400817de8bca
+AUX nethack-3.6.0-x11-color.patch 6828 SHA256 e3a060842e3a86ebc0858ac2852b9f55d98fb880e99ae29f2c5294e8e82ab2df SHA512 074fb2db8962f918f605404d2810bc78c27ea461255bc6ad26ad24bbe65346b27868d9558a9486b334be29bbcc6896a95fafa2e4446045f316201754ea4bdab8 WHIRLPOOL f0332ca6edb644532158e4f7bec75896901c11a1fcae9f7872bd69761d96e9abcd05ec68671d9cdb271bea556bcb3c1bec94546756bc47d8748c76a322c45573
+DIST nethack-360-src.tgz 4261282 SHA256 1ade698d8458b8d87a4721444cb73f178c74ed1b6fde537c12000f8edf2cb18a SHA512 92370a3c60a4f6861b9c0f1e1320fc23d91cedc1615d0d09e06a0ee3e13c9c8c0cd931389bfd7a25845ed07ef966d19d9e46e77ae07084a941685dc67f49c813 WHIRLPOOL 14ff7a8bcf06b18e5192a7478f1fcd25eb55ecc149d9fa8b80def95311a498ef8d172ee4ff7e69c62e36b2a190a0f14b4a3d4f61183a48676fa77e2e7268690c
+EBUILD nethack-3.6.0-r3.ebuild 3994 SHA256 f6f116baec02a3a405dc9525c72f04aadb7f68ece82b1eb0d6581ae8c7195f35 SHA512 40041a297f4bc8dbf2962a981fba53e0f7b41a03bd9e6ab984f8071c619cb81b1833f98530e6eed0541463f7ff9e42db06181fa0b9ae7b48ac1b99f1b9b86360 WHIRLPOOL 86339697dd2b610c1621dc2f521f74f459c4b1f1749c27a601d588dcb0794e537fdef45df9e698175f6332bd58e9a0532c6a81f450e341d26cdb24aea0c7be8b
+MISC ChangeLog 6111 SHA256 448981361b18109b8bbe19af874c10bab1daf2e7277caa2d9607e5136b11fd32 SHA512 cbd21c7f953249243c5e83aa21925a1d327151f182e3168825e61e7cc2a9aa4dea5a002b4df294cffb358c3f1b2baf0c26668ccc184e09eb9f9bdbd1e1adca5d WHIRLPOOL 6d0751c7032aa76a435a41ee50c184ce7ae9bca09144a43199cdb669ed3c3ff28ac201a358c1f7fe843fd85f1a30b26c0e9632aebfb0a5ba8082f734ae7e4fe5
+MISC ChangeLog-2015 8515 SHA256 7ea9b91f1a1fabc200f1f52b9f1e463c2b4276722ce6afb9b361732099338160 SHA512 11ad53155f4b403a5b3375e6d1abe10856a57ce1898bc72e7c93dcbe320efff68061ef83a7205169ee8144b9acc34c2428b6cf606e7118a8c74b43fa211dd6d4 WHIRLPOOL 9055a53af9e273431a7508fb25a1d0349297e6ea14c155da729af53ae65c1907d73619b5df7bad6880b7ed78c69ca51397c7a20b28a862da0b10ee76bca43928
+MISC metadata.xml 622 SHA256 1e053dd4ec951336439348d78dee12125287c7b89f9213a16979cc3f9d059917 SHA512 48c137ed475f78ee25cb0c7c7da947c347ad730bb95ef9c54b0ee9b33cb3d9ffa2fd59df80a7475ae4f654439751313df957d2ba0fea0bdc2010c9a7e8e57085 WHIRLPOOL 776dafc8fb24f7750f5ad7d6eb226df74b8c32e8968e1812900aea951bb6ed770f4f41f36b81143afbac2b5a11d5df11541af81e6aa86e4a94dbbcbffa7b2fa5
diff --git a/games-roguelike/nethack/files/nethack-3.6.0-hint-tty b/games-roguelike/nethack/files/nethack-3.6.0-hint-tty
new file mode 100644
index 000000000000..3c250e7e719c
--- /dev/null
+++ b/games-roguelike/nethack/files/nethack-3.6.0-hint-tty
@@ -0,0 +1,19 @@
+#-PRE
+
+LINK=$(CC)
+
+WINSRC = $(WINTTYSRC)
+WINOBJ = $(WINTTYOBJ)
+WINLIB = $(WINTTYLIB)
+
+GAMEPERM = 02755
+VARDIRPERM = 0770
+VARFILEPERM = 0660
+CHOWN = true
+CHGRP = true
+
+
+#-POST
+
+# needed for external pager, bug #57410
+DATNODLB = $(VARDATND) license $(DATHELP)
diff --git a/games-roguelike/nethack/files/nethack-3.6.0-hint-x11 b/games-roguelike/nethack/files/nethack-3.6.0-hint-x11
new file mode 100644
index 000000000000..d0d1a8d4cd42
--- /dev/null
+++ b/games-roguelike/nethack/files/nethack-3.6.0-hint-x11
@@ -0,0 +1,23 @@
+#-PRE
+
+LINK=$(CC)
+
+VARDATND = x11tiles NetHack.ad pet_mark.xbm pilemark.xbm rip.xpm
+
+WINSRC = $(WINTTYSRC) $(WINX11SRC)
+WINOBJ = $(WINTTYOBJ) $(WINX11OBJ)
+WINLIB = $(WINTTYLIB) $(WINX11LIB)
+
+GAMEPERM = 02755
+VARDIRPERM = 0770
+VARFILEPERM = 0660
+CHOWN = true
+CHGRP = true
+
+
+#-POST
+
+# needed for external pager, bug #57410
+DATNODLB = $(VARDATND) license $(DATHELP)
+
+WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11 -lXpm
diff --git a/games-roguelike/nethack/files/nethack-3.6.0-nethackrc b/games-roguelike/nethack/files/nethack-3.6.0-nethackrc
new file mode 100644
index 000000000000..33c98064341f
--- /dev/null
+++ b/games-roguelike/nethack/files/nethack-3.6.0-nethackrc
@@ -0,0 +1,103 @@
+## This is an example nethackrc file (courtesy of nethack.alt.org).
+##
+## You should edit it to suit your needs.
+## Please read the Guidebook in /usr/share/doc/nethack or at www.nethack.org.
+##
+## Options which are enabled by default (like autoopen) can be disabled
+## by prefixing them with a !
+
+## If USE=X is enabled, this can be changed to x11
+#OPTIONS=windowtype:tty
+
+## Custom fruit and pet names
+#OPTIONS=fruit:mango
+#OPTIONS=dogname:Izchak
+#OPTIONS=catname:Chun-Li
+#OPTIONS=horsename:Marlon
+
+## Colored output
+#OPTIONS=color
+
+## Automatically dig if you are wielding a digging tool and moving
+## into a place that can be dug
+#OPTIONS=autodig
+
+## Walking into a door attempts to open it
+#OPTIONS=autoopen
+
+## Automatically pick up stuff
+#OPTIONS=autopickup
+
+## Only use autopickup for these item types
+#OPTIONS=pickup_types:$!?/"=
+
+## Allow saving and loading bones files.
+#OPTIONS=bones
+
+## Show out-of-sight areas of lit rooms
+#OPTIONS=dark_room
+
+## Use inverse for pets
+#OPTIONS=hilite_pet
+
+## Use inverse for piles of items
+#OPTIONS=hilite_pile
+
+## Show experience
+#OPTIONS=showexp
+
+## Show elapsed game time (in turns)
+#OPTIONS=time
+
+## How recalled messages (ctrl-p) are displayed.
+#OPTIONS=msg_window:reversed
+
+## use IBMgraphics or DECgraphics
+#OPTIONS=symset:DECgraphics
+#OPTIONS=symset:IBMgraphics
+
+## If you don't like some default glyphs, these can be changed
+#SYMBOLS=S_boulder:0
+#SYMBOLS=S_lava:~
+#SYMBOLS=S_pool:~
+#SYMBOLS=S_water:~
+#SYMBOLS=S_ghost:8
+#SYMBOLS=S_golem:7
+
+## Sort items by name. One of "none", "loot", or "full"
+#OPTIONS=sortloot:full
+
+## Require explicit yes for some prompts
+#OPTIONS=paranoid_confirmation:Confirm quit attack pray wand Remove
+
+## Conducts
+#OPTIONS=nudist
+#OPTIONS=blind
+
+
+## Colored menus. Regular expressions allowed.
+#OPTIONS=menucolors
+#MENUCOLOR=" blessed "=green
+#MENUCOLOR=" holy "=green
+#MENUCOLOR=" cursed "=red
+#MENUCOLOR=" unholy "=red
+#MENUCOLOR=" cursed .* (being worn)"=orange&underline
+
+
+## Messagetypes
+
+## displacing pets. hide the message.
+#MSGTYPE=hide "You swap places with your .*"
+
+## items on floor. don't repeat the message.
+#MSGTYPE=norep "You see here a .*"
+#MSGTYPE=norep "You see here an .*"
+
+## delayed instadeaths. always prompt for -more-
+#MSGTYPE=stop "You are slowing down."
+#MSGTYPE=stop "You find it hard to breathe."
+#MSGTYPE=stop "You are turning a little .*"
+
+## moving up or down stairs
+#MSGTYPE=hide "You descend .*"
+#MSGTYPE=hide "You (climb|fly) (up|down) .*"
diff --git a/games-roguelike/nethack/files/nethack-3.6.0-recover.patch b/games-roguelike/nethack/files/nethack-3.6.0-recover.patch
new file mode 100644
index 000000000000..c7e8ab3dca08
--- /dev/null
+++ b/games-roguelike/nethack/files/nethack-3.6.0-recover.patch
@@ -0,0 +1,110 @@
+From c15cf56e61c908ce756d698a8afa3064030761b3 Mon Sep 17 00:00:00 2001
+From: Luis Ressel <aranea@aixah.de>
+Date: Fri, 18 Dec 2015 23:16:56 +0100
+Subject: [PATCH] doc: Rename recover to recover-nethack
+
+---
+ doc/recover.6 | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/doc/recover.6 b/doc/recover.6
+index 4c9f509..edd05e3 100644
+--- a/doc/recover.6
++++ b/doc/recover.6
+@@ -1,10 +1,10 @@
+-.TH RECOVER 6 "9 January 1993"
++.TH RECOVER-NETHACK 6 "9 January 1993"
+ .\" NetHack 3.6 recover.6 $NHDT-Date: 1432512786 2015/05/25 00:13:06 $ $NHDT-Branch: master $:$NHDT-Revision: 1.6 $
+ .UC 4
+ .SH NAME
+-recover \- recover a NetHack game interrupted by disaster
++recover-nethack \- recover a NetHack game interrupted by disaster
+ .SH SYNOPSIS
+-.B recover
++.B recover-nethack
+ [
+ .B \-d
+ .I directory
+@@ -22,7 +22,7 @@ so such games can be recovered at the point of the last level change.
+ The
+ .I base
+ options tell
+-.I recover
++.I recover-nethack
+ which files to process.
+ Each base option specifies recovery of a separate game.
+ .PP
+@@ -72,47 +72,47 @@ by a user number to avoid conflicts,
+ or "xlock" if the number of concurrent players is being limited.
+ It may be necessary to look in the playground to find the correct
+ base name of the interrupted game.
+-.I recover
++.I recover-nethack
+ will transform these level files into a save file of the same name as
+ .I nethack
+ would have used.
+ .PP
+ Since
+-.I recover
++.I recover-nethack
+ must be able to read and delete files from the playground
+ and create files in the save directory,
+ it has interesting interactions with game security.
+ Giving ordinary players access to
+-.I recover
++.I recover-nethack
+ through setuid or setgid is tantamount to leaving the playground
+ world-writable,
+ with respect to both cheating and messing up other players.
+ For a single-user system, this of course does not change anything,
+ so some of the microcomputer ports install
+-.I recover
++.I recover-nethack
+ by default.
+ .PP
+ For a multi-user system,
+ the game administrator may want to arrange for all .0 files in the
+-playground to be fed to recover when the host machine boots,
++playground to be fed to recover-nethack when the host machine boots,
+ and handle game crashes individually.
+ If the user population is sufficiently trustworthy,
+-.I recover
++.I recover-nethack
+ can be installed with the same permissions the
+ .I nethack
+ executable has.
+ In either case,
+-.I recover
++.I recover-nethack
+ is easily compiled from the distribution utility directory.
+ .SH NOTES
+ .PP
+ Like
+ .I nethack
+ itself,
+-.I recover
++.I recover-nethack
+ will overwrite existing savefiles of the same name.
+ Savefiles created by
+-.I recover
++.I recover-nethack
+ are uncompressed;
+ they may be compressed afterwards if desired,
+ but even a compression-using
+@@ -122,11 +122,11 @@ will find them in the uncompressed form.
+ nethack(6)
+ .SH BUGS
+ .PP
+-.I recover
++.I recover-nethack
+ makes no attempt to find out if a base name specifies a game in progress.
+ If multiple machines share a playground, this would be impossible to
+ determine.
+ .PP
+-.I recover
++.I recover-nethack
+ should be taught to use the nethack playground locking mechanism to
+ avoid conflicts.
+--
+2.6.4
+
diff --git a/games-roguelike/nethack/files/nethack-3.6.0-x11-color.patch b/games-roguelike/nethack/files/nethack-3.6.0-x11-color.patch
new file mode 100644
index 000000000000..d34ca029d51a
--- /dev/null
+++ b/games-roguelike/nethack/files/nethack-3.6.0-x11-color.patch
@@ -0,0 +1,186 @@
+From f92bf2b495450d323e157eb41130c79a3d369239 Mon Sep 17 00:00:00 2001
+From: PatR <rankin@nethack.org>
+Date: Mon, 8 Feb 2016 19:01:26 -0800
+Subject: [PATCH] fix #H4237 - color ignored for X11 text map
+
+Color was only being tracked for locations that had the pile of
+objects flag set. And hilite_pile made a monster on a pile take
+on the color of the top object of the pile.
+
+This restores the tracking of color for the whole map, and makes
+highlighted piles be drawn in inverse like highligted pets. The
+drawing routine doesn't know the difference (but could tell, if
+necessary, by testing whether the glyph is an object or a monster).
+
+Also, variables 'inbuf', 'inptr', and 'incount' were global; limit
+their scope to winmap.c.
+---
+ win/X11/winmap.c | 68 +++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 33 insertions(+), 35 deletions(-)
+
+diff --git a/win/X11/winmap.c b/win/X11/winmap.c
+index 93f5dd6..523e13d 100644
+--- a/win/X11/winmap.c
++++ b/win/X11/winmap.c
+@@ -102,6 +102,7 @@ int bkglyph UNUSED;
+ int color, och;
+ unsigned special;
+ #ifdef TEXTCOLOR
++ int colordif;
+ register unsigned char *co_ptr;
+ #endif
+
+@@ -116,24 +117,22 @@ int bkglyph UNUSED;
+
+ /* Only update if we need to. */
+ ch_ptr = &map_info->text_map.text[y][x];
+-
+-#ifdef TEXTCOLOR
+- co_ptr = &map_info->text_map.colors[y][x];
+- if (*ch_ptr != ch || *co_ptr != color)
+-#else
+- if (*ch_ptr != ch)
+-#endif
+- {
++ if (*ch_ptr != ch) {
+ *ch_ptr = ch;
++ if (!map_info->is_tile)
++ update_bbox = TRUE;
++ }
+ #ifdef TEXTCOLOR
+- if ((special & MG_PET) && iflags.hilite_pet)
+- color += CLR_MAX;
+- if ((special & MG_OBJPILE) && iflags.hilite_pile)
+- *co_ptr = color;
+-#endif
++ co_ptr = &map_info->text_map.colors[y][x];
++ colordif = (((special & MG_PET) && iflags.hilite_pet)
++ || ((special & MG_OBJPILE) && iflags.hilite_pile))
++ ? CLR_MAX : 0;
++ if (*co_ptr != (uchar) (color + colordif)) {
++ *co_ptr = (uchar) (color + colordif);
+ if (!map_info->is_tile)
+ update_bbox = TRUE;
+ }
++#endif
+ }
+
+ if (update_bbox) { /* update row bbox */
+@@ -844,7 +843,8 @@ Font font;
+ set_color_gc(CLR_BRIGHT_CYAN, XtNbright_cyan);
+ set_color_gc(CLR_WHITE, XtNwhite);
+ #else
+- set_gc(wp->w, font, XtNforeground, bgpixel, &map_info->text_map.copy_gc,
++ set_gc(wp->w, font, XtNforeground, bgpixel,
++ &map_info->text_map.copy_gc,
+ &map_info->text_map.inv_copy_gc);
+ #endif
+ }
+@@ -943,17 +943,17 @@ struct xwindow *wp;
+
+ map_all_stone(map_info);
+ (void) memset((genericptr_t) map_info->text_map.text, ' ',
+- sizeof(map_info->text_map.text));
++ sizeof map_info->text_map.text);
+ #ifdef TEXTCOLOR
+ (void) memset((genericptr_t) map_info->text_map.colors, NO_COLOR,
+- sizeof(map_info->text_map.colors));
++ sizeof map_info->text_map.colors);
+ #endif
+
+ /* force a full update */
+ (void) memset((genericptr_t) map_info->t_start, (char) 0,
+- sizeof(map_info->t_start));
++ sizeof map_info->t_start);
+ (void) memset((genericptr_t) map_info->t_stop, (char) COLNO - 1,
+- sizeof(map_info->t_stop));
++ sizeof map_info->t_stop);
+ display_map_window(wp);
+ }
+
+@@ -978,8 +978,8 @@ struct xwindow *wp;
+ #ifdef VERBOSE
+ printf("Font information:\n");
+ printf("fid = %ld, direction = %d\n", fs->fid, fs->direction);
+- printf("first = %d, last = %d\n", fs->min_char_or_byte2,
+- fs->max_char_or_byte2);
++ printf("first = %d, last = %d\n",
++ fs->min_char_or_byte2, fs->max_char_or_byte2);
+ printf("all chars exist? %s\n", fs->all_chars_exist ? "yes" : "no");
+ printf("min_bounds:lb=%d rb=%d width=%d asc=%d des=%d attr=%d\n",
+ fs->min_bounds.lbearing, fs->min_bounds.rbearing,
+@@ -990,8 +990,8 @@ struct xwindow *wp;
+ fs->max_bounds.width, fs->max_bounds.ascent,
+ fs->max_bounds.descent, fs->max_bounds.attributes);
+ printf("per_char = 0x%lx\n", (unsigned long) fs->per_char);
+- printf("Text: (max) width = %d, height = %d\n", text_map->square_width,
+- text_map->square_height);
++ printf("Text: (max) width = %d, height = %d\n",
++ text_map->square_width, text_map->square_height);
+ #endif
+
+ if (fs->min_bounds.width != fs->max_bounds.width)
+@@ -1002,9 +1002,9 @@ struct xwindow *wp;
+ * keyhit buffer
+ */
+ #define INBUF_SIZE 64
+-int inbuf[INBUF_SIZE];
+-int incount = 0;
+-int inptr = 0; /* points to valid data */
++static int inbuf[INBUF_SIZE];
++static int incount = 0;
++static int inptr = 0; /* points to valid data */
+
+ /*
+ * Keyboard and button event handler for map window.
+@@ -1249,8 +1249,8 @@ boolean inverted;
+ }
+
+ #ifdef VERBOSE_UPDATE
+- printf("update: [0x%x] %d %d %d %d\n", (int) wp->w, start_row, stop_row,
+- start_col, stop_col);
++ printf("update: [0x%x] %d %d %d %d\n",
++ (int) wp->w, start_row, stop_row, start_col, stop_col);
+ #endif
+ win_start_row = start_row;
+ win_start_col = start_col;
+@@ -1273,8 +1273,8 @@ boolean inverted;
+ src_y = (tile / TILES_PER_ROW) * tile_height;
+ XCopyArea(dpy, tile_pixmap, XtWindow(wp->w),
+ tile_map->black_gc, /* no grapics_expose */
+- src_x, src_y, tile_width, tile_height, dest_x,
+- dest_y);
++ src_x, src_y, tile_width, tile_height,
++ dest_x, dest_y);
+
+ if (glyph_is_pet(glyph) && iflags.hilite_pet) {
+ /* draw pet annotation (a heart) */
+@@ -1412,10 +1412,8 @@ Dimension cols, rows;
+ }
+
+ num_args = 0;
+- XtSetArg(args[num_args], XtNwidth, wp->pixel_width);
+- num_args++;
+- XtSetArg(args[num_args], XtNheight, wp->pixel_height);
+- num_args++;
++ XtSetArg(args[num_args], XtNwidth, wp->pixel_width); num_args++;
++ XtSetArg(args[num_args], XtNheight, wp->pixel_height); num_args++;
+ XtSetValues(wp->w, args, num_args);
+ }
+
+@@ -1426,10 +1424,10 @@ struct xwindow *wp;
+ struct map_info_t *map_info = wp->map_information;
+ struct text_map_info_t *text_map = &map_info->text_map;
+
+- (void) memset((genericptr_t) text_map->text, ' ', sizeof(text_map->text));
++ (void) memset((genericptr_t) text_map->text, ' ', sizeof text_map->text);
+ #ifdef TEXTCOLOR
+ (void) memset((genericptr_t) text_map->colors, NO_COLOR,
+- sizeof(text_map->colors));
++ sizeof text_map->colors);
+ #endif
+
+ get_char_info(wp);
+--
+2.7.1
+
diff --git a/games-roguelike/nethack/metadata.xml b/games-roguelike/nethack/metadata.xml
new file mode 100644
index 000000000000..e845c650af5e
--- /dev/null
+++ b/games-roguelike/nethack/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>aranea@aixah.de</email>
+ <name>Luis Ressel</name>
+ <description>Proxied maintainer; set to assignee in all bugs</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">nethack</remote-id>
+ </upstream>
+ <use>
+ <flag name="experimental">Enable experimental features (showscore and status_hilite)</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-roguelike/nethack/nethack-3.6.0-r3.ebuild b/games-roguelike/nethack/nethack-3.6.0-r3.ebuild
new file mode 100644
index 000000000000..d0d3208f15f9
--- /dev/null
+++ b/games-roguelike/nethack/nethack-3.6.0-r3.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils toolchain-funcs flag-o-matic user
+
+MY_PV=${PV//.}
+DESCRIPTION="The ultimate old-school single player dungeon exploration game"
+HOMEPAGE="http://www.nethack.org/"
+SRC_URI="mirror://sourceforge/nethack/${PN}-${MY_PV}-src.tgz"
+
+LICENSE="nethack"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~x86 ~x86-fbsd"
+IUSE="experimental X"
+
+RDEPEND="sys-libs/ncurses:0=
+ X? (
+ x11-libs/libXaw
+ x11-libs/libXpm
+ x11-libs/libXt
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ X? (
+ x11-proto/xproto
+ x11-apps/bdftopcf
+ x11-apps/mkfontdir
+ )"
+
+BINDIR="/usr/bin"
+STATEDIR="/var/games/${PN}"
+
+NETHACK_GROUP="gamestat"
+
+pkg_setup() {
+ HACKDIR="/usr/$(get_libdir)/${PN}"
+
+ enewgroup gamestat 36
+}
+
+src_prepare() {
+ eapply "${FILESDIR}/${P}-recover.patch"
+ eapply "${FILESDIR}/${P}-x11-color.patch"
+ eapply_user
+
+ cp "${FILESDIR}/${P}-hint-$(usex X x11 tty)" hint || die "Failed to copy hint file"
+ sys/unix/setup.sh hint || die "Failed to run setup.sh"
+}
+
+src_compile() {
+ append-cflags -I../include -DDLB -DSECURE -DLINUX -DTIMED_DELAY -DVISION_TABLES
+ append-cflags '-DCOMPRESS=\"/bin/gzip\"' '-DCOMPRESS_EXTENSION=\".gz\"'
+ append-cflags "-DHACKDIR=\\\"${HACKDIR}\\\"" "-DVAR_PLAYGROUND=\\\"${STATEDIR}\\\""
+ append-cflags "-DDEF_PAGER=\\\"${PAGER}\\\""
+ append-cflags -DSYSCF "-DSYSCF_FILE=\\\"/etc/nethack.sysconf\\\""
+
+ use X && append-cflags -DX11_GRAPHICS -DUSE_XPM
+ use experimental &&
+ append-cflags -DSTATUS_VIA_WINDOWPORT -DSTATUS_HILITES -DSCORE_ON_BOTL
+
+ makeopts=(
+ CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LFLAGS="${LDFLAGS}"
+ WINTTYLIB="$($(tc-getPKG_CONFIG) --libs ncurses)"
+ HACKDIR="${HACKDIR}" INSTDIR="${D}/${HACKDIR}"
+ SHELLDIR="${D}/${BINDIR}" VARDIR="${D}/${STATEDIR}"
+ )
+
+ emake "${makeopts[@]}" nethack recover Guidebook spec_levs
+
+ # Upstream still has some parallel compilation bugs
+ emake -j1 "${makeopts[@]}" all
+}
+
+src_install() {
+ emake "${makeopts[@]}" install
+
+ exeinto "${BINDIR}"
+ newexe util/recover recover-nethack
+ rm "${D}/${HACKDIR}/recover" || die "Failed to remove HACKDIR/recover"
+
+ doman doc/nethack.6
+ newman doc/recover.6 recover-nethack.6
+ dodoc doc/Guidebook.txt
+
+ insinto /etc
+ newins sys/unix/sysconf nethack.sysconf
+
+ insinto /etc/skel
+ newins "${FILESDIR}/${P}-nethackrc" .nethackrc
+
+ if use X ; then
+ cd "${S}/win/X11" || die "Failed to enter win/X11 directory"
+
+ # copy nethack x application defaults
+ insinto /etc/X11/app-defaults
+ newins NetHack.ad NetHack
+ rm "${D}/${HACKDIR}/NetHack.ad" || die "Failed to remove NetHack.ad"
+
+ newicon nh_icon.xpm nethack.xpm
+ make_desktop_entry ${PN} Nethack
+
+ # install nethack fonts
+ bdftopcf -o nh10.pcf nh10.bdf || die "Converting fonts failed"
+ bdftopcf -o ibm.pcf ibm.bdf || die "Converting fonts failed"
+ insinto "${HACKDIR}/fonts"
+ doins *.pcf
+ cd "${D}/${HACKDIR}/fonts" || die "Failed to enter fonts directory"
+ mkfontdir || die "The action mkfontdir ${HACKDIR}/fonts failed"
+ fi
+
+ rm -r "${D}/${STATEDIR}" || die "Failed to clean STATEDIR"
+ keepdir "${STATEDIR}/save"
+
+ fowners -R "root:${NETHACK_GROUP}" "${STATEDIR}"
+ fperms 770 "${STATEDIR}" "${STATEDIR}/save"
+
+ fowners "root:${NETHACK_GROUP}" "${HACKDIR}/nethack"
+ fperms g+s "${HACKDIR}/nethack"
+}
+
+pkg_postinst() {
+ cd "${ROOT}/${STATEDIR}" || die "Failed to enter ${STATEDIR} directory"
+
+ touch logfile perm record xlogfile || die "Failed to create log files"
+
+ chown -R root:"${NETHACK_GROUP}" . &&
+ chmod -R 660 . &&
+ chmod 770 . save ||
+ die "Adjustment of file permissions in ${ROOT}/${STATEDIR} failed"
+
+ touch -c bones* save/* # non-critical
+
+ elog "A minimal default .nethackrc has been placed in /etc/skel/"
+ elog "The sysconf file is at /etc/nethack.sysconf"
+
+ if has_version "<${CATEGORY}/${PN}-3.6.0" ; then
+ elog
+ elog "Nethack 3.6 includes many new features."
+ elog "You might want to review your options and local patchset."
+ elog "Have a look at http://www.nethack.org/v360/release.html"
+ fi
+}
diff --git a/games-roguelike/powder/Manifest b/games-roguelike/powder/Manifest
new file mode 100644
index 000000000000..8dbd936f259a
--- /dev/null
+++ b/games-roguelike/powder/Manifest
@@ -0,0 +1,6 @@
+DIST powder117_src.tar.gz 1891043 SHA256 070346921ee83bc40943b1e1cb576ab3222cecc319fe10f5c138a4deec85e861 SHA512 cdbf67d6d582af39c40cc0872411725d0c296326b21cf8efbe7c7ccd11cd3c831ad129e5e91fb661f938a399ac799509e5123653494f54398c55750026bc6736 WHIRLPOOL 86d5ecfc92b6b1786fa798451f39c6825f8b40483397b240a150ed96d8ad9950d9b3d5cda65f12f8027d997d48d888d15185c48b31dec166b1b1f6ecd462e48e
+EBUILD powder-117-r1.ebuild 871 SHA256 6cdf693638b61d517b6e6b8503ac35f80d5623f95367a5226c892d68c7d5b03b SHA512 6260741f63bfd5c4236e16fa0fc061f0cd13576f8889db0dd3effe5191481fbc52bec6940c29ef1efbf024a5c156e0f18c73e0f70e0d210f2dc1b7b57074802f WHIRLPOOL d8b530131fe5f04ca8b096bd55a7e9f169e35cf36cad8eebd547508645fb70632ba752348f908f2858832d53b3a48530aa7741c931e71c2be2eb3231d0e59981
+EBUILD powder-117.ebuild 915 SHA256 e92d63e1511d632ef6aea94c9490b95cafbc4cee6b6e834ed57d74199b96b845 SHA512 0e7d46cdd559085b851e72a8e1200539e9db2ccc9e73184462762fe5704ce2ee0dac92e3b021dcde7e590ad9a0ef011f845733f122ef712e85c4da34eb549264 WHIRLPOOL c6cca6679dd3b41c5fab85757ac6cff0e185cdbbb0c70dd5784d7ed583c6d2f59b17347dfe7762aa0d088ecbaf96de8ba0863df6aad947dd1e40222981c1187b
+MISC ChangeLog 2673 SHA256 3489a8475f499caa6cf90158edf9ca719cb9b8a3820a51c6465f11401391488b SHA512 95d68efcb663cbd3959b8c48f53d53a280974a0d33f7a6825a675ab61d661262d0fadc1e375215297d0ac4786f96bffbc17eaa8a917506b561100e2c722b5abc WHIRLPOOL 12c7571cd8e490148e17fb51cbf42bd93f04a8c2de51eadf0cf8e045aac3e914abafd2dd7f35ac661da2e486639674e0de67feb40204a7406397de854cbb4c09
+MISC ChangeLog-2015 2699 SHA256 431a1ee5d5e89284af93043fcb5c27e2d99de258b83c47a14ffc13b5256a420c SHA512 919efe8c5da408c7263b0a90323b58448a649e3bdc6a8c5f5ba8ce6664c1a41747227b288a29e429ec7fe7209903ce7e700d2115c59557c2d77bcd9b78e1676f WHIRLPOOL 79801acf7f33fb9873e0d55752d69328c193f4a7991f17ed65969d569c4e908353f7c7e68c452e75feab4464cfd2edefd3b4ab91de4d44974d175fedc66dad01
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-roguelike/powder/metadata.xml b/games-roguelike/powder/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-roguelike/powder/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-roguelike/powder/powder-117-r1.ebuild b/games-roguelike/powder/powder-117-r1.ebuild
new file mode 100644
index 000000000000..b0199fe9fa0d
--- /dev/null
+++ b/games-roguelike/powder/powder-117-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit flag-o-matic
+
+MY_P=${P/-/}_src
+
+DESCRIPTION="A game in the genre of Rogue, Nethack, and Diablo. Emphasis is on tactical play"
+HOMEPAGE="http://www.zincland.com/powder/"
+SRC_URI="http://www.zincland.com/powder/release/${MY_P}.tar.gz"
+
+LICENSE="CC-Sampling-Plus-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="media-libs/libsdl[video]"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/${MY_P}
+
+src_compile() {
+ append-cxxflags -DCHANGE_WORK_DIRECTORY
+ emake -C port/linux premake
+ emake -C port/linux powder
+}
+
+src_install() {
+ dobin port/linux/${PN}
+ dodoc README.TXT CREDITS.TXT
+}
+
+pkg_postinst() {
+ elog "While the highscore is kept, save games are never preserved between"
+ elog "versions. Please wait until your current character dies before upgrading."
+}
diff --git a/games-roguelike/powder/powder-117.ebuild b/games-roguelike/powder/powder-117.ebuild
new file mode 100644
index 000000000000..17e4215cd4f1
--- /dev/null
+++ b/games-roguelike/powder/powder-117.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit flag-o-matic games
+
+MY_P=${P/-/}_src
+
+DESCRIPTION="A game in the genre of Rogue, Nethack, and Diablo. Emphasis is on tactical play"
+HOMEPAGE="http://www.zincland.com/powder/"
+SRC_URI="http://www.zincland.com/powder/release/${MY_P}.tar.gz"
+
+LICENSE="CC-Sampling-Plus-1.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="media-libs/libsdl[video]"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/${MY_P}
+
+src_compile() {
+ append-cxxflags -DCHANGE_WORK_DIRECTORY
+ emake -C port/linux premake
+ emake -C port/linux powder
+}
+
+src_install() {
+ dogamesbin port/linux/${PN}
+ dodoc README.TXT CREDITS.TXT
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ elog "While the highscore is kept, save games are never preserved between"
+ elog "versions. Please wait until your current character dies before upgrading."
+ games_pkg_postinst
+}
diff --git a/games-roguelike/rogue/Manifest b/games-roguelike/rogue/Manifest
new file mode 100644
index 000000000000..f0b2b481f2f7
--- /dev/null
+++ b/games-roguelike/rogue/Manifest
@@ -0,0 +1,5 @@
+DIST rogue5.4.4-src.tar.gz 209839 SHA256 7d37a61fc098bda0e6fac30799da347294067e8e079e4b40d6c781468e08e8a1 SHA512 d83f6f953ca8e18630cd8e459b7219393969ab1d6b56c2c0d1fd18d5e2a48e3964300916bcf968d52700973bab60811b73183df1ec89b4e37145a0848586402f WHIRLPOOL 09f63827df6378fb2568824bf0cc8381594831f1a26995449567d9a947d34803a4e33e8526c06f7b2c3a04640181cbe1cd4cd663f089e43fd1c45830994b9952
+EBUILD rogue-5.4.4.ebuild 638 SHA256 b4faa76e144c109029f6e4acf21e94c5af9464768b769d9a32ff0785edc2fee7 SHA512 84ae9d6979704b951720e1cdb2bbeb58ace0b89261dbdec843651c56c0e1eb5c33b811b3da8572e4893d95d7c2c40bdb3894fb9b1350b252ca5d010fe6643902 WHIRLPOOL c424fd98ae47d45e637b39b657c4209c8223a81a949e57804d38c532aa16e822b10f8d30c28e607f4a54ff86300cd9f90825cc33a7e8a51f224307cf1836c7ca
+MISC ChangeLog 2428 SHA256 de6da5c047f2955dfb43dbd671ea5cc40bd67ff83724e23d2da7a4b3557a8965 SHA512 42c8911ba73e57ea8d99d5104a7d0ed0f27ba1d35cd190877beb51256a62b601482f41d6a4e7acb56542d1496c9b721c6546690b9b4e14ee9da28124911911dd WHIRLPOOL e22707b3f8da303c27296b1abf6518bbf82b962bb40767415b728266348cb5e9281c68fdc571243f9d9a92daff386f9abc24ee99ccb631670847101ef84724fa
+MISC ChangeLog-2015 751 SHA256 4e60688fac3e041e0c71ed2b99a17b4768da569c64a8bd8c03fe3b314b08e05a SHA512 575b305a92ee8895f1fa0b73a48aeef5cb3c9c8ee1dc8563ed959a489a25020be25d3f2ec5e6679b3e72ff8b29d33d3cc87031b4f97318c34efbfb1bdba6e550 WHIRLPOOL 6d2b0adc7c3655a82106c8aa0fe287aeb6e3db9c0dfd1ea54c534f5a88bc5c9fb8eeb4348bd4fd49ce0a119ab1429a05b04169d266130b38a8eb1b960f1ad6fd
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-roguelike/rogue/metadata.xml b/games-roguelike/rogue/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-roguelike/rogue/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-roguelike/rogue/rogue-5.4.4.ebuild b/games-roguelike/rogue/rogue-5.4.4.ebuild
new file mode 100644
index 000000000000..502c98aec952
--- /dev/null
+++ b/games-roguelike/rogue/rogue-5.4.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit games
+
+MY_P=${PN}${PV}
+DESCRIPTION="The original graphical adventure game that spawned an entire genre"
+HOMEPAGE="http://rogue.rogueforge.net/"
+SRC_URI="http://rogue.rogueforge.net/files/rogue5.4/${MY_P}-src.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="sys-libs/ncurses[-tinfo]"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_configure() {
+ egamesconf \
+ --enable-scorefile="${GAMES_STATEDIR}/${PN}/${PN}.scr" \
+ --docdir=/usr/share/doc/${PF}
+}
+
+src_install() {
+ default
+ prepgamesdirs
+}
diff --git a/games-roguelike/scourge/Manifest b/games-roguelike/scourge/Manifest
new file mode 100644
index 000000000000..cc0ea945b561
--- /dev/null
+++ b/games-roguelike/scourge/Manifest
@@ -0,0 +1,9 @@
+AUX scourge-0.21.1-automake-1.13.patch 288 SHA256 55cca71fe677da2a390f02d0519a94ad27dffc3c368aed67e7326321b1f39672 SHA512 24b212c1053fa3445507cc6808abd37cabf43997275f003eb929d7c0671663919b984c2491dc33083d20a09cd67d8e695140ff6957e662ba66f43ddbaf167394 WHIRLPOOL d9719c2ec9551e4405ee74cf77c573b62d037b1e4b287ce8b1a1e84f80802ea9712f18bcea8bc57135b8bdb6a9cb0625209a316eb22650ee660c367996abf8f8
+AUX scourge-0.21.1-gcc47.patch 517 SHA256 f5d79de0000ec23e85ebade985900c306628d47b46c2bc1d1e58a8bd1ab76608 SHA512 69bca46c3bfad70e42736119da38d7dafba6c589231bdac5ef2591e617ea516337ebf4ed8a547e8da52412711d0eb84f2abae5652ffc19a882fea69f48a4b880 WHIRLPOOL 577b145ec08f4c745f092e63ce6dd9207197ab58ae3d37342be3f9ff39ec4ad2dc9331b2d87926cafa135f732efd7533ba5d105036ccd49cf9ead9d113ebd0cb
+AUX scourge-0.21.1-gcc6.patch 601 SHA256 a4d6534967cbbaa366a22c256bcb6d64af278f27e6eb90931a8517d5c4467011 SHA512 521f5ab76423925cef7f2ead25c947fb042bda67d82c6ccdcf55757d9412c017a8eb3ca7ecb09ffd369cd69fcac919c5ed6928b5c1d16149d64b0b03a70a2104 WHIRLPOOL a8e7cbd0353a22ce9658e0decf1840dbc15a8214df94279a7bae046003f64f1dd27685ca63d0a4b35390fa2565f61856bc2f99da2011be9afef0243ef5f47cab
+DIST scourge-0.21.1.data.tar.gz 142093436 SHA256 13f33735ff814eb465d95355dcaaf2cdd16a3329f85aeab1a97ad40919cd1f12 SHA512 3701aba0f70d71aeb0e185e808e34cea62a637809a9b4c14fd19bdfbf91d36cf8dafa2a4cfddc3ee493827b40eea657fcdddc8277c57a635bc8ca8e3286376be WHIRLPOOL 7764cc3f01fd8083db243e96de8b2c9aad778d64442aa81a7e4bfb2e7f4dd17faa7cb6ec97b2329e37145342b56af931c64514f4e661be5a2243d6980586cf42
+DIST scourge-0.21.1.src.tar.gz 8146157 SHA256 e5d3dc784bc117a3fe2f4449c74cb896310760ae5a82a50f8c1045705416cef3 SHA512 e530a8f7bddc1969a02a8b9a8b272f6f60d2c4830d23d96fc671cb79a2c4097fb9c5c0c262004a8157448b601bf58f9bbff95dd6d98275a28d3d404c339ce2ad WHIRLPOOL 58f275515dd1e345059ab79a920ee974733009c26d862ddaa20e29353fb059ba54bf282dda582f05fb66c77bcbcdeb3d3d70975a274550ba2817e1ea996a0ab0
+EBUILD scourge-0.21.1-r1.ebuild 1321 SHA256 f9362d106ab705a389b831df81eb5198924922d38321b62e3ecc559f45a21b61 SHA512 4b496aef4b8cf800efb9b7213001176157ea7e9639677000ecbe1e5dec7b83699c7e4a94f1fe6fb5217ce24c45a60dc0afa4f3b8a3e2f1a14e81cde7b16edd8b WHIRLPOOL 9f406223b986af856642f99650ad8c1297e76b6710845d0c9d0aa354ce90a951d7564417157dec6225d87037c0019511b7a1e4aeeb95d40f19ebf8e6e34662f7
+MISC ChangeLog 3095 SHA256 dea4775de9e6722119d8f706476cdf4839a2bab3301fe435a9d73643c90984f8 SHA512 94ff96fa534c55ad5811ae969d3b3f067ea6dfc8818f8dc73a37a7b2d0fc7c2a3e0e33f4eaf3e2832018283d7f7b318022c3d9883563b634fdd95ed67743dc4d WHIRLPOOL d82d0c08747648b13976c51d6d84a829fb47de43af854da2b4e3bf879fe1a722789984b310899587277c41a47878fb8825bdf81d6765273c7bece5b83723a636
+MISC ChangeLog-2015 5028 SHA256 914fa16bca5ba91b15b4a18c7aca8aa3b68f010111f01635881c69cd4cb914e0 SHA512 903a272f4d6852df25bdc79637417d8778b819af6f895f1fd0e4dd41b6355a586ae98789cf45beb00219aa3dc58ce471ae392bbce700289564a6cba70ccf02d4 WHIRLPOOL 1abe7af24c2f98ee9ccd56ee399c1f14d7cf3ca79265b707edcf7db8e446e28093d2ecc326caf089e55fc6d6a2bc622a979f65d6c33ae5c760154694ef10f3ae
+MISC metadata.xml 330 SHA256 b5620aecf7acff520badf1216556eba0aa5f910eee9fe4cbdef01715381c51da SHA512 d47d4afa0adafc93aa43d05190f0a65ac486b6ad4aee54bac96b2f99da7c4a55c6df99b512e4c113c2b4232b8ae294f58966b06081eb89d31fc20b8d9de2e07b WHIRLPOOL 191d8e20097dfa9442753071cdebeb32fe75def0ccb57d67380514e24108a550639bb08ce1b72699641e86edc268b91e3148598c0b556ed84916c2efdeb61fba
diff --git a/games-roguelike/scourge/files/scourge-0.21.1-automake-1.13.patch b/games-roguelike/scourge/files/scourge-0.21.1-automake-1.13.patch
new file mode 100644
index 000000000000..5c2bc202f384
--- /dev/null
+++ b/games-roguelike/scourge/files/scourge-0.21.1-automake-1.13.patch
@@ -0,0 +1,11 @@
+--- a/configure.in
++++ b/configure.in
+@@ -4,7 +4,7 @@
+ dnl Process this file with autoconf to produce a configure script.
+ AC_INIT(src/scourge.h)
+ AM_INIT_AUTOMAKE(scourge, "0.21")
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+
+ dnl internationalization macros
+ AC_GNU_SOURCE
diff --git a/games-roguelike/scourge/files/scourge-0.21.1-gcc47.patch b/games-roguelike/scourge/files/scourge-0.21.1-gcc47.patch
new file mode 100644
index 000000000000..6f3f7b3e2a65
--- /dev/null
+++ b/games-roguelike/scourge/files/scourge-0.21.1-gcc47.patch
@@ -0,0 +1,12 @@
+--- a/src/squirrel/squtils.h 2012-08-30 18:06:43.474037926 +0200
++++ b/src/squirrel/squtils.h 2012-08-30 18:14:13.300261523 +0200
+@@ -8,6 +8,9 @@
+ #define SQ_FREE(__ptr,__size) sq_vm_free(__ptr,__size);
+ #define SQ_REALLOC(__ptr,__oldsize,__size) sq_vm_realloc(__ptr,__oldsize,__size);
+
++void *sq_vm_realloc(void *p,SQUnsignedInteger oldsize,SQUnsignedInteger size);
++void sq_vm_free(void *p,SQUnsignedInteger size);
++
+ //sqvector mini vector class, supports objects by value
+ template<typename T> class sqvector
+ {
diff --git a/games-roguelike/scourge/files/scourge-0.21.1-gcc6.patch b/games-roguelike/scourge/files/scourge-0.21.1-gcc6.patch
new file mode 100644
index 000000000000..fed15f45ed7e
--- /dev/null
+++ b/games-roguelike/scourge/files/scourge-0.21.1-gcc6.patch
@@ -0,0 +1,34 @@
+Bug: https://bugs.gentoo.org/610492
+Upstream ticket: https://sourceforge.net/p/scourge/patches/3/
+
+--- a/src/equip.cpp
++++ b/src/equip.cpp
+@@ -595,7 +595,7 @@
+ }
+ }
+ if ( !found ) {
+- specialSkill = false;
++ specialSkill = NULL;
+ canvas->setTooltip( "" );
+ }
+ glDisable( GL_BLEND );
+--- a/src/render/map.cpp
++++ b/src/render/map.cpp
+@@ -3154,7 +3154,7 @@
+ if ( shape )
+ return shape;
+ }
+- return false;
++ return NULL;
+ }
+ if ( y1 == y2 ) {
+ if ( x1 > x2 ) SWAP( x1, x2 );
+@@ -3163,7 +3163,7 @@
+ if ( shape )
+ return shape;
+ }
+- return false;
++ return NULL;
+ }
+
+
diff --git a/games-roguelike/scourge/metadata.xml b/games-roguelike/scourge/metadata.xml
new file mode 100644
index 000000000000..ea7a44ebb6c5
--- /dev/null
+++ b/games-roguelike/scourge/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">scourge</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-roguelike/scourge/scourge-0.21.1-r1.ebuild b/games-roguelike/scourge/scourge-0.21.1-r1.ebuild
new file mode 100644
index 000000000000..b0b6aa2a6784
--- /dev/null
+++ b/games-roguelike/scourge/scourge-0.21.1-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils wxwidgets
+
+DESCRIPTION="A graphical rogue-like adventure game"
+HOMEPAGE="https://sourceforge.net/projects/scourge/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.src.tar.gz
+ mirror://sourceforge/${PN}/${P}.data.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ media-libs/freetype:2
+ media-libs/libsdl[joystick,video]
+ media-libs/sdl-image[png]
+ media-libs/sdl-mixer[vorbis]
+ media-libs/sdl-net
+ media-libs/sdl-ttf
+ virtual/libintl
+ virtual/opengl
+ virtual/glu"
+DEPEND="${RDEPEND}
+ sys-devel/gettext"
+
+S=${WORKDIR}/${PN}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc47.patch
+ "${FILESDIR}"/${P}-gcc6.patch
+ "${FILESDIR}"/${P}-automake-1.13.patch
+)
+
+src_prepare() {
+ default
+
+ # bug #257601
+ sed -i \
+ -e '/AC_CHECK_HEADERS.*glext/ s:):, [#include <GL/gl.h>] ):' \
+ configure.in || die
+ sed -i \
+ -e '/snprintf/s/tmp, 256/tmp, sizeof(tmp)/' \
+ src/scourgehandler.cpp || die
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-data-dir=/usr/share/${PN} \
+ --localedir=/usr/share/locale
+}
+
+src_install() {
+ default
+ insinto /usr/share/${PN}
+ doins -r ../scourge_data/*
+ doicon assets/scourge.png
+ make_desktop_entry scourge S.C.O.U.R.G.E.
+}
diff --git a/games-roguelike/stone-soup/Manifest b/games-roguelike/stone-soup/Manifest
new file mode 100644
index 000000000000..8ce1f8284b92
--- /dev/null
+++ b/games-roguelike/stone-soup/Manifest
@@ -0,0 +1,11 @@
+AUX stone-soup-0.16.2-Use-pkg-config-for-linking-to-ncurses.patch 1802 SHA256 535964d2040d36db3fa45b0ca5c3c7aab03068256e98a96a53265019b8734161 SHA512 7830614f564f5fbfcca18629197e81b8edfa8f31656544ca7c9169c15f5cf6f89fcc98479fcd0d9ca5b742f1d8490d49c8a1e0e4f966724ce4035313b3d5af6a WHIRLPOOL d328c6bec23e0760323d70c22ba1a9534467e42fd2613002f4458a4d4b693105f01ae7dc158c844a3c0a26c1e63e2d26218508d2b2a88a6aaeee57390dd6da7e
+AUX stone-soup-0.16.2-perl526.patch 2189 SHA256 cabdd4c0263a661cac20cf14bc0b84cd814b787ef3b3fdb3aeabc3f6eeef67d6 SHA512 7433e87c5acedb72012fd98a047207da38759497f26a9286ff4fe345090135fd1240c63c1723d9369f37569ae38aa0c7a76d89375d9a803f77c346411339bd76 WHIRLPOOL 560e7e7c65748cca1f85e3b9b9a1c3ff2b91a2d9f1778e0abdf1117096addd83785b809992f7244af8dfe9636a0a2a6517fe83f16695ee44446658ba35452e8c
+AUX stone-soup-0.16.2-respect-flags-and-compiler.patch 3075 SHA256 fd7d351447a4e308141263e8d20ad5086e3a9bcdb180555a1512d749ff3caeac SHA512 dc12c240bce0bdc94ea1b76da0e435b7bbfc51fb22c0bcbe4f2383740262c2cf43efd03dfdfe24a162b07059f5d74e64d0e66d902c02e743b05f75d3186b7fb9 WHIRLPOOL 3c33e95c1908dc153355214cf52d14a4058be16359e9b48539fa4b9aeb6def097e0e3732d29601a8a61c142f97220f6c300182319eaae0433fdb0561155aa733
+DIST stone-soup.png 1351 SHA256 486da51db277817f6fa59c32b131fa4d50cace7d8c9a84995d22f13a92e384e1 SHA512 4695204c8b936f7aac1ba15b02a6115a955fb2c56aa9a0b968ff007bc9a1a59b608110d60cce5625a9b92cd2c869bbea7e15433a53c1a338622809477a5846bc WHIRLPOOL 621b93f192d9335f57b18a72489450511be993f79ac5ea26529d3424adcddf1c64cb2c996fa1265cbd341a31dabe550253d0302c941fcd751197aff7840acee3
+DIST stone-soup.svg 68546 SHA256 f2b476f57f6e8a9b56bc20ec2da0accac9376fea1ff3e4dbe59e7f2f231eb071 SHA512 dca555271faf704eb8ecdf5ee8a763df42cdeba94e9c163608c438cfc73c6fbf53416547050cad57f477ade191842e701785b65b7a9f18e27ceab05df8f2f75f WHIRLPOOL 49b7e0ca45319b2f016203e02b1e08207e9f0c18501b17f5922f1983fbb6bfabc12a9ca3199697f78561739e253f200bfbe984082bb99e1c8e289e5c41004bed
+DIST stone_soup-0.16.2.tar.xz 27843008 SHA256 49d5947abb341eb7f0590fa538c475e68ea954064c615d852de968211b68780b SHA512 fc48a1161028fbfc3c1b91bf717ffdeb761dc03a12aa8282f2235fe86368de343dd91ee33371fe4f682f4f84a8fc339d6984b6357527c3cf0c4139cb69cd5633 WHIRLPOOL 2016018e438e857031c382e53e904126efd7006a1da4b954b3b5eb4f5a9263e8535e7300fa8f54f8a870bf99b362cc0bdda630ea562e2f786e3d88c5b38d0c54
+EBUILD stone-soup-0.16.2-r1.ebuild 3643 SHA256 aa5b9b64f66914f04950432a8665ac80ea119df0a82414e3dd0a02dcc37b6a7b SHA512 837ee2c3570b0a6a7e75f2b4d6220d90099eae1c16a84368cc4173e12bb661ddcbd32af2bb29510d443fc8917c6fcb3feab65406550f95657d8563bd4750e22e WHIRLPOOL 0e42569f07477f52657477cf60e8a6d7463a2279916d9125c501f00ebd476e758c734b017baa26e16c227451d1899776a89e402def33a7e5d9215a68128cebc3
+EBUILD stone-soup-0.16.2.ebuild 3738 SHA256 1a3f9505130541f4882448b7554a6bf8d01688918c169743dfa803177d526398 SHA512 8bbfa57c78c5fad691c53778c5a93140f1ec48e8abbfbb90721171b951630b069c322032c81cd783d46688c871ff8d1d9f0f2f4039fedb5b353467afebc95afc WHIRLPOOL c08ced69367a9fd538a20d05036e738eb1eeca705ce3397aaeb766bc4c9dccd8aa1b938fece6eff5c2493b37b28386bc49f2e7379daa6eb94b0088840a481258
+MISC ChangeLog 6460 SHA256 3724e2b9126426f4ae5d55aa9ef6862ad4dfe288bc8547df7706da4b21515f43 SHA512 601c36c394297e77741675f24bcb1a42f47a2e9ecb6103cf42255d3c518f3532cad6a0fa4b0b5409ee7efbcb0e3f12f75c10b91e6214cf30b91161b3751425a8 WHIRLPOOL 30bdcac1ad5e75ec4c4f894e89344b14c1fa97baf32c29956d8d5e9f8860c77713c234df1edf959c7c4a180e51673eac896511bea2a7423cc25b26b02bb796eb
+MISC ChangeLog-2015 7439 SHA256 ec9122ef3b534e63ea74bdbe093186e13f1e2e477e96dc4639990452c88039e6 SHA512 a2c08caf62a47422614be9d170f31f24ce702c5d7a8bbc528566c91f8285b171b71a122a0baba4d28785a276d76c444e60a17f53c34844a696e3f94dfcce2b6b WHIRLPOOL b388b1318ef1866b71b111de8f73d24e7d66833e78f9eeb3c0a7e32ab2802a32b8b2cf155981a382cbcfc0d6779e553d1a9f3e2efcf3b651297eb50e1a3da818
+MISC metadata.xml 1666 SHA256 ce36b2eb1bdefb43dd075ce8f2992f1fcdcfb67ce4e17e17056579ef6bb85da4 SHA512 e3d0317f0aca8cae787aa7e659d07f6cf024ce7a983f87b1c54e91a955df96dd4daf570e56eb73c877601855b0fe26041943672dc2f51e5208742e91dd3e84e7 WHIRLPOOL afad12a083da1b9b8a65758992b8119ec9fd56cbfa9b2fb01dcb75a81e2cc6ccabd67b3b0426d91654681fd468ade03b5e88d2155d60cd4fd0c51f8db856b6cc
diff --git a/games-roguelike/stone-soup/files/stone-soup-0.16.2-Use-pkg-config-for-linking-to-ncurses.patch b/games-roguelike/stone-soup/files/stone-soup-0.16.2-Use-pkg-config-for-linking-to-ncurses.patch
new file mode 100644
index 000000000000..0c029c9f0966
--- /dev/null
+++ b/games-roguelike/stone-soup/files/stone-soup-0.16.2-Use-pkg-config-for-linking-to-ncurses.patch
@@ -0,0 +1,49 @@
+From 88579f929f0fc777762de1ad0895264ad077e0ee Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@gentoo.org>
+Date: Mon, 27 Oct 2014 20:48:03 +0100
+Subject: [PATCH 2/2] Use pkg-config for linking to ncurses
+
+Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=527034
+---
+ source/Makefile | 14 ++++++--------
+ 1 file changed, 6 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index df51e70..2db2781 100644
+--- a/Makefile
++++ b/Makefile
+@@ -956,17 +956,15 @@ endif
+ # Your ncurses library may include Unicode support, and you may not have a
+ # separate libncursesw; this is the case on Mac OS/Darwin.
+ ifdef LIBNCURSES_IS_UNICODE
+-NC_LIB = ncurses
+-NC_INCLUDE = $(NC_PREFIX)/include/ncurses
++NC_LIBS = $(shell $(PKGCONFIG) --lib ncurses 2>/dev/null || echo "-L$(NC_PREFIX)/lib -lncurses")
++NC_CFLAGS = $(shell $(PKGCONFIG) --cflags ncurses 2>/dev/null || echo "-isystem $(NC_PREFIX)/include/ncurses")
+ else
+-NC_LIB = ncursesw
+-NC_INCLUDE = $(NC_PREFIX)/include/ncursesw
++NC_LIBS = $(shell $(PKGCONFIG) --lib ncursesw || echo "-L$(NC_PREFIX)/lib -lncursesw")
++NC_CFLAGS = $(shell $(PKGCONFIG) --cflags ncursesw 2>/dev/null || echo "-isystem $(NC_PREFIX)/include/ncursesw")
+ endif
+
+-INCLUDES_L += -isystem $(NC_INCLUDE)
+-
+ ifndef TILES
+-LIBS += -L$(NC_PREFIX)/lib -l$(NC_LIB)
++LIBS += $(NC_LIBS)
+ endif
+
+ endif
+@@ -1111,7 +1109,7 @@ CFLAGS := $(CFOPTIMIZE) $(CFOTHERS) $(CFWARN) $(CFLAGS)
+ else
+ CFLAGS := $(CFOPTIMIZE) $(CFOTHERS) $(CFWARN)
+ endif
+-CFLAGS_L := $(CFOPTIMIZE_L) $(DEFINES_L) $(CFWARN_L) $(INCLUDES_L) $(CFOTHERS_L)
++CFLAGS_L := $(CFOPTIMIZE_L) $(DEFINES_L) $(CFWARN_L) $(INCLUDES_L) $(CFOTHERS_L) $(NC_CFLAGS)
+ ALL_CFLAGS := $(CFLAGS) $(CFLAGS_L)
+ YACC_CFLAGS := $(ALL_CFLAGS) -Wno-unused-function -Wno-sign-compare -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0
+
+--
+2.1.2
+
diff --git a/games-roguelike/stone-soup/files/stone-soup-0.16.2-perl526.patch b/games-roguelike/stone-soup/files/stone-soup-0.16.2-perl526.patch
new file mode 100644
index 000000000000..a450a635153f
--- /dev/null
+++ b/games-roguelike/stone-soup/files/stone-soup-0.16.2-perl526.patch
@@ -0,0 +1,48 @@
+diff -ruN stone_soup-0.16.2.orig/source/util/gather_abilities stone_soup-0.16.2/source/util/gather_abilities
+--- source.orig/util/gather_abilities 2015-08-10 03:32:30.000000000 +0200
++++ source/util/gather_abilities 2017-07-08 20:46:16.112231100 +0200
+@@ -5,7 +5,7 @@
+ $_ = <IN>;
+ close IN;
+
+-s/.*Ability_List\[\] =\n{\n(.*?)};.*/$1/s
++s/.*Ability_List\[\] =\n\{\n(.*?)};.*/$1/s
+ or die "Can't find Ability_List[] in ability.cc\n";
+
+ print join("\n", sort /ABIL_[A-Z0-9_]+\s*,\s*"([*-Za-z0-9 '-]+)"/sg), "\n";
+diff -ruN stone_soup-0.16.2.orig/source/util/gather_cards stone_soup-0.16.2/source/util/gather_cards
+--- source.orig/util/gather_cards 2015-08-10 03:32:30.000000000 +0200
++++ source/util/gather_cards 2017-07-08 20:46:45.113232307 +0200
+@@ -5,7 +5,7 @@
+ $_ = <IN>;
+ close IN;
+
+-s/.*card_name\(card_type card\)\n{\n\s+switch(.*?)\n}\n.*/$1/s
++s/.*card_name\(card_type card\)\n\{\n\s+switch(.*?)\n}\n.*/$1/s
+ or die "Can't find card_name() in decks.cc\n";
+
+ @cards = map { /case CARD_[A-Z_]+:\s+return "([^"]+)";$/ ? ("$1") : () } split /\n/;
+diff -ruN stone_soup-0.16.2.orig/source/util/gather_mons stone_soup-0.16.2/source/util/gather_mons
+--- source.orig/util/gather_mons 2014-07-28 17:19:20.000000000 +0200
++++ source/util/gather_mons 2017-07-08 20:47:10.378233358 +0200
+@@ -99,7 +99,7 @@
+ open IN, "util/cpp_version spl-summoning.cc|" or die "Can't read spl-summoning.cc\n";
+ while (<IN>)
+ {
+- $mons{$1} = 1 if (/^ { MONS_[A-Z0-9_]+, "([A-Za-z0-9 ']+)" },$/);
++ $mons{$1} = 1 if (/^ \{ MONS_[A-Z0-9_]+, "([A-Za-z0-9 ']+)" },$/);
+ }
+ close IN;
+ }
+diff -ruN stone_soup-0.16.2.orig/source/util/gen-mi-enum stone_soup-0.16.2/source/util/gen-mi-enum
+--- source.orig/util/gen-mi-enum 2014-07-28 17:19:20.000000000 +0200
++++ source/util/gen-mi-enum 2017-07-08 20:47:28.491234111 +0200
+@@ -5,7 +5,7 @@
+ $_=<IN>;
+ s/\r//g;
+
+-s/^enum monster_info_flags\n{\n//m && s/^\s*NUM_MB_FLAGS.*//ms
++s/^enum monster_info_flags\n\{\n//m && s/^\s*NUM_MB_FLAGS.*//ms
+ or die "Can't find monster_info_flags in mon-info.h\n";
+ open OUT, ">mi-enum.h" or die "Can't create mi-enum.h\n";
+ print OUT "// Generated by gen-mi-enum, do not edit.\n\n";
diff --git a/games-roguelike/stone-soup/files/stone-soup-0.16.2-respect-flags-and-compiler.patch b/games-roguelike/stone-soup/files/stone-soup-0.16.2-respect-flags-and-compiler.patch
new file mode 100644
index 000000000000..bf07f4e07edf
--- /dev/null
+++ b/games-roguelike/stone-soup/files/stone-soup-0.16.2-respect-flags-and-compiler.patch
@@ -0,0 +1,110 @@
+From aaa7cde91e4b086164f0c7f46569a34bfbb4e479 Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@gentoo.org>
+Date: Sun, 3 May 2015 15:05:43 +0200
+Subject: [PATCH] Respect flags and compiler
+
+---
+ Makefile | 5 ++---
+ rltiles/Makefile | 22 +++++++++++-----------
+ 2 files changed, 13 insertions(+), 14 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8b9efd9..0f37edf 100644
+--- a/Makefile
++++ b/Makefile
+@@ -103,7 +103,7 @@ include Makefile.obj
+ #
+
+
+-CFOTHERS := -pipe $(EXTERNAL_FLAGS)
++CFOTHERS := $(EXTERNAL_FLAGS)
+ CFWARN :=
+ CFWARN_L := -Wall -Wformat-security -Wundef
+
+@@ -809,7 +809,6 @@ ifdef FULLDEBUG
+ DEFINES += -DFULLDEBUG
+ endif
+ ifdef DEBUG
+-CFOTHERS := -ggdb $(CFOTHERS)
+ DEFINES += -DDEBUG
+ endif
+ ifndef NOWIZARD
+@@ -1627,7 +1626,7 @@ ifdef ANDROID
+ # prove that tiles were generated properly
+ grep tile_info rltiles/*.cc| head
+ else
+- +$(MAKE) -C $(RLTILES) all ARCH=$(ARCH) TILES=$(TILES)$(WEBTILES)
++ $(MAKE) -C $(RLTILES) all V=$(V) ARCH=$(ARCH) DEBUG=$(DEBUG) TILES=$(TILES)$(WEBTILES)
+ endif
+
+ $(TILEDEFSRCS) $(TILEDEFHDRS) $(ORIGTILEFILES): build-rltiles
+diff --git a/rltiles/Makefile b/rltiles/Makefile
+index ae11f43..464424f 100644
+--- a/rltiles/Makefile
++++ b/rltiles/Makefile
+@@ -1,7 +1,7 @@
+ uname_S := $(shell uname -s)
+
+ ifneq (,$(findstring MINGW,$(uname_S)))
+-LDFLAGS += -lmingw32
++LIBS += -lmingw32
+ endif
+
+ # Note: since generation of tiles is done on the host, we don't care about
+@@ -10,7 +10,7 @@ endif
+ # Also, cross-compilation with no system libraries for host rather than target
+ # is not supported. If host=target, contribs are enough.
+
+-CFLAGS := -O2 -g -Wall -Wextra -Wno-parentheses -Wno-unused-parameter
++CXXFLAGS := -Wall -Wextra -Wno-parentheses -Wno-unused-parameter
+
+ ifdef ANDROID
+ CXXFLAGS :=
+@@ -27,24 +27,24 @@ ifdef TILES
+ PNG_LIB := ../contrib/install/$(ARCH)/lib/libpng.a ../contrib/install/$(ARCH)/lib/libz.a
+ endif
+
+- CFLAGS += $(PNG_INCLUDE)
+- LDFLAGS += $(PNG_LIB)
++ CXXFLAGS += $(PNG_INCLUDE)
++ LIBS += $(PNG_LIB)
+
+- CFLAGS += -DUSE_TILE
++ CXXFLAGS += -DUSE_TILE
+ endif
+
+ ifdef DEBUG
+-CFLAGS += -O0 -DDEBUG -ggdb
++CXXFLAGS += -DDEBUG
+ endif
+
+ ifneq (,$(findstring MINGW,$(uname_S)))
+-LDFLAGS += -lgdi32 -lwinmm -lole32 -loleaut32 -limm32 -lshell32 -lversion -luuid
++LIBS += -lgdi32 -lwinmm -lole32 -loleaut32 -limm32 -lshell32 -lversion -luuid
+ endif
+ ifeq ($(uname_S),Darwin)
+ LDFLAGS += -framework AppKit -framework AudioUnit -framework CoreAudio -framework ForceFeedback -framework Carbon -framework IOKit -framework OpenGL
+ endif
+ ifeq ($(uname_S),Linux)
+-LDFLAGS += -ldl -lpthread
++LIBS += -ldl -lpthread
+ endif
+
+ # Attempt to use a full compiler name, to make
+@@ -129,10 +129,10 @@ clean:
+
+ distclean: clean
+
+-%.o: %.cc .cflags
+- $(QUIET_HOSTCXX)$(HOSTCXX) $(CFLAGS) -MMD -c $< -o $@
++%.o: %.cc
++ $(QUIET_HOSTLINK)$(HOSTCXX) $(CXXFLAGS) -c $< -o $@
+
+ $(TILEGEN): $(OBJECTS)
+- $(QUIET_HOSTLINK)$(HOSTCXX) $(OBJECTS) -o $@ $(LDFLAGS)
++ $(QUIET_HOSTLINK)$(HOSTCXX) $(CXXFLAGS) $(OBJECTS) -o $@ $(LDFLAGS) $(LIBS)
+
+ .PHONY: all clean distclean
+--
+2.3.5
+
diff --git a/games-roguelike/stone-soup/metadata.xml b/games-roguelike/stone-soup/metadata.xml
new file mode 100644
index 000000000000..307007f5fa97
--- /dev/null
+++ b/games-roguelike/stone-soup/metadata.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <doc lang="en">http://crawl.develz.org/wordpress/documentation</doc>
+ <bugs-to>https://crawl.develz.org/mantis/main_page.php</bugs-to>
+ <remote-id type="sourceforge">crawl-ref</remote-id>
+ </upstream>
+ <use>
+ <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> as
+ scripting backend instead of <pkg>dev-lang/lua</pkg>.</flag>
+ <flag name="tiles">Enable for graphical (tiled) build.
+ (can be enabled on top of ncurses)
+ </flag>
+ <flag name="ncurses">Enable for console (uses ncurses) based build.
+ (can be enabled on top of tiles)
+ </flag>
+ </use>
+ <longdescription lang="en">
+ Dungeon Crawl Stone Soup is a free roguelike game of exploration
+ and treasure-hunting in dungeons filled with dangerous and
+ unfriendly monsters in a quest for the mystifyingly fabulous Orb
+ of Zot.
+
+ Dungeon Crawl Stone Soup has diverse species and many different
+ character backgrounds to choose from, deep tactical game-play,
+ sophisticated magic, religion and skill systems, and a grand
+ variety of monsters to fight and run from, making each game
+ unique and challenging.
+
+ Dungeon Crawl Stone Soup can be played offline, or online on a
+ public telnet/ssh server thanks to the good folks at
+ crawl.akrasiac.org (CAO) and crawl.develz.org (CDO). These public
+ servers allow you to meet other players’ ghosts, watch other people
+ playing, and, in general, have a blast!
+ </longdescription>
+</pkgmetadata>
diff --git a/games-roguelike/stone-soup/stone-soup-0.16.2-r1.ebuild b/games-roguelike/stone-soup/stone-soup-0.16.2-r1.ebuild
new file mode 100644
index 000000000000..ceca0ef94f0c
--- /dev/null
+++ b/games-roguelike/stone-soup/stone-soup-0.16.2-r1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+## TODO
+# add sound support (no sound files)
+
+EAPI=6
+VIRTUALX_REQUIRED="manual"
+inherit eutils gnome2-utils toolchain-funcs
+
+MY_P="stone_soup-${PV}"
+DESCRIPTION="Role-playing roguelike game of exploration and treasure-hunting in dungeons"
+HOMEPAGE="http://crawl.develz.org/wordpress/"
+SRC_URI="https://crawl.develz.org/release/stone_soup-${PV}.tar.xz
+ https://dev.gentoo.org/~hasufell/distfiles/${PN}.png
+ https://dev.gentoo.org/~hasufell/distfiles/${PN}.svg"
+
+# 3-clause BSD: mt19937ar.cc, MSVC/stdint.h
+# 2-clause BSD: all contributions by Steve Noonan and Jesse Luehrs
+# Public Domain|CC0: most of tiles
+# MIT: json.cc/json.h, some .js files in webserver/static/scripts/contrib/
+LICENSE="GPL-2 BSD BSD-2 public-domain CC0-1.0 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug luajit ncurses test +tiles"
+# test is broken
+# see https://crawl.develz.org/mantis/view.php?id=6121
+RESTRICT="test"
+
+RDEPEND="
+ dev-db/sqlite:3
+ luajit? ( >=dev-lang/luajit-2.0.0 )
+ sys-libs/zlib
+ !ncurses? ( !tiles? ( sys-libs/ncurses:0 ) )
+ ncurses? ( sys-libs/ncurses:0 )
+ tiles? (
+ media-fonts/dejavu
+ media-libs/freetype:2
+ media-libs/libpng:0
+ media-libs/libsdl2[opengl,video]
+ media-libs/sdl2-image[png]
+ virtual/glu
+ virtual/opengl
+ )"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ sys-devel/flex
+ virtual/pkgconfig
+ virtual/yacc
+ tiles? (
+ sys-libs/ncurses:0
+ )"
+
+S=${WORKDIR}/${MY_P}/source
+S_TEST=${WORKDIR}/${MY_P}_test/source
+
+PATCHES=(
+ "${FILESDIR}"/${P}-respect-flags-and-compiler.patch
+ "${FILESDIR}"/${P}-Use-pkg-config-for-linking-to-ncurses.patch
+ "${FILESDIR}"/${P}-perl526.patch
+)
+
+pkg_setup() {
+ if use !ncurses && use !tiles ; then
+ ewarn "Neither ncurses nor tiles frontend"
+ ewarn "selected, choosing ncurses only."
+ ewarn "Note that you can also enable both."
+ fi
+}
+
+src_prepare() {
+ default
+
+ rm -r contrib/{fonts,freetype,libpng,pcre,sdl2,sdl2-image,sdl2-mixer,sqlite,zlib} || die
+}
+
+src_compile() {
+ export HOSTCXX=$(tc-getBUILD_CXX)
+
+ # leave DATADIR at the top
+ myemakeargs=(
+ $(usex luajit "" "BUILD_LUA=yes") # luajit is not bundled
+ USE_LUAJIT=$(usex luajit "yes" "")
+ DATADIR="/usr/share/${PN}"
+ V=1
+ prefix="/usr"
+ SAVEDIR="~/.crawl"
+ $(usex debug "FULLDEBUG=y DEBUG=y" "")
+ CFOPTIMIZE="${CXXFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+ MAKEOPTS="${MAKEOPTS}"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKGCONFIG="$(tc-getPKG_CONFIG)"
+ STRIP=touch
+ )
+
+ if use ncurses || (use !ncurses && use !tiles) ; then
+ emake "${myemakeargs[@]}"
+ # move it in case we build both variants
+ use tiles && { mv crawl "${WORKDIR}"/crawl-ncurses || die ;}
+ fi
+
+ if use tiles ; then
+ emake clean
+ emake "${myemakeargs[@]}" "TILES=y"
+ fi
+}
+
+src_install() {
+ emake "${myemakeargs[@]}" $(usex tiles "TILES=y" "") DESTDIR="${D}" prefix_fp="" bin_prefix="${D}/usr/bin" install
+ [[ -e "${WORKDIR}"/crawl-ncurses ]] && dobin "${WORKDIR}"/crawl-ncurses
+
+ # don't relocate docs, needed at runtime
+ rm -rf "${D}/usr/share/${PN}"/docs/license
+ dodoc "${WORKDIR}"/${MY_P}/README.{txt,pdf}
+
+ # icons and menu for graphical build
+ if use tiles ; then
+ doicon -s 48 "${DISTDIR}"/${PN}.png
+ doicon -s scalable "${DISTDIR}"/${PN}.svg
+ make_desktop_entry crawl
+ fi
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+
+ if use tiles && use ncurses ; then
+ elog "Since you have enabled both tiles and ncurses frontends"
+ elog "the ncurses binary is called 'crawl-ncurses' and the"
+ elog "tiles binary is called 'crawl'."
+ fi
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-roguelike/stone-soup/stone-soup-0.16.2.ebuild b/games-roguelike/stone-soup/stone-soup-0.16.2.ebuild
new file mode 100644
index 000000000000..49e0cb857b5f
--- /dev/null
+++ b/games-roguelike/stone-soup/stone-soup-0.16.2.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+## TODO
+# add sound support (no sound files)
+
+EAPI=5
+VIRTUALX_REQUIRED="manual"
+inherit eutils gnome2-utils toolchain-funcs games
+
+MY_P="stone_soup-${PV}"
+DESCRIPTION="Dungeon Crawl Stone Soup is a role-playing roguelike game of exploration and treasure-hunting in dungeons"
+HOMEPAGE="http://crawl.develz.org/wordpress/"
+SRC_URI="https://crawl.develz.org/release/stone_soup-${PV}.tar.xz
+ https://dev.gentoo.org/~hasufell/distfiles/${PN}.png
+ https://dev.gentoo.org/~hasufell/distfiles/${PN}.svg"
+
+# 3-clause BSD: mt19937ar.cc, MSVC/stdint.h
+# 2-clause BSD: all contributions by Steve Noonan and Jesse Luehrs
+# Public Domain|CC0: most of tiles
+# MIT: json.cc/json.h, some .js files in webserver/static/scripts/contrib/
+LICENSE="GPL-2 BSD BSD-2 public-domain CC0-1.0 MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug luajit ncurses test +tiles"
+# test is broken
+# see https://crawl.develz.org/mantis/view.php?id=6121
+RESTRICT="test"
+
+RDEPEND="
+ dev-db/sqlite:3
+ luajit? ( >=dev-lang/luajit-2.0.0 )
+ sys-libs/zlib
+ !ncurses? ( !tiles? ( sys-libs/ncurses:0 ) )
+ ncurses? ( sys-libs/ncurses:0 )
+ tiles? (
+ media-fonts/dejavu
+ media-libs/freetype:2
+ media-libs/libpng:0
+ media-libs/libsdl2[opengl,video]
+ media-libs/sdl2-image[png]
+ virtual/glu
+ virtual/opengl
+ )"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ sys-devel/flex
+ virtual/pkgconfig
+ virtual/yacc
+ tiles? (
+ sys-libs/ncurses:0
+ )"
+
+S=${WORKDIR}/${MY_P}/source
+S_TEST=${WORKDIR}/${MY_P}_test/source
+
+pkg_setup() {
+ games_pkg_setup
+ if use !ncurses && use !tiles ; then
+ ewarn "Neither ncurses nor tiles frontend"
+ ewarn "selected, choosing ncurses only."
+ ewarn "Note that you can also enable both."
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-respect-flags-and-compiler.patch \
+ "${FILESDIR}"/${P}-Use-pkg-config-for-linking-to-ncurses.patch
+
+ rm -r contrib/{fonts,freetype,libpng,pcre,sdl2,sdl2-image,sdl2-mixer,sqlite,zlib} || die
+}
+
+src_compile() {
+ export HOSTCXX=$(tc-getBUILD_CXX)
+
+ # leave DATADIR at the top
+ myemakeargs=(
+ $(usex luajit "" "BUILD_LUA=yes") # luajit is not bundled
+ USE_LUAJIT=$(usex luajit "yes" "")
+ DATADIR="${GAMES_DATADIR}/${PN}"
+ V=1
+ prefix="${GAMES_PREFIX}"
+ SAVEDIR="~/.crawl"
+ $(usex debug "FULLDEBUG=y DEBUG=y" "")
+ CFOPTIMIZE="${CXXFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+ MAKEOPTS="${MAKEOPTS}"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKGCONFIG="$(tc-getPKG_CONFIG)"
+ STRIP=touch
+ )
+
+ if use ncurses || (use !ncurses && use !tiles) ; then
+ emake "${myemakeargs[@]}"
+ # move it in case we build both variants
+ use tiles && { mv crawl "${WORKDIR}"/crawl-ncurses || die ;}
+ fi
+
+ if use tiles ; then
+ emake clean
+ emake "${myemakeargs[@]}" "TILES=y"
+ fi
+}
+
+src_install() {
+ emake "${myemakeargs[@]}" $(usex tiles "TILES=y" "") DESTDIR="${D}" prefix_fp="" bin_prefix="${D}${GAMES_BINDIR}" install
+ [[ -e "${WORKDIR}"/crawl-ncurses ]] && dogamesbin "${WORKDIR}"/crawl-ncurses
+
+ # don't relocate docs, needed at runtime
+ rm -rf "${D}${GAMES_DATADIR}"/${PN}/docs/license
+ dodoc "${WORKDIR}"/${MY_P}/README.{txt,pdf}
+
+ # icons and menu for graphical build
+ if use tiles ; then
+ doicon -s 48 "${DISTDIR}"/${PN}.png
+ doicon -s scalable "${DISTDIR}"/${PN}.svg
+ make_desktop_entry crawl
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+
+ if use tiles && use ncurses ; then
+ elog "Since you have enabled both tiles and ncurses frontends"
+ elog "the ncurses binary is called 'crawl-ncurses' and the"
+ elog "tiles binary is called 'crawl'."
+ fi
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-roguelike/tome/Manifest b/games-roguelike/tome/Manifest
new file mode 100644
index 000000000000..31d89ff1fead
--- /dev/null
+++ b/games-roguelike/tome/Manifest
@@ -0,0 +1,8 @@
+AUX 2.3.5-gentoo-paths.patch 1172 SHA256 e1978ac45c002a7b40a1f7123430a8aa1a4c45c48468b8d0bd6c670041a538e1 SHA512 1d3f053abcbfee4f2fb1acc2911927b4a51881b0ce50da72d4d617207411b9cdba42cf70324c47535e9e560ee8878f3d0f51d4471dcc2bcfaffb136700c6fd0f WHIRLPOOL c39ef97fe887d16df8ef51aecdca5a1e05668830f6bd0f29c48dad311f98e4cd9c9fac23e8f1701736c2e6776c7ec5d2fabcf6739c0f33025f646dd355c5b8b2
+AUX tome-2.3.5-format.patch 2925 SHA256 be4438b229f26465ade409e4e6efedf0a4ec8684d59f9a3bf0594281f61fe9e4 SHA512 e8e245e6374ac63effc8f3e1341357f137cd8b4fb378a464e2bd3692d50e5cbd54b7b42b8605346c2d617e1dbb95e42bc9f79a36cc378d07881c73136d603ddb WHIRLPOOL bf9dcbcd3550036a9157a537ec3d96d52f776c35a0e3e7cf6e499dc07892c15b223c5719aebce8087145596afdae3f7604f47f4873e0337e6756b65550c4e555
+AUX tome-2.3.5-noX.patch 453 SHA256 131953319eb1d2c213a881f6e7d0cfe0839d787f298e15e3396aab04d05b56e0 SHA512 9c3fe5a8a9fa0e1e1b0e1ffb4ca8a089eda401a04bc6fe14aba8866090cd96ad13f5fac501ae18ce937f13a94439c8c1ebaa80c7fc07d1c4da9c3c8fa80f67c2 WHIRLPOOL 7e392e223933f471aaaadfe8cd983f69e153f50cc6cddc843ad064c2ff399c6cef84fdbcdfbf39e58f180ee705146742f81609f41021a6ca6ff8b5e13af067b0
+DIST tome-235-src.tar.bz2 2951227 SHA256 8844b0b889bac3943ea2f4d4d43b38e2d91d242a93028e9e07403aaab46d691b SHA512 f456aa91d18397297c213fa67dd14a4d29e024525be99f83b22cbe42f4d426b57fe6115a7124e3ec34de8f351117de525eab996ba7a2a230119e43639c4c9205 WHIRLPOOL 87628c68051ef2a063dc03f261110a010cf48a9fe0ef0e6feb1622b87263a8b9fa5a7d580201faf9e923196a2015d636659835cf2686a774332352cd233b66cb
+EBUILD tome-2.3.5.ebuild 3630 SHA256 399be37887f7ec2e7041db91404f8346a1ef8f4e53504db62b8ed924f74c83c9 SHA512 e83d3ad83793e0d34ffd1843f72577a8c94b6fc8120ec6120e9abb1aa2f87ec5da4e96c4ba759db838ce2f6ba8aed6d770d2a30741c578aa7dca165f7225a1c3 WHIRLPOOL edb1657c1e9a63aefe48f3b7de6c11bb9e3b17b939a91bd8dccd794ecabf8cb73e8ad053444bd10e57c5218f29670f3d3fcf619ed56cf6995e366285dc04a89d
+MISC ChangeLog 2809 SHA256 a5a2f10561330653cfb6d819f56fbb8f9ed2ac2e6c08b186c28d8392e363b545 SHA512 10dfca2548cb591e948ff8518f02fc843d7bdc814e801b065209dfa9022e99da1b3bdb2cf0ac3184303a8e9980f0147b0752c2153fd5ad7390d9ea4f7ad20722 WHIRLPOOL 003a0f83b242f809a3a7c28ac8c6a9d09e93599a5e6f79edf94d5019ddebc394509c6988f0814364b3e551b33353627a65cd1d360ee6b727323f19440c867cff
+MISC ChangeLog-2015 6765 SHA256 4cb688dd37994d5c56117505dede66f0e5dc7eeddca124b14fd5f3c5ac59d432 SHA512 d7b654b6a729a4b532424c77f1dd8fb3efd1448b9eb019805901c74a1db127570798ba353d9b6ab45042b15c2c6890a082eb7bad4eb1d6c79d0f30808d1b068e WHIRLPOOL 4b80b0f4af5a5d0372a1fec40e2a164df466166897ac5c0f28afa01a453f793415debd219cb54e4728451badc7c8d3387aa452cf56177640d101605241199d4e
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-roguelike/tome/files/2.3.5-gentoo-paths.patch b/games-roguelike/tome/files/2.3.5-gentoo-paths.patch
new file mode 100644
index 000000000000..d171a1cf540f
--- /dev/null
+++ b/games-roguelike/tome/files/2.3.5-gentoo-paths.patch
@@ -0,0 +1,31 @@
+diff -rU 1 tome-225-src.orig/src/files.c tome-225-src/src/files.c
+--- tome-225-src.orig/src/files.c 2004-01-14 11:17:02.423263360 -0500
++++ tome-225-src/src/files.c 2004-01-14 11:17:50.074019344 -0500
+@@ -5670,3 +5670,3 @@
+ /* Build the filename */
+- path_build(buf, 1024, ANGBAND_DIR_APEX, "scores.raw");
++ sprintf(buf, "GENTOO_DIR/tome-scores.raw");
+
+@@ -5748,3 +5748,3 @@
+ /* Build the filename */
+- path_build(buf, 1024, ANGBAND_DIR_APEX, "scores.raw");
++ sprintf(buf, "GENTOO_DIR/tome-scores.raw");
+
+@@ -5846,3 +5846,3 @@
+ /* Build the filename */
+- path_build(buf, 1024, ANGBAND_DIR_APEX, "scores.raw");
++ sprintf(buf, "GENTOO_DIR/tome-scores.raw");
+
+@@ -6296,3 +6296,3 @@
+ /* Build the filename */
+- path_build(buf, 1024, ANGBAND_DIR_APEX, "scores.raw");
++ sprintf(buf, "GENTOO_DIR/tome-scores.raw");
+
+diff -rU 1 tome-225-src.orig/src/init2.c tome-225-src/src/init2.c
+--- tome-225-src.orig/src/init2.c 2004-01-14 11:17:02.473255760 -0500
++++ tome-225-src/src/init2.c 2004-01-14 11:17:58.286770816 -0500
+@@ -6686,3 +6686,3 @@
+ /* Build the filename */
+- path_build(buf, 1024, ANGBAND_DIR_APEX, "scores.raw");
++ sprintf(buf, "GENTOO_DIR/tome-scores.raw");
+
diff --git a/games-roguelike/tome/files/tome-2.3.5-format.patch b/games-roguelike/tome/files/tome-2.3.5-format.patch
new file mode 100644
index 000000000000..f3ce1cc96faf
--- /dev/null
+++ b/games-roguelike/tome/files/tome-2.3.5-format.patch
@@ -0,0 +1,88 @@
+--- dungeon.c.old 2016-02-07 20:12:39.258150130 +0100
++++ dungeon.c 2016-02-07 20:12:58.239805610 +0100
+@@ -1489,7 +1489,7 @@
+ {
+ char buf[20];
+
+- sprintf(buf, get_day(bst(YEAR, turn) + START_YEAR));
++ sprintf(buf, "%s", get_day(bst(YEAR, turn) + START_YEAR));
+ cmsg_format(TERM_L_GREEN,
+ "Today it is %s of the %s year of the third age.",
+ get_month_name(bst(DAY, turn), wizard, FALSE), buf);
+--- files.c.old 2016-02-07 20:15:07.736451417 +0100
++++ files.c 2016-02-07 20:15:27.595089867 +0100
+@@ -4856,7 +4856,7 @@
+
+ /* Terminate */
+ tmp[k] = '\0';
+- sprintf(player_base, tmp);
++ sprintf(player_base, "%s", tmp);
+
+ /* Require a "base" name */
+ if (!player_base[0]) strcpy(player_base, "PLAYER");
+--- lua_bind.c.old 2016-02-07 20:09:29.071592178 +0100
++++ lua_bind.c 2016-02-07 20:10:48.094164373 +0100
+@@ -490,7 +490,7 @@
+ /* Files */
+ void lua_print_hook(cptr str)
+ {
+- fprintf(hook_file, str);
++ fprintf(hook_file, "%s", str);
+ }
+
+
+--- plots.c.old 2016-02-07 20:11:35.389308152 +0100
++++ plots.c 2016-02-07 20:12:19.247513152 +0100
+@@ -93,7 +93,7 @@
+ {
+ MAKE(new, hooks_chain);
+ new->hook = hook;
+- sprintf(new->name, name);
++ sprintf(new->name, "%s", name);
+ #ifdef DEBUG_HOOK
+ if (wizard) cmsg_format(TERM_VIOLET, "HOOK ADD: %s", name);
+ if (take_notes) add_note(format("HOOK ADD: %s", name), 'D');
+--- spells1.c.old 2016-02-07 20:15:47.277731397 +0100
++++ spells1.c 2016-02-07 20:16:03.373438169 +0100
+@@ -7312,7 +7312,7 @@
+
+ if (who == -2)
+ {
+- sprintf(killer, t_name + t_info[cave[p_ptr->py][p_ptr->px].t_idx].name);
++ sprintf(killer, "%s", t_name + t_info[cave[p_ptr->py][p_ptr->px].t_idx].name);
+ }
+
+ /* Analyze the damage */
+--- squeltch.c.old 2016-02-07 20:13:11.872558078 +0100
++++ squeltch.c 2016-02-07 20:13:42.707997918 +0100
+@@ -399,7 +399,7 @@
+
+ if (!max) continue;
+
+- sprintf(name, string_exec_lua(format("return __rules[%d].table.args.name", sel)));
++ sprintf(name, "%s", string_exec_lua(format("return __rules[%d].table.args.name", sel)));
+ if (input_box("New name?", hgt / 2, wid / 2, name, 15))
+ {
+ exec_lua(format("auto_aux:rename_rule(%d, '%s')", sel, name));
+--- util.c.old 2016-02-07 20:14:22.786269296 +0100
++++ util.c 2016-02-07 20:16:44.227693551 +0100
+@@ -4468,7 +4468,7 @@
+ {
+ char buf2[20];
+
+- sprintf(buf2, get_day(day + 1));
++ sprintf(buf2, "%s", get_day(day + 1));
+ if (full) sprintf(buf, "%s (%s day)", month_name[i], buf2);
+ else sprintf(buf, "%s", month_name[i]);
+ break;
+@@ -4479,8 +4479,8 @@
+ char buf2[20];
+ char buf3[20];
+
+- sprintf(buf2, get_day(day + 1 - month_day[i]));
+- sprintf(buf3, get_day(day + 1));
++ sprintf(buf2, "%s", get_day(day + 1 - month_day[i]));
++ sprintf(buf3, "%s", get_day(day + 1));
+
+ if (full) sprintf(buf, "%s day of %s (%s day)", buf2, month_name[i], buf3);
+ else if (compact) sprintf(buf, "%s day of %s", buf2, month_name[i]);
diff --git a/games-roguelike/tome/files/tome-2.3.5-noX.patch b/games-roguelike/tome/files/tome-2.3.5-noX.patch
new file mode 100644
index 000000000000..5c5982fe730d
--- /dev/null
+++ b/games-roguelike/tome/files/tome-2.3.5-noX.patch
@@ -0,0 +1,11 @@
+--- makefile.old 2012-05-28 14:02:44.787705444 +0200
++++ makefile 2012-05-28 14:03:44.520524011 +0200
+@@ -458,7 +458,7 @@
+ $(CC) $(PROFILELDFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
+
+ $(TOLUA): $(TOLUAOBJS) lua/tolua.c lua/tolualua.c
+- $(CC) $(CFLAGS) $(PROFILELDFLAGS) $(LDFLAGS) -o $@ $(TOLUAOBJS) lua/tolua.c lua/tolualua.c $(LIBS)
++ $(CC) $(CFLAGS) $(PROFILELDFLAGS) $(LDFLAGS) -o $@ $(TOLUAOBJS) lua/tolua.c lua/tolualua.c
+
+ #
+ # An install rule.
diff --git a/games-roguelike/tome/metadata.xml b/games-roguelike/tome/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-roguelike/tome/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-roguelike/tome/tome-2.3.5.ebuild b/games-roguelike/tome/tome-2.3.5.ebuild
new file mode 100644
index 000000000000..083f741eca37
--- /dev/null
+++ b/games-roguelike/tome/tome-2.3.5.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils games
+
+MY_PV=${PV//./}
+DESCRIPTION="save the world from Morgoth and battle evil (or become evil ;])"
+HOMEPAGE="http://t-o-m-e.net/"
+SRC_URI="http://t-o-m-e.net/dl/src/tome-${MY_PV}-src.tar.bz2"
+
+LICENSE="Moria"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="X Xaw3d gtk sdl"
+
+RDEPEND=">=sys-libs/ncurses-5:0
+ X? ( x11-libs/libX11 )
+ Xaw3d? ( x11-libs/libXaw )
+ sdl? (
+ media-libs/sdl-ttf
+ media-libs/sdl-image
+ media-libs/libsdl )
+ gtk? ( >=x11-libs/gtk+-2.12.8:2 ) "
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ x11-misc/makedepend"
+
+S=${WORKDIR}/tome-${MY_PV}-src/src
+
+src_prepare() {
+ mv makefile.std makefile
+ epatch "${FILESDIR}/${PV}-gentoo-paths.patch" \
+ "${FILESDIR}"/${P}-format.patch \
+ "${FILESDIR}"/${P}-noX.patch
+ sed -i -e '/^CC =/d' makefile || die
+ sed -i -e "s:xx:x:" ../lib/edit/p_info.txt || die
+ sed -i -e "s:GENTOO_DIR:${GAMES_STATEDIR}:" files.c init2.c || die
+
+ find .. -name .cvsignore -exec rm -f \{\} +
+ find ../lib/edit -type f -exec chmod a-x \{\} +
+}
+
+src_compile() {
+ local GENTOO_INCLUDES="" GENTOO_DEFINES="-DUSE_GCU " GENTOO_LIBS="$(pkg-config ncurses --libs)"
+ if use sdl || use X || use gtk || use Xaw3d; then
+ GENTOO_DEFINES="${GENTOO_DEFINES} -DUSE_EGO_GRAPHICS -DUSE_TRANSPARENCY \
+ -DSUPPORT_GAMMA"
+ fi
+ if use sdl || use X || use Xaw3d; then
+ GENTOO_DEFINES="${GENTOO_DEFINES} -DUSE_PRECISE_CMOVIE -DUSE_UNIXSOCK "
+ fi
+ if use sdl; then
+ GENTOO_INCLUDES="${GENTOO_INCLUDES} $(sdl-config --cflags)"
+ GENTOO_DEFINES="${GENTOO_DEFINES} -DUSE_SDL "
+ GENTOO_LIBS="${GENTOO_LIBS} $(sdl-config --libs) -lSDL_image -lSDL_ttf"
+ fi
+ if use X; then
+ GENTOO_INCLUDES="${GENTOO_INCLUDES} -I/usr/X11R6/include "
+ GENTOO_DEFINES="${GENTOO_DEFINES} -DUSE_X11 "
+ GENTOO_LIBS="${GENTOO_LIBS} -L/usr/X11R6/lib -lX11 "
+ fi
+ if use Xaw3d; then
+ GENTOO_INCLUDES="${GENTOO_INCLUDES} -I/usr/X11R6/include "
+ GENTOO_DEFINES="${GENTOO_DEFINES} -DUSE_XAW "
+ GENTOO_LIBS="${GENTOO_LIBS} -L/usr/X11R6/lib -lXaw -lXmu -lXt -lX11 "
+ fi
+ if use gtk; then
+ GENTOO_INCLUDES="${GENTOO_INCLUDES} $(pkg-config gtk+-2.0 --cflags)"
+ GENTOO_DEFINES="${GENTOO_DEFINES} -DUSE_GTK2 "
+ GENTOO_LIBS="${GENTOO_LIBS} $(pkg-config gtk+-2.0 --libs) "
+ GTK_SRC_FILE="main-gtk2.c"
+ GTK_OBJ_FILE="main-gtk2.o"
+ else
+ GTK_SRC_FILE=""
+ GTK_OBJ_FILE=""
+ fi
+ if use amd64; then
+ GENTOO_DEFINES="${GENTOO_DEFINES} -DLUA_NUM_TYPE=int "
+ fi
+ GENTOO_INCLUDES="${GENTOO_INCLUDES} -Ilua -I."
+ GENTOO_DEFINES="${GENTOO_DEFINES} -DUSE_LUA"
+ emake -j1 \
+ INCLUDES="${GENTOO_INCLUDES}" \
+ DEFINES="${GENTOO_DEFINES}" \
+ depend
+ emake ./tolua
+ emake \
+ COPTS="${CFLAGS}" \
+ INCLUDES="${GENTOO_INCLUDES}" \
+ DEFINES="${GENTOO_DEFINES}" \
+ LIBS="${GENTOO_LIBS} -lm" \
+ BINDIR="${GAMES_BINDIR}" \
+ LIBDIR="${GAMES_DATADIR}/${PN}" \
+ GTK_SRC_FILE="${GTK_SRC_FILE}" \
+ GTK_OBJ_FILE="${GTK_OBJ_FILE}"
+}
+
+src_install() {
+ emake -j1 \
+ DESTDIR="${D}" \
+ OWNER="${GAMES_USER}" \
+ BINDIR="${GAMES_BINDIR}" \
+ LIBDIR="${GAMES_DATADIR}/${PN}" install
+ cd ..
+ dodoc *.txt
+
+ dodir "${GAMES_STATEDIR}"
+ touch "${D}/${GAMES_STATEDIR}/${PN}-scores.raw"
+ prepgamesdirs
+ fperms g+w "${GAMES_STATEDIR}/${PN}-scores.raw"
+ #FIXME: something has to be done about this.
+ fperms g+w "${GAMES_DATADIR}/${PN}/data"
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ echo
+ ewarn "ToME ${PV} is not save-game compatible with 2.3.0 and previous versions."
+ echo
+ ewarn "If you have older save files and you wish to continue those games,"
+ ewarn "you'll need to remerge the version of ToME with which you started"
+ ewarn "those save-games."
+}
diff --git a/games-roguelike/tomenet/Manifest b/games-roguelike/tomenet/Manifest
new file mode 100644
index 000000000000..6cf35ff021c7
--- /dev/null
+++ b/games-roguelike/tomenet/Manifest
@@ -0,0 +1,8 @@
+AUX tomenet-4.6.1a-makefile.patch 2699 SHA256 067f801a6cfaa46ef724b6012686e3e917806a22cdddfc7c81317c1271326cc0 SHA512 89e72ec53f43770b3fea6e4d99838eed37c1f537238e7b6c7a16edadcf3755e7611256435702802809575f988238f5f529c4b962994d5d13b34f77b8520cb25d WHIRLPOOL d8cc658f3d069de3b90c969af9d518c4e559b4f9223d0ebee7860ce6ea3bf724d4ca1caa2fdccdd69f5aac542063a6175df937b24db627ddad382163b7339009
+AUX tomenet-server-wrapper 105 SHA256 0133c13d1276cd528d4f4686db6226faf43a964acb02eca08fbf4cc8618412f4 SHA512 9f509cdcc694fe47eed4cfdcb14f0ab3ea7006c202e7f4d8798012e62b89f34cc26834131412e18d2f0edba4237b6c66f4743ff6b780e3080a52e9da992d8cc3 WHIRLPOOL c635eeb761fd2014194b49f8eebee9581b705a06da067ab55258aba51241d923df16feaf145b3e0f28f2e0484dd92f5653f25f542d4f011ac9b5ecb71c6313f0
+AUX tomenet-wrapper 446 SHA256 c1eb467f742df807440230f82a193e6b1f283ab48bcb86b21d76b5a434babd0d SHA512 f148ad2fb52c060ada829810edc46d3aee6bd6c5229489a52b6af080b38b164c0417157bb8ec21294e16903b3e8328329fbb86645ab57a0f0a4407875844c5a2 WHIRLPOOL 773ce42ac55e1a73c57df1dcb9092a0c92c37160e78c2943389547eeea406e3051dbaa2f45e6abb69eeebe5a886f0f79ca871d0234f8b59b13b3f2f52d7e843f
+DIST tomenet-4.6.1a.tar.bz2 2990275 SHA256 0e27c0332f1a1e58e51c4d254dd14707e21608e32c5acf2be28a5baaa65065ab SHA512 eb89cd2276a18947d55efcc745e0b0abc0d9ae8a8d922a4726632657f32657e762bd0530d721afcf9d4ab3eeed2da6e43a3822d1d8c2c3b630fdb4cde924ac9f WHIRLPOOL eb5ecbea231bf756c71b983b4a7fc082e7d63061d8f215731b7065eeef57e912dfbb1b217d3d031c6db11f8882c4d4c10c8d821c8ccd873f0e9e41f9148f2d30
+EBUILD tomenet-4.6.1a.ebuild 2140 SHA256 f9d6815371eaa81d6fc68632d0436ea5890ef80af2b836838697ffe54454c4b8 SHA512 cbbe92dd93144656dc56bc86f9acaf56cca655d8512060b63ebcfc9ff1bca7f06825d2812420517c158d4b127c33a2791f648c811ef228e7d82545ac913eb4a2 WHIRLPOOL d0e7a2dec969fe41ba9163f6d5b9c7acf65c3cb9db0137f87d2e9920a3386ab4955576cdeef81335267693086eabe52c8026428a5a50e8038be0550524541ba8
+MISC ChangeLog 4578 SHA256 3d4b6e017ac1c99e1395578667597624001adb4d9ef33778e6421a38ea62c265 SHA512 57373b10440e1f13c2c5170c1355ff1b51bf40f5aec75784cefa985c33f143039e2b3b040b6f8e9efd881a0f22f5bd8c826a90414d0caef9085f7c109b7ff83f WHIRLPOOL e02012c3ab9329c5cf6d873708d3e0ba8078785a1b33581d141d497f76611363e0fea8baf1bb6f8b1eef13f85f6f5837205ee4a0c9e3250cf702c819e0d71d23
+MISC ChangeLog-2015 4311 SHA256 d2d258a550254d157cbf0cfbe5115ed7c0c8e537a0929dfeb2d5e9b5da74067a SHA512 3550430f592a617e6938d0ec85305f6a3f36f8568fdb947fb2bb9d5fb4e41481fbd719844877c873907f150b7fa0c36d3c8a17f12afa1ef2a06104554688e0fd WHIRLPOOL 5298fdf3e513edf925beb87916316e25eace0e8c48776e484dce38f7397baec40c32977710005a091348d7a54f4a1186fa9b1661b28aa18be66e33cde986bfa5
+MISC metadata.xml 795 SHA256 69f1abd90fa924d5947f58fe49e899f917ffcc66cbabad1eb80541133d843bfd SHA512 4e7b25ba67a044e76013a5d2c88979d5f082872e785576b37647face2e0cff9056d138df0cd16db23b5b79328156d110d7adf667ba2481c089569fb02b18a0f1 WHIRLPOOL 2f23b0ffa8daf5ce98639e4be53f3c8dcb67b95c70a50dfb9cdc8129a9d4c785947d34e0cdd150835c16752eec23d55029b5a26d8edea4866d79f66fbeeb59af
diff --git a/games-roguelike/tomenet/files/tomenet-4.6.1a-makefile.patch b/games-roguelike/tomenet/files/tomenet-4.6.1a-makefile.patch
new file mode 100644
index 000000000000..c78a55cebd94
--- /dev/null
+++ b/games-roguelike/tomenet/files/tomenet-4.6.1a-makefile.patch
@@ -0,0 +1,77 @@
+diff -ru tomenet-4.6.1a.orig/src/makefile tomenet-4.6.1a/src/makefile
+--- tomenet-4.6.1a.orig/src/makefile 2015-12-31 07:05:21.000000000 -0500
++++ tomenet-4.6.1a/src/makefile 2016-02-10 01:42:12.958344532 -0500
+@@ -203,7 +203,7 @@
+ #
+ # This is my compiler of choice, it seems to work most everywhere
+ #
+-CC = gcc
++CC ?= gcc
+
+ # For allowing #if..#else..#endif constructs in LUA files - C. Blue
+ # Note: The flags must contain
+@@ -215,16 +215,26 @@
+ # need to use the gcc invocation below instead.
+ #
+ # cpp variant:
+-CPP = cpp
+-CPPFLAGS = -C -P
++#CPP = cpp
++#CPPFLAGS = -C -P
+ # gcc variant:
+-#CPP = gcc
+-#CPPFLAGS = -x c -E -Wp,-C,-P
++CPP ?= gcc
++CPPFLAGS = -x c -E -Wp,-C,-P
+
+
+ # For variations with X11
+ X11BASE = /usr/X11R6
+
++# defines
++ifdef USE_SDL
++CFLAGS += -DSOUND_SDL $(shell sdl-config --cflags)
++SDL_LIBS = $(shell sdl-config --libs) -lSDL_mixer
++endif
++
++ifdef USE_X
++CFLAGS += -I${X11BASE}/include -DUSE_X11
++LIBS += -L${X11BASE}/lib -lX11
++endif
+
+ ##
+ ## Standard version -- supports X11 (main-x11.c)
+@@ -237,6 +247,11 @@
+ #CFLAGS = -g -pipe -Wall -DUSE_X11 -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99 -DSOUND_SDL `sdl-config --cflags`
+ #LIBS = -L${X11BASE}/lib -L/usr/pkg/lib -lX11 -lcrypt -lm `sdl-config --libs` -lSDL_mixer
+ ##
++
++CFLAGS += -Wall
++CFLAGS += -DUSE_GCU -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99
++LIBS += -L/usr/pkg/lib $(shell ${PKG_CONFIG} --libs ncurses) -lcrypt -lm ${SDL_LIBS}
++
+ ## Without SDL
+ #CFLAGS = -g -pipe -Wall -DUSE_X11 -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99
+ #LIBS = -L${X11BASE}/lib -L/usr/pkg/lib -lX11 -lcrypt -lm
+@@ -256,8 +271,8 @@
+ # attempt to "guess" at many of these flags based on your system.
+ #
+ ## With SDL
+-CFLAGS = -g -pipe -Wall -DUSE_X11 -DUSE_GCU -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99 -DSOUND_SDL `sdl-config --cflags` -D_DEFAULT_SOURCE -DACC32
+-LIBS = -L${X11BASE}/lib -L/usr/pkg/lib -lX11 -lncurses -lcrypt -lm `sdl-config --libs` -lSDL_mixer
++#CFLAGS = -g -pipe -Wall -DUSE_X11 -DUSE_GCU -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99 -DSOUND_SDL `sdl-config --cflags` -D_DEFAULT_SOURCE -DACC32
++LIBS = -L${X11BASE}/lib -L/usr/pkg/lib -lX11 $(shell ${PKG_CONFIG} --libs ncurses) -lcrypt -lm $(shell sdl-config --libs) -lSDL_mixer
+ ##
+ ## Without SDL
+ #CFLAGS = -g -pipe -Wall -DUSE_X11 -DUSE_GCU -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99
+@@ -357,10 +372,6 @@
+ # Compile a client with 'test client' version/tag
+ tomenet.test: CFLAGS += -DTEST_CLIENT -O0
+
+-# Normal release build
+-tomenet: CFLAGS += -O2
+-
+-
+ # Lua
+ SRCS += $(LUASRCS)
+ SRCS += $(CLI_LUASRCS)
diff --git a/games-roguelike/tomenet/files/tomenet-server-wrapper b/games-roguelike/tomenet/files/tomenet-server-wrapper
new file mode 100644
index 000000000000..831fbfb76ed8
--- /dev/null
+++ b/games-roguelike/tomenet/files/tomenet-server-wrapper
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+TOMENET_PATH="@LIBDIR@"
+export TOMENET_PATH
+cd "${TOMENET_PATH}"
+exec tomenet.server.bin "$@"
diff --git a/games-roguelike/tomenet/files/tomenet-wrapper b/games-roguelike/tomenet/files/tomenet-wrapper
new file mode 100644
index 000000000000..2ca29b862176
--- /dev/null
+++ b/games-roguelike/tomenet/files/tomenet-wrapper
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+if [ ! -e ~/.tomenet/.gentoo ]; then
+ LIBDIR="@LIBDIR@"
+ [ -e ~/.tomenet ] || mkdir ~/.tomenet
+
+ ln -s "${LIBDIR}"/game ~/.tomenet/game
+ ln -s "${LIBDIR}"/text ~/.tomenet/text
+ cp -R "${LIBDIR}"/user "${LIBDIR}"/scpt "${LIBDIR}"/xtra ~/.tomenet/
+ [ -e ~/.tomenetrc ] || cp "${LIBDIR}"/.tomenetrc ~/.tomenetrc
+
+ touch ~/.tomenet/.gentoo
+fi
+
+TOMENET_PATH="${HOME}/.tomenet"
+export TOMENET_PATH
+cd "${TOMENET_PATH}"
+exec tomenet.bin "$@"
diff --git a/games-roguelike/tomenet/metadata.xml b/games-roguelike/tomenet/metadata.xml
new file mode 100644
index 000000000000..9d9cd998599c
--- /dev/null
+++ b/games-roguelike/tomenet/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="server">Compile server support</flag>
+ </use>
+ <longdescription lang="en">
+ TomeNET is a multiplayer fantasy dungeon exploration game based on
+ the works of J.R.R. Tolkien. It is a game that emphasizes intricate,
+ challenging, and varied gameplay over graphics. Hundreds of
+ different monsters in randomly-generated,
+ unpredictable dungeons will strive to slay you by various means,
+ and you counter - if you survive - by developing the skills of your
+ choice and wielding mighty
+ artifacts.
+ </longdescription>
+</pkgmetadata>
diff --git a/games-roguelike/tomenet/tomenet-4.6.1a.ebuild b/games-roguelike/tomenet/tomenet-4.6.1a.ebuild
new file mode 100644
index 000000000000..7225249f1f5b
--- /dev/null
+++ b/games-roguelike/tomenet/tomenet-4.6.1a.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils gnome2-utils toolchain-funcs games
+
+DESCRIPTION="A MMORPG based on the works of J.R.R. Tolkien"
+HOMEPAGE="http://www.tomenet.eu/"
+SRC_URI="http://www.tomenet.eu/downloads/${P}.tar.bz2"
+
+LICENSE="Moria"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="dedicated server +sound X"
+
+RDEPEND="sys-libs/ncurses:0
+ !dedicated? (
+ X? (
+ x11-libs/libX11
+ )
+ sound? (
+ media-libs/libsdl[sound]
+ media-libs/sdl-mixer[vorbis,smpeg,mp3]
+ )
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ !dedicated? ( sound? ( app-arch/p7zip[wxwidgets] ) )"
+
+S=${WORKDIR}/${P}/src
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-makefile.patch
+ use server || use dedicated || { rm -r ../lib/{config,data,save} || die ;}
+
+ sed \
+ -e "s#@LIBDIR@#${GAMES_DATADIR}/${PN}#" \
+ "${FILESDIR}"/${PN}-wrapper > "${T}"/${PN} || die
+
+ if use server || use dedicated ; then
+ sed \
+ -e "s#@LIBDIR@#${GAMES_DATADIR}/${PN}#" \
+ "${FILESDIR}"/${PN}-server-wrapper > "${T}"/${PN}.server || die
+ fi
+
+ tc-export PKG_CONFIG
+}
+
+src_compile() {
+ local mytargets="$(usex dedicated "accedit tomenet.server" "$(usex server "all" "tomenet")")"
+ emake \
+ $(usex dedicated "" "$(usex X "USE_X=1" "")") \
+ $(usex dedicated "" "$(usex sound "USE_SDL=1" "")") \
+ -f makefile \
+ ${mytargets[@]}
+}
+
+src_install() {
+ dodoc ../TomeNET-Guide.txt
+
+ if ! use dedicated ; then
+ newgamesbin ${PN} ${PN}.bin
+ dogamesbin "${T}"/${PN}
+
+ doicon -s 48 client/tomenet4.png
+ make_desktop_entry ${PN} ${PN} ${PN}4
+ fi
+
+ if use server || use dedicated ; then
+ newgamesbin tomenet.server tomenet.server.bin
+ dogamesbin "${T}"/${PN}.server accedit
+ fi
+
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r ../lib/*
+ doins ../.tomenetrc
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+
+ if use sound; then
+ elog "You can get soundpacks from here:"
+ elog ' http://tomenet.net/downloads.php'
+ elog "They must be placed inside ~/.tomenet directory."
+ fi
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-roguelike/wrogue/Manifest b/games-roguelike/wrogue/Manifest
new file mode 100644
index 000000000000..1f35d7fb2c7c
--- /dev/null
+++ b/games-roguelike/wrogue/Manifest
@@ -0,0 +1,7 @@
+AUX wrogue-0.8.0b-ldflags.patch 677 SHA256 2ae991747c4235951aab1b9b4ddbd1d0bc77110063b5c4e5be099bbbea774407 SHA512 7ab086f4ee1f41ef6bad9dcb3e936b17389beadcbfcb451312c57ab1539992198795844264a56a5d9ef3afcc031e46d5b3e97714891723c0fe1185ba15a2d498 WHIRLPOOL 19e94a14ad3acdce1f1fdae1927abb6ddc9154919a8d49a6ab87784f40ef3e0afcf9fe9378cbab4a504f25a068d188425ed07f37ae5d46e729a002255f0b3498
+DIST wrogue-0.8.0b.zip 433553 SHA256 adc79ec9a97b6b60a8b16b6fd548cf349606702e3df74f819537b01d6640483a SHA512 f8da3ccc26e36723bbf7654023cdd73747c2ffcb45420b77cc66495b596cc82ca9d90a2d239b12ea95c1185b11bad332cf41fe1b278ee34af6ff1479eb6e4d81 WHIRLPOOL 17f45cd10b4138e84e487cbe88144a8e82887c318909724912863abd53c958416d728fe65dfd59998c9b024c5fb87808f1b5cb6e469848f1c246392dc47b5e44
+EBUILD wrogue-0.8.0b-r1.ebuild 1019 SHA256 01ed120bf85870ffb9c651b51395c59cfb5f9e501bf11ee89be014be7574f416 SHA512 456e58aef2c6b2e10ae47a98b082eba1a1cc51adabcedcb1eaa1c46d7207582b009432f911f34285d124789d1c48b62b47137208b9f07e6e9db0a55a78a95ac3 WHIRLPOOL 08aac038358f59d410e89c0139e7255251ea3bc493ea5b3216144099b9666ebd80af0809e3c7c7e4c8fcb915e5acc9897c9c3b49818eed8758cd4a8eb598f8c9
+EBUILD wrogue-0.8.0b.ebuild 1042 SHA256 d5ef834b20ec1a28756dc6bd1ea903ff9f4800ff18b7de0414afde73f72c9d07 SHA512 a112c103df1c44347e6358abb05612f08953e6228eb7ca78c33b4da948e51fcf76a3165a12d954b4da1df7a28a78fcfcbade59232873c3ed27160ddc964309cb WHIRLPOOL 4daa710a2e1c154d4925059bda23b8b4b6b389c97ff7cf6700ec609e07baf1e27d21765d94b1dbef7dc9d1b7f273188d675a3181f83d94c81310447c8df8bc46
+MISC ChangeLog 2758 SHA256 ee4c96ffb2e9fccda89c7202a06e828df295974908f82084e12d49cca5625541 SHA512 9e1a8533f6376b5900f54473c88831143372acbaeb969928a3d807215d4c932bc539047ee692964d6ec8d7f32aebb929d1f51e8fe0ee8f40ed58c6189442f0f0 WHIRLPOOL 7fb0a04409303a2bf09da80a1ddf7a04788659bf3f603fe9643db586ec53d0c0aaf871f6600b2b01f2824b11acdc6d2c95f7d3fbac69dc83e91aef4b7feba636
+MISC ChangeLog-2015 1091 SHA256 b49048869b77533a8b284431c08e7ee37a8862f8884033d6fed525e882ec2677 SHA512 2e22567409c82e73e8147331cbd59bc7eab2ad3ae089d03476dc2a1479e6eab0af351f81b911b38eb5053efbf7edad33fe92401f4b39337cb21b5b5b8fb4511e WHIRLPOOL 904aaa03d72b4b8b92d9e35e54d6430e68ba986ba2b94608b4d270c84c1285c7a5e6a4682894345278fe068d72dfdb307a7f61102d19f401621aed307afd7ddf
+MISC metadata.xml 508 SHA256 7cc1d583a8271150c4f440e8e46867ecf1a1706fdc25bd2749e7101d8cd0b8f5 SHA512 f4e516bfae05e77bc60eacecaba362ee1709b6d787271df4fa302a438ce682725cb22d7f7b81d3531d0bff548774626ce6b14ac4225e73a4057a505750ae214f WHIRLPOOL 4201ec4e247cec750bf272609935c9a085799a30cd9cb2b1d5db824096cbf06dadf2872071f9557ebae1ef4e6ae4b24ded71d2e58aaa4e827e97a6f9e701020c
diff --git a/games-roguelike/wrogue/files/wrogue-0.8.0b-ldflags.patch b/games-roguelike/wrogue/files/wrogue-0.8.0b-ldflags.patch
new file mode 100644
index 000000000000..d3ec216b4c13
--- /dev/null
+++ b/games-roguelike/wrogue/files/wrogue-0.8.0b-ldflags.patch
@@ -0,0 +1,29 @@
+--- a/src/linux.mak 2010-10-14 11:07:22.000000000 +0200
++++ b/src/linux.mak 2010-10-14 11:08:00.000000000 +0200
+@@ -19,7 +19,7 @@
+ # common compiler/linker flags
+ #
+ CFLAGS=-I./include -I./lib -std=c89 `sdl-config --cflags`
+-LDFLAGS=-lm `sdl-config --libs`
++LDLIBS=-lm `sdl-config --libs`
+
+
+ SRC=\
+@@ -40,7 +40,7 @@
+ #
+ .PHONY: release
+ release: CFLAGS += -pipe -O2 -fomit-frame-pointer -march=i686
+-release: LDFLAGS += -Wl,-O1
++release: LDLIBS += -Wl,-O1
+ release: STRIP_BINARY = yes
+ release: build
+
+@@ -94,7 +94,7 @@
+ @$(CC) $(CFLAGS) -o $@ -c $<
+
+ $(EXE): $(OBJ)
+- @$(CC) $(OBJ) $(LDFLAGS) -o $@
++ $(CC) $(LDFLAGS) $(OBJ) $(LDLIBS) -o $@
+
+
+
diff --git a/games-roguelike/wrogue/metadata.xml b/games-roguelike/wrogue/metadata.xml
new file mode 100644
index 000000000000..c73918db6255
--- /dev/null
+++ b/games-roguelike/wrogue/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <longdescription lang="en">
+Warp Rogue is a gothic science fantasy roguelike game. It features RPG-like game
+mechanics, recruitable NPCs, and a consistent theme.
+</longdescription>
+ <upstream>
+ <remote-id type="freecode">wrogue</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-roguelike/wrogue/wrogue-0.8.0b-r1.ebuild b/games-roguelike/wrogue/wrogue-0.8.0b-r1.ebuild
new file mode 100644
index 000000000000..074880df4a8e
--- /dev/null
+++ b/games-roguelike/wrogue/wrogue-0.8.0b-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils
+
+DESCRIPTION="Gothic science fantasy roguelike game"
+HOMEPAGE="https://freecode.com/projects/wrogue"
+SRC_URI="mirror://gentoo/${P}.zip"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="media-libs/libsdl[video]"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ldflags.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "/AppData\[0\]/ s:AppData.*:strcpy(AppData, \"/usr/share/${PN}/\");:" \
+ src/lib/appdir.c \
+ || die "sed failed"
+}
+
+src_compile() {
+ local myCPPFLAGS="-std=c99 -Iinclude -Ilib -Iui -Igenerate"
+ local myCFLAGS="$(sdl-config --cflags) ${CFLAGS}"
+ emake -C src -f linux.mak STRIP_BINARY=NO \
+ CFLAGS="${myCPPFLAGS} ${myCFLAGS}" release
+}
+
+src_install() {
+ dobin ${PN}
+ insinto /usr/share/${PN}
+ doins -r data
+ dodoc changes.txt
+
+ newicon data/ui/icon.bmp ${PN}.bmp
+ make_desktop_entry ${PN} "Warp Rogue" /usr/share/pixmaps/${PN}.bmp
+}
diff --git a/games-roguelike/wrogue/wrogue-0.8.0b.ebuild b/games-roguelike/wrogue/wrogue-0.8.0b.ebuild
new file mode 100644
index 000000000000..dbd31f479baa
--- /dev/null
+++ b/games-roguelike/wrogue/wrogue-0.8.0b.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="Gothic science fantasy roguelike game"
+HOMEPAGE="https://freecode.com/projects/wrogue"
+SRC_URI="mirror://gentoo/${P}.zip"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="media-libs/libsdl[video]"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+src_prepare() {
+ sed -i \
+ -e "/AppData\[0\]/ s:AppData.*:strcpy(AppData, \"${GAMES_DATADIR}/${PN}/\");:" \
+ src/lib/appdir.c \
+ || die "sed failed"
+ epatch "${FILESDIR}"/${P}-ldflags.patch
+}
+
+src_compile() {
+ local myCPPFLAGS="-std=c99 -Iinclude -Ilib -Iui -Igenerate"
+ local myCFLAGS="$(sdl-config --cflags) ${CFLAGS}"
+ emake -C src -f linux.mak STRIP_BINARY=NO \
+ CFLAGS="${myCPPFLAGS} ${myCFLAGS}" release
+}
+
+src_install() {
+ dogamesbin ${PN}
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r data
+ dodoc changes.txt
+
+ newicon data/ui/icon.bmp ${PN}.bmp
+ make_desktop_entry ${PN} "Warp Rogue" /usr/share/pixmaps/${PN}.bmp
+
+ prepgamesdirs
+}
diff --git a/games-roguelike/zangband/Manifest b/games-roguelike/zangband/Manifest
new file mode 100644
index 000000000000..6b045d8285be
--- /dev/null
+++ b/games-roguelike/zangband/Manifest
@@ -0,0 +1,9 @@
+AUX zangband-2.7.4c-configure.patch 1506 SHA256 ca32b55fbc3bff799e59cb7a11650f9d7950d74802820775121333d3349ea961 SHA512 a5f0e8265aa05da7881b0e194bd4b1cc07d1376ad14d20bb4707d08ba1042a919d57f5ec7a8c990fd1d7f13d9dd8e5f147c1816eb99f2589dfdf0d399161c3ea WHIRLPOOL bdd138212d1ae4988439511f54f25606f533dfac0e7de5e705c66a236f611722f61035e22920f18b01f5c34f4a6ebc92b35838cc3f7651724b94bb898f70bb43
+AUX zangband-2.7.4c-makefile.patch 631 SHA256 90a745022235031c0bd31f72bc8e58eab47640d0673061a775447250b08af832 SHA512 c6453d867336a7974757b1240a28715fd0e801d59f61fed23d053be86c7cdf6ea07bc874415b860076a4e5fd08537eff17793f0caa52a2bdb219514a7b8d1fd8 WHIRLPOOL 98c3312e8026071d824ff2438cfa68848dc31555fe46153b593d208596147b2e89ba565f944d107816eac1b5b7070b0f371121c8b79c5ceec0fcf5edaf68a00a
+AUX zangband-2.7.4c-rng.patch 285 SHA256 518c9353b4feed8e984b9aff61ad18bbcb24bdd431413b33fa5bf61f27d1ec97 SHA512 ff6e63d15c8d6243b24fc580c8e21c556edf578b5c31b6c0af62db8f096e4e47ebe50d201811d834ba32af678e5c6775b4d4426295dd3d87dbd8ce798d13528c WHIRLPOOL 65cc4596b76311090a2db1b62cbec6c3eec3d0653d8a44ba617d9121d7111f9b859309f67a7d17e837696f0a68402fda847584d03dab7d938ea9cb2425aa6fff
+AUX zangband-2.7.4c-tk85.patch 1405 SHA256 6b55fef0367c8780fe084b05fbdaf3360c3c809bdcbcc7609cdc25a197851015 SHA512 358edb61b0703dabbe780a2fdca284b80c1fd68dba16e1b70de42b96c7407e5eaf6d9304789c2a37098c1ed2c10690731c9ad10002995f82c6289c1657d2e2c3 WHIRLPOOL 0f62d81953b90e0a8bc895504bad230334d127259cce1959bd605aad5a513c72e3248f9eeba0b5b91e017aff19c935b93f6e9cbfa3e6444aa638054fef3542a3
+DIST zangband-2.7.4c.tar.gz 2821355 SHA256 3033fc52d0daab6098394a8caaa6572ba64585d7b9deb62800328ca7ba592cdc SHA512 491dfeb72b6eb34f7feaa45d5360014da8eaeccd173dd75b3f7a1c2034e4fb634817493957b75babc0d9600077a80d88529cf2e86769948fc86d05e59958356e WHIRLPOOL 4a6cb2cdcb27449d4f1967c1e502cf111aa703b19ed77b2285a63f4cbd7ed70bb081a30a5d95ca3268c7b65bd975ef6b67179b92cd7357da59dc9e63291986f0
+EBUILD zangband-2.7.4c.ebuild 1585 SHA256 3e5cd28d26ab3e7fd793b3fa5fc2655b5711a58f1a8ec232d6177c911524e2ff SHA512 1b62b7d5396a862271918ffe60817b2698fd1f5dcba7d158ea7dba9f56cff310303073a0c690d98436c1b326aabf0fe49b3bf06ba8f67076430949a0cb3afcbd WHIRLPOOL d70c8e32dae616e5200aa0f42b725936a951fdc6b10f654bd5e27870ba6bcc64a00d0cd20d55106a3e788f79ef4e6211704f66dc62898a12d21f70f18b80c296
+MISC ChangeLog 2591 SHA256 4ba9ede266c638c1f763bb4cc9a99215462ed3241a741dd4befffcb018f393c2 SHA512 de4f9a4832402b0a481e27b6b838fefff072cffbce576494571d6727a4407fb15f5f561731ab20d18628625ba25ffc3957dee78128947bfa532a07b939883267 WHIRLPOOL 909df62fe046268d6040f225d9d0e3b3bca7335d9786a2b679a46857e58c13bab2d22108afaa500e9b659a5f2d4f06c7bc90c2e88d8b73fa1c5b21d0bab14989
+MISC ChangeLog-2015 3765 SHA256 d2cdcc3aa517881eb36cae1aac94e93dbbc01910389e3b7f0740f65a668df51e SHA512 e6486aa5c630878f6ee084bbfc186bca2a9b2f6891367b5d3c37b550900e3a73261515c89c3a2be237def0875b36951def424c379dc31e313ad29032b9b28743 WHIRLPOOL 7ff84ad18e35b920cfd4899ae4c78b03327e9ffb19a9beb5ee9bb37cecb35af39d08e3aa9bcefc1704fbca8dd8477eb0426e12860b1200793bf4746a66854d14
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-roguelike/zangband/files/zangband-2.7.4c-configure.patch b/games-roguelike/zangband/files/zangband-2.7.4c-configure.patch
new file mode 100644
index 000000000000..756ea757845c
--- /dev/null
+++ b/games-roguelike/zangband/files/zangband-2.7.4c-configure.patch
@@ -0,0 +1,51 @@
+--- configure.in.orig
++++ configure.in
+@@ -236,48 +236,5 @@
+ AC_CHECK_FUNCS([Tk_SetClassProcs TkpSync])
+ AC_CHECK_FUNCS([mkstemp usleep getpwuid getpwnam shmget])
+
+-dnl A nice function to test compiler options (like warnings)
+-AC_DEFUN(AC_CHECK_CC_OPT,
+-[FLAG=`echo zangband_cv_cflag_$1 | sed s/-/_/g`
+-AC_CACHE_CHECK([whether ${CC-cc} accepts $1],
+-[$FLAG],
+-[echo 'void f(void); void f(){}' > conftest.c
+-if test -z "`${CC-cc} -c ${CFLAGS} $1 conftest.c 2>&1`"; then
+- eval $FLAG=yes
+-else
+- eval $FLAG=no
+-fi])
+-if test ${!FLAG} = yes ; then
+- CFLAGS="$1 $CFLAGS"
+-fi
+-])
+-
+-dnl Check for lots of extra warning options
+-AC_CHECK_CC_OPT(-pedantic)
+-AC_CHECK_CC_OPT(-W)
+-AC_CHECK_CC_OPT(-Wall)
+-AC_CHECK_CC_OPT(-Wmissing-prototypes)
+-AC_CHECK_CC_OPT(-Wmissing-declarations)
+-AC_CHECK_CC_OPT(-Wno-long-long)
+-AC_CHECK_CC_OPT(-Wwrite-strings)
+-AC_CHECK_CC_OPT(-Wpointer-arith)
+-AC_CHECK_CC_OPT(-Wbad-function-cast)
+-AC_CHECK_CC_OPT(-Waggregate-return)
+-AC_CHECK_CC_OPT(-Wstrict-prototypes)
+-AC_CHECK_CC_OPT(-Wredundant-decls)
+-dnl AC_CHECK_CC_OPT(-Wunreachable-code)
+-AC_CHECK_CC_OPT(-Wchar-subscripts)
+-AC_CHECK_CC_OPT(-Wimplicit)
+-AC_CHECK_CC_OPT(-Wparentheses)
+-AC_CHECK_CC_OPT(-Wsequence-point)
+-AC_CHECK_CC_OPT(-Wreturn-type)
+-AC_CHECK_CC_OPT(-Wswitch)
+-AC_CHECK_CC_OPT(-Wunused)
+-AC_CHECK_CC_OPT(-Wuninitialized)
+-AC_CHECK_CC_OPT(-Wundef)
+-AC_CHECK_CC_OPT(-Wnested-externs)
+-AC_CHECK_CC_OPT(-Wdeclaration-after-statement)
+-AC_CHECK_CC_OPT(-Wsign-compare)
+-
+ AC_CONFIG_FILES([makefile])
+ AC_OUTPUT
diff --git a/games-roguelike/zangband/files/zangband-2.7.4c-makefile.patch b/games-roguelike/zangband/files/zangband-2.7.4c-makefile.patch
new file mode 100644
index 000000000000..bae74904cf02
--- /dev/null
+++ b/games-roguelike/zangband/files/zangband-2.7.4c-makefile.patch
@@ -0,0 +1,29 @@
+--- makefile.in.orig
++++ makefile.in
+@@ -111,17 +111,6 @@
+ %.o: %.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) $< -c -o $@ $(DEFS)
+
+-##
+-## Hack - make sure the build system is consistant.
+-##
+-makefile: configure makefile.in
+- $(CONFIGURE)
+-
+-configure: configure.in
+- aclocal
+- autoheader
+- autoconf
+-
+ dirs:
+ -mkdir $(DESTDIR)
+ -mkdir $(addprefix $(DESTDIR),$(filter-out $(srcdirlist), $(dirlist)))
+@@ -205,7 +194,7 @@
+ @echo $(srcdirlist) $(srcfiles)
+
+ # Hack to remake files depending on DEFAULT_PATH
+-.default_path: makefile
++.default_path:
+ @if [ ! -r .default_path ]; then \
+ echo "$(DESTDIR)" > .default_path; \
+ fi
diff --git a/games-roguelike/zangband/files/zangband-2.7.4c-rng.patch b/games-roguelike/zangband/files/zangband-2.7.4c-rng.patch
new file mode 100644
index 000000000000..4ac1b101dc8c
--- /dev/null
+++ b/games-roguelike/zangband/files/zangband-2.7.4c-rng.patch
@@ -0,0 +1,11 @@
+--- zangband/src/z-rand.c
++++ zangband/src/z-rand.c
+@@ -168,7 +168,7 @@
+ r = (Rand_state[j] += Rand_state[Rand_place]);
+
+ /* Hack -- extract a 28-bit "random" number */
+- r = (r >> 4) / n;
++ r = ((r >> 4) & 0x0FFFFFFF) / n;
+
+ /* Advance the index */
+ Rand_place = j;
diff --git a/games-roguelike/zangband/files/zangband-2.7.4c-tk85.patch b/games-roguelike/zangband/files/zangband-2.7.4c-tk85.patch
new file mode 100644
index 000000000000..73ea2ab5f9dc
--- /dev/null
+++ b/games-roguelike/zangband/files/zangband-2.7.4c-tk85.patch
@@ -0,0 +1,19 @@
+--- configure.in.orig
++++ configure.in
+@@ -141,12 +141,12 @@
+ ])
+
+ if test "x$with_tcltk" != "xno" ; then
+- AC_SEARCH_LIBS([Tcl_Init], [tcl84 tcl8.4 tcl83 tcl8.3],
+- AC_SEARCH_LIBS([Tk_Init], [tk84 tk8.4 tk83 tk8.3],
+- [AC_SEARCH_HEADERS(/usr/local/include/tcl.h /usr/local/include/tcl/tcl.h /usr/include/tcl.h /usr/include/tcl8.4/tcl.h /usr/local/include/tcl8.4/tcl.h /usr/include/tcl8.3/tcl.h /usr/local/include/tcl8.3/tcl.h
++ AC_SEARCH_LIBS([Tcl_Init], [tcl86 tcl8.6 tcl85 tcl8.5 tcl84 tcl8.4 tcl83 tcl8.3],
++ AC_SEARCH_LIBS([Tk_Init], [tk86 tk8.6 tk85 tk8.5 tk84 tk8.4 tk83 tk8.3],
++ [AC_SEARCH_HEADERS(/usr/local/include/tcl.h /usr/local/include/tcl/tcl.h /usr/include/tcl.h /usr/include/tcl8.5/tcl.h /usr/include/tcl8.4/tcl.h /usr/local/include/tcl8.4/tcl.h /usr/include/tcl8.3/tcl.h /usr/local/include/tcl8.3/tcl.h
+ ,BASE_TCL_DIR)
+
+- AC_SEARCH_HEADERS("$BASE_TCL_DIR/tk.h" /usr/local/include/tk.h /usr/local/include/tcl/tk.h /usr/include/tk.h /usr/include/tk8.4/tk.h /usr/local/include/tk8.4/tk.h /usr/include/tk8.3/tk.h /usr/local/include/tk8.3/tk.h
++ AC_SEARCH_HEADERS("$BASE_TCL_DIR/tk.h" /usr/local/include/tk.h /usr/local/include/tcl/tk.h /usr/include/tk.h /usr/include/tk8.6/tk.h /usr/include/tk8.5/tk.h /usr/include/tk8.4/tk.h /usr/local/include/tk8.4/tk.h /usr/include/tk8.3/tk.h /usr/local/include/tk8.3/tk.h
+ ,BASE_TK_DIR)
+
+ dnl Checks for libraries.
diff --git a/games-roguelike/zangband/metadata.xml b/games-roguelike/zangband/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-roguelike/zangband/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-roguelike/zangband/zangband-2.7.4c.ebuild b/games-roguelike/zangband/zangband-2.7.4c.ebuild
new file mode 100644
index 000000000000..cb6468119444
--- /dev/null
+++ b/games-roguelike/zangband/zangband-2.7.4c.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools eutils games
+
+DESCRIPTION="An enhanced version of the Roguelike game Angband"
+HOMEPAGE="http://www.zangband.org/"
+SRC_URI="ftp://ftp.sunet.se/pub/games/Angband/Variant/ZAngband/${P}.tar.gz"
+
+LICENSE="Moria"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-fbsd"
+IUSE="tk"
+
+RDEPEND="
+ tk? (
+ dev-lang/tcl:0=
+ dev-lang/tk:0=
+ )
+ x11-libs/libXaw"
+DEPEND="${RDEPEND}
+ x11-proto/xextproto"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-tk85.patch \
+ "${FILESDIR}"/${P}-rng.patch \
+ "${FILESDIR}"/${P}-configure.patch \
+ "${FILESDIR}"/${P}-makefile.patch
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf \
+ --datadir="${GAMES_DATADIR_BASE}" \
+ --with-setgid="${GAMES_GROUP}" \
+ --without-gtk \
+ $(use_with tk tcltk)
+}
+
+src_install() {
+ # Keep some important dirs we want to chmod later
+ keepdir "${GAMES_DATADIR}"/${PN}/lib/{apex,user,save,bone,info,xtra/help,xtra/music}
+
+ # Install the basic files but remove unneeded crap
+ emake DESTDIR="${D}/${GAMES_DATADIR}"/${PN}/ installbase
+ rm "${D}${GAMES_DATADIR}"/${PN}/{angdos.cfg,readme,z_faq.txt,z_update.txt}
+
+ # Install everything else and fix the permissions
+ dogamesbin zangband
+ dodoc readme z_faq.txt z_update.txt
+ find "${D}${GAMES_DATADIR}/zangband/lib" -type f -exec chmod a-x \{\} +
+
+ prepgamesdirs
+ # All users in the games group need write permissions to
+ # some important dirs
+ fperms -R g+w "${GAMES_DATADIR}"/zangband/lib/{apex,data,save,user}
+}