gentoo/dev-python/imapclient/imapclient-0.13.ebuild
Michał Górny 064af661d0
*/*: [QA] Fix trivial cases of MissingTestRestrict
The result was achieved via the following pipeline:

    pkgcheck scan -c RestrictTestCheck -R FormatReporter \
      --format '{category}/{package}/{package}-{version}.ebuild' |
    xargs -n32 grep -L RESTRICT |
    xargs -n32 sed -i -e '/^IUSE=.*test/aRESTRICT="!test? ( test )"'

The resulting metadata was compared before and after the change.
Few Go ebuilds had to be fixed manually due to implicit RESTRICT=strip
added by the eclass.  Two ebuilds have to be fixed because of multiline
IUSE.

Suggested-by: Robin H. Johnson <robbat2@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/13942
Signed-off-by: Michał Górny <mgorny@gentoo.org>
2019-12-11 00:22:38 +01:00

64 lines
1.7 KiB
Bash

# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python{2_7,3_5,3_6} pypy )
inherit distutils-r1
MY_PN="IMAPClient"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="easy-to-use, pythonic, and complete IMAP client library"
HOMEPAGE="http://imapclient.freshfoo.com/"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="doc examples test"
RESTRICT="!test? ( test )"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' python2_7 pypy) )"
S=${WORKDIR}/${MY_P}
python_prepare_all() {
# use system setuptools
sed -i '/use_setuptools/d' setup.py || die
# drop explicit mock version test dep
sed -i "/tests_require/s:'mock==.\+':'mock':" setup.py || die
# use system six library. patch proven less preferable to use of sed (< maintenance)
# but a copy of the working hunks from prior version works fine for now.
rm imapclient/six.py || die
epatch "${FILESDIR}"/0.12-tests.patch
sed -e 's:from .six:from six:g' \
-e 's:from . import six:import six:g' \
-i ${PN}/*.py || die
distutils-r1_python_prepare_all
}
python_test() {
"${PYTHON}" -m unittest discover || die "tests failed under ${EPYTHON}"
}
python_install() {
distutils-r1_python_install
# don't install examples and tests in module dir
rm -r "${D}"$(python_get_sitedir)/imapclient/{examples,test} || die
}
python_install_all() {
# local DOCS=( AUTHORS HACKING.rst NEWS.rst README.rst THANKS )
use doc && local HTML_DOCS=( doc/html/. )
distutils-r1_python_install_all
use examples && dodoc -r ${PN}/examples
}