mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-05 03:34:12 +00:00
Merge pull request #113349 from astro/hdfview
This commit is contained in:
commit
0c2cdb13d0
@ -4,11 +4,15 @@
|
||||
, fixDarwinDylibNames
|
||||
, cmake
|
||||
, libjpeg
|
||||
, uselibtirpc ? stdenv.isLinux
|
||||
, libtirpc
|
||||
, zlib
|
||||
, szip ? null
|
||||
, javaSupport ? false
|
||||
, jdk
|
||||
}:
|
||||
let uselibtirpc = stdenv.isLinux;
|
||||
let
|
||||
javabase = "${jdk}/jre/lib/${jdk.architecture}";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hdf";
|
||||
@ -52,9 +56,9 @@ stdenv.mkDerivation rec {
|
||||
libjpeg
|
||||
szip
|
||||
zlib
|
||||
] ++ lib.optionals uselibtirpc [
|
||||
libtirpc
|
||||
];
|
||||
]
|
||||
++ lib.optional javaSupport jdk
|
||||
++ lib.optional uselibtirpc libtirpc;
|
||||
|
||||
preConfigure = lib.optionalString uselibtirpc ''
|
||||
# Make tirpc discovery work with CMAKE_PREFIX_PATH
|
||||
@ -75,6 +79,11 @@ stdenv.mkDerivation rec {
|
||||
"-DHDF4_ENABLE_Z_LIB_SUPPORT=ON"
|
||||
"-DHDF4_BUILD_FORTRAN=OFF"
|
||||
"-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) [
|
||||
"-DHDF4_ENABLE_SZIP_ENCODING=ON"
|
||||
"-DHDF4_ENABLE_SZIP_SUPPORT=ON"
|
||||
|
@ -8,6 +8,8 @@
|
||||
, mpiSupport ? false
|
||||
, mpi
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
, javaSupport ? false
|
||||
, jdk
|
||||
}:
|
||||
|
||||
# cpp and mpi options are mutually exclusive
|
||||
@ -17,11 +19,11 @@ assert !cpp || !mpiSupport;
|
||||
let inherit (lib) optional optionals; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.10.6";
|
||||
version = "1.10.7";
|
||||
pname = "hdf5";
|
||||
src = fetchurl {
|
||||
url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/${pname}-${version}/src/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1gf38x51128hn00744358w27xgzjk0ff4wra4yxh2lk804ck1mh9";
|
||||
sha256 = "0pm5xxry55i0h7wmvc7svzdaa90rnk7h78rrjmnlkz2ygsn8y082";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
@ -35,7 +37,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = []
|
||||
++ optional (gfortran != null) gfortran
|
||||
++ optional (szip != null) szip;
|
||||
++ optional (szip != null) szip
|
||||
++ optional javaSupport jdk;
|
||||
|
||||
propagatedBuildInputs = []
|
||||
++ optional (zlib != null) zlib
|
||||
@ -46,7 +49,8 @@ stdenv.mkDerivation rec {
|
||||
++ optional (gfortran != null) "--enable-fortran"
|
||||
++ optional (szip != null) "--with-szlib=${szip}"
|
||||
++ optionals mpiSupport ["--enable-parallel" "CC=${mpi}/bin/mpicc"]
|
||||
++ optional enableShared "--enable-shared";
|
||||
++ optional enableShared "--enable-shared"
|
||||
++ optional javaSupport "--enable-java";
|
||||
|
||||
patches = [
|
||||
./bin-mv.patch
|
||||
|
@ -1,27 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, cmake, javac }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hdf-java";
|
||||
version = "3.3.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfjni-${version}/src/CMake-hdfjava-${version}.tar.gz";
|
||||
sha256 = "0m1gp2aspcblqzmpqbdpfp6giskws85ds6p5gz8sx7asyp7wznpr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake javac ];
|
||||
|
||||
dontConfigure = true;
|
||||
buildPhase = "./build-hdfjava-unix.sh";
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r build/_CPack_Packages/Linux/TGZ/HDFJava-3.3.2-Linux/HDF_Group/HDFJava/${version}/* $out/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A Java package that implements HDF4 and HDF5 data objects in an object-oriented form";
|
||||
license = lib.licenses.free; # BSD-like
|
||||
homepage = "https://support.hdfgroup.org/products/java/index.html";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -1,39 +1,58 @@
|
||||
{ lib, stdenv, fetchurl, ant, javac, hdf_java }:
|
||||
{ lib, stdenv, fetchurl, ant, jdk, nettools, hdf4, hdf5, makeDesktopItem, copyDesktopItems }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hdfview";
|
||||
version = "2.14";
|
||||
version = "3.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://support.hdfgroup.org/ftp/HDF5/hdf-java/current/src/${pname}-${version}.tar.gz";
|
||||
sha256 = "0lv9djfm7hnp14mcyzbiax3xjb8vkbzhh7bdl6cvgy53pc08784p";
|
||||
url = "https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/${pname}-${version}/src/${pname}-${version}.tar.gz";
|
||||
sha256 = "0kyw9i3f817z71l0ak7shl0wqxasz9h5fl05mklyapa7cj27637c";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ant javac ];
|
||||
nativeBuildInputs = [
|
||||
ant jdk
|
||||
nettools # "hostname" required
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
HDFLIBS = hdf_java;
|
||||
HDFLIBS = (hdf4.override { javaSupport = true; }).out;
|
||||
HDF5LIBS = (hdf5.override { javaSupport = true; }).out;
|
||||
|
||||
buildPhase = ''
|
||||
ant run
|
||||
ant package
|
||||
runHook preBuild
|
||||
|
||||
ant createJPackage
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
desktopItem = makeDesktopItem rec {
|
||||
name = "HDFView";
|
||||
desktopName = name;
|
||||
exec = name;
|
||||
icon = name;
|
||||
comment = meta.description;
|
||||
categories = "Science;DataVisualization;";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
# exclude jre
|
||||
cp -r build/HDF_Group/HDFView/*/{lib,share} $out/
|
||||
mkdir $out/bin
|
||||
cp -r build/HDF_Group/HDFView/*/hdfview.sh $out/bin/hdfview
|
||||
chmod +x $out/bin/hdfview
|
||||
substituteInPlace $out/bin/hdfview \
|
||||
--replace "@JAVABIN@" "${javac}/bin/" \
|
||||
--replace "@INSTALLDIR@" "$out"
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/lib
|
||||
cp -a build/dist/HDFView/bin/HDFView $out/bin/
|
||||
cp -a build/dist/HDFView/lib/app $out/lib/
|
||||
ln -s ${jdk}/lib/openjdk $out/lib/runtime
|
||||
|
||||
mkdir -p $out/share/applications $out/share/icons/hicolor/32x32/apps
|
||||
cp src/HDFView.png $out/share/icons/hicolor/32x32/apps/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A visual tool for browsing and editing HDF4 and HDF5 files";
|
||||
license = lib.licenses.free; # BSD-like
|
||||
homepage = "https://support.hdfgroup.org/products/java/index.html";
|
||||
homepage = "https://portal.hdfgroup.org/display/HDFVIEW/HDFView";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -5109,13 +5109,7 @@ in
|
||||
|
||||
hdf5-blosc = callPackage ../development/libraries/hdf5-blosc { };
|
||||
|
||||
hdfview = callPackage ../tools/misc/hdfview {
|
||||
javac = jdk8; # TODO: https://github.com/NixOS/nixpkgs/pull/89731
|
||||
};
|
||||
|
||||
hdf_java = callPackage ../tools/misc/hdfjava {
|
||||
javac = jdk8; # TODO: https://github.com/NixOS/nixpkgs/pull/89731
|
||||
};
|
||||
hdfview = callPackage ../tools/misc/hdfview { };
|
||||
|
||||
hecate = callPackage ../applications/editors/hecate { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user