summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Olexa <darkside@gentoo.org>2010-07-02 15:07:33 +0000
committerJeremy Olexa <darkside@gentoo.org>2010-07-02 15:07:33 +0000
commitabcc73322c58ed04811a2b579b56da5473f00e7f (patch)
tree7290128a83afc67f19012804226d79cb1a9205ea /app-shells
parentVersion bump (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--app-shells/bash-completion/bash-completion-1.2.ebuild78
-rw-r--r--app-shells/bash-completion/files/bash-completion.sh-gentoo-1.252
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