Unverified Commit e0500074 authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #254251 from elohmeier/tabula-from-src

tabula-java: build from source
parents 576a61da 20f87f26
Loading
Loading
Loading
Loading
+24 −12
Original line number Diff line number Diff line
{ stdenv, lib, fetchurl, jre, makeWrapper }:
{ lib
, maven
, fetchFromGitHub
, makeWrapper
, jre
}:

stdenv.mkDerivation rec {
maven.buildMavenPackage rec {
  pname = "tabula-java";
  version = "1.0.5";

  src = fetchurl {
    url = "https://github.com/tabulapdf/tabula-java/releases/download/v${version}/tabula-${version}-jar-with-dependencies.jar";
    sha256 = "sha256-IWHj//ZZOdfOCBJHnPnKNoYNtWl/f8H6ARYe1AkqB0U=";
  src = fetchFromGitHub {
    owner = "tabulapdf";
    repo = "tabula-java";
    rev = "v${version}";
    hash = "sha256-lg8/diyGhfkUU0w7PEOlxb1WNpJZVDDllxMMsTIU/Cw=";
  };

  nativeBuildInputs = [ makeWrapper ];
  mvnHash = "sha256-yULCBHgctZZU3Deod+nQujssmUy+kgdFdgE3NUuFhOw=";
  mvnParameters = "compile assembly:single -Dmaven.test.skip=true";

  dontUnpack = true;
  dontBuild = true;
  nativeBuildInputs = [ makeWrapper ];

  installPhase = ''
    mkdir -pv $out/share/tabula-java
    cp -v $src $out/share/tabula-java/tabula-java.jar
    runHook preInstall

    mkdir -p $out/{bin,lib}
    cp target/tabula-${version}-jar-with-dependencies.jar $out/lib/tabula.jar

    makeWrapper ${jre}/bin/java $out/bin/tabula-java \
      --add-flags "-cp $out/lib/tabula.jar" \
      --add-flags "technology.tabula.CommandLineApp"

    makeWrapper ${jre}/bin/java $out/bin/tabula-java --add-flags "-jar $out/share/tabula-java/tabula-java.jar"
    runHook postInstall
  '';

  meta = with lib; {
@@ -29,7 +42,6 @@ stdenv.mkDerivation rec {
      programmatically extract tables from PDFs.
    '';
    homepage = "https://tabula.technology/";
    sourceProvenance = with sourceTypes; [ binaryBytecode ];
    license = licenses.mit;
    maintainers = [ maintainers.jakewaksbaum ];
    platforms = platforms.all;