nixpkgs/pkgs/tools/text/diffutils/default.nix
2023-02-20 18:59:36 +00:00

48 lines
1.5 KiB
Nix

{ lib, stdenv, fetchurl, xz, coreutils ? null }:
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
# cgit) that are needed here should be included directly in Nixpkgs as
# files.
stdenv.mkDerivation rec {
pname = "diffutils";
version = "3.9";
src = fetchurl {
url = "mirror://gnu/diffutils/diffutils-${version}.tar.xz";
hash = "sha256-2A076QogGGjeg9eNrTQTrYgWDMU7zDbrnq98INvwI/E=";
};
patches = [
# Backport of a fix for 'diff -D' output.
# TODO: remove when updating to 3.10.
./fix-diff-D.patch
];
postPatch = ''
# avoid the need for help2man
# TODO: can be removed when fix-diff-D.patch is removed.
touch man/diff.1
'';
outputs = [ "out" "info" ];
nativeBuildInputs = [ xz.bin ];
/* If no explicit coreutils is given, use the one from stdenv. */
buildInputs = [ coreutils ];
configureFlags =
# "pr" need not be on the PATH as a run-time dep, so we need to tell
# configure where it is. Covers the cross and native case alike.
lib.optional (coreutils != null) "PR_PROGRAM=${coreutils}/bin/pr"
++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "gl_cv_func_getopt_gnu=yes";
meta = with lib; {
homepage = "https://www.gnu.org/software/diffutils/diffutils.html";
description = "Commands for showing the differences between files (diff, cmp, etc.)";
license = licenses.gpl3;
platforms = platforms.unix;
};
}