diff --git a/Ports/AvailablePorts.md b/Ports/AvailablePorts.md index 0553ddf596..ce31660ea3 100644 --- a/Ports/AvailablePorts.md +++ b/Ports/AvailablePorts.md @@ -72,6 +72,7 @@ Please make sure to keep this list up to date when adding and updating ports. :^ | [`ncurses`](ncurses/) | ncurses | 6.2 | https://invisible-island.net/ncurses/announce.html | | [`neofetch`](neofetch/) | neofetch | 7.1.0 | https://github.com/dylanaraps/neofetch | | [`nesalizer`](nesalizer/) | Nesalizer | | https://github.com/SerenityOS/nesalizer | +| [`nethack`](nethack/) | nethack | 3.6.6 | https://www.nethack.org/ | | [`ninja`](ninja/) | Ninja | 1.8.2 | https://ninja-build.org/ | | [`npth`](npth/) | New GNU Portable Threads Library | 1.6 | https://gnupg.org/software/npth/index.html | | [`ntbtls`](ntbtls/) | The Not Too Bad TLS Library | 0.2.0 | https://gnupg.org/software/ntbtls/index.html | diff --git a/Ports/nethack/package.sh b/Ports/nethack/package.sh new file mode 100755 index 0000000000..d062bd395d --- /dev/null +++ b/Ports/nethack/package.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env -S bash ../.port_include.sh +port=nethack +version=3.6.6 +workdir=NetHack-NetHack-${version}_Released +files="https://www.nethack.org/download/${version}/nethack-${version//.}-src.tgz nethack-${version//.}-src.tgz" +depends="ncurses bash" + +build() { + run sys/unix/setup.sh sys/unix/hints/serenity + if [ ! -f ${workdir}/util/makedefs.host ]; then + host_env + run make -C util makedefs $makeopts + run cp util/makedefs util/makedefs.host + run make -C util dgn_comp $makeopts + run cp util/dgn_comp util/dgn_comp.host + run make -C util lev_comp $makeopts + run cp util/lev_comp util/lev_comp.host + run make -C util dlb $makeopts + run cp util/dlb util/dlb.host + target_env + run make clean + fi + run make $makeopts +} diff --git a/Ports/nethack/patches/fcntl.patch b/Ports/nethack/patches/fcntl.patch new file mode 100644 index 0000000000..ccef31407a --- /dev/null +++ b/Ports/nethack/patches/fcntl.patch @@ -0,0 +1,14 @@ +diff -Naur NetHack-NetHack-3.6.6_Released/include/unixconf.h NetHack-NetHack-3.6.6_Released.serenity/include/unixconf.h +--- NetHack-NetHack-3.6.6_Released/include/unixconf.h 2020-03-08 18:29:31.000000000 +0100 ++++ NetHack-NetHack-3.6.6_Released.serenity/include/unixconf.h 2021-04-11 21:54:47.295254864 +0200 +@@ -246,8 +246,10 @@ + * Comment out the USE_FCNTL if for some reason you have a strange + * OS/filesystem combination for which fcntl(2) does not work. */ + #ifdef POSIX_TYPES ++#ifndef __serenity__ + #define USE_FCNTL + #endif ++#endif + + /* + * The remainder of the file should not need to be changed. diff --git a/Ports/nethack/patches/host-tools-inttype.patch b/Ports/nethack/patches/host-tools-inttype.patch new file mode 100644 index 0000000000..216f8a09e4 --- /dev/null +++ b/Ports/nethack/patches/host-tools-inttype.patch @@ -0,0 +1,165 @@ +diff -Naur NetHack-NetHack-3.6.6_Released/include/decl.h NetHack-NetHack-3.6.6_Released.serenity/include/decl.h +--- NetHack-NetHack-3.6.6_Released/include/decl.h 2020-03-08 18:29:31.000000000 +0100 ++++ NetHack-NetHack-3.6.6_Released.serenity/include/decl.h 2021-04-11 22:49:31.732927985 +0200 +@@ -411,7 +411,7 @@ + xchar spovartyp; /* one of SPOVAR_foo */ + union { + char *str; +- long l; ++ int32_t l; + } vardata; + }; + +diff -Naur NetHack-NetHack-3.6.6_Released/src/rumors.c NetHack-NetHack-3.6.6_Released.serenity/src/rumors.c +--- NetHack-NetHack-3.6.6_Released/src/rumors.c 2020-03-08 18:29:31.000000000 +0100 ++++ NetHack-NetHack-3.6.6_Released.serenity/src/rumors.c 2021-04-11 22:54:52.239553162 +0200 +@@ -54,7 +54,7 @@ + /* oracles are handled differently from rumors... */ + static int oracle_flg = 0; /* -1=>don't use, 0=>need init, 1=>init done */ + static unsigned oracle_cnt = 0; +-static unsigned long *oracle_loc = 0; ++static uint32_t *oracle_loc = 0; + + STATIC_OVL void + init_rumors(fp) +@@ -384,7 +384,7 @@ + (void) dlb_fgets(line, sizeof line, fp); + if (sscanf(line, "%5d\n", &cnt) == 1 && cnt > 0) { + oracle_cnt = (unsigned) cnt; +- oracle_loc = (unsigned long *) alloc((unsigned) cnt * sizeof(long)); ++ oracle_loc = (uint32_t *) alloc((unsigned) cnt * sizeof(uint32_t)); + for (i = 0; i < cnt; i++) { + (void) dlb_fgets(line, sizeof line, fp); + (void) sscanf(line, "%5lx\n", &oracle_loc[i]); +@@ -401,7 +401,7 @@ + bwrite(fd, (genericptr_t) &oracle_cnt, sizeof oracle_cnt); + if (oracle_cnt) + bwrite(fd, (genericptr_t) oracle_loc, +- oracle_cnt * sizeof(long)); ++ oracle_cnt * sizeof(uint32_t)); + } + if (release_data(mode)) { + if (oracle_cnt) { +@@ -417,8 +417,8 @@ + { + mread(fd, (genericptr_t) &oracle_cnt, sizeof oracle_cnt); + if (oracle_cnt) { +- oracle_loc = (unsigned long *) alloc(oracle_cnt * sizeof(long)); +- mread(fd, (genericptr_t) oracle_loc, oracle_cnt * sizeof(long)); ++ oracle_loc = (uint32_t *) alloc(oracle_cnt * sizeof(uint32_t)); ++ mread(fd, (genericptr_t) oracle_loc, oracle_cnt * sizeof(uint32_t)); + oracle_flg = 1; /* no need to call init_oracles() */ + } + } +@@ -452,7 +452,7 @@ + if (oracle_cnt <= 1 && !special) + goto close_oracles; /*(shouldn't happen)*/ + oracle_idx = special ? 0 : rnd((int) oracle_cnt - 1); +- (void) dlb_fseek(oracles, (long) oracle_loc[oracle_idx], SEEK_SET); ++ (void) dlb_fseek(oracles, (int32_t) oracle_loc[oracle_idx], SEEK_SET); + if (!special) /* move offset of very last one into this slot */ + oracle_loc[oracle_idx] = oracle_loc[--oracle_cnt]; + +diff -Naur NetHack-NetHack-3.6.6_Released/util/makedefs.c NetHack-NetHack-3.6.6_Released.serenity/util/makedefs.c +--- NetHack-NetHack-3.6.6_Released/util/makedefs.c 2020-03-08 18:29:31.000000000 +0100 ++++ NetHack-NetHack-3.6.6_Released.serenity/util/makedefs.c 2021-04-11 22:52:12.216276961 +0200 +@@ -2626,7 +2626,7 @@ + { + int i, j; + long count = 0L, hdr_offset = sizeof(int) +- + (sizeof(char) * LEN_HDR + sizeof(long)) ++ + (sizeof(char) * LEN_HDR + sizeof(int32_t)) + * qt_hdr.n_hdr; + + for (i = 0; i < qt_hdr.n_hdr; i++) { +@@ -2656,7 +2656,7 @@ + (void) fwrite((genericptr_t) & (qt_hdr.n_hdr), sizeof(int), 1, ofp); + (void) fwrite((genericptr_t) & (qt_hdr.id[0][0]), sizeof(char) * LEN_HDR, + qt_hdr.n_hdr, ofp); +- (void) fwrite((genericptr_t) & (qt_hdr.offset[0]), sizeof(long), ++ (void) fwrite((genericptr_t) & (qt_hdr.offset[0]), sizeof(int32_t), + qt_hdr.n_hdr, ofp); + if (debug) { + for (i = 0; i < qt_hdr.n_hdr; i++) +diff -Naur NetHack-NetHack-3.6.6_Released/include/qtext.h NetHack-NetHack-3.6.6_Released.serenity/include/qtext.h +--- NetHack-NetHack-3.6.6_Released/include/qtext.h 2021-04-11 23:02:18.288478651 +0200 ++++ NetHack-NetHack-3.6.6_Released.serenity/include/qtext.h 2021-04-11 23:02:34.328795871 +0200 +@@ -12,7 +12,7 @@ + struct qtmsg { + int msgnum; + char delivery; +- long offset, size, summary_size; ++ int32_t offset, size, summary_size; + }; + + #ifdef MAKEDEFS_C /***** MAKEDEFS *****/ +@@ -27,7 +27,7 @@ + struct qthdr { + int n_hdr; + char id[N_HDR][LEN_HDR]; +- long offset[N_HDR]; ++ int32_t offset[N_HDR]; + }; + + /* Error message macros */ +diff -Naur NetHack-NetHack-3.6.6_Released/src/region.c NetHack-NetHack-3.6.6_Released.serenity/src/region.c +--- NetHack-NetHack-3.6.6_Released/src/region.c 2020-03-08 18:29:31.000000000 +0100 ++++ NetHack-NetHack-3.6.6_Released.serenity/src/region.c 2021-04-11 22:57:14.059084358 +0200 +@@ -663,7 +663,7 @@ + bwrite(fd, (genericptr_t) &n, sizeof n); + if (n > 0) + bwrite(fd, (genericptr_t) regions[i]->leave_msg, n); +- bwrite(fd, (genericptr_t) ®ions[i]->ttl, sizeof(long)); ++ bwrite(fd, (genericptr_t) ®ions[i]->ttl, sizeof(int32_t)); + bwrite(fd, (genericptr_t) ®ions[i]->expire_f, sizeof(short)); + bwrite(fd, (genericptr_t) ®ions[i]->can_enter_f, sizeof(short)); + bwrite(fd, (genericptr_t) ®ions[i]->enter_f, sizeof(short)); +@@ -693,7 +693,7 @@ + { + int i, j; + unsigned n; +- long tmstamp; ++ int32_t tmstamp; + char *msg_buf; + + clear_regions(); /* Just for security */ +@@ -737,7 +737,7 @@ + } else + regions[i]->leave_msg = (const char *) 0; + +- mread(fd, (genericptr_t) ®ions[i]->ttl, sizeof(long)); ++ mread(fd, (genericptr_t) ®ions[i]->ttl, sizeof(int32_t)); + /* check for expired region */ + if (regions[i]->ttl >= 0L) + regions[i]->ttl = +diff -Naur NetHack-NetHack-3.6.6_Released/include/global.h NetHack-NetHack-3.6.6_Released.serenity/include/global.h +--- NetHack-NetHack-3.6.6_Released/include/global.h 2021-04-11 22:32:59.310062482 +0200 ++++ NetHack-NetHack-3.6.6_Released.serenity/include/global.h 2021-04-11 22:32:31.736197272 +0200 +@@ -293,11 +293,11 @@ + /* Used for consistency checks of various data files; declare it here so + that utility programs which include config.h but not hack.h can see it. */ + struct version_info { +- unsigned long incarnation; /* actual version number */ +- unsigned long feature_set; /* bitmask of config settings */ +- unsigned long entity_count; /* # of monsters and objects */ +- unsigned long struct_sizes1; /* size of key structs */ +- unsigned long struct_sizes2; /* size of more key structs */ ++ uint32_t incarnation; /* actual version number */ ++ uint32_t feature_set; /* bitmask of config settings */ ++ uint32_t entity_count; /* # of monsters and objects */ ++ uint32_t struct_sizes1; /* size of key structs */ ++ uint32_t struct_sizes2; /* size of more key structs */ + }; + + struct savefile_info { +diff -Naur NetHack-NetHack-3.6.6_Released/include/unixconf.h NetHack-NetHack-3.6.6_Released.serenity/include/unixconf.h +--- NetHack-NetHack-3.6.6_Released/include/unixconf.h 2021-04-11 22:32:31.719530283 +0200 ++++ NetHack-NetHack-3.6.6_Released.serenity/include/unixconf.h 2021-04-11 22:33:55.461144660 +0200 +@@ -323,6 +323,7 @@ + + #if defined(POSIX_TYPES) || defined(__GNUC__) + #include ++#include + #include + #endif + diff --git a/Ports/nethack/patches/host-tools.patch b/Ports/nethack/patches/host-tools.patch new file mode 100644 index 0000000000..a62e3c9c95 --- /dev/null +++ b/Ports/nethack/patches/host-tools.patch @@ -0,0 +1,157 @@ +diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.top NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.top +--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.top 2020-03-08 18:29:31.000000000 +0100 ++++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.top 2021-04-11 19:43:41.471996943 +0200 +@@ -188,7 +188,7 @@ + + dlb: + ( cd util ; $(MAKE) dlb ) +- ( cd dat ; LC_ALL=C ; ../util/dlb cf nhdat $(DATDLB) ) ++ ( cd dat ; LC_ALL=C ; ../util/dlb.host cf nhdat $(DATDLB) ) + + # recover can be used when INSURANCE is defined in include/config.h + # and the checkpoint option is true +diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.dat NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.dat +--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.dat 2021-04-11 19:39:50.410956379 +0200 ++++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.dat 2021-04-11 19:41:47.699843567 +0200 +@@ -129,36 +129,36 @@ + spec_levs: ../util/lev_comp \ + bigroom.des castle.des endgame.des gehennom.des knox.des medusa.des \ + mines.des oracle.des sokoban.des tower.des yendor.des +- ../util/lev_comp bigroom.des +- ../util/lev_comp castle.des +- ../util/lev_comp endgame.des +- ../util/lev_comp gehennom.des +- ../util/lev_comp knox.des +- ../util/lev_comp medusa.des +- ../util/lev_comp mines.des +- ../util/lev_comp oracle.des +- ../util/lev_comp sokoban.des +- ../util/lev_comp tower.des +- ../util/lev_comp yendor.des ++ ../util/lev_comp.host bigroom.des ++ ../util/lev_comp.host castle.des ++ ../util/lev_comp.host endgame.des ++ ../util/lev_comp.host gehennom.des ++ ../util/lev_comp.host knox.des ++ ../util/lev_comp.host medusa.des ++ ../util/lev_comp.host mines.des ++ ../util/lev_comp.host oracle.des ++ ../util/lev_comp.host sokoban.des ++ ../util/lev_comp.host tower.des ++ ../util/lev_comp.host yendor.des + touch spec_levs + + quest_levs: ../util/lev_comp \ + Arch.des Barb.des Caveman.des Healer.des Knight.des Monk.des \ + Priest.des Ranger.des Rogue.des Samurai.des Tourist.des Valkyrie.des \ + Wizard.des +- ../util/lev_comp Arch.des +- ../util/lev_comp Barb.des +- ../util/lev_comp Caveman.des +- ../util/lev_comp Healer.des +- ../util/lev_comp Knight.des +- ../util/lev_comp Monk.des +- ../util/lev_comp Priest.des +- ../util/lev_comp Ranger.des +- ../util/lev_comp Rogue.des +- ../util/lev_comp Samurai.des +- ../util/lev_comp Tourist.des +- ../util/lev_comp Valkyrie.des +- ../util/lev_comp Wizard.des ++ ../util/lev_comp.host Arch.des ++ ../util/lev_comp.host Barb.des ++ ../util/lev_comp.host Caveman.des ++ ../util/lev_comp.host Healer.des ++ ../util/lev_comp.host Knight.des ++ ../util/lev_comp.host Monk.des ++ ../util/lev_comp.host Priest.des ++ ../util/lev_comp.host Ranger.des ++ ../util/lev_comp.host Rogue.des ++ ../util/lev_comp.host Samurai.des ++ ../util/lev_comp.host Tourist.des ++ ../util/lev_comp.host Valkyrie.des ++ ../util/lev_comp.host Wizard.des + touch quest_levs + + dungeon: dungeon.def ../util/makedefs ../util/dgn_comp +diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.utl NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.utl +--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.utl 2020-03-08 18:29:31.000000000 +0100 ++++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.utl 2021-04-11 19:19:59.714969159 +0200 +@@ -239,11 +239,11 @@ + perl mdgrep.pl + + ../include/onames.h: makedefs +- ./makedefs -o ++ ./makedefs.host -o + ../include/pm.h: makedefs +- ./makedefs -p ++ ./makedefs.host -p + ../include/vis_tab.h: makedefs +- ./makedefs -z ++ ./makedefs.host -z + # makedefs -z makes both vis_tab.h and vis_tab.c, but writes the .h first + ../src/vis_tab.c: ../include/vis_tab.h + +diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.dat NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.dat +--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.dat 2020-03-08 18:29:31.000000000 +0100 ++++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.dat 2021-04-11 19:32:23.365816407 +0200 +@@ -101,29 +101,29 @@ + + + data: data.base ../util/makedefs +- ../util/makedefs -d ++ ../util/makedefs.host -d + + rumors: rumors.tru rumors.fal ../util/makedefs +- ../util/makedefs -r ++ ../util/makedefs.host -r + + quest.dat: quest.txt ../util/makedefs +- ../util/makedefs -q ++ ../util/makedefs.host -q + + oracles: oracles.txt ../util/makedefs +- ../util/makedefs -h ++ ../util/makedefs.host -h + + engrave: engrave.txt ../util/makedefs +- ../util/makedefs -s ++ ../util/makedefs.host -s + + epitaph: epitaph.txt ../util/makedefs +- ../util/makedefs -s ++ ../util/makedefs.host -s + + bogusmon: bogusmon.txt ../util/makedefs +- ../util/makedefs -s ++ ../util/makedefs.host -s + + # note: 'options' should have already been made when include/date.h was created + options: ../util/makedefs +- ../util/makedefs -v ++ ../util/makedefs.host -v + + + spec_levs: ../util/lev_comp \ +@@ -162,7 +162,7 @@ + touch quest_levs + + dungeon: dungeon.def ../util/makedefs ../util/dgn_comp +- ../util/makedefs -e ++ ../util/makedefs.host -e +- ../util/dgn_comp dungeon.pdf ++ ../util/dgn_comp.host dungeon.pdf + + # gitinfo.txt is optionally made by src/Makefile when creating date.h +diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.src NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.src +--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.src 2020-03-08 18:29:31.000000000 +0100 ++++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.src 2021-04-11 19:32:32.012647179 +0200 +@@ -670,7 +670,7 @@ + # up to date before being executed + ../include/date.h: $(VERSOURCES) $(HACK_H) + -$(SHELL) ../sys/unix/gitinfo.sh $(GITINFO) #before 'makedefs -v' +- ../util/makedefs -v ++ ../util/makedefs.host -v + + + lint: diff --git a/Ports/nethack/patches/install-path.patch b/Ports/nethack/patches/install-path.patch new file mode 100644 index 0000000000..feb981fcaf --- /dev/null +++ b/Ports/nethack/patches/install-path.patch @@ -0,0 +1,33 @@ +diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/nethack.sh NetHack-NetHack-3.6.6_Released.serenity/sys/unix/nethack.sh +--- NetHack-NetHack-3.6.6_Released/sys/unix/nethack.sh 2020-03-08 18:29:31.000000000 +0100 ++++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/nethack.sh 2021-04-11 21:58:43.846512264 +0200 +@@ -1,11 +1,11 @@ +-#!/bin/sh ++#!/bin/bash + # NetHack 3.6 nethack.sh $NHDT-Date: 1552425075 2019/03/12 21:11:15 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.20 $ + # Copyright (c) 2015 by Kenneth Lorber, Kensington, Maryland + # NetHack may be freely redistributed. See license for details. + +-HACKDIR=/usr/games/lib/nethackdir ++HACKDIR=/var/games/nethack/ + export HACKDIR +-HACK=$HACKDIR/nethack ++HACK=/usr/lib/nethack/nethack + + # Since Nethack.ad is installed in HACKDIR, add it to XUSERFILESEARCHPATH + case "x$XUSERFILESEARCHPATH" in +diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.top NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.top +--- NetHack-NetHack-3.6.6_Released/sys/unix/Makefile.top 2021-04-11 22:16:46.240897370 +0200 ++++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/Makefile.top 2021-04-11 22:19:45.264521466 +0200 +@@ -223,9 +223,9 @@ + chmod $(EXEPERM) $(SHELLDIR)/$(GAME); fi + + dofiles-dlb: check-dlb +- ( cd dat ; cp nhdat $(DATNODLB) $(INSTDIR) ) ++ ( cd dat ; cp nhdat $(DATNODLB) $(VARDIR) ) + # set up their permissions +- -( cd $(INSTDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \ ++ -( cd $(VARDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \ + $(CHGRP) $(GAMEGRP) nhdat $(DATNODLB) ; \ + chmod $(FILEPERM) nhdat $(DATNODLB) ) + diff --git a/Ports/nethack/patches/serenity-hints.patch b/Ports/nethack/patches/serenity-hints.patch new file mode 100644 index 0000000000..3d5b4117a3 --- /dev/null +++ b/Ports/nethack/patches/serenity-hints.patch @@ -0,0 +1,58 @@ +diff -Naur NetHack-NetHack-3.6.6_Released/sys/unix/hints/serenity NetHack-NetHack-3.6.6_Released.serenity/sys/unix/hints/serenity +--- NetHack-NetHack-3.6.6_Released/sys/unix/hints/serenity 1970-01-01 01:00:00.000000000 +0100 ++++ NetHack-NetHack-3.6.6_Released.serenity/sys/unix/hints/serenity 2021-04-11 19:08:45.051777994 +0200 +@@ -0,0 +1,54 @@ ++# ++# NetHack 3.6 linux $NHDT-Date: 1432512814 2015/05/25 00:13:34 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $ ++# Copyright (c) Kenneth Lorber, Kensington, Maryland, 2007. ++# NetHack may be freely redistributed. See license for details. ++# ++#-PRE ++# SerenityOS hints file ++# This hints file provides a single-user tty build for SerenityOS ++ ++ ++#PREFIX=/usr ++PREFIX=/usr ++HACKDIR=/var/games/nethack ++SHELLDIR = $(SERENITY_BUILD_DIR)/Root/usr/bin ++INSTDIR=$(SERENITY_BUILD_DIR)/Root/usr/lib/nethack ++VARDIR = $(SERENITY_BUILD_DIR)/Root$(HACKDIR) ++ ++ ++ ++POSTINSTALL=cp -n sys/unix/sysconf $(VARDIR)/sysconf; $(CHOWN) $(GAMEUID) $(VARDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(VARDIR)/sysconf; chmod $(VARFILEPERM) $(VARDIR)/sysconf; ++ ++CFLAGS=-g -O -I$(SERENITY_BUILD_DIR)/Root/usr/local/include/ncurses -I../include -DNOTPARMDECL ++CFLAGS+=-DDLB ++CFLAGS+=-DCOMPRESS=\"/bin/gzip\" -DCOMPRESS_EXTENSION=\".gz\" ++CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE ++CFLAGS+=-DTIMED_DELAY ++CFLAGS+=-DHACKDIR=\"$(HACKDIR)\" ++CFLAGS+=-DDUMPLOG ++CFLAGS+=-DCONFIG_ERROR_SECURE=FALSE ++CFLAGS+=-DCURSES_GRAPHICS ++#CFLAGS+=-DEXTRA_SANITY_CHECKS ++#CFLAGS+=-DEDIT_GETLIN ++#CFLAGS+=-DSCORE_ON_BOTL ++#CFLAGS+=-DMSGHANDLER ++#CFLAGS+=-DTTY_TILES_ESCCODES ++ ++LINK=$(CC) -lregex ++ ++WINSRC = $(WINTTYSRC) $(WINCURSESSRC) ++WINOBJ = $(WINTTYOBJ) $(WINCURSESOBJ) ++WINLIB = $(WINTTYLIB) $(WINCURSESLIB) ++ ++# if TTY_TILES_ESCCODES ++#WINSRC += tile.c ++#WINOBJ += tile.o ++ ++WINTTYLIB=-lncurses -ltinfo ++ ++CHOWN=true ++CHGRP=true ++ ++VARDIRPERM = 0755 ++VARFILEPERM = 0600 ++GAMEPERM = 0755