summary refs log tree commit diff
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-09-15 10:21:26 +0200
committerGitHub <noreply@github.com>2023-09-15 10:21:26 +0200
commite05000740f45c741d11fb2f6e8f04ebc48c1d847 (patch)
treeef7695abc383c11505493c3fbdad6a34e495e08c
parent576a61dabb349f0e4c0d6c954abe6942d9ef7b28 (diff)
parent20f87f261889fe728ef6310e7e09a6f9bbaa255f (diff)
downloadnixpkgs-e05000740f45c741d11fb2f6e8f04ebc48c1d847.tar
nixpkgs-e05000740f45c741d11fb2f6e8f04ebc48c1d847.tar.gz
nixpkgs-e05000740f45c741d11fb2f6e8f04ebc48c1d847.tar.bz2
nixpkgs-e05000740f45c741d11fb2f6e8f04ebc48c1d847.tar.lz
nixpkgs-e05000740f45c741d11fb2f6e8f04ebc48c1d847.tar.xz
nixpkgs-e05000740f45c741d11fb2f6e8f04ebc48c1d847.tar.zst
nixpkgs-e05000740f45c741d11fb2f6e8f04ebc48c1d847.zip
Merge pull request #254251 from elohmeier/tabula-from-src
tabula-java: build from source
-rw-r--r--pkgs/applications/misc/tabula-java/default.nix36
1 files changed, 24 insertions, 12 deletions
diff --git a/pkgs/applications/misc/tabula-java/default.nix b/pkgs/applications/misc/tabula-java/default.nix
index ebd266e6669..f8d3cc3c54b 100644
--- a/pkgs/applications/misc/tabula-java/default.nix
+++ b/pkgs/applications/misc/tabula-java/default.nix
@@ -1,24 +1,37 @@
-{ 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;