diffutils: 3.9 -> 3.10

Fixes the issue introduced in 3.9 and makes cmp and diff work past Y2K39
This commit is contained in:
Janne Heß 2023-05-21 23:33:11 +02:00
parent fe05fe6f64
commit 9588972fe9
No known key found for this signature in database
2 changed files with 6 additions and 30 deletions

View file

@ -7,28 +7,16 @@
stdenv.mkDerivation rec {
pname = "diffutils";
version = "3.9";
version = "3.10";
src = fetchurl {
url = "mirror://gnu/diffutils/diffutils-${version}.tar.xz";
hash = "sha256-2A076QogGGjeg9eNrTQTrYgWDMU7zDbrnq98INvwI/E=";
hash = "sha256-kOXpPMck5OvhLt6A3xY0Bjx6hVaSaFkZv+YLVWyb0J4=";
};
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 ];
nativeBuildInputs = [ (lib.getBin xz) ];
/* If no explicit coreutils is given, use the one from stdenv. */
buildInputs = [ coreutils ];
@ -38,10 +26,13 @@ stdenv.mkDerivation rec {
lib.optional (coreutils != null) "PR_PROGRAM=${coreutils}/bin/pr"
++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "gl_cv_func_getopt_gnu=yes";
doCheck = true;
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;
maintainers = with maintainers; [ das_j ];
};
}

View file

@ -1,15 +0,0 @@
https://git.savannah.gnu.org/cgit/diffutils.git/patch/?id=ba08fbbb0ca5da455bf695236c57bc50e7faed50
https://github.com/NixOS/nixpkgs/pull/213421#issuecomment-1407749912
Fix 'diff -D' regression
--- a/src/diff.c
+++ b/src/diff.c
@@ -416,7 +416,7 @@ main (int argc, char **argv)
char *base = b;
int changes = 0;
- for (i = 0; i < sizeof sizeof C_ifdef_group_formats; i++)
+ for (i = 0; i < sizeof C_ifdef_group_formats; i++)
{
char ch = C_ifdef_group_formats[i];
switch (ch)