--- /dev/null
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Tests fail with pypy
+PYTHON_COMPAT=( pypy3 python3_{6,7,8} )
+
+inherit distutils-r1
+
+MY_PN="${PN/-/.}"
+DESCRIPTION="Classes used by other projects by developer jaraco"
+HOMEPAGE="https://github.com/jaraco/jaraco.classes"
+SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/namespace-jaraco-2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ >=dev-python/pytest-2.8[${PYTHON_USEDEP}]
+ )
+"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+distutils_enable_sphinx docs \
+ ">=dev-python/jaraco-packaging-3.2" \
+ ">=dev-python/rst-linker-1.9"
+
+python_prepare_all() {
+ # avoid a setuptools_scm dependency
+ sed -i "s:use_scm_version=True:version='${PV}':" setup.py || die
+ sed -r -i "s:setuptools_scm[[:space:]]*([><=]{1,2}[[:space:]]*[0-9.a-zA-Z]+)[[:space:]]*::" \
+ setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Avoid ImportMismatchError, override pytest options to skip flake8
+ pytest -vv "${BUILD_DIR}"/lib --override-ini="addopts=--doctest-modules" \
+ || die "tests failed with ${EPYTHON}"
+}
+
+# https://wiki.gentoo.org/wiki/Project:Python/Namespace_packages#File_collisions_between_pkgutil-style_packages
+python_install() {
+ rm "${BUILD_DIR}"/lib/jaraco/__init__.py || die
+ # note: eclass may default to --skip-build in the future
+ distutils-r1_python_install --skip-build
+}