blob: 256f65bff712edb1b4fb35bc030d6ac7c9f3f201 [file] [log] [blame]
# Copyright 2020-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# Note: adjusted from upstream as black itself supports Python 3.6,
# but not portage-stable.
PYTHON_COMPAT=( python3_{6..9} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1 optfeature
MY_PV="${PV//_beta/b}"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="The uncompromising Python code formatter"
HOMEPAGE="https://black.readthedocs.io/en/stable/ https://github.com/psf/black"
SRC_URI="https://github.com/psf/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="*"
# Diff from upstream: In Python 3.6, the dataclasses module is third
# party. Added the dependency.
RDEPEND="
dev-python/appdirs[${PYTHON_USEDEP}]
>=dev-python/click-7.1.2[${PYTHON_USEDEP}]
>=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
dev-python/regex[${PYTHON_USEDEP}]
<dev-python/pathspec-1[${PYTHON_USEDEP}]
>=dev-python/toml-0.10.1[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/typed-ast[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-3.7.4[${PYTHON_USEDEP}]
' python3_6 python3_7)
$(python_gen_cond_dep 'dev-python/dataclasses[${PYTHON_USEDEP}]' python3_6)
"
BDEPEND="
dev-python/setuptools_scm[${PYTHON_USEDEP}]
test? (
dev-python/aiohttp[${PYTHON_USEDEP}]
dev-python/aiohttp-cors[${PYTHON_USEDEP}]
dev-python/colorama[${PYTHON_USEDEP}]
dev-python/parameterized[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
export SETUPTOOLS_SCM_PRETEND_VERSION=${MY_PV}
python_test() {
cp "${S}"/src/black_primer/primer.json "${BUILD_DIR}"/lib/black_primer/primer.json || die
epytest -m "not python2"
}
pkg_postinst() {
optfeature "blackd - HTTP API for black" dev-python/aiohttp dev-python/aiohttp-cors
}