mangayomi: useFetchCargoVendor (#376506)
[NixPkgs.git] / pkgs / by-name / nv / nvimpager / package.nix
blob18655c60c69f083bf5df3f228b3dc78588eb5e93
2   fetchFromGitHub,
3   lib,
4   stdenv,
5   ncurses,
6   neovim,
7   procps,
8   scdoc,
9   lua51Packages,
10   util-linux,
13 stdenv.mkDerivation rec {
14   pname = "nvimpager";
15   version = "0.13.0";
17   src = fetchFromGitHub {
18     owner = "lucc";
19     repo = pname;
20     rev = "v${version}";
21     sha256 = "sha256-Au9rRZMZfU4qHi/ng6JO8FnMpySKDbKzr75SBPY3QiA=";
22   };
24   buildInputs = [
25     ncurses # for tput
26     procps # for nvim_get_proc() which uses ps(1)
27   ];
28   nativeBuildInputs = [ scdoc ];
30   makeFlags = [ "PREFIX=$(out)" ];
31   buildFlags = [
32     "nvimpager.configured"
33     "nvimpager.1"
34   ];
35   preBuild = ''
36     patchShebangs nvimpager
37     substituteInPlace nvimpager --replace-fail ':-nvim' ':-${lib.getExe neovim}'
38   '';
40   doCheck = true;
41   nativeCheckInputs = [
42     lua51Packages.busted
43     util-linux
44     neovim
45   ];
46   # filter out one test that fails in the sandbox of nix or with neovim v0.10
47   # or on macOS
48   preCheck = ''
49     checkFlagsArray+=('BUSTED=busted --output TAP --exclude-tags=${
50       "nix,v10" + lib.optionalString stdenv.hostPlatform.isDarwin ",mac"
51     }')
52   '';
54   meta = with lib; {
55     description = "Use neovim as pager";
56     longDescription = ''
57       Use neovim as a pager to view manpages, diffs, etc with nvim's syntax
58       highlighting.  Includes a cat mode to print highlighted files to stdout
59       and a ansi esc mode to highlight ansi escape sequences in neovim.
60     '';
61     homepage = "https://github.com/lucc/nvimpager";
62     license = licenses.bsd2;
63     platforms = platforms.unix;
64     maintainers = [ maintainers.lucc ];
65     mainProgram = "nvimpager";
66   };