/[gentoo-x86]/eclass/bash-completion-r1.eclass
Gentoo

Diff of /eclass/bash-completion-r1.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.3 Revision 1.13
1# Copyright 1999-2012 Gentoo Foundation 1# Copyright 1999-2014 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion-r1.eclass,v 1.3 2012/09/27 16:35:41 axs Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion-r1.eclass,v 1.13 2014/08/27 08:15:27 mgorny Exp $
4 4
5# @ECLASS: bash-completion-r1.eclass 5# @ECLASS: bash-completion-r1.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# mgorny@gentoo.org 7# mgorny@gentoo.org
8# @BLURB: A few quick functions to install bash-completion files 8# @BLURB: A few quick functions to install bash-completion files
9# @EXAMPLE: 9# @EXAMPLE:
10# 10#
11# @CODE 11# @CODE
12# EAPI=4 12# EAPI=5
13#
14# src_configure() {
15# econf \
16# --with-bash-completion-dir="$(get_bashcompdir)"
17# }
13# 18#
14# src_install() { 19# src_install() {
15# default 20# default
16# 21#
17# newbashcomp contrib/${PN}.bash-completion ${PN} 22# newbashcomp contrib/${PN}.bash-completion ${PN}
18# } 23# }
19# @CODE 24# @CODE
20 25
26inherit toolchain-funcs
27
21case ${EAPI:-0} in 28case ${EAPI:-0} in
22 0|1|2|3|4|5) ;; 29 0|1|2|3|4|5) ;;
23 *) die "EAPI ${EAPI} unsupported (yet)." 30 *) die "EAPI ${EAPI} unsupported (yet)."
24esac 31esac
32
33# @FUNCTION: _bash-completion-r1_get_bashdir
34# @INTERNAL
35# @DESCRIPTION:
36# First argument is name of the string in bash-completion.pc
37# Second argument is the fallback directory if the string is not found
38# @EXAMPLE:
39# _bash-completion-r1_get_bashdir completionsdir /usr/share/bash-completion
40_bash-completion-r1_get_bashdir() {
41 debug-print-function ${FUNCNAME} "${@}"
42
43 if $(tc-getPKG_CONFIG) --exists bash-completion &>/dev/null; then
44 local path="$($(tc-getPKG_CONFIG) --variable=$1 bash-completion)"
45 # we need to return unprefixed, so strip from what pkg-config returns
46 # to us, bug #477692
47 echo "${path#${EPREFIX}}"
48 else
49 echo $2
50 fi
51}
52
53# @FUNCTION: _bash-completion-r1_get_bashcompdir
54# @INTERNAL
55# @DESCRIPTION:
56# Get unprefixed bash-completion completions directory.
57_bash-completion-r1_get_bashcompdir() {
58 debug-print-function ${FUNCNAME} "${@}"
59
60 _bash-completion-r1_get_bashdir completionsdir /usr/share/bash-completion/completions
61}
62
63# @FUNCTION: _bash-completion-r1_get_helpersdir
64# @INTERNAL
65# @DESCRIPTION:
66# Get unprefixed bash-completion helpers directory.
67_bash-completion-r1_get_bashhelpersdir() {
68 debug-print-function ${FUNCNAME} "${@}"
69
70 _bash-completion-r1_get_bashdir helpersdir /usr/share/bash-completion/helpers
71}
72
73# @FUNCTION: get_bashcompdir
74# @DESCRIPTION:
75# Get the bash-completion completions directory.
76get_bashcompdir() {
77 debug-print-function ${FUNCNAME} "${@}"
78
79 echo "${EPREFIX}$(_bash-completion-r1_get_bashcompdir)"
80}
81
82# @FUNCTION: get_bashhelpersdir
83# @INTERNAL
84# @DESCRIPTION:
85# Get the bash-completion helpers directory.
86get_bashhelpersdir() {
87 debug-print-function ${FUNCNAME} "${@}"
88
89 echo "${EPREFIX}$(_bash-completion-r1_get_bashhelpersdir)"
90}
25 91
26# @FUNCTION: dobashcomp 92# @FUNCTION: dobashcomp
27# @USAGE: file [...] 93# @USAGE: file [...]
28# @DESCRIPTION: 94# @DESCRIPTION:
29# Install bash-completion files passed as args. Has EAPI-dependant failure 95# Install bash-completion files passed as args. Has EAPI-dependant failure
30# behavior (like doins). 96# behavior (like doins).
31dobashcomp() { 97dobashcomp() {
32 debug-print-function ${FUNCNAME} "${@}" 98 debug-print-function ${FUNCNAME} "${@}"
33 99
34 ( 100 (
35 insinto /usr/share/bash-completion 101 insinto "$(_bash-completion-r1_get_bashcompdir)"
36 doins "${@}" 102 doins "${@}"
37 ) 103 )
38} 104}
39 105
40# @FUNCTION: newbashcomp 106# @FUNCTION: newbashcomp
44# behavior (like newins). 110# behavior (like newins).
45newbashcomp() { 111newbashcomp() {
46 debug-print-function ${FUNCNAME} "${@}" 112 debug-print-function ${FUNCNAME} "${@}"
47 113
48 ( 114 (
49 insinto /usr/share/bash-completion 115 insinto "$(_bash-completion-r1_get_bashcompdir)"
50 newins "${@}" 116 newins "${@}"
51 ) 117 )
52} 118}

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.20