diff options
1629 files changed, 21347 insertions, 22862 deletions
diff --git a/app-admin/eselect/ChangeLog b/app-admin/eselect/ChangeLog index 29de45c0d..79d1aacfc 100644 --- a/app-admin/eselect/ChangeLog +++ b/app-admin/eselect/ChangeLog @@ -2,6 +2,27 @@ # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: /var/cvsroot/gentoo-x86/app-admin/eselect/ChangeLog,v 1.179 2011/01/22 21:38:52 ulm Exp $ +*eselect-1.4.4-r102 (06 Jun 2015) + + 06 Jun 2015; Justin Lecher <jlec@gentoo.org> +eselect-1.4.4-r102.ebuild, + -eselect-1.4.4-r100.ebuild, -eselect-1.4.4-r101.ebuild, + -files/eselect-1.4.2-alternatives.patch, + files/eselect-1.4.4-alternatives.patch: + app-admin/eselect: Add latest patch + +*eselect-1.4.4-r101 (24 May 2015) + + 24 May 2015; Justin Lecher <jlec@gentoo.org> +eselect-1.4.4-r101.ebuild, + +files/eselect-1.4.4-alternatives.patch: + app-admin/eselect: Latest patch + + 02 Apr 2015; Justin Lecher <jlec@gentoo.org> -eselect-1.3.7-r100.ebuild, + -eselect-1.3.8-r100.ebuild, -eselect-1.4-r100.ebuild, + -eselect-1.4.1-r100.ebuild, -eselect-1.4.2-r100.ebuild, + -eselect-1.4.3-r100.ebuild, -files/eselect-1.3.8-alternatives.patch, + -files/eselect-alternatives.patch: + app-admin/eselect: Drop old + *eselect-1.4.4-r100 (26 Jan 2015) 26 Jan 2015; Justin Lecher <jlec@gentoo.org> +eselect-1.4.4-r100.ebuild: diff --git a/app-admin/eselect/Manifest b/app-admin/eselect/Manifest index 316fc2686..c77de7fb1 100644 --- a/app-admin/eselect/Manifest +++ b/app-admin/eselect/Manifest @@ -1,7 +1 @@ -DIST eselect-1.3.7.tar.xz 166596 SHA256 68b3c9cf3f71633ca81c4d0edd64a77e02dc8d6b9a48641e59f0bf02378a0075 SHA512 909d79d76f144181895853ce132147daeee4ba6caf05bf08963aef147ef2d00be100d6181887d139614f1bebf15f0738ea58e755656b55b7d9d967d399ce72f0 WHIRLPOOL 82d7575e8bbcb2186ef1452e3edb07b7c242c4d14475da0c5867acc70d275e5fb9e166a2b0addb54fb3586eddabcf1eec1e208964db5489e4250bf1f8ad39468 -DIST eselect-1.3.8.tar.xz 168040 SHA256 d0c50bfe0faaddc54fc184f698ee74a6029a21f5155c4670a2bea3ead954c138 SHA512 159bf3ddb05b1966318eaf62d09e454a024f8be7ead2300392abbcbaa54ef748a1c4db1b2f96162994bcab43071396eb96a0b47268f04cb8557f8804818da18e WHIRLPOOL 9c4da0bde2ae2b53e8949d59b13498f55ef2c849dcc8cac503a7d0dda2511311d94dfc7aa27a97432f13aa0b430fec0ab280594dc165bbb40e573dce8c8a74b0 -DIST eselect-1.4.1.tar.xz 168616 SHA256 c60eb7e3b6eea36560ea16f8378de3c86926988a1eee3e6dd98c12f0340869c0 SHA512 c6754c3bb71efda36b807f2275aff0cc7bf5c3f58cbc7543b8255592940dae341e4b597ff1376b0997c37bcd0b736d813630b9fe4a4da2f85765217d8634deab WHIRLPOOL a9fb2dc6904c57878c744f70f0bd66a18b574eec04f042fa5ab60f608f31a0c90554153f3362c633742bb9918cb14f146269e0972cdf97998c60c236ae966f66 -DIST eselect-1.4.2.tar.xz 169036 SHA256 b3aef6a41c8f85f2f4b50204f0713b40586e8443965005c5fc2510218e359fc3 SHA512 d453ece6a06c6328dd3662520e7eba32ad8d10feeb6826d1f3e9c69c2f6b260e1872e0e9b5f1fc272b5d5a59145855a330454889306798808765f7530f4f4736 WHIRLPOOL 9322d5fe7085ffac7497d3f517860a5ba173edae86d4d058d0f4930ea1872712245ff094b777f0171d71d01ea38be3158614f358cf1923ceb6fbe0f735414503 -DIST eselect-1.4.3.tar.xz 169400 SHA256 eea297658235321727f174aca841fccd31ec1ec044519c6b74fd5f7f168a3faf SHA512 5c4468745cb3d8da731fcd9c0ad3897270b01b337fd33cb06f5523d71d5ceb03be01eb10dd624522700e23175462a87ebb9e84e58a250b1938981dc0d5b39595 WHIRLPOOL 3788f77082abb55bd4d07317fd08688522c059e95d7ae7c6958bc40e7ef9bbced996e909e4bb3fc367585b212d93bff950ca2072907e0a06ef8330cdbec53256 DIST eselect-1.4.4.tar.xz 177536 SHA256 120c123eae4a1d03515e94f9efd51af6ff2f09340daf1ada4dc21079df7a937f SHA512 1ed01cf00e3f13aad3e5f844c7086c3dd48398efd76e68cd91cf13b9939f4b48eef8915c5f3926954d158023115ad66ee67c0bc8fc4c9570900a37207674fc8f WHIRLPOOL e56c3ea3e54bdbcfffba3fbbe85b3c824cab796a0bae2680fac962356a2f707783571a9f73e0ea8299098838e593bea77b14edbeaadc372f186c2da2928e9ab5 -DIST eselect-1.4.tar.xz 168580 SHA256 38f457567ac6a400763e49c215a78d5a7efc3edad589dda37bbd70847e3e7260 SHA512 4c28df99d3a235ccda60cb576634cde6110d3b7bc2fb7b8e3e9a69f7e09377dd9a5c615d6bf0ab8d668c137e8f658484fd28c0fe45e6ad3b7915925a3384b999 WHIRLPOOL 6646c023283b111bf7a973993dfe8537bdd3fab4c6c738af1f37c1aed1bddefbf834562036386dce1359d1b04da89049e7c60e4498733ac56587e037ca0ea87f diff --git a/app-admin/eselect/eselect-1.3.7-r100.ebuild b/app-admin/eselect/eselect-1.3.7-r100.ebuild deleted file mode 100644 index 6be213339..000000000 --- a/app-admin/eselect/eselect-1.3.7-r100.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -inherit autotools eutils bash-completion-r1 - -DESCRIPTION="Gentoo's multi-purpose configuration and management tool" -HOMEPAGE="http://wiki.gentoo.org/wiki/Project:Eselect" -SRC_URI="mirror://gentoo/${P}.tar.xz" - -LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-2.5 )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc emacs vim-syntax" - -RDEPEND="sys-apps/sed - || ( - sys-apps/coreutils - sys-freebsd/freebsd-bin - app-misc/realpath - )" -DEPEND="${RDEPEND} - app-arch/xz-utils - doc? ( dev-python/docutils )" -RDEPEND="!app-admin/eselect-news - ${RDEPEND} - sys-apps/file - sys-libs/ncurses" - -PDEPEND="emacs? ( app-emacs/eselect-mode ) - vim-syntax? ( app-vim/eselect-syntax )" - -src_prepare() { - epatch "${FILESDIR}"/${PN}-alternatives.patch - AT_M4DIR="." eautoreconf -} - -src_compile() { - emake - use doc && emake html -} - -src_install() { - emake DESTDIR="${D}" install - newbashcomp misc/${PN}.bashcomp ${PN} - dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt - use doc && dohtml *.html doc/* - - # needed by news module - keepdir /var/lib/gentoo/news - if ! use prefix; then - fowners root:portage /var/lib/gentoo/news - fperms g+w /var/lib/gentoo/news - fi - - # band aid for prefix - if use prefix; then - cd "${ED}"/usr/share/eselect/libs - sed -i "s:ALTERNATIVESDIR_ROOTLESS=\"${EPREFIX}:ALTERNATIVESDIR_ROOTLESS=\":" alternatives.bash || die - fi -} - -pkg_postinst() { - # fowners in src_install doesn't work for the portage group: - # merging changes the group back to root - if ! use prefix; then - chgrp portage "${EROOT}/var/lib/gentoo/news" \ - && chmod g+w "${EROOT}/var/lib/gentoo/news" - fi -} diff --git a/app-admin/eselect/eselect-1.3.8-r100.ebuild b/app-admin/eselect/eselect-1.3.8-r100.ebuild deleted file mode 100644 index 700374b30..000000000 --- a/app-admin/eselect/eselect-1.3.8-r100.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -inherit autotools eutils bash-completion-r1 - -DESCRIPTION="Gentoo's multi-purpose configuration and management tool" -HOMEPAGE="http://wiki.gentoo.org/wiki/Project:Eselect" -SRC_URI="mirror://gentoo/${P}.tar.xz" - -LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-2.5 )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc emacs vim-syntax" - -RDEPEND="sys-apps/sed - || ( - sys-apps/coreutils - sys-freebsd/freebsd-bin - app-misc/realpath - )" -DEPEND="${RDEPEND} - app-arch/xz-utils - doc? ( dev-python/docutils )" -RDEPEND="!app-admin/eselect-news - ${RDEPEND} - sys-apps/file - sys-libs/ncurses" - -PDEPEND="emacs? ( app-emacs/eselect-mode ) - vim-syntax? ( app-vim/eselect-syntax )" - -src_prepare() { - epatch "${FILESDIR}"/${P}-alternatives.patch - AT_M4DIR="." eautoreconf -} - -src_compile() { - emake - use doc && emake html -} - -src_install() { - emake DESTDIR="${D}" install - newbashcomp misc/${PN}.bashcomp ${PN} - dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt - use doc && dohtml *.html doc/* - - # needed by news module - keepdir /var/lib/gentoo/news - if ! use prefix; then - fowners root:portage /var/lib/gentoo/news - fperms g+w /var/lib/gentoo/news - fi - - # band aid for prefix - if use prefix; then - cd "${ED}"/usr/share/eselect/libs - sed -i "s:ALTERNATIVESDIR_ROOTLESS=\"${EPREFIX}:ALTERNATIVESDIR_ROOTLESS=\":" alternatives.bash || die - fi -} - -pkg_postinst() { - # fowners in src_install doesn't work for the portage group: - # merging changes the group back to root - if ! use prefix; then - chgrp portage "${EROOT}/var/lib/gentoo/news" \ - && chmod g+w "${EROOT}/var/lib/gentoo/news" - fi -} diff --git a/app-admin/eselect/eselect-1.4-r100.ebuild b/app-admin/eselect/eselect-1.4-r100.ebuild deleted file mode 100644 index e4d9a6f86..000000000 --- a/app-admin/eselect/eselect-1.4-r100.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -inherit autotools eutils bash-completion-r1 - -DESCRIPTION="Gentoo's multi-purpose configuration and management tool" -HOMEPAGE="http://wiki.gentoo.org/wiki/Project:Eselect" -SRC_URI="http://dev.gentoo.org/~ulm/eselect/${P}.tar.xz" - -LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-2.5 )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc emacs vim-syntax" - -RDEPEND="sys-apps/sed - || ( - sys-apps/coreutils - sys-freebsd/freebsd-bin - app-misc/realpath - )" -DEPEND="${RDEPEND} - app-arch/xz-utils - doc? ( dev-python/docutils )" -RDEPEND="!app-admin/eselect-news - ${RDEPEND} - sys-apps/file - sys-libs/ncurses" - -PDEPEND="emacs? ( app-emacs/eselect-mode ) - vim-syntax? ( app-vim/eselect-syntax )" - -src_prepare() { - epatch "${FILESDIR}"/${PN}-1.3.8-alternatives.patch - AT_M4DIR="." eautoreconf -} - -src_compile() { - emake - use doc && emake html -} - -src_install() { - emake DESTDIR="${D}" install - newbashcomp misc/${PN}.bashcomp ${PN} - dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt - use doc && dohtml *.html doc/* - - # needed by news module - keepdir /var/lib/gentoo/news - if ! use prefix; then - fowners root:portage /var/lib/gentoo/news - fperms g+w /var/lib/gentoo/news - fi - - # band aid for prefix - if use prefix; then - cd "${ED}"/usr/share/eselect/libs - sed -i "s:ALTERNATIVESDIR_ROOTLESS=\"${EPREFIX}:ALTERNATIVESDIR_ROOTLESS=\":" alternatives.bash || die - fi -} - -pkg_postinst() { - # fowners in src_install doesn't work for the portage group: - # merging changes the group back to root - if ! use prefix; then - chgrp portage "${EROOT}/var/lib/gentoo/news" \ - && chmod g+w "${EROOT}/var/lib/gentoo/news" - fi -} diff --git a/app-admin/eselect/eselect-1.4.1-r100.ebuild b/app-admin/eselect/eselect-1.4.1-r100.ebuild deleted file mode 100644 index e4d9a6f86..000000000 --- a/app-admin/eselect/eselect-1.4.1-r100.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -inherit autotools eutils bash-completion-r1 - -DESCRIPTION="Gentoo's multi-purpose configuration and management tool" -HOMEPAGE="http://wiki.gentoo.org/wiki/Project:Eselect" -SRC_URI="http://dev.gentoo.org/~ulm/eselect/${P}.tar.xz" - -LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-2.5 )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc emacs vim-syntax" - -RDEPEND="sys-apps/sed - || ( - sys-apps/coreutils - sys-freebsd/freebsd-bin - app-misc/realpath - )" -DEPEND="${RDEPEND} - app-arch/xz-utils - doc? ( dev-python/docutils )" -RDEPEND="!app-admin/eselect-news - ${RDEPEND} - sys-apps/file - sys-libs/ncurses" - -PDEPEND="emacs? ( app-emacs/eselect-mode ) - vim-syntax? ( app-vim/eselect-syntax )" - -src_prepare() { - epatch "${FILESDIR}"/${PN}-1.3.8-alternatives.patch - AT_M4DIR="." eautoreconf -} - -src_compile() { - emake - use doc && emake html -} - -src_install() { - emake DESTDIR="${D}" install - newbashcomp misc/${PN}.bashcomp ${PN} - dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt - use doc && dohtml *.html doc/* - - # needed by news module - keepdir /var/lib/gentoo/news - if ! use prefix; then - fowners root:portage /var/lib/gentoo/news - fperms g+w /var/lib/gentoo/news - fi - - # band aid for prefix - if use prefix; then - cd "${ED}"/usr/share/eselect/libs - sed -i "s:ALTERNATIVESDIR_ROOTLESS=\"${EPREFIX}:ALTERNATIVESDIR_ROOTLESS=\":" alternatives.bash || die - fi -} - -pkg_postinst() { - # fowners in src_install doesn't work for the portage group: - # merging changes the group back to root - if ! use prefix; then - chgrp portage "${EROOT}/var/lib/gentoo/news" \ - && chmod g+w "${EROOT}/var/lib/gentoo/news" - fi -} diff --git a/app-admin/eselect/eselect-1.4.2-r100.ebuild b/app-admin/eselect/eselect-1.4.2-r100.ebuild deleted file mode 100644 index 3fb583fee..000000000 --- a/app-admin/eselect/eselect-1.4.2-r100.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -inherit autotools eutils bash-completion-r1 - -DESCRIPTION="Gentoo's multi-purpose configuration and management tool" -HOMEPAGE="http://wiki.gentoo.org/wiki/Project:Eselect" -SRC_URI="http://dev.gentoo.org/~ulm/eselect/${P}.tar.xz" - -LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-2.5 )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc emacs vim-syntax" - -RDEPEND="sys-apps/sed - || ( - sys-apps/coreutils - sys-freebsd/freebsd-bin - app-misc/realpath - )" -DEPEND="${RDEPEND} - app-arch/xz-utils - doc? ( dev-python/docutils )" -RDEPEND="!app-admin/eselect-news - ${RDEPEND} - sys-apps/file - sys-libs/ncurses" - -PDEPEND="emacs? ( app-emacs/eselect-mode ) - vim-syntax? ( app-vim/eselect-syntax )" - -src_prepare() { - epatch "${FILESDIR}"/${P}-alternatives.patch - AT_M4DIR="." eautoreconf -} - -src_compile() { - emake - use doc && emake html -} - -src_install() { - emake DESTDIR="${D}" install - newbashcomp misc/${PN}.bashcomp ${PN} - dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt - use doc && dohtml *.html doc/* - - # needed by news module - keepdir /var/lib/gentoo/news - if ! use prefix; then - fowners root:portage /var/lib/gentoo/news - fperms g+w /var/lib/gentoo/news - fi - - # band aid for prefix - if use prefix; then - cd "${ED}"/usr/share/eselect/libs - sed -i "s:ALTERNATIVESDIR_ROOTLESS=\"${EPREFIX}:ALTERNATIVESDIR_ROOTLESS=\":" alternatives.bash || die - fi -} - -pkg_postinst() { - # fowners in src_install doesn't work for the portage group: - # merging changes the group back to root - if ! use prefix; then - chgrp portage "${EROOT}/var/lib/gentoo/news" \ - && chmod g+w "${EROOT}/var/lib/gentoo/news" - fi -} diff --git a/app-admin/eselect/eselect-1.4.3-r100.ebuild b/app-admin/eselect/eselect-1.4.3-r100.ebuild deleted file mode 100644 index 5af5f877b..000000000 --- a/app-admin/eselect/eselect-1.4.3-r100.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -inherit autotools eutils bash-completion-r1 - -DESCRIPTION="Gentoo's multi-purpose configuration and management tool" -HOMEPAGE="http://wiki.gentoo.org/wiki/Project:Eselect" -SRC_URI="http://dev.gentoo.org/~ulm/eselect/${P}.tar.xz" - -LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-2.5 )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc emacs vim-syntax" - -RDEPEND="sys-apps/sed - || ( - sys-apps/coreutils - sys-freebsd/freebsd-bin - app-misc/realpath - )" -DEPEND="${RDEPEND} - app-arch/xz-utils - doc? ( dev-python/docutils )" -RDEPEND="!app-admin/eselect-news - ${RDEPEND} - sys-apps/file - sys-libs/ncurses" - -PDEPEND="emacs? ( app-emacs/eselect-mode ) - vim-syntax? ( app-vim/eselect-syntax )" - -src_prepare() { - epatch "${FILESDIR}"/${PN}-1.4.2-alternatives.patch - AT_M4DIR="." eautoreconf -} - -src_compile() { - emake - use doc && emake html -} - -src_install() { - emake DESTDIR="${D}" install - newbashcomp misc/${PN}.bashcomp ${PN} - dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt - use doc && dohtml *.html doc/* - - # needed by news module - keepdir /var/lib/gentoo/news - if ! use prefix; then - fowners root:portage /var/lib/gentoo/news - fperms g+w /var/lib/gentoo/news - fi - - # band aid for prefix - if use prefix; then - cd "${ED}"/usr/share/eselect/libs - sed -i "s:ALTERNATIVESDIR_ROOTLESS=\"${EPREFIX}:ALTERNATIVESDIR_ROOTLESS=\":" alternatives.bash || die - fi -} - -pkg_postinst() { - # fowners in src_install doesn't work for the portage group: - # merging changes the group back to root - if ! use prefix; then - chgrp portage "${EROOT}/var/lib/gentoo/news" \ - && chmod g+w "${EROOT}/var/lib/gentoo/news" - fi -} diff --git a/app-admin/eselect/eselect-1.4.4-r100.ebuild b/app-admin/eselect/eselect-1.4.4-r102.ebuild index 02730fa03..67b835c52 100644 --- a/app-admin/eselect/eselect-1.4.4-r100.ebuild +++ b/app-admin/eselect/eselect-1.4.4-r102.ebuild @@ -33,7 +33,7 @@ PDEPEND="emacs? ( app-emacs/eselect-mode ) vim-syntax? ( app-vim/eselect-syntax )" src_prepare() { - epatch "${FILESDIR}"/${PN}-1.4.2-alternatives.patch + epatch "${FILESDIR}"/${P}-alternatives.patch AT_M4DIR="." eautoreconf } @@ -57,7 +57,7 @@ src_install() { # band aid for prefix if use prefix; then - cd "${ED}"/usr/share/eselect/libs + cd "${ED}"/usr/share/eselect/libs || die sed -i "s:ALTERNATIVESDIR_ROOTLESS=\"${EPREFIX}:ALTERNATIVESDIR_ROOTLESS=\":" alternatives.bash || die fi } diff --git a/app-admin/eselect/files/eselect-1.3.8-alternatives.patch b/app-admin/eselect/files/eselect-1.3.8-alternatives.patch deleted file mode 100644 index 1e3b0ea77..000000000 --- a/app-admin/eselect/files/eselect-1.3.8-alternatives.patch +++ /dev/null @@ -1,616 +0,0 @@ -Index: bin/eselect.in -=================================================================== ---- bin/eselect.in (revision 863) -+++ bin/eselect.in (working copy) -@@ -22,10 +22,15 @@ - # Where are modules installed by default? - ESELECT_DEFAULT_MODULES_PATH="${ESELECT_DATA_PATH}/modules" - -+# Where are auto-generated modules placed? (e.g. from alternatives-2.eclass) -+ESELECT_AUTO_GENERATED_MODULES_PATH="${ESELECT_DEFAULT_MODULES_PATH}/auto" -+ - # Look in these places for modules --ESELECT_MODULES_PATH=( \ -- "${HOME}/.eselect/modules" \ -- "${ESELECT_DEFAULT_MODULES_PATH}" ) -+ESELECT_MODULES_PATH=( -+ "${HOME}/.eselect/modules" -+ "${ESELECT_DEFAULT_MODULES_PATH}" -+ "${ESELECT_AUTO_GENERATED_MODULES_PATH}" -+) - - # Look in this place for libraries - ESELECT_CORE_PATH="${ESELECT_DATA_PATH}/libs" ---- bin/Makefile.am.orig 2013-09-02 14:35:05.328684465 +0400 -+++ bin/Makefile.am 2013-09-02 14:49:50.895842067 +0400 -@@ -4,6 +4,7 @@ - dosed = @SED@ -e 's,\@BASH\@,$(BASH),g' \ - -e 's,\@DATADIR\@,$(datadir),g' \ - -e 's,\@EPREFIX\@,$(EPREFIX),g' \ -+ -e 's,\@LIBEXECDIR\@,$(datadir),g' \ - -e 's,\@VERSION\@,$(VERSION)$(EXTRAVERSION),g' - - % : %.in -Index: libs/Makefile.am -=================================================================== ---- libs/Makefile.am (revision 863) -+++ libs/Makefile.am (working copy) -@@ -1,6 +1,7 @@ - eselectlibsdir = $(datadir)/$(PACKAGE_NAME)/libs/ - - eselectlibs_DATA = \ -+ alternatives.bash \ - config.bash \ - core.bash \ - default.eselect \ -@@ -14,6 +15,7 @@ - tests.bash - - EXTRA_DIST = \ -+ alternatives.bash.in \ - config.bash.in \ - core.bash.in \ - default.eselect.in \ -@@ -30,7 +32,8 @@ - -e 's,\@SED\@,@SED@,g' \ - -e 's,\@PORTAGEQ\@,@PORTAGEQ@,g' \ - -e 's,\@ENV_UPDATE\@,@ENV_UPDATE@,g' \ -- -e 's,\@CANONICALISE\@,@CANONICALISE@,g' -+ -e 's,\@CANONICALISE\@,@CANONICALISE@,g' \ -+ -e 's,\@sysconfdir\@,@sysconfdir@,g' - - %.bash : %.bash.in - @$(dosed) $< > $@ ---- libs/alternatives.bash.in.orig 1970-01-01 01:00:00.000000000 +0100 -+++ libs/alternatives.bash.in 2011-09-06 18:55:43.000000000 +0100 -@@ -0,0 +1,550 @@ -+# Copyright 2008 Mike Kelly -+# Copyright 2009 David Leverton -+# Copyright 2010 Bo Ørsted Andresen -+# 2010: Adapted to eselect Sebastien Fabbro (who doesn't like copyrights) -+# Distributed under the terms of the GNU General Public License v2 -+ -+inherit config output path-manipulation -+ -+ALTERNATIVESDIR_ROOTLESS="@sysconfdir@/env.d/alternatives" -+ALTERNATIVESDIR="${EROOT}${ALTERNATIVESDIR_ROOTLESS}" -+ -+get_current_provider() { -+ local dieprefix="Could not determine current provider for ${ALTERNATIVE}" -+ if [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current ]]; then -+ local provider=$(readlink "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current" || die "${dieprefix}: readlink ${symlink} failed") -+ [[ ${provider} == */* ]] && die "${dieprefix}: malformed target for ${symlink}" -+ -+ if [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} || -+ ( -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} && ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ) ]]; then -+ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} is not a directory" -+ fi -+ -+ echo "${provider}" -+ -+ elif [[ -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current ]]; then -+ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current is not a symlink" -+ fi -+} -+ -+compare_importance() { -+ local IFS=. -+ local a=( ${1} ) b=( ${2} ) -+ local -i i=0 -+ while (( i<${#a[@]} && i<${#b[@]} )); do -+ if (( a[i]<b[i] )); then -+ return 0 -+ elif (( a[i]>b[i] )); then -+ return 1 -+ fi -+ i+=1 -+ done -+ (( i<${#b[@]} )) -+} -+ -+sort_providers() { -+ local begin=${1:-0} -+ local count=${2:-${#providers[@]}} -+ [[ ${count} -le 1 ]] && return 0 -+ sort_providers ${begin} $((count/2)) -+ sort_providers $((begin+count/2)) $((count-count/2)) -+ local left=( "${providers[@]:begin:count/2}" ) -+ local right=( "${providers[@]:begin+count/2:count-count/2}" ) -+ local -i x i=0 j=0 -+ for (( x=begin; x<begin+count; ++x )); do -+ if (( j>=${#right[@]} )) || { (( i<${#left[@]} )) && compare_importance "${left[i]%%:*}" "${right[j]%%:*}"; }; then -+ providers[x]=${left[i++]} -+ else -+ providers[x]=${right[j++]} -+ fi -+ done -+} -+ -+get_providers() { -+ local p= importance providers=() -+ for p in "${ALTERNATIVESDIR}/${ALTERNATIVE}"/* ; do -+ [[ -d ${p} && ! -L ${p} ]] || continue -+ p=${p##*/} -+ -+ importance=$(< "${ALTERNATIVESDIR}/${ALTERNATIVE}/${p}/_importance") -+ importance=${importance:-0} -+ [[ "${importance}" =~ ^[0123456789]+(\.[0123456789]+)*$ ]] || die "_importance (${importance}) for ${p} is not a dot-separated list of integers" -+ -+ providers+=( "${importance}:${p}" ) -+ done -+ -+ sort_providers -+ for (( p=${#providers[@]}-1 ; p>=0 ; --p )); do -+ echo "${providers[p]#*:}" -+ done -+} -+ -+### show action ### -+describe_show() { -+ echo "Show the current provider in use for ${ALTERNATIVE}" -+} -+ -+do_show() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ local current="$(get_current_provider)" -+ if [[ -z "${current}" ]] ; then -+ echo "(none)" -+ return 2 -+ fi -+ echo "${current}" -+} -+ -+options_show() { -+ : -+} -+ -+### list action ### -+describe_list() { -+ echo "Lists all available providers for ${ALTERNATIVE}" -+} -+ -+do_list() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ local n cur= providers=( $(get_providers) ) -+ write_list_start "Available providers for ${ALTERNATIVE}:" -+ -+ cur="$(get_current_provider)" -+ -+ if [[ -n "${providers[@]}" ]] ; then -+ for (( n = 0 ; n < ${#providers[@]} ; ++n )) ; do -+ [[ ${cur} == "${providers[${n}]}" ]] && \ -+ providers[${n}]="${providers[${n}]} $(highlight '*')" -+ done -+ write_numbered_list "${providers[@]}" -+ else -+ write_kv_list_entry "(none found)" "" -+ fi -+} -+ -+options_list() { -+ : -+} -+ -+### files action ### -+describe_files() { -+ echo "Lists symlinks provided by the currently selected provider" -+} -+ -+do_files() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local cur="$(get_current_provider)" p= -+ [[ -n "${cur}" ]] || die -q "No selected provider, hence no symlinks provided" -+ local dieprefix="Could not list symlinks provided for ${ALTERNATIVE}" -+ -+ local errors symlink rootsymlink -+ while read -r -d '' symlink; do -+ rootsymlink="${EROOT}${symlink}" -+ rootsymlink=${rootsymlink//+(\/)/\/} -+ echo "${rootsymlink}" -+ if [[ -L ${rootsymlink} ]]; then -+ if [[ ! -e ${rootsymlink} ]]; then -+ write_error_msg "${rootsymlink} is dangling symlink" -+ errors=yes -+ fi -+ elif [[ -d ${rootsymlink} ]]; then -+ write_error_msg "${rootsymlink} is a directory" -+ errors=yes -+ elif [[ -e ${rootsymlink} ]]; then -+ write_error_msg "${rootsymlink} exists but is not a symlink" -+ errors=yes -+ else -+ write_error_msg "${rootsymlink} does not exist" -+ errors=yes -+ fi -+ done <"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" -+} -+ -+options_files() { -+ : -+} -+ -+### set action ### -+ -+describe_set() { -+ echo "Sets a provider for ${ALTERNATIVE}" -+} -+ -+describe_set_parameters() { -+ echo "[ --force ] <provider>" -+} -+ -+describe_set_options() { -+ echo "--force : overwrite or remove existing non-symlink files (but not directories) if necessary" -+ echo "<provider> : the name of the provider to use or the index of the provider preceeded by a dash" -+} -+ -+do_set() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local force provider providers -+ if [[ ${1} == --force ]]; then -+ force=yes -+ shift -+ fi -+ -+ if [[ ${1} == -+([[:digit:]]) ]]; then -+ providers=( $(get_providers) ) -+ (( ${1#-} <= ${#providers[@]} )) || die -q "The given provider with index (${1#-}) does not exist" -+ provider=${providers[${1#-}-1]} -+ else -+ provider="${1}" -+ fi -+ [[ -z "${provider}" ]] && die -q "Missing required parameter 'provider'" -+ local dieprefix="Could not set provider ${provider} for alternative ${ALTERNATIVE}" -+ -+ if [[ ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ]] ; then -+ if is_number ${provider} ; then -+ providers=( $(get_providers) ) -+ [[ -n ${providers[${1#-}-1]} ]] && -+ die -q "The given provider (${provider}) does not exist, did you mean -${provider} (${providers[${1#-}-1]})?" -+ fi -+ die -q "The given provider (${provider}) does not exist" -+ fi -+ -+ local symlink newsymlinks=() oldsymlinks=() -+ -+ while read -r -d '' symlink; do -+ local nicesymlink=${symlink#.} -+ nicesymlink=${nicesymlink//+(\/)/\/} -+ [[ ${nicesymlink} == /* ]] || die "${dieprefix}: bad symlink ${symlink}?" -+ [[ ${nicesymlink} == */ ]] && die "${dieprefix}: bad symlink ${symlink}?" -+ -+ newsymlinks+=( "${nicesymlink}" ) -+ done < <( -+ cd "${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}" || die "${dieprefix}: cd failed" -+ find . -type l -print0 | LC_ALL=C sort -r -u -z) -+ [[ ${#newsymlinks[@]} -gt 0 ]] || die "${dieprefix}: does not provide any symlinks?" -+ -+ if [[ -f ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list ]]; then -+ while read -r -d '' symlink; do -+ local nicesymlink=${symlink//+(\/)/\/} -+ [[ ${nicesymlink} == /* ]] || die "${dieprefix}: old provider ${oldcur} provides bad symlink ${symlink}?" -+ [[ ${nicesymlink} == */ ]] && die "${dieprefix}: old provider ${oldcur} provides bad symlink ${symlink}?" -+ -+ oldsymlinks+=( "${nicesymlink}" ) -+ done < <(LC_ALL=C sort -r -u -z "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list") -+ [[ ${#oldsymlinks[@]} -gt 0 ]] || die "${dieprefix}: old provider ${oldcur} does not provide any symlinks?" -+ -+ elif [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list || -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list ]]; then -+ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list is not a file" -+ fi -+ -+ local pass errors= -+ for pass in check perform; do -+ local -i new_i=0 old_i=0 -+ while [[ -n ${newsymlinks[new_i]} || -n ${oldsymlinks[old_i]} ]]; do -+ -+ if ( LC_ALL=C; [[ ${newsymlinks[new_i]} < ${oldsymlinks[old_i]} ]] ); then -+ if [[ ${pass} == check ]]; then -+ if [[ -L ${EROOT}${oldsymlinks[old_i]} ]]; then -+ : -+ elif [[ -d ${EROOT}${oldsymlinks[old_i]} ]]; then -+ write_error_msg "Can't remove ${EROOT}${oldsymlinks[old_i]}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" -+ errors=yes -+ elif [[ -e ${EROOT}${oldsymlinks[old_i]} ]]; then -+ if [[ -n ${force} ]]; then -+ write_warning_msg "Removing ${EROOT}${oldsymlinks[old_i]} due to --force: is not a symlink" -+ else -+ write_error_msg "Refusing to remove ${EROOT}${oldsymlinks[old_i]}: is not a symlink (use --force to override)" -+ errors=yes -+ fi -+ fi -+ -+ elif [[ ${pass} == perform ]]; then -+ rm -f "${ROOT}${oldsymlinks[old_i]}" || die "${dieprefix}: rm failed" -+ else -+ die "${dieprefix}: unknown \${pass} ${pass}???" -+ fi -+ -+ old_i+=1 -+ -+ else -+ local target=${ALTERNATIVESDIR_ROOTLESS#/}/${ALTERNATIVE}/_current${newsymlinks[new_i]} dir=${newsymlinks[new_i]%/*} -+ while [[ -n ${dir} ]]; do -+ target=../${target} -+ dir=${dir%/*} -+ done -+ -+ if [[ ${pass} == check ]]; then -+ if [[ -L ${EROOT}${newsymlinks[new_i]} ]]; then -+ : -+ elif [[ -d ${EROOT}${newsymlinks[new_i]} ]]; then -+ write_error_msg "Can't overwrite ${EROOT}${newsymlinks[new_i]}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" -+ errors=yes -+ elif [[ -e ${EROOT}${newsymlinks[new_i]} ]]; then -+ if [[ -n ${force} ]]; then -+ write_warning_msg "Overwriting ${EROOT}${newsymlinks[new_i]} due to --force: is not a symlink" -+ else -+ write_error_msg "Refusing to overwrite ${EROOT}${newsymlinks[new_i]}: is not a symlink (use --force to override)" -+ errors=yes -+ fi -+ fi -+ -+ elif [[ ${pass} == perform ]]; then -+ mkdir -p "${EROOT}${newsymlinks[new_i]%/*}" || die "${dieprefix}: mkdir -p failed" -+ ln -snf "${target#/}" "${EROOT}${newsymlinks[new_i]}" || die "${dieprefix}: ln -snf failed" -+ else -+ die "${dieprefix}: unknown \${pass} ${pass}???" -+ fi -+ -+ [[ ${newsymlinks[new_i]} == ${oldsymlinks[old_i]} ]] && old_i+=1 -+ new_i+=1 -+ fi -+ done -+ -+ [[ -n ${errors} ]] && die "${dieprefix}: see previous errors" -+ done -+ -+ local oldcur="$(get_current_provider)" -+ ln -snf "${provider}" "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current" || die "${dieprefix}: ln -snf failed" -+ -+ : >"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" || die "${dieprefix}: emptying/creating _current_list failed" -+ for symlink in "${newsymlinks[@]}"; do -+ echo -n -e "${symlink}\\0" >>"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" || die "${dieprefix}: appending ${symlink} to _current_list failed" -+ done -+ return 0 -+} -+ -+_options_parameters() { -+ [[ -n ${2} && ${2} != --descriptions ]] && die -q "Unrecognised option ${2}" -+ local describe_func=describe_${1#options_}_options descriptions=${2} opt options oldifs=$IFS -+ if is_function ${describe_func}; then -+ IFS=$'\n' -+ options=( $(${describe_func}) ) -+ IFS=$oldifs -+ for opt in "${options[@]}"; do -+ [[ ${opt} == --* ]] || continue -+ if [[ -n ${descriptions} ]]; then -+ echo "${opt/ : /:}" -+ else -+ echo "${opt%% : *}" -+ fi -+ done -+ fi -+} -+ -+options_set() { -+ _options_parameters $FUNCNAME "$@" -+ get_providers -+} -+ -+### update action ### -+ -+describe_update() { -+ echo "Set a default provider if no valid one currently exists" -+} -+ -+describe_update_parameters() { -+ echo "[--ignore] <provider>" -+} -+ -+describe_update_options() { -+ echo "--ignore : update to any valid provider EXCEPT the specified provider" -+ echo "<provider> : the name of the provider to use" -+} -+ -+do_update() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local p cur=$(get_current_provider) providers=( $(get_providers) ) ignore -+ if [[ "--ignore" == ${1} ]] ; then -+ # Try everything except setting the provider to the given -+ # one. So, if it isn't the given one, we end up doing -+ # nothing. Bug #128 -+ shift -+ ignore=${1} -+ fi -+ -+ if [[ ${cur} == ${1} && -z ${ignore} ]]; then -+ # if current provider was just updated, reselect it since it could have changed -+ do_set "${cur}" && return 0 -+ elif [[ -n ${cur} && ${cur} != ${ignore} ]] ; then -+ # verify existing provider's symlinks -+ local p= bad=0 -+ while read -r -d '' p ; do -+ [[ -L "${EROOT}${p}" && -e "${EROOT}${p}" ]] || (( bad++ )) -+ done < "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" -+ -+ [[ "${bad}" -eq 0 ]] && return 0 -+ # fix existing provider if possible -+ has "${cur}" "${providers[@]}" && do_set "${cur}" && return 0 -+ elif has "${1}" "${providers[@]}" && [[ -z ${ignore} ]] ; then -+ # switch to new provider if none was set before or it can't be fixed -+ do_set "${1}" && return 0 -+ fi -+ -+ # if no valid provider has been selected switch to first available, valid -+ # provider, sorted according to importance -+ for p in "${providers[@]}"; do -+ [[ ${ignore} != ${p} ]] && do_set "${p}" && return 0 -+ done -+ -+ # if a provider is set but no providers are available anymore cleanup -+ cur=$(get_current_provider) -+ if [[ -n ${cur} ]]; then -+ do_unset "${cur}" && return 2 -+ fi -+ # if no provider is set and none are available that are not ignored, return 2 for cleanup -+ [[ -z ${providers[@]} || ${providers[@]} == ${ignore} ]] && return 2 -+ -+ # we tried everything to select a valid provider, but failed -+ return 1 -+} -+ -+options_update() { -+ _options_parameters $FUNCNAME "$@" -+ get_providers -+} -+ -+### unset action ### -+ -+describe_unset() { -+ echo "Unset any symlinks created for the current provider for ${ALTERNATIVE}." -+} -+ -+describe_unset_parameters() { -+ echo "[ --force ]" -+} -+ -+describe_unset_options() { -+ echo "--force : remove existing non-symlink files (but not directories) if necessary" -+} -+ -+do_unset() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local force= -+ if [[ ${1} == --force ]]; then -+ force=yes -+ shift -+ fi -+ -+ local cur="$(get_current_provider)" p= -+ [[ -n "${cur}" ]] || die -q "Nothing to unset" -+ local dieprefix="Could not unset provider for ${ALTERNATIVE}" -+ -+ local one=false symlink pass errors= -+ for pass in check perform; do -+ while read -r -d '' symlink; do -+ one=true -+ if [[ ${pass} == check ]]; then -+ if [[ -L ${EROOT}${symlink} ]]; then -+ : -+ elif [[ -d ${EROOT}${symlink} ]]; then -+ write_error_msg "Can't remove ${EROOT}${symlink}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" -+ errors=yes -+ elif [[ -e ${EROOT}${symlink} ]]; then -+ if [[ -n ${force} ]]; then -+ write_warning_msg "Removing ${EROOT}${symlink} due to --force: is not a symlink" -+ else -+ write_error_msg "Refusing to remove ${EROOT}${symlink}: is not a symlink (use --force to override)" -+ errors=yes -+ fi -+ fi -+ -+ elif [[ ${pass} == perform ]]; then -+ rm -f "${EROOT}${symlink}" || die "${dieprefix}: rm failed" -+ else -+ die "${dieprefix}: unknown \${pass} ${pass}???" -+ fi -+ done <"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" -+ -+ [[ -n ${errors} ]] && die "${dieprefix}: see previous errors" -+ done -+ -+ ${one} || die "${dieprefix}: does not provide any symlinks?" -+ -+ rm "${ALTERNATIVESDIR}/${ALTERNATIVE}"/{_current,_current_list} || die "${dieprefix}: rm failed" -+} -+ -+options_unset() { -+ _options_parameters $FUNCNAME "$@" -+ get_current_provider -+} -+ -+### script action ### -+ -+describe_script() { -+ echo "Output an evalable script fragment to set PATH, LD_LIBRARY_PATH and MANPATH to use the specified provider" -+} -+ -+describe_script_parameters() { -+ echo "[--sh | --csh] [<provider>]" -+} -+ -+describe_script_options() { -+ echo "--sh : use Bourne shell syntax (default)" -+ echo "--csh : use C shell syntax" -+ echo "<provider> : the provider to use or the index of the provider preceeded by a dash (if not specified, use the system default)" -+} -+ -+do_script() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ local syntax=sh provider providers -+ if [[ ${1} == --sh ]]; then -+ shift -+ elif [[ ${1} == --csh ]]; then -+ syntax=csh -+ shift -+ fi -+ -+ if [[ ${1} == -+([[:digit:]]) ]]; then -+ providers=( $(get_providers) ) -+ (( ${1#-} <= ${#providers[@]} )) || die -q "The given provider with index (${1#-}) does not exist" -+ provider=${providers[${1#-}-1]} -+ else -+ provider="${1}" -+ fi -+ [[ -z "${provider}" ]] && die -q "Missing required parameter 'provider'" -+ -+ if [[ ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ]] ; then -+ if is_number ${provider} ; then -+ providers=( $(get_providers) ) -+ [[ -n ${providers[${1#-}-1]} ]] && -+ die -q "The given provider (${provider}) does not exist, did you mean -${provider} (${providers[${1#-}-1]})?" -+ fi -+ die -q "The given provider (${provider}) does not exist" -+ fi -+ -+ local variables=( PATH LD_LIBRARY_PATH MANPATH ) -+ [[ -n ${!default_*} ]] && local ${!default_*} -+ local default_LD_LIBRARY_PATH=$(grep '^[^#]' "${EROOT}"/etc/ld.so.conf | tr '\n' ':')/lib:/usr/lib -+ local default_MANPATH=$(MANPATH= man -C"${EROOT}"/etc/man.conf -w) -+ -+ local var IFS=: -+ for var in "${variables[@]}"; do -+ local defvar=default_${var} path paths=( ) -+ for path in ${!var}; do -+ [[ ${path} == ${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/* ]] && continue -+ [[ -n ${provider} && -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}/${path#/} ]] && paths+=( "${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/${provider}/${path#/}" ) -+ paths+=( "${path}" ) -+ done -+ -+ [[ -n ${provider} ]] && for path in ${!defvar}; do -+ [[ -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}/${path#/} ]] && paths+=( "${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/${provider}/${path#/}" ) -+ done -+ -+ local newval=${paths[*]} -+ if [[ ${newval} != ${!var} ]]; then -+ newval=${newval//\'/\'\\\'\'} -+ if [[ ${syntax} == sh ]]; then -+ echo "${var}='${newval}'; export ${var}" -+ else -+ echo "setenv ${var} '${newval}'" -+ fi -+ fi -+ done -+} -+ -+options_script() { -+ _options_parameters $FUNCNAME "$@" -+ get_providers -+} -+ -+# vim: set ft=eselect sw=4 sts=4 ts=4 et tw=80 : diff --git a/app-admin/eselect/files/eselect-1.4.2-alternatives.patch b/app-admin/eselect/files/eselect-1.4.2-alternatives.patch deleted file mode 100644 index 3f4a34bcf..000000000 --- a/app-admin/eselect/files/eselect-1.4.2-alternatives.patch +++ /dev/null @@ -1,616 +0,0 @@ -Index: bin/eselect.in -=================================================================== ---- bin/eselect.in (revision 863) -+++ bin/eselect.in (working copy) -@@ -22,10 +22,15 @@ - # Where are modules installed by default? - ESELECT_DEFAULT_MODULES_PATH="${ESELECT_DATA_PATH}/modules" - -+# Where are auto-generated modules placed? (e.g. from alternatives-2.eclass) -+ESELECT_AUTO_GENERATED_MODULES_PATH="${ESELECT_DEFAULT_MODULES_PATH}/auto" -+ - # Look in these places for modules --ESELECT_MODULES_PATH=( \ -- "${HOME}/.eselect/modules" \ -- "${ESELECT_DEFAULT_MODULES_PATH}" ) -+ESELECT_MODULES_PATH=( -+ "${HOME}/.eselect/modules" -+ "${ESELECT_DEFAULT_MODULES_PATH}" -+ "${ESELECT_AUTO_GENERATED_MODULES_PATH}" -+) - - # Look in this place for libraries - ESELECT_CORE_PATH="${ESELECT_DATA_PATH}/libs" ---- bin/Makefile.am.orig 2013-09-02 14:35:05.328684465 +0400 -+++ bin/Makefile.am 2013-09-02 14:49:50.895842067 +0400 -@@ -4,6 +4,7 @@ - dosed = @SED@ -e 's%\@BASH\@%$(BASH)%g' \ - -e 's%\@DATADIR\@%$(datadir)%g' \ - -e 's%\@EPREFIX\@%$(EPREFIX)%g' \ -+ -e 's%\@LIBEXECDIR\@%$(datadir)%g' \ - -e 's%\@VERSION\@%$(VERSION)$(EXTRAVERSION)%g' - - % : %.in -Index: libs/Makefile.am -=================================================================== ---- libs/Makefile.am (revision 863) -+++ libs/Makefile.am (working copy) -@@ -1,6 +1,7 @@ - eselectlibsdir = $(datadir)/$(PACKAGE_NAME)/libs/ - - eselectlibs_DATA = \ -+ alternatives.bash \ - config.bash \ - core.bash \ - default.eselect \ -@@ -14,6 +15,7 @@ - tests.bash - - EXTRA_DIST = \ -+ alternatives.bash.in \ - config.bash.in \ - core.bash.in \ - default.eselect.in \ -@@ -30,7 +32,8 @@ - -e 's%\@SED\@%@SED@%g' \ - -e 's%\@PORTAGEQ\@%@PORTAGEQ@%g' \ - -e 's%\@ENV_UPDATE\@%@ENV_UPDATE@%g' \ -- -e 's%\@CANONICALISE\@%@CANONICALISE@%g' -+ -e 's%\@CANONICALISE\@%@CANONICALISE@%g' \ -+ -e 's%\@sysconfdir\@%@sysconfdir@%g' - - %.bash : %.bash.in - @$(dosed) $< > $@ ---- libs/alternatives.bash.in.orig 1970-01-01 01:00:00.000000000 +0100 -+++ libs/alternatives.bash.in 2011-09-06 18:55:43.000000000 +0100 -@@ -0,0 +1,550 @@ -+# Copyright 2008 Mike Kelly -+# Copyright 2009 David Leverton -+# Copyright 2010 Bo Ørsted Andresen -+# 2010: Adapted to eselect Sebastien Fabbro (who doesn't like copyrights) -+# Distributed under the terms of the GNU General Public License v2 -+ -+inherit config output path-manipulation -+ -+ALTERNATIVESDIR_ROOTLESS="@sysconfdir@/env.d/alternatives" -+ALTERNATIVESDIR="${EROOT}${ALTERNATIVESDIR_ROOTLESS}" -+ -+get_current_provider() { -+ local dieprefix="Could not determine current provider for ${ALTERNATIVE}" -+ if [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current ]]; then -+ local provider=$(readlink "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current" || die "${dieprefix}: readlink ${symlink} failed") -+ [[ ${provider} == */* ]] && die "${dieprefix}: malformed target for ${symlink}" -+ -+ if [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} || -+ ( -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} && ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ) ]]; then -+ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} is not a directory" -+ fi -+ -+ echo "${provider}" -+ -+ elif [[ -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current ]]; then -+ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current is not a symlink" -+ fi -+} -+ -+compare_importance() { -+ local IFS=. -+ local a=( ${1} ) b=( ${2} ) -+ local -i i=0 -+ while (( i<${#a[@]} && i<${#b[@]} )); do -+ if (( a[i]<b[i] )); then -+ return 0 -+ elif (( a[i]>b[i] )); then -+ return 1 -+ fi -+ i+=1 -+ done -+ (( i<${#b[@]} )) -+} -+ -+sort_providers() { -+ local begin=${1:-0} -+ local count=${2:-${#providers[@]}} -+ [[ ${count} -le 1 ]] && return 0 -+ sort_providers ${begin} $((count/2)) -+ sort_providers $((begin+count/2)) $((count-count/2)) -+ local left=( "${providers[@]:begin:count/2}" ) -+ local right=( "${providers[@]:begin+count/2:count-count/2}" ) -+ local -i x i=0 j=0 -+ for (( x=begin; x<begin+count; ++x )); do -+ if (( j>=${#right[@]} )) || { (( i<${#left[@]} )) && compare_importance "${left[i]%%:*}" "${right[j]%%:*}"; }; then -+ providers[x]=${left[i++]} -+ else -+ providers[x]=${right[j++]} -+ fi -+ done -+} -+ -+get_providers() { -+ local p= importance providers=() -+ for p in "${ALTERNATIVESDIR}/${ALTERNATIVE}"/* ; do -+ [[ -d ${p} && ! -L ${p} ]] || continue -+ p=${p##*/} -+ -+ importance=$(< "${ALTERNATIVESDIR}/${ALTERNATIVE}/${p}/_importance") -+ importance=${importance:-0} -+ [[ "${importance}" =~ ^[0123456789]+(\.[0123456789]+)*$ ]] || die "_importance (${importance}) for ${p} is not a dot-separated list of integers" -+ -+ providers+=( "${importance}:${p}" ) -+ done -+ -+ sort_providers -+ for (( p=${#providers[@]}-1 ; p>=0 ; --p )); do -+ echo "${providers[p]#*:}" -+ done -+} -+ -+### show action ### -+describe_show() { -+ echo "Show the current provider in use for ${ALTERNATIVE}" -+} -+ -+do_show() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ local current="$(get_current_provider)" -+ if [[ -z "${current}" ]] ; then -+ echo "(none)" -+ return 2 -+ fi -+ echo "${current}" -+} -+ -+options_show() { -+ : -+} -+ -+### list action ### -+describe_list() { -+ echo "Lists all available providers for ${ALTERNATIVE}" -+} -+ -+do_list() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ local n cur= providers=( $(get_providers) ) -+ write_list_start "Available providers for ${ALTERNATIVE}:" -+ -+ cur="$(get_current_provider)" -+ -+ if [[ -n "${providers[@]}" ]] ; then -+ for (( n = 0 ; n < ${#providers[@]} ; ++n )) ; do -+ [[ ${cur} == "${providers[${n}]}" ]] && \ -+ providers[${n}]="${providers[${n}]} $(highlight '*')" -+ done -+ write_numbered_list "${providers[@]}" -+ else -+ write_kv_list_entry "(none found)" "" -+ fi -+} -+ -+options_list() { -+ : -+} -+ -+### files action ### -+describe_files() { -+ echo "Lists symlinks provided by the currently selected provider" -+} -+ -+do_files() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local cur="$(get_current_provider)" p= -+ [[ -n "${cur}" ]] || die -q "No selected provider, hence no symlinks provided" -+ local dieprefix="Could not list symlinks provided for ${ALTERNATIVE}" -+ -+ local errors symlink rootsymlink -+ while read -r -d '' symlink; do -+ rootsymlink="${EROOT}${symlink}" -+ rootsymlink=${rootsymlink//+(\/)/\/} -+ echo "${rootsymlink}" -+ if [[ -L ${rootsymlink} ]]; then -+ if [[ ! -e ${rootsymlink} ]]; then -+ write_error_msg "${rootsymlink} is dangling symlink" -+ errors=yes -+ fi -+ elif [[ -d ${rootsymlink} ]]; then -+ write_error_msg "${rootsymlink} is a directory" -+ errors=yes -+ elif [[ -e ${rootsymlink} ]]; then -+ write_error_msg "${rootsymlink} exists but is not a symlink" -+ errors=yes -+ else -+ write_error_msg "${rootsymlink} does not exist" -+ errors=yes -+ fi -+ done <"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" -+} -+ -+options_files() { -+ : -+} -+ -+### set action ### -+ -+describe_set() { -+ echo "Sets a provider for ${ALTERNATIVE}" -+} -+ -+describe_set_parameters() { -+ echo "[ --force ] <provider>" -+} -+ -+describe_set_options() { -+ echo "--force : overwrite or remove existing non-symlink files (but not directories) if necessary" -+ echo "<provider> : the name of the provider to use or the index of the provider preceeded by a dash" -+} -+ -+do_set() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local force provider providers -+ if [[ ${1} == --force ]]; then -+ force=yes -+ shift -+ fi -+ -+ if [[ ${1} == -+([[:digit:]]) ]]; then -+ providers=( $(get_providers) ) -+ (( ${1#-} <= ${#providers[@]} )) || die -q "The given provider with index (${1#-}) does not exist" -+ provider=${providers[${1#-}-1]} -+ else -+ provider="${1}" -+ fi -+ [[ -z "${provider}" ]] && die -q "Missing required parameter 'provider'" -+ local dieprefix="Could not set provider ${provider} for alternative ${ALTERNATIVE}" -+ -+ if [[ ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ]] ; then -+ if is_number ${provider} ; then -+ providers=( $(get_providers) ) -+ [[ -n ${providers[${1#-}-1]} ]] && -+ die -q "The given provider (${provider}) does not exist, did you mean -${provider} (${providers[${1#-}-1]})?" -+ fi -+ die -q "The given provider (${provider}) does not exist" -+ fi -+ -+ local symlink newsymlinks=() oldsymlinks=() -+ -+ while read -r -d '' symlink; do -+ local nicesymlink=${symlink#.} -+ nicesymlink=${nicesymlink//+(\/)/\/} -+ [[ ${nicesymlink} == /* ]] || die "${dieprefix}: bad symlink ${symlink}?" -+ [[ ${nicesymlink} == */ ]] && die "${dieprefix}: bad symlink ${symlink}?" -+ -+ newsymlinks+=( "${nicesymlink}" ) -+ done < <( -+ cd "${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}" || die "${dieprefix}: cd failed" -+ find . -type l -print0 | LC_ALL=C sort -r -u -z) -+ [[ ${#newsymlinks[@]} -gt 0 ]] || die "${dieprefix}: does not provide any symlinks?" -+ -+ if [[ -f ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list ]]; then -+ while read -r -d '' symlink; do -+ local nicesymlink=${symlink//+(\/)/\/} -+ [[ ${nicesymlink} == /* ]] || die "${dieprefix}: old provider ${oldcur} provides bad symlink ${symlink}?" -+ [[ ${nicesymlink} == */ ]] && die "${dieprefix}: old provider ${oldcur} provides bad symlink ${symlink}?" -+ -+ oldsymlinks+=( "${nicesymlink}" ) -+ done < <(LC_ALL=C sort -r -u -z "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list") -+ [[ ${#oldsymlinks[@]} -gt 0 ]] || die "${dieprefix}: old provider ${oldcur} does not provide any symlinks?" -+ -+ elif [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list || -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list ]]; then -+ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list is not a file" -+ fi -+ -+ local pass errors= -+ for pass in check perform; do -+ local -i new_i=0 old_i=0 -+ while [[ -n ${newsymlinks[new_i]} || -n ${oldsymlinks[old_i]} ]]; do -+ -+ if ( LC_ALL=C; [[ ${newsymlinks[new_i]} < ${oldsymlinks[old_i]} ]] ); then -+ if [[ ${pass} == check ]]; then -+ if [[ -L ${EROOT}${oldsymlinks[old_i]} ]]; then -+ : -+ elif [[ -d ${EROOT}${oldsymlinks[old_i]} ]]; then -+ write_error_msg "Can't remove ${EROOT}${oldsymlinks[old_i]}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" -+ errors=yes -+ elif [[ -e ${EROOT}${oldsymlinks[old_i]} ]]; then -+ if [[ -n ${force} ]]; then -+ write_warning_msg "Removing ${EROOT}${oldsymlinks[old_i]} due to --force: is not a symlink" -+ else -+ write_error_msg "Refusing to remove ${EROOT}${oldsymlinks[old_i]}: is not a symlink (use --force to override)" -+ errors=yes -+ fi -+ fi -+ -+ elif [[ ${pass} == perform ]]; then -+ rm -f "${ROOT}${oldsymlinks[old_i]}" || die "${dieprefix}: rm failed" -+ else -+ die "${dieprefix}: unknown \${pass} ${pass}???" -+ fi -+ -+ old_i+=1 -+ -+ else -+ local target=${ALTERNATIVESDIR_ROOTLESS#/}/${ALTERNATIVE}/_current${newsymlinks[new_i]} dir=${newsymlinks[new_i]%/*} -+ while [[ -n ${dir} ]]; do -+ target=../${target} -+ dir=${dir%/*} -+ done -+ -+ if [[ ${pass} == check ]]; then -+ if [[ -L ${EROOT}${newsymlinks[new_i]} ]]; then -+ : -+ elif [[ -d ${EROOT}${newsymlinks[new_i]} ]]; then -+ write_error_msg "Can't overwrite ${EROOT}${newsymlinks[new_i]}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" -+ errors=yes -+ elif [[ -e ${EROOT}${newsymlinks[new_i]} ]]; then -+ if [[ -n ${force} ]]; then -+ write_warning_msg "Overwriting ${EROOT}${newsymlinks[new_i]} due to --force: is not a symlink" -+ else -+ write_error_msg "Refusing to overwrite ${EROOT}${newsymlinks[new_i]}: is not a symlink (use --force to override)" -+ errors=yes -+ fi -+ fi -+ -+ elif [[ ${pass} == perform ]]; then -+ mkdir -p "${EROOT}${newsymlinks[new_i]%/*}" || die "${dieprefix}: mkdir -p failed" -+ ln -snf "${target#/}" "${EROOT}${newsymlinks[new_i]}" || die "${dieprefix}: ln -snf failed" -+ else -+ die "${dieprefix}: unknown \${pass} ${pass}???" -+ fi -+ -+ [[ ${newsymlinks[new_i]} == ${oldsymlinks[old_i]} ]] && old_i+=1 -+ new_i+=1 -+ fi -+ done -+ -+ [[ -n ${errors} ]] && die "${dieprefix}: see previous errors" -+ done -+ -+ local oldcur="$(get_current_provider)" -+ ln -snf "${provider}" "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current" || die "${dieprefix}: ln -snf failed" -+ -+ : >"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" || die "${dieprefix}: emptying/creating _current_list failed" -+ for symlink in "${newsymlinks[@]}"; do -+ echo -n -e "${symlink}\\0" >>"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" || die "${dieprefix}: appending ${symlink} to _current_list failed" -+ done -+ return 0 -+} -+ -+_options_parameters() { -+ [[ -n ${2} && ${2} != --descriptions ]] && die -q "Unrecognised option ${2}" -+ local describe_func=describe_${1#options_}_options descriptions=${2} opt options oldifs=$IFS -+ if is_function ${describe_func}; then -+ IFS=$'\n' -+ options=( $(${describe_func}) ) -+ IFS=$oldifs -+ for opt in "${options[@]}"; do -+ [[ ${opt} == --* ]] || continue -+ if [[ -n ${descriptions} ]]; then -+ echo "${opt/ : /:}" -+ else -+ echo "${opt%% : *}" -+ fi -+ done -+ fi -+} -+ -+options_set() { -+ _options_parameters $FUNCNAME "$@" -+ get_providers -+} -+ -+### update action ### -+ -+describe_update() { -+ echo "Set a default provider if no valid one currently exists" -+} -+ -+describe_update_parameters() { -+ echo "[--ignore] <provider>" -+} -+ -+describe_update_options() { -+ echo "--ignore : update to any valid provider EXCEPT the specified provider" -+ echo "<provider> : the name of the provider to use" -+} -+ -+do_update() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local p cur=$(get_current_provider) providers=( $(get_providers) ) ignore -+ if [[ "--ignore" == ${1} ]] ; then -+ # Try everything except setting the provider to the given -+ # one. So, if it isn't the given one, we end up doing -+ # nothing. Bug #128 -+ shift -+ ignore=${1} -+ fi -+ -+ if [[ ${cur} == ${1} && -z ${ignore} ]]; then -+ # if current provider was just updated, reselect it since it could have changed -+ do_set "${cur}" && return 0 -+ elif [[ -n ${cur} && ${cur} != ${ignore} ]] ; then -+ # verify existing provider's symlinks -+ local p= bad=0 -+ while read -r -d '' p ; do -+ [[ -L "${EROOT}${p}" && -e "${EROOT}${p}" ]] || (( bad++ )) -+ done < "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" -+ -+ [[ "${bad}" -eq 0 ]] && return 0 -+ # fix existing provider if possible -+ has "${cur}" "${providers[@]}" && do_set "${cur}" && return 0 -+ elif has "${1}" "${providers[@]}" && [[ -z ${ignore} ]] ; then -+ # switch to new provider if none was set before or it can't be fixed -+ do_set "${1}" && return 0 -+ fi -+ -+ # if no valid provider has been selected switch to first available, valid -+ # provider, sorted according to importance -+ for p in "${providers[@]}"; do -+ [[ ${ignore} != ${p} ]] && do_set "${p}" && return 0 -+ done -+ -+ # if a provider is set but no providers are available anymore cleanup -+ cur=$(get_current_provider) -+ if [[ -n ${cur} ]]; then -+ do_unset "${cur}" && return 2 -+ fi -+ # if no provider is set and none are available that are not ignored, return 2 for cleanup -+ [[ -z ${providers[@]} || ${providers[@]} == ${ignore} ]] && return 2 -+ -+ # we tried everything to select a valid provider, but failed -+ return 1 -+} -+ -+options_update() { -+ _options_parameters $FUNCNAME "$@" -+ get_providers -+} -+ -+### unset action ### -+ -+describe_unset() { -+ echo "Unset any symlinks created for the current provider for ${ALTERNATIVE}." -+} -+ -+describe_unset_parameters() { -+ echo "[ --force ]" -+} -+ -+describe_unset_options() { -+ echo "--force : remove existing non-symlink files (but not directories) if necessary" -+} -+ -+do_unset() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local force= -+ if [[ ${1} == --force ]]; then -+ force=yes -+ shift -+ fi -+ -+ local cur="$(get_current_provider)" p= -+ [[ -n "${cur}" ]] || die -q "Nothing to unset" -+ local dieprefix="Could not unset provider for ${ALTERNATIVE}" -+ -+ local one=false symlink pass errors= -+ for pass in check perform; do -+ while read -r -d '' symlink; do -+ one=true -+ if [[ ${pass} == check ]]; then -+ if [[ -L ${EROOT}${symlink} ]]; then -+ : -+ elif [[ -d ${EROOT}${symlink} ]]; then -+ write_error_msg "Can't remove ${EROOT}${symlink}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" -+ errors=yes -+ elif [[ -e ${EROOT}${symlink} ]]; then -+ if [[ -n ${force} ]]; then -+ write_warning_msg "Removing ${EROOT}${symlink} due to --force: is not a symlink" -+ else -+ write_error_msg "Refusing to remove ${EROOT}${symlink}: is not a symlink (use --force to override)" -+ errors=yes -+ fi -+ fi -+ -+ elif [[ ${pass} == perform ]]; then -+ rm -f "${EROOT}${symlink}" || die "${dieprefix}: rm failed" -+ else -+ die "${dieprefix}: unknown \${pass} ${pass}???" -+ fi -+ done <"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" -+ -+ [[ -n ${errors} ]] && die "${dieprefix}: see previous errors" -+ done -+ -+ ${one} || die "${dieprefix}: does not provide any symlinks?" -+ -+ rm "${ALTERNATIVESDIR}/${ALTERNATIVE}"/{_current,_current_list} || die "${dieprefix}: rm failed" -+} -+ -+options_unset() { -+ _options_parameters $FUNCNAME "$@" -+ get_current_provider -+} -+ -+### script action ### -+ -+describe_script() { -+ echo "Output an evalable script fragment to set PATH, LD_LIBRARY_PATH and MANPATH to use the specified provider" -+} -+ -+describe_script_parameters() { -+ echo "[--sh | --csh] [<provider>]" -+} -+ -+describe_script_options() { -+ echo "--sh : use Bourne shell syntax (default)" -+ echo "--csh : use C shell syntax" -+ echo "<provider> : the provider to use or the index of the provider preceeded by a dash (if not specified, use the system default)" -+} -+ -+do_script() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ local syntax=sh provider providers -+ if [[ ${1} == --sh ]]; then -+ shift -+ elif [[ ${1} == --csh ]]; then -+ syntax=csh -+ shift -+ fi -+ -+ if [[ ${1} == -+([[:digit:]]) ]]; then -+ providers=( $(get_providers) ) -+ (( ${1#-} <= ${#providers[@]} )) || die -q "The given provider with index (${1#-}) does not exist" -+ provider=${providers[${1#-}-1]} -+ else -+ provider="${1}" -+ fi -+ [[ -z "${provider}" ]] && die -q "Missing required parameter 'provider'" -+ -+ if [[ ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ]] ; then -+ if is_number ${provider} ; then -+ providers=( $(get_providers) ) -+ [[ -n ${providers[${1#-}-1]} ]] && -+ die -q "The given provider (${provider}) does not exist, did you mean -${provider} (${providers[${1#-}-1]})?" -+ fi -+ die -q "The given provider (${provider}) does not exist" -+ fi -+ -+ local variables=( PATH LD_LIBRARY_PATH MANPATH ) -+ [[ -n ${!default_*} ]] && local ${!default_*} -+ local default_LD_LIBRARY_PATH=$(grep '^[^#]' "${EROOT}"/etc/ld.so.conf | tr '\n' ':')/lib:/usr/lib -+ local default_MANPATH=$(MANPATH= man -C"${EROOT}"/etc/man.conf -w) -+ -+ local var IFS=: -+ for var in "${variables[@]}"; do -+ local defvar=default_${var} path paths=( ) -+ for path in ${!var}; do -+ [[ ${path} == ${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/* ]] && continue -+ [[ -n ${provider} && -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}/${path#/} ]] && paths+=( "${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/${provider}/${path#/}" ) -+ paths+=( "${path}" ) -+ done -+ -+ [[ -n ${provider} ]] && for path in ${!defvar}; do -+ [[ -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}/${path#/} ]] && paths+=( "${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/${provider}/${path#/}" ) -+ done -+ -+ local newval=${paths[*]} -+ if [[ ${newval} != ${!var} ]]; then -+ newval=${newval//\'/\'\\\'\'} -+ if [[ ${syntax} == sh ]]; then -+ echo "${var}='${newval}'; export ${var}" -+ else -+ echo "setenv ${var} '${newval}'" -+ fi -+ fi -+ done -+} -+ -+options_script() { -+ _options_parameters $FUNCNAME "$@" -+ get_providers -+} -+ -+# vim: set ft=eselect sw=4 sts=4 ts=4 et tw=80 : diff --git a/app-admin/eselect/files/eselect-1.4.4-alternatives.patch b/app-admin/eselect/files/eselect-1.4.4-alternatives.patch new file mode 100644 index 000000000..b2b943274 --- /dev/null +++ b/app-admin/eselect/files/eselect-1.4.4-alternatives.patch @@ -0,0 +1,1496 @@ +diff --git a/bin/eselect.in b/bin/eselect.in +index 934a10a..7c1c14b 100755 +--- a/bin/eselect.in ++++ b/bin/eselect.in +@@ -22,10 +22,15 @@ ESELECT_DATA_PATH="@DATADIR@/eselect" + # Where are modules installed by default? + ESELECT_DEFAULT_MODULES_PATH="${ESELECT_DATA_PATH}/modules" + ++# Where are auto-generated modules placed? (e.g. from alternatives-2.eclass) ++ESELECT_AUTO_GENERATED_MODULES_PATH="${ESELECT_DEFAULT_MODULES_PATH}/auto" ++ + # Look in these places for modules +-ESELECT_MODULES_PATH=( \ +- "${HOME}/.eselect/modules" \ +- "${ESELECT_DEFAULT_MODULES_PATH}" ) ++ESELECT_MODULES_PATH=( ++ "${HOME}/.eselect/modules" ++ "${ESELECT_DEFAULT_MODULES_PATH}" ++ "${ESELECT_AUTO_GENERATED_MODULES_PATH}" ++) + + # Look in this place for libraries + ESELECT_CORE_PATH="${ESELECT_DATA_PATH}/libs" +@@ -64,12 +69,27 @@ fi + # Load core functions + source "${ESELECT_CORE_PATH}/core.bash" || exit 255 + # Load necessary functions for the main script +-inherit manip output path-manipulation tests ++inherit manip output path-manipulation tests config + + # Sneaky trick to make die in subshells work. If you don't get + # it, don't ask... + trap 'echo "exiting" >&2; exit 250' 15 + ++# es_find_module foo ++# Find and echo the filename of the foo module. If there's no foo module, ++# die. ++es_find_module() { ++ local modname="$1" modpath="" modfile="" ++ [[ -z ${modname} ]] && die "Usage: ${FUNCNAME} <module>" ++ for modpath in "${ESELECT_MODULES_PATH[@]}" ; do ++ [[ -f ${modpath}/${modname}.eselect ]] && break ++ done ++ ++ modfile="${modpath}/${modname}.eselect" ++ [[ -r ${modfile} ]] || die -q "Can't load module ${modname}" ++ echo ${modfile} ++} ++ + # es_do_usage + # Display eselect usage + es_do_usage() { +@@ -81,14 +101,10 @@ es_do_usage() { + es_do_help() { + es_do_usage + echo +- # display all recognized global options +- write_list_start "Global options:" +- write_kv_list_entry "--brief" "Make output shorter" +- write_kv_list_entry "--colour=<yes|no|auto>" \ +- "Enable or disable colour output (default 'auto')" ++ es_do_list-options + echo + # display all available eselect modules +- do_action modules list ++ es_do_list-modules + } + + # es_do_version +@@ -100,6 +116,114 @@ es_do_version() { + echo "Distributed under the terms of the GNU GPL version 2 or later." + } + ++# es_do_list-options ++# Display all recognized global options ++es_do_list-options() { ++ write_list_start "Global options:" ++ write_kv_list_entry "--brief" "Make output shorter" ++ write_kv_list_entry "--colour=<yes|no|auto>" "Enable or disable colour output (default 'auto')" ++ write_kv_list_entry "--debug" "Debug eselect (enable set -x)" ++} ++ ++# es_do_list-modules ++# Display all available eselect modules DEPRECATED ++es_do_list-modules() { ++ do_action modules list $@ ++} ++ ++### print-* actions, for use with bash_completion and zsh-completion ### ++ ++# es_do_print-modules ++# ++# Display all availble eselect modules in a way that's useful to bash ++# completion / zsh completion ++es_do_print-modules() { ++ local ret=1 path module group groupname want_descriptions ++ ++ while [[ -n $@ ]]; do ++ case "${1}" in ++ --descriptions) ++ want_descriptions='yes' ;; ++ --group) ++ groupname=${2} ++ [[ -z "$groupname" ]] && die -q "Required option (group name) missing." ++ shift ;; ++ esac ++ shift ++ done ++ ++ if [[ ${groupname} == Built-in || -z ${groupname} ]]; then ++ for module in help usage version print-{modules,actions,options}; do ++ echo "${module}" ++ done ++ [[ ${groupname} == Built-in ]] && return 0 ++ fi ++ ++ # TODO: factor this out in modules.eselect's do_list() ++ for path in "${ESELECT_MODULES_PATH[@]}" ; do ++ [[ -d "${path}" ]] || continue ++ for file in "${path}"/*.eselect ; do ++ [[ -f "${file}" ]] || continue ++ if [[ -n "${groupname}" ]]; then ++ group=$(load_config "${file}" ESELECT_MODULE_GROUP) ++ [[ "${groupname}" == "${group}" || ++ ( "${groupname}" == Extra && -z "${group}" ) ]] || continue ++ fi ++ module="${file##*/}" ++ module="${module%%.eselect}" ++ echo "${module}${want_descriptions:+:$(load_config "${file}" DESCRIPTION)}" ++ ret=0 ++ done ++ done ++ return $ret ++} ++ ++# es_do_print-actions ++# ++# Display all available actions for the given module. ++es_do_print-actions() { ++ local modfile="$(es_find_module "${1}")" actions action want_descriptions ++ [[ "${2}" == "--descriptions" ]] && want_descriptions='yes' ++ ( ++ source "${modfile}" 2>/dev/null \ ++ || die "Couldn't source ${modfile}" ++ actions=( $(declare -F \ ++ | sed -n -e 's/^declare\s\+-f\s\+do_//p' \ ++ | egrep -v '^(action|help|usage|version)$' \ ++ | sort ) ) ++ for action in "${actions[@]}" ; do ++ echo "${action}${want_descriptions:+:$(describe_${action})}" ++ done ++ ) ++} ++ ++# es_do_print-options ++# ++# Display all available options for the given module and action ++es_do_print-options() { ++ local modfile action want_descriptions ++ ++ [[ "${1}" == "--descriptions" ]] && want_descriptions='yes' && shift ++ ++ if [[ -z ${1} ]]; then ++ echo "--debug${want_descriptions:+:Debug eselect (enable set -x)}" ++ echo "--no-color${want_descriptions:+:Disable coloured output}" ++ echo "--no-colour${want_descriptions:+:Disable coloured output}" ++ elif [[ -n ${2} ]]; then ++ modfile="$(es_find_module "${1}")" ++ action=${2} ++ shift 2 ++ ( ++ source "${modfile}" 2>/dev/null \ ++ || die "Couldn't source ${modfile}" ++ is_function options_${action} || return 1 ++ options_${action} ${want_descriptions:+--descriptions} "$@" || return 2 ++ ) ++ else ++ die "Usage: ${FUNCNAME} [--descriptions] [<module> <action>]" ++ fi ++} ++ + ### main code ### + + # figure out what the action is. we need to know whether we're +@@ -141,6 +265,9 @@ while [[ ${1##--} != "$1" ]]; do + *) die -q "Invalid argument for ${1%%=*} option" ;; + esac + ;; ++ debug) ++ set -x ++ ;; + help|version) + [[ -z ${action} ]] || die -q "Too many parameters" + action=${1##--} +diff --git a/libs/Makefile.am b/libs/Makefile.am +index 027ef73..a5fe373 100644 +--- a/libs/Makefile.am ++++ b/libs/Makefile.am +@@ -1,6 +1,8 @@ + eselectlibsdir = $(datadir)/$(PACKAGE_NAME)/libs/ + + eselectlibs_DATA = \ ++ alternatives.bash \ ++ alternatives-common.bash \ + config.bash \ + core.bash \ + default.eselect \ +@@ -14,6 +16,8 @@ eselectlibs_DATA = \ + tests.bash + + EXTRA_DIST = \ ++ alternatives.bash.in \ ++ alternatives-common.bash.in \ + config.bash.in \ + core.bash.in \ + default.eselect.in \ +@@ -30,7 +34,8 @@ dosed = @SED@ \ + -e 's%\@SED\@%@SED@%g' \ + -e 's%\@PORTAGEQ\@%@PORTAGEQ@%g' \ + -e 's%\@ENV_UPDATE\@%@ENV_UPDATE@%g' \ +- -e 's%\@CANONICALISE\@%@CANONICALISE@%g' ++ -e 's%\@CANONICALISE\@%@CANONICALISE@%g' \ ++ -e 's%\@sysconfdir\@%@sysconfdir@%g' + + %.bash : %.bash.in + @$(dosed) $< > $@ +diff --git a/libs/alternatives-common.bash.in b/libs/alternatives-common.bash.in +new file mode 100644 +index 0000000..64d74df +--- /dev/null ++++ b/libs/alternatives-common.bash.in +@@ -0,0 +1,488 @@ ++# Copyright 2015 Gentoo Foundation ++# Copyright 2008 Mike Kelly ++# Copyright 2009, 2013 David Leverton ++# Copyright 2010 Bo Ørsted Andresen ++# Distributed under the terms of the GNU General Public License v2 ++ ++inherit config output path-manipulation ++ ++: "${ALTERNATIVESDIR_ROOTLESS:=@sysconfdir@/env.d/alternatives}" ++ALTERNATIVESDIR="${EROOT%/}${ALTERNATIVESDIR_ROOTLESS}" ++ ++get_current_provider() { ++ local dieprefix="Could not determine current provider for ${ALTERNATIVE}" ++ if [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current ]]; then ++ local provider=$(readlink "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current" || die "${dieprefix}: readlink ${symlink} failed") ++ [[ ${provider} == */* ]] && die "${dieprefix}: malformed target for ${symlink}" ++ ++ if [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} || ++ ( -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} && ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ) ]]; then ++ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} is not a directory" ++ fi ++ ++ echo "${provider}" ++ ++ elif [[ -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current ]]; then ++ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current is not a symlink" ++ fi ++} ++ ++compare_importance() { ++ local IFS=. ++ local a=( ${1} ) b=( ${2} ) ++ local -i i=0 ++ while (( i<${#a[@]} && i<${#b[@]} )); do ++ if (( a[i]<b[i] )); then ++ return 0 ++ elif (( a[i]>b[i] )); then ++ return 1 ++ fi ++ i+=1 ++ done ++ (( i<${#b[@]} )) ++} ++ ++sort_providers() { ++ local begin=${1:-0} ++ local count=${2:-${#providers[@]}} ++ [[ ${count} -le 1 ]] && return 0 ++ sort_providers ${begin} $((count/2)) ++ sort_providers $((begin+count/2)) $((count-count/2)) ++ local left=( "${providers[@]:begin:count/2}" ) ++ local right=( "${providers[@]:begin+count/2:count-count/2}" ) ++ local -i x i=0 j=0 ++ for (( x=begin; x<begin+count; ++x )); do ++ if (( j>=${#right[@]} )) || { (( i<${#left[@]} )) && compare_importance "${left[i]%%:*}" "${right[j]%%:*}"; }; then ++ providers[x]=${left[i++]} ++ else ++ providers[x]=${right[j++]} ++ fi ++ done ++} ++ ++get_providers() { ++ local p= importance providers=() ++ for p in "${ALTERNATIVESDIR}/${ALTERNATIVE}"/* ; do ++ [[ -d ${p} && ! -L ${p} ]] || continue ++ p=${p##*/} ++ ++ [[ -e "${ALTERNATIVESDIR}/${ALTERNATIVE}/${p}/_importance" ]] && ++ importance=$(< "${ALTERNATIVESDIR}/${ALTERNATIVE}/${p}/_importance") ++ importance=${importance:-0} ++ [[ "${importance}" =~ ^[0123456789]+(\.[0123456789]+)*$ ]] || die "_importance (${importance}) for ${p} is not a dot-separated list of integers" ++ ++ providers+=( "${importance}:${p}" ) ++ done ++ ++ sort_providers ++ for (( p=${#providers[@]}-1 ; p>=0 ; --p )); do ++ echo "${providers[p]#*:}" ++ done ++} ++ ++_options_parameters() { ++ [[ -n ${2} && ${2} != --descriptions ]] && die -q "Unrecognised option ${2}" ++ local describe_func=describe_${1#options_}_options descriptions=${2} opt options oldifs=$IFS ++ if is_function ${describe_func}; then ++ IFS=$'\n' ++ options=( $(${describe_func}) ) ++ IFS=$oldifs ++ for opt in "${options[@]}"; do ++ [[ ${opt} == --* ]] || continue ++ if [[ -n ${descriptions} ]]; then ++ echo "${opt/ : /:}" ++ else ++ echo "${opt%% : *}" ++ fi ++ done ++ fi ++} ++ ++### set action stub ### ++ ++# not available in "eselect alternatives", but needed by do_update ++ ++alternatives_do_set() { ++ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" ++ ++ local force provider providers ++ if [[ ${1} == --force ]]; then ++ force=yes ++ shift ++ fi ++ local idx=${1} ++ if [[ ${1} == +(-|+|[[:digit:]]) ]]; then ++ idx=${1#+(-|+)} ++ providers=( $(get_providers) ) ++ (( ${idx} <= ${#providers[@]} )) || die -q "The given provider with index (${idx}) does not exist" ++ provider=${providers[${idx}-1]} ++ else ++ provider="${1}" ++ fi ++ [[ -z "${provider}" ]] && die -q "Missing required parameter 'provider'" ++ local dieprefix="Could not set provider ${provider} for alternative ${ALTERNATIVE}" ++ ++ if [[ ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ]] ; then ++ if is_number ${provider} ; then ++ providers=( $(get_providers) ) ++ [[ -n ${providers[${idx}-1]} ]] && \ ++ die -q "The given provider (${provider}) does not exist" ++ fi ++ die -q "The given provider (${provider}) does not exist" ++ fi ++ ++ local symlink newsymlinks=() oldsymlinks=() ++ ++ while read -r -d '' symlink; do ++ local nicesymlink=${symlink#.} ++ nicesymlink=${nicesymlink//+(\/)/\/} ++ [[ ${nicesymlink} == /* ]] || die "${dieprefix}: bad symlink ${symlink}?" ++ [[ ${nicesymlink} == */ ]] && die "${dieprefix}: bad symlink ${symlink}?" ++ ++ newsymlinks+=( "${nicesymlink}" ) ++ done < <( ++ cd "${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}" || die "${dieprefix}: cd failed" ++ find . -type l -print0 | LC_ALL=C sort -r -u -z) ++ [[ ${#newsymlinks[@]} -gt 0 ]] || die "${dieprefix}: does not provide any symlinks?" ++ ++ if [[ -f ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list ]]; then ++ while read -r -d '' symlink; do ++ local nicesymlink=${symlink//+(\/)/\/} ++ [[ ${nicesymlink} == /* ]] || die "${dieprefix}: old provider ${oldcur} provides bad symlink ${symlink}?" ++ [[ ${nicesymlink} == */ ]] && die "${dieprefix}: old provider ${oldcur} provides bad symlink ${symlink}?" ++ ++ oldsymlinks+=( "${nicesymlink}" ) ++ done < <(LC_ALL=C sort -r -u -z "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list") ++ [[ ${#oldsymlinks[@]} -gt 0 ]] || die "${dieprefix}: old provider ${oldcur} does not provide any symlinks?" ++ ++ elif [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list || -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list ]]; then ++ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list is not a file" ++ fi ++ ++ local pass errors= ++ for pass in check perform; do ++ local -i new_i=0 old_i=0 ++ while [[ -n ${newsymlinks[new_i]} || -n ${oldsymlinks[old_i]} ]]; do ++ ++ if ( LC_ALL=C; [[ ${newsymlinks[new_i]} < ${oldsymlinks[old_i]} ]] ); then ++ if [[ ${pass} == check ]]; then ++ if [[ -L ${EROOT%/}${oldsymlinks[old_i]} ]]; then ++ : ++ elif [[ -d ${EROOT%/}${oldsymlinks[old_i]} ]]; then ++ write_error_msg "Can't remove ${EROOT%/}${oldsymlinks[old_i]}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" ++ errors=yes ++ elif [[ -e ${EROOT%/}${oldsymlinks[old_i]} ]]; then ++ if [[ -n ${force} ]]; then ++ write_warning_msg "Removing ${EROOT%/}${oldsymlinks[old_i]} due to --force: is not a symlink" ++ else ++ write_error_msg "Refusing to remove ${EROOT%/}${oldsymlinks[old_i]}: is not a symlink (use --force to override)" ++ errors=yes ++ fi ++ fi ++ ++ elif [[ ${pass} == perform ]]; then ++ rm -f "${EROOT%/}${oldsymlinks[old_i]}" || die "${dieprefix}: rm failed" ++ else ++ die "${dieprefix}: unknown \${pass} ${pass}???" ++ fi ++ ++ old_i+=1 ++ ++ else ++ local target=${ALTERNATIVESDIR_ROOTLESS#/}/${ALTERNATIVE}/_current${newsymlinks[new_i]} dir=${newsymlinks[new_i]%/*} ++ while [[ -n ${dir} ]]; do ++ target=../${target} ++ dir=${dir%/*} ++ done ++ ++ if [[ ${pass} == check ]]; then ++ if [[ -L ${EROOT%/}${newsymlinks[new_i]} ]]; then ++ : ++ elif [[ -d ${EROOT%/}${newsymlinks[new_i]} ]]; then ++ write_error_msg "Can't overwrite ${EROOT%/}${newsymlinks[new_i]}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" ++ errors=yes ++ elif [[ -e ${EROOT%/}${newsymlinks[new_i]} ]]; then ++ if [[ -n ${force} ]]; then ++ write_warning_msg "Overwriting ${EROOT%/}${newsymlinks[new_i]} due to --force: is not a symlink" ++ else ++ write_error_msg "Refusing to overwrite ${EROOT%/}${newsymlinks[new_i]}: is not a symlink (use --force to override)" ++ errors=yes ++ fi ++ fi ++ ++ elif [[ ${pass} == perform ]]; then ++ mkdir -p "${EROOT%/}${newsymlinks[new_i]%/*}" || die "${dieprefix}: mkdir -p failed" ++ ln -snf "${target#/}" "${EROOT%/}${newsymlinks[new_i]}" || die "${dieprefix}: ln -snf failed" ++ else ++ die "${dieprefix}: unknown \${pass} ${pass}???" ++ fi ++ ++ [[ ${newsymlinks[new_i]} == ${oldsymlinks[old_i]} ]] && old_i+=1 ++ new_i+=1 ++ fi ++ done ++ ++ [[ -n ${errors} ]] && die "${dieprefix}: see previous errors" ++ done ++ ++ local oldcur="$(get_current_provider)" ++ ln -snf "${provider}" "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current" || die "${dieprefix}: ln -snf failed" ++ ++ : >"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" || die "${dieprefix}: emptying/creating _current_list failed" ++ for symlink in "${newsymlinks[@]}"; do ++ echo -n -e "${symlink}\\0" >>"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" || die "${dieprefix}: appending ${symlink} to _current_list failed" ++ done ++ return 0 ++} ++ ++### add action ### ++alternatives_describe_add() { ++ echo "Add provider to selected alternative" ++} ++ ++alternatives_describe_add_parameters() { ++ echo "<provider> <importance> <source> <target> [<source> <target> [...]]" ++} ++ ++alternatives_describe_add_options() { ++ echo "<provider> : the name of the alternative provider" ++ echo "<importance> : interger value, representing the importance of the provider" ++ echo "<source> : source of the symlink" ++ echo "<target> : destination for the symlink" ++} ++ ++alternatives_do_add() { ++ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" ++ ++ (( $# >= 4 )) && (( ($#-2)%2 == 0)) || \ ++ die "exactly 3+N*2 arguments where N>=1 required" ++ local provider=${1} ++ local importance=${2} ++ shift 2 ++ local index src target ret=0 ++ local provider_dir="${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}" ++ ++ # Creating base dir ++ if [[ ! -e "${provider_dir}" ]]; then ++ mkdir -p "${provider_dir}" || die "Failed to create ${provider_dir}" ++ elif [[ ! -d "${provider_dir}" ]]; then ++ die "${provider_dir} exists but is a file" ++ else ++ die "${provider_dir} already present. You need ot remove it before adding it again" ++ fi ++ ++ # Make sure importance is a signed integer ++ if [[ -n ${importance} ]] && ! [[ ${importance} =~ ^[0-9]+(\.[0-9]+)*$ ]]; then ++ die "Invalid importance (${importance}) detected" ++ else ++ # Setting importance ++ echo ${importance} > "${provider_dir}/_importance" ++ fi ++ ++ # Process source-target pairs ++ while (( $# >= 2 )); do ++ src=${1//+(\/)/\/}; target=${2//+(\/)/\/} ++ if [[ ${src} != /* ]]; then ++ die "Source path must be absolute, but got ${src}" ++ else ++ local reltarget= dir=${provider_dir}${src%/*} ++ while [[ -n ${dir} ]]; do ++ reltarget+=../ ++ dir=${dir%/*} ++ done ++ ++ reltarget=${reltarget%/} ++ [[ ${target} == /* ]] || reltarget+=${src%/*}/ ++ reltarget+=${target} ++ mkdir -p "${provider_dir}${src%/*}" || die "Failed to create ${provider_dir}${src%/*}" ++ ln -sf "${reltarget}" "${provider_dir}${src}" || die "Failed to create symlink" ++ # The -e test will fail if existing symlink points to non-existing target, ++ # so check for -L also. ++ # Say ${ED}/sbin/init exists and links to /bin/systemd (which doesn't exist yet). ++# if [[ -e ${ED}${src} || -L ${ED}${src} ]]; then ++# local fulltarget=${target} ++# [[ ${fulltarget} != /* ]] && fulltarget=${src%/*}/${fulltarget} ++# if [[ -e ${ED}${fulltarget} || -L ${ED}${fulltarget} ]]; then ++# die "${src} defined as provider for ${fulltarget}, but both already exist in \${ED}" ++# else ++# mv "${ED}${src}" "${ED}${fulltarget}" || die ++# fi ++# fi ++ fi ++ shift 2 ++ done ++} ++ ++alternatives_options_add() { ++ _options_parameters ${FUNCNAME#alternatives_} "$@" ++} ++ ++### remove action ### ++ ++alternatives_describe_remove() { ++ echo "Remove a provider for selected alternative" ++} ++ ++alternatives_describe_remove_parameters() { ++ echo "<provider>" ++} ++ ++alternatives_describe_remove_options() { ++ echo "<provider> : the name of the alternative provider to be removed" ++} ++ ++alternatives_do_remove() { ++ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" ++ ++ if [[ -d "${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}" ]]; then ++ rm -r "${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}" || \ ++ die "Failed to remove '${provider}' for '${ALTERNATIVE}'" ++ else ++ einfo "'${provider}' is not a provider for '${ALTERNATIVE}'" ++ fi ++} ++ ++alternatives_options_remove() { ++ _options_parameters ${FUNCNAME#alternatives_} "$@" ++} ++ ++### update action ### ++ ++# available in both "eselect alternatives" and individual modules ++ ++alternatives_describe_update() { ++ echo "Set a default provider if no valid one currently exists" ++} ++ ++alternatives_describe_update_parameters() { ++ echo "[--best] [--ignore] <provider>" ++} ++ ++alternatives_describe_update_options() { ++ echo "--best : update to the best provider even if one is already selected" ++ echo "--ignore : update to any valid provider EXCEPT the specified provider" ++ echo "<provider> : the name of the provider to use" ++} ++ ++alternatives_do_update() { ++ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" ++ ++ local p cur=$(get_current_provider) providers=( $(get_providers) ) best ignore ++ if [[ "--best" == ${1} ]] ; then ++ shift ++ best=1 ++ fi ++ if [[ "--ignore" == ${1} ]] ; then ++ # Try everything except setting the provider to the given ++ # one. So, if it isn't the given one, we end up doing ++ # nothing. Bug #128 ++ shift ++ ignore=${1} ++ fi ++ [[ -n ${best} && -n ${1} && -z ${ignore} ]] && die -q "Cannot specify both --best and a provider" ++ ++ if [[ -n ${best} ]] ; then ++ # set best provider ++ : # fall through to "switch to first available" loop below ++ elif [[ $# == "0" ]] && [[ -z ${cur} ]]; then ++ # if nothing is specified ++ : # fall through to "switch to first available" loop below ++ elif [[ ${cur} == ${1} && -z ${ignore} ]]; then ++ # if current provider was just updated, reselect it since it could have changed ++ alternatives_do_set "${cur}" && return 0 ++ elif [[ -n ${cur} && ${cur} != ${ignore} ]] ; then ++ # verify existing provider's symlinks ++ local p= bad=0 ++ while read -r -d '' p ; do ++ [[ -L "${EROOT%/}${p}" && -e "${EROOT%/}${p}" ]] || (( bad++ )) ++ done < "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" ++ ++ [[ "${bad}" -eq 0 ]] && return 0 ++ # fix existing provider if possible ++ has "${cur}" "${providers[@]}" && alternatives_do_set "${cur}" && return 0 ++ elif has "${1}" "${providers[@]}" && [[ -z ${ignore} ]] ; then ++ # switch to new provider if none was set before or it can't be fixed ++ alternatives_do_set "${1}" && return 0 ++ fi ++ ++ # if no valid provider has been selected switch to first available, valid ++ # provider, sorted according to importance ++ for p in "${providers[@]}"; do ++ [[ ${ignore} != ${p} ]] && alternatives_do_set "${p}" && return 0 ++ done ++ ++ # if a provider is set but no providers are available anymore cleanup ++ cur=$(get_current_provider) ++ if [[ -n ${cur} ]]; then ++ alternatives_do_unset "${cur}" && return 2 ++ fi ++ # if no provider is set and none are available that are not ignored, return 2 for cleanup ++ [[ -z ${providers[@]} || ${providers[@]} == ${ignore} ]] && return 2 ++ ++ # we tried everything to select a valid provider, but failed ++ return 1 ++} ++ ++alternatives_options_update() { ++ _options_parameters ${FUNCNAME#alternatives_} "$@" ++ if [[ -n ${ALTERNATIVE} ]]; then ++ get_providers ++ else ++ for alt in ${ALTERNATIVESDIR_ROOTLESS}/_*/*/_importance; do ++ echo ${alt} | cut -d/ -f5 ++ done | sort -u ++ fi ++} ++ ++### unset action stub ### ++ ++# not available in "eselect alternatives", but needed by do_update ++ ++alternatives_do_unset() { ++ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" ++ ++ local force= ++ if [[ ${1} == --force ]]; then ++ force=yes ++ shift ++ fi ++ ++ local cur="$(get_current_provider)" p= ++ [[ -n "${cur}" ]] || die -q "Nothing to unset" ++ local dieprefix="Could not unset provider for ${ALTERNATIVE}" ++ ++ local one=false symlink pass errors= ++ for pass in check perform; do ++ while read -r -d '' symlink; do ++ one=true ++ if [[ ${pass} == check ]]; then ++ if [[ -L ${EROOT%/}${symlink} ]]; then ++ : ++ elif [[ -d ${EROOT%/}${symlink} ]]; then ++ write_error_msg "Can't remove ${EROOT%/}${symlink}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" ++ errors=yes ++ elif [[ -e ${EROOT%/}${symlink} ]]; then ++ if [[ -n ${force} ]]; then ++ write_warning_msg "Removing ${EROOT%/}${symlink} due to --force: is not a symlink" ++ else ++ write_error_msg "Refusing to remove ${EROOT%/}${symlink}: is not a symlink (use --force to override)" ++ errors=yes ++ fi ++ fi ++ ++ elif [[ ${pass} == perform ]]; then ++ rm -f "${EROOT%/}${symlink}" || die "${dieprefix}: rm failed" ++ else ++ die "${dieprefix}: unknown \${pass} ${pass}???" ++ fi ++ done <"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" ++ ++ [[ -n ${errors} ]] && die "${dieprefix}: see previous errors" ++ done ++ ++ ${one} || die "${dieprefix}: does not provide any symlinks?" ++ ++ rm "${ALTERNATIVESDIR}/${ALTERNATIVE}"/{_current,_current_list} || die "${dieprefix}: rm failed" ++} ++ ++# vim: set ft=eselect sw=4 sts=4 ts=4 et tw=80 : +diff --git a/libs/alternatives.bash.in b/libs/alternatives.bash.in +new file mode 100644 +index 0000000..1b5a2b0 +--- /dev/null ++++ b/libs/alternatives.bash.in +@@ -0,0 +1,293 @@ ++# Copyright 2015 Gentoo Foundation ++# Copyright 2008 Mike Kelly ++# Copyright 2009, 2013 David Leverton ++# Copyright 2010 Bo Ørsted Andresen ++# Distributed under the terms of the GNU General Public License v2 ++ ++inherit alternatives-common ++ ++### show action ### ++describe_show() { ++ echo "Show the current provider in use for ${ALTERNATIVE}" ++} ++ ++do_show() { ++ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" ++ local current="$(get_current_provider)" ++ if [[ -z "${current}" ]] ; then ++ echo "(none)" ++ return 2 ++ fi ++ echo "${current}" ++} ++ ++options_show() { ++ : ++} ++ ++### list action ### ++describe_list() { ++ echo "Lists all available providers for ${ALTERNATIVE}" ++} ++ ++do_list() { ++ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" ++ local n cur= providers=( $(get_providers) ) ++ write_list_start "Available providers for ${ALTERNATIVE}:" ++ ++ cur="$(get_current_provider)" ++ ++ if [[ -n "${providers[@]}" ]] ; then ++ for (( n = 0 ; n < ${#providers[@]} ; ++n )) ; do ++ [[ ${cur} == "${providers[${n}]}" ]] && \ ++ providers[${n}]="${providers[${n}]} $(highlight '*')" ++ done ++ write_numbered_list "${providers[@]}" ++ else ++ write_kv_list_entry "(none found)" "" ++ fi ++} ++ ++options_list() { ++ : ++} ++ ++### files action ### ++describe_files() { ++ echo "Lists symlinks provided by the currently selected provider" ++} ++ ++do_files() { ++ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" ++ ++ local cur="$(get_current_provider)" p= ++ [[ -n "${cur}" ]] || die -q "No selected provider, hence no symlinks provided" ++ local dieprefix="Could not list symlinks provided for ${ALTERNATIVE}" ++ ++ local errors symlink rootsymlink ++ while read -r -d '' symlink; do ++ rootsymlink="${EROOT%/}${symlink}" ++ rootsymlink=${rootsymlink//+(\/)/\/} ++ echo "${rootsymlink}" ++ if [[ -L ${rootsymlink} ]]; then ++ if [[ ! -e ${rootsymlink} ]]; then ++ write_error_msg "${rootsymlink} is dangling symlink" ++ errors=yes ++ fi ++ elif [[ -d ${rootsymlink} ]]; then ++ write_error_msg "${rootsymlink} is a directory" ++ errors=yes ++ elif [[ -e ${rootsymlink} ]]; then ++ write_error_msg "${rootsymlink} exists but is not a symlink" ++ errors=yes ++ else ++ write_error_msg "${rootsymlink} does not exist" ++ errors=yes ++ fi ++ done <"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" ++} ++ ++options_files() { ++ : ++} ++ ++### set action ### ++ ++describe_set() { ++ echo "Sets a provider for ${ALTERNATIVE}" ++} ++ ++describe_set_parameters() { ++ echo "[ --force ] <provider>" ++} ++ ++describe_set_options() { ++ echo "--force : overwrite or remove existing non-symlink files (but not directories) if necessary" ++ echo "<provider> : the name of the provider to use or the index of the provider preceeded by a dash" ++} ++ ++do_set() { ++ # implementation defined in alternatives-common.bash as needed by do_update ++ alternatives_do_set "$@" ++} ++ ++options_set() { ++ _options_parameters $FUNCNAME "$@" ++ get_providers ++} ++ ++### add action ### ++ ++describe_add() { ++ alternatives_describe_add ++} ++ ++describe_add_parameters() { ++ alternatives_describe_add_parameters ++} ++ ++describe_add_options() { ++ alternatives_describe_add_options ++} ++ ++do_add() { ++ alternatives_do_add ++ ++ # make sure we have something selected ++ eselect ${provider} show > /dev/null || eselect ${provider} update --best ++} ++ ++### remove action ### ++ ++describe_remove() { ++ alternatives_describe_remove ++} ++ ++describe_remove_parameters() { ++ alternatives_describe_remove_parameters ++} ++ ++describe_remove_options() { ++ alternatives_describe_remove_options ++} ++ ++do_remove() { ++ alternatives_do_remove ++ ++# if no provider is present, remove whole Alternative ++ if ! eselect ${provider} update --best > /dev/null; then ++ eselect alternatives remove ${ALTERNATIVE} ++ fi ++} ++ ++### update action ### ++ ++# all functions implemented in alternatives-common.bash as defined for ++# both "eselect alternatives" and individual modules ++ ++describe_update() { ++ alternatives_describe_update ++} ++ ++describe_update_parameters() { ++ alternatives_describe_update_parameters ++} ++ ++describe_update_options() { ++ alternatives_describe_update_options ++} ++ ++do_update() { ++ alternatives_do_update "$@" ++} ++ ++options_update() { ++ alternatives_options_update ++} ++ ++### unset action ### ++ ++describe_unset() { ++ echo "Unset any symlinks created for the current provider for ${ALTERNATIVE}." ++} ++ ++describe_unset_parameters() { ++ echo "[ --force ]" ++} ++ ++describe_unset_options() { ++ echo "--force : remove existing non-symlink files (but not directories) if necessary" ++} ++ ++do_unset() { ++ # implementation defined in alternatives-common.bash as needed by do_update ++ alternatives_do_unset "$@" ++} ++ ++options_unset() { ++ _options_parameters $FUNCNAME "$@" ++ get_current_provider ++} ++ ++### script action ### ++ ++describe_script() { ++ echo "Output an evalable script fragment to set PATH, LD_LIBRARY_PATH and MANPATH to use the specified provider" ++} ++ ++describe_script_parameters() { ++ echo "[--sh | --csh] [<provider>]" ++} ++ ++describe_script_options() { ++ echo "--sh : use Bourne shell syntax (default)" ++ echo "--csh : use C shell syntax" ++ echo "<provider> : the provider to use or the index of the provider (if not specified, use the system default)" ++} ++ ++do_script() { ++ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" ++ local syntax=sh provider providers ++ if [[ ${1} == --sh ]]; then ++ shift ++ elif [[ ${1} == --csh ]]; then ++ syntax=csh ++ shift ++ fi ++ ++ local idx=${!} ++ if [[ ${idx} == +(-|+|[[:digit:]]) ]]; then ++ idx=${1#+(-|+)} ++ providers=( $(get_providers) ) ++ (( ${idx} <= ${#providers[@]} )) || die -q "The given provider with index (${idx}) does not exist" ++ provider=${providers[${idx}-1]} ++ else ++ provider="${idx}" ++ fi ++ [[ -z "${provider}" ]] && die -q "Missing required parameter 'provider'" ++ ++ if [[ ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ]] ; then ++ if is_number ${provider} ; then ++ providers=( $(get_providers) ) ++ [[ -n ${providers[${idx}-1]} ]] && \ ++ die -q "The given provider (${provider}) does not exist" ++ fi ++ die -q "The given provider (${provider}) does not exist" ++ fi ++ ++ local variables=( PATH LD_LIBRARY_PATH MANPATH ) ++ [[ -n ${!default_*} ]] && local ${!default_*} ++ local default_LD_LIBRARY_PATH=$(grep '^[^#]' "${EROOT%/}"/etc/ld.so.conf | tr '\n' ':')/lib:/usr/lib ++ local default_MANPATH=$(MANPATH= man -C"${EROOT%/}"/etc/man.conf -w) ++ ++ local var IFS=: ++ for var in "${variables[@]}"; do ++ local defvar=default_${var} path paths=( ) ++ for path in ${!var}; do ++ [[ ${path} == ${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/* ]] && continue ++ [[ -n ${provider} && -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}/${path#/} ]] && paths+=( "${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/${provider}/${path#/}" ) ++ paths+=( "${path}" ) ++ done ++ ++ [[ -n ${provider} ]] && for path in ${!defvar}; do ++ [[ -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}/${path#/} ]] && paths+=( "${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/${provider}/${path#/}" ) ++ done ++ ++ local newval=${paths[*]} ++ if [[ ${newval} != ${!var} ]]; then ++ newval=${newval//\'/\'\\\'\'} ++ if [[ ${syntax} == sh ]]; then ++ echo "${var}='${newval}'; export ${var}" ++ else ++ echo "setenv ${var} '${newval}'" ++ fi ++ fi ++ done ++} ++ ++options_script() { ++ _options_parameters $FUNCNAME "$@" ++ get_providers ++} ++ ++# vim: set ft=eselect sw=4 sts=4 ts=4 et tw=80 : +diff --git a/modules/Makefile.am b/modules/Makefile.am +index 73960c4..4da6465 100644 +--- a/modules/Makefile.am ++++ b/modules/Makefile.am +@@ -1,6 +1,7 @@ + modulesdir=$(datadir)/$(PACKAGE_NAME)/modules/ + + modules_DATA = \ ++ alternatives.eselect \ + binutils.eselect \ + editor.eselect \ + env.eselect \ +diff --git a/modules/alternatives.eselect b/modules/alternatives.eselect +new file mode 100644 +index 0000000..912bb3d +--- /dev/null ++++ b/modules/alternatives.eselect +@@ -0,0 +1,165 @@ ++# Copyright 2015 Gentoo Foundation ++# Copyright 2008 Mike Kelly ++# Copyright 2009, 2013 David Leverton ++# Copyright 2010 Bo Ørsted Andresen ++# Distributed under the terms of the GNU General Public License v2 ++ ++inherit alternatives-common ++ ++DESCRIPTION="Maintain Alternatives symlinks" ++VERSION="20150521" ++MAINTAINER="sci@gentoo.org" ++ ++show_extra_help_text() { ++ cat <<- ENDOFTEXT ++ This module is intended for internal use when a package is installed, ++ updated or removed. For alternatives for which it is likely that ++ users will need control over which provider is selected, there will be ++ a separate eselect module installed to do so. ++ ENDOFTEXT ++} ++ ++# all functions implemented in alternatives-common.bash as defined for ++# both "eselect alternatives" and individual modules ++ ++### update action ### ++ ++describe_update() { ++ alternatives_describe_update ++} ++ ++describe_update_parameters() { ++ echo "<alternative> $(alternatives_describe_update_parameters)" ++} ++ ++describe_update_options() { ++ echo "<alternative> : the name of the alternative to set a provider for" ++ alternatives_describe_update_options ++} ++ ++do_update() { ++ local ALTERNATIVE=$1 ++ shift ++ [[ -z "${ALTERNATIVE}" ]] && die -q "Missing required parameter 'alternative'" ++ alternatives_do_update "$@" ++} ++ ++options_update() { ++ alternatives_options_update ++} ++ ++### create action ### ++ ++describe_create() { ++ echo "Create a new alternative" ++} ++ ++describe_create_parameters() { ++ echo "<alternative>" ++} ++ ++describe_create_options() { ++ echo "<alternative> : the name of the alternative to create" ++} ++ ++do_create() { ++ [[ $# == 1 ]] || die "Need exactly one alternative name" ++ ++ local auto_dir="${ESELECT_AUTO_GENERATED_MODULES_PATH}" ++ local auto_file="${auto_dir}/${1}.eselect" ++ ++ if [[ ! -e "${auto_file}" ]]; then ++ if [[ ! -e "${auto_dir}" ]]; then ++ mkdir -p "${auto_dir}" || die "Failed to create ${auto_dir}" ++ elif [[ ! -d "${auto_dir}" ]]; then ++ die "${auto_dir} exists but is a file" ++ fi ++ cat >> ${auto_file} <<- ENDOFTEXT ++ DESCRIPTION="${DESCRIPTION} for ${1}" ++ VERSION="${VERSION}" ++ MAINTAINER="${MAINTAINER}" ++ ESELECT_MODULE_GROUP="Alternatives" ++ ++ ALTERNATIVE="${1}" ++ ++ inherit alternatives ++ ENDOFTEXT ++ fi ++} ++ ++### delete action ### ++ ++describe_delete() { ++ echo "Delete an existing alternative" ++} ++ ++describe_delete_parameters() { ++ echo "<alternative>" ++} ++ ++describe_delete_options() { ++ echo "<alternative> : the name of the alternative to delete" ++} ++ ++do_delete() { ++ [[ $# == 1 ]] || die "Need exactly one alternative name" ++ ++ local auto_dir="${ESELECT_AUTO_GENERATED_MODULES_PATH}" ++ local auto_file="${auto_dir}/${1}.eselect" ++ ++ if [[ -e "${auto_file}" ]]; then ++ rm "${auto_file}" || die "Failed to remove alternative: ${1}" ++ fi ++} ++ ++### add action ### ++ ++describe_add() { ++ alternatives_describe_add ++} ++ ++describe_add_parameters() { ++ echo "<alternative> $(alternatives_describe_add_parameters)" ++} ++ ++describe_add_options() { ++ echo "<alternative> : the name of the alternative to add a provider for" ++ alternatives_describe_add_options ++} ++ ++do_add() { ++ local ALTERNATIVE=$1 ++ shift ++ [[ -z "${ALTERNATIVE}" ]] && die -q "Missing required parameter 'alternative'" ++ alternatives_do_add "$@" ++} ++ ++options_add() { ++ alternatives_options_add ++} ++ ++### remove action ### ++ ++describe_remove() { ++ alternatives_describe_remove ++} ++ ++describe_remove_parameters() { ++ echo "<alternative> $(alternatives_describe_remove_parameters)" ++} ++ ++describe_remove_options() { ++ echo "<alternative> : the name of the alternative to remove a provider from" ++ alternatives_describe_remove_options ++} ++ ++do_remove() { ++ local ALTERNATIVE=$1 ++ shift ++ [[ -z "${ALTERNATIVE}" ]] && die -q "Missing required parameter 'alternative'" ++ alternatives_do_remove "$@" ++} ++ ++options_remove() { ++ alternatives_options_remove ++} +diff --git a/modules/modules.eselect b/modules/modules.eselect +index 038f630..eb73e16 100644 +--- a/modules/modules.eselect ++++ b/modules/modules.eselect +@@ -2,7 +2,7 @@ + # Copyright 2006-2015 Gentoo Foundation + # Distributed under the terms of the GNU GPL version 2 or later + +-inherit config ++inherit config output tests + + DESCRIPTION="Query eselect modules" + MAINTAINER="eselect@gentoo.org" +@@ -15,57 +15,94 @@ describe_list() { + echo "List all available modules" + } + +-describe_list_options() { +- echo "--only-names : Output names of modules only" +-} +- + # List all installed modules + do_list() { +- local only_names path file module name desc +- local -a extra_modules +- +- if [[ ${1#--} = only-names ]]; then +- only_names=1 +- shift +- fi +- [[ $# -gt 0 ]] && die -q "Too many parameters" +- +- for path in "${ESELECT_MODULES_PATH[@]}" ; do +- [[ -d ${path} ]] || continue +- for file in "${path}"/*.eselect ; do +- [[ -f ${file} ]] || continue +- extra_modules=( "${extra_modules[@]}" "${file}" ) +- done +- done +- +- if [[ -n ${only_names} ]]; then +- # This is mainly intended for bash completion +- echo "help" +- echo "usage" +- echo "version" +- for module in "${extra_modules[@]}" ; do +- name=${module##*/} +- echo "${name%%.eselect}" +- done +- else +- write_list_start "Built-in modules:" +- write_kv_list_entry "help" "Display a help message" +- write_kv_list_entry "usage" "Display a usage message" +- write_kv_list_entry "version" "Display version information" +- +- if [[ ${#extra_modules[@]} -gt 0 ]] ; then +- echo +- write_list_start "Extra modules:" +- for module in "${extra_modules[@]}" ; do +- name=${module##*/} +- name=${name%%.eselect} +- desc=$(ESELECT_MODULE_NAME=${name} \ +- load_config "${module}" DESCRIPTION) +- desc=${desc:-No description available} +- write_kv_list_entry "${name}" "${desc}" +- done +- fi +- fi ++ local path file module name desc group groups Extra_modules ++ ++ write_list_start "Built-in modules:" ++ write_kv_list_entry "help" "Display a help message" ++ write_kv_list_entry "usage" "Display a usage message" ++ write_kv_list_entry "version" "Display version information" ++ write_kv_list_entry "print-modules" "Print eselect modules" ++ write_kv_list_entry "print-actions" "Print actions for a given module" ++ write_kv_list_entry "print-options" "Print options for a given action" ++ ++ for path in "${ESELECT_MODULES_PATH[@]}" ; do ++ [[ -d ${path} ]] || continue ++ for file in ${path}/*.eselect ; do ++ [[ -f ${file} ]] || continue ++ group=$(load_config "${file}" ESELECT_MODULE_GROUP) ++ if [[ -n ${group} ]]; then ++ has ${group} ${groups} || groups+=" ${group}" ++ declare ${group}_modules+=" ${file}" ++ else ++ Extra_modules+=" ${file}" ++ fi ++ done ++ done ++ ++ for group in ${groups} Extra; do ++ local m ++ m="${group}_modules" ++ if [[ -n ${!m} ]] ; then ++ echo ++ write_list_start "${group} modules:" ++ for module in ${!m}; do ++ name=${module##*/} ++ name=${name%%.eselect} ++ desc=$(load_config "${module}" DESCRIPTION) ++ desc=${desc:-No description available} ++ write_kv_list_entry "${name}" "${desc}" ++ done ++ fi ++ done ++} ++ ++### group action ++ ++describe_group() { ++ echo "Lists all available modules belonging to a specified group." ++} ++ ++describe_group_parameters() { ++ echo "<group>" ++} ++ ++do_group() { ++ local path file groupname="$1" group module modules name desc ++ [[ -z "$groupname" ]] && die -q "Required option (group name) missing." ++ ++ if [[ ${groupname} == Built-in ]]; then ++ write_list_start "Built-in modules:" ++ write_kv_list_entry "help" "Display a help message" ++ write_kv_list_entry "usage" "Display a usage message" ++ write_kv_list_entry "version" "Display version information" ++ return 0 ++ fi ++ ++ for path in "${ESELECT_MODULES_PATH[@]}" ; do ++ [[ -d ${path} ]] || continue ++ for file in ${path}/*.eselect ; do ++ [[ -f ${file} ]] || continue ++ group=$(load_config "${file}" ESELECT_MODULE_GROUP) ++ [[ ${groupname} == ${group} || ++ ( ${groupname} == Extra && -z ${group} ) ]] || continue ++ modules+=" ${file}" ++ done ++ done ++ ++ if [[ -n ${modules} ]] ; then ++ write_list_start "${groupname} modules:" ++ for module in ${modules}; do ++ name=${module##*/} ++ name=${name%%.eselect} ++ desc=$(load_config "${module}" DESCRIPTION) ++ desc=${desc:-No description available} ++ write_kv_list_entry "${name}" "${desc}" ++ done ++ else ++ die -q "No modules belonging to ${groupname} was found" ++ fi + } + + ### has action +@@ -75,56 +112,89 @@ describe_has() { + } + + describe_has_parameters() { +- echo "<module>" ++ echo "<module>" + } + + do_has() { +- [[ -z $1 ]] && die -q "Required option (module name) missing" +- [[ $# -gt 1 ]] && die -q "Too many parameters" +- +- local modname=$1 modpath +- for modpath in "${ESELECT_MODULES_PATH[@]}" ; do +- [[ -f ${modpath}/${modname}.eselect ]] && return 0 +- done +- return 1 ++ [[ -z $1 ]] && die -q "Required option (module name) missing" ++ [[ $# -gt 1 ]] && die -q "Too many parameters" ++ local modname="$1" modpath ++ [[ -z "$modname" ]] && die -q "Required option (module name) missing." ++ for modpath in "${ESELECT_MODULES_PATH[@]}" ; do ++ [[ -f "${modpath}/${modname}.eselect" ]] && return 0 ++ done ++ return 1 + } + + ### add action +-# *** Commented out. Do we really want to have an eselect module that is +-# *** installing other modules in a system directory? Also, this should +-# *** go together with a "remove" action. +- +-# describe_add() { +-# echo "Install the given module file somewhere that eselect can find it." +-# echo "By default, install to \$HOME/.eselect/modules/, unless running as " +-# echo "root. Then, install to ${ESELECT_DATA_PATH}/modules/." +-# } +- +-# describe_add_parameters() { +-# echo "<module_file>" +-# } +- +-# do_add() { +-# local local_path="${ROOT}${HOME}/.eselect/modules/" module_file +-# local force_default=0 +-# +-# if [[ $1 = "--force-default-location" ]] ; then +-# force_default=1 +-# shift +-# fi +-# module_file=$1 +-# +-# [[ -z ${module_file} ]] && die -q "Required option (module file) missing" +-# +-# # TODO: Don't install the module "somewhere", depending on write access. +-# # Add an option to control if it goes to the user's or to the system dir. +-# if ! cp "${module_file}" "${ESELECT_DEFAULT_MODULES_PATH}" &> /dev/null ; then +-# [[ ${force_default} == 1 ]] \ +-# && die -q "Failed to install module file to default modules path" +-# +-# mkdir -p "${local_path}" \ +-# || die -q "Failed to create module install directory" +-# cp "${module_file}" "${local_path}" \ +-# || die -q "Failed to install module file" +-# fi +-# } ++ ++describe_add() { ++ echo "Install a module file to \$HOME/.eselect/modules/, or ${ESELECT_DEFAULT_MODULES_PATH//\/\///}/ when run as root" ++} ++ ++describe_add_parameters() { ++ echo "<module_file>" ++} ++ ++do_add() { ++ ++ local local_path="${ROOT}${HOME}/.eselect/modules/" module_file ++ local force_default=0 ++ ++ if [[ $1 = "--force-default-location" ]] ; then ++ force_default=1 ++ shift ++ fi ++ module_file=$1 ++ ++ [[ -z ${module_file} ]] && die -q "Required option (module file) missing" ++ ++ # TODO: Don't install the module "somewhere", depending on write access. ++ # Add an option to control if it goes to the user's or to the system dir. ++ if ! cp "${module_file}" "${ESELECT_DEFAULT_MODULES_PATH}" &> /dev/null ; then ++ [[ ${force_default} == 1 ]] \ ++ && die -q "Failed to install module file to default modules path" ++ ++ mkdir -p "${local_path}" \ ++ || die -q "Failed to create module install directory" ++ cp "${module_file}" "${local_path}" \ ++ || die -q "Failed to install module file" ++ fi ++} ++ ++### remove action ++ ++describe_remove() { ++ echo "Remove the given module name" ++ echo "By default, it will remove from \$HOME/.eselect/modules/, unless running as " ++ echo "root. Then, remove from ${ESELECT_DATA_PATH}/modules/." ++} ++ ++describe_remove_parameters() { ++ echo "<module>" ++} ++ ++do_remove() { ++ local local_path="${ROOT}${HOME}/.eselect/modules/" module_name ++ local force_default=0 ++ ++ if [[ $1 = "--force-default-location" ]] ; then ++ force_default=1 ++ shift ++ fi ++ module_name=$1 ++ ++ [[ -z ${module_name} ]] && die -q "Required option (module name) missing" ++ ++ # TODO: Don't install the module "somewhere", depending on write access. ++ # Add an option to control if it goes to the user's or to the system dir. ++ if ! rm "${ESELECT_DEFAULT_MODULES_PATH}"/${module_name}.eselect &> /dev/null ; then ++ [[ ${force_default} == 1 ]] \ ++ && die -q "Failed to remove module ${module_name} from default modules path" ++ ++ rm "${module_file}" "${local_path}"/${module_name}.eselect \ ++ || die -q "Failed to remove module ${module_name}" ++ fi ++} ++ ++# vim: set ft=eselect sw=4 sts=4 ts=4 et tw=80 : diff --git a/app-admin/eselect/files/eselect-alternatives.patch b/app-admin/eselect/files/eselect-alternatives.patch deleted file mode 100644 index 13f05935e..000000000 --- a/app-admin/eselect/files/eselect-alternatives.patch +++ /dev/null @@ -1,618 +0,0 @@ -Index: bin/eselect.in -=================================================================== ---- bin/eselect.in (revision 863) -+++ bin/eselect.in (working copy) -@@ -22,10 +22,15 @@ - # Where are modules installed by default? - ESELECT_DEFAULT_MODULES_PATH="${ESELECT_DATA_PATH}/modules" - -+# Where are auto-generated modules placed? (e.g. from alternatives-2.eclass) -+ESELECT_AUTO_GENERATED_MODULES_PATH="${ESELECT_DEFAULT_MODULES_PATH}/auto" -+ - # Look in these places for modules --ESELECT_MODULES_PATH=( \ -- "${HOME}/.eselect/modules" \ -- "${ESELECT_DEFAULT_MODULES_PATH}" ) -+ESELECT_MODULES_PATH=( -+ "${HOME}/.eselect/modules" -+ "${ESELECT_DEFAULT_MODULES_PATH}" -+ "${ESELECT_AUTO_GENERATED_MODULES_PATH}" -+) - - # Look in this place for libraries - ESELECT_CORE_PATH="${ESELECT_DATA_PATH}/libs" -Index: bin/Makefile.am -=================================================================== ---- bin/Makefile.am (revision 863) -+++ bin/Makefile.am (working copy) -@@ -4,6 +4,7 @@ - dosed = @SED@ -e 's,\@BASH\@,$(BASH),g' \ - -e 's,\@DATADIR\@,$(datadir),g' \ - -e 's,\@EPREFIX\@,$(EPREFIX),g' \ -+ -e 's,\@LIBEXECDIR\@,$(datadir),g' \ - -e 's,\@VERSION\@,$(VERSION),g' - - % : %.in -Index: libs/Makefile.am -=================================================================== ---- libs/Makefile.am (revision 863) -+++ libs/Makefile.am (working copy) -@@ -1,6 +1,7 @@ - eselectlibsdir = $(datadir)/$(PACKAGE_NAME)/libs/ - - eselectlibs_DATA = \ -+ alternatives.bash \ - config.bash \ - core.bash \ - default.eselect \ -@@ -14,6 +15,7 @@ - tests.bash - - EXTRA_DIST = \ -+ alternatives.bash.in \ - config.bash.in \ - core.bash.in \ - default.eselect.in \ -@@ -30,7 +32,8 @@ - -e 's,\@SED\@,@SED@,g' \ - -e 's,\@PORTAGEQ\@,@PORTAGEQ@,g' \ - -e 's,\@ENV_UPDATE\@,@ENV_UPDATE@,g' \ -- -e 's,\@CANONICALISE\@,@CANONICALISE@,g' -+ -e 's,\@CANONICALISE\@,@CANONICALISE@,g' \ -+ -e 's,\@sysconfdir\@,@sysconfdir@,g' - - %.bash : %.bash.in - @$(dosed) $< > $@ ---- libs/alternatives.bash.in.orig 1970-01-01 01:00:00.000000000 +0100 -+++ libs/alternatives.bash.in 2011-09-06 18:55:43.000000000 +0100 -@@ -0,0 +1,550 @@ -+# Copyright 2008 Mike Kelly -+# Copyright 2009 David Leverton -+# Copyright 2010 Bo Ørsted Andresen -+# 2010: Adapted to eselect Sebastien Fabbro (who doesn't like copyrights) -+# Distributed under the terms of the GNU General Public License v2 -+ -+inherit config output path-manipulation -+ -+ALTERNATIVESDIR_ROOTLESS="@sysconfdir@/env.d/alternatives" -+ALTERNATIVESDIR="${EROOT}${ALTERNATIVESDIR_ROOTLESS}" -+ -+get_current_provider() { -+ local dieprefix="Could not determine current provider for ${ALTERNATIVE}" -+ if [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current ]]; then -+ local provider=$(readlink "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current" || die "${dieprefix}: readlink ${symlink} failed") -+ [[ ${provider} == */* ]] && die "${dieprefix}: malformed target for ${symlink}" -+ -+ if [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} || -+ ( -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} && ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ) ]]; then -+ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} is not a directory" -+ fi -+ -+ echo "${provider}" -+ -+ elif [[ -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current ]]; then -+ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current is not a symlink" -+ fi -+} -+ -+compare_importance() { -+ local IFS=. -+ local a=( ${1} ) b=( ${2} ) -+ local -i i=0 -+ while (( i<${#a[@]} && i<${#b[@]} )); do -+ if (( a[i]<b[i] )); then -+ return 0 -+ elif (( a[i]>b[i] )); then -+ return 1 -+ fi -+ i+=1 -+ done -+ (( i<${#b[@]} )) -+} -+ -+sort_providers() { -+ local begin=${1:-0} -+ local count=${2:-${#providers[@]}} -+ [[ ${count} -le 1 ]] && return 0 -+ sort_providers ${begin} $((count/2)) -+ sort_providers $((begin+count/2)) $((count-count/2)) -+ local left=( "${providers[@]:begin:count/2}" ) -+ local right=( "${providers[@]:begin+count/2:count-count/2}" ) -+ local -i x i=0 j=0 -+ for (( x=begin; x<begin+count; ++x )); do -+ if (( j>=${#right[@]} )) || { (( i<${#left[@]} )) && compare_importance "${left[i]%%:*}" "${right[j]%%:*}"; }; then -+ providers[x]=${left[i++]} -+ else -+ providers[x]=${right[j++]} -+ fi -+ done -+} -+ -+get_providers() { -+ local p= importance providers=() -+ for p in "${ALTERNATIVESDIR}/${ALTERNATIVE}"/* ; do -+ [[ -d ${p} && ! -L ${p} ]] || continue -+ p=${p##*/} -+ -+ importance=$(< "${ALTERNATIVESDIR}/${ALTERNATIVE}/${p}/_importance") -+ importance=${importance:-0} -+ [[ "${importance}" =~ ^[0123456789]+(\.[0123456789]+)*$ ]] || die "_importance (${importance}) for ${p} is not a dot-separated list of integers" -+ -+ providers+=( "${importance}:${p}" ) -+ done -+ -+ sort_providers -+ for (( p=${#providers[@]}-1 ; p>=0 ; --p )); do -+ echo "${providers[p]#*:}" -+ done -+} -+ -+### show action ### -+describe_show() { -+ echo "Show the current provider in use for ${ALTERNATIVE}" -+} -+ -+do_show() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ local current="$(get_current_provider)" -+ if [[ -z "${current}" ]] ; then -+ echo "(none)" -+ return 2 -+ fi -+ echo "${current}" -+} -+ -+options_show() { -+ : -+} -+ -+### list action ### -+describe_list() { -+ echo "Lists all available providers for ${ALTERNATIVE}" -+} -+ -+do_list() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ local n cur= providers=( $(get_providers) ) -+ write_list_start "Available providers for ${ALTERNATIVE}:" -+ -+ cur="$(get_current_provider)" -+ -+ if [[ -n "${providers[@]}" ]] ; then -+ for (( n = 0 ; n < ${#providers[@]} ; ++n )) ; do -+ [[ ${cur} == "${providers[${n}]}" ]] && \ -+ providers[${n}]="${providers[${n}]} $(highlight '*')" -+ done -+ write_numbered_list "${providers[@]}" -+ else -+ write_kv_list_entry "(none found)" "" -+ fi -+} -+ -+options_list() { -+ : -+} -+ -+### files action ### -+describe_files() { -+ echo "Lists symlinks provided by the currently selected provider" -+} -+ -+do_files() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local cur="$(get_current_provider)" p= -+ [[ -n "${cur}" ]] || die -q "No selected provider, hence no symlinks provided" -+ local dieprefix="Could not list symlinks provided for ${ALTERNATIVE}" -+ -+ local errors symlink rootsymlink -+ while read -r -d '' symlink; do -+ rootsymlink="${EROOT}${symlink}" -+ rootsymlink=${rootsymlink//+(\/)/\/} -+ echo "${rootsymlink}" -+ if [[ -L ${rootsymlink} ]]; then -+ if [[ ! -e ${rootsymlink} ]]; then -+ write_error_msg "${rootsymlink} is dangling symlink" -+ errors=yes -+ fi -+ elif [[ -d ${rootsymlink} ]]; then -+ write_error_msg "${rootsymlink} is a directory" -+ errors=yes -+ elif [[ -e ${rootsymlink} ]]; then -+ write_error_msg "${rootsymlink} exists but is not a symlink" -+ errors=yes -+ else -+ write_error_msg "${rootsymlink} does not exist" -+ errors=yes -+ fi -+ done <"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" -+} -+ -+options_files() { -+ : -+} -+ -+### set action ### -+ -+describe_set() { -+ echo "Sets a provider for ${ALTERNATIVE}" -+} -+ -+describe_set_parameters() { -+ echo "[ --force ] <provider>" -+} -+ -+describe_set_options() { -+ echo "--force : overwrite or remove existing non-symlink files (but not directories) if necessary" -+ echo "<provider> : the name of the provider to use or the index of the provider preceeded by a dash" -+} -+ -+do_set() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local force provider providers -+ if [[ ${1} == --force ]]; then -+ force=yes -+ shift -+ fi -+ -+ if [[ ${1} == -+([[:digit:]]) ]]; then -+ providers=( $(get_providers) ) -+ (( ${1#-} <= ${#providers[@]} )) || die -q "The given provider with index (${1#-}) does not exist" -+ provider=${providers[${1#-}-1]} -+ else -+ provider="${1}" -+ fi -+ [[ -z "${provider}" ]] && die -q "Missing required parameter 'provider'" -+ local dieprefix="Could not set provider ${provider} for alternative ${ALTERNATIVE}" -+ -+ if [[ ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ]] ; then -+ if is_number ${provider} ; then -+ providers=( $(get_providers) ) -+ [[ -n ${providers[${1#-}-1]} ]] && -+ die -q "The given provider (${provider}) does not exist, did you mean -${provider} (${providers[${1#-}-1]})?" -+ fi -+ die -q "The given provider (${provider}) does not exist" -+ fi -+ -+ local symlink newsymlinks=() oldsymlinks=() -+ -+ while read -r -d '' symlink; do -+ local nicesymlink=${symlink#.} -+ nicesymlink=${nicesymlink//+(\/)/\/} -+ [[ ${nicesymlink} == /* ]] || die "${dieprefix}: bad symlink ${symlink}?" -+ [[ ${nicesymlink} == */ ]] && die "${dieprefix}: bad symlink ${symlink}?" -+ -+ newsymlinks+=( "${nicesymlink}" ) -+ done < <( -+ cd "${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}" || die "${dieprefix}: cd failed" -+ find . -type l -print0 | LC_ALL=C sort -r -u -z) -+ [[ ${#newsymlinks[@]} -gt 0 ]] || die "${dieprefix}: does not provide any symlinks?" -+ -+ if [[ -f ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list ]]; then -+ while read -r -d '' symlink; do -+ local nicesymlink=${symlink//+(\/)/\/} -+ [[ ${nicesymlink} == /* ]] || die "${dieprefix}: old provider ${oldcur} provides bad symlink ${symlink}?" -+ [[ ${nicesymlink} == */ ]] && die "${dieprefix}: old provider ${oldcur} provides bad symlink ${symlink}?" -+ -+ oldsymlinks+=( "${nicesymlink}" ) -+ done < <(LC_ALL=C sort -r -u -z "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list") -+ [[ ${#oldsymlinks[@]} -gt 0 ]] || die "${dieprefix}: old provider ${oldcur} does not provide any symlinks?" -+ -+ elif [[ -L ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list || -e ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list ]]; then -+ die "${dieprefix}: ${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list is not a file" -+ fi -+ -+ local pass errors= -+ for pass in check perform; do -+ local -i new_i=0 old_i=0 -+ while [[ -n ${newsymlinks[new_i]} || -n ${oldsymlinks[old_i]} ]]; do -+ -+ if ( LC_ALL=C; [[ ${newsymlinks[new_i]} < ${oldsymlinks[old_i]} ]] ); then -+ if [[ ${pass} == check ]]; then -+ if [[ -L ${EROOT}${oldsymlinks[old_i]} ]]; then -+ : -+ elif [[ -d ${EROOT}${oldsymlinks[old_i]} ]]; then -+ write_error_msg "Can't remove ${EROOT}${oldsymlinks[old_i]}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" -+ errors=yes -+ elif [[ -e ${EROOT}${oldsymlinks[old_i]} ]]; then -+ if [[ -n ${force} ]]; then -+ write_warning_msg "Removing ${EROOT}${oldsymlinks[old_i]} due to --force: is not a symlink" -+ else -+ write_error_msg "Refusing to remove ${EROOT}${oldsymlinks[old_i]}: is not a symlink (use --force to override)" -+ errors=yes -+ fi -+ fi -+ -+ elif [[ ${pass} == perform ]]; then -+ rm -f "${ROOT}${oldsymlinks[old_i]}" || die "${dieprefix}: rm failed" -+ else -+ die "${dieprefix}: unknown \${pass} ${pass}???" -+ fi -+ -+ old_i+=1 -+ -+ else -+ local target=${ALTERNATIVESDIR_ROOTLESS#/}/${ALTERNATIVE}/_current${newsymlinks[new_i]} dir=${newsymlinks[new_i]%/*} -+ while [[ -n ${dir} ]]; do -+ target=../${target} -+ dir=${dir%/*} -+ done -+ -+ if [[ ${pass} == check ]]; then -+ if [[ -L ${EROOT}${newsymlinks[new_i]} ]]; then -+ : -+ elif [[ -d ${EROOT}${newsymlinks[new_i]} ]]; then -+ write_error_msg "Can't overwrite ${EROOT}${newsymlinks[new_i]}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" -+ errors=yes -+ elif [[ -e ${EROOT}${newsymlinks[new_i]} ]]; then -+ if [[ -n ${force} ]]; then -+ write_warning_msg "Overwriting ${EROOT}${newsymlinks[new_i]} due to --force: is not a symlink" -+ else -+ write_error_msg "Refusing to overwrite ${EROOT}${newsymlinks[new_i]}: is not a symlink (use --force to override)" -+ errors=yes -+ fi -+ fi -+ -+ elif [[ ${pass} == perform ]]; then -+ mkdir -p "${EROOT}${newsymlinks[new_i]%/*}" || die "${dieprefix}: mkdir -p failed" -+ ln -snf "${target#/}" "${EROOT}${newsymlinks[new_i]}" || die "${dieprefix}: ln -snf failed" -+ else -+ die "${dieprefix}: unknown \${pass} ${pass}???" -+ fi -+ -+ [[ ${newsymlinks[new_i]} == ${oldsymlinks[old_i]} ]] && old_i+=1 -+ new_i+=1 -+ fi -+ done -+ -+ [[ -n ${errors} ]] && die "${dieprefix}: see previous errors" -+ done -+ -+ local oldcur="$(get_current_provider)" -+ ln -snf "${provider}" "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current" || die "${dieprefix}: ln -snf failed" -+ -+ : >"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" || die "${dieprefix}: emptying/creating _current_list failed" -+ for symlink in "${newsymlinks[@]}"; do -+ echo -n -e "${symlink}\\0" >>"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" || die "${dieprefix}: appending ${symlink} to _current_list failed" -+ done -+ return 0 -+} -+ -+_options_parameters() { -+ [[ -n ${2} && ${2} != --descriptions ]] && die -q "Unrecognised option ${2}" -+ local describe_func=describe_${1#options_}_options descriptions=${2} opt options oldifs=$IFS -+ if is_function ${describe_func}; then -+ IFS=$'\n' -+ options=( $(${describe_func}) ) -+ IFS=$oldifs -+ for opt in "${options[@]}"; do -+ [[ ${opt} == --* ]] || continue -+ if [[ -n ${descriptions} ]]; then -+ echo "${opt/ : /:}" -+ else -+ echo "${opt%% : *}" -+ fi -+ done -+ fi -+} -+ -+options_set() { -+ _options_parameters $FUNCNAME "$@" -+ get_providers -+} -+ -+### update action ### -+ -+describe_update() { -+ echo "Set a default provider if no valid one currently exists" -+} -+ -+describe_update_parameters() { -+ echo "[--ignore] <provider>" -+} -+ -+describe_update_options() { -+ echo "--ignore : update to any valid provider EXCEPT the specified provider" -+ echo "<provider> : the name of the provider to use" -+} -+ -+do_update() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local p cur=$(get_current_provider) providers=( $(get_providers) ) ignore -+ if [[ "--ignore" == ${1} ]] ; then -+ # Try everything except setting the provider to the given -+ # one. So, if it isn't the given one, we end up doing -+ # nothing. Bug #128 -+ shift -+ ignore=${1} -+ fi -+ -+ if [[ ${cur} == ${1} && -z ${ignore} ]]; then -+ # if current provider was just updated, reselect it since it could have changed -+ do_set "${cur}" && return 0 -+ elif [[ -n ${cur} && ${cur} != ${ignore} ]] ; then -+ # verify existing provider's symlinks -+ local p= bad=0 -+ while read -r -d '' p ; do -+ [[ -L "${EROOT}${p}" && -e "${EROOT}${p}" ]] || (( bad++ )) -+ done < "${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" -+ -+ [[ "${bad}" -eq 0 ]] && return 0 -+ # fix existing provider if possible -+ has "${cur}" "${providers[@]}" && do_set "${cur}" && return 0 -+ elif has "${1}" "${providers[@]}" && [[ -z ${ignore} ]] ; then -+ # switch to new provider if none was set before or it can't be fixed -+ do_set "${1}" && return 0 -+ fi -+ -+ # if no valid provider has been selected switch to first available, valid -+ # provider, sorted according to importance -+ for p in "${providers[@]}"; do -+ [[ ${ignore} != ${p} ]] && do_set "${p}" && return 0 -+ done -+ -+ # if a provider is set but no providers are available anymore cleanup -+ cur=$(get_current_provider) -+ if [[ -n ${cur} ]]; then -+ do_unset "${cur}" && return 2 -+ fi -+ # if no provider is set and none are available that are not ignored, return 2 for cleanup -+ [[ -z ${providers[@]} || ${providers[@]} == ${ignore} ]] && return 2 -+ -+ # we tried everything to select a valid provider, but failed -+ return 1 -+} -+ -+options_update() { -+ _options_parameters $FUNCNAME "$@" -+ get_providers -+} -+ -+### unset action ### -+ -+describe_unset() { -+ echo "Unset any symlinks created for the current provider for ${ALTERNATIVE}." -+} -+ -+describe_unset_parameters() { -+ echo "[ --force ]" -+} -+ -+describe_unset_options() { -+ echo "--force : remove existing non-symlink files (but not directories) if necessary" -+} -+ -+do_unset() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ -+ local force= -+ if [[ ${1} == --force ]]; then -+ force=yes -+ shift -+ fi -+ -+ local cur="$(get_current_provider)" p= -+ [[ -n "${cur}" ]] || die -q "Nothing to unset" -+ local dieprefix="Could not unset provider for ${ALTERNATIVE}" -+ -+ local one=false symlink pass errors= -+ for pass in check perform; do -+ while read -r -d '' symlink; do -+ one=true -+ if [[ ${pass} == check ]]; then -+ if [[ -L ${EROOT}${symlink} ]]; then -+ : -+ elif [[ -d ${EROOT}${symlink} ]]; then -+ write_error_msg "Can't remove ${EROOT}${symlink}: is a directory${force:+ which is a fatal error that cannot be ignored by --force}" -+ errors=yes -+ elif [[ -e ${EROOT}${symlink} ]]; then -+ if [[ -n ${force} ]]; then -+ write_warning_msg "Removing ${EROOT}${symlink} due to --force: is not a symlink" -+ else -+ write_error_msg "Refusing to remove ${EROOT}${symlink}: is not a symlink (use --force to override)" -+ errors=yes -+ fi -+ fi -+ -+ elif [[ ${pass} == perform ]]; then -+ rm -f "${EROOT}${symlink}" || die "${dieprefix}: rm failed" -+ else -+ die "${dieprefix}: unknown \${pass} ${pass}???" -+ fi -+ done <"${ALTERNATIVESDIR}/${ALTERNATIVE}/_current_list" -+ -+ [[ -n ${errors} ]] && die "${dieprefix}: see previous errors" -+ done -+ -+ ${one} || die "${dieprefix}: does not provide any symlinks?" -+ -+ rm "${ALTERNATIVESDIR}/${ALTERNATIVE}"/{_current,_current_list} || die "${dieprefix}: rm failed" -+} -+ -+options_unset() { -+ _options_parameters $FUNCNAME "$@" -+ get_current_provider -+} -+ -+### script action ### -+ -+describe_script() { -+ echo "Output an evalable script fragment to set PATH, LD_LIBRARY_PATH and MANPATH to use the specified provider" -+} -+ -+describe_script_parameters() { -+ echo "[--sh | --csh] [<provider>]" -+} -+ -+describe_script_options() { -+ echo "--sh : use Bourne shell syntax (default)" -+ echo "--csh : use C shell syntax" -+ echo "<provider> : the provider to use or the index of the provider preceeded by a dash (if not specified, use the system default)" -+} -+ -+do_script() { -+ [[ -z "${ALTERNATIVE}" ]] && die "Need to set ALTERNATIVE in the eselect module" -+ local syntax=sh provider providers -+ if [[ ${1} == --sh ]]; then -+ shift -+ elif [[ ${1} == --csh ]]; then -+ syntax=csh -+ shift -+ fi -+ -+ if [[ ${1} == -+([[:digit:]]) ]]; then -+ providers=( $(get_providers) ) -+ (( ${1#-} <= ${#providers[@]} )) || die -q "The given provider with index (${1#-}) does not exist" -+ provider=${providers[${1#-}-1]} -+ else -+ provider="${1}" -+ fi -+ [[ -z "${provider}" ]] && die -q "Missing required parameter 'provider'" -+ -+ if [[ ! -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider} ]] ; then -+ if is_number ${provider} ; then -+ providers=( $(get_providers) ) -+ [[ -n ${providers[${1#-}-1]} ]] && -+ die -q "The given provider (${provider}) does not exist, did you mean -${provider} (${providers[${1#-}-1]})?" -+ fi -+ die -q "The given provider (${provider}) does not exist" -+ fi -+ -+ local variables=( PATH LD_LIBRARY_PATH MANPATH ) -+ [[ -n ${!default_*} ]] && local ${!default_*} -+ local default_LD_LIBRARY_PATH=$(grep '^[^#]' "${EROOT}"/etc/ld.so.conf | tr '\n' ':')/lib:/usr/lib -+ local default_MANPATH=$(MANPATH= man -C"${EROOT}"/etc/man.conf -w) -+ -+ local var IFS=: -+ for var in "${variables[@]}"; do -+ local defvar=default_${var} path paths=( ) -+ for path in ${!var}; do -+ [[ ${path} == ${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/* ]] && continue -+ [[ -n ${provider} && -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}/${path#/} ]] && paths+=( "${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/${provider}/${path#/}" ) -+ paths+=( "${path}" ) -+ done -+ -+ [[ -n ${provider} ]] && for path in ${!defvar}; do -+ [[ -d ${ALTERNATIVESDIR}/${ALTERNATIVE}/${provider}/${path#/} ]] && paths+=( "${ALTERNATIVESDIR_ROOTLESS}/${ALTERNATIVE}/${provider}/${path#/}" ) -+ done -+ -+ local newval=${paths[*]} -+ if [[ ${newval} != ${!var} ]]; then -+ newval=${newval//\'/\'\\\'\'} -+ if [[ ${syntax} == sh ]]; then -+ echo "${var}='${newval}'; export ${var}" -+ else -+ echo "setenv ${var} '${newval}'" -+ fi -+ fi -+ done -+} -+ -+options_script() { -+ _options_parameters $FUNCNAME "$@" -+ get_providers -+} -+ -+# vim: set ft=eselect sw=4 sts=4 ts=4 et tw=80 : diff --git a/app-benchmarks/btl/ChangeLog b/app-benchmarks/btl/ChangeLog index ea8c75791..978091101 100644 --- a/app-benchmarks/btl/ChangeLog +++ b/app-benchmarks/btl/ChangeLog @@ -1,7 +1,10 @@ # ChangeLog for app-benchmarks/btl -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 07 Jun 2015; Justin Lecher <jlec@gentoo.org> metadata.xml: + app-benchmarks/btl: Add bitbucket to remote-id in metadata.xml + 14 Jun 2013; Justin Lecher <jlec@gentoo.org> btl-9999.ebuild, metadata.xml: Bump to EAPI=5 and drop KEYWORDS of live ebuilds diff --git a/app-benchmarks/btl/metadata.xml b/app-benchmarks/btl/metadata.xml index 51688ab86..3a7222f06 100644 --- a/app-benchmarks/btl/metadata.xml +++ b/app-benchmarks/btl/metadata.xml @@ -8,4 +8,7 @@ <description>Bench Template Library</description> </maintainer> <longdescription>This package contains a modified copy of the BTL.</longdescription> + <upstream> + <remote-id type="bitbucket">spiros/btl</remote-id> + </upstream> </pkgmetadata> diff --git a/app-benchmarks/numbench/ChangeLog b/app-benchmarks/numbench/ChangeLog index 1c1a2bcbe..e18f1c920 100644 --- a/app-benchmarks/numbench/ChangeLog +++ b/app-benchmarks/numbench/ChangeLog @@ -1,7 +1,11 @@ # ChangeLog for app-benchmarks/numbench -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 02 Apr 2015; Justin Lecher <jlec@gentoo.org> numbench-0.2.ebuild, + numbench-9999.ebuild: + app-benchmarks/numbench: Move to new CAT + 06 Jan 2014; Justin Lecher <jlec@gentoo.org> numbench-9999.ebuild: Switch from git-2 to git-r3 diff --git a/app-benchmarks/numbench/numbench-0.2.ebuild b/app-benchmarks/numbench/numbench-0.2.ebuild index 3239217be..aa16da7f3 100644 --- a/app-benchmarks/numbench/numbench-0.2.ebuild +++ b/app-benchmarks/numbench/numbench-0.2.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI=5 -PYTHON_COMPAT=( python{2_6,2_7} ) +PYTHON_COMPAT=( python2_7 ) inherit distutils-r1 vcs-snapshot @@ -20,9 +20,9 @@ KEYWORDS="~amd64 ~x86" IUSE="" RDEPEND=" - !app-admin/eselect-blas - !app-admin/eselect-cblas - !app-admin/eselect-lapack + !app-eselect/eselect-blas + !app-eselect/eselect-cblas + !app-eselect/eselect-lapack >=dev-python/matplotlib-1.0.0 >=app-admin/eselect-1.3.2-r100" diff --git a/app-benchmarks/numbench/numbench-9999.ebuild b/app-benchmarks/numbench/numbench-9999.ebuild index eb4e9267e..a16717983 100644 --- a/app-benchmarks/numbench/numbench-9999.ebuild +++ b/app-benchmarks/numbench/numbench-9999.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI=5 -PYTHON_COMPAT=( python{2_6,2_7} ) +PYTHON_COMPAT=( python2_7 ) inherit git-r3 distutils-r1 @@ -20,9 +20,9 @@ KEYWORDS="" IUSE="" RDEPEND=" - !app-admin/eselect-blas - !app-admin/eselect-cblas - !app-admin/eselect-lapack + !app-eselect/eselect-blas + !app-eselect/eselect-cblas + !app-eselect/eselect-lapack >=dev-python/matplotlib-1.0.0 >=app-admin/eselect-1.3.2-r100" diff --git a/app-doc/root-docs/ChangeLog b/app-doc/root-docs/ChangeLog index ca2ea86c5..9a184fc53 100644 --- a/app-doc/root-docs/ChangeLog +++ b/app-doc/root-docs/ChangeLog @@ -1,7 +1,41 @@ # ChangeLog for app-doc/root-docs -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: /var/cvsroot/gentoo-x86/app-doc/root-docs/ChangeLog,v 1.42 2014/03/28 18:48:01 bicatali Exp $ + 12 Apr 2015; Andrew Savchenko <bircoph@gentoo.org> -root-docs-6.02.05.ebuild: + 6.02.05 is in the portage tree now + + 11 Apr 2015; Andrew Savchenko <bircoph@gentoo.org> root-docs-6.02.05.ebuild: + Update deps: root and fonts are needed only for api docs. + +*root-docs-6.02.05 (08 Apr 2015) + + 08 Apr 2015; Andrew Savchenko <bircoph@gentoo.org> -root-docs-6.00.02.ebuild, + +root-docs-6.02.05.ebuild, root-docs-9999.ebuild, + -files/root-docs-6.00.01-fillpatterns.patch, + +files/root-docs-6.02.05-jsroot.patch: + Version bump for evaluation and testing. + Remove old. + + 03 Mar 2015; Andrew Savchenko <bircoph@gentoo.org> -root-docs-5.34.26.ebuild: + 5.34.26 is now in the portage tree + + 02 Mar 2015; Andrew Savchenko <bircoph@gentoo.org> metadata.xml: + Update maintainer information. + + 24 Feb 2015; Andrew Savchenko <bircoph@gentoo.org> root-docs-5.34.26.ebuild: + Install root banner from 5.x branch, not 6.x. + + 23 Feb 2015; Andrew Savchenko <bircoph@gentoo.org> + -root-docs-5.34.18-r2.ebuild, -root-docs-6.00.01-r1.ebuild, + root-docs-9999.ebuild, -files/root-docs-5.34.01-makehtml.patch: + Remove old versions. + +*root-docs-5.34.26 (23 Feb 2015) + + 23 Feb 2015; Andrew Savchenko <bircoph@gentoo.org> +root-docs-5.34.26.ebuild: + Version bump. + *root-docs-5.34.18-r2 (06 Jul 2014) 06 Jul 2014; Andrew Savchenko <bircoph@gmail.com> diff --git a/app-doc/root-docs/Manifest b/app-doc/root-docs/Manifest index f5533c265..27710df7e 100644 --- a/app-doc/root-docs/Manifest +++ b/app-doc/root-docs/Manifest @@ -3,6 +3,3 @@ DIST TMVAUsersGuide-v4.2.0.pdf 4099493 SHA256 b61614d14289a20f5fa429f79e474e596c DIST info.png 2060 SHA256 51de6661250f3fb71c6c8250cbc4bdc4dc4283cc90240b4dc1ee6168e8d40279 SHA512 81a730eefbe7a7e15d5840491402c7644bf7ed5d5f8f3830ed9457b343cc7882480e993ea84aef93500742cd0fe8469859cd2c925e5582b91ef56406804ae276 WHIRLPOOL 02ea6daf9e3d21947ebf5dd01c455a13f2fcbf9981be34a150056a3510122ca49e3d137d4f242c7218d4d06ace09566d513a04f09071723ac244f5a38e982bac DIST roofit_quickstart_3.00.pdf 501576 SHA256 65aaf9e0c88352e265fd55b97a2503a9ee4a51d3219daff69c6f7f6427fe22cf SHA512 e8e1bd3bb3ead0ae3883512d7ff297651b99937fd5df0b61cf559ea5dd6cfbda35dfd8ebc953ed11a12f471849f6e95e05869b58a1e433ea6e5d1d1aa08bbb93 WHIRLPOOL a58b221272e3b2775639bf934f63cd06919105871ad736a84e18e6f3949a579301d1c6d69df39576dcc11867aa27274f5c78f36146a929698437b1a0c310aebe DIST root6-banner.jpg 32319 SHA256 9d6d226bbe61db257a1796a3ad04dfe97b3bb500a29349ff76bf6a929ed1e104 SHA512 f01dd253f24d59c374042efd239ce023e5ca82d3d617ca6763daf9720b169c4fb27a0f4573ea95d807f0e12095924606372df4940f65ce7d859164314d22b9af WHIRLPOOL 69976abe240235a4f4eb25d61a0ceb183dc5ad5f9e57e9130ae10615329dd23125848f45608e1ad2d65a286d1f191f95336316f7c8f1cc052d396c31433cbe4c -DIST root_v5.34.18.source.tar.gz 74218396 SHA256 9196dce7d76b31e5bcabd985bd31bc4d9b7c8c4d0c7ce84f730efa4ef82a3567 SHA512 7c659d1a92e6ad1b901956cf0a04aacc391c936eb2881528d105f61373128e5fd4caad6e76988050a8a8bc69a8ba0b53055974b4c618800345127ae2e6dd7a14 WHIRLPOOL 15221bbdabd5abd50dc87e3cc8fa3de24c5888e3ac0a75535983c8ec0718433c84c2400da59d27f3b83b687c7c5f5d60bf769c8a1eefce45dd7d39cbc002a6b7 -DIST root_v6.00.01.source.tar.gz 97783289 SHA256 245c75fd6b53b84cae6251f950e259311439da678b2cdebb9578d51561a6b61f SHA512 e5f56750a0637aa884ea2d9d2ebf7b677cd1fac1819042948ba3530a25366cb7d853dba6fa7127764e3ae7cec23f89ed60d8913c0ff10ce2664bcc87df1620cf WHIRLPOOL 92f34c13ee0161d556b54b1bdd971774b2637c5cd57916ee75f0572a30713df820df3bb07f276d16ca31d11fda7e762de673c943b8bffda9db501d2ee8848654 -DIST root_v6.00.02.source.tar.gz 97811067 SHA256 db92818781f842c33b8b583f1f9be02b51cedbf5f2943df986cbbd0c0006a06f SHA512 bd72eb43d2a4ace27738ba2dc509f6d81ec3555e59454426d28c2c5522b4b19d2678ed515b84efaf953146c1f50c65e304532456d76076d03598bda67c69e8a5 WHIRLPOOL 12b87e9b1612ea3625f7ea0970b733887051b5173b728b5f13a032eb103eeda22de8a4c18417e02a92fe02f29b9acd9114fa1420fac42bea31bde07c7a0ce697 diff --git a/app-doc/root-docs/files/root-docs-5.34.01-makehtml.patch b/app-doc/root-docs/files/root-docs-5.34.01-makehtml.patch deleted file mode 100644 index b339226c8..000000000 --- a/app-doc/root-docs/files/root-docs-5.34.01-makehtml.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- root/Makefile.orig 2012-07-13 13:42:46.000000000 +0400 -+++ root/Makefile 2012-07-22 00:15:03.282994389 +0400 -@@ -1087,16 +1087,7 @@ - - ifeq ($(BUILDX11),yes) - ifeq ($(BUILDASIMAGE),yes) --html: rootexecs postbin changelog releasenotes --ifneq ($(USECONFIG),FALSE) -- @if [ "x`which root.exe`" != "x$(DESTDIR)$(BINDIR)/root.exe" ] \ -- || [ "`which root.exe`" -ot "bin/root.exe" ]; then \ -- echo 'ERROR: root.exe has not been installed by this build.'; \ -- echo ' Run "make install" before running "make html".'; \ -- exit 1; \ -- fi --endif -- @$(MAKELOGHTML) -+html: compiledata releasenotes - @$(MAKEHTML) - else - html: ---- root/build/unix/makehtml.sh.orig 2012-06-28 11:33:36.000000000 +0400 -+++ root/build/unix/makehtml.sh 2012-07-22 00:18:58.705804436 +0400 -@@ -1,16 +1,16 @@ - #! /bin/sh - - dir=`pwd` --ROOT=$dir/bin/root -+ROOT=root - cd tutorials - # we need tutorials/hsimple.root - if [ ! -f hsimple.root ]; then -- $ROOT -l -b -q hsimple.C -+ $ROOT -l -b -q hsimple.C && exit 1 - fi - cd tree - # we need tutorials/tree/cernstaff.root - if [ ! -f cernstaff.root ]; then -- $ROOT -l -b -q cernbuild.C -+ $ROOT -l -b -q cernbuild.C || exit 1 - fi - cd $dir - -@@ -20,7 +20,7 @@ - - # To generate the full documentation, we do need to - # use the graphics engine, so do not use '-b'. --$ROOT -l <<makedoc -+$ROOT -l <<makedoc || exit 1 - THtml h; - h.LoadAllLibs(); - h.MakeAll(); diff --git a/app-doc/root-docs/files/root-docs-6.00.01-fillpatterns.patch b/app-doc/root-docs/files/root-docs-6.00.01-fillpatterns.patch deleted file mode 100644 index e48a4f775..000000000 --- a/app-doc/root-docs/files/root-docs-6.00.01-fillpatterns.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/core/base/doc/macros/fillpatterns.C b/core/base/doc/macros/fillpatterns.C -index b0a5132..fca81c8 100644 ---- a/core/base/doc/macros/fillpatterns.C -+++ b/core/base/doc/macros/fillpatterns.C -@@ -20,11 +20,11 @@ TCanvas * fillpatterns() - - // Fixed patterns. - for (i=1; i<=5; i++) { -- box(j++, 0.01, y-bh, 0.19, y); -- box(j++, 0.21, y-bh, 0.39, y); -- box(j++, 0.41, y-bh, 0.59, y); -- box(j++, 0.61, y-bh, 0.79, y); -- box(j++, 0.81, y-bh, 0.99, y); -+ box(j, 0.01, y-bh, 0.19, y); j++; -+ box(j, 0.21, y-bh, 0.39, y); j++; -+ box(j, 0.41, y-bh, 0.59, y); j++; -+ box(j, 0.61, y-bh, 0.79, y); j++; -+ box(j, 0.81, y-bh, 0.99, y); j++; - y = y-bh-db; - } - -@@ -55,7 +55,7 @@ TCanvas * fillpatterns() - return Pat; - } - --box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2) -+void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2) - { - // Draw an box using the fill pattern "pat" with the "pat" value - // written on top. diff --git a/app-doc/root-docs/files/root-docs-6.02.05-jsroot.patch b/app-doc/root-docs/files/root-docs-6.02.05-jsroot.patch new file mode 100644 index 000000000..1ea170e84 --- /dev/null +++ b/app-doc/root-docs/files/root-docs-6.02.05-jsroot.patch @@ -0,0 +1,11 @@ +--- root-6.02.05/documentation/JSROOT/JSROOT.md.orig 2015-02-09 11:59:47.000000000 +0300 ++++ root-6.02.05/documentation/JSROOT/JSROOT.md 2015-04-05 19:13:24.010358387 +0300 +@@ -198,7 +198,7 @@ + <div id="drawing">loading...</div> + </body> + +-Internally, the JSROOT.loadScript(urllist, callback, debug) method is used. It can be useful when some other scripts should be loaded as well. __urllist__ is a string with scripts names, separated by ';' symbol. If a script name starts with __$$$__ (triple dollar sign), the script will be loaded from a location relative to the main JSROOT directory. ++Internally, the JSROOT.loadScript(urllist, callback, debug) method is used. It can be useful when some other scripts should be loaded as well. __urllist__ is a string with scripts names, separated by ';' symbol. If a script name starts with __\$\$\$__ (triple dollar sign), the script will be loaded from a location relative to the main JSROOT directory. + This location is automatically detected when JSRootCore.js script is loaded. + + diff --git a/app-doc/root-docs/metadata.xml b/app-doc/root-docs/metadata.xml index 3645ec784..10a4d1cf5 100644 --- a/app-doc/root-docs/metadata.xml +++ b/app-doc/root-docs/metadata.xml @@ -2,12 +2,10 @@ <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer> - <email>bircoph@gmail.com</email> + <email>bircoph@gentoo.org</email> <name>Andrew Savchenko</name> - <description>Maintainer. Assign bugs to him</description> </maintainer> <herd>sci-physics</herd> -<herd>proxy-maintainers</herd> <longdescription lang="en"> This package contains the automatically generated ROOT class documentation. diff --git a/app-doc/root-docs/root-docs-5.34.18-r2.ebuild b/app-doc/root-docs/root-docs-5.34.18-r2.ebuild deleted file mode 100644 index ac00ef207..000000000 --- a/app-doc/root-docs/root-docs-5.34.18-r2.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-doc/root-docs/root-docs-5.34.18-r1.ebuild,v 1.2 2014/03/28 18:48:01 bicatali Exp $ - -EAPI=5 - -ROOT_PN="root" -ROOFIT_DOC_PV=2.91-33 -ROOFIT_QS_DOC_PV=3.00 -TMVA_DOC_PV=4.2.0 - -if [[ ${PV} == "9999" ]] ; then - inherit git-r3 - EVCS_OFFLINE=yes # we need exactly the same checkout as root itself - EGIT_REPO_URI="http://root.cern.ch/git/root.git" - KEYWORDS="" -else - SRC_URI="ftp://root.cern.ch/${ROOT_PN}/${ROOT_PN}_v${PV}.source.tar.gz" - KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" - S="${WORKDIR}/${ROOT_PN}" -fi - -inherit eutils multilib virtualx - -DESCRIPTION="Documentation for ROOT Data Analysis Framework" -HOMEPAGE="http://root.cern.ch/drupal" -SRC_URI="${SRC_URI} - math? ( - http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf - http://root.cern.ch/download/doc/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf - http://root.cern.ch/drupal/sites/default/files/roofit_quickstart_${ROOFIT_QS_DOC_PV}.pdf ) - api? ( - ${HOMEPAGE}/sites/default/files/images/root6-banner.jpg - ${HOMEPAGE}/sites/all/themes/newsflash/images/info.png )" - -SLOT="0" -LICENSE="LGPL-2.1" -IUSE="api +math +metric" - -VIRTUALX_REQUIRED="api" - -DEPEND=" - ~sci-physics/root-${PV}[X,graphviz,opengl] - app-text/pandoc - app-text/texlive - dev-haskell/pandoc-citeproc[bibutils] - media-fonts/dejavu - virtual/pkgconfig" -RDEPEND="" - -DOC_DIR="/usr/share/doc/${ROOT_PN}-${PV}" - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - # we need to force sci-physics/root checkout here - git-r3_checkout "${EGIT_REPO_URI}" "${WORKDIR}/${P}" "sci-physics/root/0" - else - default - fi -} - -src_prepare() { - use api && epatch \ - "${FILESDIR}/${PN}-5.34.01-makehtml.patch" \ - "${FILESDIR}/${PN}-6.00.01-fillpatterns.patch" - # prefixify the configure script - sed -i \ - -e "s:/usr:${EPREFIX}/usr:g" \ - configure || die "prefixify configure failed" -} - -src_configure() { - # we need only to setup paths here, html docs doesn't depend on USE flags - if use api; then - ./configure \ - --prefix="${EPREFIX}/usr" \ - --etcdir="${EPREFIX}/etc/root" \ - --libdir="${EPREFIX}/usr/$(get_libdir)/${PN}" \ - --docdir="${EPREFIX}/usr/share/doc/${PF}" \ - --tutdir="${EPREFIX}/usr/share/doc/${PF}/examples/tutorials" \ - --testdir="${EPREFIX}/usr/share/doc/${PF}/examples/tests" \ - --with-llvm-config="${EPREFIX}/usr/bin/llvm-config" \ - --with-sys-iconpath="${EPREFIX}/usr/share/pixmaps" \ - --nohowto - fi -} - -src_compile() { - pdf_target=( primer users-guide ) - local pdf_size=pdfa4 - use metric || pdf_size=pdfletter - use math && pdf_target+=( minuit2 spectrum ) - - for (( i=0; i<${#pdf_target[@]}; i++ )); do - emake -C documentation/"${pdf_target[i]}" "${pdf_size}" - done - - if use api; then - # video drivers may want to access hardware devices - cards=$(echo -n /dev/dri/card* /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g') - [[ -n "${cards}" ]] && addpredict "${cards}" - - ROOTSYS="${S}" Xemake html - # if root.exe crashes, return code will be 0 due to gdb attach, - # so we need to check if last html file was generated; - # this check is volatile and can't catch crash on the last file. - [[ -f htmldoc/tableDescriptor_st.html ]] || die "html doc generation crashed" - fi -} - -src_install() { - insinto "${DOC_DIR}" - - for (( i=0; i<${#pdf_target[@]}; i++ )); do - doins documentation/"${pdf_target[i]}"/*.pdf - done - unset pdf_target - - use math && doins \ - "${DISTDIR}/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf" \ - "${DISTDIR}/roofit_quickstart_${ROOFIT_QS_DOC_PV}.pdf" \ - "${DISTDIR}/TMVAUsersGuide-v${TMVA_DOC_PV}.pdf" - - if use api; then - # Install offline replacements for online messages - cp "${DISTDIR}"/{root6-banner.jpg,info.png} htmldoc/ || die "cp failed" - # too large data to copy - dodir "${DOC_DIR}/html" - mv htmldoc/* "${ED}${DOC_DIR}/html/" || die - docompress -x ${DOC_DIR}/html - fi -} diff --git a/app-doc/root-docs/root-docs-6.00.01-r1.ebuild b/app-doc/root-docs/root-docs-6.00.01-r1.ebuild deleted file mode 100644 index 096e0fe96..000000000 --- a/app-doc/root-docs/root-docs-6.00.01-r1.ebuild +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-doc/root-docs/root-docs-5.34.18-r1.ebuild,v 1.2 2014/03/28 18:48:01 bicatali Exp $ - -EAPI=5 - -ROOT_PN="root" -ROOFIT_DOC_PV=2.91-33 -ROOFIT_QS_DOC_PV=3.00 -TMVA_DOC_PV=4.2.0 - -if [[ ${PV} == "9999" ]] ; then - inherit git-r3 - EVCS_OFFLINE=yes # we need exactly the same checkout as root itself - EGIT_REPO_URI="http://root.cern.ch/git/root.git" - KEYWORDS="" -else - SRC_URI="ftp://root.cern.ch/${ROOT_PN}/${ROOT_PN}_v${PV}.source.tar.gz" - KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" - S="${WORKDIR}/${ROOT_PN}" -fi - -inherit eutils multilib virtualx - -DESCRIPTION="Documentation for ROOT Data Analysis Framework" -HOMEPAGE="http://root.cern.ch/drupal" -SRC_URI="${SRC_URI} - math? ( - http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf - http://root.cern.ch/download/doc/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf - http://root.cern.ch/drupal/sites/default/files/roofit_quickstart_${ROOFIT_QS_DOC_PV}.pdf ) - api? ( - ${HOMEPAGE}/sites/default/files/images/root6-banner.jpg - ${HOMEPAGE}/sites/all/themes/newsflash/images/info.png )" - -SLOT="0" -LICENSE="LGPL-2.1" -IUSE="api +math +metric http" - -VIRTUALX_REQUIRED="api" - -DEPEND=" - ~sci-physics/root-${PV}[X,graphviz,opengl] - app-text/pandoc - app-text/texlive - dev-haskell/pandoc-citeproc[bibutils] - media-fonts/dejavu - virtual/pkgconfig" -RDEPEND="" - -DOC_DIR="/usr/share/doc/${ROOT_PN}-${PV}" - -src_unpack() { - if [[ ${PV} == "9999" ]] ; then - # we need to force sci-physics/root checkout here - git-r3_checkout "${EGIT_REPO_URI}" "${WORKDIR}/${P}" "sci-physics/root/0" - else - default - fi -} - -src_prepare() { - use api && epatch \ - "${FILESDIR}/${PN}-6.00.01-makehtml.patch" \ - "${FILESDIR}/${PN}-6.00.01-fillpatterns.patch" - # prefixify the configure script - sed -i \ - -e "s:/usr:${EPREFIX}/usr:g" \ - configure || die "prefixify configure failed" -} - -src_configure() { - # we need only to setup paths here, html docs doesn't depend on USE flags - if use api; then - ./configure \ - --prefix="${EPREFIX}/usr" \ - --etcdir="${EPREFIX}/etc/root" \ - --libdir="${EPREFIX}/usr/$(get_libdir)/${PN}" \ - --docdir="${EPREFIX}/usr/share/doc/${PF}" \ - --tutdir="${EPREFIX}/usr/share/doc/${PF}/examples/tutorials" \ - --testdir="${EPREFIX}/usr/share/doc/${PF}/examples/tests" \ - --with-llvm-config="${EPREFIX}/usr/bin/llvm-config" \ - --with-sys-iconpath="${EPREFIX}/usr/share/pixmaps" \ - --nohowto - fi -} - -src_compile() { - pdf_target=( primer users-guide ) - local pdf_size=pdfa4 - use metric || pdf_size=pdfletter - use math && pdf_target+=( minuit2 spectrum ) - use http && pdf_target+=( HttpServer ) - - for (( i=0; i<${#pdf_target[@]}; i++ )); do - emake -C documentation/"${pdf_target[i]}" "${pdf_size}" - done - - if use api; then - # video drivers may want to access hardware devices - cards=$(echo -n /dev/dri/card* /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g') - [[ -n "${cards}" ]] && addpredict "${cards}" - - ROOTSYS="${S}" Xemake html - # if root.exe crashes, return code will be 0 due to gdb attach, - # so we need to check if last html file was generated; - # this check is volatile and can't catch crash on the last file. - [[ -f htmldoc/tableDescriptor_st.html ]] || die "html doc generation crashed" - fi -} - -src_install() { - insinto "${DOC_DIR}" - - for (( i=0; i<${#pdf_target[@]}; i++ )); do - doins documentation/"${pdf_target[i]}"/*.pdf - done - unset pdf_target - - use math && doins \ - "${DISTDIR}/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf" \ - "${DISTDIR}/roofit_quickstart_${ROOFIT_QS_DOC_PV}.pdf" \ - "${DISTDIR}/TMVAUsersGuide-v${TMVA_DOC_PV}.pdf" - - if use api; then - # Install offline replacements for online messages - cp "${DISTDIR}"/{root6-banner.jpg,info.png} htmldoc/ || die "cp failed" - # too large data to copy - dodir "${DOC_DIR}/html" - mv htmldoc/* "${ED}${DOC_DIR}/html/" || die - docompress -x ${DOC_DIR}/html - fi -} diff --git a/app-doc/root-docs/root-docs-6.00.02.ebuild b/app-doc/root-docs/root-docs-6.00.02.ebuild deleted file mode 120000 index 0ee27bf30..000000000 --- a/app-doc/root-docs/root-docs-6.00.02.ebuild +++ /dev/null @@ -1 +0,0 @@ -root-docs-6.00.01-r1.ebuild
\ No newline at end of file diff --git a/app-doc/root-docs/root-docs-9999.ebuild b/app-doc/root-docs/root-docs-9999.ebuild index 0ee27bf30..8999fb8cd 120000..100644 --- a/app-doc/root-docs/root-docs-9999.ebuild +++ b/app-doc/root-docs/root-docs-9999.ebuild @@ -1 +1,137 @@ -root-docs-6.00.01-r1.ebuild
\ No newline at end of file +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +ROOT_PN="root" +ROOFIT_DOC_PV=2.91-33 +ROOFIT_QS_DOC_PV=3.00 +TMVA_DOC_PV=4.2.0 + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EVCS_OFFLINE=yes # we need exactly the same checkout as root itself + EGIT_REPO_URI="http://root.cern.ch/git/root.git" +else + SRC_URI="ftp://root.cern.ch/${ROOT_PN}/${ROOT_PN}_v${PV}.source.tar.gz" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" + S="${WORKDIR}/${ROOT_PN}-${PV}" +fi + +inherit eutils multilib virtualx + +DESCRIPTION="Documentation for ROOT Data Analysis Framework" +HOMEPAGE="http://root.cern.ch/drupal" +SRC_URI="${SRC_URI} + math? ( + http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf -> TMVAUsersGuide-v${TMVA_DOC_PV}.pdf + http://root.cern.ch/download/doc/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf + http://root.cern.ch/drupal/sites/default/files/roofit_quickstart_${ROOFIT_QS_DOC_PV}.pdf ) + api? ( + ${HOMEPAGE}/sites/default/files/images/root6-banner.jpg + ${HOMEPAGE}/sites/all/themes/newsflash/images/info.png )" + +SLOT="0" +LICENSE="LGPL-2.1" +IUSE="api +math +metric http" + +VIRTUALX_REQUIRED="api" + +DEPEND=" + app-text/pandoc + app-text/texlive + dev-haskell/pandoc-citeproc[bibutils] + virtual/pkgconfig + api? ( + media-fonts/dejavu + ~sci-physics/root-${PV}[X,graphviz,opengl] + )" +RDEPEND="" + +DOC_DIR="/usr/share/doc/${ROOT_PN}-${PV}" + +src_unpack() { + if [[ ${PV} == "9999" ]] ; then + # we need to force sci-physics/root checkout here + git-r3_checkout "${EGIT_REPO_URI}" "${WORKDIR}/${P}" "sci-physics/root/0" + else + default + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}/${PN}-6.00.01-makehtml.patch" \ + "${FILESDIR}/${PN}-6.02.05-jsroot.patch" + + # prefixify the configure script + sed -i \ + -e "s:/usr:${EPREFIX}/usr:g" \ + configure || die "prefixify configure failed" +} + +src_configure() { + # we need only to setup paths here, html docs doesn't depend on USE flags + if use api; then + ./configure \ + --prefix="${EPREFIX}/usr" \ + --etcdir="${EPREFIX}/etc/root" \ + --libdir="${EPREFIX}/usr/$(get_libdir)/${PN}" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + --tutdir="${EPREFIX}/usr/share/doc/${PF}/examples/tutorials" \ + --testdir="${EPREFIX}/usr/share/doc/${PF}/examples/tests" \ + --with-llvm-config="${EPREFIX}/usr/bin/llvm-config" \ + --with-sys-iconpath="${EPREFIX}/usr/share/pixmaps" \ + --nohowto + fi +} + +src_compile() { + pdf_target=( primer users-guide ) + local pdf_size=pdfa4 + use metric || pdf_size=pdfletter + use math && pdf_target+=( minuit2 spectrum ) + use http && pdf_target+=( HttpServer JSROOT ) + + local i + for (( i=0; i<${#pdf_target[@]}; i++ )); do + emake -C documentation/"${pdf_target[i]}" "${pdf_size}" + done + + if use api; then + # video drivers may want to access hardware devices + cards=$(echo -n /dev/dri/card* /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g') + [[ -n "${cards}" ]] && addpredict "${cards}" + + ROOTSYS="${S}" Xemake html + # if root.exe crashes, return code will be 0 due to gdb attach, + # so we need to check if last html file was generated; + # this check is volatile and can't catch crash on the last file. + [[ -f htmldoc/WindowAttributes_t.html ]] || die "html doc generation crashed" + fi +} + +src_install() { + insinto "${DOC_DIR}" + + local i + for (( i=0; i<${#pdf_target[@]}; i++ )); do + doins documentation/"${pdf_target[i]}"/*.pdf + done + unset pdf_target + + use math && doins \ + "${DISTDIR}/RooFit_Users_Manual_${ROOFIT_DOC_PV}.pdf" \ + "${DISTDIR}/roofit_quickstart_${ROOFIT_QS_DOC_PV}.pdf" \ + "${DISTDIR}/TMVAUsersGuide-v${TMVA_DOC_PV}.pdf" + + if use api; then + # Install offline replacements for online messages + cp "${DISTDIR}"/{root6-banner.jpg,info.png} htmldoc/ || die "cp failed" + # too large data to copy + dodir "${DOC_DIR}/html" + mv htmldoc/* "${ED}${DOC_DIR}/html/" || die + docompress -x ${DOC_DIR}/html + fi +} diff --git a/app-editors/neovim/ChangeLog b/app-editors/neovim/ChangeLog deleted file mode 100644 index ef2a88db7..000000000 --- a/app-editors/neovim/ChangeLog +++ /dev/null @@ -1,19 +0,0 @@ -# ChangeLog for app-editors/neovim -# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: $ - - 19 Jan 2015; Justin Lecher <jlec@gentoo.org> neovim-9999.ebuild: - Fix deps, https://github.com/neovim/neovim/issues/1166 - - 14 Jun 2014; Jelte Fennema (JelteF) <github-tech@jeltef.nl> - neovim-9999.ebuild: - Use CFLAGS needed to get a working executable - - 10 May 2014; Jelte Fennema <github@jeltef.nl> neovim-9999.ebuild: - Add new cmsgpack and lpeg dependencies to neovim. - -*neovim-9999 (11 Mar 2014) - - 11 Mar 2014; Christoph Junghans <ottxor@gentoo.org> +metadata.xml, - +neovim-9999.ebuild: - initial commit diff --git a/app-editors/neovim/neovim-9999.ebuild b/app-editors/neovim/neovim-9999.ebuild deleted file mode 100644 index 3871687e9..000000000 --- a/app-editors/neovim/neovim-9999.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -inherit cmake-utils flag-o-matic - -if [ "${PV}" = "9999" ]; then - EGIT_REPO_URI="git://github.com/neovim/neovim.git" - inherit git-r3 - KEYWORDS="" -else - SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" -fi - -DESCRIPTION="Vim's rebirth for the 21st century" -HOMEPAGE="https://github.com/neovim/neovim" - -LICENSE="vim" -SLOT="0" -KEYWORDS="" -IUSE="" - -src_configure() { - append-flags "-DNDEBUG -Wno-error -D_FORTIFY_SOURCE=1" - cmake-utils_src_configure -} - -RDEPEND="app-admin/eselect-vi - sys-libs/ncurses" -DEPEND="${RDEPEND} - dev-lang/luajit - >=dev-libs/libuv-0.11.19 - dev-lua/lpeg - >=dev-lua/cmsgpack-9999" diff --git a/app-forensics/vine/ChangeLog b/app-forensics/vine/ChangeLog index 69dd1edb2..79761a29c 100644 --- a/app-forensics/vine/ChangeLog +++ b/app-forensics/vine/ChangeLog @@ -2,6 +2,9 @@ # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 23 Mar 2015; Marius Brehler <marbre@linux.sungazer.de> vine-1.0.ebuild: + Drop keywords, since gmetadom is hardmasked + 18 Feb 2015; Justin Lecher <jlec@gentoo.org> metadata.xml, vine-1.0.ebuild: app-forensics/vine: Drop unneeded @system deps diff --git a/app-forensics/vine/vine-1.0.ebuild b/app-forensics/vine/vine-1.0.ebuild index ffbb99544..3730551e1 100644 --- a/app-forensics/vine/vine-1.0.ebuild +++ b/app-forensics/vine/vine-1.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="http://bitblaze.cs.berkeley.edu/release/${P}/${P}.tar.gz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="" IUSE="" DEPEND=" diff --git a/app-portage/g-octave/g-octave-9999.ebuild b/app-portage/g-octave/g-octave-9999.ebuild index 102947c82..efc119bd5 100644 --- a/app-portage/g-octave/g-octave-9999.ebuild +++ b/app-portage/g-octave/g-octave-9999.ebuild @@ -4,7 +4,7 @@ EAPI=5 -PYTHON_COMPAT=( python{2_5,2_6,2_7,3_1,3_2} pypy{1_9,2_0} ) +PYTHON_COMPAT=( python2_7 ) inherit distutils-r1 git-r3 diff --git a/app-text/jabref/ChangeLog b/app-text/jabref/ChangeLog deleted file mode 100644 index 81f975de3..000000000 --- a/app-text/jabref/ChangeLog +++ /dev/null @@ -1,112 +0,0 @@ -# ChangeLog for app-text/jabref -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: $ - -*jabref-2.10 (11 Mar 2014) - - 11 Mar 2014; Nicolas Bock <nicolasbock@gentoo.org> +jabref-2.10.ebuild: - app-text/jabref-2.10: Version bump to new stable version. - - 28 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> jabref-2.9.2-r1.ebuild: - app-text/jabref: Removed docs USE flag from jabref-2.9.2-r1 The documentation - build system in this version is broken. The current beta version (2.10_beta2) - fixes this issue. - - 28 Jan 2014; Justin Lecher <jlec@gentoo.org> -jabref-2.10_beta.ebuild, - -jabref-2.10_beta-r1.ebuild, -jabref-2.10_beta2.ebuild, - jabref-2.10_beta2-r1.ebuild: - Add missing dep - - 03 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> - jabref-2.10_beta2-r1.ebuild: - app-text/jabref: Remove another bundled library. - - 03 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> - jabref-2.10_beta2-r1.ebuild: - app-text/jabref: Remove another bundled lib. - - 03 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> jabref-2.10_beta-r1.ebuild, - jabref-2.10_beta2-r1.ebuild: - app-text/jabref: Do not remove unjarlib target yet. We need to first replace - all bundled libs with portage versions. - - 03 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> jabref-2.10_beta-r1.ebuild, - jabref-2.10_beta2-r1.ebuild: - app-text/jabref: Fix bug in java-pkg_getjars; use a '-' instead of ':' to - specify slot. - -*jabref-2.10_beta-r1 (03 Jan 2014) - - 03 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> - +jabref-2.10_beta-r1.ebuild: - app-text/jabref-2.10_beta-r1: Adding revised ebuild for first beta. - - 03 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> - jabref-2.10_beta2-r1.ebuild: - app-text/jabref-2.10_beta2-r1: Added back slotted fontbox package, but fixed - java-pkg_getjars. - - 03 Jan 2014; Justin Lecher <jlec@gentoo.org> jabref-2.10_beta2-r1.ebuild, - metadata.xml: - Fix fontbox SLOT - -*jabref-2.10_beta2-r1 (02 Jan 2014) - - 02 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> - +jabref-2.10_beta2-r1.ebuild: - app-text/jabref-2.10_beta2-r1: Started to remove bundled libraries. - -*jabref-2.10_beta2 (02 Jan 2014) - - 02 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> +jabref-2.10_beta2.ebuild: - app-text/jabref-2.10_beta2: Added new beta. - -*jabref-2.9.2-r1 (02 Jan 2014) - - 02 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> +jabref-2.9.2-r1.ebuild: - app-text/jabref-2.9.2-r1: Small cleanup. - - 20 Dec 2013; Nicolas Bock <nicolasbock@gentoo.org> -jabref-2.9.2-r1.ebuild, - -jabref-2.9.2.ebuild: - app-text/jabref: Moved jabref-2.9.2 to x86. - - 13 Dec 2013; Nicolas Bock <nicolasbock@gentoo.org> metadata.xml: - app-text/jabref: updated maintainter email to gentoo.org. - - 17 Jun 2013; Nicolas Bock <nicolasbock@gmail.com> jabref-2.10_beta.ebuild: - Fixed bug in jabref ebuild. - -*jabref-2.10_beta (17 Jun 2013) - - 17 Jun 2013; Nicolas Bock <nicolasbock@gmail.com> +jabref-2.10_beta.ebuild, - -jabref-2.10b.ebuild: - Renamed ebuild to conform with Gentoo Ebuild Naming Convention (TM). - http://devmanual.gentoo.org/ebuild-writing/file-format/ - - 08 Apr 2013; Nicolas Bock <nicolasbock@gmail.com> jabref-2.10b.ebuild: - Jabref-2.10b does not build anymore with Java 6. Bumping java requirement to - java 7. - -*jabref-2.10b (05 Apr 2013) - - 05 Apr 2013; Nicolas Bock <nicolasbock@gmail.com> +jabref-2.10b.ebuild: - Adding jabref-2.10b (beta) ebuild. - - 20 Feb 2013; Sébastien Fabbro <bicatali@gentoo.org> jabref-2.9.2-r1.ebuild: - app-text/jabref: Fixed doc generation, keyword amd64-linux and x86-linux - -*jabref-2.9.2-r1 (15 Feb 2013) - - 15 Feb 2013; Nicolas Bock <nicolasbock@gmail.com> +jabref-2.9.2-r1.ebuild, - jabref-2.9.2.ebuild: - Added ~x86 KEYWORD and API/README do docs. - - 14 Feb 2013; Nicolas Bock <nicolasbock@gmail.com> jabref-2.9.2.ebuild, - metadata.xml: - Added changes suggested by Christoph Junghans <ottxor@gentoo.org>. - -*jabref-2.9.2 (14 Feb 2013) - - 14 Feb 2013; Nick <nbock@gentoo.org> +jabref-2.9.2.ebuild, +metadata.xml: - Adding first draft version of jabref-2.9.2 ebuild. This version is loosely - based on jabref-2.8.1.ebuild attached to bug 385751 on bugs.gentoo.org. diff --git a/app-text/jabref/Manifest b/app-text/jabref/Manifest deleted file mode 100644 index 1ee65b5a2..000000000 --- a/app-text/jabref/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -DIST JabRef-2.10-src.tar.bz2 16769469 SHA256 09b57afcfeb1730b58a887dc28f0f4c803e9c00fade1f57245ab70e2a98ce6ad SHA512 72eee8fb08040fc7bfd395729d3c74f0a8841c90d5aa6e6e8d8e68ddcc1ffe1f6659a045aa951d51deffe266ee0b1ff844c4fdf36537d5463de6b361803bb942 WHIRLPOOL db0edafb63a6c37b001b071693278c2c0054ab20ae0744147fe8b1a828f1e575b7751d5aabca05a640fc7c099ce9402df835c6e81a0c3b21b7aa700110c426de -DIST JabRef-2.10b2-src.tar.bz2 16796962 SHA256 296a55bd480c252facfae25b6ee36b4d490ec6e1852d79609b01d6ad6d12d941 SHA512 611456d0fcc310987876b0210537ed5cc648bed43de543b465b93613bf6f2449ba4514e3086dc633005e630216ac776f716671b9085623940e380b5133cb4323 WHIRLPOOL 220548bf28ffef14e488838fbe7b2e130043518369de9bc95fc7ee7207f49a6995dd59f3e2857e2afabe3762739e6b0ecfc36ead5a46114bcf1932dfe08e25eb -DIST JabRef-2.9.2-src.tar.bz2 16664284 SHA256 12bc7e489709bc6f57327bf8e15c6bc9ceaa600369dca6452b7c13d792215e83 SHA512 40eb5d3f3528e92c4d5c62abce12d87ea63b84a58778a32151cd1af2a0198c49aa354ee295f8b3c9449d5b078f7119163babd3c29f358b0d56b3776980292463 WHIRLPOOL d2115e497066f31a3772085510f6820e46a55fbe36778471e6c81a4973f45607761cca80655cfefffb1308f65315ef72fb17791fe964d004826f345322ca0dcf diff --git a/app-text/jabref/jabref-2.10.ebuild b/app-text/jabref/jabref-2.10.ebuild deleted file mode 100644 index 47b2e1643..000000000 --- a/app-text/jabref/jabref-2.10.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-text/jabref/jabref-2.10_beta3.ebuild,v 1.1 2014/02/19 04:10:12 nicolasbock Exp $ - -EAPI=5 - -JAVA_ANT_REWRITE_CLASSPATH="true" - -inherit eutils java-pkg-2 java-ant-2 java-utils-2 - -MY_PV="${PV/_beta/b}" - -DESCRIPTION="Java GUI for managing BibTeX and other bibliographies" -HOMEPAGE="http://jabref.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/JabRef-${MY_PV}-src.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="doc" - -COMMON_DEP=" - dev-java/antlr:3 - dev-java/fontbox:1.7 - dev-java/jempbox:1.7 - dev-java/log4j:0 - dev-java/spin:0 - " - -DEPEND=" - >=virtual/jdk-1.6 - ${COMMON_DEP}" - -RDEPEND=" - >=virtual/jre-1.6 - ${COMMON_DEP}" - -S="${WORKDIR}/${PN}-${MY_PV}" - -java_prepare() { - # Remove bundled dependencies. - rm lib/antlr*.jar || die - rm lib/fontbox*.jar || die - rm lib/jempbox*.jar || die - rm lib/spin.jar || die - - # Remove unjarlib target (do this only once we have removed all - # bundled dependencies in lib). - #sed -i -e 's:depends="build, unjarlib":depends="build":' build.xml -} - -src_compile() { - local EXTERNAL_JARS="antlr-3,fontbox-1.7,jempbox-1.7,spin" - local CLASSPATH="$(java-pkg_getjars --with-dependencies ${EXTERNAL_JARS})" - eant \ - -Dgentoo.classpath=${CLASSPATH} \ - jars \ - $(usex doc docs "") -} - -src_install() { - java-pkg_newjar build/lib/JabRef-${MY_PV}.jar - - use doc && java-pkg_dojavadoc build/docs/API - dodoc src/txt/README - - java-pkg_dolauncher ${PN} --main net.sf.jabref.JabRef - newicon src/images/JabRef-icon-48.png JabRef-icon.png - make_desktop_entry ${PN} JabRef JabRef-icon Office -} diff --git a/app-text/jabref/jabref-2.10_beta2-r1.ebuild b/app-text/jabref/jabref-2.10_beta2-r1.ebuild deleted file mode 100644 index 7ac1db143..000000000 --- a/app-text/jabref/jabref-2.10_beta2-r1.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -JAVA_ANT_REWRITE_CLASSPATH="true" - -inherit eutils java-pkg-2 java-ant-2 java-utils-2 - -MY_PV="${PV/_beta/b}" - -DESCRIPTION="Java GUI for managing BibTeX and other bibliographies" -HOMEPAGE="http://jabref.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/JabRef-${MY_PV}-src.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="doc" - -COMMON_DEP=" - dev-java/antlr:3 - dev-java/fontbox:1.7 - dev-java/jempbox:1.7 - dev-java/log4j:0 - dev-java/spin:0 - " - -DEPEND=" - >=virtual/jdk-1.6 - ${COMMON_DEP}" - -RDEPEND=" - >=virtual/jre-1.6 - ${COMMON_DEP}" - -S="${WORKDIR}/${PN}-${MY_PV}" - -java_prepare() { - # Remove bundled dependencies. - rm lib/antlr*.jar || die - rm lib/fontbox*.jar || die - rm lib/jempbox*.jar || die - rm lib/spin.jar || die - - # Remove unjarlib target (do this only once we have removed all - # bundled dependencies in lib). - #sed -i -e 's:depends="build, unjarlib":depends="build":' build.xml -} - -src_compile() { - local EXTERNAL_JARS="antlr-3,fontbox-1.7,jempbox-1.7,spin" - local CLASSPATH="$(java-pkg_getjars --with-dependencies ${EXTERNAL_JARS})" - eant \ - -Dgentoo.classpath=${CLASSPATH} \ - jars \ - $(usex doc docs "") -} - -src_install() { - java-pkg_newjar build/lib/JabRef-${MY_PV}.jar - - use doc && java-pkg_dojavadoc build/docs/API - dodoc src/txt/README - - java-pkg_dolauncher ${PN} --main net.sf.jabref.JabRef - newicon src/images/JabRef-icon-48.png JabRef-icon.png - make_desktop_entry ${PN} JabRef JabRef-icon Office -} diff --git a/app-text/jabref/jabref-2.9.2-r1.ebuild b/app-text/jabref/jabref-2.9.2-r1.ebuild deleted file mode 100644 index 27395fad8..000000000 --- a/app-text/jabref/jabref-2.9.2-r1.ebuild +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=5 - -EANT_BUILD_TARGET="jars" - -inherit eutils java-pkg-2 java-ant-2 java-utils-2 - -DESCRIPTION="Java GUI for managing BibTeX and other bibliographies" -HOMEPAGE="http://jabref.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/JabRef-${PV}-src.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="" - -DEPEND=">=virtual/jdk-1.6" -RDEPEND=">=virtual/jre-1.6" - -src_install() { - java-pkg_newjar build/lib/JabRef-${PV}.jar - java-pkg_dolauncher ${PN} --main net.sf.jabref.JabRef - newicon src/images/JabRef-icon-48.png JabRef-icon.png - make_desktop_entry ${PN} JabRef JabRef-icon Office -} diff --git a/app-vim/vim-gromacs/ChangeLog b/app-vim/vim-gromacs/ChangeLog index b9c719358..74853f725 100644 --- a/app-vim/vim-gromacs/ChangeLog +++ b/app-vim/vim-gromacs/ChangeLog @@ -1,7 +1,10 @@ # ChangeLog for app-vim/vim-gromacs -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 05 Jun 2015; Justin Lecher <jlec@gentoo.org> metadata.xml: + app-vim/vim-gromacs: Add github to remote-id in metadata.xml + 16 Sep 2014; Christoph Junghans <ottxor@gentoo.org> vim-gromacs-9999.ebuild: removed empty line diff --git a/app-vim/vim-gromacs/metadata.xml b/app-vim/vim-gromacs/metadata.xml index 046c58b8a..de2225605 100644 --- a/app-vim/vim-gromacs/metadata.xml +++ b/app-vim/vim-gromacs/metadata.xml @@ -5,4 +5,7 @@ <longdescription lang="en"> VIM syntax plugin which provides syntax highlighting for the gromacs files. </longdescription> + <upstream> + <remote-id type="github">HubLot/vim-gromacs</remote-id> + </upstream> </pkgmetadata> diff --git a/dev-cpp/eigen/ChangeLog b/dev-cpp/eigen/ChangeLog index 8c4143f8d..0f40946a6 100644 --- a/dev-cpp/eigen/ChangeLog +++ b/dev-cpp/eigen/ChangeLog @@ -2,6 +2,12 @@ # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: /var/cvsroot/gentoo-x86/dev-cpp/eigen/ChangeLog,v 1.44 2011/03/25 16:01:28 jlec Exp $ +*eigen-3.2.4 (16 Apr 2015) + + 16 Apr 2015; Justin Lecher <jlec@gentoo.org> +eigen-3.2.4.ebuild, + -eigen-3.1.4.ebuild, -eigen-3.2.1-r2.ebuild: + dev-cpp/eigen: Drop old; Version Bump + 18 Feb 2015; Justin Lecher <jlec@gentoo.org> -eigen-3.2.0-r1.ebuild, eigen-9999.ebuild, metadata.xml: dev-cpp/eigen: Drop old; fix SLOT operators diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest index 3380c85a0..c3cd8343e 100644 --- a/dev-cpp/eigen/Manifest +++ b/dev-cpp/eigen/Manifest @@ -1,6 +1,4 @@ -DIST eigen-3.1.4-cmake.patch 3294 SHA256 2be458affc18b833f31b767b823b1e490e6d0115d040a802eb334c5884c8ad88 SHA512 229c0c1f3d95ae505b5accd1aeba19f59a064218cf9b0d844dbc4c660a4cddb666f818268ba1899370877034a70a87317ca8bf14822e3b85d0bbe7f3bb5c7cf6 WHIRLPOOL ae78de8cc7f3b58749dcfefc6ac4fd96cca84e048b0337b1590d5097b4838c751c237844b4aa996ce75d10e830d406fa52ef68f509d0ae8e21a75fc589a1a6d3 -DIST eigen-3.1.4.tar.bz2 1052745 SHA256 80ea2d76b649e9ea413090f96c32bd408f07872b50cc6844bc3136e635492414 SHA512 555aea79b5dcdb8a1c15f223bb64191d69012a9f895e15218a2e0478bc7dc3d8a61d257c072ca29cd9e5788541ac0540af45320cfdb4095360dce841dfaba692 WHIRLPOOL b0e52eb7f6a89a75e67a3f0f3ad73abd0e51bfc639960c9f5699ae48c628e6160f6b3059178f4fa5b5212357b7cd5fe31082f06e0bfe1557d4dad1332999d62f -DIST eigen-3.2.1-cmake.patch 3294 SHA256 2be458affc18b833f31b767b823b1e490e6d0115d040a802eb334c5884c8ad88 SHA512 229c0c1f3d95ae505b5accd1aeba19f59a064218cf9b0d844dbc4c660a4cddb666f818268ba1899370877034a70a87317ca8bf14822e3b85d0bbe7f3bb5c7cf6 WHIRLPOOL ae78de8cc7f3b58749dcfefc6ac4fd96cca84e048b0337b1590d5097b4838c751c237844b4aa996ce75d10e830d406fa52ef68f509d0ae8e21a75fc589a1a6d3 -DIST eigen-3.2.1.tar.bz2 1138080 SHA256 66e6f2ede78d0ef650ae95aa570f548c095690b011000f9163c32618736c928a SHA512 0c60139d23c6e51883d06c92d4c089f1b3eb3b75738d7064cfa3bc79148dd23bb00c98a53636fe396d89a3734d950ef938993c5662181d5327a8ae930afeb4e5 WHIRLPOOL 85f25256732bf995b9431dfae6c44d2c42c7f610b351854f1c0e92ebe795578a9d0dac3d2444b535760bee0dc0c009808fcfe7e74a03737291777ff47a959b17 DIST eigen-3.2.2-cmake.patch 3294 SHA256 2be458affc18b833f31b767b823b1e490e6d0115d040a802eb334c5884c8ad88 SHA512 229c0c1f3d95ae505b5accd1aeba19f59a064218cf9b0d844dbc4c660a4cddb666f818268ba1899370877034a70a87317ca8bf14822e3b85d0bbe7f3bb5c7cf6 WHIRLPOOL ae78de8cc7f3b58749dcfefc6ac4fd96cca84e048b0337b1590d5097b4838c751c237844b4aa996ce75d10e830d406fa52ef68f509d0ae8e21a75fc589a1a6d3 DIST eigen-3.2.2.tar.bz2 1142184 SHA256 929326dcf23a5b9125f898858f2b2b8e4685173c9a5963f86e593791abb621b1 SHA512 95e40a1abc88ec7790755f0156d9ab414fd61c2b476f38e71b91fe5135328109fa348473748a5440a163f0b5da101b380f34784533ad9326f1ccea3de0c11a99 WHIRLPOOL 013bf7b8489be191fd471216048eed0aa1ac3e108ff84f3ddeb91b91e0ecb9d53bb2dedf31ec8cfb92c3daf654b6980776f1d3c3b29eb8ae39321bc2e1b3f2bd +DIST eigen-3.2.4-cmake.patch 3294 SHA256 2be458affc18b833f31b767b823b1e490e6d0115d040a802eb334c5884c8ad88 SHA512 229c0c1f3d95ae505b5accd1aeba19f59a064218cf9b0d844dbc4c660a4cddb666f818268ba1899370877034a70a87317ca8bf14822e3b85d0bbe7f3bb5c7cf6 WHIRLPOOL ae78de8cc7f3b58749dcfefc6ac4fd96cca84e048b0337b1590d5097b4838c751c237844b4aa996ce75d10e830d406fa52ef68f509d0ae8e21a75fc589a1a6d3 +DIST eigen-3.2.4.tar.bz2 1147976 SHA256 d64332c92e31803d2c59f6646ed893965c666acfc7c284e4f5e9ffbb4d148922 SHA512 decf50a54011a8275d6d00194e98933b1184e665802892fe87515590ab92843d538d5170afc549730193dc93ae350674eb59d7d324e1f7d608867c7208c5509a WHIRLPOOL 8625bc0d4c171f7a80be070f72651ac8b58b7f4112980cb8c406d1e01f14a10efdf957c6c6fd170da8a595bc86c0016863f3815cb75db272ed789d18b97d8098 diff --git a/dev-cpp/eigen/eigen-3.2.1-r2.ebuild b/dev-cpp/eigen/eigen-3.2.1-r2.ebuild deleted file mode 120000 index eafd77401..000000000 --- a/dev-cpp/eigen/eigen-3.2.1-r2.ebuild +++ /dev/null @@ -1 +0,0 @@ -eigen-9999.ebuild
\ No newline at end of file diff --git a/dev-cpp/eigen/eigen-3.1.4.ebuild b/dev-cpp/eigen/eigen-3.2.4.ebuild index eafd77401..eafd77401 120000 --- a/dev-cpp/eigen/eigen-3.1.4.ebuild +++ b/dev-cpp/eigen/eigen-3.2.4.ebuild diff --git a/dev-cpp/icnc/ChangeLog b/dev-cpp/icnc/ChangeLog index 8de9e15ef..72d7f2105 100644 --- a/dev-cpp/icnc/ChangeLog +++ b/dev-cpp/icnc/ChangeLog @@ -2,6 +2,9 @@ # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 06 Jun 2015; Justin Lecher <jlec@gentoo.org> metadata.xml: + dev-cpp/icnc: Add github to remote-id in metadata.xml + 08 Feb 2015; Christoph Junghans <ottxor@gentoo.org> icnc-9999.ebuild: fix bug #539318 diff --git a/dev-cpp/icnc/metadata.xml b/dev-cpp/icnc/metadata.xml index 745b9e1ce..c3e80bdd7 100644 --- a/dev-cpp/icnc/metadata.xml +++ b/dev-cpp/icnc/metadata.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer> - <email>ottxor@gentoo.org</email> - <name>Christoph Junghans</name> - </maintainer> + <maintainer> + <email>ottxor@gentoo.org</email> + <name>Christoph Junghans</name> + </maintainer> + <upstream> + <remote-id type="github">icnc/icnc</remote-id> + </upstream> </pkgmetadata> diff --git a/dev-java/glazedlists/ChangeLog b/dev-java/glazedlists/ChangeLog deleted file mode 100644 index 92e286d3f..000000000 --- a/dev-java/glazedlists/ChangeLog +++ /dev/null @@ -1,12 +0,0 @@ -# ChangeLog for dev-java/glazedlists -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: $ - -*glazedlists-1.8.0 (20 Feb 2014) - - 20 Feb 2014; Nicolas Bock <nicolasbock@gentoo.org> - +files/glazedlists-1.8.0-build.xml.patch, +glazedlists-1.8.0.ebuild, - +metadata.xml: - dev-java/glazedlists-1.8.0: Version bump. Fixing bug 430062 [1]. These are - dmol's ebuild and patch. Thanks! [1] - https://bugs.gentoo.org/show_bug.cgi?id=430062 diff --git a/dev-java/glazedlists/Manifest b/dev-java/glazedlists/Manifest deleted file mode 100644 index 61623b304..000000000 --- a/dev-java/glazedlists/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST glazedlists-1.8.0-source_java15.zip 1169436 SHA256 1afbded7118d3026a666622c8a6aa46bc41ae09c9e832125fe3dc3a3dba5d42b SHA512 3fc3f339a248a8aad897409d752464d60b504474ae1e4d99fa7fbb41d767928137711d5d9979154b53d677e42746e2df2dfefdc71fa4a8017ec70ab23dc4b6a5 WHIRLPOOL b5d37cebde2be0a57032be29667763d97b54f3d1a5b48e40e09b5ce09e3ae654776c4d6817c09c018fad7fb0d9bdbdde6b6198e4405250fcc2451d008c90fb40 diff --git a/dev-java/glazedlists/files/glazedlists-1.8.0-build.xml.patch b/dev-java/glazedlists/files/glazedlists-1.8.0-build.xml.patch deleted file mode 100644 index 624df5ee9..000000000 --- a/dev-java/glazedlists/files/glazedlists-1.8.0-build.xml.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- build.xml.orig 2009-01-25 18:14:28.000000000 -0700 -+++ build.xml 2014-02-20 11:22:45.000000000 -0700 -@@ -164,14 +164,18 @@ -
- <mkdir dir="tools"/>
- <!--download the BND library for creating entries in the manifest.mf file which make it a compliant OSGi bundle. See http://www.osgi.org/ -->
-+ <!--
- <java classname="ca.odell.glazedlists.impl.HttpClient">
- <classpath path="${classes.dir}"/>
- <arg value="https://glazedlists.dev.java.net/files/documents/1073/110958/bnd.jar"/>
- <arg value="tools/bnd.jar"/>
- </java>
-+ -->
-
- <!-- prepare the bnd task which generates OSGi bundle JARs -->
-+ <!--
- <taskdef resource="aQute/bnd/ant/taskdef.properties" classpath="tools/bnd.jar"/>
-+ -->
-
- <!-- create a normal jar file -->
- <jar destfile="${target.dir}/${jar.file}" update="true" index="true">
-@@ -184,13 +188,19 @@ - </jar>
-
- <!-- use the BND tool to generate an OSGi jar from scratch, using the original JAR file as input -->
-+ <!--
- <bnd classpath="${target.dir}/${jar.file}" output="${target.dir}/${jar.file}.osgi" exceptions="true" files="glazedlists.bnd"/>
-+ -->
-
- <!-- delete the original jar file -->
-+ <!--
- <delete file="${target.dir}/${jar.file}"/>
-+ -->
-
- <!-- rename the OSGi Bundle to the orignal jar file's name -->
-+ <!--
- <move file="${target.dir}/${jar.file}.osgi" toFile="${target.dir}/${jar.file}"/>
-+ -->
- </target>
-
- <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-@@ -201,7 +211,7 @@ - description="Compile the default components of the source.">
- </target>
-
-- <target name="compileall" depends="core,migrationkit,swing,io,calculation,swt,ktable,issuesbrowser,swinglabs,hibernate,icu4j"
-+ <target name="compileall" depends="core,migrationkit,swing,io"
- description="Compile all components of the source.">
- </target>
-
-@@ -1032,4 +1042,4 @@ - </delete>
- </target>
-
--</project> -\ No newline at end of file -+</project>
diff --git a/dev-java/glazedlists/glazedlists-1.8.0.ebuild b/dev-java/glazedlists/glazedlists-1.8.0.ebuild deleted file mode 100644 index 16786dce8..000000000 --- a/dev-java/glazedlists/glazedlists-1.8.0.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="5" -JAVA_PKG_IUSE="doc source" - -inherit eutils java-pkg-2 java-ant-2 - -DESCRIPTION="A toolkit for list transformations" -HOMEPAGE="http://publicobject.com/glazedlists/" -SRC_URI="http://java.net/downloads/${PN}/${P}/${P}-source_java15.zip" -LICENSE="|| ( LGPL-2.1 MPL-1.1 )" -SLOT="0" -KEYWORDS="~amd64" -# TODO: there are extensions, some supported in the java-experimental ebuild -IUSE="" - -RDEPEND=">=virtual/jre-1.5" -DEPEND=">=virtual/jdk-1.5 - app-arch/unzip" - -S="${WORKDIR}" - -JAVA_PKG_BSFIX="off" - -# tests seem to be buggy -RESTRICT="test" - -java_prepare() { - # disable autodownloading of dependencies - # sort out test targets - epatch "${FILESDIR}/${P}-build.xml.patch" -} - -EANT_DOC_TARGET="docs" - -src_install() { - java-pkg_newjar "target/${PN}_java15.jar" - - if use doc; then - dohtml readme.html || die - java-pkg_dojavadoc "target/docs/api" - fi - if use source; then - # collect source folders for all the used extensions - local source_folders="source/ca extensions/treetable/source/*" - java-pkg_dosrc ${source_folders} - fi -} diff --git a/dev-java/gluegen/ChangeLog b/dev-java/gluegen/ChangeLog index df8ea936c..d23d7be03 100644 --- a/dev-java/gluegen/ChangeLog +++ b/dev-java/gluegen/ChangeLog @@ -1,7 +1,21 @@ # ChangeLog for dev-java/gluegen -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 06 Jun 2015; Justin Lecher <jlec@gentoo.org> metadata.xml: + dev-java/gluegen: Add github to remote-id in metadata.xml + + 03 Apr 2015; Guillaume Horel <guillaume.horel@gmail.com> + +files/2.2.4-dont-copy-jars.patch, +files/2.2.4-dont-strip.patch, + +files/2.2.4-dont-test-archive.patch, gluegen-2.2.4.ebuild: + dev-java/gluegen: rework ebuild starting from 2.1.4 + +*gluegen-2.2.4 (03 Apr 2015) + + 03 Apr 2015; Guillaume Horel <guillaume.horel@gmail.com> + +gluegen-2.2.4.ebuild: + dev-java/gluegen: version bump + 03 Nov 2014; Justin Lecher <jlec@gentoo.org> gluegen-1_p20080421.ebuild, gluegen-2.0_rc8.ebuild, -gluegen-2.1.2.ebuild, gluegen-2.1.4.ebuild: Bump to EAPI=5; drop old diff --git a/dev-java/gluegen/Manifest b/dev-java/gluegen/Manifest index 9c3455f9f..763f377fd 100644 --- a/dev-java/gluegen/Manifest +++ b/dev-java/gluegen/Manifest @@ -1,3 +1,4 @@ DIST gluegen-2.1.4.tar.gz 42235490 SHA256 18826c58b136dc44089346791e6ed57c7e2828a1ee4d6279d15e26cb12c2b926 SHA512 196478de92686b168d6f35e2e7141a31f682d22a7f96b5bc84d46905c42eb5bf25bacd74ccc51975fc7894e2e0ba2e236a4a68c101bbabaaa5193e4bdc50f607 WHIRLPOOL c05e723d85021f464d49b48fc2a0f11e5979d42355e6ac0d7437c40407d34829d5a531bf2687d47fa29cd8affd14d400a333fe90624a7ecda832a1cf76696440 +DIST gluegen-2.2.4.tar.gz 43113191 SHA256 e931cf9924076a9cbf8ea040f8f5ab22edb9eed3c56f35806c8508fac0b70cc9 SHA512 53e973ca8478f4513f9662d1375406af95f2181dae3fb3e3247e4752960e60e741f7eae36981967dba10ac7bc3dc0e85c159c193323c177ce733a9eb0540b98b WHIRLPOOL 62aa65b0cea7eb9186e6aaf90b9c453656327b1a1562d0ec7ac91deaf91f4a3213bd52862ca792878cae9ea2e22ea94cf0b22dd117bac0535abe954fdc71318b DIST gluegen-20080421.tar.bz2 1044951 SHA256 15ef8f499afc2256615bf453b318fbc22fbe146293ca4c6ca87c98577bf5a026 SHA512 3bffb55ec8723ac452b38d41f1bc596ee3065b1f791b8c7aec06d8acffdfd83d81553d9090fc273b56fa748b501f3a25f8dc4736bad291bc77f15d211957470d WHIRLPOOL 6171345011955517e84c9b82d187e2fe0c96fc1733ee6427248159fd8456472ea15c9cd223bd784a33478a4cfc568ddcfd73ea0addd13daa1b483b7a8cfe66c1 DIST gluegen-v2.0-rc8.tar.7z 35196696 SHA256 8cae313dfe03d13cdd165aa7d9e698897affae290e7ce7c4a27479fe6522c0dc SHA512 9845246f9776139cd205f197203349eba28150d5018bd086e6f7484df765b4cd122d78fbf836780a10b0d6395c645eb8ec7a256b8f832453c0b20155a11b3a0f WHIRLPOOL 427d6ef990a0702b81a4f62a74dce628594144507392cb8d25b5af5cbeca186faef987c809eeb1faf5d99b8f867213c7786d43f4418f85d04ac68d96595b83b3 diff --git a/dev-java/gluegen/files/2.2.4-dont-copy-jars.patch b/dev-java/gluegen/files/2.2.4-dont-copy-jars.patch new file mode 100644 index 000000000..dca10dce8 --- /dev/null +++ b/dev-java/gluegen/files/2.2.4-dont-copy-jars.patch @@ -0,0 +1,17 @@ +diff --git a/gluegen-2.1.4_rc01/make/build.xml b/gluegen-2.1.4_rc01/make/build.xml +index 55ef270..bce6d12 100644 +--- a/gluegen-2.1.4_rc01/make/build.xml ++++ b/gluegen-2.1.4_rc01/make/build.xml +@@ -806,12 +806,6 @@ + </fileset> + </jar> + +- <!-- Copy antlr.jar into build directory for convenience so +- gluegen.jar can be run via "java -jar". antlr.jar is +- referenced via a Class-Path entry in the Manifest of +- gluegen.jar. --> +- <copy file="${antlr.jar}" todir="${build}" /> +- + <!-- copy a jnlp with empty codebase into build folder for local testing + overwrite property in gluegen.proerpties if desired --> + <property name="gluegen.jnlp.codebase" value=""/> diff --git a/dev-java/gluegen/files/2.2.4-dont-strip.patch b/dev-jav |