diff options
Diffstat (limited to 'dev-python/isort/isort-5.13.0-r1.ebuild')
-rw-r--r-- | dev-python/isort/isort-5.13.0-r1.ebuild | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/dev-python/isort/isort-5.13.0-r1.ebuild b/dev-python/isort/isort-5.13.0-r1.ebuild new file mode 100644 index 000000000000..83f18a7f3177 --- /dev/null +++ b/dev-python/isort/isort-5.13.0-r1.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{10..12} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="A python utility/library to sort imports" +HOMEPAGE=" + https://github.com/PyCQA/isort/ + https://pypi.org/project/isort/ +" +SRC_URI=" + https://github.com/PyCQA/isort/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + dev-python/tomli[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/black[${PYTHON_USEDEP}] + >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}] + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/natsort[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-vcs/git + ) +" + +distutils_enable_tests pytest + +src_prepare() { + local PATCHES=( + # sigh, can't people just stop using poetry?! + # https://github.com/PyCQA/isort/commit/f7a6b0eea57e87155a367e2490b49b40f83c3944 + "${FILESDIR}/${P}-poetry.patch" + ) + + # unbundle tomli + sed -i -e 's:from ._vendored ::' isort/settings.py || die + rm -r isort/_vendored || die + + distutils-r1_src_prepare +} + +python_test() { + cp -a "${BUILD_DIR}"/{install,test} || die + local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH} + + # Install necessary plugins + local p + for p in example*/; do + pushd "${p}" >/dev/null || die + distutils_pep517_install "${BUILD_DIR}"/test + popd >/dev/null || die + done + + local EPYTEST_IGNORE=( + # Excluded from upstream's test script + tests/unit/test_deprecated_finders.py + ) + + if ! has_version "dev-python/pylama[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + tests/unit/test_importable.py + tests/unit/test_pylama_isort.py + ) + fi + + epytest tests/unit +} |