From bf2d30dced0ecabce814f9eff826f881d700a2a8 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 8 May 2021 12:22:21 +0200 Subject: [PATCH] hottext: init at 1.3 --- pkgs/tools/text/hottext/default.nix | 100 ++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 102 insertions(+) create mode 100644 pkgs/tools/text/hottext/default.nix diff --git a/pkgs/tools/text/hottext/default.nix b/pkgs/tools/text/hottext/default.nix new file mode 100644 index 000000000000..6d361f50f35a --- /dev/null +++ b/pkgs/tools/text/hottext/default.nix @@ -0,0 +1,100 @@ +{ lib, stdenv, fetchurl, fetchFromGitHub, nim, gentium, SDL2, makeDesktopItem }: + +let + treeformLibs = lib.attrsets.mapAttrsToList (repo: args: + fetchFromGitHub ({ + inherit repo; + owner = "treeform"; + } // args)) { + bumpy = { + rev = "1.0.3"; + sha256 = "sha256-mDmDlhOGoYYjKgF5j808oT2NqRlfcOdLSDE3WtdJFQ0="; + }; + chroma = { + rev = "0.2.5"; + sha256 = "sha256-6lNHpO2aMorgkaPfo6kRcOs9r5R6T/kislVmkeoulw8="; + }; + flatty = { + rev = "0.2.1"; + sha256 = "sha256-TqNnRh2+i6n98ktLRVQxt9CVw17FGLNYq29rJoMus/0="; + }; + pixie = { + rev = "1.1.3"; + sha256 = "sha256-xKIejVxOd19mblL1ZwpJH91dgKQS5g8U08EL8lGGelA="; + }; + typography = { + rev = "0.7.9"; + sha256 = "sha256-IYjw3PCp5XzVed2fGGCt9Hb60cxFeF0BUZ7L5PedTLU="; + }; + vmath = { + rev = "1.0.3"; + sha256 = "sha256-zzSKXjuTZ46HTFUs0N47mxEKTKIdS3dwr+60sQYSdn0="; + }; + }; + + nimLibs = treeformLibs ++ [ + (fetchFromGitHub { + owner = "nim-lang"; + repo = "sdl2"; + rev = "v2.0.2"; + sha256 = "sha256-Ivx/gxDa2HVDjCVrJVu23i4d0pDzzv+ThmwqNjtkjsA="; + }) + (fetchFromGitHub { + owner = "guzba"; + repo = "nimsimd"; + rev = "1.0.0"; + sha256 = "sha256-kp61fylAJ6MSN9hLYLi7CU2lxVR/lbrNCvZTe0LJLGo="; + }) + (fetchFromGitHub { + owner = "guzba"; + repo = "zippy"; + rev = "0.5.6"; + sha256 = "sha256-axp4t9+8TFSpvnATlRKZyuOGLA0e/XKfvrVSwreXpC4="; + }) + ]; + +in stdenv.mkDerivation rec { + pname = "hottext"; + version = "1.3"; + + src = fetchurl { + url = "https://git.sr.ht/~ehmry/hottext/archive/v${version}.tar.gz"; + sha256 = "sha256-iz7Z2x0/yi/E6gGFkYgq/yZDOxrZGwQmumPoO9kckLQ="; + }; + + nativeBuildInputs = [ nim ]; + buildInputs = [ SDL2 ]; + + nimFlags = [ "-d:release" ] ++ map (lib: "--path:${lib}/src") nimLibs; + + HOTTEXT_FONT_PATH = "${gentium}/share/fonts/truetype/GentiumPlus-R.ttf"; + + buildPhase = '' + runHook preBuild + HOME=$TMPDIR + nim $nimFlags compile src/$pname + runHook postBuild + ''; + + desktopItem = makeDesktopItem { + categories = "Utility;"; + comment = meta.description; + desktopName = pname; + exec = pname; + name = pname; + }; + + installPhase = '' + runHook preInstall + install -Dt $out/bin src/$pname + cp -r $desktopItem/* $out + runHook postInstall + ''; + + meta = with lib; { + description = "Simple RSVP speed-reading utility"; + license = licenses.unlicense; + homepage = "https://git.sr.ht/~ehmry/hottext"; + maintainers = with maintainers; [ ehmry ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index acbec74ec93d..6cbb4e447884 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2758,6 +2758,8 @@ in hostsblock = callPackage ../tools/misc/hostsblock { }; + hottext = callPackage ../tools/text/hottext { }; + hopper = qt5.callPackage ../development/tools/analysis/hopper {}; hr = callPackage ../applications/misc/hr { };