|
|
|
# Copyright 1999-2021 Gentoo Authors
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=7
|
|
|
|
|
|
|
|
DISTUTILS_USE_SETUPTOOLS=rdepend
|
|
|
|
PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
|
|
|
|
|
|
|
|
inherit distutils-r1
|
|
|
|
|
|
|
|
DESCRIPTION="Collection of utilities for publishing packages on PyPI"
|
|
|
|
HOMEPAGE="https://twine.readthedocs.io/ https://github.com/pypa/twine https://pypi.org/project/twine/"
|
|
|
|
SRC_URI="https://github.com/pypa/twine/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
|
|
|
|
|
|
LICENSE="Apache-2.0"
|
|
|
|
SLOT="0"
|
|
|
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 sparc x86 ~x64-macos"
|
|
|
|
IUSE="test"
|
|
|
|
RESTRICT="!test? ( test )"
|
|
|
|
|
|
|
|
BDEPEND="
|
|
|
|
test? (
|
|
|
|
dev-python/jaraco-envs[${PYTHON_USEDEP}]
|
|
|
|
dev-python/jaraco-functools[${PYTHON_USEDEP}]
|
|
|
|
dev-python/munch[${PYTHON_USEDEP}]
|
|
|
|
dev-python/portend[${PYTHON_USEDEP}]
|
|
|
|
dev-python/pretend[${PYTHON_USEDEP}]
|
|
|
|
dev-python/pypiserver[${PYTHON_USEDEP}]
|
|
|
|
dev-python/pytest[${PYTHON_USEDEP}]
|
|
|
|
)
|
|
|
|
"
|
|
|
|
RDEPEND="
|
|
|
|
>=dev-python/tqdm-4.14[${PYTHON_USEDEP}]
|
|
|
|
>=dev-python/pkginfo-1.4.2[${PYTHON_USEDEP}]
|
|
|
|
>=dev-python/readme_renderer-21.0[${PYTHON_USEDEP}]
|
|
|
|
>=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
|
|
|
|
>=dev-python/requests-toolbelt-0.8.0[${PYTHON_USEDEP}]
|
|
|
|
$(python_gen_cond_dep 'dev-python/importlib_metadata[${PYTHON_USEDEP}]' python3_{6,7} pypy{,3})
|
|
|
|
>=dev-python/keyring-15.1[${PYTHON_USEDEP}]
|
|
|
|
>=dev-python/rfc3986-1.4.0[${PYTHON_USEDEP}]
|
|
|
|
>=dev-python/colorama-0.4.3[${PYTHON_USEDEP}]
|
|
|
|
"
|
|
|
|
|
|
|
|
python_prepare_all() {
|
|
|
|
# avoid a setuptools_scm dependency
|
|
|
|
sed -i "s:use_scm_version=True:version='${PV}',name='${PN//-/.}':" setup.py || die
|
|
|
|
sed -r -i "s:setuptools(_|-)scm[[:space:]]*([><=]{1,2}[[:space:]]*[0-9.a-zA-Z]+|)[[:space:]]*::" \
|
|
|
|
setup.cfg || die
|
|
|
|
|
|
|
|
# requires internet
|
|
|
|
sed -e 's:test_check_status_code_for_wrong_repo_url:_&:' \
|
|
|
|
-i tests/test_upload.py || die
|
|
|
|
rm -f tests/test_integration.py || die
|
|
|
|
# pytest-socket dep relevant only to test_integration, and upstream
|
|
|
|
# disables it anyway
|
|
|
|
sed -i -e '/--disable-socket/d' pytest.ini || die
|
|
|
|
|
|
|
|
sed -i -e '/--cov/d' pytest.ini || die
|
|
|
|
|
|
|
|
distutils-r1_python_prepare_all
|
|
|
|
}
|
|
|
|
|
|
|
|
python_test() {
|
|
|
|
distutils_install_for_testing
|
|
|
|
pytest -vv || die "Tests fail with ${EPYTHON}"
|
|
|
|
}
|