nixpkgs/pkgs/shells/bash/bash-completion/default.nix
Philipp Adolf 3c8cdbff84 Revert "bashCompletion: speed-up test execution by using xdist"
This reverts commit a85b07cbcb as
executing the tests in parallel makes them flaky. This can be seen very
easily on armv7l machines (and probably other machines that are slower
than common x86_64 machines as well), but is also reproducible on
x86_64.

This fixes #91706.
2020-07-11 11:04:27 +02:00

70 lines
2.1 KiB
Nix

{ stdenv, fetchFromGitHub
, fetchpatch
, autoreconfHook
, perl
, ps
, python3Packages
, bashInteractive
}:
stdenv.mkDerivation rec {
pname = "bash-completion";
version = "2.10";
src = fetchFromGitHub {
owner = "scop";
repo = "bash-completion";
rev = version;
sha256 = "047yjryy9d6hp18wkigbfrw9r0sm31inlsp8l28fhxg8ii032sgq";
};
nativeBuildInputs = [ autoreconfHook ];
doCheck = !stdenv.isDarwin;
checkInputs = [
# perl is assumed by perldoc completion
perl
# ps assumed to exist by gdb, killall, pgrep, pidof,
# pkill, pwdx, renice, and reptyr completions
ps
python3Packages.pexpect
python3Packages.pytest
bashInteractive
];
# - ignore test_gcc on ARM because it assumes -march=native
# - ignore test_chsh because it assumes /etc/shells exists
# - ignore test_ether_wake, test_ifdown, test_ifstat, test_ifup,
# test_iperf, test_iperf3, test_nethogs and ip_addresses
# because they try to touch network
# - ignore test_ls because impure logic
# - ignore test_screen because it assumes vt terminals exist
checkPhase = ''
pytest . \
${stdenv.lib.optionalString (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32) "--ignore=test/t/test_gcc.py"} \
--ignore=test/t/test_chsh.py \
--ignore=test/t/test_ether_wake.py \
--ignore=test/t/test_ifdown.py \
--ignore=test/t/test_ifstat.py \
--ignore=test/t/test_ifup.py \
--ignore=test/t/test_iperf.py \
--ignore=test/t/test_iperf3.py \
--ignore=test/t/test_nethogs.py \
--ignore=test/t/unit/test_unit_ip_addresses.py \
--ignore=test/t/test_ls.py \
--ignore=test/t/test_screen.py
'';
prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i -e 's/readlink -f/readlink/g' bash_completion completions/*
'';
meta = with stdenv.lib; {
homepage = "https://github.com/scop/bash-completion";
description = "Programmable completion for the bash shell";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = [ maintainers.peti maintainers.xfix ];
};
}