nethack: nethack-x11 package created

If x11Mode is false, ncurses NetHack version will be built (nethack).
If x11Mode is true, x11 NetHack version will be built (nethack-x11).
NetHack DevTeam provide x11 version support only for Linux.
This commit is contained in:
nonfreeblob 2018-06-29 15:21:56 +03:00
parent b00d53fcfe
commit 1627b6fc09
2 changed files with 12 additions and 6 deletions

View File

@ -1,11 +1,14 @@
{ stdenv, lib, fetchurl, writeScript, coreutils, ncurses, gzip, flex, bison, less }: { stdenv, lib, fetchurl, writeScript, coreutils, ncurses, gzip, flex, bison, less
, x11Mode ? false, libXaw, libXext, mkfontdir
}:
let let
platform = platform =
if stdenv.hostPlatform.isUnix then "unix" if stdenv.hostPlatform.isUnix then "unix"
else throw "Unknown platform for NetHack: ${stdenv.system}"; else throw "Unknown platform for NetHack: ${stdenv.system}";
unixHint = unixHint =
/**/ if stdenv.hostPlatform.isLinux then "linux" if x11Mode then "linux-x11"
else if stdenv.hostPlatform.isLinux then "linux"
else if stdenv.hostPlatform.isDarwin then "macosx10.10" else if stdenv.hostPlatform.isDarwin then "macosx10.10"
# We probably want something different for Darwin # We probably want something different for Darwin
else "unix"; else "unix";
@ -13,16 +16,16 @@ let
binPath = lib.makeBinPath [ coreutils less ]; binPath = lib.makeBinPath [ coreutils less ];
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "nethack-3.6.1"; name = "nethack${lib.optionalString x11Mode "-x11"}-3.6.1";
src = fetchurl { src = fetchurl {
url = "https://nethack.org/download/3.6.1/nethack-361-src.tgz"; url = "https://nethack.org/download/3.6.1/nethack-361-src.tgz";
sha256 = "1dha0ijvxhx7c9hr0452h93x81iiqsll8bc9msdnp7xdqcfbz32b"; sha256 = "1dha0ijvxhx7c9hr0452h93x81iiqsll8bc9msdnp7xdqcfbz32b";
}; };
buildInputs = [ ncurses ]; buildInputs = [ ncurses ] ++ lib.optionals x11Mode [ libXaw libXext ];
nativeBuildInputs = [ flex bison ]; nativeBuildInputs = [ flex bison ] ++ lib.optionals x11Mode [ mkfontdir ];
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];
@ -86,13 +89,14 @@ in stdenv.mkDerivation {
$out/games/nethack $out/games/nethack
EOF EOF
chmod +x $out/bin/nethack chmod +x $out/bin/nethack
${lib.optionalString x11Mode "mv $out/bin/nethack $out/bin/nethack-x11"}
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Rogue-like game"; description = "Rogue-like game";
homepage = http://nethack.org/; homepage = http://nethack.org/;
license = "nethack"; license = "nethack";
platforms = platforms.unix; platforms = if x11Mode then platforms.linux else platforms.unix;
maintainers = with maintainers; [ abbradar ]; maintainers = with maintainers; [ abbradar ];
}; };
} }

View File

@ -19568,6 +19568,8 @@ with pkgs;
nethack = callPackage ../games/nethack { }; nethack = callPackage ../games/nethack { };
nethack-x11 = callPackage ../games/nethack { x11Mode = true; };
neverball = callPackage ../games/neverball { }; neverball = callPackage ../games/neverball { };
nexuiz = callPackage ../games/nexuiz { }; nexuiz = callPackage ../games/nexuiz { };