base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / pd / pdftk / package.nix
blob9ecb87b86ff6520e7218beffd17b067510474b23
1 { lib, stdenv, fetchFromGitLab, gradle, jre, runtimeShell }:
3 stdenv.mkDerivation rec {
4   pname = "pdftk";
5   version = "3.3.3";
7   src = fetchFromGitLab {
8     owner = "pdftk-java";
9     repo = "pdftk";
10     rev = "v${version}";
11     hash = "sha256-ciKotTHSEcITfQYKFZ6sY2LZnXGChBJy0+eno8B3YHY=";
12   };
14   nativeBuildInputs = [ gradle ];
16   mitmCache = gradle.fetchDeps {
17     inherit pname;
18     data = ./deps.json;
19   };
21   __darwinAllowLocalNetworking = true;
23   gradleFlags = [ "-Dfile.encoding=utf-8" ];
25   gradleBuildTask = "shadowJar";
27   installPhase = ''
28     mkdir -p $out/{bin,share/pdftk,share/man/man1}
29     cp build/libs/pdftk-all.jar $out/share/pdftk
31     cat  << EOF > $out/bin/pdftk
32     #!${runtimeShell}
33     exec ${jre}/bin/java -jar "$out/share/pdftk/pdftk-all.jar" "\$@"
34     EOF
35     chmod a+x "$out/bin/pdftk"
37     cp ${src}/pdftk.1 $out/share/man/man1
38   '';
40   meta = with lib; {
41     description = "Command-line tool for working with PDFs";
42     homepage = "https://gitlab.com/pdftk-java/pdftk";
43     sourceProvenance = with sourceTypes; [
44       fromSource
45       binaryBytecode  # deps
46     ];
47     license = licenses.gpl2Plus;
48     maintainers = with maintainers; [ raskin averelld ];
49     platforms = platforms.unix;
50     mainProgram = "pdftk";
51   };