base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12 (#356361)
[NixPkgs.git] / pkgs / tools / misc / pgbadger / default.nix
blobd25b4db9068fc2be2ae7918e8f2e1dba2e603eb7
2   buildPerlPackage,
3   bzip2,
4   fetchFromGitHub,
5   JSONXS,
6   lib,
7   nix-update-script,
8   pgbadger,
9   PodMarkdown,
10   shortenPerlShebang,
11   stdenv,
12   testers,
13   TextCSV_XS,
14   which,
17 buildPerlPackage rec {
18   pname = "pgbadger";
19   version = "12.4";
21   src = fetchFromGitHub {
22     owner = "darold";
23     repo = "pgbadger";
24     rev = "refs/tags/v${version}";
25     hash = "sha256-an/BOkQsMkTXS0HywV1JWerS16HRbO1MHVleYhVqmBM=";
26   };
28   postPatch = ''
29     patchShebangs ./pgbadger
30   '';
32   # pgbadger has too many `-Idir` flags on its shebang line on Darwin,
33   # causing the build to fail when trying to generate the documentation.
34   # Rewrite the -I flags in `use lib` form.
35   preBuild = lib.optionalString stdenv.hostPlatform.isDarwin ''
36     shortenPerlShebang ./pgbadger
37   '';
39   outputs = [ "out" ];
41   PERL_MM_OPT = "INSTALL_BASE=${placeholder "out"}";
43   buildInputs = [
44     JSONXS
45     PodMarkdown
46     TextCSV_XS
47   ];
49   nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ shortenPerlShebang ];
51   nativeCheckInputs = [
52     bzip2
53     which
54   ];
56   passthru = {
57     tests.version = testers.testVersion {
58       inherit version;
59       command = "${lib.getExe pgbadger} --version";
60       package = pgbadger;
61     };
62     updateScript = nix-update-script { };
63   };
65   meta = {
66     homepage = "https://github.com/darold/pgbadger";
67     description = "Fast PostgreSQL Log Analyzer";
68     changelog = "https://github.com/darold/pgbadger/raw/v${version}/ChangeLog";
69     license = lib.licenses.postgresql;
70     maintainers = lib.teams.determinatesystems.members;
71     mainProgram = "pgbadger";
72   };