2021-01-15 22:18:51 +00:00
|
|
|
{ lib, stdenv, fetchurl, xz, coreutils ? null }:
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2020-08-20 17:08:02 +00:00
|
|
|
# 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.
|
|
|
|
|
2020-04-24 23:36:52 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2021-05-20 23:08:51 +00:00
|
|
|
pname = "diffutils";
|
2023-03-15 16:39:30 +00:00
|
|
|
version = "3.9";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
src = fetchurl {
|
2021-05-20 23:08:51 +00:00
|
|
|
url = "mirror://gnu/diffutils/diffutils-${version}.tar.xz";
|
2023-03-15 16:39:30 +00:00
|
|
|
hash = "sha256-2A076QogGGjeg9eNrTQTrYgWDMU7zDbrnq98INvwI/E=";
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
|
2023-03-15 16:39:30 +00:00
|
|
|
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
|
|
|
|
'';
|
|
|
|
|
2020-04-24 23:36:52 +00:00
|
|
|
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.
|
2021-01-15 22:18:51 +00:00
|
|
|
lib.optional (coreutils != null) "PR_PROGRAM=${coreutils}/bin/pr"
|
|
|
|
++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "gl_cv_func_getopt_gnu=yes";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2021-01-15 22:18:51 +00:00
|
|
|
meta = with lib; {
|
2020-04-24 23:36:52 +00:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
}
|