mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-27 08:04:14 +00:00
2b14eec435
The resulting executable fails with, among others, the following error: ``` org.jruby.rack.RackInitializationException: load error: /tmp/jetty-0.0.0.0-8080-tabula.jar-_-any-3187750518228613870.dir/webapp/WEB-INF/webapp/tabula_web -- java.lang.reflect.InaccessibleObjectException: Unable to make field public static final int java.util.zip.ZipConstants.ENDSIZ accessible: module java.base does not "opens java.util.zip" to unnamed module @4985cbcb ``` Working it around with `--add-opens` causes it to start, but to fail on any HTTP requests received without producing a useful error message in response or on std{out,err}.
42 lines
1.3 KiB
Nix
42 lines
1.3 KiB
Nix
{ lib, stdenv, fetchzip, jre, makeWrapper }:
|
||
|
||
|
||
stdenv.mkDerivation rec {
|
||
pname = "tabula";
|
||
version = "1.2.1";
|
||
|
||
|
||
src = fetchzip {
|
||
url = "https://github.com/tabulapdf/tabula/releases/download/v${version}/tabula-jar-${version}.zip";
|
||
sha256 = "0lkpv8hkji81fanyxm7ph8421fr9a6phqc3pbhw2bc4gljg7sgxi";
|
||
};
|
||
|
||
|
||
nativeBuildInputs = [ makeWrapper ];
|
||
|
||
|
||
installPhase = ''
|
||
mkdir -pv $out/share/tabula
|
||
cp -v * $out/share/tabula
|
||
|
||
makeWrapper ${jre}/bin/java $out/bin/tabula --add-flags "-jar $out/share/tabula/tabula.jar"
|
||
'';
|
||
|
||
|
||
meta = with lib; {
|
||
description = "A tool for liberating data tables locked inside PDF files";
|
||
longDescription = ''
|
||
If you’ve ever tried to do anything with data provided to you in PDFs, you
|
||
know how painful it is — there's no easy way to copy-and-paste rows of data
|
||
out of PDF files. Tabula allows you to extract that data into a CSV or
|
||
Microsoft Excel spreadsheet using a simple, easy-to-use interface.
|
||
'';
|
||
homepage = "https://tabula.technology/";
|
||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||
license = licenses.mit;
|
||
maintainers = [ maintainers.dpaetzel ];
|
||
platforms = platforms.all;
|
||
broken = true; # on 2022-11-23 this package builds, but produces an executable that fails immediately
|
||
};
|
||
}
|