diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-shells/bash-completion | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'app-shells/bash-completion')
-rw-r--r-- | app-shells/bash-completion/Manifest | 10 | ||||
-rw-r--r-- | app-shells/bash-completion/bash-completion-2.4-r1.ebuild | 98 | ||||
-rw-r--r-- | app-shells/bash-completion/bash-completion-2.7-r3.ebuild | 133 | ||||
-rw-r--r-- | app-shells/bash-completion/bash-completion-2.8.ebuild | 136 | ||||
-rw-r--r-- | app-shells/bash-completion/bash-completion-9999.ebuild | 136 | ||||
-rw-r--r-- | app-shells/bash-completion/files/bash-completion-2.1-escape-characters-r1.patch | 27 | ||||
-rw-r--r-- | app-shells/bash-completion/metadata.xml | 29 |
7 files changed, 569 insertions, 0 deletions
diff --git a/app-shells/bash-completion/Manifest b/app-shells/bash-completion/Manifest new file mode 100644 index 000000000000..0accd3f66e80 --- /dev/null +++ b/app-shells/bash-completion/Manifest @@ -0,0 +1,10 @@ +AUX bash-completion-2.1-escape-characters-r1.patch 1084 BLAKE2B 62a9ccb7b1cc4162db2f8e35fb20d3a24f9e4c067e5297816d91a85ffcdd3ff43695f3c361959cba59b887afd0d12e75fa317899054d3a615ee3da615a4409ec SHA512 b7cb548024fbc68e87d781208a378299c399d2661121290c500d62cd66855acc02848710b44c363917c3c4923e063212a2b56c9b0c08deb71aba308d75939cab +DIST bash-completion-2.4.tar.xz 276148 BLAKE2B 1ca38db1d1ad9f0bf7d1aa4e49cba1c82a6a575b05118099b609da12bf2e369637be907cba1d46e1e33fface482ebd7c63d70d56c948e45ef71725780ffb2171 SHA512 b852e0a38417dfc3754a91dae2d107f99a3c2970d835a4bbaa80f2a4db8d670bc3820ddc6ada26f68070f22fb4c1db7abe50ad489b1c0f8497b1e6e91be27627 +DIST bash-completion-2.7.tar.xz 280048 BLAKE2B 88b09f451fd4e14daf8e139951a4b65aaa9d9b1d86dceade388a726ac7f3caff2546597695c3f0cbd5dd64e20472d0cf3e98e0f367898b81d696d4ccb8f2fb73 SHA512 514709ad2e5f6bd4e20027c7049a1144c1854a37b653d5c11fad1cdf7a46d0e1afca725d6ce75d49691149e0de57be85747f704ac1c429ef4cea114bfbff8fcd +DIST bash-completion-2.8.tar.xz 286128 BLAKE2B a99faeb3c9ee2ea6d1cc9988e61951f4e688ac0b3c6837d1fd43381519fedf5f95167e8dbc166543b0235f3ac61d92af35eb8399efc0cd297a62849071dee5c7 SHA512 d839ef5a98811a2aade7ebdc0bc84c84a41c74db384f89913b06f3c25add1ba22528ac25392b19d27280685d258c74dcdc11247cbaae5b8d82f2c0b546abc268 +DIST bashcomp-2.0.2.tar.gz 3625 BLAKE2B ebd835e23634e8a7491467ad66c53941763cea43bad75fe24982d3885be2d2ba132e5273a655fec34705224315d7a3f0248c030fb7685fc613ac4f489cde5bf5 SHA512 46bc1bcc32263135f44be68569459a409250dd2c81c18190735f11e13a26508e9d3cb91d24a8fe7b21bdea678347873b7ac1b67d5e8c78c8444011f85dfdcdce +EBUILD bash-completion-2.4-r1.ebuild 3161 BLAKE2B 0c3b185bb625c951f47fb9571695ac67900d67868a0bab27d1a80cb15a31e997422fa8e43677f4d68c6644e10f502c25fad166e1ad1257696c9795bcdc2967c0 SHA512 2d6366a7609d3fab9a423fac06e2c78957f079c37a9c69d9694dac6f70ed50d4234b14f4fb54dda303ef916ec6f92402179b6bb2830208d83e6c5e98bacfb693 +EBUILD bash-completion-2.7-r3.ebuild 4110 BLAKE2B b19ad7fc98ad017f18cb12e07ab74093c2317b35dba98b0ba4a27a3f7771133bdffb27ded986f58d12f42783683a27ecdb8f9b313186f7e53ab50780f8955835 SHA512 d4c1a4bd1df24aef4b981c324f7f238ecd813dd79689e5fb47db1d0b8db04d549ec1202f4894c851fa6240ba5e279d9fcd75af569a11faefdff13842ae96e89d +EBUILD bash-completion-2.8.ebuild 4077 BLAKE2B c07bc2b26c2dc2c87111129e9930e53339517d7999bf737ae10cea2ee3982a5c41ba0572736e69d6dd8f441b1fb0c0c269296a56938ea55e61a5372689bd3629 SHA512 f32c40ceef56ab9bc5e9fa2676f4f1ade460c880fc2377e93014ce4b8a4ed95e9385c0acc07dbc22878d58f5b191aff9082881f3b422478124b05bae23c64347 +EBUILD bash-completion-9999.ebuild 3966 BLAKE2B fb35f3822108eabcd36264cdc2eb0c386f99bfcd6df5a4bddeb5a0e7a110f7ca598507169adff6aadeee3ea678547ef974792d97091ac99e666cd5783a0d8ca3 SHA512 f4db656cac0725c95e1acca37b2ce0fda2bd49d1bc07249f0204c9434a1fee517761f6d00ff0863e608ad070d1f7a6a93882f2663b5ae24ad87e902460a4d159 +MISC metadata.xml 1309 BLAKE2B db08060cd74841bd7220e688e251225ddaf59e4da737c08785e7c6ce83c2d40600fbe38e9b9449fb559ccb2d03b8c2368295b647ec2a52191429fe1d3d1c7470 SHA512 3ee23fb6cbee1e80a0c8fab13f7bb67bdad3292fa8ec187e306b00804a7bf709358c8c08eda4101a5f5baa408e0892aa94c07ae466b5beae4edc18055b1192ee diff --git a/app-shells/bash-completion/bash-completion-2.4-r1.ebuild b/app-shells/bash-completion/bash-completion-2.4-r1.ebuild new file mode 100644 index 000000000000..5b1db28a22c1 --- /dev/null +++ b/app-shells/bash-completion/bash-completion-2.4-r1.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +BASHCOMP_P=bashcomp-2.0.2 +inherit versionator + +DESCRIPTION="Programmable Completion for bash" +HOMEPAGE="https://github.com/scop/bash-completion" +SRC_URI="https://github.com/scop/bash-completion/releases/download/${PV}/${P}.tar.xz + https://bitbucket.org/mgorny/bashcomp2/downloads/${BASHCOMP_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris" +IUSE="" + +RDEPEND=">=app-shells/bash-4.3_p30-r1 + sys-apps/miscfiles + !app-eselect/eselect-bashcomp" +DEPEND="app-arch/xz-utils" +PDEPEND=">=app-shells/gentoo-bashcomp-20140911" + +# Remove unwanted completions. +STRIP_COMPLETIONS=( + # Slackware package stuff, quite generic names cause collisions + # (e.g. with sys-apps/pacman) + explodepkg installpkg makepkg pkgtool removepkg upgradepkg + + # Debian/Red Hat network stuff + ifdown ifup ifstatus + + # Installed in app-editors/vim-core + xxd + + # Now-dead symlinks to deprecated completions + hd ncal + + # Installed by sys-apps/util-linux-2.28 + mount umount mount.linux umount.linux +) + +src_prepare() { + eapply "${WORKDIR}/${BASHCOMP_P}/${PN}"-2.1_p*.patch + # Bug 543100, update bug 601194 + eapply "${FILESDIR}/${PN}-2.1-escape-characters-r1.patch" + eapply_user +} + +src_test() { :; } # Skip testsuite because of interactive shell wrt #477066 + +src_install() { + # work-around race conditions, bug #526996 + mkdir -p "${ED}"/usr/share/bash-completion/{completions,helpers} || die + + emake DESTDIR="${D}" profiledir="${EPREFIX}"/etc/bash/bashrc.d install + + local file + for file in "${STRIP_COMPLETIONS[@]}"; do + rm "${ED}"/usr/share/bash-completion/completions/${file} || die + done + # remove deprecated completions (moved to other packages) + rm "${ED}"/usr/share/bash-completion/completions/_* || die + + dodoc AUTHORS CHANGES CONTRIBUTING.md README.md + + # install the eselect module + insinto /usr/share/eselect/modules + doins "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect" + doman "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect.5" +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 2.1-r90 ${v}; then + ewarn "For bash-completion autoloader to work, all completions need to" + ewarn "be installed in /usr/share/bash-completion/completions. You may" + ewarn "need to rebuild packages that installed completions in the old" + ewarn "location. You can do this using:" + ewarn + ewarn "$ find ${EPREFIX}/usr/share/bash-completion -maxdepth 1 -type f '!' -name 'bash_completion' -exec emerge -1v {} +" + ewarn + ewarn "After the rebuild, you should remove the old setup symlinks:" + ewarn + ewarn "$ find ${EPREFIX}/etc/bash_completion.d -type l -delete" + fi + done + + if has_version 'app-shells/zsh'; then + elog + 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/bash-completion-2.7-r3.ebuild b/app-shells/bash-completion/bash-completion-2.7-r3.ebuild new file mode 100644 index 000000000000..cf9d7ad1a645 --- /dev/null +++ b/app-shells/bash-completion/bash-completion-2.7-r3.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +BASHCOMP_P=bashcomp-2.0.2 +inherit versionator + +DESCRIPTION="Programmable Completion for bash" +HOMEPAGE="https://github.com/scop/bash-completion" +SRC_URI="https://github.com/scop/bash-completion/releases/download/${PV}/${P}.tar.xz + https://bitbucket.org/mgorny/bashcomp2/downloads/${BASHCOMP_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris" +IUSE="test" +# Multiple test failures, need to investigate the exact problem +RESTRICT="test" + +# completion collision with net-fs/mc +RDEPEND=">=app-shells/bash-4.3_p30-r1 + sys-apps/miscfiles + !app-eselect/eselect-bashcomp + !!net-fs/mc" +DEPEND="app-arch/xz-utils + test? ( + ${RDEPEND} + app-misc/dtach + dev-util/dejagnu + dev-tcltk/tcllib + )" +PDEPEND=">=app-shells/gentoo-bashcomp-20140911" + +# Remove unwanted completions. +STRIP_COMPLETIONS=( + # Slackware package stuff, quite generic names cause collisions + # (e.g. with sys-apps/pacman) + explodepkg installpkg makepkg pkgtool removepkg upgradepkg + + # Debian/Red Hat network stuff + ifdown ifup ifstatus + + # Installed in app-editors/vim-core + xxd + + # Now-dead symlinks to deprecated completions + hd ncal + + # Installed by sys-apps/util-linux-2.28 + mount umount mount.linux umount.linux + + # Installed by sys-apps/util-linux-2.31 + rfkill +) + +src_prepare() { + eapply "${WORKDIR}/${BASHCOMP_P}/${PN}"-2.1_p*.patch + # Bug 543100, update bug 601194 + eapply "${FILESDIR}/${PN}-2.1-escape-characters-r1.patch" + eapply_user + + # Remove implicit completions for vim. + # https://bugs.gentoo.org/649986 + sed -i -e 's/vi vim gvim rvim view rview rgvim rgview gview//' \ + bash_completion || die + rm test/completion/vi.exp || die +} + +src_test() { + # Tests need an interactive shell, #477066 + # idea stolen from: + # http://pkgs.fedoraproject.org/cgit/rpms/bash-completion.git/tree/bash-completion.spec + + # real-time output of the log ;-) + touch "${T}/dtach-test.log" || die + tail -f "${T}/dtach-test.log" & + local tail_pid=${!} + + nonfatal dtach -N "${T}/dtach.sock" \ + bash -c 'emake check &> "${T}"/dtach-test.log; echo ${?} > "${T}"/dtach-test.out' + + kill "${tail_pid}" + [[ -f ${T}/dtach-test.out ]] || die "Unable to run tests" + [[ $(<"${T}"/dtach-test.out) == 0 ]] || die "Tests failed" +} + +src_install() { + # work-around race conditions, bug #526996 + mkdir -p "${ED}"/usr/share/bash-completion/{completions,helpers} || die + + emake DESTDIR="${D}" profiledir="${EPREFIX}"/etc/bash/bashrc.d install + + local file + for file in "${STRIP_COMPLETIONS[@]}"; do + rm "${ED}"/usr/share/bash-completion/completions/${file} || die + done + # remove deprecated completions (moved to other packages) + rm "${ED}"/usr/share/bash-completion/completions/_* || die + + dodoc AUTHORS CHANGES CONTRIBUTING.md README.md + + # install the eselect module + insinto /usr/share/eselect/modules + doins "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect" + doman "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect.5" +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 2.1-r90 ${v}; then + ewarn "For bash-completion autoloader to work, all completions need to" + ewarn "be installed in /usr/share/bash-completion/completions. You may" + ewarn "need to rebuild packages that installed completions in the old" + ewarn "location. You can do this using:" + ewarn + ewarn "$ find ${EPREFIX}/usr/share/bash-completion -maxdepth 1 -type f '!' -name 'bash_completion' -exec emerge -1v {} +" + ewarn + ewarn "After the rebuild, you should remove the old setup symlinks:" + ewarn + ewarn "$ find ${EPREFIX}/etc/bash_completion.d -type l -delete" + fi + done + + if has_version 'app-shells/zsh'; then + elog + 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/bash-completion-2.8.ebuild b/app-shells/bash-completion/bash-completion-2.8.ebuild new file mode 100644 index 000000000000..13232e470d60 --- /dev/null +++ b/app-shells/bash-completion/bash-completion-2.8.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +BASHCOMP_P=bashcomp-2.0.2 +inherit versionator + +DESCRIPTION="Programmable Completion for bash" +HOMEPAGE="https://github.com/scop/bash-completion" +SRC_URI=" + https://github.com/scop/bash-completion/releases/download/${PV}/${P}.tar.xz + https://bitbucket.org/mgorny/bashcomp2/downloads/${BASHCOMP_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh +~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris" +IUSE="test" +# Multiple test failures, need to investigate the exact problem +RESTRICT="test" + +# completion collision with net-fs/mc +RDEPEND=" + >=app-shells/bash-4.3_p30-r1 + sys-apps/miscfiles + !app-eselect/eselect-bashcomp + !!net-fs/mc" + +DEPEND=" + app-arch/xz-utils + test? ( + ${RDEPEND} + app-misc/dtach + dev-util/dejagnu + dev-tcltk/tcllib + )" + +PDEPEND=">=app-shells/gentoo-bashcomp-20140911" + +# Remove unwanted completions. +STRIP_COMPLETIONS=( + # Slackware package stuff, quite generic names cause collisions + # (e.g. with sys-apps/pacman) + explodepkg installpkg makepkg pkgtool removepkg upgradepkg + + # Debian/Red Hat network stuff + ifdown ifup ifstatus + + # Installed in app-editors/vim-core + xxd + + # Now-dead symlinks to deprecated completions + hd ncal + + # Installed by sys-apps/util-linux-2.28 + mount umount mount.linux umount.linux +) + +src_prepare() { + eapply "${WORKDIR}/${BASHCOMP_P}/${PN}"-2.1_p*.patch + # Bug 543100, update bug 601194 + eapply "${FILESDIR}/${PN}-2.1-escape-characters-r1.patch" + eapply_user + + # Remove implicit completions for vim. + # https://bugs.gentoo.org/649986 + sed -i -e 's/vi vim gvim rvim view rview rgvim rgview gview//' \ + bash_completion || die + rm test/completion/vi.exp || die +} + +src_test() { + # Tests need an interactive shell, #477066 + # idea stolen from: + # http://pkgs.fedoraproject.org/cgit/rpms/bash-completion.git/tree/bash-completion.spec + + # real-time output of the log ;-) + touch "${T}/dtach-test.log" || die + tail -f "${T}/dtach-test.log" & + local tail_pid=${!} + + nonfatal dtach -N "${T}/dtach.sock" \ + bash -c 'emake check &> "${T}"/dtach-test.log; echo ${?} > "${T}"/dtach-test.out' + + kill "${tail_pid}" + [[ -f ${T}/dtach-test.out ]] || die "Unable to run tests" + [[ $(<"${T}"/dtach-test.out) == 0 ]] || die "Tests failed" +} + +src_install() { + # work-around race conditions, bug #526996 + mkdir -p "${ED}"/usr/share/bash-completion/{completions,helpers} || die + + emake DESTDIR="${D}" profiledir="${EPREFIX}"/etc/bash/bashrc.d install + + local file + for file in "${STRIP_COMPLETIONS[@]}"; do + rm "${ED}"/usr/share/bash-completion/completions/${file} || die + done + # remove deprecated completions (moved to other packages) + rm "${ED}"/usr/share/bash-completion/completions/_* || die + + dodoc AUTHORS CHANGES CONTRIBUTING.md README.md + + # install the eselect module + insinto /usr/share/eselect/modules + doins "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect" + doman "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect.5" +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 2.1-r90 ${v}; then + ewarn "For bash-completion autoloader to work, all completions need to" + ewarn "be installed in /usr/share/bash-completion/completions. You may" + ewarn "need to rebuild packages that installed completions in the old" + ewarn "location. You can do this using:" + ewarn + ewarn "$ find ${EPREFIX}/usr/share/bash-completion -maxdepth 1 -type f '!' -name 'bash_completion' -exec emerge -1v {} +" + ewarn + ewarn "After the rebuild, you should remove the old setup symlinks:" + ewarn + ewarn "$ find ${EPREFIX}/etc/bash_completion.d -type l -delete" + fi + done + + if has_version 'app-shells/zsh'; then + elog + 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/bash-completion-9999.ebuild b/app-shells/bash-completion/bash-completion-9999.ebuild new file mode 100644 index 000000000000..1ef70643b1e9 --- /dev/null +++ b/app-shells/bash-completion/bash-completion-9999.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +BASHCOMP_P=bashcomp-2.0.2 +EGIT_REPO_URI="https://github.com/scop/bash-completion" +inherit autotools git-r3 versionator + +DESCRIPTION="Programmable Completion for bash" +HOMEPAGE="https://github.com/scop/bash-completion" +SRC_URI="https://bitbucket.org/mgorny/bashcomp2/downloads/${BASHCOMP_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="test" + +# completion collision with net-fs/mc +RDEPEND=">=app-shells/bash-4.3_p30-r1 + sys-apps/miscfiles + !app-eselect/eselect-bashcomp + !!net-fs/mc" +DEPEND="app-arch/xz-utils + test? ( + ${RDEPEND} + app-misc/dtach + dev-util/dejagnu + dev-tcltk/tcllib + )" +PDEPEND=">=app-shells/gentoo-bashcomp-20140911" + +# Remove unwanted completions. +STRIP_COMPLETIONS=( + # Slackware package stuff, quite generic names cause collisions + # (e.g. with sys-apps/pacman) + explodepkg installpkg makepkg pkgtool removepkg upgradepkg + + # Debian/Red Hat network stuff + ifdown ifup ifstatus + + # Installed in app-editors/vim-core + xxd + + # Now-dead symlinks to deprecated completions + hd ncal + + # Installed by sys-apps/util-linux-2.28 (and now deprecated) + _mount _umount _mount.linux _umount.linux + + # Deprecated in favor of sys-apps/util-linux-2.31 + _rfkill +) + +src_unpack() { + git-r3_src_unpack + default +} + +src_prepare() { + eapply "${WORKDIR}/${BASHCOMP_P}/${PN}"-2.1_p*.patch + eapply_user + + eautoreconf +} + +src_test() { + # Tests need an interactive shell, #477066 + # idea stolen from: + # http://pkgs.fedoraproject.org/cgit/rpms/bash-completion.git/tree/bash-completion.spec + + # real-time output of the log ;-) + touch "${T}/dtach-test.log" || die + tail -f "${T}/dtach-test.log" & + local tail_pid=${!} + + # override the default expect timeout and buffer size to avoid tests + # failing randomly due to cold cache, busy system or just more output + # than upstream anticipated (they run tests on pristine docker + # installs of binary distros) + nonfatal dtach -N "${T}/dtach.sock" \ + bash -c 'emake check RUNTESTFLAGS="OPT_TIMEOUT=300 OPT_BUFFER_SIZE=1000000" \ + &> "${T}"/dtach-test.log; echo ${?} > "${T}"/dtach-test.out' + + kill "${tail_pid}" + [[ -f ${T}/dtach-test.out ]] || die "Unable to run tests" + [[ $(<"${T}"/dtach-test.out) == 0 ]] || die "Tests failed" +} + +src_install() { + # work-around race conditions, bug #526996 + mkdir -p "${ED}"/usr/share/bash-completion/{completions,helpers} || die + + emake DESTDIR="${D}" profiledir="${EPREFIX}"/etc/bash/bashrc.d install + + local file + for file in "${STRIP_COMPLETIONS[@]}"; do + rm "${ED}"/usr/share/bash-completion/completions/${file} || + die "stripping ${file} failed" + done + # remove deprecated completions (moved to other packages) + rm "${ED}"/usr/share/bash-completion/completions/_* || die + + dodoc AUTHORS CHANGES CONTRIBUTING.md README.md + + # install the eselect module + insinto /usr/share/eselect/modules + doins "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect" + doman "${WORKDIR}/${BASHCOMP_P}/bashcomp.eselect.5" +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ! version_is_at_least 2.1-r90 ${v}; then + ewarn "For bash-completion autoloader to work, all completions need to" + ewarn "be installed in /usr/share/bash-completion/completions. You may" + ewarn "need to rebuild packages that installed completions in the old" + ewarn "location. You can do this using:" + ewarn + ewarn "$ find ${EPREFIX}/usr/share/bash-completion -maxdepth 1 -type f '!' -name 'bash_completion' -exec emerge -1v {} +" + ewarn + ewarn "After the rebuild, you should remove the old setup symlinks:" + ewarn + ewarn "$ find ${EPREFIX}/etc/bash_completion.d -type l -delete" + fi + done + + if has_version 'app-shells/zsh'; then + elog + 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-2.1-escape-characters-r1.patch b/app-shells/bash-completion/files/bash-completion-2.1-escape-characters-r1.patch new file mode 100644 index 000000000000..27a85504befd --- /dev/null +++ b/app-shells/bash-completion/files/bash-completion-2.1-escape-characters-r1.patch @@ -0,0 +1,27 @@ +--- bash-completion-2.1/bash_completion.orig 2014-03-09 17:38:14 +0000 ++++ bash-completion-2.1/bash_completion 2014-03-13 23:26:44 +0000 +@@ -536,13 +536,23 @@ + # @param $2 Name of variable to return result to + _quote_readline_by_ref() + { +- if [[ $1 == \'* ]]; then ++ if [ -z "$1" ]; then ++ # avoid quoting if empty ++ printf -v $2 %s "$1" ++ elif [[ $1 == \'* ]]; then + # Leave out first character + printf -v $2 %s "${1:1}" ++ elif [[ $1 == \~* ]]; then ++ # avoid escaping first ~ ++ printf -v $2 \~%q "${1:1}" + else + printf -v $2 %q "$1" + fi + ++ # Replace double escaping ( \\ ) by single ( \ ) ++ # This happens always when argument is already escaped at cmdline, ++ # and passed to this function as e.g.: file\ with\ spaces ++ [[ ${!2} == *\\* ]] && printf -v $2 %s "${1//\\\\/\\}" + # If result becomes quoted like this: $'string', re-evaluate in order to + # drop the additional quoting. See also: http://www.mail-archive.com/ + # bash-completion-devel@lists.alioth.debian.org/msg01942.html diff --git a/app-shells/bash-completion/metadata.xml b/app-shells/bash-completion/metadata.xml new file mode 100644 index 000000000000..2bb3ef236242 --- /dev/null +++ b/app-shells/bash-completion/metadata.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mgorny@gentoo.org</email> + <name>Michał Górny</name> + </maintainer> + <maintainer type="project"> + <email>shell-tools@gentoo.org</email> + <name>Gentoo Shell Tools Project</name> + </maintainer> + <longdescription> + Since v2.04, bash has allowed you to intelligently program and extend its + standard completion behavior to achieve complex command lines with just a + few keystrokes. Imagine typing ssh [Tab] and being able to complete on hosts + from your ~/.ssh/known_hosts files. Or typing man 3 str [Tab] and getting a + list of all string handling functions in the UNIX manual. mount system: + [Tab] would complete on all exported file-systems from the host called + system, while make [Tab] would complete on all targets in Makefile. This + project was conceived to produce programmable completion routines for the + most common Linux/UNIX commands, reducing the amount of typing sysadmins and + programmers need to do on a daily basis. + </longdescription> + <stabilize-allarches/> + <upstream> + <remote-id type="bitbucket">mgorny/bashcomp2</remote-id> + <remote-id type="github">scop/bash-completion</remote-id> + </upstream> +</pkgmetadata> |