summary refs log tree commit diff
path: root/pkgs/development/libraries/eccodes
diff options
context:
space:
mode:
authorJosef Kemetmüller <josef.kemetmueller@zamg.ac.at>2016-02-10 16:09:38 +0000
committerJosef Kemetmueller <josef.kemetmueller@zamg.ac.at>2017-03-30 09:21:16 +0000
commite2e3036b33fc0fe0a3dc29747f24893fc3559f77 (patch)
tree32ae7b357c6b790bce0a09efaf41771e57fac8d6 /pkgs/development/libraries/eccodes
parentc31c11ecef2d10fff8421a54739af26a7f3a04a4 (diff)
downloadnixpkgs-e2e3036b33fc0fe0a3dc29747f24893fc3559f77.tar
nixpkgs-e2e3036b33fc0fe0a3dc29747f24893fc3559f77.tar.gz
nixpkgs-e2e3036b33fc0fe0a3dc29747f24893fc3559f77.tar.bz2
nixpkgs-e2e3036b33fc0fe0a3dc29747f24893fc3559f77.tar.lz
nixpkgs-e2e3036b33fc0fe0a3dc29747f24893fc3559f77.tar.xz
nixpkgs-e2e3036b33fc0fe0a3dc29747f24893fc3559f77.tar.zst
nixpkgs-e2e3036b33fc0fe0a3dc29747f24893fc3559f77.zip
eccodes: init at 2.2.0
Diffstat (limited to 'pkgs/development/libraries/eccodes')
-rw-r--r--pkgs/development/libraries/eccodes/default.nix52
1 files changed, 52 insertions, 0 deletions
diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix
new file mode 100644
index 00000000000..2ba97af133e
--- /dev/null
+++ b/pkgs/development/libraries/eccodes/default.nix
@@ -0,0 +1,52 @@
+{ fetchurl, stdenv
+, cmake, netcdf, openjpeg, libpng, gfortran
+, enablePython ? false, pythonPackages
+, enablePosixThreads ? false
+, enableOpenMPThreads ? false}:
+with stdenv.lib; 
+stdenv.mkDerivation rec {
+  name = "eccodes-${version}";
+  version = "2.2.0";
+
+  src = fetchurl {
+    url = https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-2.2.0-Source.tar.gz;
+    sha256 = "1hzl0akjfxphqivnaj2kg131w8ki80ba3872h0a45f4pchci4h8s";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ netcdf
+                  openjpeg
+                  libpng
+                  gfortran
+                ];
+  propagatedBuildInputs = optionals enablePython [
+                  pythonPackages.python
+                  pythonPackages.numpy
+                ];
+
+  cmakeFlags = [ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}"
+                 "-DENABLE_PNG=ON"
+                 "-DENABLE_ECCODES_THREADS=${if enablePosixThreads then "ON" else "OFF"}"
+                 "-DENABLE_ECCODES_OMP_THREADS=${if enableOpenMPThreads then "ON" else "OFF"}"
+               ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  # Only do tests that don't require downloading 120MB of testdata
+  checkPhase = stdenv.lib.optionalString (stdenv.isDarwin) ''
+    substituteInPlace "tests/include.sh" --replace "set -ea" "set -ea; export DYLD_LIBRARY_PATH=$(pwd)/lib"
+  '' + ''
+    ctest -R "eccodes_t_(definitions|calendar|unit_tests|md5|uerra|grib_2nd_order_numValues|julian)" -VV
+  '';
+
+  meta = {
+    homepage = "https://software.ecmwf.int/wiki/display/ECC/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ knedlsepp ];
+    platforms = platforms.unix;
+    description = "ECMWF library for reading and writing GRIB, BUFR and GTS abbreviated header";
+  };
+}