Bash-completion is written with FHS in mind where completion scripts
all get added to /usr/share/bash-completion/completions and are picked
up by the dynamic completion loader from there---whether they are
part of bash-completion or installed by another package.
On Guix systems, we want not only to search within bash-completion's own
directory, but also in the user's profile and guix home profile, as well
as in the system profile.
This is what this patch does.
--- a/bash_completion
+++ b/bash_completion
@@ -2173,7 +2173,15 @@ complete -F _minimal ''
__load_completion()
{
- local -a dirs=(${BASH_COMPLETION_USER_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion}/completions)
+ local -a dirs=(
+ ${BASH_COMPLETION_USER_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion}/completions
+ "$HOME/.guix-profile/share/bash-completion/completions"
+ "$HOME/.guix-profile/etc/bash_completion.d"
+ "$HOME/.guix-home/profile/share/bash-completion/completions"
+ "$HOME/.guix-home/profile/etc/bash_completion.d"
+ "/run/current-system/profile/share/bash-completion/completions"
+ "/run/current-system/profile/etc/bash_completion.d" )
+
local ifs=$IFS IFS=: dir cmd="${1##*/}" compfile
[[ -n $cmd ]] || return 1
for dir in ${XDG_DATA_DIRS:-/usr/local/share:/usr/share}; do
dirs+=( $dir/bash-completion/completions )
id=2afc79b51d0956e5834e81a70692a35cd83e4e87'>diff
|
Age | Commit message (Expand) | Author |
2019-06-14 | tests: Make builds less expensive....The switch to the reduced bootstrap broke build time assumptions made by
tests, notably the assumption that GNU-MAKE-BOOT0 was cheap to build.
This commit adjusts this to make these tests cheaper.
* gnu/packages/bootstrap.scm (%bootstrap-inputs-for-tests): New variable.
* guix/tests.scm (gnu-make-for-tests): New variable.
* tests/guix-environment.sh: Use GNU-MAKE-FOR-TESTS instead of
GNU-MAKE-BOOT0. Remove test with FINDUTILS-BOOT0.
* tests/guix-package-net.sh (boot_make): Use GNU-MAKE-FOR-TESTS.
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/profiles.scm ("profile-derivation relative symlinks, two entries"):
Likewise.
* tests/union.scm (%bootstrap-inputs): Remove.
("union-build"): Use %BOOTSTRAP-INPUTS-FOR-TESTS instead of
%BOOTSTRAP-INPUTS.
| Ludovic Courtès |
2018-09-23 | bootstrap: %bootstrap-inputs+toolchain: Replace %bootstrap-inputs....* gnu/packages/commencement.scm (%bootstrap-inputs+toolchain): : New procedure
replacing %bootstrap-inputs to prepare for Mes bootstrap. Update users.
* tests/union.scm (%bootstrap-inputs): New variable: set to
%bootstrap-inputs+toolchain.
| Jan Nieuwenhuizen |
2018-09-22 | bootstrap: %bootstrap-inputs: Wrap input lists into thunks....* gnu/packages/bootstrap.scm (%bootstrap-inputs): Change to procedure. Update
users; prepares for Mes bootstrap.
* gnu/packages/commencement.scm (%boot0-inputs, %boot1-inputs, %boot2-inputs,
%boot3-inputs, %boot4-inputs, %boot5-inputs, %boot-6-inputs): Change to
procedure. Update users.
* tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths): Make a
procedure, filter on package?. Update users.
| Jan Nieuwenhuizen |
2018-05-10 | union: Add 'relative-file-name'....* guix/build/union.scm (%not-slash): New variable.
(relative-file-name): New procedure.
* tests/union.scm (test-relative-file-name): New macro and tests.
| Ludovic Courtès |