{ stdenv, lib, cmake, gfortran, zlib, libaec, libpng, openjpeg, pkg-config, fetchFromGitHub, fetchurl, }: let g2cVersion = "2.3.0"; g2c = stdenv.mkDerivation { pname = "nceplibs-g2c"; version = g2cVersion; src = fetchFromGitHub { owner = "NOAA-EMC"; repo = "NCEPLIBS-g2c"; rev = "v${g2cVersion}"; hash = "sha256-9z0QipDqX5e/IgcK6y0q9ovja5jxwszLbWNUQQBIsss="; }; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ zlib libaec libpng openjpeg ]; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DUSE_PNG=ON" "-DUSE_AEC=ON" "-DUSE_OpenJPEG=ON" "-DUSE_Jasper=OFF" ]; }; in stdenv.mkDerivation { pname = "wgrib2"; version = "3.8.0"; src = fetchFromGitHub { owner = "NOAA-EMC"; repo = "wgrib2"; rev = "v3.8.0"; hash = "sha256-cJR8CdkAWYVj54saYjigqncKCFXHpekWZ4yAMdYHYYg="; }; nativeBuildInputs = [ cmake gfortran ]; buildInputs = [ zlib libaec libpng openjpeg g2c ]; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DUSE_AEC=ON" "-DUSE_G2CLIB_LOW=ON" # Help CMake find the g2c library from our local build "-DCMAKE_PREFIX_PATH=${g2c}" ]; postInstall = '' strip $out/bin/wgrib2 ''; meta = { description = "Utility to read and write GRIB2 files"; homepage = "https://github.com/NOAA-EMC/wgrib2"; license = lib.licenses.gpl3Plus; platforms = lib.platforms.linux; }; }