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

Contents of /eclass/bash-completion.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.17 - (hide annotations) (download)
Thu Jul 17 09:38:08 2008 UTC (5 years, 9 months ago) by pva
Branch: MAIN
Changes since 1.16: +21 -10 lines
Make eclass ready for eclass-manpages, bug #210645, thank mren for all work.

1 pva 1.17 # Copyright 1999-2008 Gentoo Foundation
2 ka0ttic 1.1 # Distributed under the terms of the GNU General Public License v2
3 pva 1.17 # $Header: $
4    
5     # @ECLASS: bash-completion.eclass
6     # @MAINTAINER:
7     # shell-tools@gentoo.org.
8 ka0ttic 1.1 #
9 pva 1.17 # Original author: Aaron Walker <ka0ttic@gentoo.org>
10     # @BLURB: An Interface for installing contributed bash-completion scripts
11     # @DESCRIPTION:
12 ka0ttic 1.1 # Simple eclass that provides an interface for installing
13     # contributed (ie not included in bash-completion proper)
14     # bash-completion scripts.
15 pva 1.17
16     # @ECLASS-VARIABLE: BASH_COMPLETION_NAME
17     # @DESCRIPTION:
18     # Install the completion script with this name (see also dobashcompletion)
19 ka0ttic 1.1
20 ka0ttic 1.5 EXPORT_FUNCTIONS pkg_postinst
21 ka0ttic 1.1
22 swegener 1.15 IUSE="bash-completion"
23 ka0ttic 1.3
24 ka0ttic 1.16 # bash-completion-config is deprecated in favor of eselect,
25     # however, eselect currently lacks stable keywords.
26     RDEPEND="bash-completion?
27     ( || (
28     app-admin/eselect
29     app-shells/bash-completion-config
30     )
31     )"
32 ka0ttic 1.1
33 pva 1.17 # @FUNCTION: dobashcompletion
34     # @USAGE: < file > [ new_file ]
35     # @DESCRIPTION:
36     # First arg, <file>, is required and is the location of the bash-completion
37 ka0ttic 1.9 # script to install. If the variable BASH_COMPLETION_NAME is set in the
38     # ebuild, dobashcompletion will install <file> as
39     # /usr/share/bash-completion/$BASH_COMPLETION_NAME. If it is not set,
40 pva 1.17 # dobashcompletion will check if a second arg [new_file] was passed, installing as
41 ka0ttic 1.9 # the specified name. Failing both these checks, dobashcompletion will
42     # install the file as /usr/share/bash-completion/${PN}.
43 ka0ttic 1.1 dobashcompletion() {
44 ka0ttic 1.6 [[ -z "$1" ]] && die "usage: dobashcompletion <file> <new file>"
45 ka0ttic 1.7 [[ -z "${BASH_COMPLETION_NAME}" ]] && BASH_COMPLETION_NAME="${2:-${PN}}"
46    
47 ka0ttic 1.1 if useq bash-completion ; then
48     insinto /usr/share/bash-completion
49 ka0ttic 1.6 newins "$1" "${BASH_COMPLETION_NAME}" || die "Failed to install $1"
50 ka0ttic 1.1 fi
51     }
52 ka0ttic 1.5
53 pva 1.17 # @FUNCTION: bash-completion_pkg_postinst
54     # @DESCRIPTION:
55     # The bash-completion pkg_postinst function, which is exported
56 ka0ttic 1.5 bash-completion_pkg_postinst() {
57     if useq bash-completion ; then
58     echo
59     einfo "To enable command-line completion for ${PN}, run:"
60 ka0ttic 1.8 einfo
61 ka0ttic 1.12 if has_version app-admin/eselect ; then
62     einfo " eselect bashcomp enable ${BASH_COMPLETION_NAME:-${PN}}"
63 ka0ttic 1.11 else
64     einfo " bash-completion-config --install ${BASH_COMPLETION_NAME:-${PN}}"
65     einfo
66     einfo "to install locally, or"
67     einfo
68     einfo " bash-completion-config --global --install ${BASH_COMPLETION_NAME:-${PN}}"
69     einfo
70     einfo "to install system-wide."
71     einfo "Read bash-completion-config(1) for more information."
72     fi
73 ka0ttic 1.5 echo
74     fi
75     }

  ViewVC Help
Powered by ViewVC 1.1.20