Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / games / 2048-cli / default.nix
blobe1eb958164ce74259c180508849fb6902bc24d64
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , gettext
5 , installShellFiles
6 , ncurses
7 , ui ? "terminal"
8 }:
10 assert lib.elem ui [ "terminal" "curses" ];
11 stdenv.mkDerivation (finalAttrs: {
12   pname = "2048-cli";
13   version = "unstable-2019-12-10";
15   src = fetchFromGitHub {
16     owner = "tiehuis";
17     repo = "2048-cli";
18     rev = "67439255df7d4f70209ca628d65128cd41d33e8d";
19     hash = "sha256-U7g2wCZgR7Lp/69ktQIZZ1cScll2baCequemTl3Mc3I=";
20   };
22   postPatch = ''
23     substituteInPlace Makefile \
24       --replace "-lcurses" "-lncurses"
25   '';
27   nativeBuildInputs = [
28     installShellFiles
29   ];
31   buildInputs = [
32     gettext
33   ]
34   ++ (lib.optional (ui == "curses") ncurses);
36   dontConfigure = true;
38   env.NIX_CFLAGS_COMPILE = "-I${lib.getDev gettext}/share/gettext/";
40   makeFlags = [
41     "CC=${stdenv.cc.targetPrefix}cc"
42     ui
43   ];
45   installPhase = ''
46     runHook preInstall
48     install -Dm755 -t $out/bin 2048
49     installManPage man/2048.6
51     runHook postInstall
52   '';
54   meta = {
55     homepage = "https://github.com/tiehuis/2048-cli";
56     description = "The game 2048 for your Linux terminal";
57     license = lib.licenses.mit;
58     maintainers = [ lib.maintainers.AndersonTorres ];
59     platforms = lib.platforms.unix;
60     mainProgram = "2048";
61   };