diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-04-13 07:23:01 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2026-04-13 07:23:01 +0000 |
| commit | c3bd2df4b98a0b65b6ddb71d5908ca4319d12e05 (patch) | |
| tree | 9ad1eb4f52f9147ff52a080ec19b86fcc76fee4d /dev-python | |
| parent | 1a1f5db8827d7864f74b2f19b88aadd126b462d0 (diff) | |
| download | baldeagleos-repo-c3bd2df4b98a0b65b6ddb71d5908ca4319d12e05.tar.gz baldeagleos-repo-c3bd2df4b98a0b65b6ddb71d5908ca4319d12e05.tar.xz baldeagleos-repo-c3bd2df4b98a0b65b6ddb71d5908ca4319d12e05.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
| -rw-r--r-- | dev-python/fakeredis/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/fakeredis/fakeredis-2.35.1.ebuild | 98 | ||||
| -rw-r--r-- | dev-python/importlib-resources/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/importlib-resources/importlib-resources-7.1.0.ebuild | 31 | ||||
| -rw-r--r-- | dev-python/lxml/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/lxml/files/lxml-6.0.4-pypy.patch | 107 | ||||
| -rw-r--r-- | dev-python/lxml/lxml-6.0.4.ebuild | 120 | ||||
| -rw-r--r-- | dev-python/msgspec/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/msgspec/msgspec-0.21.1.ebuild | 47 | ||||
| -rw-r--r-- | dev-python/mypy/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/mypy/mypy-1.20.1.ebuild | 135 | ||||
| -rw-r--r-- | dev-python/poetry/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/poetry/poetry-2.3.4.ebuild | 82 | ||||
| -rw-r--r-- | dev-python/pyrss2gen/pyrss2gen-1.1-r3.ebuild | 20 | ||||
| -rw-r--r-- | dev-python/pysvn/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/pysvn/pysvn-1.9.25.ebuild | 63 | ||||
| -rw-r--r-- | dev-python/ubelt/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/ubelt/ubelt-1.4.2.ebuild | 47 |
18 files changed, 760 insertions, 0 deletions
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest index 958293e000c2..0db4f0dd3dc2 100644 --- a/dev-python/fakeredis/Manifest +++ b/dev-python/fakeredis/Manifest @@ -2,3 +2,5 @@ DIST fakeredis-2.34.1.tar.gz 177315 BLAKE2B ed0ca71b7feeeb81cb5bd927eb19a4bc3af5 DIST fakeredis-2.34.1.tar.gz.provenance 9528 BLAKE2B bd549cae9bb98f5d85879b38f87d4aed02ebd0b79e858eb273ef94b7c68caec221f684766ad107c445219a792ee9cd61a68791b956b90312ee6160899dbf622f SHA512 d93171e6b50361fc3717461e926d05a4c9773f5381d33c7f5ef8eba6630bb0393cbe9ffa3222f91b375576b457fa431e4037b25a75fcfa39c35b1a25050db899 DIST fakeredis-2.35.0.tar.gz 189000 BLAKE2B 425fa7663898fd8d3ea8c628c82528fe7654d11daf057daee31c9c35daa643ec557668e127ecd4ca652b40dcd8e5e95af4f235098335b711a4900f30e4fbadc1 SHA512 8ac1876c4d2a01338083c180d8eaa8575faf016770947ff8ad90019117f4e1df88ab4be370f6e1b286c265cc446fdc832fbeb2ae19fd9f6d8aadf217e2f59578 DIST fakeredis-2.35.0.tar.gz.provenance 9493 BLAKE2B 08f75a47d77f6eb860922dcd23cbd6fff6ed9c659b8f557a2b739049c49713f546af0a5c091ba0aae2d6b86a11808ab19e1a44fbbe6a96c4be795cac2abc629d SHA512 8545733e64c6d996e498c4bff46641a71068c92c8f91aee1a35bd0f06e2020e79db5a4f1dd65c2decaa8a3df253f84913d79b5159c30a30fadcdc58432e1845f +DIST fakeredis-2.35.1.tar.gz 189118 BLAKE2B 00fcb8ef49091db4dfebe3febcfe8d06a789dac73692a305e62457b944e6567005d27d50b5eb08282be9d5e71615660a2e336a1fd26938d41233db5c41bb2714 SHA512 2a0e25d7319beb6be5647d88d3c675b28011b35b1e48ed545420a17a4707edc552555cf9240d27a4505b26c69cfb3e1e28dc9ff3f78c2471ad18c40a5ed69001 +DIST fakeredis-2.35.1.tar.gz.provenance 9532 BLAKE2B fcf1ca04a303898904d338b7afeeba5731800aad686a7db916091842a9cde6953fd056f6567da3a0b7481c2c127f8e69eea6e672f711ec87cf244480c25ea7f6 SHA512 3e9f6ae3ec809c08110e2b2cad301891c1fd637e0527354f3c81aaa28cef2ea67f2e60103e66cbe78cab7c2d48c28c52a29d82896ba2750d3b159794c271c176 diff --git a/dev-python/fakeredis/fakeredis-2.35.1.ebuild b/dev-python/fakeredis/fakeredis-2.35.1.ebuild new file mode 100644 index 000000000000..c5aa2105cdcf --- /dev/null +++ b/dev-python/fakeredis/fakeredis-2.35.1.ebuild @@ -0,0 +1,98 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/cunla/fakeredis-py +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Fake implementation of redis API for testing purposes" +HOMEPAGE=" + https://github.com/cunla/fakeredis-py/ + https://pypi.org/project/fakeredis/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + >=dev-python/redis-4.3[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-db/redis + dev-python/packaging[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{asyncio,mock} ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # TODO + "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis2]" + "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis3]" + "test/test_mixins/test_pubsub_commands.py::test_published_message_to_shard_channel[StrictRedis3]" + test/test_mixins/test_set_commands.py::test_smismember_wrong_type + "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis2]" + "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis3]" + "test/test_mixins/test_streams_commands.py::test_xgroup_setid_redis7[StrictRedis2]" + "test/test_mixins/test_streams_commands.py::test_xgroup_setid_redis7[StrictRedis3]" + # json ext + test/test_json/test_json.py + test/test_json/test_json_arr_commands.py + # unknown command 'evalsha' + "test/test_asyncredis.py::test_async_lock[fake_resp2]" + "test/test_asyncredis.py::test_async_lock[fake_resp3]" + # incompatible with xdist, not worth extra effort + test/test_tcp_server/test_connectivity.py + # flaky + test/test_mixins/test_server_commands.py::test_bgsave +) +EPYTEST_IGNORE=( + # these tests fail a lot... + test/test_hypothesis + test/test_hypothesis_joint.py + # require valkey package + test/test_valkey +) + +src_prepare() { + distutils-r1_src_prepare + + # do not install duplicate license + sed -i -e '\@fakeredis/LICENSE@d' pyproject.toml || die +} + +src_test() { + local redis_pid="${T}"/redis.pid + local redis_port=6390 + + einfo "Spawning Redis" + einfo "NOTE: Port ${redis_port} must be free" + "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server" + daemonize yes + pidfile ${redis_pid} + port ${redis_port} + bind 127.0.0.1 + EOF + + # Run the tests + distutils-r1_src_test + + # Clean up afterwards + kill "$(<"${redis_pid}")" || die +} + +python_test() { + # we can run "fake" tests in parallel, but "real" seem to share + # the same connection + epytest -m "not real" + EPYTEST_XDIST= epytest -m "real" +} diff --git a/dev-python/importlib-resources/Manifest b/dev-python/importlib-resources/Manifest index f2de7f68ad8a..90b3b1483b5f 100644 --- a/dev-python/importlib-resources/Manifest +++ b/dev-python/importlib-resources/Manifest @@ -1,2 +1,3 @@ DIST importlib_resources-6.5.2.tar.gz 44693 BLAKE2B 07b5136ab40ca57e6c255d6544da231ff8ffdc3547f6e970fcd0444789382960358041042715ddccfff3be6a0b3cbcc12660ad45bab9266c1032dc0b60ef0e2b SHA512 e9ca57f5191effdb570cde2b8adaddb27a1bfccc36575f5b15684283ff1b6363831bcb073322fecbf067456f8cf288a576b3a95a506c3701a4f2f30c03ec1c8a DIST importlib_resources-7.0.0.tar.gz 44582 BLAKE2B 824870c037a40767326c74738c5c0e18e2ae642e56d7741e4377e9ddf559197ec8e61565fb99dbd48c7952eb92bf4a946107ee7ccdd5ca018ce3726a1e1e601c SHA512 e82f268d05cd56fce3d66a154883e1c9f049a025b40218d27505b71dfb768f8c97f700a4f4592f7395ea579d6eb3fa84447cf02fdee8780c2b526e83b7d0e476 +DIST importlib_resources-7.1.0.tar.gz 44985 BLAKE2B 69c56f204574f6a1711815018cf72ba4a7a43ed250b2359c6fc321ad982041df26b0db10e070e36b7f7f30256d3c54a963bf1d03d2f31ec6f76e7132441efdb2 SHA512 8bc2ea45bf4d5e7e10a42abd79276c1c66229cd5a04375488e7c62d05b1743e60ce7fafb1552014f6a7dfe70969995b7a8bc12118ff051c95180ffa0e90b9190 diff --git a/dev-python/importlib-resources/importlib-resources-7.1.0.ebuild b/dev-python/importlib-resources/importlib-resources-7.1.0.ebuild new file mode 100644 index 000000000000..fadf0981af66 --- /dev/null +++ b/dev-python/importlib-resources/importlib-resources-7.1.0.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +# backport from py3.12 +PYTHON_COMPAT=( pypy3_11 python3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Read resources from Python packages" +HOMEPAGE=" + https://github.com/python/importlib_resources/ + https://pypi.org/project/importlib-resources/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + >=dev-python/jaraco-test-5.4[${PYTHON_USEDEP}] + >=dev-python/zipp-3.17[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest index 3d88d5bc57cd..6ec86195369d 100644 --- a/dev-python/lxml/Manifest +++ b/dev-python/lxml/Manifest @@ -1 +1,2 @@ DIST lxml-6.0.2.gh.tar.gz 990107 BLAKE2B c01a94fef56754599100b65927b40c2d786d631f02bbfe6cff3865a00531ab26fc6a0fe5cf9b02bdcf01beb45ef94fd4436ed4c06f5c8fd9e707bcae80c0f2f4 SHA512 164dc5e38e394f4396faf0b06729039f6807a227e1a2755a6991e6dce569cc64244d5edfd2cf2af0d4e845d7155a76f6e391e32f3d5aac21dff3c07cbbe06460 +DIST lxml-6.0.4.gh.tar.gz 992033 BLAKE2B fefffe0c0bdf79a2527c53ce54a079e01f40ce3fc6624ba13b199c88c49c6d4c2d9e59760f6a0646d3f2fa21d9e50a42d3319eb74ad91a044dd5f3d37385914c SHA512 8738d0912ee293f478da87affe07b9ca85542732023bab6ac32dfe97ced9695fcc1bf31e4ddc6d5a2d1d3f87be818344d9414b314e94853b0e82bc0fbe0e51f9 diff --git a/dev-python/lxml/files/lxml-6.0.4-pypy.patch b/dev-python/lxml/files/lxml-6.0.4-pypy.patch new file mode 100644 index 000000000000..deb1dd030213 --- /dev/null +++ b/dev-python/lxml/files/lxml-6.0.4-pypy.patch @@ -0,0 +1,107 @@ +From f3c07ca0ea5908462a26370f7d7a18bbbc8ae416 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Mon, 13 Apr 2026 05:28:04 +0200 +Subject: [PATCH] Skip tests failing on PyPy +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The test failures occur in older lxml versions too, so it's either +a regression in PyPy itself or in Cython. + +Signed-off-by: Michał Górny <mgorny@gentoo.org> +--- + src/lxml/tests/test_etree.py | 6 +++++- + src/lxml/tests/test_xslt.py | 6 +++++- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/lxml/tests/test_etree.py b/src/lxml/tests/test_etree.py +index 5658ad73..5cf4f136 100644 +--- a/src/lxml/tests/test_etree.py ++++ b/src/lxml/tests/test_etree.py +@@ -26,7 +26,7 @@ from .common_imports import etree, HelperTestCase, needs_feature + from .common_imports import fileInTestDir, fileUrlInTestDir, read_file, path2url, tmpfile + from .common_imports import SillyFileLike, LargeFileLikeUnicode, doctest, make_doctest + from .common_imports import canonicalize, _str, _bytes +-from .common_imports import SimpleFSPath ++from .common_imports import SimpleFSPath, IS_PYPY + + print(f""" + TESTED VERSION: {etree.__version__} +@@ -5308,6 +5308,7 @@ class ETreeC14NTestCase(HelperTestCase): + self.assertEqual(b'<a><b></b></a>', + data) + ++ @unittest.skipIf(IS_PYPY, "broken on pypy") + def test_c14n_file_gzip(self): + tree = self.parse(b'<a>'+b'<b/>'*200+b'</a>') + with tmpfile() as filename: +@@ -5317,6 +5318,7 @@ class ETreeC14NTestCase(HelperTestCase): + self.assertEqual(b'<a>'+b'<b></b>'*200+b'</a>', + data) + ++ @unittest.skipIf(IS_PYPY, "broken on pypy") + def test_c14n_file_gzip_pathlike(self): + tree = self.parse(b'<a>'+b'<b/>'*200+b'</a>') + with tmpfile() as filename: +@@ -5624,6 +5626,7 @@ class ETreeWriteTestCase(HelperTestCase): + self.assertEqual(b'<a><b/></a>', + data) + ++ @unittest.skipIf(IS_PYPY, "broken on pypy") + def test_write_file_gzip(self): + tree = self.parse(b'<a>'+b'<b/>'*200+b'</a>') + with tmpfile() as filename: +@@ -5633,6 +5636,7 @@ class ETreeWriteTestCase(HelperTestCase): + self.assertEqual(b'<a>'+b'<b/>'*200+b'</a>', + data) + ++ @unittest.skipIf(IS_PYPY, "broken on pypy") + def test_write_file_gzip_pathlike(self): + tree = self.parse(b'<a>'+b'<b/>'*200+b'</a>') + with tmpfile() as filename: +diff --git a/src/lxml/tests/test_xslt.py b/src/lxml/tests/test_xslt.py +index 244a46f7..87c084cf 100644 +--- a/src/lxml/tests/test_xslt.py ++++ b/src/lxml/tests/test_xslt.py +@@ -14,7 +14,7 @@ from textwrap import dedent + from tempfile import NamedTemporaryFile, mkdtemp + + from .common_imports import ( +- etree, HelperTestCase, fileInTestDir, make_doctest, SimpleFSPath ++ etree, HelperTestCase, fileInTestDir, make_doctest, SimpleFSPath, IS_PYPY + ) + + +@@ -164,6 +164,7 @@ class ETreeXSLTTestCase(HelperTestCase): + finally: + os.unlink(f.name) + ++ @unittest.skipIf(IS_PYPY, "broken on pypy") + def test_xslt_write_output_file_path(self): + with self._xslt_setup() as res: + f = NamedTemporaryFile(delete=False) +@@ -177,6 +178,7 @@ class ETreeXSLTTestCase(HelperTestCase): + finally: + os.unlink(f.name) + ++ @unittest.skipIf(IS_PYPY, "broken on pypy") + def test_xslt_write_output_file_pathlike(self): + with self._xslt_setup() as res: + f = NamedTemporaryFile(delete=False) +@@ -190,6 +192,7 @@ class ETreeXSLTTestCase(HelperTestCase): + finally: + os.unlink(f.name) + ++ @unittest.skipIf(IS_PYPY, "broken on pypy") + def test_xslt_write_output_file_path_urlescaped(self): + # libxml2 should not unescape file paths. + with self._xslt_setup() as res: +@@ -204,6 +207,7 @@ class ETreeXSLTTestCase(HelperTestCase): + finally: + os.unlink(f.name) + ++ @unittest.skipIf(IS_PYPY, "broken on pypy") + def test_xslt_write_output_file_path_urlescaped_plus(self): + with self._xslt_setup() as res: + f = NamedTemporaryFile(prefix='p+%2e', suffix='.xml.gz', delete=False) diff --git a/dev-python/lxml/lxml-6.0.4.ebuild b/dev-python/lxml/lxml-6.0.4.ebuild new file mode 100644 index 000000000000..895e0ad703e1 --- /dev/null +++ b/dev-python/lxml/lxml-6.0.4.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 optfeature toolchain-funcs + +DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries" +HOMEPAGE=" + https://lxml.de/ + https://pypi.org/project/lxml/ + https://github.com/lxml/lxml/ +" +SRC_URI=" + https://github.com/lxml/lxml/archive/${P}.tar.gz + -> ${P}.gh.tar.gz +" +S=${WORKDIR}/lxml-${P} + +LICENSE="BSD ElementTree GPL-2 PSF-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +IUSE="doc examples +threads test" +RESTRICT="!test? ( test )" + +# Note: lib{xml2,xslt} are used as C libraries, not Python modules. +DEPEND=" + >=dev-libs/libxml2-2.10.3:= + >=dev-libs/libxslt-1.1.38 +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + virtual/pkgconfig + >=dev-python/cython-3.1.4[${PYTHON_USEDEP}] + doc? ( + $(python_gen_any_dep ' + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/pygments[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ') + ) + test? ( + dev-python/cssselect[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-6.0.4-pypy.patch" +) + +python_check_deps() { + use doc || return 0 + python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" +} + +python_prepare_all() { + # don't use some random SDK on Darwin + sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \ + setupinfo.py || die + + distutils-r1_python_prepare_all +} + +python_compile() { + local DISTUTILS_ARGS=( + # by default it adds -w to CFLAGS + --warnings + ) + tc-export PKG_CONFIG + distutils-r1_python_compile +} + +python_compile_all() { + # disable automagic dep on coverage + use doc && emake CYTHON_WITH_COVERAGE= html +} + +python_test() { + local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml + local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH} + + cp -al "${BUILD_DIR}"/{install,test} || die + cp -al src/lxml/tests "${dir}/" || die + cp -al src/lxml/html/tests "${dir}/html/" || die + mkdir "${dir}"/../../doc || die + # this one needs to be copied, because upstream uses doc/../../../doc + cp -r "${S}"/doc "${dir}"/../../ || die + ln -s "${S}"/doc "${dir}"/../../../../ || die + + "${EPYTHON}" test.py --no-src -vv --all-levels -p || + die "Tests fail on ${EPYTHON}" +} + +python_install_all() { + if use doc; then + local DOCS=( README.rst *.txt doc/*.txt ) + local HTML_DOCS=( doc/html/. ) + fi + if use examples; then + dodoc -r samples + fi + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4 + optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect + optfeature "Support for lxml.html.clean sanitizer" dev-python/lxml-html-clean +} diff --git a/dev-python/msgspec/Manifest b/dev-python/msgspec/Manifest index a94412537b89..bb9b16e69665 100644 --- a/dev-python/msgspec/Manifest +++ b/dev-python/msgspec/Manifest @@ -1,2 +1,3 @@ DIST msgspec-0.20.0.gh.tar.gz 1328648 BLAKE2B 848b29f99148ee1d5a81a6f57fdb515760c838e3ed9b8161f775d5c17b5decf7fc16a6ebd04599a1f2580e98882a7674720da899ba789ae6dbc9659da0d5ba6f SHA512 91d66d79d25ba824bb39dc02b28038c61ce3aa20576867bacbba9e22146dce424247f941b51023cce02d069d25bb2eedfb749feb597679c623d7438bc04422e4 DIST msgspec-0.21.0.gh.tar.gz 1329617 BLAKE2B fcb1581d808e615001a7b5de75a75a4c5d7e03404b353218d733333d3142ab1f3aab23fc0f206bab5862c52be09f9b924baed3e45b203e17011fbf07ca1bdf7c SHA512 4936bd1a514a9118e016c86a2f2d4018f76aafbeb1b40b97c906774d9d7655d0794ba9b6ec3514948572b24044b08d26ad1ae26ee5f02d45ca1600f21df6c46b +DIST msgspec-0.21.1.gh.tar.gz 1333165 BLAKE2B cb00e1eef1f4b44744e73b632c1d1828196904a0ed424cb84336e1c0300dbfb582c25286dcd65ad9833099d478f250858428820c5272f4c284898237a986249c SHA512 dd4429d8e5c84727620bf8479c03e99a97b4aaa6e1464646bdf650ad3f88651ac8292da4c6f5fb12cd7af4dfcd5d5b12132d642d713dbc333b238ad2d6867875 diff --git a/dev-python/msgspec/msgspec-0.21.1.ebuild b/dev-python/msgspec/msgspec-0.21.1.ebuild new file mode 100644 index 000000000000..4ab906e9fa9e --- /dev/null +++ b/dev-python/msgspec/msgspec-0.21.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Fast serialization and validation library, with builtin support for many formats" +HOMEPAGE=" + https://jcristharif.com/msgspec/ + https://github.com/jcrist/msgspec + https://pypi.org/project/msgspec/ +" +# No tests in sdist +SRC_URI="https://github.com/jcrist/msgspec/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] + >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}] + test? ( + dev-python/attrs[${PYTHON_USEDEP}] + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/tomli-w[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + local EPYTEST_IGNORE=( + # Lint tests + tests/unit/test_cpylint.py + ) + + rm -rf msgspec || die + epytest tests/unit +} diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest index d3a35cd1a522..f3f5d72c5f15 100644 --- a/dev-python/mypy/Manifest +++ b/dev-python/mypy/Manifest @@ -2,3 +2,4 @@ DIST mypy-1.18.1.gh.tar.gz 3468445 BLAKE2B 95d3d8151bd09e23e7c1587fccd7f7c52f800 DIST mypy-1.18.2.gh.tar.gz 3468958 BLAKE2B 7c80d839829e2982604c8ed0ee82ca390b9372fb057baaf5ad4b4a8d2dc7ce538b7246342b4691e5c950666360a9788421f540febbc2b19412af80cd4d828907 SHA512 f3cbfdf338b5d994bc077e66721e26a635926d79985f8200af0bd6aa841b076703fa2c798c6d2ceadd7c8c69d4a86af11c5a8f551f13a7fd2b510721af466c54 DIST mypy-1.19.1.gh.tar.gz 3600282 BLAKE2B f1d1c511ede6e9e933a8e6236cfdef506778ad56acc1a72d89ee088f0c8dc25c9afc2b174c0a74138aebaee14666ce345e57c8a8ac71a85948c35ca8d6984a7b SHA512 3d0d0a8ad1599e00ee22140a62470fd01eb78c9b2ba2db55d48e5422a6c643d216c88c0281cfd31cd8cddc9cd8d11e42c3f48b21602bdbcb0bd795fbef8362dc DIST mypy-1.20.0.gh.tar.gz 3833712 BLAKE2B 35b00a3db1189cdaacbdbd396da578bda915026f50cb25ffc1a46cec78dc263feff09c0eab5a596bd6b4e3da1ab1fe4d0cda657e0b239c08af4311151fa42269 SHA512 7d86a01ae83b7769e12adba17c466e25d8175dcb69b25771d18038a40e199d41e544ff0fa873092e09abe7842a38aa586c5266f800f97a5ac0e7f9046f08494c +DIST mypy-1.20.1.gh.tar.gz 3835396 BLAKE2B 982a9fbbc470eec453d835ab2905ece384b9424a97d1a8c30af8fe4884cfca6b023f08d136612fe0ecf0712dd64f2a40cc6dcfa1118dc1db030ea5cf4ec22d4c SHA512 b8c8776381196ff521cfe5a0ca4c1ea1da4d0b21bb532b301f6c1cebe160becf8eeb5e47cac2f7a9d39a3721b397b89b38105dc8f0edf8c9373c36d163cb0a06 diff --git a/dev-python/mypy/mypy-1.20.1.ebuild b/dev-python/mypy/mypy-1.20.1.ebuild new file mode 100644 index 000000000000..4544a2307417 --- /dev/null +++ b/dev-python/mypy/mypy-1.20.1.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) +PYTHON_REQ_USE="sqlite" + +inherit distutils-r1 optfeature + +DESCRIPTION="Optional static typing for Python" +HOMEPAGE=" + https://www.mypy-lang.org/ + https://github.com/python/mypy/ + https://pypi.org/project/mypy/ +" +SRC_URI=" + https://github.com/python/mypy/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="native-extensions" + +# stubgen collides with this package: https://bugs.gentoo.org/585594 +RDEPEND=" + !dev-util/stubgen + >=dev-python/librt-0.8.0[${PYTHON_USEDEP}] + >=dev-python/mypy-extensions-1.0.0[${PYTHON_USEDEP}] + >=dev-python/pathspec-1.0.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + ${RDEPEND} + dev-python/types-psutil[${PYTHON_USEDEP}] + dev-python/types-setuptools[${PYTHON_USEDEP}] + ) + test? ( + >=dev-python/attrs-18.0[${PYTHON_USEDEP}] + >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}] + >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time, +# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible +# test files (https://github.com/mypyc/mypyc/issues/1014) +export CCACHE_DISABLE=1 + +PATCHES=( + "${FILESDIR}"/${PN}-1.14.0-no-werror.patch +) + +src_prepare() { + distutils-r1_src_prepare + + # don't force pytest-xdist, in case user asked for EPYTEST_JOBS=1 + sed -i -e '/addopts/s:-nauto::' pyproject.toml || die +} + +python_compile() { + local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0) + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_DESELECT=( + # the majority of them require Internet (via pip) + mypy/test/testpep561.py + # known broken with assertions enabled + # https://github.com/python/mypy/issues/16043 + mypyc/test/test_external.py::TestExternal::test_c_unit_test + mypyc/test/test_run.py::TestRun::run-classes.test::testDelException + mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance + mypyc/test/test_run.py::TestRunStrictDunderTyping::run-floats.test::testFloatOps_dunder_typing + mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncMiscTypesInEnvironment + mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps + mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues + mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined + mypyc/test/test_run.py::TestRun::run-vecs-i64.test::testVecI64BasicOps_librt_experimental + mypyc/test/test_run.py::TestRun::run-vecs-nested.test::testVecNestedBasicOps_librt_experimental + mypyc/test/test_run.py::TestRun::run-vecs-misc.test::testVecMiscBasicOps_librt_experimental + mypyc/test/test_run.py::TestRun::run-vecs-t.test::testVecTBasicOps_librt_experimental + # these assume that types-docutils are not installed + mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable + mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable + # TODO + mypy/test/meta/test_parse_data.py + mypy/test/meta/test_update_data.py + ) + + case ${EPYTHON} in + python3.14*) + EPYTEST_DESELECT+=( + mypyc/test/test_run.py::TestRun::run-async.test::testRunAsyncRefCounting + mypyc/test/test_run.py::TestRun::run-tuples.test::testNamedTupleClassSyntax + ) + ;; + esac + + # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests + # fail with high COLUMNS values + local -x COLUMNS=80 + + # The tests depend on having in-source compiled extensions if you want to + # test those compiled extensions. Various crucial test dependencies aren't + # installed. Even pyproject.toml is needed because that's where pytest args + # are in. Hack them into the build directory and delete them afterwards. + # See: https://github.com/python/mypy/issues/16143 + local -x MYPY_TEST_PREFIX="${S}" + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + cp -r "${S}"/{conftest.py,pyproject.toml} . || die + + local failed= + nonfatal epytest || failed=1 + + rm -r conftest.py pyproject.toml .mypy_cache || die + + [[ ${failed} ]] && die "epytest failed with ${EPYTHON}" +} + +pkg_postinst() { + optfeature "dmypy status -v support for memory use" dev-python/psutil +} diff --git a/dev-python/poetry/Manifest b/dev-python/poetry/Manifest index ce32ab3b24c8..9176823b9cd6 100644 --- a/dev-python/poetry/Manifest +++ b/dev-python/poetry/Manifest @@ -2,3 +2,5 @@ DIST poetry-2.3.2.tar.gz 3462586 BLAKE2B 6cb2adcc4b725ad5abe868e60a4ce22a715d498 DIST poetry-2.3.2.tar.gz.provenance 9442 BLAKE2B 86298b07138ca0369bb234a43e527067d8f801271a4c8b772fc1dda9820d05351abb9a1d9d016cf584db882747f2c8ed79562b35c5a7f21962253ec2c49dddda SHA512 7a78ad74af4b241954afc4ee4b72f8b5a1bead50dc4c9e35ccf3d3b3299e6673e86a4f8de9264d27975dd2e5eb360f9649e8ff5511d3d35e2757add38bb397cd DIST poetry-2.3.3.tar.gz 3465814 BLAKE2B e9447c2cf5e4dc67fee721567433e0a3a5c2a1c9bad95aedc255f50bc3b399ced296b5b71730b7da227449a1937cba122c04378e649177b1e699fc5b69cc6f94 SHA512 ace6168aeb4f4ea89ce6c08f8ad2833baa115ba55e90580275774b2c999efa5299b4390778e74ad871a2c0eb43bf25e08d84f3a5bad97290b5970f3b503162d5 DIST poetry-2.3.3.tar.gz.provenance 9763 BLAKE2B 90f8dafa4453e8229da3abc190c88bb21c014ebc54a49e33bb38cc1df0dac1d0eadc6f0310d88e079f629e25b5756c4cc65d5c5a386cb604e1813b0b13500e7b SHA512 699413f9722ab6cf1a9d6012f84cc86910aece4fc85c1cd831ba1c0db06363eb84bea31eb0473755596d9d8c018a1f3bd4c8870f0777d7b58ef9e32a9ce3c1c3 +DIST poetry-2.3.4.tar.gz 3467967 BLAKE2B 178243c66673b2a447552c3747b0bd4474c486b4f99b104fab5ae37ccfe813a0f2c71b5a5fbaec9f3220a864406f367606d6c55581c91274eeccbabde8ddc82b SHA512 331e8225568e7080d22a4fe85520dedcf73db09aa7638d55e3af52df1104d1f8ea158b76197799ecbc792c4657bd88c87bcb759ab8225cb34aa467178371d503 +DIST poetry-2.3.4.tar.gz.provenance 9293 BLAKE2B 7ea6dd2b4aaf8be261b8f8356cfb4e06626befe7140a9a3337d5a4c75ab13142f1888327c0ac6abac73387409b762576c812ea3efde4042cc625f2c77bf44147 SHA512 20dd95f18e65262c2f4e628d4becd572c0e49b8f29395220a3894b4d2f077583c21d70b2f1c383bd458460dbfb1f6fe87b508ec010ae870665ee5f3d44f658ba diff --git a/dev-python/poetry/poetry-2.3.4.ebuild b/dev-python/poetry/poetry-2.3.4.ebuild new file mode 100644 index 000000000000..c63ac44f19e6 --- /dev/null +++ b/dev-python/poetry/poetry-2.3.4.ebuild @@ -0,0 +1,82 @@ +# Copyright 2023-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYPI_VERIFY_REPO=https://github.com/python-poetry/poetry +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A frontend for poetry - a python dependency management and packaging tool" +HOMEPAGE=" + https://python-poetry.org/ + https://github.com/python-poetry/poetry/ + https://pypi.org/project/poetry/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + =dev-python/poetry-core-$(ver_cut 1-2)*[${PYTHON_USEDEP}] + >=dev-python/poetry-plugin-export-1.6.0[${PYTHON_USEDEP}] + >=dev-python/build-1.2.1[${PYTHON_USEDEP}] + >=dev-python/cachecontrol-0.14.0[${PYTHON_USEDEP}] + >=dev-python/cleo-2.1.0[${PYTHON_USEDEP}] + >=dev-python/dulwich-0.25.0[${PYTHON_USEDEP}] + >=dev-python/fastjsonschema-2.18.0[${PYTHON_USEDEP}] + >=dev-python/findpython-0.6.2[${PYTHON_USEDEP}] + >=dev-python/installer-0.7.0[${PYTHON_USEDEP}] + >=dev-python/keyring-25.1.0[${PYTHON_USEDEP}] + >=dev-python/packaging-24.2[${PYTHON_USEDEP}] + >=dev-python/pbs-installer-2025.06.10[${PYTHON_USEDEP}] + >=dev-python/pkginfo-1.12[${PYTHON_USEDEP}] + >=dev-python/platformdirs-3.0.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.26[${PYTHON_USEDEP}] + >=dev-python/requests-toolbelt-1.0.0[${PYTHON_USEDEP}] + >=dev-python/shellingham-1.5.0[${PYTHON_USEDEP}] + >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}] + >=dev-python/trove-classifiers-2022.5.19[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20.26.6[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( + >=dev-python/deepdiff-6.3.1[${PYTHON_USEDEP}] + >=dev-python/jaraco-classes-3.3.1[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-mock ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Internal test for lockfile being up-to-date + # Meaningless, also sdist does not include lockfile + tests/installation/test_installer.py::test_not_fresh_lock + + # broken if poetry-plugin-export is installed + 'tests/console/test_application_command_not_found.py::test_application_command_not_found_messages[x-None]' + + # whitespace differences + # https://github.com/python-poetry/poetry/issues/10796 + 'tests/console/commands/python/test_python_list.py::test_list_poetry_managed[False]' +) + +src_prepare() { + # unpin + sed -e 's:,<[0-9.]*::' -e 's:==\([0-9]\):>=\1:' -i pyproject.toml || die + + distutils-r1_src_prepare +} + +python_test() { + epytest -m "not network" +} diff --git a/dev-python/pyrss2gen/pyrss2gen-1.1-r3.ebuild b/dev-python/pyrss2gen/pyrss2gen-1.1-r3.ebuild new file mode 100644 index 000000000000..6b7d5038acfa --- /dev/null +++ b/dev-python/pyrss2gen/pyrss2gen-1.1-r3.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 + +MY_P="PyRSS2Gen-${PV}" +DESCRIPTION="RSS feed generator written in Python" +HOMEPAGE="http://www.dalkescientific.com/Python/PyRSS2Gen.html + https://pypi.org/project/PyRSS2Gen/" +SRC_URI="http://www.dalkescientific.com/Python/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~riscv ~x86" diff --git a/dev-python/pysvn/Manifest b/dev-python/pysvn/Manifest index 9f7c0f0a8836..010038062f12 100644 --- a/dev-python/pysvn/Manifest +++ b/dev-python/pysvn/Manifest @@ -1 +1,2 @@ DIST pysvn-1.9.22.tar.gz 669169 BLAKE2B b6f5e2aedd902daa29d5e634263e21de134b73f72e17bb9363f415ac0696063457579af8778c72ca9852b5ee33142250d6a46700181b11ec2ec0a4e90db60525 SHA512 68b4fdb8a5de7cd0fb868ef56ac4d17938561a7f2c37db4089a3a2f4fc256043c80d7331befc013e6141be70722c843665c59c36d455e372ecb3ecc4587cba41 +DIST pysvn-1.9.25.tar.gz 670036 BLAKE2B 9cacf9b63406844a04a496b31702c3c20f58ee39f86c27f0861782a18423a63936a8e507f1d24a2095716412caf0a20a75a53751de8c04898f123249b73dec1f SHA512 fecf5612f0b1e31373876fef21f9dcf61b0bec134f84497da878292119e0dff999203abffcdcc22854af2387cba4e7319823f8908c5d6eb8f5aae9f6f4d1afdb diff --git a/dev-python/pysvn/pysvn-1.9.25.ebuild b/dev-python/pysvn/pysvn-1.9.25.ebuild new file mode 100644 index 000000000000..26783ffeaa1e --- /dev/null +++ b/dev-python/pysvn/pysvn-1.9.25.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) +DISTUTILS_USE_PEP517=no +DISTUTILS_EXT=1 + +inherit distutils-r1 toolchain-funcs + +DESCRIPTION="Object-oriented python bindings for subversion" +HOMEPAGE="https://pysvn.sourceforge.io/" +SRC_URI="https://downloads.sourceforge.net/project/pysvn/pysvn/V${PV}/${P}.tar.gz" + +LICENSE="Apache-1.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~x86" +IUSE="doc examples" + +DEPEND=" + >=dev-python/pycxx-7.1.8[${PYTHON_USEDEP}] + >=dev-vcs/subversion-1.9" +RDEPEND="${DEPEND}" + +python_prepare_all() { + # Don't use internal copy of dev-python/pycxx. + rm -r Import || die + + distutils-r1_python_prepare_all +} + +python_configure() { + cd Source || die + CC="$(tc-getCC)" CCC="$(tc-getCXX)" \ + esetup.py configure +} + +python_compile() { + cd Source || die + emake +} + +python_test() { + cd Tests || die + emake +} + +python_install() { + cd Source || die + python_domodule pysvn +} + +python_install_all() { + use doc && local HTML_DOCS=( Docs/. ) + if use examples; then + docinto examples + dodoc -r Examples/Client/. + docompress -x /usr/share/doc/${PF}/examples + fi + + distutils-r1_python_install_all +} diff --git a/dev-python/ubelt/Manifest b/dev-python/ubelt/Manifest index 8647b1f2e0b2..f0a4824e25ba 100644 --- a/dev-python/ubelt/Manifest +++ b/dev-python/ubelt/Manifest @@ -1 +1,2 @@ DIST ubelt-1.4.1.gh.tar.gz 385376 BLAKE2B 98a60de68b04150ba48d6bc4d6eb537ceb913b6a9e60eb90a682779eb19c49b68c2f2c842758b9458445ec3c3a14941f747061228a8bfd28e37a2b7f31277a76 SHA512 de9156c64a3eee49ab6d1ef59e4cc9042f4f3b672581a1e99da242c2e098a6cccb1b209f5b1d9b89f98fde3e9980d6517dba14293621e1dc7cf846b43f11d84c +DIST ubelt-1.4.2.gh.tar.gz 406280 BLAKE2B 3265c74e74736ce5c46c74b0e6ac12a6f470b7bb2cc9d620dad497131a4265c8a37d1f5f1ad18242175a5c62f88f482c8bf891d2c53f0c2f689539e52b160cde SHA512 dec75a65976a21ab32336d11d23090173298f7c73ea87acaf4c3460a437de51ae5a4bb80fed5450e58f44b4f282e528aa2d1cff027ca4c1be86379df29faa697 diff --git a/dev-python/ubelt/ubelt-1.4.2.ebuild b/dev-python/ubelt/ubelt-1.4.2.ebuild new file mode 100644 index 000000000000..c7a00ece68e4 --- /dev/null +++ b/dev-python/ubelt/ubelt-1.4.2.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit distutils-r1 + +DESCRIPTION="A stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress" +HOMEPAGE=" + https://github.com/Erotemic/ubelt/ + https://pypi.org/project/ubelt/ +" +SRC_URI=" + https://github.com/Erotemic/${PN}/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +BDEPEND=" + test? ( + >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}] + >=dev-python/pygments-2.2.0[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}] + >=dev-python/requests-2.25.1[${PYTHON_USEDEP}] + >=dev-python/xxhash-1.0.1[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( xdoctest ) +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + tests/test_editable_modules.py::test_import_of_editable_install + # relies on passwd home being equal to ${HOME} + ubelt/util_path.py::userhome:0 +) + +EPYTEST_IGNORE=( + # asserts for running on win32 in global scope + ubelt/_win32_jaraco.py +) |
