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