Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 73 lines 1.6 kB view raw
1{ 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, 15}: 16 17buildPerlPackage rec { 18 pname = "pgbadger"; 19 version = "12.4"; 20 21 src = fetchFromGitHub { 22 owner = "darold"; 23 repo = "pgbadger"; 24 tag = "v${version}"; 25 hash = "sha256-an/BOkQsMkTXS0HywV1JWerS16HRbO1MHVleYhVqmBM="; 26 }; 27 28 postPatch = '' 29 patchShebangs ./pgbadger 30 ''; 31 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 ''; 38 39 outputs = [ "out" ]; 40 41 PERL_MM_OPT = "INSTALL_BASE=${placeholder "out"}"; 42 43 buildInputs = [ 44 JSONXS 45 PodMarkdown 46 TextCSV_XS 47 ]; 48 49 nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ shortenPerlShebang ]; 50 51 nativeCheckInputs = [ 52 bzip2 53 which 54 ]; 55 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 }; 64 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 teams = [ lib.teams.determinatesystems ]; 71 mainProgram = "pgbadger"; 72 }; 73}