grib-api: 1.14.4 -> 1.19.0

- Remove downloading of testdata during buildPhase to
  - fix hydra build
  - remove impurity
  - reduce traffic
- Bump version
- Add myself as a maintainer
This commit is contained in:
Josef Kemetmueller 2016-12-15 20:44:02 +01:00
parent 78ffee7f06
commit 64e4b7ac42
2 changed files with 38 additions and 9 deletions

View file

@ -231,6 +231,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 ];
}; };
} }