diff options
author | Jeremy Olexa <darkside@gentoo.org> | 2010-07-02 15:07:33 +0000 |
---|---|---|
committer | Jeremy Olexa <darkside@gentoo.org> | 2010-07-02 15:07:33 +0000 |
commit | abcc73322c58ed04811a2b579b56da5473f00e7f (patch) | |
tree | 7290128a83afc67f19012804226d79cb1a9205ea /app-shells | |
parent | Version bump (diff) | |
download | gentoo-2-abcc73322c58ed04811a2b579b56da5473f00e7f.tar.gz gentoo-2-abcc73322c58ed04811a2b579b56da5473f00e7f.tar.bz2 gentoo-2-abcc73322c58ed04811a2b579b56da5473f00e7f.zip |
Upstream version bump. Tons of fixes/additions to available completions
(Portage version: 2.1.8.3/cvs/Linux x86_64)
Diffstat (limited to 'app-shells')
-rw-r--r-- | app-shells/bash-completion/ChangeLog | 8 | ||||
-rw-r--r-- | app-shells/bash-completion/bash-completion-1.2.ebuild | 78 | ||||
-rw-r--r-- | app-shells/bash-completion/files/bash-completion.sh-gentoo-1.2 | 52 |
3 files changed, 137 insertions, 1 deletions
diff --git a/app-shells/bash-completion/ChangeLog b/app-shells/bash-completion/ChangeLog index c33f126349ba..a5afb3968ce0 100644 --- a/app-shells/bash-completion/ChangeLog +++ b/app-shells/bash-completion/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for app-shells/bash-completion # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-shells/bash-completion/ChangeLog,v 1.215 2010/07/02 14:48:41 darkside Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash-completion/ChangeLog,v 1.216 2010/07/02 15:07:31 darkside Exp $ + +*bash-completion-1.2 (02 Jul 2010) + + 02 Jul 2010; Jeremy Olexa <darkside@gentoo.org> + +files/bash-completion.sh-gentoo-1.2, +bash-completion-1.2.ebuild: + Upstream version bump. Tons of fixes/additions to available completions 02 Jul 2010; Jeremy Olexa <darkside@gentoo.org> -bash-completion-1.0-r5.ebuild, -files/bash-completion-1.0-bash4.patch, diff --git a/app-shells/bash-completion/bash-completion-1.2.ebuild b/app-shells/bash-completion/bash-completion-1.2.ebuild new file mode 100644 index 000000000000..82159313f300 --- /dev/null +++ b/app-shells/bash-completion/bash-completion-1.2.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash-completion/bash-completion-1.2.ebuild,v 1.1 2010/07/02 15:07:31 darkside Exp $ + +EAPI=3 +inherit prefix + +DESCRIPTION="Programmable Completion for bash" +HOMEPAGE="http://bash-completion.alioth.debian.org/" +SRC_URI="http://bash-completion.alioth.debian.org/files/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris" +IUSE="" + +DEPEND="" +RDEPEND="app-admin/eselect + || ( >=app-shells/bash-3.2 app-shells/zsh ) + sys-apps/miscfiles" +PDEPEND="app-shells/gentoo-bashcomp" + +src_prepare() { + cp "${FILESDIR}"/bash-completion.sh-gentoo-1.2 "${T}"/bash-completion.sh || die + eprefixify "${T}"/bash-completion.sh +} + +src_configure() { :; } # no-op +src_compile() { :; } # no-op + +src_install() { + # Gentoo specific bash-completion.sh file. + dodir /etc/profile.d + cp "${T}"/bash-completion.sh \ + "${ED}"/etc/profile.d/bash-completion.sh || die "cp failed" + + # All files from contrib/ in source package get installed + dodir /usr/share/bash-completion + cp "${S}"/contrib/* "${ED}"/usr/share/bash-completion/ \ + || die "installation failed to move files" + awk -v D="$ED" ' + BEGIN { out=".pre" } + /^# A lot of the following one-liners/ { out="base" } + /^# start of section containing completion functions called by other functions/ { out=".pre" } + /^# start of section containing completion functions for external programs/ { out="base" } + /^# source completion directory/ { out="" } + /^unset -f have/ { out=".post" } + out != "" { print > D"/usr/share/bash-completion/"out }' \ + bash_completion || die "failed to split bash_completion" + + dodoc AUTHORS CHANGES README TODO || die "dodocs failes" +} + +pkg_postinst() { + elog "Any user can enable the module completions without editing their" + elog ".bashrc by running:" + elog + elog " eselect bashcomp enable <module>" + elog + elog "The system administrator can also be enable this globally with" + elog + elog " eselect bashcomp enable --global <module>" + elog + elog "Make sure you at least enable the base module! Additional completion" + elog "modules can be found by running" + elog + elog " eselect bashcomp list" + elog + elog "If you use non-login shells you still need to source" + elog "/etc/profile.d/bash-completion.sh in your ~/.bashrc." + + if has_version 'app-shells/zsh' ; then + elog "If you are interested in using the provided bash completion functions with" + elog "zsh, valuable tips on the effective use of bashcompinit are available:" + elog " http://www.zsh.org/mla/workers/2003/msg00046.html" + elog + fi +} diff --git a/app-shells/bash-completion/files/bash-completion.sh-gentoo-1.2 b/app-shells/bash-completion/files/bash-completion.sh-gentoo-1.2 new file mode 100644 index 000000000000..dcff2eee6629 --- /dev/null +++ b/app-shells/bash-completion/files/bash-completion.sh-gentoo-1.2 @@ -0,0 +1,52 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/app-shells/bash-completion/files/bash-completion.sh-gentoo-1.2,v 1.1 2010/07/02 15:07:33 darkside Exp $ + +# Check for interactive bash and that we haven't already been sourced. +[ -z "$BASH_VERSION" -o -z "$PS1" -o -n "$BASH_COMPLETION" ] && return + +# Check for recent enough version of bash. +bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.} +if [ $bmajor -gt 3 ] || [ $bmajor -eq 3 -a $bminor -ge 2 ]; then + _load_completions() { + declare f x loaded_pre=false + for f; do + if [[ -f $f ]]; then + # Prevent loading base twice, initially and via glob + if $loaded_pre && [[ $f == */base ]]; then + continue + fi + + # Some modules, including base, depend on the definitions + # in .pre. See the ebuild for how this is created. + if ! $loaded_pre; then + if [[ ${BASH_COMPLETION-unset} == unset ]]; then + BASH_COMPLETION="@GENTOO_PORTAGE_EPREFIX@/usr/share/bash-completion/base" + fi + source "@GENTOO_PORTAGE_EPREFIX@/usr/share/bash-completion/.pre" + loaded_pre=true + fi + + source "$f" + fi + done + + # Clean up + $loaded_pre && source "@GENTOO_PORTAGE_EPREFIX@/usr/share/bash-completion/.post" + unset -f _load_completions # not designed to be called more than once + } + + # 1. Load base, if eselected. This was previously known as + # /etc/bash_completion + # 2. Load completion modules, maintained via eselect bashcomp --global + # 3. Load user completion modules, maintained via eselect bashcomp + # 4. Load user completion file last, overrides modules at user discretion + # This order is subject to change once upstream decides on something. + _load_completions \ + "@GENTOO_PORTAGE_EPREFIX@/etc/bash_completion.d/base" \ + ~/.bash_completion.d/base \ + "@GENTOO_PORTAGE_EPREFIX@/etc/bash_completion.d/"* \ + ~/.bash_completion.d/* \ + ~/.bash_completion +fi +unset bash bmajor bminor |