From 93aba2c96d34e84e543ed608b3e1b7322a4bc783 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Sun, 12 Feb 2023 00:22:30 -0300 Subject: [PATCH] 2048-cli: init at 0.9.1 Also, mark as broken on SDL. --- pkgs/games/2048-cli/default.nix | 64 +++++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 +++ 2 files changed, 69 insertions(+) create mode 100644 pkgs/games/2048-cli/default.nix diff --git a/pkgs/games/2048-cli/default.nix b/pkgs/games/2048-cli/default.nix new file mode 100644 index 000000000000..dc428f53a6ad --- /dev/null +++ b/pkgs/games/2048-cli/default.nix @@ -0,0 +1,64 @@ +{ lib +, stdenv +, fetchFromGitHub +, SDL2 +, SDL2_ttf +, installShellFiles +, ncurses +, pkg-config +, ui ? "terminal" +}: + +assert lib.elem ui [ "terminal" "curses" "sdl" ]; +stdenv.mkDerivation (self: { + pname = "2048-cli"; + version = "0.9.1"; + + src = fetchFromGitHub { + owner = "tiehuis"; + repo = "2048-cli"; + rev = "v${self.version}"; + hash = "sha256-pLOrUilIrA+wo3iePhSXSK1UhbcjKyAx4SpKcC0I2yY="; + }; + + postPatch = '' + substituteInPlace Makefile \ + --replace "-lcurses" "-lncurses" + ''; + + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; + + buildInputs = + (lib.optional (ui == "curses") ncurses) + ++ (lib.optionals (ui == "sdl") [ SDL2 SDL2_ttf ]); + + dontConfigure = true; + + NIX_CFLAGS_COMPILE = lib.optionalString (ui == "sdl") "-I${SDL2_ttf}/include/SDL2"; + + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + ui + ]; + + installPhase = '' + runHook preInstall + + install -Dm755 -t $out/bin 2048 + installManPage man/2048.1 + + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/tiehuis/2048-cli"; + description = "The game 2048 for your Linux terminal"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.AndersonTorres ]; + platforms = lib.platforms.unix; + broken = (ui == "sdl"); # segmentation fault + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9a657e77af38..62519d283bd3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -34745,6 +34745,11 @@ with pkgs; _2048-in-terminal = callPackage ../games/2048-in-terminal { }; + _2048-cli = _2048-cli-terminal; + _2048-cli-curses = callPackage ../games/2048-cli { ui = "curses"; }; + _2048-cli-sdl = callPackage ../games/2048-cli { ui = "sdl"; }; + _2048-cli-terminal = callPackage ../games/2048-cli { ui = "terminal"; }; + _20kly = callPackage ../games/20kly { }; _90secondportraits = callPackage ../games/90secondportraits { love = love_0_10; };