base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / text / ripgrep-all / default.nix
bloba44316517dc18da3d198f7233a3392de8515f9c8
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , rustPlatform
5 , makeWrapper
6 , ffmpeg
7 , pandoc
8 , poppler_utils
9 , ripgrep
10 , Security
11 , zip
12 , fzf
15 let
16   path = [
17     ffmpeg
18     pandoc
19     poppler_utils
20     ripgrep
21     zip
22     fzf
23   ];
24 in rustPlatform.buildRustPackage rec {
25   pname = "ripgrep-all";
26   version = "0.10.6";
28   src = fetchFromGitHub {
29     owner = "phiresky";
30     repo = "ripgrep-all";
31     rev = "v${version}";
32     hash = "sha256-ns7RL7kiG72r07LkF6RzShNg8M2SU6tU5+gXDxzUQHM=";
33   };
35   cargoLock = {
36     lockFile = ./Cargo.lock;
37     outputHashes = {
38       "tokio-tar-0.3.1" = "sha256-oYXcZepnQyZ13zCvECwNqbXUnov3Y6uJlpkHz1zVpRo=";
39     };
40   };
42   # override debug=true set in Cargo.toml upstream
43   RUSTFLAGS = "-C debuginfo=none";
45   nativeBuildInputs = [ makeWrapper poppler_utils ];
46   buildInputs = lib.optional stdenv.hostPlatform.isDarwin Security;
48   nativeCheckInputs = path;
50   postInstall = ''
51     for bin in $out/bin/*; do
52       wrapProgram $bin \
53         --prefix PATH ":" "${lib.makeBinPath path}"
54     done
55   '';
57   meta = with lib; {
58     changelog = "https://github.com/phiresky/ripgrep-all/blob/${src.rev}/CHANGELOG.md";
59     description = "Ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, and more";
60     longDescription = ''
61       Ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.
63       rga is a line-oriented search tool that allows you to look for a regex in
64       a multitude of file types. rga wraps the awesome ripgrep and enables it
65       to search in pdf, docx, sqlite, jpg, movie subtitles (mkv, mp4), etc.
66     '';
67     homepage = "https://github.com/phiresky/ripgrep-all";
68     license = with licenses; [ agpl3Plus ];
69     maintainers = with maintainers; [ zaninime ma27 ];
70     mainProgram = "rga";
71   };