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