From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- games-roguelike/FTL-1.5.13 | 13 - games-roguelike/FTL-gog-1.6.7.18662-r1 | 13 - .../FTL-gog/FTL-gog-1.6.7.18662-r1.ebuild | 63 ++++ games-roguelike/FTL-gog/Manifest | 3 + games-roguelike/FTL-gog/metadata.xml | 16 + games-roguelike/FTL/FTL-1.5.13.ebuild | 65 ++++ games-roguelike/FTL/Manifest | 3 + games-roguelike/FTL/metadata.xml | 19 ++ games-roguelike/Manifest.gz | Bin 3442 -> 3386 bytes games-roguelike/adom-1.1.1-r1 | 12 - games-roguelike/adom/Manifest | 3 + games-roguelike/adom/adom-1.1.1-r1.ebuild | 38 +++ games-roguelike/adom/metadata.xml | 8 + games-roguelike/angband-4.0.5-r1 | 13 - games-roguelike/angband/Manifest | 4 + games-roguelike/angband/angband-4.0.5-r1.ebuild | 115 +++++++ .../angband/files/angband-4.0.5-pie-gcc.patch | 13 + games-roguelike/angband/metadata.xml | 11 + games-roguelike/crossfire-client-1.71.0-r2 | 13 - games-roguelike/crossfire-client/Manifest | 3 + .../crossfire-client-1.71.0-r2.ebuild | 79 +++++ games-roguelike/crossfire-client/metadata.xml | 11 + games-roguelike/dwarf-fortress-0.43.05 | 14 - games-roguelike/dwarf-fortress-0.44.12 | 14 - games-roguelike/dwarf-fortress/Manifest | 10 + .../dwarf-fortress/dwarf-fortress-0.43.05.ebuild | 84 +++++ .../dwarf-fortress/dwarf-fortress-0.44.12.ebuild | 84 +++++ games-roguelike/dwarf-fortress/files/Makefile | 32 ++ .../dwarf-fortress/files/Makefile.native | 28 ++ .../dwarf-fortress/files/dwarf-fortress | 24 ++ games-roguelike/dwarf-fortress/metadata.xml | 16 + games-roguelike/hengband-1.6.2-r1 | 13 - games-roguelike/hengband/Manifest | 6 + .../hengband/files/hengband-1.6.2-added_faq.patch | 163 ++++++++++ .../hengband/files/hengband-1.6.2-ovflfix.patch | 11 + games-roguelike/hengband/hengband-1.6.2-r1.ebuild | 62 ++++ games-roguelike/hengband/metadata.xml | 11 + games-roguelike/mangband-1.1.3 | 13 - games-roguelike/mangband/Manifest | 5 + .../mangband/files/mangband-1.1.3-paths.patch | 118 +++++++ .../mangband/files/mangband-1.1.3-strchr.patch | 22 ++ games-roguelike/mangband/mangband-1.1.3.ebuild | 83 +++++ games-roguelike/mangband/metadata.xml | 11 + games-roguelike/mazesofmonad-1.0.9-r3 | 12 - games-roguelike/mazesofmonad/Manifest | 4 + .../files/mazesofmonad-1.0.9-time-1.5.patch | 22 ++ .../mazesofmonad/mazesofmonad-1.0.9-r3.ebuild | 37 +++ games-roguelike/mazesofmonad/metadata.xml | 25 ++ games-roguelike/metadata.xml | 37 +++ games-roguelike/moria-5.5.2 | 12 - games-roguelike/moria/Manifest | 9 + games-roguelike/moria/files/5.5.2-fbsd.patch | 268 ++++++++++++++++ .../moria/files/5.5.2-gentoo-paths.patch | 58 ++++ games-roguelike/moria/files/5.5.2-glibc.patch | 356 +++++++++++++++++++++ games-roguelike/moria/files/5.5.2-hours.patch | 30 ++ games-roguelike/moria/files/5.5.2-warnings.patch | 12 + games-roguelike/moria/metadata.xml | 8 + games-roguelike/moria/moria-5.5.2.ebuild | 70 ++++ games-roguelike/nethack-3.6.0-r3 | 13 - games-roguelike/nethack/Manifest | 8 + .../nethack/files/nethack-3.6.0-hint-tty | 19 ++ .../nethack/files/nethack-3.6.0-hint-x11 | 23 ++ .../nethack/files/nethack-3.6.0-nethackrc | 103 ++++++ .../nethack/files/nethack-3.6.0-recover.patch | 110 +++++++ .../nethack/files/nethack-3.6.0-x11-color.patch | 186 +++++++++++ games-roguelike/nethack/metadata.xml | 18 ++ games-roguelike/nethack/nethack-3.6.0-r3.ebuild | 143 +++++++++ games-roguelike/powder-117-r1 | 12 - games-roguelike/powder/Manifest | 4 + games-roguelike/powder/files/powder-117-gcc6.patch | 20 ++ games-roguelike/powder/metadata.xml | 8 + games-roguelike/powder/powder-117-r1.ebuild | 39 +++ games-roguelike/rogue-5.4.4 | 12 - games-roguelike/rogue/Manifest | 3 + games-roguelike/rogue/metadata.xml | 8 + games-roguelike/rogue/rogue-5.4.4.ebuild | 31 ++ games-roguelike/scourge-0.21.1-r1 | 12 - games-roguelike/scourge/Manifest | 8 + .../files/scourge-0.21.1-automake-1.13.patch | 11 + .../files/scourge-0.21.1-freetype_pkgconfig.patch | 34 ++ .../scourge/files/scourge-0.21.1-gcc47.patch | 12 + .../scourge/files/scourge-0.21.1-gcc6.patch | 34 ++ games-roguelike/scourge/metadata.xml | 11 + games-roguelike/scourge/scourge-0.21.1-r1.ebuild | 68 ++++ games-roguelike/stone-soup-0.20.1 | 14 - games-roguelike/stone-soup/Manifest | 6 + .../stone-soup-0.20.1-rltiles-ldflags-libs.patch | 45 +++ games-roguelike/stone-soup/metadata.xml | 39 +++ .../stone-soup/stone-soup-0.20.1.ebuild | 143 +++++++++ games-roguelike/tome-2.3.5 | 13 - games-roguelike/tome/Manifest | 6 + .../tome/files/2.3.5-gentoo-paths.patch | 31 ++ games-roguelike/tome/files/tome-2.3.5-format.patch | 88 +++++ games-roguelike/tome/files/tome-2.3.5-noX.patch | 11 + games-roguelike/tome/metadata.xml | 8 + games-roguelike/tome/tome-2.3.5.ebuild | 124 +++++++ games-roguelike/tomenet-4.6.1a | 13 - games-roguelike/tomenet/Manifest | 6 + .../tomenet/files/tomenet-4.6.1a-makefile.patch | 77 +++++ .../tomenet/files/tomenet-server-wrapper | 6 + games-roguelike/tomenet/files/tomenet-wrapper | 18 ++ games-roguelike/tomenet/metadata.xml | 21 ++ games-roguelike/tomenet/tomenet-4.6.1a.ebuild | 99 ++++++ games-roguelike/wrogue-0.8.0b-r1 | 12 - games-roguelike/wrogue/Manifest | 4 + .../wrogue/files/wrogue-0.8.0b-ldflags.patch | 29 ++ games-roguelike/wrogue/metadata.xml | 15 + games-roguelike/wrogue/wrogue-0.8.0b-r1.ebuild | 48 +++ games-roguelike/zangband-2.7.4c | 13 - games-roguelike/zangband/Manifest | 7 + .../zangband/files/zangband-2.7.4c-configure.patch | 51 +++ .../zangband/files/zangband-2.7.4c-makefile.patch | 29 ++ .../zangband/files/zangband-2.7.4c-rng.patch | 11 + .../zangband/files/zangband-2.7.4c-tk85.patch | 19 ++ games-roguelike/zangband/metadata.xml | 8 + games-roguelike/zangband/zangband-2.7.4c.ebuild | 62 ++++ 116 files changed, 4072 insertions(+), 256 deletions(-) delete mode 100644 games-roguelike/FTL-1.5.13 delete mode 100644 games-roguelike/FTL-gog-1.6.7.18662-r1 create mode 100644 games-roguelike/FTL-gog/FTL-gog-1.6.7.18662-r1.ebuild create mode 100644 games-roguelike/FTL-gog/Manifest create mode 100644 games-roguelike/FTL-gog/metadata.xml create mode 100644 games-roguelike/FTL/FTL-1.5.13.ebuild create mode 100644 games-roguelike/FTL/Manifest create mode 100644 games-roguelike/FTL/metadata.xml delete mode 100644 games-roguelike/adom-1.1.1-r1 create mode 100644 games-roguelike/adom/Manifest create mode 100644 games-roguelike/adom/adom-1.1.1-r1.ebuild create mode 100644 games-roguelike/adom/metadata.xml delete mode 100644 games-roguelike/angband-4.0.5-r1 create mode 100644 games-roguelike/angband/Manifest create mode 100644 games-roguelike/angband/angband-4.0.5-r1.ebuild create mode 100644 games-roguelike/angband/files/angband-4.0.5-pie-gcc.patch create mode 100644 games-roguelike/angband/metadata.xml delete mode 100644 games-roguelike/crossfire-client-1.71.0-r2 create mode 100644 games-roguelike/crossfire-client/Manifest create mode 100644 games-roguelike/crossfire-client/crossfire-client-1.71.0-r2.ebuild create mode 100644 games-roguelike/crossfire-client/metadata.xml delete mode 100644 games-roguelike/dwarf-fortress-0.43.05 delete mode 100644 games-roguelike/dwarf-fortress-0.44.12 create mode 100644 games-roguelike/dwarf-fortress/Manifest create mode 100644 games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild create mode 100644 games-roguelike/dwarf-fortress/dwarf-fortress-0.44.12.ebuild create mode 100644 games-roguelike/dwarf-fortress/files/Makefile create mode 100644 games-roguelike/dwarf-fortress/files/Makefile.native create mode 100644 games-roguelike/dwarf-fortress/files/dwarf-fortress create mode 100644 games-roguelike/dwarf-fortress/metadata.xml delete mode 100644 games-roguelike/hengband-1.6.2-r1 create mode 100644 games-roguelike/hengband/Manifest create mode 100644 games-roguelike/hengband/files/hengband-1.6.2-added_faq.patch create mode 100644 games-roguelike/hengband/files/hengband-1.6.2-ovflfix.patch create mode 100644 games-roguelike/hengband/hengband-1.6.2-r1.ebuild create mode 100644 games-roguelike/hengband/metadata.xml delete mode 100644 games-roguelike/mangband-1.1.3 create mode 100644 games-roguelike/mangband/Manifest create mode 100644 games-roguelike/mangband/files/mangband-1.1.3-paths.patch create mode 100644 games-roguelike/mangband/files/mangband-1.1.3-strchr.patch create mode 100644 games-roguelike/mangband/mangband-1.1.3.ebuild create mode 100644 games-roguelike/mangband/metadata.xml delete mode 100644 games-roguelike/mazesofmonad-1.0.9-r3 create mode 100644 games-roguelike/mazesofmonad/Manifest create mode 100644 games-roguelike/mazesofmonad/files/mazesofmonad-1.0.9-time-1.5.patch create mode 100644 games-roguelike/mazesofmonad/mazesofmonad-1.0.9-r3.ebuild create mode 100644 games-roguelike/mazesofmonad/metadata.xml create mode 100644 games-roguelike/metadata.xml delete mode 100644 games-roguelike/moria-5.5.2 create mode 100644 games-roguelike/moria/Manifest create mode 100644 games-roguelike/moria/files/5.5.2-fbsd.patch create mode 100644 games-roguelike/moria/files/5.5.2-gentoo-paths.patch create mode 100644 games-roguelike/moria/files/5.5.2-glibc.patch create mode 100644 games-roguelike/moria/files/5.5.2-hours.patch create mode 100644 games-roguelike/moria/files/5.5.2-warnings.patch create mode 100644 games-roguelike/moria/metadata.xml create mode 100644 games-roguelike/moria/moria-5.5.2.ebuild delete mode 100644 games-roguelike/nethack-3.6.0-r3 create mode 100644 games-roguelike/nethack/Manifest create mode 100644 games-roguelike/nethack/files/nethack-3.6.0-hint-tty create mode 100644 games-roguelike/nethack/files/nethack-3.6.0-hint-x11 create mode 100644 games-roguelike/nethack/files/nethack-3.6.0-nethackrc create mode 100644 games-roguelike/nethack/files/nethack-3.6.0-recover.patch create mode 100644 games-roguelike/nethack/files/nethack-3.6.0-x11-color.patch create mode 100644 games-roguelike/nethack/metadata.xml create mode 100644 games-roguelike/nethack/nethack-3.6.0-r3.ebuild delete mode 100644 games-roguelike/powder-117-r1 create mode 100644 games-roguelike/powder/Manifest create mode 100644 games-roguelike/powder/files/powder-117-gcc6.patch create mode 100644 games-roguelike/powder/metadata.xml create mode 100644 games-roguelike/powder/powder-117-r1.ebuild delete mode 100644 games-roguelike/rogue-5.4.4 create mode 100644 games-roguelike/rogue/Manifest create mode 100644 games-roguelike/rogue/metadata.xml create mode 100644 games-roguelike/rogue/rogue-5.4.4.ebuild delete mode 100644 games-roguelike/scourge-0.21.1-r1 create mode 100644 games-roguelike/scourge/Manifest create mode 100644 games-roguelike/scourge/files/scourge-0.21.1-automake-1.13.patch create mode 100644 games-roguelike/scourge/files/scourge-0.21.1-freetype_pkgconfig.patch create mode 100644 games-roguelike/scourge/files/scourge-0.21.1-gcc47.patch create mode 100644 games-roguelike/scourge/files/scourge-0.21.1-gcc6.patch create mode 100644 games-roguelike/scourge/metadata.xml create mode 100644 games-roguelike/scourge/scourge-0.21.1-r1.ebuild delete mode 100644 games-roguelike/stone-soup-0.20.1 create mode 100644 games-roguelike/stone-soup/Manifest create mode 100644 games-roguelike/stone-soup/files/stone-soup-0.20.1-rltiles-ldflags-libs.patch create mode 100644 games-roguelike/stone-soup/metadata.xml create mode 100644 games-roguelike/stone-soup/stone-soup-0.20.1.ebuild delete mode 100644 games-roguelike/tome-2.3.5 create mode 100644 games-roguelike/tome/Manifest create mode 100644 games-roguelike/tome/files/2.3.5-gentoo-paths.patch create mode 100644 games-roguelike/tome/files/tome-2.3.5-format.patch create mode 100644 games-roguelike/tome/files/tome-2.3.5-noX.patch create mode 100644 games-roguelike/tome/metadata.xml create mode 100644 games-roguelike/tome/tome-2.3.5.ebuild delete mode 100644 games-roguelike/tomenet-4.6.1a create mode 100644 games-roguelike/tomenet/Manifest create mode 100644 games-roguelike/tomenet/files/tomenet-4.6.1a-makefile.patch create mode 100644 games-roguelike/tomenet/files/tomenet-server-wrapper create mode 100644 games-roguelike/tomenet/files/tomenet-wrapper create mode 100644 games-roguelike/tomenet/metadata.xml create mode 100644 games-roguelike/tomenet/tomenet-4.6.1a.ebuild delete mode 100644 games-roguelike/wrogue-0.8.0b-r1 create mode 100644 games-roguelike/wrogue/Manifest create mode 100644 games-roguelike/wrogue/files/wrogue-0.8.0b-ldflags.patch create mode 100644 games-roguelike/wrogue/metadata.xml create mode 100644 games-roguelike/wrogue/wrogue-0.8.0b-r1.ebuild delete mode 100644 games-roguelike/zangband-2.7.4c create mode 100644 games-roguelike/zangband/Manifest create mode 100644 games-roguelike/zangband/files/zangband-2.7.4c-configure.patch create mode 100644 games-roguelike/zangband/files/zangband-2.7.4c-makefile.patch create mode 100644 games-roguelike/zangband/files/zangband-2.7.4c-rng.patch create mode 100644 games-roguelike/zangband/files/zangband-2.7.4c-tk85.patch create mode 100644 games-roguelike/zangband/metadata.xml create mode 100644 games-roguelike/zangband/zangband-2.7.4c.ebuild (limited to 'games-roguelike') diff --git a/games-roguelike/FTL-1.5.13 b/games-roguelike/FTL-1.5.13 deleted file mode 100644 index 34a89bcf5c7f..000000000000 --- a/games-roguelike/FTL-1.5.13 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=compile configure install nofetch postinst preinst prepare setup unpack -DESCRIPTION=Faster Than Light: A spaceship simulation real-time roguelike-like game -EAPI=5 -HOMEPAGE=http://www.ftlgame.com/ -IUSE=bundled-libs -KEYWORDS=-* ~amd64 ~x86 -LICENSE=all-rights-reserved Boost-1.0 free-noncomm MIT bundled-libs? ( FTL LGPL-2.1 ZLIB libpng ) -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 ) games-misc/games-envd -RESTRICT=fetch bindist splitdebug -SLOT=0 -SRC_URI=FTL.1.5.13.tar.gz -_eclasses_=base 983774947da124fb7d542ce25a218bb1 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc games 2bb3ede665927a68ffdb7c41eec7efde ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=9dfb3a4aaa6bcaab09654d30b4b103cb diff --git a/games-roguelike/FTL-gog-1.6.7.18662-r1 b/games-roguelike/FTL-gog-1.6.7.18662-r1 deleted file mode 100644 index 7a0f99a34bca..000000000000 --- a/games-roguelike/FTL-gog-1.6.7.18662-r1 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=install nofetch prepare unpack -DEPEND=app-arch/unzip -DESCRIPTION=Top-down roguelike space ship simulator -EAPI=6 -HOMEPAGE=https://www.gog.com/game/faster_than_light -KEYWORDS=-* ~amd64 ~x86 -LICENSE=GOG-EULA -RDEPEND=media-libs/freetype media-libs/libsdl[X,sound,opengl,video] media-libs/libpng sys-libs/zlib virtual/opengl -RESTRICT=bindist fetch mirror strip test -SLOT=0 -SRC_URI=ftl_advanced_edition_en_1_6_7_18662.sh -_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 unpacker 87633b2194cdb56adaa1f5a5c8862c44 -_md5_=8de35f33686a2047b6f7e3be5158bf2d diff --git a/games-roguelike/FTL-gog/FTL-gog-1.6.7.18662-r1.ebuild b/games-roguelike/FTL-gog/FTL-gog-1.6.7.18662-r1.ebuild new file mode 100644 index 000000000000..c606b4d683d1 --- /dev/null +++ b/games-roguelike/FTL-gog/FTL-gog-1.6.7.18662-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit desktop unpacker + +DESCRIPTION="Top-down roguelike space ship simulator" +HOMEPAGE="https://www.gog.com/game/faster_than_light" +SRC_URI="ftl_advanced_edition_en_${PV//./_}.sh" +RESTRICT="bindist fetch mirror strip test" + +LICENSE="GOG-EULA" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" + +DEPEND="app-arch/unzip" +RDEPEND="media-libs/freetype + media-libs/libsdl[X,sound,opengl,video] + media-libs/libpng + sys-libs/zlib + virtual/opengl" + +S="${WORKDIR}/data/noarch" + +pkg_nofetch() { + elog "Please buy and download ${SRC_URI} from" + elog "https://www.gog.com/game/faster_than_light" +} + +src_unpack() { + unpack_zip "${DISTDIR}/${A}" +} + +src_prepare() { + default + rm -r support/{xdg*,*.{sh,txt}} || die + if ! use x86; then + rm game/data/FTL.x86 || die + fi + if ! use amd64; then + rm game/data/FTL.amd64 || die + fi + + sed -i start.sh -e '/chmod/d' +} + +src_install() { + insinto /opt/gog/FTL + doins -r . + fperms +x /opt/gog/FTL/{start.sh,game/FTL,game/data/FTL} + + if use x86; then + fperms +x /opt/gog/FTL/game/data/FTL.x86 + fi + if use amd64; then + fperms +x /opt/gog/FTL/game/data/FTL.amd64 + fi + + make_desktop_entry "/opt/gog/FTL/start.sh" "FTL: Advanced Edition" FTL + newicon support/icon.png FTL.png +} diff --git a/games-roguelike/FTL-gog/Manifest b/games-roguelike/FTL-gog/Manifest new file mode 100644 index 000000000000..487f81d3c87a --- /dev/null +++ b/games-roguelike/FTL-gog/Manifest @@ -0,0 +1,3 @@ +DIST ftl_advanced_edition_en_1_6_7_18662.sh 190506416 BLAKE2B 0a628e4de3a5539add2f421377c32ead5397ad1709e30124aa8c9d0874b98eb37cda97873b21dbb78fe635769c1a3c3254988ae22494805409d28f5e33417e44 SHA512 3e9c08d32964e21b49ad3e1b6a17c2349d516fdbea4118518e022134affc43dd27d2e60eea94784096aea4725f2656b43f6b6be9fe02eaed743c167ef842d66b +EBUILD FTL-gog-1.6.7.18662-r1.ebuild 1309 BLAKE2B 5b01fef968088d747e31b903575a13091ebd5fb904ffa61680e06ad3ba922814d92639df5fdfdcabadb518cc7ce9578206ba793d09872898ffa2f1a78816403c SHA512 39da6ae85d68b4b9f763c5f79766f3fd5d62dfa73c0d3fb8ea7ba8c9d190246ff3ee8c1dfcc714f48bbc8d356dc3de30af0818166af73f6d8d73893f67c0d16b +MISC metadata.xml 487 BLAKE2B d1c2761fb3083ba140d1f87b1f52d179095ea37235acc3e0f2586e9b969174cc4aab34648523c6dce9f83499d05624e8afe2782101560e6a39cf61f5a9b27bf7 SHA512 69c1e069878db826f8a7c44d8d9f6349a37a60ec7777ea29886655082b6c57b152ab5cda35bd3126beef0a127472a57b0cc50b941224694446bb2de51bb90d92 diff --git a/games-roguelike/FTL-gog/metadata.xml b/games-roguelike/FTL-gog/metadata.xml new file mode 100644 index 000000000000..727ed940cf5b --- /dev/null +++ b/games-roguelike/FTL-gog/metadata.xml @@ -0,0 +1,16 @@ + + + + + kitsunenokenja@protonmail.ch + Rob Levitsky + + + games@gentoo.org + Gentoo Games Project + + + proxy-maint@gentoo.org + Proxy Maintainers + + 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..ab2bc9ddb346 --- /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..7caa34676fe2 --- /dev/null +++ b/games-roguelike/FTL/Manifest @@ -0,0 +1,3 @@ +DIST FTL.1.5.13.tar.gz 197569383 BLAKE2B 29b61c92dc242c6239e236761a89c464efc3889e1d28bbcd3466548090f4ba23450597ef9cd0a7130d0caea1d45a9cfdd87a56a65998dd4da146f1ade5d9a68d SHA512 129aa9ea13b6889520cb637bcbda0452f3dc2e8d93fb0e4d1c7938436d776b39a0a33b4e9d943e058ab5c80dcbb6e7bb874d0a78bd8a2a5a3a7e34159e1faac9 +EBUILD FTL-1.5.13.ebuild 1498 BLAKE2B 91e25c44e253d2802813c7e56a7372fafbc52db36835b9093c58ef20e7f27979cedafadcf0081a830674b3713137752804940e4213f417d6899714282f326537 SHA512 d7dcf52b3f59868e79a273c34edf4e9988ed36729e1fd32cb6faa5660d632177ccba553951006a1c2d4a361313794f105e6b40bb7c11df471c479d622889b54a +MISC metadata.xml 545 BLAKE2B cbafb1a1af2bbb09c4af83e7158d769d2c1c47f5a76c7ff488956cc0af2acee2eb645de70a2a76a49da7448b22b2f1da43e0288c49b22aadf2b98c857d3196d4 SHA512 f7c2324cd2084736cb1bc7936622f2b33a9509c8c51dc32500683ad8eeb361e4e6e4f7663bc63eb483f02f88aa4f45d7c7d2a43869e69d60b525aed5f665ad1a diff --git a/games-roguelike/FTL/metadata.xml b/games-roguelike/FTL/metadata.xml new file mode 100644 index 000000000000..2b826b46e1e1 --- /dev/null +++ b/games-roguelike/FTL/metadata.xml @@ -0,0 +1,19 @@ + + + + + alex_y_xu@yahoo.ca + Alex Xu + + + games@gentoo.org + Gentoo Games Project + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Use bundled libraries. + + diff --git a/games-roguelike/Manifest.gz b/games-roguelike/Manifest.gz index f38c0fd4932e..94e9fb82c21e 100644 Binary files a/games-roguelike/Manifest.gz and b/games-roguelike/Manifest.gz differ diff --git a/games-roguelike/adom-1.1.1-r1 b/games-roguelike/adom-1.1.1-r1 deleted file mode 100644 index 3c5925d5f02d..000000000000 --- a/games-roguelike/adom-1.1.1-r1 +++ /dev/null @@ -1,12 +0,0 @@ -DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack -DESCRIPTION=Ancient Domains Of Mystery rogue-like game -EAPI=5 -HOMEPAGE=http://www.adom.de/ -KEYWORDS=~amd64 ~x86 -LICENSE=adom -RDEPEND=|| ( >=sys-libs/ncurses-5.9-r3:0/5[abi_x86_32(-)] >=sys-libs/ncurses-5.9-r3:5/5[abi_x86_32(-)] ) games-misc/games-envd -RESTRICT=strip -SLOT=0 -SRC_URI=http://www.adom.de/adom/download/linux/adom-111-elf.tar.gz -_eclasses_=base 983774947da124fb7d542ce25a218bb1 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc games 2bb3ede665927a68ffdb7c41eec7efde ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=67d03d78d556f833728e3e77d9d4e632 diff --git a/games-roguelike/adom/Manifest b/games-roguelike/adom/Manifest new file mode 100644 index 000000000000..18bf38eba1a7 --- /dev/null +++ b/games-roguelike/adom/Manifest @@ -0,0 +1,3 @@ +DIST adom-111-elf.tar.gz 1001683 BLAKE2B e8f263c88c910cd3df40f1bec34a32853438090d17c7f48dc3d7d2f321b3f0d24adb40bd5ec74479eb23c7b6782967d2f3e7c5e4ee445c5fb75fdbb175d8889d SHA512 7b1d8916f66273b4ab06edd2d77c30e2edce827d346451d83c677af32492c40e5c578a8450ab3cc9be7888a0052a0960306e97db408e8581700c71c1b480b128 +EBUILD adom-1.1.1-r1.ebuild 859 BLAKE2B 2d9a7a2f8115531b91f8e526defa8aba08cd59ecbc6c621568c327ba5fa08a66ae57214fd259075b515019b01019308eff9df8ce153a388cb549f30b351b8964 SHA512 9bbfeecd00a320001a22b3a05a6b00f6eb9073d8a889a7cb23a1f09eab9fdebd0e0946371a60b18ce590cf7a9a853d81cd670cd2e934dab2dc89cb8ac8096f55 +MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 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..594a56c07ebe --- /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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + diff --git a/games-roguelike/angband-4.0.5-r1 b/games-roguelike/angband-4.0.5-r1 deleted file mode 100644 index 0baa31cb5a94..000000000000 --- a/games-roguelike/angband-4.0.5-r1 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=configure install postinst preinst prepare -DEPEND=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] ) dev-python/docutils virtual/pkgconfig >=app-portage/elt-patches-20170422 !=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=sys-apps/sed-4 -DESCRIPTION=A roguelike dungeon exploration game based on the books of J.R.R. Tolkien -EAPI=6 -HOMEPAGE=http://rephial.org/ -IUSE=ncurses sdl +sound X -KEYWORDS=~amd64 ~x86 -LICENSE=GPL-2 -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] ) -SLOT=0 -SRC_URI=http://rephial.org/downloads/4.0/angband-4.0.5.tar.gz -_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg-utils f2c8335407f0b935b0a96d4adf23ef25 -_md5_=a32000475864f10672e0e2f7c9059e3d diff --git a/games-roguelike/angband/Manifest b/games-roguelike/angband/Manifest new file mode 100644 index 000000000000..efba74be21fa --- /dev/null +++ b/games-roguelike/angband/Manifest @@ -0,0 +1,4 @@ +AUX angband-4.0.5-pie-gcc.patch 453 BLAKE2B f303fd00ae875a12159027c1e4f7c48017dcddd300b72095c2d91ad3a532bf40b7a2c3267bfa6906e27452651ccd99e05aa26108e44ddabeb9107cbc9c85de06 SHA512 1173ab1e5eebfba393d34085d6896b9633ec5be4914cfe3925082b6ff8ba8194b6a85970c998dc268d84e71ac524b885a66becbaa2a28ee17acfc11d4957fb3a +DIST angband-4.0.5.tar.gz 19886562 BLAKE2B 3b8410187a66dacc5f2310e116f3abe8ca04e1363701d455df68f3daaf2a23b0ad4811cee2a50129e1f8e096c6ee9e40f8879b25e97510946b4e4ac2a9124631 SHA512 9ad46430d7e3c4b7676042b28107a2a5b9b2ed967dd1f45b91ca37583fa2d5e9ba25d963a6510ee091b8fdb3a704a60002d851d7898a6298567f804dce36a88b +EBUILD angband-4.0.5-r1.ebuild 2650 BLAKE2B eea5b92cbf3a3ae69b0a01dacbfcdfd61804acf75ede21be3c16f81d4b884a1421025fb7e7bf8349eb1a4409bfb6beaa7166c3f1aeb469705b3122bc9ddbe15e SHA512 0dcb532baf61ee94461b055b6a3b63f5b17d42f849ea318815d8960b7c0ba6b3b31c2b72d42e7788481357bb9b0c8f0694849d44c0c7641ccb094f6ef5d5701c +MISC metadata.xml 322 BLAKE2B 121663252d3cc2808c692febb987b8220f8f8b507598833bc42d31cf72566ac9c9c6cf01f54ea5ccdb18a011ee08ddcc21d6a33a85b7609be8b54b4520783483 SHA512 0f2cb75c7386183901d5790e27da590b8e529807f9c0ea1781d072645bf5605fd66589851189ec4b58ff7d711c00c3c0df2ab88acb96ed01079dbe2f8ac17b24 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/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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + + Enable and install sounds + + diff --git a/games-roguelike/crossfire-client-1.71.0-r2 b/games-roguelike/crossfire-client-1.71.0-r2 deleted file mode 100644 index 3e06251786e7..000000000000 --- a/games-roguelike/crossfire-client-1.71.0-r2 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=compile configure install postinst postrm preinst prepare -DEPEND=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 virtual/pkgconfig >=app-portage/elt-patches-20170422 !=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 >=sys-apps/sed-4 -DESCRIPTION=Client for the nethack-style but more in the line of UO -EAPI=6 -HOMEPAGE=http://crossfire.real-time.com/ -IUSE=lua opengl sdl sound -KEYWORDS=~amd64 ~x86 -LICENSE=GPL-2 -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 -SLOT=0 -SRC_URI=mirror://sourceforge/crossfire/crossfire-client-1.71.0.tar.bz2 -_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25 -_md5_=23cf9bc51601674b0e1051665c137425 diff --git a/games-roguelike/crossfire-client/Manifest b/games-roguelike/crossfire-client/Manifest new file mode 100644 index 000000000000..be65c3c2e83a --- /dev/null +++ b/games-roguelike/crossfire-client/Manifest @@ -0,0 +1,3 @@ +DIST crossfire-client-1.71.0.tar.bz2 761156 BLAKE2B 6a5938ca8d9c7060f43f5b6a54ff2ed65521ec8ffbc76c10be25ae8802e95d77242edb6d52852410ccd352b51d5fc9edcdb9b85dc618cecfa79cd37ff0212c0f SHA512 86710d684fd7908ea9aaf5ba20bff0f1ba01ff0ba90c3e2847afff9d0db6f60c7b671413c8888b513c992fbf27474e744b79df185d5e2c04afc9d2dce3d8665e +EBUILD crossfire-client-1.71.0-r2.ebuild 1573 BLAKE2B 741d6525b6acb4c3a5e23e296ae1348c8a47e96d70173e466c76721007a225dea02fc0602b345c81447dd3beac52d59400b198725d0a6410b40dec14b533a785 SHA512 488691c905c146e25847cd2839197167abfa860cd5875ce0cd4337932f585ebb9e870c4d52f79e904d2dcbbaa5c1316419afc41bd67ec563974530d1950f3f33 +MISC metadata.xml 332 BLAKE2B b2b20adc6daa1c491850292a929df2b67738519b81cbab2cd2c2d278176daf4e895a10bc712213abcb41714f27bb0c9e2b1731f970b7381cbf9ffefe6c393666 SHA512 cf046be69b614cd43deba574e8fbd23b566507c694b9f7cbda92d7009d727ac4087de411bf63463561beb3160ecfe7f9fb685574b018466b473535184529ccf7 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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + + crossfire + + diff --git a/games-roguelike/dwarf-fortress-0.43.05 b/games-roguelike/dwarf-fortress-0.43.05 deleted file mode 100644 index 0a43532e5b7c..000000000000 --- a/games-roguelike/dwarf-fortress-0.43.05 +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile configure install postinst prepare -DEPEND=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 media-libs/libsndfile media-libs/openal sys-libs/ncurses:5[unicode] virtual/pkgconfig -DESCRIPTION=A single-player fantasy game -EAPI=6 -HOMEPAGE=http://www.bay12games.com/dwarves -IUSE=debug -KEYWORDS=~amd64 ~x86 -* -LICENSE=free-noncomm BSD BitstreamVera -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 -RESTRICT=strip -SLOT=0 -SRC_URI=amd64? ( http://www.bay12games.com/dwarves/df_43_05_linux.tar.bz2 ) x86? ( http://www.bay12games.com/dwarves/df_43_05_linux32.tar.bz2 ) -_eclasses_=estack 43ddf5aaffa7a8d0482df54d25a66a1f multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 versionator 26ca8a8bd95d6a74122c08ba98a4ee72 -_md5_=102c5922c0c4cd66a46474ac37fbd2e6 diff --git a/games-roguelike/dwarf-fortress-0.44.12 b/games-roguelike/dwarf-fortress-0.44.12 deleted file mode 100644 index 0929309ea450..000000000000 --- a/games-roguelike/dwarf-fortress-0.44.12 +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile configure install postinst prepare -DEPEND=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 media-libs/libsndfile media-libs/openal sys-libs/ncurses:5[unicode] virtual/pkgconfig -DESCRIPTION=A single-player fantasy game -EAPI=6 -HOMEPAGE=http://www.bay12games.com/dwarves -IUSE=debug -KEYWORDS=~amd64 ~x86 -* -LICENSE=free-noncomm BSD BitstreamVera -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 -RESTRICT=strip -SLOT=0 -SRC_URI=amd64? ( http://www.bay12games.com/dwarves/df_44_12_linux.tar.bz2 ) x86? ( http://www.bay12games.com/dwarves/df_44_12_linux32.tar.bz2 ) -_eclasses_=estack 43ddf5aaffa7a8d0482df54d25a66a1f multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 versionator 26ca8a8bd95d6a74122c08ba98a4ee72 -_md5_=102c5922c0c4cd66a46474ac37fbd2e6 diff --git a/games-roguelike/dwarf-fortress/Manifest b/games-roguelike/dwarf-fortress/Manifest new file mode 100644 index 000000000000..dff2a0695a7b --- /dev/null +++ b/games-roguelike/dwarf-fortress/Manifest @@ -0,0 +1,10 @@ +AUX Makefile 1169 BLAKE2B 79ffa48adf56ae2233d9e10e6bb20acb55984cf969d50d2d2a73a31783b6692517062a1960eb01f1c9dd56c0d8ed38dd1612745e26101349f54e878941e2c605 SHA512 94baa1189e6a01415d46c475a0d1e40c785ded0473fd7dd89f136df36c07d58f718fee23b7d885e5ee8774a62063c9d92a1d26b02643f36ad5562e3e168e86bf +AUX Makefile.native 1016 BLAKE2B ea40a1f90bf52e52c7cf88e99c73c981c00506eddb4ad9c57200bd272ae37d5871793d5a0308cde8b4c3be9824b5549a23429d465f874e0ca018862f3072dc3b SHA512 d390c65f406cf8b43f3d493cd6513167c122a5811e3bc8614a66dc080eac21df9fc1d5f110503c8f6815f683eaeb5ddcdd833d310400ccc2426ae81c2b8159f8 +AUX dwarf-fortress 516 BLAKE2B 9d2faffac265e99698fa1c481eec8598fbe66b4ab205b18c76d285cd16fe1b32d3bfa9bc415bceae6e1e350e955ac3b3cebd7d46943a06ff71715fd1cb5402df SHA512 1f1fada35e33cb99c28835d600f6567ecaaf7b2c6111a2e96b1a88c54e5d727f94ae1c0213327bc70a623dbdf19a8433e3c59edcab5a40e898b0124eb2eb9006 +DIST df_43_05_linux.tar.bz2 11580594 BLAKE2B 7157f8ed5f8798a533d992811c804515acc8abb3bb84b25af6905fd6b2338e95879e318bec0dade18f1eba1421d17a781d1da8b49c719988d2cb6d7046b0c3be SHA512 502e6bac0bdd5586fb6b4e1117caf144a0336a7eed3ed9350ec316e4a286e309a15e0738517c0dd7d32f182984c501c7a8756e942d3dde9fb87f72b153f38e7a +DIST df_43_05_linux32.tar.bz2 12158550 BLAKE2B 4c1f5ad834aa0a2b6438b8aaf0b0ad6cfc60656f58845a274ac3d8ad7e09182d7263e3a495d1bff0b1fb5499097569216fac0bc87cff95fc6a85e3211acc297d SHA512 d0446ddb5c37ee45ade36b18b815595e8d7bfd9749af4ecd2f25b45859d797a9da70f2344e2c58544feafc7df06882ade8a10534c37754359747c0d37f084b7c +DIST df_44_12_linux.tar.bz2 12081683 BLAKE2B 2410e8da6af6a8ced45d3e95dc06e2d0f4e31dbdcd6b8d9945a761d2278532bb24c1095418aa22639eedded256b3d485fa128984e6282a491d4dc7bd9af8671b SHA512 03cd7f6800d44873b573cc5bffb12c7a246c3aba0ee8535001372df689a5179dc02592670fd87f2fd5de82421605f34152f6241307c8f7b9fb4d7b8704aed70c +DIST df_44_12_linux32.tar.bz2 12686340 BLAKE2B bf1e1370930d91d2c9e72d3366bc79706092d1505853eb63c6160fea39822551d3276958ac6d2916b8f7825be0c054a037219210f0c2c18a731065a2dd1bb842 SHA512 5cd352acf310592c7e30442205b7fe590f421c5e3562959dcfd32a17d3d562347c2b32e3bc5835637c5550ce2c696c17b6dc910ee4cf766be07af306e83537db +EBUILD dwarf-fortress-0.43.05.ebuild 2336 BLAKE2B 97411ad8ae7ffb1841a58be8cdb503e827bc570cf795e9b48c3236f59c4d81e9ea6825329775d7c1421aa112d3d8238446fe946d58808987649b4f9ef4a8cb96 SHA512 9fb15d69e8df35916919d4cd74ea05cfa0e721cda80260fde0d19c2bff32caa81fd449216d584e3059987ca7892f3553da8c9646f214e9ad2e2dab41bfe351f4 +EBUILD dwarf-fortress-0.44.12.ebuild 2336 BLAKE2B 97411ad8ae7ffb1841a58be8cdb503e827bc570cf795e9b48c3236f59c4d81e9ea6825329775d7c1421aa112d3d8238446fe946d58808987649b4f9ef4a8cb96 SHA512 9fb15d69e8df35916919d4cd74ea05cfa0e721cda80260fde0d19c2bff32caa81fd449216d584e3059987ca7892f3553da8c9646f214e9ad2e2dab41bfe351f4 +MISC metadata.xml 455 BLAKE2B cad71196c8cb8c8246703bf00d8470faacd39b564ba7ce8a4819c19d1ef28561ad893000e991ba8eefaff8697497fe96fb19e3c07f18a073d2b9fd406c11346e SHA512 913a17c9b0f3d8909e1d01d1924d3efecb47dce07fe3f10cb7fda44150f816b690bd8698cef3b81a706f043db39b6e33a791fe704892010a47c522b1add8561e 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..a8f36028ee27 --- /dev/null +++ b/games-roguelike/dwarf-fortress/dwarf-fortress-0.43.05.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit versionator toolchain-funcs + +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 ' 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/dwarf-fortress-0.44.12.ebuild b/games-roguelike/dwarf-fortress/dwarf-fortress-0.44.12.ebuild new file mode 100644 index 000000000000..a8f36028ee27 --- /dev/null +++ b/games-roguelike/dwarf-fortress/dwarf-fortress-0.44.12.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit versionator toolchain-funcs + +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 ' 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..32ecf7b18035 --- /dev/null +++ b/games-roguelike/dwarf-fortress/metadata.xml @@ -0,0 +1,16 @@ + + + + + alex_y_xu@yahoo.ca + Alex Xu + + + creffett@gentoo.org + Chris Reffett + + + proxy-maint@gentoo.org + Proxy Maintainers + + diff --git a/games-roguelike/hengband-1.6.2-r1 b/games-roguelike/hengband-1.6.2-r1 deleted file mode 100644 index a521e81059f3..000000000000 --- a/games-roguelike/hengband-1.6.2-r1 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack -DEPEND=>=sys-libs/ncurses-5:0 X? ( x11-libs/libX11 ) X? ( x11-libs/libXt ) >=app-portage/elt-patches-20170422 !=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 -DESCRIPTION=An Angband variant, with a Japanese/fantasy theme -EAPI=5 -HOMEPAGE=http://hengband.sourceforge.jp/en/ -IUSE=X l10n_ja -KEYWORDS=~x86 ~x86-fbsd -LICENSE=Moria -RDEPEND=>=sys-libs/ncurses-5:0 X? ( x11-libs/libX11 ) games-misc/games-envd -SLOT=0 -SRC_URI=mirror://sourceforge.jp/hengband/10331/hengband-1.6.2.tar.bz2 mirror://gentoo/hengband-1.6.2-mispellings.patch.gz -_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 base 983774947da124fb7d542ce25a218bb1 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc games 2bb3ede665927a68ffdb7c41eec7efde libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=b791fad16563dd81d742cfe5e0e53696 diff --git a/games-roguelike/hengband/Manifest b/games-roguelike/hengband/Manifest new file mode 100644 index 000000000000..06ea699fe583 --- /dev/null +++ b/games-roguelike/hengband/Manifest @@ -0,0 +1,6 @@ +AUX hengband-1.6.2-added_faq.patch 6371 BLAKE2B 322267980e2b9ddc75245528a1a29fae0936e6cb3a6d87287e4e4d475090c37c47b9d8268fbe52cc5e6725f6a2d034d28c4fdecba57a23137384340a5e5c3fcb SHA512 254283e117f6bf7d050ec152d7bb04cdcbd23235f56da8ed8aa587e23ef21de0a556cac4027e8a3b0fa32d66448c96ac18e9e76d242b9d1a921befcaf78195a1 +AUX hengband-1.6.2-ovflfix.patch 236 BLAKE2B 7a2fc1e76fb1d4755cb4d45ddd0f7f48ecf38e21b769196ccfeabe7cadaacd278c7e3c25e64711f7d362e310247773fb1e907e402a0b1f11a7ac0065325415ad SHA512 0e51671bce72cd0ab1109111556bfda71ef043475c033548ffd5873d9329597e705b9e6459d5e95369df5f5501e2553f9109622d522534ea43f787087160e3cf +DIST hengband-1.6.2-mispellings.patch.gz 11964 BLAKE2B a409161c70d655078396c8774b251cbb467802eaa9d6c96322a49ba1956fb3c9a5ba24d8de74907afea96c1df62fdfee3fe581a45e19b77e51f917e862c63531 SHA512 73838981616e09deca7afc3911386e665ac38fafcdcea42d87bc41e4bc187551278efeaa608a772a444e0c178c3f990e16dd302b6a8dc6dfdd8625d463b9b3b5 +DIST hengband-1.6.2.tar.bz2 2029169 BLAKE2B 3a25a829f3fba8bd265d0b13fc81becbbf505dcb4efd78010d6cc8db29bb4be22911d18bf7c4496e4b408c3742aa12c36060bacd62bb79de0be4fa5c36191afa SHA512 24c67f00556d7899b4f18f3071c4bd50bc754566c4c4736c18248ced243b1332e6c84381250c1a59358e7a914e5d62db05c47ab0921bcf40fbd6cfe4b6717520 +EBUILD hengband-1.6.2-r1.ebuild 1453 BLAKE2B 3d256fa9e2330d39b0afc03c5f372602af8ae67a6f7bfef186416711e135a0d60cce152a58d955dd8079188bfe290f3e92b1166a2d50444fc27771566d64e4bb SHA512 0f122fb11e595edb3ff54a9ff172ac30d53bc86efeaa0cbc33bd265ceb17fa016ed38015516066c8f36ecd498c78ca426d9ce6d927258ac485ae16134f201cdc +MISC metadata.xml 334 BLAKE2B 26c821bfd5ecfb9e843418084ffc417e2b22f3c371b442e9473a85ad45aed5861259194c1c1d48dac929d60019d4b040f751afb32caced1aa094086d07d098b6 SHA512 ec8a4116d1ad2f15b2dad0148f912da9123d937cd724eaac00ff20541d64b7ac37190f617b8e82376c571a47cb6b886fc269a477c2c6b4aaa0859204f716add9 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..8559444d7075 --- /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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + + hengband + + diff --git a/games-roguelike/mangband-1.1.3 b/games-roguelike/mangband-1.1.3 deleted file mode 100644 index 3ec2552c6737..000000000000 --- a/games-roguelike/mangband-1.1.3 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=configure install postinst setup -DEPEND=ncurses? ( sys-libs/ncurses:= ) sdl? ( media-libs/libsdl ) X? ( x11-libs/libX11 ) -DESCRIPTION=Online multiplayer real-time roguelike game, derived from Angband. -EAPI=6 -HOMEPAGE=http://www.mangband.org -IUSE=ncurses sdl X -KEYWORDS=~amd64 ~x86 -LICENSE=Moria -RDEPEND=ncurses? ( sys-libs/ncurses:= ) sdl? ( media-libs/libsdl ) X? ( x11-libs/libX11 ) -SLOT=0 -SRC_URI=http://www.mangband.org/download/mangband-1.1.3.tar.gz -_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=31b1305314ebebb4602b37279d16b39f diff --git a/games-roguelike/mangband/Manifest b/games-roguelike/mangband/Manifest new file mode 100644 index 000000000000..055753970400 --- /dev/null +++ b/games-roguelike/mangband/Manifest @@ -0,0 +1,5 @@ +AUX mangband-1.1.3-paths.patch 3029 BLAKE2B d073607fede89e5b244f85c95cf465734aee4b503683ee60cd6331000fe4833fea297bdc56eeb74857dad0525fe9b4eb5534bc518bf68ac2c4537527556e7deb SHA512 3dc510a04e339f06a654d8c5b6b5c7059e451a4d7669a4709d4efbdf9bd667993d67411b8338cbfe837c9b7e4ce9123d72a2eafb0ac86daaa68161bc061483c4 +AUX mangband-1.1.3-strchr.patch 371 BLAKE2B ba51408069784b0fc165b98e1f9da6539955c68bc438cab74175471b924ffb395d30a4c9202e63a2d2420831e77e96642cef835dbfee0b0071b427041e10e740 SHA512 f6bef0974416ff6f2036fe6a08db85b1353234a88f38134bc9ab739d26c44a914150044cd2ca80c141b7fd111c3b3f5f1acca1d111ec5d6c6586ac438bb5dcc3 +DIST mangband-1.1.3.tar.gz 1497078 BLAKE2B 69f00c9ae4d2600dd9705103dbc753d385015a81f7467e44e38c86cd6f3168474a3832a4c9e8efc353ef75b923362d35e50f49da7752adf43c37d4df015c0e18 SHA512 5efda352607953e94a433bf9aabb496419a22c984dc9e054cebc90623682da23a90fb6cb910fcc950010d469571f2af515bfa7740c921add44ac9ea95e723130 +EBUILD mangband-1.1.3.ebuild 2048 BLAKE2B 63d351965b5859dbef83f067b12b9630418d51673fd4dd5a808c7cf275cf416ccf060d5105309f089d0b7e111d29d6880c547a4c9fa92b3af64eb42fef6f2573 SHA512 8f1b2a0afb6f3b600730b64aaf79ed9834397c8ce5d7f85279b5b481a258b0f35493e00258d38880bf0e7c37ba149d5e2765862a1aa4e2469dd0fda66434e4f7 +MISC metadata.xml 338 BLAKE2B 872d2540905bff82e2d594a966e84b47a58c764d38383665740c0aed4e1803b961c6de5a3ec8427a67a9d3bb5b4d144eab71d1ae83bda144354c006b1e5a495b SHA512 4c12708346e37f2b3763b5e5967ba40b572932c1147acc0b5830341fca6107d041750f6b05e5983f9dda8125aac58254fbbedd694f2a15305afad78d9d198abb 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 +-# else +-# include +-extern char *strstr(); +-extern char *strchr(); +-extern char *strrchr(); +-# endif +- +-#else +- + # include + + #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..3891204b9a67 --- /dev/null +++ b/games-roguelike/mangband/metadata.xml @@ -0,0 +1,11 @@ + + + + + flambard@mangband.org + + + proxy-maint@gentoo.org + Proxy Maintainers + + diff --git a/games-roguelike/mazesofmonad-1.0.9-r3 b/games-roguelike/mazesofmonad-1.0.9-r3 deleted file mode 100644 index 1496b09e7234..000000000000 --- a/games-roguelike/mazesofmonad-1.0.9-r3 +++ /dev/null @@ -1,12 +0,0 @@ -DEFINED_PHASES=compile configure install postinst postrm setup test -DEPEND=>=dev-libs/gmp-5:0= virtual/libffi:= >=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 -DESCRIPTION=Console-based roguelike Role Playing Game similar to nethack -EAPI=6 -HOMEPAGE=https://github.com/JPMoresmau/MazesOfMonad http://hackage.haskell.org/package/MazesOfMonad -KEYWORDS=~amd64 ~x86 -LICENSE=BSD-2 -RDEPEND=>=dev-libs/gmp-5:0= virtual/libffi:= -SLOT=0 -SRC_URI=mirror://hackage/packages/archive/MazesOfMonad/1.0.9/MazesOfMonad-1.0.9.tar.gz -_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc ghc-package a0d34e2f5f204f01c404ae1ce539542a haskell-cabal 45605f3898bdc59eb016fb50ca27bf18 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 -_md5_=f1cb4f8d5b7beba762ddfeca1aa508eb diff --git a/games-roguelike/mazesofmonad/Manifest b/games-roguelike/mazesofmonad/Manifest new file mode 100644 index 000000000000..79e4723cb414 --- /dev/null +++ b/games-roguelike/mazesofmonad/Manifest @@ -0,0 +1,4 @@ +AUX mazesofmonad-1.0.9-time-1.5.patch 968 BLAKE2B 936e9539cd25ff08670c21032320d7eebff85a3aab76bb6774a66363770f5582cd627072d467043adea485a39e139d8bcb6cc7b30e65b62118227866f7d1d5ac SHA512 e93813f3cfd1966fc6ac20d8d651242c0ae3b881ea339de07ebb815db5f7d32f7ca5263c72d68fe2281997abc1a77893a26882e75bed09dd9e3a4a64d012116f +DIST MazesOfMonad-1.0.9.tar.gz 56342 BLAKE2B 93e2466d76804538b87b601af39916e8c39a853d11added65dc5b3408dcb19b75e50edbb3bc484de1cb6ef01de46814cd95886738025c31d271c5c2d81b80e00 SHA512 a537672907f0bf356574b5c16b9b354cc73133958873e3dfc064f9de2ad7c18bed011f811887edc37c9b40de5529f7954889953946a79da29a255637e81d9612 +EBUILD mazesofmonad-1.0.9-r3.ebuild 822 BLAKE2B 3a4b7eca0fbca1ed23151c008f412d175202755d6045f8711f50d2dd113c91c9a09e6eaa7b099897edf014b0d51e90fd299d18cdea99cab3517b79abd8321ec6 SHA512 3fa0ed0b1a089c86215e956ad305dbd72b8167de81aa79edf79829b68090fcbc87188533c1d87a81127c2545fe3e8ef1ca9da95d07694870ea63cbb3c146ffba +MISC metadata.xml 971 BLAKE2B 05b96c3bf5c2ac7c39e93b35cb7dd7c949bfcd4ba550100ca6e2d4cf084506c538f595e03a9b427a4a0f006cd0cdeeaf923d2a874036ee741220af26c9a3ba22 SHA512 fc715d7961b2b6421e8dba76a8f81a2f0ce814fdcf9eaae45c5c4a6509e253193f440924c56786f8e291cebaf1bfd5d3dbb6675f0d016c14ea17b97beec12eab 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-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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + + haskell@gentoo.org + Gentoo Haskell + + + 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. + + + JPMoresmau/MazesOfMonad + + 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 @@ + + + + + The games-roguelike category contains games which resemble Rogue's + style. + + + Die Kategorie games-roguelike enthält Spiele die sich am Stil von + Rogue orientieren (z.B. NetHack). + + + La categoría games-roguelike contiene juegos que recrean el estilo del + Rogue. + + + games-roguelike カテゴリーにはRogueスタイルに似たゲームが含まれています。 + + + De games-roguelike categorie bevat spellen die gebaseerd zijn op de + stijl van Rogue, zoals bijvoorbeeld NetHack. + + + Nhóm games-roguelike chứa các trò chơi dạng Rogue. + + + La categoria games-roguelike contiene giochi che ricreano lo stile di Rogue. + + + A categoria games-roguelike contém jogos que recriam o estilo + de Rogue. + + + Kategoria games-roguelike zawiera tekstowe gry cRPG podobne do Rogue. + + + diff --git a/games-roguelike/moria-5.5.2 b/games-roguelike/moria-5.5.2 deleted file mode 100644 index e980791fcc21..000000000000 --- a/games-roguelike/moria-5.5.2 +++ /dev/null @@ -1,12 +0,0 @@ -DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack -DEPEND=>=sys-libs/ncurses-5:0 virtual/pkgconfig -DESCRIPTION=Rogue-like D&D curses game similar to nethack (BUT BETTER) -EAPI=5 -HOMEPAGE=http://remarque.org/~grabiner/moria.html -KEYWORDS=~amd64 ~x86 ~x86-fbsd -LICENSE=Moria -RDEPEND=>=sys-libs/ncurses-5:0 games-misc/games-envd -SLOT=0 -SRC_URI=ftp://ftp.greyhelm.com/pub/Games/Moria/source/um5.5.2.tar.Z http://www.funet.fi/pub/unix/games/moria/source/um5.5.2.tar.Z http://www.piratehaven.org/~beej/moria/mirror/Games/Moria/source/um5.5.2.tar.Z http://alge.anart.no/ftp/pub/games/RPG/moria/um5.5.2.tar.Z ftp://kane.evendata.net/pub/moria-extras.tar.bz2 -_eclasses_=base 983774947da124fb7d542ce25a218bb1 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc games 2bb3ede665927a68ffdb7c41eec7efde ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=732bd260f21bbb62bad21fec7391510f diff --git a/games-roguelike/moria/Manifest b/games-roguelike/moria/Manifest new file mode 100644 index 000000000000..ddb722625a7f --- /dev/null +++ b/games-roguelike/moria/Manifest @@ -0,0 +1,9 @@ +AUX 5.5.2-fbsd.patch 6904 BLAKE2B 15e6da2c394bc57e93757fed0e4a4e908a688a6b715993162cd7c8ef09cff6dd912980a157fc65fb030d9733e6e7d490f00078b9ff60e35b4bcce6fd3353afd8 SHA512 ec1c0428bd5223ee2bd5408b482941911fab6650cde1c49ff0c93262ea4203d09502a5bb5fda1ee66588935faccc9c1f0a738c337f8af92a63467238d91f6d8d +AUX 5.5.2-gentoo-paths.patch 2363 BLAKE2B 415de0a817ed6bac0ee4a260722576b99bccb69176ea8f46d2c21d01488d8000916580b3ca435e9cd7b9be1c066111a3033ab2767578640abd01613539d14a65 SHA512 41789167d9e624e0ca2d800bb87851a5e9628b51cc80cc84ca15c974f394d99101ea9cc6bde361b1c2187a3983b5d2291ca15cdbae04499687fd9785e017c32c +AUX 5.5.2-glibc.patch 9796 BLAKE2B 73349021d2ebeff5ad946548ab320df211b73d62edefe42a3004a6d1dae103247939274ec7ae5b02ec36af24f8ac7b38ea2cb7eab1e0d4045d76f650ff46bab2 SHA512 834e3b4521ac00e8367abd3c5e5eefe7859f36f0182794911936006224c9fac94b6e4beae1da73c228e1e434d02cf870fc69f6102b981c78916c204a6eea101d +AUX 5.5.2-hours.patch 1343 BLAKE2B ca82cb17fad83c3be5cf063e0f13c3c635e63c6d8de7777ee454d4057f26ededfcec03aa7115c61a52242f01afc187fe0cfcb7f0b1de2064ea0602804011c3b3 SHA512 2b59e37741664dcfc095a5ae9ac482d6899d71f8221ca0f7d9d1caee594f05ac2ef043a6ff983e5266b904afa725876210d07b02352921066271f35e2efe7047 +AUX 5.5.2-warnings.patch 386 BLAKE2B aabef11e0c2b2869a9f45c538cdbc84389a6a3cbdceb6a6e9697ffe7a010483e740dc5c192ded489620ff7049baf4b58b6a560c75b9843bc63812e00c79c7615 SHA512 64bd3e7a0c613ca3043ea0a4aa4aab83281132af16d73e9ed70f1d5ff979b48cf1f085a030c56f0c17be01bbabb2dd4d9dcbd02d4a204993adec3fd01f03ab5c +DIST moria-extras.tar.bz2 57324 BLAKE2B 7a885e5595c8c3a3d0a29c65729e03ab1d26ad514b96a1d078a436960c1245283a51544dc54c6a5f225b77da3c3a72f8c7407efeac2b0629d51330b3abf9af49 SHA512 39d04ffdbe779fc070ee72084df5c731f8db25116e9156898d4c78c86e02288cf3560849461f2081209a06a74274789a671b104dc806b63a0d955adad17fd85f +DIST um5.5.2.tar.Z 910536 BLAKE2B d36d5cbb45992937f8e7c2f98cf2ad568e11e2d2b1af107e77ba98d8cfc23f2f4bcdb43ab9d5a9dd05e0ec45a5ecd298a1c4c7307bc0f75ca629c9c63cf9d3bb SHA512 987bbccb9cb4870ec91704cd20cf19875320d1cfe62c4c5a0063bfc3827732a0e3334a4ea3712137f3262d7418db0ea7e803d724e2dec4d5eb41ebe741f326cc +EBUILD moria-5.5.2.ebuild 1932 BLAKE2B 3fd63796fddf7bd31bb29b3357b3f30979d41bcac3cdcc561292483d831efa77f1ecacee65588e08ccd6649901b7c15b6d0aa4e8af20c989ff38b3ab16acec9d SHA512 b883196bf18634f9b576e7bb147a0fcaf0fb77823b74ee0ed04a39e7172a97e0d3ada1db9d9f3228f7a59d7b9510b3df73fc04448782834e53b005a69fd7391e +MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 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 + #endif + ++#ifndef __FreeBSD__ + #ifndef VMS + #ifndef MAC + #ifndef GEMDOS +@@ -98,6 +99,9 @@ long time(); + char *getenv(); + #endif + #endif ++#else ++#include ++#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 + #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 ++#include ++#endif ++ + #ifdef HPUX + #include + #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 + #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 ++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 + ++#ifdef __FreeBSD__ ++#include ++#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 ++#include + + #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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + 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..e135a2f7d915 --- /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 " + echo "#include " + } >> 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-3.6.0-r3 b/games-roguelike/nethack-3.6.0-r3 deleted file mode 100644 index 905143bae66c..000000000000 --- a/games-roguelike/nethack-3.6.0-r3 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=compile install postinst prepare setup -DEPEND=sys-libs/ncurses:0= X? ( x11-libs/libXaw x11-libs/libXpm x11-libs/libXt ) virtual/pkgconfig X? ( x11-base/xorg-proto x11-apps/bdftopcf x11-apps/mkfontdir ) -DESCRIPTION=The ultimate old-school single player dungeon exploration game -EAPI=6 -HOMEPAGE=https://www.nethack.org/ -IUSE=experimental X -KEYWORDS=~amd64 ~arm ~hppa ~x86 ~x86-fbsd -LICENSE=nethack -RDEPEND=sys-libs/ncurses:0= X? ( x11-libs/libXaw x11-libs/libXpm x11-libs/libXt ) -SLOT=0 -SRC_URI=mirror://sourceforge/nethack/nethack-360-src.tgz -_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=69ad774bf522f78dc0757234d1787b2b diff --git a/games-roguelike/nethack/Manifest b/games-roguelike/nethack/Manifest new file mode 100644 index 000000000000..b9e46217d4d6 --- /dev/null +++ b/games-roguelike/nethack/Manifest @@ -0,0 +1,8 @@ +AUX nethack-3.6.0-hint-tty 258 BLAKE2B f8a00f5a238bb9a1a5a7f94c3a9ef71c7fed0b3e17c7ae09b0ea9922963f66579bea155c83fa881a48c9086c001e5219d1e6d77f2d81b1d298f3802e855d293d SHA512 112769bd68cb65f26604c084a0820eb9ab006a84f3bc754d43122d084b731746238b23beadff0bbd0dcaf39bfe009d466d3d355aeee7ad53939dc1974fe54531 +AUX nethack-3.6.0-hint-x11 412 BLAKE2B 466e716dc691dd99624196addf2d14a4ee7296d55f83093b17a9603f986b7b2ecfebdcda24db6c8d800245ac0175df34a5a6a185c767ffc8b2e1bb5eea39ecfb SHA512 7046791f17f5abc066b378af69f49d045f7533f794337e238400b98b5b5e6b518bb89d86dfe14828b54d0744d5cdd2ff5435fa7f1cacad92f3dd7caf643243ed +AUX nethack-3.6.0-nethackrc 2458 BLAKE2B a051f476ffed8fb1598c65f243df3aa412a4bb35e904ba1d38059313491e3c36eb87c72a985a2b391760c0be72cd064cd4fef37a393c4dab9baa152b54e92c21 SHA512 9aae0d8ea3352b6335339fe91f5e52eb597f82e8fe50e0a52270e918123a02629610dda173419f6fc6e8f1e68358364bc5d8450e185b64c96d790790b68dddb9 +AUX nethack-3.6.0-recover.patch 3238 BLAKE2B 648e7ab4210efd8465477e6e576f9f0b972743c7ce1dd651661fe1b0e88fc774d613acb97941a7acdf2becd6bd2055c84f3eb2bb5c94e0eb8522b761fbf38831 SHA512 613b33757c1dabf897da77b53a26eb57318387462ff4d34f06411b2aef06d812c730db0ec4fb15b2895266bd914bd8ac11fa91334430834541b8d465c2a484ec +AUX nethack-3.6.0-x11-color.patch 6828 BLAKE2B 4e8f502b8180e042fed9e829d7bdd3c8a89aa679929aa22e209ae85a9e94ed25c6463b378ae1f9a1649bace9020b638279805f2ac2b846b7434fefc2187514b4 SHA512 074fb2db8962f918f605404d2810bc78c27ea461255bc6ad26ad24bbe65346b27868d9558a9486b334be29bbcc6896a95fafa2e4446045f316201754ea4bdab8 +DIST nethack-360-src.tgz 4261282 BLAKE2B 7be22b8bdc7b5124418fa904aa3776d77440f67ec18782b878e037b989a18092ed88ca192224c7bc1eaa3cb438823188035c3e6d2aa85d13a7aa1e86c8527d32 SHA512 92370a3c60a4f6861b9c0f1e1320fc23d91cedc1615d0d09e06a0ee3e13c9c8c0cd931389bfd7a25845ed07ef966d19d9e46e77ae07084a941685dc67f49c813 +EBUILD nethack-3.6.0-r3.ebuild 3998 BLAKE2B b6bb7165f57fa23fd7414bdd077abb65dfbab6d57c2e740c2b80c697a1bd957bd94347a35f5195e13633c6995866e2c62a9d8955de8569d6d07769d9381d052e SHA512 6d9baf22fa180eafb53460e21353be11ae45964a81a608f930052dafd93481dca9bf8002da65c4b84a191d2ad6dc4387e2363693694cc68f1d28a3ec9f09e152 +MISC metadata.xml 545 BLAKE2B a29d97fd41c3cce54fa206a2be25296be467499011ed128ed20ed9dcb99efe9fd429fd816fccd07805065831c348ee6479c93ad1e0bba2f98c5b6b50b738ee73 SHA512 30c9a569c25853311dd579749d4193f8a1a45c5a5dd0e7899c2b3c63a39718c0ff8a4633620fdcbb3964e714b62718bfd4089c7438e5707f24457b6ace4dc783 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 +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 +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..b4c23c3cf2d8 --- /dev/null +++ b/games-roguelike/nethack/metadata.xml @@ -0,0 +1,18 @@ + + + + + aranea@aixah.de + Luis Ressel + + + proxy-maint@gentoo.org + Proxy Maintainers + + + nethack + + + Enable experimental features (showscore and status_hilite) + + 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..fa9302932cb1 --- /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="https://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-base/xorg-proto + 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-117-r1 b/games-roguelike/powder-117-r1 deleted file mode 100644 index 820316d65aa9..000000000000 --- a/games-roguelike/powder-117-r1 +++ /dev/null @@ -1,12 +0,0 @@ -DEFINED_PHASES=compile install postinst -DEPEND=media-libs/libsdl[video] -DESCRIPTION=A game in the genre of Rogue, Nethack, and Diablo. Emphasis is on tactical play -EAPI=6 -HOMEPAGE=http://www.zincland.com/powder/ -KEYWORDS=~amd64 ~x86 -LICENSE=CC-Sampling-Plus-1.0 -RDEPEND=media-libs/libsdl[video] -SLOT=0 -SRC_URI=http://www.zincland.com/powder/release/powder117_src.tar.gz -_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=b5f1981cca7b0ea15f14ec12f09f65e6 diff --git a/games-roguelike/powder/Manifest b/games-roguelike/powder/Manifest new file mode 100644 index 000000000000..aba5190d8a2b --- /dev/null +++ b/games-roguelike/powder/Manifest @@ -0,0 +1,4 @@ +AUX powder-117-gcc6.patch 354 BLAKE2B 5cc277bc2f7e59ecf4893716c2947d5a208bc61f1e2db2eede236b5b9e307e258404b86c06fc56fca3053a27dd1ef1b4dac200e9d18e28e3de3dc44eb51cca5a SHA512 7d486a29bad2b389cd6e772c44227b2475dce7630e8fd2932bbafb0f52ba3f3ae3af1eaccdd69e3c3742cec1a9d80b98d9d8527591dd14383e70131620270db6 +DIST powder117_src.tar.gz 1891043 BLAKE2B fbed7f94142f9f01bb235886825e94ccb1b110db70b8fb53d4476747a2cd7863b1af31a775f1cbaa4579cd6d0574c7a41cd2e2aaf90dbec3f1a1b419582c02d8 SHA512 cdbf67d6d582af39c40cc0872411725d0c296326b21cf8efbe7c7ccd11cd3c831ad129e5e91fb661f938a399ac799509e5123653494f54398c55750026bc6736 +EBUILD powder-117-r1.ebuild 919 BLAKE2B 24990d3ee0dd55a6cd42489f96f5afeadc898e808e8a8d45d5e48561b897ca3c4a06f3172ad95757a27563e07e0ef3bed0abdcab9dd28cdbf4c02f3ac748639f SHA512 592244d7bf3452a1c4cc5cb4db8f88e8c849346dbe95ce0ec9f85b21b40440bbf5ec8999d738cb8836a4c08d2bde92f7fa635c93a1ac007525f9e03373bb1bef +MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 diff --git a/games-roguelike/powder/files/powder-117-gcc6.patch b/games-roguelike/powder/files/powder-117-gcc6.patch new file mode 100644 index 000000000000..3a9b7f2af541 --- /dev/null +++ b/games-roguelike/powder/files/powder-117-gcc6.patch @@ -0,0 +1,20 @@ +Bug: https://bugs.gentoo.org/598928 + +--- a/source.txt ++++ b/source.txt +@@ -13400,13 +13400,13 @@ + + BRANCH MAIN + { +- symbol '\\207' ++ symbol static_cast('\\207') + welcome "%U to the main dungeon." + } + + BRANCH TRIDUDE + { +- symbol '\\211' ++ symbol static_cast('\\211') + welcome "%U a cave made of metal." + } + 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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + diff --git a/games-roguelike/powder/powder-117-r1.ebuild b/games-roguelike/powder/powder-117-r1.ebuild new file mode 100644 index 000000000000..e7c6acc40057 --- /dev/null +++ b/games-roguelike/powder/powder-117-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2017 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} + +PATCHES=( "${FILESDIR}"/${PN}-117-gcc6.patch ) + +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/rogue-5.4.4 b/games-roguelike/rogue-5.4.4 deleted file mode 100644 index 238857482c0c..000000000000 --- a/games-roguelike/rogue-5.4.4 +++ /dev/null @@ -1,12 +0,0 @@ -DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack -DEPEND=sys-libs/ncurses[-tinfo] -DESCRIPTION=The original graphical adventure game that spawned an entire genre -EAPI=5 -HOMEPAGE=http://rogue.rogueforge.net/ -KEYWORDS=~amd64 ~x86 -LICENSE=BSD -RDEPEND=sys-libs/ncurses[-tinfo] games-misc/games-envd -SLOT=0 -SRC_URI=http://rogue.rogueforge.net/files/rogue5.4/rogue5.4.4-src.tar.gz -_eclasses_=base 983774947da124fb7d542ce25a218bb1 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc games 2bb3ede665927a68ffdb7c41eec7efde ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=79505edab5ca8bc8183f38ffb0202d98 diff --git a/games-roguelike/rogue/Manifest b/games-roguelike/rogue/Manifest new file mode 100644 index 000000000000..4a6b81669ba1 --- /dev/null +++ b/games-roguelike/rogue/Manifest @@ -0,0 +1,3 @@ +DIST rogue5.4.4-src.tar.gz 209839 BLAKE2B 307b2d81e42fd076ba1a2541987e25113a52aa24adfb9a63b05860c87d7bd26159f699bc7b8b73f3d3cbd6fd93f57c008a7c6682784bdd5ea04d840adc37e91f SHA512 d83f6f953ca8e18630cd8e459b7219393969ab1d6b56c2c0d1fd18d5e2a48e3964300916bcf968d52700973bab60811b73183df1ec89b4e37145a0848586402f +EBUILD rogue-5.4.4.ebuild 640 BLAKE2B cddb66327e500f63b4cf374d37d932006ec7ba5a3f704b2c9afcbca178d8ec4b1a36b644683f04ffd73599c0357c2b2243b76f1072f566e7c5870540aec86da6 SHA512 74acbc5bbb92cf14b0cd3177a1a729e12bc6f2bc1e3c575a2d561d4f93ae8c7e78e7caea2f66467d203018a9ea2db3165fefed5c56963f8760c029e697ee79fe +MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + 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..d82f677b1104 --- /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-0.21.1-r1 b/games-roguelike/scourge-0.21.1-r1 deleted file mode 100644 index 7862cf537a1f..000000000000 --- a/games-roguelike/scourge-0.21.1-r1 +++ /dev/null @@ -1,12 +0,0 @@ -DEFINED_PHASES=configure install prepare -DEPEND=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 sys-devel/gettext virtual/pkgconfig >=app-portage/elt-patches-20170422 !=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 -DESCRIPTION=A graphical rogue-like adventure game -EAPI=6 -HOMEPAGE=https://sourceforge.net/projects/scourge/ -KEYWORDS=~amd64 ~x86 -LICENSE=GPL-2 -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 -SLOT=0 -SRC_URI=mirror://sourceforge/scourge/scourge-0.21.1.src.tar.gz mirror://sourceforge/scourge/scourge-0.21.1.data.tar.gz -_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc flag-o-matic 5128c4729303400bd8d4b0b966530955 libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf wxwidgets 04e063b0eff26daaea83d859dd9d6e05 -_md5_=26355791f04bf0f908f96a7201a275fd diff --git a/games-roguelike/scourge/Manifest b/games-roguelike/scourge/Manifest new file mode 100644 index 000000000000..309f169a6bf7 --- /dev/null +++ b/games-roguelike/scourge/Manifest @@ -0,0 +1,8 @@ +AUX scourge-0.21.1-automake-1.13.patch 288 BLAKE2B e9e9673b357b9ba5b52f5404d7587dfad3eac5bc714a201c9d94cbe6a113cfcd9ef58fc40a34d48c49cd6bfd3cb781a0000f5d00d18b9fe0e3e623d9940e2195 SHA512 24b212c1053fa3445507cc6808abd37cabf43997275f003eb929d7c0671663919b984c2491dc33083d20a09cd67d8e695140ff6957e662ba66f43ddbaf167394 +AUX scourge-0.21.1-freetype_pkgconfig.patch 1083 BLAKE2B a65038dfb1fb031e7566317236c3de2d2b9d50e7903013d92c793420b8c006f3677071ced8361c04c85b717f45c03b7cd2388b18d44801515b7b39a341eef3af SHA512 22dede3318061683ee3fcc2d1b5cb910cb7657d356c14ea7fffaa19921a3393364c9c4b9d12ccb0e0149599dcebeef2abf9127a47c6987cd77d9090b8961f590 +AUX scourge-0.21.1-gcc47.patch 517 BLAKE2B 30a3d2ebec5e25ce4ca9757821996d2a4e8155573b93ec76b2cded90ab4ec102e5796e21854524d3405b10ed798ddca064a2d3c6b11542ddfe2867fe30aae7f8 SHA512 69bca46c3bfad70e42736119da38d7dafba6c589231bdac5ef2591e617ea516337ebf4ed8a547e8da52412711d0eb84f2abae5652ffc19a882fea69f48a4b880 +AUX scourge-0.21.1-gcc6.patch 601 BLAKE2B 78114f97ac4258cde239926c7012568f76b33c7b0fe3e6a52fc0550910f547e6e70e262ab70ecb89052d126406f94a693432ec2c9a9dd05d828c461b9d822ea8 SHA512 521f5ab76423925cef7f2ead25c947fb042bda67d82c6ccdcf55757d9412c017a8eb3ca7ecb09ffd369cd69fcac919c5ed6928b5c1d16149d64b0b03a70a2104 +DIST scourge-0.21.1.data.tar.gz 142093436 BLAKE2B 68e4cc0bfb40e9a92bc38b3db75f36df665974595ba4978cc34e077901522ece9ec5e15203ad9ab5044a61484d6850367306eb60a0da5d168a33e03130fe5774 SHA512 3701aba0f70d71aeb0e185e808e34cea62a637809a9b4c14fd19bdfbf91d36cf8dafa2a4cfddc3ee493827b40eea657fcdddc8277c57a635bc8ca8e3286376be +DIST scourge-0.21.1.src.tar.gz 8146157 BLAKE2B ed48b29a54df1b8c7444ac2985ad069f82568b1e7a5aa98e922fb4fcf10c48840c2c38361a4bf15044c71547cd41d06fdd270b379ae0827b9b5f8063b92c1d18 SHA512 e530a8f7bddc1969a02a8b9a8b272f6f60d2c4830d23d96fc671cb79a2c4097fb9c5c0c262004a8157448b601bf58f9bbff95dd6d98275a28d3d404c339ce2ad +EBUILD scourge-0.21.1-r1.ebuild 1430 BLAKE2B 253248fbd84dd5ffdbdd468bf703e53f08e0dcf948bd62b59dd6c4ab6ae082d95d3ec8ec16a2ad44e45626c2a1f19d689f54f4e94fcb086c49ff8d736e0c049d SHA512 2a17aaa637feff2d8a5b511c6b7fc2a982b21a6357256ae32d7bcc2193212e93669e036873386cdfdd64b4d45627c067967247cf61060cdea00eabf72d8e39a7 +MISC metadata.xml 330 BLAKE2B 126bd0ac9b4d619acfe8978859d29f75e84e445fef6c96117d18d8fc93ad58e69c55096ed3c0e47e1907354bffe3f9e08ce105eedd183c65afe70ea7ce3dec46 SHA512 d47d4afa0adafc93aa43d05190f0a65ac486b6ad4aee54bac96b2f99da7c4a55c6df99b512e4c113c2b4232b8ae294f58966b06081eb89d31fc20b8d9de2e07b 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-freetype_pkgconfig.patch b/games-roguelike/scourge/files/scourge-0.21.1-freetype_pkgconfig.patch new file mode 100644 index 000000000000..d41ee1a44439 --- /dev/null +++ b/games-roguelike/scourge/files/scourge-0.21.1-freetype_pkgconfig.patch @@ -0,0 +1,34 @@ +Index: scourge/configure.in +=================================================================== +--- scourge/configure.in (revision 3411) ++++ scourge/configure.in (working copy) +@@ -56,6 +56,7 @@ + # Set up binreloc (for a relocatable autopackage file) + AM_BINRELOC + ++PKG_PROG_PKG_CONFIG + dnl -------------------------------------------------------------------------- + dnl General options + dnl -------------------------------------------------------------------------- +@@ -413,19 +414,9 @@ + FREETYPE_LIBS=`/sw/lib/freetype2/bin/freetype-config --libs` + have_FREETYPE=yes + else +-AC_MSG_CHECKING([for freetype-config library]) +- +-AC_PATH_PROG(FREETYPE, freetype-config, no) +- +-if test "$FREETYPE" = "no"; then +- AC_MSG_ERROR(Cannot find freetype2: Is freetype-config in path?) +- have_FREETYPE=no +-else +- FREETYPE_CFLAGS=`freetype-config --cflags` +- FREETYPE_LIBS=`freetype-config --libs` +- have_FREETYPE=yes ++ PKG_CHECK_MODULES(FREETYPE, freetype2, have_FREETYPE=yes, ++ AC_MSG_ERROR(Cannot find freetype2)) + fi +-fi + + LIBS="$saved_LIBS" + TR_LIBS="$TR_LIBS $FREETYPE_LIBS" 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 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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + + scourge + + 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..5eeec7c52315 --- /dev/null +++ b/games-roguelike/scourge/scourge-0.21.1-r1.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit autotools desktop 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 + virtual/pkgconfig" + +S="${WORKDIR}/${PN}" + +PATCHES=( + "${FILESDIR}"/${P}-gcc47.patch + "${FILESDIR}"/${P}-gcc6.patch + "${FILESDIR}"/${P}-automake-1.13.patch + "${FILESDIR}"/${P}-freetype_pkgconfig.patch +) + +src_prepare() { + default + + # bug #257601 + sed -i \ + -e '/AC_CHECK_HEADERS.*glext/ s:):, [#include ] ):' \ + 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() { + local myeconfargs=( + --with-data-dir=/usr/share/${PN} + --localedir=/usr/share/locale + ) + econf "${myeconfargs[@]}" +} + +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-0.20.1 b/games-roguelike/stone-soup-0.20.1 deleted file mode 100644 index baf0fe57352b..000000000000 --- a/games-roguelike/stone-soup-0.20.1 +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=compile install postinst postrm preinst prepare setup -DEPEND=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[X,opengl,video] media-libs/sdl2-image[png] virtual/glu virtual/opengl ) dev-lang/perl sys-devel/flex virtual/pkgconfig virtual/yacc tiles? ( sys-libs/ncurses:0 ) >=sys-apps/sed-4 -DESCRIPTION=Role-playing roguelike game of exploration and treasure-hunting in dungeons -EAPI=6 -HOMEPAGE=http://crawl.develz.org/wordpress/ -IUSE=debug luajit ncurses test +tiles -KEYWORDS=~amd64 ~x86 -LICENSE=GPL-2 BSD BSD-2 public-domain CC0-1.0 MIT -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[X,opengl,video] media-libs/sdl2-image[png] virtual/glu virtual/opengl ) -RESTRICT=test -SLOT=0 -SRC_URI=https://crawl.develz.org/release/0.20/stone_soup-0.20.1.tar.xz https://dev.gentoo.org/~hasufell/distfiles/stone-soup.png https://dev.gentoo.org/~hasufell/distfiles/stone-soup.svg -_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 26ca8a8bd95d6a74122c08ba98a4ee72 xdg-utils f2c8335407f0b935b0a96d4adf23ef25 -_md5_=fea45cc7fc1ff707f4363e7c84242bed diff --git a/games-roguelike/stone-soup/Manifest b/games-roguelike/stone-soup/Manifest new file mode 100644 index 000000000000..8336a777257a --- /dev/null +++ b/games-roguelike/stone-soup/Manifest @@ -0,0 +1,6 @@ +AUX stone-soup-0.20.1-rltiles-ldflags-libs.patch 1376 BLAKE2B 86c9408973b1f0f8684281e60f891b3597f4cfa6521e5599243628a15acb5a264f2138712e0ccb71f2ed4ece3e2d2f22f357e866e575c7fd40387c0414f4a68c SHA512 ad139978d67df1d824a772f70d331779ed56cf2cce30c4022804740afd77b6d8b22badd9d20af47b4df0a60499a914f749a3520a5ea76ae3e14795d2bf07affa +DIST stone-soup.png 1351 BLAKE2B cc31abd59701aa6f0fb0bdcd90630ceebf7b3cb8b60f0e2817f8800c5bc4b3a5b9fef63c90a97b6248f306e7e3da0df3863a2195b8771863344d2443e7956d59 SHA512 4695204c8b936f7aac1ba15b02a6115a955fb2c56aa9a0b968ff007bc9a1a59b608110d60cce5625a9b92cd2c869bbea7e15433a53c1a338622809477a5846bc +DIST stone-soup.svg 68546 BLAKE2B 7c66286c9e8a3516e8483b3edb628a59fce29d8d248c3fd5b06e308782bbc651814f21ec958b30c36074a2576ced4bb10f291b5236da6f6e865ce1d7cefdf96d SHA512 dca555271faf704eb8ecdf5ee8a763df42cdeba94e9c163608c438cfc73c6fbf53416547050cad57f477ade191842e701785b65b7a9f18e27ceab05df8f2f75f +DIST stone_soup-0.20.1.tar.xz 28372712 BLAKE2B c12a76afcaf1691a74f23bc2b2927ac2573cb83c602a50aab1567b9e2077c6f12f0847c8c27f17c45941660ab0fac1c28b2531c176c1fc0d4e946b84456d4e75 SHA512 420ccc3c66977da8ae15f9c0465b01a6260ad5db450efced3041455674922e714d9aaed226e1bc32fa3c22bca1ec06bd91979a9378c6ab08fbe1d2bfc3f0da4a +EBUILD stone-soup-0.20.1.ebuild 3567 BLAKE2B 0a0bff0d0242dedb2189853a937d0d4366b78cdf457639a0d7bcf42757404fdf5bb250f69a4fce91b844f551ff2ab2810fd33618c906aaf13843598183ee8bcf SHA512 f796f07117afbc7f2051e1423c8192939aa3edbcf427be5ca0bb86d12f377280fc10b13850420505a423ad1f8a8153ac72800bbfee31441c25183b2ced45f137 +MISC metadata.xml 1546 BLAKE2B f7af831bd9db76d5d95e88db7651c81fc2838f010daa6ff473ea55f82797fb989f2a99e640fea915da87be7255e112f9e4f5766195ad74ec807118908840690e SHA512 7531275c7d11591b8eb8ba4b490a5357bb65d12369b504639b54d3681c364ead0bce2356549028d3a02d06934a3c04ccc57204ee17702b1e7a8866e7960c768b diff --git a/games-roguelike/stone-soup/files/stone-soup-0.20.1-rltiles-ldflags-libs.patch b/games-roguelike/stone-soup/files/stone-soup-0.20.1-rltiles-ldflags-libs.patch new file mode 100644 index 000000000000..010c729b92eb --- /dev/null +++ b/games-roguelike/stone-soup/files/stone-soup-0.20.1-rltiles-ldflags-libs.patch @@ -0,0 +1,45 @@ +--- 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 +@@ -29,7 +29,7 @@ + endif + + CFLAGS += $(PNG_INCLUDE) +- LDFLAGS += $(PNG_LIB) ++ LIBS += $(PNG_LIB) + + CFLAGS += -DUSE_TILE + endif +@@ -39,13 +39,13 @@ + 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 ++LIBS += -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 +@@ -134,6 +134,6 @@ + $(QUIET_HOSTCXX)$(HOSTCXX) $(CFLAGS) -MMD -c $< -o $@ + + $(TILEGEN): $(OBJECTS) +- $(QUIET_HOSTLINK)$(HOSTCXX) $(CFLAGS) $(OBJECTS) -o $@ $(LDFLAGS) ++ $(QUIET_HOSTLINK)$(HOSTCXX) $(CFLAGS) $(OBJECTS) -o $@ $(LDFLAGS) $(LIBS) + + .PHONY: all clean distclean diff --git a/games-roguelike/stone-soup/metadata.xml b/games-roguelike/stone-soup/metadata.xml new file mode 100644 index 000000000000..68e84b34cc48 --- /dev/null +++ b/games-roguelike/stone-soup/metadata.xml @@ -0,0 +1,39 @@ + + + + + games@gentoo.org + Gentoo Games Project + + + http://crawl.develz.org/wordpress/documentation + https://crawl.develz.org/mantis/main_page.php + crawl-ref + + + Enable for graphical (tiled) build. + (can be enabled on top of ncurses) + + Enable for console (uses ncurses) based build. + (can be enabled on top of tiles) + + + + 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! + + diff --git a/games-roguelike/stone-soup/stone-soup-0.20.1.ebuild b/games-roguelike/stone-soup/stone-soup-0.20.1.ebuild new file mode 100644 index 000000000000..6046f53ae7e5 --- /dev/null +++ b/games-roguelike/stone-soup/stone-soup-0.20.1.ebuild @@ -0,0 +1,143 @@ +# 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 versionator + +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/$(get_version_component_range 1-2)/${PN/-/_}-${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[X,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}"/${PN}-0.20.1-rltiles-ldflags-libs.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 debug "FULLDEBUG=y DEBUG=y" "") + $(usex luajit "" "BUILD_LUA=yes") # luajit is not bundled + AR="$(tc-getAR)" + CFOPTIMIZE='' + CFOTHERS="${CXXFLAGS}" + DATADIR="/usr/share/${PN}" + GCC="$(tc-getCC)" + GXX="$(tc-getCXX)" + LDFLAGS="${LDFLAGS}" + MAKEOPTS="${MAKEOPTS}" + PKGCONFIG="$(tc-getPKG_CONFIG)" + RANLIB="$(tc-getRANLIB)" + SAVEDIR="~/.crawl" + STRIP=touch + USE_LUAJIT=$(usex luajit "yes" "") + V=1 + prefix="/usr" + ) + + 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 + + # 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/tome-2.3.5 b/games-roguelike/tome-2.3.5 deleted file mode 100644 index 1966ef4d6d85..000000000000 --- a/games-roguelike/tome-2.3.5 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack -DEPEND=>=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 ) virtual/pkgconfig x11-misc/makedepend -DESCRIPTION=save the world from Morgoth and battle evil (or become evil ;]) -EAPI=5 -HOMEPAGE=http://t-o-m-e.net/ -IUSE=X Xaw3d gtk sdl -KEYWORDS=~amd64 ~x86 -LICENSE=Moria -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 ) games-misc/games-envd -SLOT=0 -SRC_URI=http://t-o-m-e.net/dl/src/tome-235-src.tar.bz2 -_eclasses_=base 983774947da124fb7d542ce25a218bb1 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc games 2bb3ede665927a68ffdb7c41eec7efde ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=13cd9b49f2c9b7303795d99d3cadb70d diff --git a/games-roguelike/tome/Manifest b/games-roguelike/tome/Manifest new file mode 100644 index 000000000000..64535c326611 --- /dev/null +++ b/games-roguelike/tome/Manifest @@ -0,0 +1,6 @@ +AUX 2.3.5-gentoo-paths.patch 1172 BLAKE2B d51e277eac8d270815a8b48a18bd943489036643d53b80d4adab147a7510e4b41f1f9ff1062327f7b441c2aea9e3d6509a1dffa69b60dca32fe36f73a639f8c9 SHA512 1d3f053abcbfee4f2fb1acc2911927b4a51881b0ce50da72d4d617207411b9cdba42cf70324c47535e9e560ee8878f3d0f51d4471dcc2bcfaffb136700c6fd0f +AUX tome-2.3.5-format.patch 2925 BLAKE2B f9d186937649bfc3d409a73cf6a8f067784628374de2c5da656e2f871ba71c3f6edd1837bec79972ecea985f3002374f9edd8184aff3d1c101de25e20cd901a9 SHA512 e8e245e6374ac63effc8f3e1341357f137cd8b4fb378a464e2bd3692d50e5cbd54b7b42b8605346c2d617e1dbb95e42bc9f79a36cc378d07881c73136d603ddb +AUX tome-2.3.5-noX.patch 453 BLAKE2B 4ec72b20f50593b871990d7b65aec1cd51fe5c25c5de29350b7cf1a77063e13d393962efbadc1380aec97ec1889c645faff54470def7c5200be5050c5c7a87c0 SHA512 9c3fe5a8a9fa0e1e1b0e1ffb4ca8a089eda401a04bc6fe14aba8866090cd96ad13f5fac501ae18ce937f13a94439c8c1ebaa80c7fc07d1c4da9c3c8fa80f67c2 +DIST tome-235-src.tar.bz2 2951227 BLAKE2B 7a9a6c608873062f9d6deae38c7e39244ca25d2bbb553d338014078c86b9decc36869c2f39f875425f9c3bb26784d3e460a225c5dabd197437781488f3e15d74 SHA512 f456aa91d18397297c213fa67dd14a4d29e024525be99f83b22cbe42f4d426b57fe6115a7124e3ec34de8f351117de525eab996ba7a2a230119e43639c4c9205 +EBUILD tome-2.3.5.ebuild 3632 BLAKE2B 934ccc63c844f796f064bdf7bed82514c5e849dc0d858ab4d39fd22a11a1ab942a0acfe2f4cc9ae77249bf2a0b86c92591fbf0e09f0aa0c9184f93d91eca5a7a SHA512 bd0335cf3229759ff8e8570e6e3ca84414956d3057aa2c4c134d665d6a5cc9b7945ec6eba588e16075a50428d03833be5489edb5758483e1c6343ba2da0ca100 +MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + 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..cdb3c58fefd5 --- /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-4.6.1a b/games-roguelike/tomenet-4.6.1a deleted file mode 100644 index 8e4da1f82923..000000000000 --- a/games-roguelike/tomenet-4.6.1a +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup unpack -DEPEND=sys-libs/ncurses:0 !dedicated? ( X? ( x11-libs/libX11 ) sound? ( media-libs/libsdl[sound] media-libs/sdl-mixer[vorbis,smpeg,mp3] ) ) virtual/pkgconfig !dedicated? ( sound? ( app-arch/p7zip[wxwidgets] ) ) >=sys-apps/sed-4 -DESCRIPTION=A MMORPG based on the works of J.R.R. Tolkien -EAPI=5 -HOMEPAGE=https://www.tomenet.eu -IUSE=dedicated server +sound X -KEYWORDS=~amd64 ~x86 -LICENSE=Moria -RDEPEND=sys-libs/ncurses:0 !dedicated? ( X? ( x11-libs/libX11 ) sound? ( media-libs/libsdl[sound] media-libs/sdl-mixer[vorbis,smpeg,mp3] ) ) games-misc/games-envd -SLOT=0 -SRC_URI=https://www.tomenet.eu/downloads/tomenet-4.6.1a.tar.bz2 -_eclasses_=base 983774947da124fb7d542ce25a218bb1 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc games 2bb3ede665927a68ffdb7c41eec7efde gnome2-utils 29bb8f7881c95139e532a2d5e47ff834 ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils f2c8335407f0b935b0a96d4adf23ef25 -_md5_=2f8388de6589771553614df081f22df9 diff --git a/games-roguelike/tomenet/Manifest b/games-roguelike/tomenet/Manifest new file mode 100644 index 000000000000..cee0246edf36 --- /dev/null +++ b/games-roguelike/tomenet/Manifest @@ -0,0 +1,6 @@ +AUX tomenet-4.6.1a-makefile.patch 2699 BLAKE2B 480333d83f89c557bbec4bfdbfe0146b2607c8c50269fe365b304575fd92c3948ba00e6b87dfa42a446c92a0830d267b052719b20e0a789c2454a78ab1064de7 SHA512 89e72ec53f43770b3fea6e4d99838eed37c1f537238e7b6c7a16edadcf3755e7611256435702802809575f988238f5f529c4b962994d5d13b34f77b8520cb25d +AUX tomenet-server-wrapper 105 BLAKE2B 3b23750806b3bb3a6b5fa9c99aca0f2dbbcce2852bcb80296fd97b36ffb6fa0896939636fce6938f0874ece0b30abe800d10479431eac2cf6d883332d2b432e9 SHA512 9f509cdcc694fe47eed4cfdcb14f0ab3ea7006c202e7f4d8798012e62b89f34cc26834131412e18d2f0edba4237b6c66f4743ff6b780e3080a52e9da992d8cc3 +AUX tomenet-wrapper 446 BLAKE2B 8fbad2e539cbe8a66eb85acbe5a6f941b5b9519b0832a96091c104638cfc0c0b3909e0b8ee00fcfeeadd70cc2e7b17514ec0b311a4a3986dc665669d167a218d SHA512 f148ad2fb52c060ada829810edc46d3aee6bd6c5229489a52b6af080b38b164c0417157bb8ec21294e16903b3e8328329fbb86645ab57a0f0a4407875844c5a2 +DIST tomenet-4.6.1a.tar.bz2 2990275 BLAKE2B 40d855e4f9e908a8802bba8fd95fcb8c69df026bdc9b891e14a79691e80f7caab48e7826066a761101d932116542d42240457d85998278f8a928dd64ed1ac522 SHA512 eb89cd2276a18947d55efcc745e0b0abc0d9ae8a8d922a4726632657f32657e762bd0530d721afcf9d4ab3eeed2da6e43a3822d1d8c2c3b630fdb4cde924ac9f +EBUILD tomenet-4.6.1a.ebuild 2143 BLAKE2B 5d8d8090b9ee296683e037a2d84d4d0a0fbc02173fb7450bffa6495e041c268e88dba9bd6835d5de171b892f66924e71d712782b79ba5e109befab2760c23065 SHA512 6534f48ea79938264a95c05062ae10d29757b27b83241f73e2e23c6d3e83eda610c3f079c70f981a341335ac2aa2140c8e4e8d4ce3b9afeb20cf307927955c72 +MISC metadata.xml 795 BLAKE2B 61b39e7ecb9d7bee7c9488ba16b75354b92b99fcd6157f8b249406557fb93b7bdb9d476c264b4aec5501bfe73987667e94b21db81d0a6aefea0fac7b76a4d418 SHA512 4e7b25ba67a044e76013a5d2c88979d5f082872e785576b37647face2e0cff9056d138df0cd16db23b5b79328156d110d7adf667ba2481c089569fb02b18a0f1 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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + + Compile server support + + + 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. + + 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..ec80992655ca --- /dev/null +++ b/games-roguelike/tomenet/tomenet-4.6.1a.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2018 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="https://www.tomenet.eu" +SRC_URI="https://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-0.8.0b-r1 b/games-roguelike/wrogue-0.8.0b-r1 deleted file mode 100644 index ecc564559842..000000000000 --- a/games-roguelike/wrogue-0.8.0b-r1 +++ /dev/null @@ -1,12 +0,0 @@ -DEFINED_PHASES=compile install prepare -DEPEND=media-libs/libsdl[video] app-arch/unzip -DESCRIPTION=Gothic science fantasy roguelike game -EAPI=6 -HOMEPAGE=https://freecode.com/projects/wrogue -KEYWORDS=~amd64 ~x86 -LICENSE=GPL-3 -RDEPEND=media-libs/libsdl[video] -SLOT=0 -SRC_URI=mirror://gentoo/wrogue-0.8.0b.zip -_eclasses_=desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=dd9c2693c2d91e8c95d1a6777f4bf25f diff --git a/games-roguelike/wrogue/Manifest b/games-roguelike/wrogue/Manifest new file mode 100644 index 000000000000..b2e0547f6179 --- /dev/null +++ b/games-roguelike/wrogue/Manifest @@ -0,0 +1,4 @@ +AUX wrogue-0.8.0b-ldflags.patch 677 BLAKE2B df5466af213d598171c5439aacacbe5c1698ea27ce15a19b0e931ed6af644c8e7a3fcac27a255f976e04979558833144159594f9c14df6d77966fbe2cc616aa3 SHA512 7ab086f4ee1f41ef6bad9dcb3e936b17389beadcbfcb451312c57ab1539992198795844264a56a5d9ef3afcc031e46d5b3e97714891723c0fe1185ba15a2d498 +DIST wrogue-0.8.0b.zip 433553 BLAKE2B 9a634fe3b20497aab3431824e86b5905eeff90d757d15118227f9e2ffd8e5db9e81c12c43140b8dcd4b4a459f4c6b1b76ff54cf3be1d92dbfc8db5ab23a49fe2 SHA512 f8da3ccc26e36723bbf7654023cdd73747c2ffcb45420b77cc66495b596cc82ca9d90a2d239b12ea95c1185b11bad332cf41fe1b278ee34af6ff1479eb6e4d81 +EBUILD wrogue-0.8.0b-r1.ebuild 1019 BLAKE2B 4a8be6cdb1425e65714b2b644dfdc643b65fc6cc5feacbc03bfdbecd104d0a79ef638fff3eef7989391e13a726d9ce0f461dc2b4c128a7bf39409603d802d824 SHA512 456e58aef2c6b2e10ae47a98b082eba1a1cc51adabcedcb1eaa1c46d7207582b009432f911f34285d124789d1c48b62b47137208b9f07e6e9db0a55a78a95ac3 +MISC metadata.xml 508 BLAKE2B 7de11c7aab57d63ea14d970499459d6d9e9293532b5d87766a2e7b4c26716599ae536aa6d4ecb640684ce917c358a5caceeb15703692fc28043a704b372a0960 SHA512 f4e516bfae05e77bc60eacecaba362ee1709b6d787271df4fa302a438ce682725cb22d7f7b81d3531d0bff548774626ce6b14ac4225e73a4057a505750ae214f 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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + +Warp Rogue is a gothic science fantasy roguelike game. It features RPG-like game +mechanics, recruitable NPCs, and a consistent theme. + + + wrogue + + 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/zangband-2.7.4c b/games-roguelike/zangband-2.7.4c deleted file mode 100644 index 5e0e6e6b7efd..000000000000 --- a/games-roguelike/zangband-2.7.4c +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=compile configure install postinst preinst prepare setup unpack -DEPEND=tk? ( dev-lang/tcl:0= dev-lang/tk:0= ) x11-libs/libXaw x11-base/xorg-proto >=app-portage/elt-patches-20170422 !=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 -DESCRIPTION=An enhanced version of the Roguelike game Angband -EAPI=5 -HOMEPAGE=http://www.zangband.org/ -IUSE=tk -KEYWORDS=~amd64 ~x86 ~x86-fbsd -LICENSE=Moria -RDEPEND=tk? ( dev-lang/tcl:0= dev-lang/tk:0= ) x11-libs/libXaw games-misc/games-envd -SLOT=0 -SRC_URI=ftp://ftp.sunet.se/pub/games/Angband/Variant/ZAngband/zangband-2.7.4c.tar.gz -_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 base 983774947da124fb7d542ce25a218bb1 desktop 1b286a7e7143d8c4ec89cd0d2743a097 epatch 9a5f039771f143195164a15a4faa41a1 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 5b8ce72259e08104b337fe28c6de5dbc games 2bb3ede665927a68ffdb7c41eec7efde libtool 0081a71a261724730ec4c248494f044d ltprune 607e058da37aa6dabfa408b7d61da72e multilib 97f470f374f2e94ccab04a2fb21d811e preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607 user 8bc2845510e2109af75e3eeac607ec81 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=0b053f02d9403dc758a4739035d532d2 diff --git a/games-roguelike/zangband/Manifest b/games-roguelike/zangband/Manifest new file mode 100644 index 000000000000..689c0b875046 --- /dev/null +++ b/games-roguelike/zangband/Manifest @@ -0,0 +1,7 @@ +AUX zangband-2.7.4c-configure.patch 1506 BLAKE2B a1fe4d0c0f1ce58e9487b282d9a0b5e363016c8df93141c6ef3fd63636693e696ad08d2e57242e2b62670257a395f623c795983dc646981f9bec0df99c244a26 SHA512 a5f0e8265aa05da7881b0e194bd4b1cc07d1376ad14d20bb4707d08ba1042a919d57f5ec7a8c990fd1d7f13d9dd8e5f147c1816eb99f2589dfdf0d399161c3ea +AUX zangband-2.7.4c-makefile.patch 631 BLAKE2B 0266dbb4b40ef515ac6ab0c1f807fe56ea7f5254f43803900330dfe4e573283b484c88c1e3d953a6e11beec2e12b4ddf7c87495bf8e11a996ed3f2ffe4ab4620 SHA512 c6453d867336a7974757b1240a28715fd0e801d59f61fed23d053be86c7cdf6ea07bc874415b860076a4e5fd08537eff17793f0caa52a2bdb219514a7b8d1fd8 +AUX zangband-2.7.4c-rng.patch 285 BLAKE2B fa32ebcf9ce2e2da9f004d6973c19355e9ba813d870a5e309084f008ea014452f0d1597d6f92a370f46b29a2571b2914d6519c31b4af506daf6c5ef27271c31c SHA512 ff6e63d15c8d6243b24fc580c8e21c556edf578b5c31b6c0af62db8f096e4e47ebe50d201811d834ba32af678e5c6775b4d4426295dd3d87dbd8ce798d13528c +AUX zangband-2.7.4c-tk85.patch 1405 BLAKE2B 082065c1549874160c348d534167a440ef57ee1d74a4f1fc3f290360216ab58a19e2717d4e8f387d925dc8e67dffd7245ea1309d55d2b4888e6f37d16356f182 SHA512 358edb61b0703dabbe780a2fdca284b80c1fd68dba16e1b70de42b96c7407e5eaf6d9304789c2a37098c1ed2c10690731c9ad10002995f82c6289c1657d2e2c3 +DIST zangband-2.7.4c.tar.gz 2821355 BLAKE2B 5d541ad0e24d61000194beb6d5139b3ff5236de3e48ace9861716c953303f5b37c855c933e7aaab711ff7389a7f81e644654535f88f83cd999484d3e4254f4ad SHA512 491dfeb72b6eb34f7feaa45d5360014da8eaeccd173dd75b3f7a1c2034e4fb634817493957b75babc0d9600077a80d88529cf2e86769948fc86d05e59958356e +EBUILD zangband-2.7.4c.ebuild 1587 BLAKE2B c1696398fe6e4447110bbdd1f0f1960601af60cf39c7b2f13b9b784e7e5fecf979ad7e0d8e460b24f0d43361485edefe3cef648ff1a081b0760fbda546e7e7a5 SHA512 56a411b47d93d89f7dc779d768af1dc0efe39a209064d78aec2047556e85405764eaa75c6e2b3e75165074c3ecb2bee3db3288cdeca7dbb72f2b3abef3c45601 +MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 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 @@ + + + + + games@gentoo.org + Gentoo Games Project + + 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..90b697ebbc8a --- /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-base/xorg-proto" + +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} +} -- cgit v1.2.3