summaryrefslogtreecommitdiff
path: root/games-roguelike/mangband
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /games-roguelike/mangband
reinit the tree, so we can have metadata
Diffstat (limited to 'games-roguelike/mangband')
-rw-r--r--games-roguelike/mangband/Manifest6
-rw-r--r--games-roguelike/mangband/files/mangband-1.1.3-paths.patch118
-rw-r--r--games-roguelike/mangband/files/mangband-1.1.3-strchr.patch22
-rw-r--r--games-roguelike/mangband/mangband-1.1.3.ebuild83
-rw-r--r--games-roguelike/mangband/metadata.xml12
5 files changed, 241 insertions, 0 deletions
diff --git a/games-roguelike/mangband/Manifest b/games-roguelike/mangband/Manifest
new file mode 100644
index 000000000000..d144dda95965
--- /dev/null
+++ b/games-roguelike/mangband/Manifest
@@ -0,0 +1,6 @@
+AUX mangband-1.1.3-paths.patch 3029 SHA256 81766b3e898dd801f7a7707787b0951a285abc304ea948e3d0f1f604a2ed27f1 SHA512 3dc510a04e339f06a654d8c5b6b5c7059e451a4d7669a4709d4efbdf9bd667993d67411b8338cbfe837c9b7e4ce9123d72a2eafb0ac86daaa68161bc061483c4 WHIRLPOOL aeda4ea2ff8569e7f31b06b80888c3394f32abbd9b3f61ed00403d1f67b96e0be16f9aa96c237b8f289defae1c6105a23754e664bf8ee59293f0fc8b420bfeec
+AUX mangband-1.1.3-strchr.patch 371 SHA256 d37708b57cbd9bc4eadb3d6e7e12764332b68f993d38236df4e84202027db309 SHA512 f6bef0974416ff6f2036fe6a08db85b1353234a88f38134bc9ab739d26c44a914150044cd2ca80c141b7fd111c3b3f5f1acca1d111ec5d6c6586ac438bb5dcc3 WHIRLPOOL 7310b95a6ef6a7899e462923d8a100c11a29505c03f53d64a7a0c875d8def66b56e9d854cc154c236dd9c6612e726492df120bee6896682e7ab744bceadc1e80
+DIST mangband-1.1.3.tar.gz 1497078 SHA256 d4917c51fc84a0626db1b09f6cf8b0ebc4522dd8ab34334e56fba8275ede9069 SHA512 5efda352607953e94a433bf9aabb496419a22c984dc9e054cebc90623682da23a90fb6cb910fcc950010d469571f2af515bfa7740c921add44ac9ea95e723130 WHIRLPOOL 28bf625bf930dff87e66ef8f500043a061b5834e830b1f377f7115c824432fc8025ab687fb6bc3bf69e73c8316ece0f4707cf6550ba3f6560d1c2b456c510bd0
+EBUILD mangband-1.1.3.ebuild 2048 SHA256 655f44e0974b11a968d06e7a9eaa4f50bf36ef6c2dd7912790bacd567d18db3a SHA512 8f1b2a0afb6f3b600730b64aaf79ed9834397c8ce5d7f85279b5b481a258b0f35493e00258d38880bf0e7c37ba149d5e2765862a1aa4e2469dd0fda66434e4f7 WHIRLPOOL 9e0244e5628076f64ac38f94e44db9d470b16b7542307637ddc0ff90167b027973702ca9924a3c9cc3c9ca3eef58f65c95fe6c0627bf7e8181f95113303a00bf
+MISC ChangeLog 530 SHA256 a27c9c1a00990521f67c4b859aa9e436159f581e83331d10858808e60e537221 SHA512 ee0a7bfa10fa1c4b7f0632c5d53f12cb75d6b5e33df554c44955d538a722cdcd2c2bc35015e21126c67cb4a7d4a59dc2966d0e971b47927cc12893fe8a5ea669 WHIRLPOOL 99c4d395a3070efc1a4dc3183832b013439f91808b6136e5710b1d3c6048255022225e065a24ea2c6bbb9ee087b87ee9292f4d738481df1abebc12cd1ed1c1da
+MISC metadata.xml 386 SHA256 659b4aadc2d52c0277fb57ca4bce9da9b6f1f8529faa7ab4430e1dd448f683cc SHA512 58fc9278b48b83d30722d7c98f2346d1ee4efa1b9a5e350a72e68d977ceef6f265152ee6e2c596f80667afe2719bd7aeb0974a009f6c56d092b3d6130af5603c WHIRLPOOL c06c6a73c04addbbb6da21e9667b73d6f6f9b49e0cbd8cf8d3348321530228c00669706120509e9f7a8824ee3743ebf303f0c403cb77ff8964289372dda8b110
diff --git a/games-roguelike/mangband/files/mangband-1.1.3-paths.patch b/games-roguelike/mangband/files/mangband-1.1.3-paths.patch
new file mode 100644
index 000000000000..dd9551570196
--- /dev/null
+++ b/games-roguelike/mangband/files/mangband-1.1.3-paths.patch
@@ -0,0 +1,118 @@
+diff --git a/src/config.h.in b/src/config.h.in
+index e8efdca..9a6290a 100644
+--- a/config.h.in
++++ a/config.h.in
+@@ -473,6 +473,9 @@
+ #ifndef DEFAULT_PATH
+ # define DEFAULT_PATH "./lib/"
+ #endif
++#ifndef DEFAULT_PATH_W
++# define DEFAULT_PATH_W DEFAULT_PATH
++#endif
+
+
+ /*
+diff --git a/src/server/externs.h b/src/server/externs.h
+index 249e41b..e1a5c4f 100644
+--- a/server/externs.h
++++ a/server/externs.h
+@@ -644,7 +644,7 @@ extern errr init_e_info_txt(FILE *fp, char *buf);
+ extern errr init_r_info_txt(FILE *fp, char *buf);
+
+ /* init.c */
+-extern void init_file_paths(char *path);
++extern void init_file_paths(char *path, char *path2);
+ extern void init_some_arrays(void);
+ extern void load_server_cfg(void);
+
+diff --git a/src/server/init2.c b/src/server/init2.c
+index 00d8a01..27fd2b7 100644
+--- a/server/init2.c
++++ a/server/init2.c
+@@ -63,10 +63,11 @@
+ * to succeed even if the strings have not been allocated yet,
+ * as long as the variables start out as "NULL".
+ */
+-void init_file_paths(char *path)
++void init_file_paths(char *path, char *path2)
+ {
+ char *tail;
+-
++ char *tail2;
++ char *tmp;
+
+ /*** Free everything ***/
+
+@@ -103,6 +104,10 @@ void init_file_paths(char *path)
+ /* Prepare to append to the Base Path */
+ tail = path + strlen(path);
+
++ tmp = string_make(path2);
++
++ /* Prepare to append to the Base Path */
++ tail2 = path2 + strlen(path2);
+
+ #ifdef VM
+
+@@ -123,8 +128,8 @@ void init_file_paths(char *path)
+ /*** Build the sub-directory names ***/
+
+ /* Build a path name */
+- strcpy(tail, "data");
+- ANGBAND_DIR_DATA = string_make(path);
++ strcpy(tail2, "data");
++ ANGBAND_DIR_DATA = string_make(path2);
+
+ /* Build a path name */
+ strcpy(tail, "edit");
+@@ -147,16 +152,16 @@ void init_file_paths(char *path)
+ ANGBAND_DIR_PREF = string_make(path);
+ #endif
+ /* Build a path name */
+- strcpy(tail, "save");
+- ANGBAND_DIR_SAVE = string_make(path);
++ strcpy(tail2, "save");
++ ANGBAND_DIR_SAVE = string_make(path2);
+
+ /* Build a path name */
+ strcpy(tail, "text");
+ ANGBAND_DIR_TEXT = string_make(path);
+
+ /* Build a path name */
+- strcpy(tail, "user");
+- ANGBAND_DIR_USER = string_make(path);
++ strcpy(tail2, "user");
++ ANGBAND_DIR_USER = string_make(path2);
+ #if 0
+ /* Build a path name */
+ strcpy(tail, "apex");
+diff --git a/src/server/main.c b/src/server/main.c
+index 4260b8d..7884b2f 100644
+--- a/server/main.c
++++ a/server/main.c
+@@ -142,6 +142,7 @@ extern unsigned _ovrbuffer = 0x1500;
+ static void init_stuff(void)
+ {
+ char path[1024];
++ char path2[1024];
+
+ #if defined(AMIGA) || defined(VM)
+
+@@ -161,10 +162,16 @@ static void init_stuff(void)
+ /* Hack -- Add a path separator (only if needed) */
+ if (!suffix(path, PATH_SEP)) strcat(path, PATH_SEP);
+
++ /* Use the angband_path, or a default */
++ strcpy(path2, tail ? tail : DEFAULT_PATH_W);
++
++ /* Hack -- Add a path separator (only if needed) */
++ if (!suffix(path2, PATH_SEP)) strcat(path2, PATH_SEP);
++
+ #endif /* AMIGA / VM */
+
+ /* Initialize */
+- init_file_paths(path);
++ init_file_paths(path, path2);
+ }
+
+ /*
diff --git a/games-roguelike/mangband/files/mangband-1.1.3-strchr.patch b/games-roguelike/mangband/files/mangband-1.1.3-strchr.patch
new file mode 100644
index 000000000000..f1fa19e1191e
--- /dev/null
+++ b/games-roguelike/mangband/files/mangband-1.1.3-strchr.patch
@@ -0,0 +1,22 @@
+diff --git a/src/common/h-system.h b/src/common/h-system.h
+index f60bbc1..0294dd3 100644
+--- a/common/h-system.h
++++ a/common/h-system.h
+@@ -104,17 +104,6 @@
+
+ #ifdef SET_UID
+
+-# ifdef USG
+-# include <string.h>
+-# else
+-# include <strings.h>
+-extern char *strstr();
+-extern char *strchr();
+-extern char *strrchr();
+-# endif
+-
+-#else
+-
+ # include <string.h>
+
+ #endif
diff --git a/games-roguelike/mangband/mangband-1.1.3.ebuild b/games-roguelike/mangband/mangband-1.1.3.ebuild
new file mode 100644
index 000000000000..880306d0d6c0
--- /dev/null
+++ b/games-roguelike/mangband/mangband-1.1.3.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils flag-o-matic user
+
+DESCRIPTION="Online multiplayer real-time roguelike game, derived from Angband."
+HOMEPAGE="http://www.mangband.org"
+SRC_URI="http://www.mangband.org/download/${P}.tar.gz"
+
+#RESTRICT=nomirror # for ebuild debugging
+
+LICENSE="Moria"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ncurses sdl X"
+
+# Remove this once we hit MAngband 1.2:
+S="${WORKDIR}/${P}"/src
+
+RDEPEND="
+ ncurses? ( sys-libs/ncurses:= )
+ sdl? ( media-libs/libsdl )
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-strchr.patch"
+ "${FILESDIR}/${P}-paths.patch" )
+
+MY_DATADIR=/usr/share/"${PN}"
+MY_STATEDIR=/var/lib/"${PN}"
+MY_SYSCONFDIR=/etc
+
+src_configure() {
+ append-cflags "-DDEFAULT_PATH='\"${MY_DATADIR}\"' -DDEFAULT_PATH_W='\"${MY_STATEDIR}\"'"
+ econf \
+ $(use_with ncurses gcu) \
+ $(use_with X x11) \
+ $(use_with sdl)
+}
+
+pkg_setup() {
+ # mangband server uses own user/group:
+ enewgroup mangband
+ enewuser mangband -1 -1 -1 "mangband"
+}
+
+src_install() {
+# Newer versions of MAngband have "make install", so we could use..
+# emake DESTDIR="${D}" install
+# dodoc NEWS README INSTALL AUTHORS
+#..but not yet
+
+ dobin mangband mangclient
+
+ # Read-only data
+ insinto "${MY_DATADIR}"
+ doins -r "${WORKDIR}/${P}"/lib/{edit,file,help,text,xtra,user}
+
+ # Server config
+ insinto "${MY_SYSCONFDIR}"
+ doins "${WORKDIR}/${P}"/mangband.cfg
+
+ # Read-write data
+ insinto "${MY_STATEDIR}"
+ doins -r "${WORKDIR}/${P}"/lib/{data,save,user}
+
+ fowners -R mangband:mangband "${MY_STATEDIR}"/{data,save,user}
+ fperms -R 2664 "${MY_STATEDIR}"/{data,save,user}
+ fperms 2775 "${MY_STATEDIR}"/{data,save,user}
+
+ # Docs
+ #dodoc ${WORKDIR}/${P}/LICENSE
+}
+
+pkg_postinst() {
+ echo
+ elog "Make sure LibDir is either unset in ~/.mangrc or points to"
+ elog " ${MY_DATADIR} for 'mangclient' to pick it up."
+ elog "Server binary is called 'mangband', and must be run under user"
+ elog " mangband, i.e. 'sudo -u mangband mangband' "
+ echo
+}
diff --git a/games-roguelike/mangband/metadata.xml b/games-roguelike/mangband/metadata.xml
new file mode 100644
index 000000000000..11e4ff3a600c
--- /dev/null
+++ b/games-roguelike/mangband/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>flambard@mangband.org</email>
+ <description>Proxied Maintainer</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+</pkgmetadata>