summaryrefslogtreecommitdiff
path: root/games-roguelike/nethack
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 20:58:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 20:58:29 +0100
commit0cf2f20608308acdf3cb922c3736446bbd8f3388 (patch)
tree07815070629c7c11000a7f51ceb8ccbccb49a809 /games-roguelike/nethack
parent1798c4aeca70ac8d0a243684d6a798fbc65735f8 (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'games-roguelike/nethack')
-rw-r--r--games-roguelike/nethack/Manifest8
-rw-r--r--games-roguelike/nethack/files/nethack-3.6.0-hint-tty19
-rw-r--r--games-roguelike/nethack/files/nethack-3.6.0-hint-x1123
-rw-r--r--games-roguelike/nethack/files/nethack-3.6.0-nethackrc103
-rw-r--r--games-roguelike/nethack/files/nethack-3.6.0-recover.patch110
-rw-r--r--games-roguelike/nethack/files/nethack-3.6.0-x11-color.patch186
-rw-r--r--games-roguelike/nethack/metadata.xml18
-rw-r--r--games-roguelike/nethack/nethack-3.6.0-r3.ebuild143
8 files changed, 0 insertions, 610 deletions
diff --git a/games-roguelike/nethack/Manifest b/games-roguelike/nethack/Manifest
deleted file mode 100644
index b9e46217d4d6..000000000000
--- a/games-roguelike/nethack/Manifest
+++ /dev/null
@@ -1,8 +0,0 @@
-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
deleted file mode 100644
index 3c250e7e719c..000000000000
--- a/games-roguelike/nethack/files/nethack-3.6.0-hint-tty
+++ /dev/null
@@ -1,19 +0,0 @@
-#-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
deleted file mode 100644
index d0d1a8d4cd42..000000000000
--- a/games-roguelike/nethack/files/nethack-3.6.0-hint-x11
+++ /dev/null
@@ -1,23 +0,0 @@
-#-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
deleted file mode 100644
index 33c98064341f..000000000000
--- a/games-roguelike/nethack/files/nethack-3.6.0-nethackrc
+++ /dev/null
@@ -1,103 +0,0 @@
-## 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
deleted file mode 100644
index c7e8ab3dca08..000000000000
--- a/games-roguelike/nethack/files/nethack-3.6.0-recover.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From c15cf56e61c908ce756d698a8afa3064030761b3 Mon Sep 17 00:00:00 2001
-From: Luis Ressel <aranea@aixah.de>
-Date: Fri, 18 Dec 2015 23:16:56 +0100
-Subject: [PATCH] doc: Rename recover to recover-nethack
-
----
- doc/recover.6 | 30 +++++++++++++++---------------
- 1 file changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/doc/recover.6 b/doc/recover.6
-index 4c9f509..edd05e3 100644
---- a/doc/recover.6
-+++ b/doc/recover.6
-@@ -1,10 +1,10 @@
--.TH RECOVER 6 "9 January 1993"
-+.TH RECOVER-NETHACK 6 "9 January 1993"
- .\" NetHack 3.6 recover.6 $NHDT-Date: 1432512786 2015/05/25 00:13:06 $ $NHDT-Branch: master $:$NHDT-Revision: 1.6 $
- .UC 4
- .SH NAME
--recover \- recover a NetHack game interrupted by disaster
-+recover-nethack \- recover a NetHack game interrupted by disaster
- .SH SYNOPSIS
--.B recover
-+.B recover-nethack
- [
- .B \-d
- .I directory
-@@ -22,7 +22,7 @@ so such games can be recovered at the point of the last level change.
- The
- .I base
- options tell
--.I recover
-+.I recover-nethack
- which files to process.
- Each base option specifies recovery of a separate game.
- .PP
-@@ -72,47 +72,47 @@ by a user number to avoid conflicts,
- or "xlock" if the number of concurrent players is being limited.
- It may be necessary to look in the playground to find the correct
- base name of the interrupted game.
--.I recover
-+.I recover-nethack
- will transform these level files into a save file of the same name as
- .I nethack
- would have used.
- .PP
- Since
--.I recover
-+.I recover-nethack
- must be able to read and delete files from the playground
- and create files in the save directory,
- it has interesting interactions with game security.
- Giving ordinary players access to
--.I recover
-+.I recover-nethack
- through setuid or setgid is tantamount to leaving the playground
- world-writable,
- with respect to both cheating and messing up other players.
- For a single-user system, this of course does not change anything,
- so some of the microcomputer ports install
--.I recover
-+.I recover-nethack
- by default.
- .PP
- For a multi-user system,
- the game administrator may want to arrange for all .0 files in the
--playground to be fed to recover when the host machine boots,
-+playground to be fed to recover-nethack when the host machine boots,
- and handle game crashes individually.
- If the user population is sufficiently trustworthy,
--.I recover
-+.I recover-nethack
- can be installed with the same permissions the
- .I nethack
- executable has.
- In either case,
--.I recover
-+.I recover-nethack
- is easily compiled from the distribution utility directory.
- .SH NOTES
- .PP
- Like
- .I nethack
- itself,
--.I recover
-+.I recover-nethack
- will overwrite existing savefiles of the same name.
- Savefiles created by
--.I recover
-+.I recover-nethack
- are uncompressed;
- they may be compressed afterwards if desired,
- but even a compression-using
-@@ -122,11 +122,11 @@ will find them in the uncompressed form.
- nethack(6)
- .SH BUGS
- .PP
--.I recover
-+.I recover-nethack
- makes no attempt to find out if a base name specifies a game in progress.
- If multiple machines share a playground, this would be impossible to
- determine.
- .PP
--.I recover
-+.I recover-nethack
- should be taught to use the nethack playground locking mechanism to
- avoid conflicts.
---
-2.6.4
-
diff --git a/games-roguelike/nethack/files/nethack-3.6.0-x11-color.patch b/games-roguelike/nethack/files/nethack-3.6.0-x11-color.patch
deleted file mode 100644
index d34ca029d51a..000000000000
--- a/games-roguelike/nethack/files/nethack-3.6.0-x11-color.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From f92bf2b495450d323e157eb41130c79a3d369239 Mon Sep 17 00:00:00 2001
-From: PatR <rankin@nethack.org>
-Date: Mon, 8 Feb 2016 19:01:26 -0800
-Subject: [PATCH] fix #H4237 - color ignored for X11 text map
-
-Color was only being tracked for locations that had the pile of
-objects flag set. And hilite_pile made a monster on a pile take
-on the color of the top object of the pile.
-
-This restores the tracking of color for the whole map, and makes
-highlighted piles be drawn in inverse like highligted pets. The
-drawing routine doesn't know the difference (but could tell, if
-necessary, by testing whether the glyph is an object or a monster).
-
-Also, variables 'inbuf', 'inptr', and 'incount' were global; limit
-their scope to winmap.c.
----
- win/X11/winmap.c | 68 +++++++++++++++++++++++++++-----------------------------
- 1 file changed, 33 insertions(+), 35 deletions(-)
-
-diff --git a/win/X11/winmap.c b/win/X11/winmap.c
-index 93f5dd6..523e13d 100644
---- a/win/X11/winmap.c
-+++ b/win/X11/winmap.c
-@@ -102,6 +102,7 @@ int bkglyph UNUSED;
- int color, och;
- unsigned special;
- #ifdef TEXTCOLOR
-+ int colordif;
- register unsigned char *co_ptr;
- #endif
-
-@@ -116,24 +117,22 @@ int bkglyph UNUSED;
-
- /* Only update if we need to. */
- ch_ptr = &map_info->text_map.text[y][x];
--
--#ifdef TEXTCOLOR
-- co_ptr = &map_info->text_map.colors[y][x];
-- if (*ch_ptr != ch || *co_ptr != color)
--#else
-- if (*ch_ptr != ch)
--#endif
-- {
-+ if (*ch_ptr != ch) {
- *ch_ptr = ch;
-+ if (!map_info->is_tile)
-+ update_bbox = TRUE;
-+ }
- #ifdef TEXTCOLOR
-- if ((special & MG_PET) && iflags.hilite_pet)
-- color += CLR_MAX;
-- if ((special & MG_OBJPILE) && iflags.hilite_pile)
-- *co_ptr = color;
--#endif
-+ co_ptr = &map_info->text_map.colors[y][x];
-+ colordif = (((special & MG_PET) && iflags.hilite_pet)
-+ || ((special & MG_OBJPILE) && iflags.hilite_pile))
-+ ? CLR_MAX : 0;
-+ if (*co_ptr != (uchar) (color + colordif)) {
-+ *co_ptr = (uchar) (color + colordif);
- if (!map_info->is_tile)
- update_bbox = TRUE;
- }
-+#endif
- }
-
- if (update_bbox) { /* update row bbox */
-@@ -844,7 +843,8 @@ Font font;
- set_color_gc(CLR_BRIGHT_CYAN, XtNbright_cyan);
- set_color_gc(CLR_WHITE, XtNwhite);
- #else
-- set_gc(wp->w, font, XtNforeground, bgpixel, &map_info->text_map.copy_gc,
-+ set_gc(wp->w, font, XtNforeground, bgpixel,
-+ &map_info->text_map.copy_gc,
- &map_info->text_map.inv_copy_gc);
- #endif
- }
-@@ -943,17 +943,17 @@ struct xwindow *wp;
-
- map_all_stone(map_info);
- (void) memset((genericptr_t) map_info->text_map.text, ' ',
-- sizeof(map_info->text_map.text));
-+ sizeof map_info->text_map.text);
- #ifdef TEXTCOLOR
- (void) memset((genericptr_t) map_info->text_map.colors, NO_COLOR,
-- sizeof(map_info->text_map.colors));
-+ sizeof map_info->text_map.colors);
- #endif
-
- /* force a full update */
- (void) memset((genericptr_t) map_info->t_start, (char) 0,
-- sizeof(map_info->t_start));
-+ sizeof map_info->t_start);
- (void) memset((genericptr_t) map_info->t_stop, (char) COLNO - 1,
-- sizeof(map_info->t_stop));
-+ sizeof map_info->t_stop);
- display_map_window(wp);
- }
-
-@@ -978,8 +978,8 @@ struct xwindow *wp;
- #ifdef VERBOSE
- printf("Font information:\n");
- printf("fid = %ld, direction = %d\n", fs->fid, fs->direction);
-- printf("first = %d, last = %d\n", fs->min_char_or_byte2,
-- fs->max_char_or_byte2);
-+ printf("first = %d, last = %d\n",
-+ fs->min_char_or_byte2, fs->max_char_or_byte2);
- printf("all chars exist? %s\n", fs->all_chars_exist ? "yes" : "no");
- printf("min_bounds:lb=%d rb=%d width=%d asc=%d des=%d attr=%d\n",
- fs->min_bounds.lbearing, fs->min_bounds.rbearing,
-@@ -990,8 +990,8 @@ struct xwindow *wp;
- fs->max_bounds.width, fs->max_bounds.ascent,
- fs->max_bounds.descent, fs->max_bounds.attributes);
- printf("per_char = 0x%lx\n", (unsigned long) fs->per_char);
-- printf("Text: (max) width = %d, height = %d\n", text_map->square_width,
-- text_map->square_height);
-+ printf("Text: (max) width = %d, height = %d\n",
-+ text_map->square_width, text_map->square_height);
- #endif
-
- if (fs->min_bounds.width != fs->max_bounds.width)
-@@ -1002,9 +1002,9 @@ struct xwindow *wp;
- * keyhit buffer
- */
- #define INBUF_SIZE 64
--int inbuf[INBUF_SIZE];
--int incount = 0;
--int inptr = 0; /* points to valid data */
-+static int inbuf[INBUF_SIZE];
-+static int incount = 0;
-+static int inptr = 0; /* points to valid data */
-
- /*
- * Keyboard and button event handler for map window.
-@@ -1249,8 +1249,8 @@ boolean inverted;
- }
-
- #ifdef VERBOSE_UPDATE
-- printf("update: [0x%x] %d %d %d %d\n", (int) wp->w, start_row, stop_row,
-- start_col, stop_col);
-+ printf("update: [0x%x] %d %d %d %d\n",
-+ (int) wp->w, start_row, stop_row, start_col, stop_col);
- #endif
- win_start_row = start_row;
- win_start_col = start_col;
-@@ -1273,8 +1273,8 @@ boolean inverted;
- src_y = (tile / TILES_PER_ROW) * tile_height;
- XCopyArea(dpy, tile_pixmap, XtWindow(wp->w),
- tile_map->black_gc, /* no grapics_expose */
-- src_x, src_y, tile_width, tile_height, dest_x,
-- dest_y);
-+ src_x, src_y, tile_width, tile_height,
-+ dest_x, dest_y);
-
- if (glyph_is_pet(glyph) && iflags.hilite_pet) {
- /* draw pet annotation (a heart) */
-@@ -1412,10 +1412,8 @@ Dimension cols, rows;
- }
-
- num_args = 0;
-- XtSetArg(args[num_args], XtNwidth, wp->pixel_width);
-- num_args++;
-- XtSetArg(args[num_args], XtNheight, wp->pixel_height);
-- num_args++;
-+ XtSetArg(args[num_args], XtNwidth, wp->pixel_width); num_args++;
-+ XtSetArg(args[num_args], XtNheight, wp->pixel_height); num_args++;
- XtSetValues(wp->w, args, num_args);
- }
-
-@@ -1426,10 +1424,10 @@ struct xwindow *wp;
- struct map_info_t *map_info = wp->map_information;
- struct text_map_info_t *text_map = &map_info->text_map;
-
-- (void) memset((genericptr_t) text_map->text, ' ', sizeof(text_map->text));
-+ (void) memset((genericptr_t) text_map->text, ' ', sizeof text_map->text);
- #ifdef TEXTCOLOR
- (void) memset((genericptr_t) text_map->colors, NO_COLOR,
-- sizeof(text_map->colors));
-+ sizeof text_map->colors);
- #endif
-
- get_char_info(wp);
---
-2.7.1
-
diff --git a/games-roguelike/nethack/metadata.xml b/games-roguelike/nethack/metadata.xml
deleted file mode 100644
index b4c23c3cf2d8..000000000000
--- a/games-roguelike/nethack/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>aranea@aixah.de</email>
- <name>Luis Ressel</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="sourceforge">nethack</remote-id>
- </upstream>
- <use>
- <flag name="experimental">Enable experimental features (showscore and status_hilite)</flag>
- </use>
-</pkgmetadata>
diff --git a/games-roguelike/nethack/nethack-3.6.0-r3.ebuild b/games-roguelike/nethack/nethack-3.6.0-r3.ebuild
deleted file mode 100644
index fa9302932cb1..000000000000
--- a/games-roguelike/nethack/nethack-3.6.0-r3.ebuild
+++ /dev/null
@@ -1,143 +0,0 @@
-# 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
-}