@@ -1,39 +1,51 @@
1−{ fetchurl, lib, stdenv
2−, cmake, netcdf, openjpeg, libpng, gfortran
3−, enablePython ? false, pythonPackages
1+{ fetchurl
2+, lib
3+, stdenv
4+, cmake
5+, netcdf
6+, openjpeg
7+, libpng
8+, gfortran
9+, perl
10+, enablePython ? false
11+, pythonPackages
412, enablePosixThreads ? false
5−, enableOpenMPThreads ? false}:
6−with lib;
13+, enableOpenMPThreads ? false
14+}:
15+
716stdenv.mkDerivation rec {
817 pname = "eccodes";
9− version = "2.12.5";
18+ version = "2.23.0";
1019
1120 src = fetchurl {
1221 url = "https://confluence.ecmwf.int/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
13− sha256 = "0576fccng4nvmq5gma1nb1v00if5cwl81w4nv5zkb80q5wicn50c";
22+ sha256 = "sha256-y9yFMlN+loLxqT3bA0QEFrZpBqTMJd7Dy9c5QNGUvww=";
1423 };
1524
1625 postPatch = ''
1726 substituteInPlace cmake/FindOpenJPEG.cmake --replace openjpeg-2.1 ${openjpeg.incDir}
1827 '';
1928
20− nativeBuildInputs = [ cmake ];
29+ nativeBuildInputs = [ cmake perl ];
30+
31+ buildInputs = [
32+ netcdf
33+ openjpeg
34+ libpng
35+ gfortran
36+ ];
2137
22− buildInputs = [ netcdf
23− openjpeg
24− libpng
25− gfortran
26− ];
27− propagatedBuildInputs = optionals enablePython [
28− pythonPackages.python
29− pythonPackages.numpy
30− ];
38+ propagatedBuildInputs = lib.optionals enablePython [
39+ pythonPackages.python
40+ pythonPackages.numpy
41+ ];
3142
32− cmakeFlags = [ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}"
33− "-DENABLE_PNG=ON"
34− "-DENABLE_ECCODES_THREADS=${if enablePosixThreads then "ON" else "OFF"}"
35− "-DENABLE_ECCODES_OMP_THREADS=${if enableOpenMPThreads then "ON" else "OFF"}"
36− ];
43+ cmakeFlags = [
44+ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}"
45+ "-DENABLE_PNG=ON"
46+ "-DENABLE_ECCODES_THREADS=${if enablePosixThreads then "ON" else "OFF"}"
47+ "-DENABLE_ECCODES_OMP_THREADS=${if enableOpenMPThreads then "ON" else "OFF"}"
48+ ];
3749
3850 doCheck = true;
3951
@@ -44,7 +56,7 @@ stdenv.mkDerivation rec {
4456 ctest -R "eccodes_t_(definitions|calendar|unit_tests|md5|uerra|grib_2nd_order_numValues|julian)" -VV
4557 '';
4658
47− meta = {
59+ meta = with lib; {
4860 homepage = "https://confluence.ecmwf.int/display/ECC/";
4961 license = licenses.asl20;
5062 maintainers = with maintainers; [ knedlsepp ];