Some ebuilds need to explicitly override bash-completion directory in build system due to build systems having default non-matching Gentoo (or rather Gentoo having bash-completion dir not matching anything else).
It's better to have a function to obtain that directory rather than for ebuilds to hardcode it. --- gx86/eclass/bash-completion-r1.eclass | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/gx86/eclass/bash-completion-r1.eclass b/gx86/eclass/bash-completion-r1.eclass index 8af46ee..5d23931 100644 --- a/gx86/eclass/bash-completion-r1.eclass +++ b/gx86/eclass/bash-completion-r1.eclass @@ -23,6 +23,25 @@ case ${EAPI:-0} in *) die "EAPI ${EAPI} unsupported (yet)." esac +# @FUNCTION: _bash-completion-r1_get_bashcompdir +# @INTERNAL +# @DESCRIPTION: +# Get unprefixed bash-completion directory. +_bash-completion-r1_get_bashcompdir() { + debug-print-function ${FUNCNAME} "${@}" + + echo /usr/share/bash-completion +} + +# @FUNCTION: get_bashcompdir +# @DESCRIPTION: +# Get the bash-completion directory. +get_bashcompdir() { + debug-print-function ${FUNCNAME} "${@}" + + echo "${EPREFIX}$(_bash-completion-r1_get_bashcompdir)" +} + # @FUNCTION: dobashcomp # @USAGE: file [...] # @DESCRIPTION: @@ -32,7 +51,7 @@ dobashcomp() { debug-print-function ${FUNCNAME} "${@}" ( - insinto /usr/share/bash-completion + insinto "$(_bash-completion-r1_get_bashcompdir)" doins "${@}" ) } @@ -46,7 +65,7 @@ newbashcomp() { debug-print-function ${FUNCNAME} "${@}" ( - insinto /usr/share/bash-completion + insinto "$(_bash-completion-r1_get_bashcompdir)" newins "${@}" ) } -- 1.8.2.1