From af66a14056c9c073c2db5e5ac2ce5d071421e610 Mon Sep 17 00:00:00 2001 From: Cédric Krier Date: Sat, 5 Feb 2022 09:54:58 +0100 Subject: dev-vcs/mercurial: version bumps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes: https://bugs.gentoo.org/830430 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Cédric Krier --- dev-vcs/mercurial/Manifest | 2 +- .../mercurial-6.0.2-testing-pygments211.patch | 64 +++++ dev-vcs/mercurial/mercurial-6.0.1.ebuild | 306 -------------------- dev-vcs/mercurial/mercurial-6.0.2.ebuild | 310 +++++++++++++++++++++ 4 files changed, 375 insertions(+), 307 deletions(-) create mode 100644 dev-vcs/mercurial/files/mercurial-6.0.2-testing-pygments211.patch delete mode 100644 dev-vcs/mercurial/mercurial-6.0.1.ebuild create mode 100644 dev-vcs/mercurial/mercurial-6.0.2.ebuild (limited to 'dev-vcs') diff --git a/dev-vcs/mercurial/Manifest b/dev-vcs/mercurial/Manifest index 1e2a4b7fef32..f45fea807a89 100644 --- a/dev-vcs/mercurial/Manifest +++ b/dev-vcs/mercurial/Manifest @@ -57,7 +57,7 @@ DIST memmap2-0.4.0.crate 19851 BLAKE2B 6bf418db7ad4af69121cc525be4ecb834c6ace06a DIST memoffset-0.6.1.crate 7706 BLAKE2B 351e6ff24a61b1016e7749571e1e66dae370c58746baf00b4688bb1e2d8c88621aa6f135468593bcd8ba30acf2c097d06a0dd7243eb06b9825e3fc1ffd31ea52 SHA512 74d081af00b7e442198b786d79e4ef35c243d2e78347ab9cb50e127569aed3fd77b47b95df6f361a716abce27c8cc6cb1dfa12c92b0b2208b21f9eb9527b61be DIST mercurial-5.8.1.tar.gz 7988000 BLAKE2B 7805a7141a503f8533a25d0cfd3c58c421c966cb9ec83503c855e02aeb8a7fff98bf529f4807bf6fc5f606ae110c4a0571e0e249441bd4be6b5eefb07284958e SHA512 d17c809fc48c55d646b677ad23b5cf4a1755f5a81790988109cd50ac259acc230edad7bf5ccc7a6384a490aeba4a7492327bb9878a541d5fa7207e2c378be966 DIST mercurial-5.8.tar.gz 7985326 BLAKE2B 3b64343b692c389368b9c61baf367fe739bb79a7b555308fcd4f09069472b393343f57608954017038c849d6812cd6fe5e1e20bbc6a95974d827d7e402c60bd7 SHA512 79eec3a468a1826d4910d140797f26f281ff5e5fb9a0e09656d458577e05cf11ac6032c0d282aeec2996edbd7af954652c97097ea4485b211dad7424c4d20979 -DIST mercurial-6.0.1.tar.gz 8072365 BLAKE2B 45c510249580cb175e08096c84889d7f742933bc80321c834c45311e7a22d0867c324f4f02d69189bae828ddec7ebdfe2385b7dd621792c238eaa027b98bcd80 SHA512 dae18c38e7df001177867ed9cb1c9cea6f25fff6c23fd307c56c89bba0e4641d6cf993aabefe1fcb6ab99bd32732b858411f722bea839690fbc04c0a91c1dc53 +DIST mercurial-6.0.2.tar.gz 8089180 BLAKE2B 3141e20e844c451717c93c347bc30843d11b3f66fbea3808199ea3a18a992be0fdb8f8dabe0010e1f038cf797b6148b224e7d7cfb067c184bcfd4ca2060d9980 SHA512 1591618840a3e4b862f0eb9e560d511b59eb34815de2e6e6cc1179d32f88a1e9a6f14abf3e02d76e17dbab1ffe384e52d97721e39da252ac5ba98a2233853c9a DIST micro-timer-0.3.1.crate 3357 BLAKE2B 13c518d2b3de6fa683078b9906b719498da2e2be5a23e7a2511f3d1d69730769031ed6b488927bec845c0405782f55cfe5af8610d56d92e716ff5d9056650f5a SHA512 197beadbdf35dd0892f6e0c1a09b6b57472166ecaec3e10be12c436e1381540100092c9e717684db44b53375390cf2c245fdc6fdb376117fdf5b4405ade73cf7 DIST micro-timer-macros-0.3.1.crate 2928 BLAKE2B 148639d1f22965c7487fefd19b1413797aad0f9e0c4eb8ee7be181e7b6bd39e03a6d3d68131b05e09f87a3ef653d6eda643952025983b49736a9c6ddb778aafa SHA512 9c9ffc8432c9377d2de3fce931f398d7f77012f496dd6c011718abd46535205766d9f5a7c97ff14ecd87bb172039d8e92a8c45cfd9c14d220a368448da1b7917 DIST miniz_oxide-0.4.3.crate 50058 BLAKE2B bc7a152a984de061803c11255459ce3d8fa64dd5b38de9f2ed29213abc1922d68746ff523de3b99e0e95a8933ea75448a9fa1e14cbbe248549074cd5ce7b3c1d SHA512 8c0e2b3a585a0986a61977d4459adb1a7c396ab53f4f688dcbeb2a09c60878b0423f54fd1879c190f5c64690a2473ed2a07d4162a650f6c39f402f6b27e863b7 diff --git a/dev-vcs/mercurial/files/mercurial-6.0.2-testing-pygments211.patch b/dev-vcs/mercurial/files/mercurial-6.0.2-testing-pygments211.patch new file mode 100644 index 000000000000..31dab2c0c0b2 --- /dev/null +++ b/dev-vcs/mercurial/files/mercurial-6.0.2-testing-pygments211.patch @@ -0,0 +1,64 @@ +# HG changeset patch +# User Cédric Krier +# Date 1641731730 -3600 +# Sun Jan 09 13:35:30 2022 +0100 +# Node ID 21c0ae0693bc048907b6e26a4fe160d1b7b48384 +# Parent 28f0092ec89f53ccf6d7b2b92dcaf8e1b02e8c13 +tests: support pygments 2.11 (issue6628) + +Differential Revision: https://phab.mercurial-scm.org/D11970 + +diff --git a/tests/hghave.py b/tests/hghave.py +--- a/tests/hghave.py ++++ b/tests/hghave.py +@@ -663,6 +663,22 @@ def pygments25(): + return (major, minor) >= (2, 5) + + ++@check("pygments211", "Pygments version >= 2.11") ++def pygments211(): ++ try: ++ import pygments ++ ++ v = pygments.__version__ ++ except ImportError: ++ return False ++ ++ parts = v.split(".") ++ major = int(parts[0]) ++ minor = int(parts[1]) ++ ++ return (major, minor) >= (2, 11) ++ ++ + @check("outer-repo", "outer repo") + def has_outer_repo(): + # failing for other reasons than 'no repo' imply that there is a repo +diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t +--- a/tests/test-run-tests.t ++++ b/tests/test-run-tests.t +@@ -176,14 +176,19 @@ test diff colorisation + running 1 tests using 1 parallel processes + + \x1b[38;5;124m--- $TESTTMP/test-failure.t\x1b[39m (esc) +- \x1b[38;5;34m+++ $TESTTMP/test-failure.t.err\x1b[39m (esc) ++ \x1b[38;5;28m+++ $TESTTMP/test-failure.t.err\x1b[39m (esc) (pygments211 !) ++ \x1b[38;5;34m+++ $TESTTMP/test-failure.t.err\x1b[39m (esc) (no-pygments211 !) + \x1b[38;5;90;01m@@ -1,4 +1,4 @@\x1b[39;00m (esc) +- $ echo "bar-baz"; echo "bar-bad"; echo foo +- \x1b[38;5;34m+ bar*baz (glob)\x1b[39m (esc) +- bar*bad (glob) ++ \x1b[38;5;250m \x1b[39m $ echo "bar-baz"; echo "bar-bad"; echo foo (esc) (pygments211 !) ++ $ echo "bar-baz"; echo "bar-bad"; echo foo (no-pygments211 !) ++ \x1b[38;5;28m+ bar*baz (glob)\x1b[39m (esc) (pygments211 !) ++ \x1b[38;5;34m+ bar*baz (glob)\x1b[39m (esc) (no-pygments211 !) ++ \x1b[38;5;250m \x1b[39m bar*bad (glob) (esc) (pygments211 !) ++ bar*bad (glob) (no-pygments211 !) + \x1b[38;5;124m- bar*baz (glob)\x1b[39m (esc) + \x1b[38;5;124m- | fo (re)\x1b[39m (esc) +- \x1b[38;5;34m+ foo\x1b[39m (esc) ++ \x1b[38;5;28m+ foo\x1b[39m (esc) (pygments211 !) ++ \x1b[38;5;34m+ foo\x1b[39m (esc) (no-pygments211 !) + + \x1b[38;5;88mERROR: \x1b[39m\x1b[38;5;9mtest-failure.t\x1b[39m\x1b[38;5;88m output changed\x1b[39m (esc) + ! diff --git a/dev-vcs/mercurial/mercurial-6.0.1.ebuild b/dev-vcs/mercurial/mercurial-6.0.1.ebuild deleted file mode 100644 index 0f6e2e2856c6..000000000000 --- a/dev-vcs/mercurial/mercurial-6.0.1.ebuild +++ /dev/null @@ -1,306 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{7..10} ) -PYTHON_REQ_USE="threads(+)" -DISTUTILS_USE_SETUPTOOLS=no -CARGO_OPTIONAL=1 - -CRATES=" - adler-0.2.3 - aho-corasick-0.7.15 - ansi_term-0.11.0 - atty-0.2.14 - autocfg-1.0.1 - bitflags-1.2.1 - bitmaps-2.1.0 - block-buffer-0.9.0 - byteorder-1.3.4 - bytes-cast-0.2.0 - bytes-cast-derive-0.1.0 - cc-1.0.66 - cfg-if-0.1.10 - cfg-if-1.0.0 - chrono-0.4.19 - clap-2.33.3 - const_fn-0.4.4 - cpufeatures-0.1.4 - cpython-0.7.0 - crc32fast-1.2.1 - crossbeam-channel-0.4.4 - crossbeam-channel-0.5.0 - crossbeam-deque-0.8.0 - crossbeam-epoch-0.9.1 - crossbeam-utils-0.7.2 - crossbeam-utils-0.8.1 - ctor-0.1.16 - derive_more-0.99.11 - difference-2.0.0 - digest-0.9.0 - either-1.6.1 - env_logger-0.7.1 - flate2-1.0.19 - format-bytes-0.2.2 - format-bytes-macros-0.3.0 - generic-array-0.14.4 - getrandom-0.1.15 - glob-0.3.0 - hermit-abi-0.1.17 - home-0.5.3 - humantime-1.3.0 - im-rc-15.0.0 - itertools-0.9.0 - jobserver-0.1.21 - lazy_static-1.4.0 - libc-0.2.81 - libz-sys-1.1.2 - log-0.4.11 - maybe-uninit-2.0.0 - memchr-2.3.4 - memmap2-0.4.0 - memoffset-0.6.1 - micro-timer-0.3.1 - micro-timer-macros-0.3.1 - miniz_oxide-0.4.3 - num-integer-0.1.44 - num-traits-0.2.14 - num_cpus-1.13.0 - opaque-debug-0.3.0 - output_vt100-0.1.2 - paste-1.0.5 - pkg-config-0.3.19 - ppv-lite86-0.2.10 - pretty_assertions-0.6.1 - proc-macro-hack-0.5.19 - proc-macro2-1.0.24 - python27-sys-0.7.0 - python3-sys-0.7.0 - quick-error-1.2.3 - quote-1.0.7 - rand-0.7.3 - rand_chacha-0.2.2 - rand_core-0.5.1 - rand_distr-0.2.2 - rand_hc-0.2.0 - rand_pcg-0.2.1 - rand_xoshiro-0.4.0 - rayon-1.5.0 - rayon-core-1.9.0 - redox_syscall-0.1.57 - regex-1.4.2 - regex-syntax-0.6.21 - remove_dir_all-0.5.3 - same-file-1.0.6 - scopeguard-1.1.0 - sha-1-0.9.6 - sized-chunks-0.6.2 - stable_deref_trait-1.2.0 - static_assertions-1.1.0 - strsim-0.8.0 - syn-1.0.54 - tempfile-3.1.0 - termcolor-1.1.2 - textwrap-0.11.0 - thread_local-1.0.1 - time-0.1.44 - twox-hash-1.6.0 - typenum-1.12.0 - unicode-width-0.1.8 - unicode-xid-0.2.1 - users-0.11.0 - vcpkg-0.2.11 - vec_map-0.8.2 - version_check-0.9.2 - wasi-0.9.0+wasi-snapshot-preview1 - wasi-0.10.0+wasi-snapshot-preview1 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - zstd-0.5.3+zstd.1.4.5 - zstd-safe-2.0.5+zstd.1.4.5 - zstd-sys-1.4.17+zstd.1.4.5 -" - -inherit bash-completion-r1 cargo elisp-common distutils-r1 flag-o-matic multiprocessing - -DESCRIPTION="Scalable distributed SCM" -HOMEPAGE="https://www.mercurial-scm.org/" -SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz - rust? ( $(cargo_crate_uris ${CRATES}) )" - -LICENSE="GPL-2+ - rust? ( BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 ISC MIT PSF-2 Unlicense )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="+chg emacs gpg test tk rust" - -BDEPEND="rust? ( ${RUST_DEPEND} )" -RDEPEND=" - app-misc/ca-certificates - gpg? ( app-crypt/gnupg ) - tk? ( dev-lang/tk )" - -DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) - test? ( - app-arch/unzip - dev-python/pygments[${PYTHON_USEDEP}] - )" - -SITEFILE="70${PN}-gentoo.el" - -RESTRICT="!test? ( test )" - -src_unpack() { - default_src_unpack - if use rust; then - local S="${S}/rust/hg-cpython" - cargo_src_unpack - fi -} - -python_prepare_all() { - # 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 - sed -i -e 's/__APPLE__/__NO_APPLE__/g' mercurial/cext/osutil.c || die - - distutils-r1_python_prepare_all -} - -src_compile() { - if use rust; then - pushd rust/hg-cpython || die - cargo_src_compile --no-default-features --features python3 --jobs $(makeopts_jobs) - popd - fi - distutils-r1_src_compile -} - -python_compile() { - filter-flags -ftracer -ftree-vectorize - if use rust; then - local -x HGWITHRUSTEXT="cpython" - fi - distutils-r1_python_compile build_ext -} - -python_compile_all() { - rm -r contrib/win32 || die - if use chg; then - emake -C contrib/chg - fi - if use emacs; then - cd contrib || die - elisp-compile mercurial.el || die "elisp-compile failed!" - fi -} - -src_install() { - distutils-r1_src_install -} - -python_install() { - if use rust; then - local -x HGWITHRUSTEXT="cpython" - fi - distutils-r1_python_install build_ext -} - -python_install_all() { - distutils-r1_python_install_all - - newbashcomp contrib/bash_completion hg - - insinto /usr/share/zsh/site-functions - newins contrib/zsh_completion _hg - - dobin hgeditor - if use tk; then - dobin contrib/hgk - fi - python_foreach_impl python_doscript contrib/hg-ssh - - if use emacs; then - elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" - elisp-site-file-install "${FILESDIR}"/${SITEFILE} - fi - - local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) - - if use chg; then - dobin contrib/chg/chg - doman contrib/chg/chg.1 - RM_CONTRIB+=( chg ) - fi - - for f in ${RM_CONTRIB[@]}; do - rm -rf contrib/${f} || die - done - - dodoc -r contrib - docompress -x /usr/share/doc/${PF}/contrib - doman doc/*.? - dodoc CONTRIBUTORS hgweb.cgi - - insinto /etc/mercurial/hgrc.d - doins "${FILESDIR}/cacerts.rc" -} - -src_test() { - pushd tests &>/dev/null || die - rm -rf *svn* # Subversion tests fail with 1.5 - rm -f test-archive* # Fails due to verbose tar output changes - rm -f test-convert-baz* # GNU Arch baz - rm -f test-convert-cvs* # CVS - rm -f test-convert-darcs* # Darcs - rm -f test-convert-git* # git - rm -f test-convert-mtn* # monotone - rm -f test-convert-tla* # GNU Arch tla - rm -f test-largefiles* # tends to time out - rm -f test-https* # requires to support tls1.0 - rm -rf test-removeemptydirs* # requires access to access parent directories - if [[ ${EUID} -eq 0 ]]; then - einfo "Removing tests which require user privileges to succeed" - rm -f test-convert* - rm -f test-lock-badness* - rm -f test-permissions* - rm -f test-pull-permission* - rm -f test-journal-exists* - rm -f test-repair-strip* - fi - - popd &>/dev/null || die - distutils-r1_src_test -} - -python_test() { - if [[ ${EPYTHON} == python3.10 ]]; then - einfo "Skipping tests for unsupported Python 3.10" - return - fi - distutils_install_for_testing - cd tests || die - PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \ - --jobs $(makeopts_jobs) \ - --timeout 0 \ - || die "Tests fail with ${EPYTHON}" -} - -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() { - use emacs && elisp-site-regen -} diff --git a/dev-vcs/mercurial/mercurial-6.0.2.ebuild b/dev-vcs/mercurial/mercurial-6.0.2.ebuild new file mode 100644 index 000000000000..2950dfdbe4ba --- /dev/null +++ b/dev-vcs/mercurial/mercurial-6.0.2.ebuild @@ -0,0 +1,310 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{7..10} ) +PYTHON_REQ_USE="threads(+)" +DISTUTILS_USE_SETUPTOOLS=no +CARGO_OPTIONAL=1 + +CRATES=" + adler-0.2.3 + aho-corasick-0.7.15 + ansi_term-0.11.0 + atty-0.2.14 + autocfg-1.0.1 + bitflags-1.2.1 + bitmaps-2.1.0 + block-buffer-0.9.0 + byteorder-1.3.4 + bytes-cast-0.2.0 + bytes-cast-derive-0.1.0 + cc-1.0.66 + cfg-if-0.1.10 + cfg-if-1.0.0 + chrono-0.4.19 + clap-2.33.3 + const_fn-0.4.4 + cpufeatures-0.1.4 + cpython-0.7.0 + crc32fast-1.2.1 + crossbeam-channel-0.4.4 + crossbeam-channel-0.5.0 + crossbeam-deque-0.8.0 + crossbeam-epoch-0.9.1 + crossbeam-utils-0.7.2 + crossbeam-utils-0.8.1 + ctor-0.1.16 + derive_more-0.99.11 + difference-2.0.0 + digest-0.9.0 + either-1.6.1 + env_logger-0.7.1 + flate2-1.0.19 + format-bytes-0.2.2 + format-bytes-macros-0.3.0 + generic-array-0.14.4 + getrandom-0.1.15 + glob-0.3.0 + hermit-abi-0.1.17 + home-0.5.3 + humantime-1.3.0 + im-rc-15.0.0 + itertools-0.9.0 + jobserver-0.1.21 + lazy_static-1.4.0 + libc-0.2.81 + libz-sys-1.1.2 + log-0.4.11 + maybe-uninit-2.0.0 + memchr-2.3.4 + memmap2-0.4.0 + memoffset-0.6.1 + micro-timer-0.3.1 + micro-timer-macros-0.3.1 + miniz_oxide-0.4.3 + num-integer-0.1.44 + num-traits-0.2.14 + num_cpus-1.13.0 + opaque-debug-0.3.0 + output_vt100-0.1.2 + paste-1.0.5 + pkg-config-0.3.19 + ppv-lite86-0.2.10 + pretty_assertions-0.6.1 + proc-macro-hack-0.5.19 + proc-macro2-1.0.24 + python27-sys-0.7.0 + python3-sys-0.7.0 + quick-error-1.2.3 + quote-1.0.7 + rand-0.7.3 + rand_chacha-0.2.2 + rand_core-0.5.1 + rand_distr-0.2.2 + rand_hc-0.2.0 + rand_pcg-0.2.1 + rand_xoshiro-0.4.0 + rayon-1.5.0 + rayon-core-1.9.0 + redox_syscall-0.1.57 + regex-1.4.2 + regex-syntax-0.6.21 + remove_dir_all-0.5.3 + same-file-1.0.6 + scopeguard-1.1.0 + sha-1-0.9.6 + sized-chunks-0.6.2 + stable_deref_trait-1.2.0 + static_assertions-1.1.0 + strsim-0.8.0 + syn-1.0.54 + tempfile-3.1.0 + termcolor-1.1.2 + textwrap-0.11.0 + thread_local-1.0.1 + time-0.1.44 + twox-hash-1.6.0 + typenum-1.12.0 + unicode-width-0.1.8 + unicode-xid-0.2.1 + users-0.11.0 + vcpkg-0.2.11 + vec_map-0.8.2 + version_check-0.9.2 + wasi-0.9.0+wasi-snapshot-preview1 + wasi-0.10.0+wasi-snapshot-preview1 + winapi-0.3.9 + winapi-i686-pc-windows-gnu-0.4.0 + winapi-util-0.1.5 + winapi-x86_64-pc-windows-gnu-0.4.0 + zstd-0.5.3+zstd.1.4.5 + zstd-safe-2.0.5+zstd.1.4.5 + zstd-sys-1.4.17+zstd.1.4.5 +" + +inherit bash-completion-r1 cargo elisp-common distutils-r1 flag-o-matic multiprocessing + +DESCRIPTION="Scalable distributed SCM" +HOMEPAGE="https://www.mercurial-scm.org/" +SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz + rust? ( $(cargo_crate_uris ${CRATES}) )" + +LICENSE="GPL-2+ + rust? ( BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 ISC MIT PSF-2 Unlicense )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+chg emacs gpg test tk rust" + +BDEPEND="rust? ( ${RUST_DEPEND} )" +RDEPEND=" + app-misc/ca-certificates + gpg? ( app-crypt/gnupg ) + tk? ( dev-lang/tk )" + +DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) + test? ( + app-arch/unzip + dev-python/pygments[${PYTHON_USEDEP}] + )" + +PATCHES=( + "${FILESDIR}"/${P}-testing-pygments211.patch +) + +SITEFILE="70${PN}-gentoo.el" + +RESTRICT="!test? ( test )" + +src_unpack() { + default_src_unpack + if use rust; then + local S="${S}/rust/hg-cpython" + cargo_src_unpack + fi +} + +python_prepare_all() { + # 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 + sed -i -e 's/__APPLE__/__NO_APPLE__/g' mercurial/cext/osutil.c || die + + distutils-r1_python_prepare_all +} + +src_compile() { + if use rust; then + pushd rust/hg-cpython || die + cargo_src_compile --no-default-features --features python3 --jobs $(makeopts_jobs) + popd + fi + distutils-r1_src_compile +} + +python_compile() { + filter-flags -ftracer -ftree-vectorize + if use rust; then + local -x HGWITHRUSTEXT="cpython" + fi + distutils-r1_python_compile build_ext +} + +python_compile_all() { + rm -r contrib/win32 || die + if use chg; then + emake -C contrib/chg + fi + if use emacs; then + cd contrib || die + elisp-compile mercurial.el || die "elisp-compile failed!" + fi +} + +src_install() { + distutils-r1_src_install +} + +python_install() { + if use rust; then + local -x HGWITHRUSTEXT="cpython" + fi + distutils-r1_python_install build_ext +} + +python_install_all() { + distutils-r1_python_install_all + + newbashcomp contrib/bash_completion hg + + insinto /usr/share/zsh/site-functions + newins contrib/zsh_completion _hg + + dobin hgeditor + if use tk; then + dobin contrib/hgk + fi + python_foreach_impl python_doscript contrib/hg-ssh + + if use emacs; then + elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" + elisp-site-file-install "${FILESDIR}"/${SITEFILE} + fi + + local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) + + if use chg; then + dobin contrib/chg/chg + doman contrib/chg/chg.1 + RM_CONTRIB+=( chg ) + fi + + for f in ${RM_CONTRIB[@]}; do + rm -rf contrib/${f} || die + done + + dodoc -r contrib + docompress -x /usr/share/doc/${PF}/contrib + doman doc/*.? + dodoc CONTRIBUTORS hgweb.cgi + + insinto /etc/mercurial/hgrc.d + doins "${FILESDIR}/cacerts.rc" +} + +src_test() { + pushd tests &>/dev/null || die + rm -rf *svn* # Subversion tests fail with 1.5 + rm -f test-archive* # Fails due to verbose tar output changes + rm -f test-convert-baz* # GNU Arch baz + rm -f test-convert-cvs* # CVS + rm -f test-convert-darcs* # Darcs + rm -f test-convert-git* # git + rm -f test-convert-mtn* # monotone + rm -f test-convert-tla* # GNU Arch tla + rm -f test-largefiles* # tends to time out + rm -f test-https* # requires to support tls1.0 + rm -rf test-removeemptydirs* # requires access to access parent directories + if [[ ${EUID} -eq 0 ]]; then + einfo "Removing tests which require user privileges to succeed" + rm -f test-convert* + rm -f test-lock-badness* + rm -f test-permissions* + rm -f test-pull-permission* + rm -f test-journal-exists* + rm -f test-repair-strip* + fi + + popd &>/dev/null || die + distutils-r1_src_test +} + +python_test() { + if [[ ${EPYTHON} == python3.10 ]]; then + einfo "Skipping tests for unsupported Python 3.10" + return + fi + distutils_install_for_testing + cd tests || die + PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \ + --jobs $(makeopts_jobs) \ + --timeout 0 \ + || die "Tests fail with ${EPYTHON}" +} + +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() { + use emacs && elisp-site-regen +} -- cgit v1.2.3-65-gdbad