From bef37b95740a38498b56dc8e8ca0208e49190aa7 Mon Sep 17 00:00:00 2001 From: Lars Wendler Date: Sat, 24 Nov 2012 22:42:49 +0000 Subject: Revbump to fix an endless grep search (needed by tortoisehg) (Portage version: 2.2.0_alpha142/cvs/Linux x86_64, signed Manifest commit with key 0x981CA6FC) --- dev-vcs/mercurial/ChangeLog | 9 +- .../mercurial-2.4-dont_grep_indefinitely.patch | 43 +++++++ dev-vcs/mercurial/mercurial-2.4-r1.ebuild | 142 +++++++++++++++++++++ dev-vcs/mercurial/mercurial-2.4.ebuild | 139 -------------------- 4 files changed, 193 insertions(+), 140 deletions(-) create mode 100644 dev-vcs/mercurial/files/mercurial-2.4-dont_grep_indefinitely.patch create mode 100644 dev-vcs/mercurial/mercurial-2.4-r1.ebuild delete mode 100644 dev-vcs/mercurial/mercurial-2.4.ebuild (limited to 'dev-vcs') diff --git a/dev-vcs/mercurial/ChangeLog b/dev-vcs/mercurial/ChangeLog index 752d52589e62..452dd0d393f6 100644 --- a/dev-vcs/mercurial/ChangeLog +++ b/dev-vcs/mercurial/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-vcs/mercurial # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-vcs/mercurial/ChangeLog,v 1.87 2012/11/11 18:04:43 polynomial-c Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/mercurial/ChangeLog,v 1.88 2012/11/24 22:42:49 polynomial-c Exp $ + +*mercurial-2.4-r1 (24 Nov 2012) + + 24 Nov 2012; Lars Wendler -mercurial-2.4.ebuild, + +mercurial-2.4-r1.ebuild, +files/mercurial-2.4-dont_grep_indefinitely.patch: + non-maintainer commit: Revbump to fix an endless grep search (needed by + tortoisehg). *mercurial-2.4 (11 Nov 2012) diff --git a/dev-vcs/mercurial/files/mercurial-2.4-dont_grep_indefinitely.patch b/dev-vcs/mercurial/files/mercurial-2.4-dont_grep_indefinitely.patch new file mode 100644 index 000000000000..0f95724ffa11 --- /dev/null +++ b/dev-vcs/mercurial/files/mercurial-2.4-dont_grep_indefinitely.patch @@ -0,0 +1,43 @@ + +# HG changeset patch +# User Idan Kamara +# Date 1352741223 -7200 +# Node ID 35ba170c0f82dba18f0207ef4bd93216e6de8bbf +# Parent 45bd0cd7ca04f8cda0a61cddded8838dd312675a +grep: don't search past the end of the searched string + +'*' causes the resulting RE to match 0 or more repetitions of the preceding RE: + +>>> bool(re.search('.*', '')) +>>> True + +This causes an infinite loop because currently we're only checking if there was +a match without looking at where we are in the searched string. + +diff -r 45bd0cd7ca04 -r 35ba170c0f82 mercurial/commands.py +--- a/mercurial/commands.py Tue Nov 13 08:41:56 2012 -0800 ++++ b/mercurial/commands.py Mon Nov 12 19:27:03 2012 +0200 +@@ -2935,7 +2935,7 @@ + def matchlines(body): + begin = 0 + linenum = 0 +- while True: ++ while True and begin < len(body): + match = regexp.search(body, begin) + if not match: + break +diff -r 45bd0cd7ca04 -r 35ba170c0f82 tests/test-grep.t +--- a/tests/test-grep.t Tue Nov 13 08:41:56 2012 -0800 ++++ b/tests/test-grep.t Mon Nov 12 19:27:03 2012 +0200 +@@ -23,6 +23,10 @@ + + simple + ++ $ hg grep '.*' ++ port:4:export ++ port:4:vaportight ++ port:4:import/export + $ hg grep port port + port:4:export + port:4:vaportight + diff --git a/dev-vcs/mercurial/mercurial-2.4-r1.ebuild b/dev-vcs/mercurial/mercurial-2.4-r1.ebuild new file mode 100644 index 000000000000..c707f47ee784 --- /dev/null +++ b/dev-vcs/mercurial/mercurial-2.4-r1.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/mercurial/mercurial-2.4-r1.ebuild,v 1.1 2012/11/24 22:42:49 polynomial-c Exp $ + +EAPI=3 +PYTHON_DEPEND="2" +PYTHON_USE_WITH="threads" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*" + +inherit bash-completion-r1 elisp-common eutils distutils + +DESCRIPTION="Scalable distributed SCM" +HOMEPAGE="http://mercurial.selenic.com/" +SRC_URI="http://mercurial.selenic.com/release/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="bugzilla emacs gpg test tk zsh-completion" + +RDEPEND="bugzilla? ( dev-python/mysql-python ) + gpg? ( app-crypt/gnupg ) + tk? ( dev-lang/tk ) + zsh-completion? ( app-shells/zsh )" +DEPEND="emacs? ( virtual/emacs ) + test? ( app-arch/unzip + dev-python/pygments )" + +PYTHON_CFLAGS=( + "2.* + -fno-strict-aliasing" + "* - -ftracer -ftree-vectorize" +) + +PYTHON_MODNAME="${PN} hgext" +SITEFILE="70${PN}-gentoo.el" + +src_prepare() { + distutils_src_prepare + + # fix up logic that won't work in Gentoo Prefix (also won't outside in + # certain cases), bug #362891 + sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die + + # Fix an endless grep search (needed by tortoisehg) + epatch "${FILESDIR}"/${P}-dont_grep_indefinitely.patch +} + +src_compile() { + distutils_src_compile + + if use emacs; then + cd "${S}"/contrib || die + elisp-compile mercurial.el || die "elisp-compile failed!" + fi + + rm -rf contrib/{win32,macosx} || die +} + +src_install() { + distutils_src_install + + newbashcomp contrib/bash_completion ${PN} || die + + if use zsh-completion ; then + insinto /usr/share/zsh/site-functions + newins contrib/zsh_completion _hg || die + fi + + rm -f doc/*.?.txt || die + dodoc CONTRIBUTORS PKG-INFO README doc/*.txt || die + cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die + + dobin hgeditor || die + dobin contrib/hgk || die + dobin contrib/hg-ssh || die + + rm -f contrib/hgk contrib/hg-ssh || die + + rm -f contrib/bash_completion || die + cp -r contrib "${ED}"/usr/share/doc/${PF}/ || die + doman doc/*.? || die + + cat > "${T}/80mercurial" <<-EOF +HG="${EPREFIX}/usr/bin/hg" +EOF + doenvd "${T}/80mercurial" || die + + if use emacs; then + elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" + elisp-site-file-install "${FILESDIR}"/${SITEFILE} + fi +} + +src_test() { + cd "${S}/tests/" || die + rm -rf *svn* || die # Subversion tests fail with 1.5 + rm -f test-archive || die # Fails due to verbose tar output changes + rm -f test-convert-baz* || die # GNU Arch baz + rm -f test-convert-cvs* || die # CVS + rm -f test-convert-darcs* || die # Darcs + rm -f test-convert-git* || die # git + rm -f test-convert-mtn* || die # monotone + rm -f test-convert-tla* || die # GNU Arch tla + rm -f test-doctest* || die # doctest always fails with python 2.5.x + if [[ ${EUID} -eq 0 ]]; then + einfo "Removing tests which require user privileges to succeed" + rm -f test-command-template || die # Test is broken when run as root + rm -f test-convert || die # Test is broken when run as root + rm -f test-lock-badness || die # Test is broken when run as root + rm -f test-permissions || die # Test is broken when run as root + rm -f test-pull-permission || die # Test is broken when run as root + rm -f test-clone-failure || die + rm -f test-journal-exists || die + rm -f test-repair-strip || die + fi + + testing() { + local testdir="${T}/tests-${PYTHON_ABI}" + rm -rf "${testdir}" || die + "$(PYTHON)" run-tests.py --tmpdir="${testdir}" + } + python_execute_function testing +} + +pkg_postinst() { + distutils_pkg_postinst + use emacs && elisp-site-regen + + elog "If you want to convert repositories from other tools using convert" + elog "extension please install correct tool:" + elog " dev-vcs/cvs" + elog " dev-vcs/darcs" + elog " dev-vcs/git" + elog " dev-vcs/monotone" + elog " dev-vcs/subversion" +} + +pkg_postrm() { + distutils_pkg_postrm + use emacs && elisp-site-regen +} diff --git a/dev-vcs/mercurial/mercurial-2.4.ebuild b/dev-vcs/mercurial/mercurial-2.4.ebuild deleted file mode 100644 index 1d755cfa9616..000000000000 --- a/dev-vcs/mercurial/mercurial-2.4.ebuild +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-vcs/mercurial/mercurial-2.4.ebuild,v 1.1 2012/11/11 18:04:43 polynomial-c Exp $ - -EAPI=3 -PYTHON_DEPEND="2" -PYTHON_USE_WITH="threads" -SUPPORT_PYTHON_ABIS="1" -RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*" - -inherit bash-completion-r1 elisp-common eutils distutils - -DESCRIPTION="Scalable distributed SCM" -HOMEPAGE="http://mercurial.selenic.com/" -SRC_URI="http://mercurial.selenic.com/release/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="bugzilla emacs gpg test tk zsh-completion" - -RDEPEND="bugzilla? ( dev-python/mysql-python ) - gpg? ( app-crypt/gnupg ) - tk? ( dev-lang/tk ) - zsh-completion? ( app-shells/zsh )" -DEPEND="emacs? ( virtual/emacs ) - test? ( app-arch/unzip - dev-python/pygments )" - -PYTHON_CFLAGS=( - "2.* + -fno-strict-aliasing" - "* - -ftracer -ftree-vectorize" -) - -PYTHON_MODNAME="${PN} hgext" -SITEFILE="70${PN}-gentoo.el" - -src_prepare() { - distutils_src_prepare - - # fix up logic that won't work in Gentoo Prefix (also won't outside in - # certain cases), bug #362891 - sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die -} - -src_compile() { - distutils_src_compile - - if use emacs; then - cd "${S}"/contrib || die - elisp-compile mercurial.el || die "elisp-compile failed!" - fi - - rm -rf contrib/{win32,macosx} || die -} - -src_install() { - distutils_src_install - - newbashcomp contrib/bash_completion ${PN} || die - - if use zsh-completion ; then - insinto /usr/share/zsh/site-functions - newins contrib/zsh_completion _hg || die - fi - - rm -f doc/*.?.txt || die - dodoc CONTRIBUTORS PKG-INFO README doc/*.txt || die - cp hgweb*.cgi "${ED}"/usr/share/doc/${PF}/ || die - - dobin hgeditor || die - dobin contrib/hgk || die - dobin contrib/hg-ssh || die - - rm -f contrib/hgk contrib/hg-ssh || die - - rm -f contrib/bash_completion || die - cp -r contrib "${ED}"/usr/share/doc/${PF}/ || die - doman doc/*.? || die - - cat > "${T}/80mercurial" <<-EOF -HG="${EPREFIX}/usr/bin/hg" -EOF - doenvd "${T}/80mercurial" || die - - if use emacs; then - elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" - elisp-site-file-install "${FILESDIR}"/${SITEFILE} - fi -} - -src_test() { - cd "${S}/tests/" || die - rm -rf *svn* || die # Subversion tests fail with 1.5 - rm -f test-archive || die # Fails due to verbose tar output changes - rm -f test-convert-baz* || die # GNU Arch baz - rm -f test-convert-cvs* || die # CVS - rm -f test-convert-darcs* || die # Darcs - rm -f test-convert-git* || die # git - rm -f test-convert-mtn* || die # monotone - rm -f test-convert-tla* || die # GNU Arch tla - rm -f test-doctest* || die # doctest always fails with python 2.5.x - if [[ ${EUID} -eq 0 ]]; then - einfo "Removing tests which require user privileges to succeed" - rm -f test-command-template || die # Test is broken when run as root - rm -f test-convert || die # Test is broken when run as root - rm -f test-lock-badness || die # Test is broken when run as root - rm -f test-permissions || die # Test is broken when run as root - rm -f test-pull-permission || die # Test is broken when run as root - rm -f test-clone-failure || die - rm -f test-journal-exists || die - rm -f test-repair-strip || die - fi - - testing() { - local testdir="${T}/tests-${PYTHON_ABI}" - rm -rf "${testdir}" || die - "$(PYTHON)" run-tests.py --tmpdir="${testdir}" - } - python_execute_function testing -} - -pkg_postinst() { - distutils_pkg_postinst - use emacs && elisp-site-regen - - elog "If you want to convert repositories from other tools using convert" - elog "extension please install correct tool:" - elog " dev-vcs/cvs" - elog " dev-vcs/darcs" - elog " dev-vcs/git" - elog " dev-vcs/monotone" - elog " dev-vcs/subversion" -} - -pkg_postrm() { - distutils_pkg_postrm - use emacs && elisp-site-regen -} -- cgit v1.2.3-65-gdbad