/[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.1 Revision 1.11
1# Copyright 1999-2011 Gentoo Foundation 1# Copyright 1999-2013 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.1 2011/09/08 16:25:54 mgorny Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion-r1.eclass,v 1.11 2014/01/22 19:29:05 ssuominen 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
25
26inherit toolchain-funcs
27
28case ${EAPI:-0} in
29 0|1|2|3|4|5) ;;
30 *) die "EAPI ${EAPI} unsupported (yet)."
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; 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
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}
20 91
21# @FUNCTION: dobashcomp 92# @FUNCTION: dobashcomp
22# @USAGE: file [...] 93# @USAGE: file [...]
23# @DESCRIPTION: 94# @DESCRIPTION:
24# Install bash-completion files passed as args. Has EAPI-dependant failure 95# Install bash-completion files passed as args. Has EAPI-dependant failure
25# behavior (like doins). 96# behavior (like doins).
26dobashcomp() { 97dobashcomp() {
27 debug-print-function ${FUNCNAME} "${@}" 98 debug-print-function ${FUNCNAME} "${@}"
28 99
29 ( 100 (
30 insinto /usr/share/bash-completion 101 insinto "$(_bash-completion-r1_get_bashcompdir)"
31 doins "${@}" 102 doins "${@}"
32 ) 103 )
33} 104}
34 105
35# @FUNCTION: newbashcomp 106# @FUNCTION: newbashcomp
39# behavior (like newins). 110# behavior (like newins).
40newbashcomp() { 111newbashcomp() {
41 debug-print-function ${FUNCNAME} "${@}" 112 debug-print-function ${FUNCNAME} "${@}"
42 113
43 ( 114 (
44 insinto /usr/share/bash-completion 115 insinto "$(_bash-completion-r1_get_bashcompdir)"
45 newins "${@}" 116 newins "${@}"
46 ) 117 )
47} 118}

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.20