2021-01-11 08:54:33 +01:00
|
|
|
{ lib, stdenv, fetchurl
|
2019-12-02 04:12:17 +01:00
|
|
|
, fetchpatch
|
2019-08-14 02:57:46 +02:00
|
|
|
, autoreconfHook
|
2020-04-06 17:01:06 +02:00
|
|
|
, perl
|
|
|
|
, ps
|
2019-08-14 02:57:46 +02:00
|
|
|
, python3Packages
|
|
|
|
, bashInteractive
|
|
|
|
}:
|
2011-07-22 00:02:01 +02:00
|
|
|
|
2013-04-10 17:39:03 +02:00
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 14:41:18 +02:00
|
|
|
pname = "bash-completion";
|
2020-10-26 08:17:14 +01:00
|
|
|
version = "2.11";
|
2011-07-22 00:02:01 +02:00
|
|
|
|
2020-12-28 17:09:57 +01:00
|
|
|
# Using fetchurl because fetchGithub or fetchzip will have trouble on
|
|
|
|
# e.g. APFS filesystems (macOS) because of non UTF-8 characters in some of the
|
|
|
|
# test fixtures that are part of the repository.
|
|
|
|
# See discussion in https://github.com/NixOS/nixpkgs/issues/107768
|
|
|
|
src = fetchurl {
|
|
|
|
url = "https://github.com/scop/${pname}/releases/download/${version}/${pname}-${version}.tar.xz";
|
|
|
|
sha256 = "1b0iz7da1sgifx1a5wdyx1kxbzys53v0kyk8nhxfipllmm5qka3k";
|
2011-07-22 00:02:01 +02:00
|
|
|
};
|
|
|
|
|
2019-08-14 02:57:46 +02:00
|
|
|
nativeBuildInputs = [ autoreconfHook ];
|
|
|
|
|
2020-09-14 19:08:21 +02:00
|
|
|
# tests are super flaky unfortunately, and regularily break.
|
|
|
|
# let's disable them for now.
|
|
|
|
doCheck = false;
|
2019-08-14 02:57:46 +02:00
|
|
|
checkInputs = [
|
2020-04-06 17:01:06 +02:00
|
|
|
# perl is assumed by perldoc completion
|
|
|
|
perl
|
|
|
|
# ps assumed to exist by gdb, killall, pgrep, pidof,
|
|
|
|
# pkill, pwdx, renice, and reptyr completions
|
|
|
|
ps
|
2019-08-14 02:57:46 +02:00
|
|
|
python3Packages.pexpect
|
|
|
|
python3Packages.pytest
|
|
|
|
bashInteractive
|
|
|
|
];
|
|
|
|
|
2020-04-06 17:01:06 +02:00
|
|
|
# - 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
|
2019-08-14 02:57:46 +02:00
|
|
|
checkPhase = ''
|
2020-07-11 10:57:45 +02:00
|
|
|
pytest . \
|
2021-01-15 07:28:56 +01:00
|
|
|
${lib.optionalString (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32) "--ignore=test/t/test_gcc.py"} \
|
2020-04-06 17:01:06 +02:00
|
|
|
--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 \
|
2019-08-14 02:57:46 +02:00
|
|
|
--ignore=test/t/unit/test_unit_ip_addresses.py \
|
2020-04-06 17:01:06 +02:00
|
|
|
--ignore=test/t/test_ls.py \
|
|
|
|
--ignore=test/t/test_screen.py
|
2019-08-14 02:57:46 +02:00
|
|
|
'';
|
2011-07-22 00:02:01 +02:00
|
|
|
|
2021-01-15 07:28:56 +01:00
|
|
|
prePatch = lib.optionalString stdenv.isDarwin ''
|
2017-02-10 21:42:12 +01:00
|
|
|
sed -i -e 's/readlink -f/readlink/g' bash_completion completions/*
|
|
|
|
'';
|
|
|
|
|
2021-01-11 08:54:33 +01:00
|
|
|
meta = with lib; {
|
2020-04-01 03:11:51 +02:00
|
|
|
homepage = "https://github.com/scop/bash-completion";
|
2011-07-22 00:02:01 +02:00
|
|
|
description = "Programmable completion for the bash shell";
|
2016-09-28 17:45:45 +02:00
|
|
|
license = licenses.gpl2Plus;
|
|
|
|
platforms = platforms.unix;
|
2021-10-14 10:59:33 +02:00
|
|
|
maintainers = [ maintainers.xfix ];
|
2011-07-22 00:02:01 +02:00
|
|
|
};
|
|
|
|
}
|