From 18d24771da3a19113122ba961b4b206613883f60 Mon Sep 17 00:00:00 2001 From: Francesco Gazzetta Date: Thu, 7 Jan 2021 21:11:46 +0100 Subject: [PATCH] flitter: init at unstable-2020-10-05 --- pkgs/tools/misc/flitter/default.nix | 55 +++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 57 insertions(+) create mode 100644 pkgs/tools/misc/flitter/default.nix diff --git a/pkgs/tools/misc/flitter/default.nix b/pkgs/tools/misc/flitter/default.nix new file mode 100644 index 000000000000..49903559c136 --- /dev/null +++ b/pkgs/tools/misc/flitter/default.nix @@ -0,0 +1,55 @@ +{ lib +, stdenv +, ocamlPackages +, fetchFromGitHub +, makeWrapper +, python3 +}: + +ocamlPackages.buildDunePackage rec { + pname = "flitter"; + # request to tag releases: https://github.com/alexozer/flitter/issues/34 + version = "unstable-2020-10-05"; + + useDune2 = true; + + src = fetchFromGitHub { + owner = "alexozer"; + repo = "flitter"; + rev = "666c5483bc93efa6d01e0b7a927461269f8e14de"; + sha256 = "1k3m7bjq5yrrq7vhnbdykni65dsqhq6knnv9wvwq3svb3n07z4w3"; + }; + + # https://github.com/alexozer/flitter/issues/28 + postPatch = '' + for f in src/colors.ml src/duration.ml src/event_loop.ml src/splits.ml; do + substituteInPlace "$f" \ + --replace 'Unix.gettimeofday' 'Caml_unix.gettimeofday' + done + ''; + + nativeBuildInputs = [ + makeWrapper + ]; + + buildInputs = with ocamlPackages; [ + core + lwt_ppx + sexp_pretty + color + notty + ]; + + postInstall = '' + wrapProgram $out/bin/flitter \ + --prefix PATH : "${python3.withPackages (pp: [ pp.pynput ])}/bin" + ''; + + meta = with lib; { + description = "A Livesplit-inspired speedrunning split timer for Linux/macOS terminal"; + license = licenses.mit; + maintainers = with maintainers; [ fgaz ]; + homepage = "https://github.com/alexozer/flitter"; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f1cb989fb073..b9610d08dd02 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2849,6 +2849,8 @@ with pkgs; fits-cloudctl = callPackage ../tools/admin/fits-cloudctl { }; + flitter = callPackage ../tools/misc/flitter { }; + frangipanni = callPackage ../tools/text/frangipanni { }; fselect = callPackage ../tools/misc/fselect { };