1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-02-19 17:39:34 +00:00

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).
This commit is contained in:
Taylor Viti 2020-05-05 15:12:02 -10:00
parent fce7562cf4
commit 5377640490

View file

@ -1,17 +1,24 @@
{ stdenv, fetchzip, netcdf, netcdfcxx4, gsl, udunits, antlr, which, curl, flex }:
{ 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 ];
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";