sqlite_orm: 1.9 -> 1.9.1 (#379250)
[NixPkgs.git] / pkgs / by-name / ln / lnav / package.nix
blob2d2378e9df5b3beaa64c2cfeac086fa8842f3ea7
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   pcre2,
6   sqlite,
7   ncurses,
8   readline,
9   zlib,
10   bzip2,
11   autoconf,
12   automake,
13   curl,
14   buildPackages,
15   re2c,
16   gpm,
17   libarchive,
18   nix-update-script,
19   cargo,
20   rustPlatform,
21   rustc,
24 stdenv.mkDerivation rec {
25   pname = "lnav";
26   version = "0.12.3";
28   src = fetchFromGitHub {
29     owner = "tstack";
30     repo = "lnav";
31     rev = "v${version}";
32     sha256 = "sha256-m0r7LAo9pYFpS+oimVCNCipojxPzMMsLLjhjkitEwow=";
33   };
35   enableParallelBuilding = true;
36   separateDebugInfo = true;
38   strictDeps = true;
39   depsBuildBuild = [ buildPackages.stdenv.cc ];
40   nativeBuildInputs = [
41     autoconf
42     automake
43     zlib
44     curl.dev
45     re2c
46     cargo
47     rustPlatform.cargoSetupHook
48     rustc
49   ];
50   buildInputs =
51     [
52       bzip2
53       ncurses
54       pcre2
55       readline
56       sqlite
57       curl
58       libarchive
59     ]
60     ++ lib.optionals (!stdenv.isDarwin) [
61       gpm
62     ];
64   cargoDeps = rustPlatform.fetchCargoVendor {
65     src = "${src}/src/third-party/prqlc-c";
66     hash = "sha256-jfmr6EuNW2mEHTEVHn6YnBDMzKxKI097vEFHXC4NT2Y=";
67   };
69   cargoRoot = "src/third-party/prqlc-c";
71   preConfigure = ''
72     ./autogen.sh
73   '';
75   passthru.updateScript = nix-update-script { };
77   meta = with lib; {
78     homepage = "https://github.com/tstack/lnav";
79     description = "Logfile Navigator";
80     longDescription = ''
81       The log file navigator, lnav, is an enhanced log file viewer that takes
82       advantage of any semantic information that can be gleaned from the files
83       being viewed, such as timestamps and log levels. Using this extra
84       semantic information, lnav can do things like interleaving messages from
85       different files, generate histograms of messages over time, and providing
86       hotkeys for navigating through the file. It is hoped that these features
87       will allow the user to quickly and efficiently zero in on problems.
88     '';
89     downloadPage = "https://github.com/tstack/lnav/releases";
90     license = licenses.bsd2;
91     maintainers = with maintainers; [
92       dochang
93       symphorien
94       pcasaretto
95     ];
96     platforms = platforms.unix;
97     mainProgram = "lnav";
98   };