summary refs log blame commit diff
path: root/pkgs/development/libraries/cdo/default.nix
blob: a038b5885c2b7e89c3d093f7c19368960f5fa80a (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                           





                                                         


                         

                      




                                     

                                                                                             




                                                   


                                                            
 
                    




                                                                                                              
                                                          


                                                

    
{ lib, stdenv, fetchurl, curl, hdf5, netcdf
, # build, install and link to a CDI library [default=no]
  enable_cdi_lib ? false
, # build a completely statically linked CDO binary
  enable_all_static ? stdenv.hostPlatform.isStatic
, # Use CXX as default compiler [default=no]
  enable_cxx ? false
}:

stdenv.mkDerivation rec {
  pname = "cdo";
  version = "1.9.7.1";

  # Dependencies
  buildInputs = [ curl netcdf hdf5 ];

  src = fetchurl {
    url = "https://code.mpimet.mpg.de/attachments/download/20124/${pname}-${version}.tar.gz";
    sha256 = "0b4n8dwxfsdbz4jflsx0b75hwapdf1rp14p48dfr7ksv0qp9aw9p";
  };

 # Configure phase
 configureFlags = [
   "--with-netcdf=${netcdf}" "--with-hdf5=${hdf5}"]
   ++ lib.optional (enable_cdi_lib) "--enable-cdi-lib"
   ++ lib.optional (enable_all_static) "--enable-all-static"
   ++ lib.optional (enable_cxx) "--enable-cxx";

  meta = with lib; {
    description = "Collection of command line Operators to manipulate and analyse Climate and NWP model Data";
    longDescription = ''
      Supported data formats are GRIB 1/2, netCDF 3/4, SERVICE, EXTRA and IEG.
      There are more than 600 operators available.
    '';
    homepage = "https://code.mpimet.mpg.de/projects/cdo/";
    license = licenses.gpl2;
    maintainers = [ maintainers.ltavard ];
    platforms = with platforms; linux ++ darwin;
  };
}