hdf4, hdf5: add javaSupport flag

This commit is contained in:
Astro 2021-02-16 23:24:14 +01:00
parent d1ca6bd23e
commit a419187458
2 changed files with 19 additions and 6 deletions

View file

@ -4,11 +4,15 @@
, fixDarwinDylibNames , fixDarwinDylibNames
, cmake , cmake
, libjpeg , libjpeg
, uselibtirpc ? stdenv.isLinux
, libtirpc , libtirpc
, zlib , zlib
, szip ? null , szip ? null
, javaSupport ? false
, jdk
}: }:
let uselibtirpc = stdenv.isLinux; let
javabase = "${jdk}/jre/lib/${jdk.architecture}";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "hdf"; pname = "hdf";
@ -52,9 +56,9 @@ stdenv.mkDerivation rec {
libjpeg libjpeg
szip szip
zlib zlib
] ++ lib.optionals uselibtirpc [ ]
libtirpc ++ lib.optional javaSupport jdk
]; ++ lib.optional uselibtirpc libtirpc;
preConfigure = lib.optionalString uselibtirpc '' preConfigure = lib.optionalString uselibtirpc ''
# Make tirpc discovery work with CMAKE_PREFIX_PATH # Make tirpc discovery work with CMAKE_PREFIX_PATH
@ -75,6 +79,11 @@ stdenv.mkDerivation rec {
"-DHDF4_ENABLE_Z_LIB_SUPPORT=ON" "-DHDF4_ENABLE_Z_LIB_SUPPORT=ON"
"-DHDF4_BUILD_FORTRAN=OFF" "-DHDF4_BUILD_FORTRAN=OFF"
"-DJPEG_DIR=${libjpeg}" "-DJPEG_DIR=${libjpeg}"
] ++ lib.optionals javaSupport [
"-DHDF4_BUILD_JAVA=ON"
"-DJAVA_HOME=${jdk}"
"-DJAVA_AWT_LIBRARY=${javabase}/libawt.so"
"-DJAVA_JVM_LIBRARY=${javabase}/server/libjvm.so"
] ++ lib.optionals (szip != null) [ ] ++ lib.optionals (szip != null) [
"-DHDF4_ENABLE_SZIP_ENCODING=ON" "-DHDF4_ENABLE_SZIP_ENCODING=ON"
"-DHDF4_ENABLE_SZIP_SUPPORT=ON" "-DHDF4_ENABLE_SZIP_SUPPORT=ON"

View file

@ -8,6 +8,8 @@
, mpiSupport ? false , mpiSupport ? false
, mpi , mpi
, enableShared ? !stdenv.hostPlatform.isStatic , enableShared ? !stdenv.hostPlatform.isStatic
, javaSupport ? false
, jdk
}: }:
# cpp and mpi options are mutually exclusive # cpp and mpi options are mutually exclusive
@ -35,7 +37,8 @@ stdenv.mkDerivation rec {
buildInputs = [] buildInputs = []
++ optional (gfortran != null) gfortran ++ optional (gfortran != null) gfortran
++ optional (szip != null) szip; ++ optional (szip != null) szip
++ optional javaSupport jdk;
propagatedBuildInputs = [] propagatedBuildInputs = []
++ optional (zlib != null) zlib ++ optional (zlib != null) zlib
@ -46,7 +49,8 @@ stdenv.mkDerivation rec {
++ optional (gfortran != null) "--enable-fortran" ++ optional (gfortran != null) "--enable-fortran"
++ optional (szip != null) "--with-szlib=${szip}" ++ optional (szip != null) "--with-szlib=${szip}"
++ optionals mpiSupport ["--enable-parallel" "CC=${mpi}/bin/mpicc"] ++ optionals mpiSupport ["--enable-parallel" "CC=${mpi}/bin/mpicc"]
++ optional enableShared "--enable-shared"; ++ optional enableShared "--enable-shared"
++ optional javaSupport "--enable-java";
patches = [ patches = [
./bin-mv.patch ./bin-mv.patch