about summary refs log tree commit diff
path: root/pkgs/development/python-modules
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r--pkgs/development/python-modules/tabula-py/default.nix13
-rw-r--r--pkgs/development/python-modules/tabula-py/java-interpreter-path.patch54
2 files changed, 65 insertions, 2 deletions
diff --git a/pkgs/development/python-modules/tabula-py/default.nix b/pkgs/development/python-modules/tabula-py/default.nix
index 71873965f8623..f03c54e72de36 100644
--- a/pkgs/development/python-modules/tabula-py/default.nix
+++ b/pkgs/development/python-modules/tabula-py/default.nix
@@ -2,12 +2,13 @@
 , buildPythonPackage
 , distro
 , fetchFromGitHub
-, jdk
+, jre
 , numpy
 , pandas
 , pytestCheckHook
 , pythonOlder
 , setuptools-scm
+, setuptools
 }:
 
 buildPythonPackage rec {
@@ -24,6 +25,14 @@ buildPythonPackage rec {
     hash = "sha256-Dfi6LzrLDz9VVDmbeK1dEaWuQosD4tvAH13Q4Mp3smA=";
   };
 
+  patches = [
+    ./java-interpreter-path.patch
+  ];
+
+  postPatch = ''
+    sed -i 's|@JAVA@|${jre}/bin/java|g' $(find -name '*.py')
+  '';
+
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
@@ -34,10 +43,10 @@ buildPythonPackage rec {
     distro
     numpy
     pandas
+    setuptools
   ];
 
   checkInputs = [
-    jdk
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/tabula-py/java-interpreter-path.patch b/pkgs/development/python-modules/tabula-py/java-interpreter-path.patch
new file mode 100644
index 0000000000000..fcd03628794ac
--- /dev/null
+++ b/pkgs/development/python-modules/tabula-py/java-interpreter-path.patch
@@ -0,0 +1,54 @@
+diff -ru origsource/tabula/io.py source/tabula/io.py
+--- origsource/tabula/io.py	2022-11-23 17:19:35.419837514 +0100
++++ source/tabula/io.py	2022-11-23 17:22:08.204194807 +0100
+@@ -79,7 +79,7 @@
+             )
+         )
+ 
+-    args = ["java"] + java_options + ["-jar", _jar_path()] + options.build_option_list()
++    args = ["@JAVA@"] + java_options + ["-jar", _jar_path()] + options.build_option_list()
+     if path:
+         args.append(path)
+ 
+diff -ru origsource/tabula/util.py source/tabula/util.py
+--- origsource/tabula/util.py	2022-11-23 17:19:35.422837521 +0100
++++ source/tabula/util.py	2022-11-23 17:21:41.514132392 +0100
+@@ -26,7 +26,7 @@
+ 
+     try:
+         res = subprocess.check_output(
+-            ["java", "-version"], stderr=subprocess.STDOUT
++            ["@JAVA@", "-version"], stderr=subprocess.STDOUT
+         ).decode()
+ 
+     except FileNotFoundError:
+diff -ru origsource/tests/test_read_pdf_table.py source/tests/test_read_pdf_table.py
+--- origsource/tests/test_read_pdf_table.py	2022-11-23 17:19:35.422837521 +0100
++++ source/tests/test_read_pdf_table.py	2022-11-23 17:21:22.008086776 +0100
+@@ -281,7 +281,7 @@
+ 
+         tabula.read_pdf(self.pdf_path, encoding="utf-8")
+ 
+-        target_args = ["java"]
++        target_args = ["@JAVA@"]
+         if platform.system() == "Darwin":
+             target_args += ["-Djava.awt.headless=true"]
+         target_args += [
+@@ -355,7 +355,7 @@
+ 
+         tabula.read_pdf(self.pdf_path, encoding="utf-8", silent=False)
+ 
+-        target_args = ["java"]
++        target_args = ["@JAVA@"]
+         if platform.system() == "Darwin":
+             target_args += ["-Djava.awt.headless=true"]
+         target_args += [
+@@ -382,7 +382,7 @@
+ 
+         tabula.read_pdf(self.pdf_path, encoding="utf-8", silent=True)
+ 
+-        target_args = ["java"]
++        target_args = ["@JAVA@"]
+         if platform.system() == "Darwin":
+             target_args += ["-Djava.awt.headless=true"]
+         target_args += [