mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-29 10:23:29 +00:00
597f83798d
The test-c-stack tests hang on x86_64-darwin when they are run under Rosetta 2. Disabling these tests allows the rest of the tests to run successfully on that platform. This is a similar to the issue that affected gnugrep (NixOS#236229).
46 lines
1.7 KiB
Nix
46 lines
1.7 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.10";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://gnu/diffutils/diffutils-${version}.tar.xz";
|
|
hash = "sha256-kOXpPMck5OvhLt6A3xY0Bjx6hVaSaFkZv+YLVWyb0J4=";
|
|
};
|
|
|
|
outputs = [ "out" "info" ];
|
|
|
|
nativeBuildInputs = [ (lib.getBin xz) ];
|
|
/* If no explicit coreutils is given, use the one from stdenv. */
|
|
buildInputs = [ coreutils ];
|
|
|
|
# Disable stack-related gnulib tests on x86_64-darwin because they have problems running under
|
|
# Rosetta 2: test-c-stack hangs, test-sigsegv-catch-stackoverflow fails.
|
|
postPatch = if (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) then ''
|
|
sed -i -E 's:test-c-stack2?\.sh::g' gnulib-tests/Makefile.in
|
|
sed -i -E 's:test-sigsegv-catch-stackoverflow[12]::g' gnulib-tests/Makefile.in
|
|
'' else null;
|
|
|
|
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";
|
|
|
|
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 ];
|
|
};
|
|
}
|