From 1627b6fc09ca9796451bde019fa0ee208ca478be Mon Sep 17 00:00:00 2001 From: nonfreeblob Date: Fri, 29 Jun 2018 15:21:56 +0300 Subject: 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. --- pkgs/games/nethack/default.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'pkgs/games/nethack') diff --git a/pkgs/games/nethack/default.nix b/pkgs/games/nethack/default.nix index 1ad7565f450..eed38592236 100644 --- a/pkgs/games/nethack/default.nix +++ b/pkgs/games/nethack/default.nix @@ -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 platform = if stdenv.hostPlatform.isUnix then "unix" else throw "Unknown platform for NetHack: ${stdenv.system}"; 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" # We probably want something different for Darwin else "unix"; @@ -13,16 +16,16 @@ let binPath = lib.makeBinPath [ coreutils less ]; in stdenv.mkDerivation { - name = "nethack-3.6.1"; + name = "nethack${lib.optionalString x11Mode "-x11"}-3.6.1"; src = fetchurl { url = "https://nethack.org/download/3.6.1/nethack-361-src.tgz"; sha256 = "1dha0ijvxhx7c9hr0452h93x81iiqsll8bc9msdnp7xdqcfbz32b"; }; - buildInputs = [ ncurses ]; + buildInputs = [ ncurses ] ++ lib.optionals x11Mode [ libXaw libXext ]; - nativeBuildInputs = [ flex bison ]; + nativeBuildInputs = [ flex bison ] ++ lib.optionals x11Mode [ mkfontdir ]; makeFlags = [ "PREFIX=$(out)" ]; @@ -86,13 +89,14 @@ in stdenv.mkDerivation { $out/games/nethack EOF chmod +x $out/bin/nethack + ${lib.optionalString x11Mode "mv $out/bin/nethack $out/bin/nethack-x11"} ''; meta = with stdenv.lib; { description = "Rogue-like game"; homepage = http://nethack.org/; license = "nethack"; - platforms = platforms.unix; + platforms = if x11Mode then platforms.linux else platforms.unix; maintainers = with maintainers; [ abbradar ]; }; } -- cgit 1.4.1