otadump: init at 0.1.2 (#329129)
[NixPkgs.git] / pkgs / by-name / do / docfd / package.nix
blobe4828191c0c67afefc122d9fe062e396eb599422
2   lib,
3   ocamlPackages,
4   stdenv,
5   overrideSDK,
6   fetchFromGitHub,
7   python3,
8   dune_3,
9   makeWrapper,
10   pandoc,
11   poppler_utils,
12   testers,
13   docfd,
16 let
17   # Needed for x86_64-darwin
18   buildDunePackage' = ocamlPackages.buildDunePackage.override {
19     stdenv = if stdenv.hostPlatform.isDarwin then overrideSDK stdenv "11.0" else stdenv;
20   };
22 buildDunePackage' rec {
23   pname = "docfd";
24   version = "8.0.3";
26   minimalOCamlVersion = "5.1";
28   src = fetchFromGitHub {
29     owner = "darrenldl";
30     repo = "docfd";
31     rev = version;
32     hash = "sha256-890/3iBruaQtWwlcvwuz4ujp7+P+5y1/2Axx4Iuik8Q=";
33   };
35   nativeBuildInputs = [
36     python3
37     dune_3
38     makeWrapper
39   ];
41   buildInputs = with ocamlPackages; [
42     cmdliner
43     containers-data
44     decompress
45     digestif
46     eio_main
47     lwd
48     nottui
49     notty
50     ocolor
51     oseq
52     ppx_deriving
53     ppxlib
54     re
55     spelll
56     timedesc
57     yojson
58   ];
60   postInstall = ''
61     wrapProgram $out/bin/docfd --prefix PATH : "${
62       lib.makeBinPath [
63         pandoc
64         poppler_utils
65       ]
66     }"
67   '';
69   passthru.tests.version = testers.testVersion { package = docfd; };
71   meta = with lib; {
72     description = "TUI multiline fuzzy document finder";
73     longDescription = ''
74       Think interactive grep for text and other document files.
75       Word/token based instead of regex and line based, so you
76       can search across lines easily. Aims to provide good UX via
77       integration with common text editors and other file viewers.
78     '';
79     homepage = "https://github.com/darrenldl/docfd";
80     license = licenses.mit;
81     maintainers = with maintainers; [ chewblacka ];
82     platforms = platforms.all;
83     mainProgram = "docfd";
84   };