aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/shells/bash/bash-completion/default.nix
diff options
context:
space:
mode:
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.nix71
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 ];
+ };
+}