summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRolf Schröder <rolf.schroeder@limbus-medtec.com>2024-01-11 13:37:08 +0100
committerRolf Schröder <rolf.schroeder@limbus-medtec.com>2024-01-25 12:35:33 +0100
commit370afc7cced5e775055d694b8244dc8f3d801a44 (patch)
tree4e23cdce3da0bd1b5737f53a8cf7387acb94c811
parentMerge pull request #282650 from r-ryantm/auto-update/unifi-protect-backup (diff)
downloadnixpkgs-370afc7cced5e775055d694b8244dc8f3d801a44.tar.gz
gdal: add java bindings
-rw-r--r--pkgs/development/libraries/gdal/default.nix13
-rw-r--r--pkgs/development/libraries/gdal/tests.nix13
2 files changed, 24 insertions, 2 deletions
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 6f0e06213626..3aad307aab57 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -14,7 +14,9 @@
, useHDF ? (!useMinimalFeatures)
, useNetCDF ? (!useMinimalFeatures)
, useArmadillo ? (!useMinimalFeatures)
+, useJava ? (!useMinimalFeatures)
+, ant
, bison
, cmake
, gtest
@@ -36,6 +38,7 @@
, libgeotiff
, geos
, giflib
+, jdk
, libheif
, dav1d
, libaom
@@ -94,7 +97,7 @@ stdenv.mkDerivation (finalAttrs: {
python3.pkgs.setuptools
python3.pkgs.wrapPython
swig
- ];
+ ] ++ lib.optionals useJava [ ant jdk ];
cmakeFlags = [
"-DGDAL_USE_INTERNAL_LIBS=OFF"
@@ -110,6 +113,10 @@ stdenv.mkDerivation (finalAttrs: {
"-DCMAKE_BUILD_WITH_INSTALL_NAME_DIR=ON"
] ++ lib.optionals (!useTiledb) [
"-DGDAL_USE_TILEDB=OFF"
+ ] ++ lib.optionals (!useJava) [
+ # This is not strictly needed as the Java bindings wouldn't build anyway if
+ # ant/jdk were not available.
+ "-DBUILD_JAVA_BINDINGS=OFF"
];
buildInputs =
@@ -192,6 +199,10 @@ stdenv.mkDerivation (finalAttrs: {
postInstall = ''
wrapPythonPrograms
+ '' + lib.optionalString useJava ''
+ cd $out/lib
+ ln -s ./jni/libgdalalljni${stdenv.hostPlatform.extensions.sharedLibrary}
+ cd -
'';
enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/gdal/tests.nix b/pkgs/development/libraries/gdal/tests.nix
index b89bbd51ab20..87fbff2d5fa5 100644
--- a/pkgs/development/libraries/gdal/tests.nix
+++ b/pkgs/development/libraries/gdal/tests.nix
@@ -1,4 +1,4 @@
-{ runCommand, gdal }:
+{ runCommand, gdal, jdk }:
let
inherit (gdal) pname version;
@@ -40,5 +40,16 @@ runCommand "${pname}-tests" { meta.timeout = 60; }
${gdal}/bin/gdalinfo ./test.tif
+ # test java bindings
+ cat <<EOF > main.java
+ import org.gdal.gdal.gdal;
+ class Main {
+ public static void main(String[] args) {
+ gdal.AllRegister();
+ }
+ }
+ EOF
+ ${jdk}/bin/java -Djava.library.path=${gdal}/lib/ -cp ${gdal}/share/java/gdal-${version}.jar main.java
+
touch $out
''