nixpkgs-suyu/pkgs/development/libraries/nco/default.nix
Taylor Viti 5377640490 nco: Patch hardcoded paths cp and mv
Commit b83ed3efe81525302469a3052982f41393a616e0 in the nco source
repo, hard-coded the paths to cp and mv, so as to point to their FHS
locations, which resulted in ncrename throwing a "file not found"
error when invoked outside of an FHS sandbox.

This nixpkgs commit patches the src/nco_fl_utl.c to instead point the
associated nixpkgs.coreutils locations. The hard-coded paths actually
occur in a number of other locations, but this is enough to quash the
error w/ ncrename (and presumably the other CLI nco tooling, although
this isn't tested).
2020-05-05 15:22:12 -10:00

30 lines
1 KiB
Nix

{ stdenv, fetchzip, netcdf, netcdfcxx4, gsl, udunits, antlr, which, curl, flex, coreutils }:
stdenv.mkDerivation rec {
version = "4.9.2";
pname = "nco";
nativeBuildInputs = [ flex which ];
buildInputs = [ netcdf netcdfcxx4 gsl udunits antlr curl coreutils ];
src = fetchzip {
url = "https://github.com/nco/nco/archive/${version}.tar.gz";
sha256 = "0nip9dmdx3d5nc30bz1d2w9his1dph136l53r160aa3bmb29xwqn";
};
prePatch = ''
substituteInPlace src/nco/nco_fl_utl.c \
--replace "/bin/cp" "${coreutils}/bin/cp"
substituteInPlace src/nco/nco_fl_utl.c \
--replace "/bin/mv" "${coreutils}/bin/mv"
'';
meta = {
description = "NetCDF Operator toolkit";
longDescription = "The NCO (netCDF Operator) toolkit manipulates and analyzes data stored in netCDF-accessible formats, including DAP, HDF4, and HDF5";
homepage = "http://nco.sourceforge.net/";
license = stdenv.lib.licenses.gpl3;
maintainers = [ stdenv.lib.maintainers.bzizou ];
platforms = stdenv.lib.platforms.linux;
};
}