Merge pull request #21750 from knedlsepp/fix-grib-problems

grib-api: 1.14.4 -> 1.19.0
This commit is contained in:
Michael Raskin 2017-01-09 09:28:07 +00:00 committed by GitHub
commit 9b00d43ed5
2 changed files with 38 additions and 9 deletions

View File

@ -237,6 +237,7 @@
KibaFox = "Kiba Fox <kiba.fox@foxypossibilities.com>"; KibaFox = "Kiba Fox <kiba.fox@foxypossibilities.com>";
kierdavis = "Kier Davis <kierdavis@gmail.com>"; kierdavis = "Kier Davis <kierdavis@gmail.com>";
kkallio = "Karn Kallio <tierpluspluslists@gmail.com>"; kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
knedlsepp = "Josef Kemetmüller <josef.kemetmueller@gmail.com>";
koral = "Koral <koral@mailoo.org>"; koral = "Koral <koral@mailoo.org>";
kovirobi = "Kovacsics Robert <kovirobi@gmail.com>"; kovirobi = "Kovacsics Robert <kovirobi@gmail.com>";
kragniz = "Louis Taylor <louis@kragniz.eu>"; kragniz = "Louis Taylor <louis@kragniz.eu>";

View File

@ -1,32 +1,60 @@
{ fetchurl, stdenv, curl, { fetchurl, stdenv,
netcdf, jasper, openjpeg }: cmake, netcdf, gfortran, jasper, libpng,
enablePython ? false, pythonPackages }:
stdenv.mkDerivation rec{ stdenv.mkDerivation rec{
name = "grib-api-${version}"; name = "grib-api-${version}";
version = "1.14.4"; version = "1.19.0";
src = fetchurl { src = fetchurl {
url = https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-1.14.4-Source.tar.gz; url = "https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-${version}-Source.tar.gz";
sha256 = "1w8z9y79wakhwv1r4rb4dwlh9pbyw367klcm6laxz91hhvfrpfq8"; sha256 = "07cj9mw5bb249lxx1m9nmfdqb8b2a8cm7s6x62cdwca3sp16dv6a";
}; };
buildInputs = [ netcdf preConfigure = ''
# Fix "no member named 'inmem_' in 'jas_image_t'"
substituteInPlace "src/grib_jasper_encoding.c" --replace "image.inmem_ = 1;" ""
'';
buildInputs = [ cmake
netcdf
gfortran
jasper jasper
openjpeg libpng
curl # Used for downloading during make test ] ++ stdenv.lib.optionals enablePython [
pythonPackages.python
]; ];
cmakeFlags = [ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}"
"-DENABLE_PNG=ON"
"-DENABLE_FORTRAN=ON"
];
enableParallelBuilding = true;
doCheck = true; doCheck = true;
# Only do tests that don't require downloading 120MB of testdata
# We fix the darwin checkPhase, which searches for libgrib_api.dylib
# in /nix/store by setting DYLD_LIBRARY_PATH
checkPhase = stdenv.lib.optionalString (stdenv.isDarwin) ''
substituteInPlace "tests/include.sh" --replace "set -ea" "set -ea; export DYLD_LIBRARY_PATH=$(pwd)/lib"
'' + ''
ctest -R "t_definitions|t_calendar|t_unit_tests" -VV
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "https://software.ecmwf.int/wiki/display/GRIB/Home"; homepage = "https://software.ecmwf.int/wiki/display/GRIB/Home";
license = licenses.asl20; license = licenses.asl20;
platforms = with platforms; linux ++ darwin;
description = "ECMWF Library for the GRIB file format"; description = "ECMWF Library for the GRIB file format";
longDescription = '' longDescription = ''
The ECMWF GRIB API is an application program interface accessible from C, The ECMWF GRIB API is an application program interface accessible from C,
FORTRAN and Python programs developed for encoding and decoding WMO FM-92 FORTRAN and Python programs developed for encoding and decoding WMO FM-92
GRIB edition 1 and edition 2 messages. GRIB edition 1 and edition 2 messages.
''; '';
maintainers = with maintainers; [ knedlsepp ];
}; };
} }