diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/shells/bash/bash-completion/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/shells/bash/bash-completion/default.nix | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/shells/bash/bash-completion/default.nix b/infra/libkookie/nixpkgs/pkgs/shells/bash/bash-completion/default.nix new file mode 100644 index 000000000000..5fda57048121 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/shells/bash/bash-completion/default.nix @@ -0,0 +1,71 @@ +{ stdenv, fetchFromGitHub +, fetchpatch +, autoreconfHook +, perl +, ps +, python3Packages +, bashInteractive +}: + +stdenv.mkDerivation rec { + pname = "bash-completion"; + version = "2.11"; + + src = fetchFromGitHub { + owner = "scop"; + repo = "bash-completion"; + rev = version; + sha256 = "0m3brd5jx7w07h8vxvvcmbyrlnadrx6hra3cvx6grzv6rin89liv"; + }; + + nativeBuildInputs = [ autoreconfHook ]; + + # tests are super flaky unfortunately, and regularily break. + # let's disable them for now. + doCheck = false; + 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 ]; + }; +} |