Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / tabula-java / default.nix
blobf8d3cc3c54be502791f5404976408663c6c2b5c8
1 { lib
2 , maven
3 , fetchFromGitHub
4 , makeWrapper
5 , jre
6 }:
8 maven.buildMavenPackage rec {
9   pname = "tabula-java";
10   version = "1.0.5";
12   src = fetchFromGitHub {
13     owner = "tabulapdf";
14     repo = "tabula-java";
15     rev = "v${version}";
16     hash = "sha256-lg8/diyGhfkUU0w7PEOlxb1WNpJZVDDllxMMsTIU/Cw=";
17   };
19   mvnHash = "sha256-yULCBHgctZZU3Deod+nQujssmUy+kgdFdgE3NUuFhOw=";
20   mvnParameters = "compile assembly:single -Dmaven.test.skip=true";
22   nativeBuildInputs = [ makeWrapper ];
24   installPhase = ''
25     runHook preInstall
27     mkdir -p $out/{bin,lib}
28     cp target/tabula-${version}-jar-with-dependencies.jar $out/lib/tabula.jar
30     makeWrapper ${jre}/bin/java $out/bin/tabula-java \
31       --add-flags "-cp $out/lib/tabula.jar" \
32       --add-flags "technology.tabula.CommandLineApp"
34     runHook postInstall
35   '';
37   meta = with lib; {
38     description = "A library for extracting tables from PDF files.";
39     longDescription = ''
40       tabula-java is the table extraction engine that powers
41       Tabula. You can use tabula-java as a command-line tool to
42       programmatically extract tables from PDFs.
43     '';
44     homepage = "https://tabula.technology/";
45     license = licenses.mit;
46     maintainers = [ maintainers.jakewaksbaum ];
47     platforms = platforms.all;
48   };