diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-02-01 01:39:14 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-02-01 01:39:14 +0000 |
| commit | 0eb8cc8b0a674771f5594ad40230662ff2095fdc (patch) | |
| tree | 8d45526c0c2d242db987f577d51eda21abaacb45 /dev-python | |
| parent | f0f407150b4be5952bfb3501d1368b9e371b216e (diff) | |
| download | baldeagleos-repo-0eb8cc8b0a674771f5594ad40230662ff2095fdc.tar.gz baldeagleos-repo-0eb8cc8b0a674771f5594ad40230662ff2095fdc.tar.xz baldeagleos-repo-0eb8cc8b0a674771f5594ad40230662ff2095fdc.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
36 files changed, 1108 insertions, 13 deletions
diff --git a/dev-python/Faker/Faker-11.4.0.ebuild b/dev-python/Faker/Faker-11.4.0.ebuild new file mode 100644 index 000000000000..a1758e231aa7 --- /dev/null +++ b/dev-python/Faker/Faker-11.4.0.ebuild @@ -0,0 +1,31 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="A Python package that generates fake data for you" +HOMEPAGE="https://github.com/joke2k/faker" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}] + >=dev-python/text-unidecode-1.3[${PYTHON_USEDEP}] + !dev-ruby/faker" +BDEPEND=" + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP},tiff] + dev-python/random2[${PYTHON_USEDEP}] + dev-python/validators[${PYTHON_USEDEP}] + )" + +distutils_enable_tests pytest diff --git a/dev-python/Faker/Manifest b/dev-python/Faker/Manifest index 69d70e66f8be..70bc468e2437 100644 --- a/dev-python/Faker/Manifest +++ b/dev-python/Faker/Manifest @@ -2,3 +2,4 @@ DIST Faker-10.0.0.tar.gz 1198872 BLAKE2B 60e4f34a597ca11b0699c330f6cdb0f7f387bb6 DIST Faker-11.0.0.tar.gz 1199121 BLAKE2B e5c4e17daa969249dbf1ae69630a79c50e6e51d63db9997872bd22a7e91db1771fdef984ec5912d42815632598339062be20005e4921c846abf3013e6efc8c89 SHA512 687f47ba613bd2117c412da54e293281bf1943eccde8165cc749be5d176a025d250c831d55a509a6923b3542dba4fe5abce23bd80b980bdca742ecaa837d4334 DIST Faker-11.1.0.tar.gz 1214021 BLAKE2B c4b7b44d19566037135d47bce19895da7bb0eba17c64086ad5f0019bbd49a77aaf4231e6aef8f40aec4811bbe4df209b796773ac5cca6a859ff9b43ea57fe9bc SHA512 646d16bceb3fc5ca8a9004ab7369d7fc6012f0766b2f6b58922a1a415a4bf1ae1af0d5977d58f15792bd794fa2235fb44e626e28f5af168d4e4def8112bab0ca DIST Faker-11.3.0.tar.gz 1215886 BLAKE2B 01a0e9cff30597536cc1d6f4ae3f67c43e0e1ec5268d5c544a0cf6ea905c4528f07567515e615b74f32ea4622c9090e63141b0b526d656cbb96a449c23e7b047 SHA512 cb95ecd4cd781c6a08621fe75a1d019349232f8be65d4c9b5825987cb98bb6d031569d6e3253cb36a68986707515540f6ebd7503085aea68d56642b08f86192f +DIST Faker-11.4.0.tar.gz 1347314 BLAKE2B 0399302df718a9283ecb59ab044f438891f2874a2dd752d97bd88cf7e2de4536ad34ee818576c9c9926d90b5a18626759fb12dcd2cbf6ba54a3a9d2366caec66 SHA512 a12dbc6e3011839852fe978004520c546a42fab7b84ba03d890fe12a40299d36b7ce0ffbe1e678dfb74879fe17410589c459ff2ac904bdd15c9c03b816e8c7c0 diff --git a/dev-python/ansi/Manifest b/dev-python/ansi/Manifest index dba5288bc241..b45fe7261f74 100644 --- a/dev-python/ansi/Manifest +++ b/dev-python/ansi/Manifest @@ -1 +1,2 @@ DIST ansi-0.2.0.tar.gz 5173 BLAKE2B 436caa8e1f36e96f1844e79e3a0ff0c4099e76b25ce9f56c9d8663aeeb650f32fba75a14fe8548f557fb020e2340707272fdda4cdd3c245c903a4f801ae48413 SHA512 22c69b5030f03eca9470e288c16e62042ccd02ef2e232600a4fab629354601d5da0f7c16b60dae7293c69255e5d4125298890d99dba8e5387960a5be60b92d61 +DIST ansi-0.3.5.tar.gz 6597 BLAKE2B 4e32bd7add4af1d9f11173aa79d6ed139814f3b3727a4599f104e8632a4e169fdaccf3e18ecf425f86c17c70c1d185f6a915bd9cbac2589d376fc23c338127e6 SHA512 a12b7e1231c2691edf6d807907fe6b8a8d6c6bc116fd9681b6bb7603e6e2ce7af17e3e7892d4046752844327eb8f02a248f93686640bec24dbe2be59202b01e3 diff --git a/dev-python/ansi/ansi-0.3.5.ebuild b/dev-python/ansi/ansi-0.3.5.ebuild new file mode 100644 index 000000000000..89b484bbc1fb --- /dev/null +++ b/dev-python/ansi/ansi-0.3.5.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="ANSI cursor movement and graphics in Python" +HOMEPAGE="https://github.com/tehmaze/ansi/" +SRC_URI="https://github.com/tehmaze/${PN}/archive/${P}.tar.gz" +S="${WORKDIR}/${PN}-${P}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +distutils_enable_tests pytest diff --git a/dev-python/ansi2html/Manifest b/dev-python/ansi2html/Manifest index 0ebcc14deed0..2bfbcf42e9b5 100644 --- a/dev-python/ansi2html/Manifest +++ b/dev-python/ansi2html/Manifest @@ -1 +1,2 @@ DIST ansi2html-1.6.0.tar.gz 36053 BLAKE2B deb63c6c9f431ff225cfcbbd2995f0fce9535736dba7d8c92f1f2e51d525640e69bc4269ab073438239edb35815288fa17b2d69c89cca7627ba2b5096009611f SHA512 35e5fb6cee96fe41a658c005734a58b08bc05e8ad5903ad18684c316bdad351a70c534b4162416225bc2ca774d01b4ac1bb8a8dad3170d0738aa7b3daf46b3c0 +DIST ansi2html-1.7.0.tar.gz 42189 BLAKE2B 91c7409b4f8b7503e719489b18e9d7267d80c5259b7481f127cb8d1e6429649249b0832746285efc3e8a4f90ca8f21b872b002634d47a4a54ddfdcc74df0f576 SHA512 bcae0de9874899bd8440853b8279f3b2c4ed46e24bf807221ddc9d1bfa39647e2efd178aefc2fd39bad27b53890270b6ff7c150a0b8e74581b8323ef7a16c977 diff --git a/dev-python/ansi2html/ansi2html-1.7.0.ebuild b/dev-python/ansi2html/ansi2html-1.7.0.ebuild new file mode 100644 index 000000000000..4f07280fe45f --- /dev/null +++ b/dev-python/ansi2html/ansi2html-1.7.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) +DISTUTILS_USE_SETUPTOOLS=pyproject.toml + +inherit distutils-r1 + +DESCRIPTION="Convert text with ANSI color codes to HTML" +HOMEPAGE="https://pypi.org/project/ansi2html/ https://github.com/pycontribs/ansi2html" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="doc" + +RDEPEND=">=dev-python/six-1.7.3[${PYTHON_USEDEP}]" +BDEPEND=" + dev-python/setuptools_scm[${PYTHON_USEDEP}] + dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}] + dev-python/toml[${PYTHON_USEDEP}] + doc? ( + app-text/asciidoc + ) + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/nose[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests --install pytest + +python_install_all() { + use doc && doman man/${PN}.1 + distutils-r1_python_install_all +} + +src_compile() { + # Upstream https://github.com/pycontribs/ansi2html/issues/124 + use doc && emake man/ansi2html.1 + distutils-r1_src_compile +} diff --git a/dev-python/autocommand/Manifest b/dev-python/autocommand/Manifest new file mode 100644 index 000000000000..40298bf7338c --- /dev/null +++ b/dev-python/autocommand/Manifest @@ -0,0 +1 @@ +DIST autocommand-2.2.1_p20211118.gh.tar.gz 22093 BLAKE2B 186062c0234fc0cc553c5d2a474a5fef46e0de25de8220228715265630fc95ed5f9b64321131322af71fadcc70ef79690652cd555a908b4e8628603a8ee494b2 SHA512 488228c7536f00ff9fbed99677440bfd7228aa64189bbcfb6aad7a92dc698d8283dfbd619ffeaeef883b0e600a90e2a0f56fa79958f144ce673dff53f8d59f89 diff --git a/dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild b/dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild new file mode 100644 index 000000000000..449874b1ba60 --- /dev/null +++ b/dev-python/autocommand/autocommand-2.2.1_p20211118.ebuild @@ -0,0 +1,25 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) +inherit distutils-r1 + +COMMIT="031c9750c74e3313b954b09e3027aaa6595649bb" + +DESCRIPTION="Library to create a command-line program from a function" +HOMEPAGE="https://pypi.org/project/autocommand/ + https://github.com/Lucretiel/autocommand" +SRC_URI=" + https://github.com/Lucretiel/autocommand/archive/${COMMIT}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${PN}-${COMMIT}" + +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="~amd64" + +distutils_enable_tests pytest diff --git a/dev-python/autocommand/metadata.xml b/dev-python/autocommand/metadata.xml new file mode 100644 index 000000000000..45c7b8dea5ad --- /dev/null +++ b/dev-python/autocommand/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + <upstream> + <remote-id type="pypi">autocommand</remote-id> + </upstream> + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/cachecontrol/cachecontrol-0.12.10.ebuild b/dev-python/cachecontrol/cachecontrol-0.12.10.ebuild index 92ee7b252e1d..832a80fbe605 100644 --- a/dev-python/cachecontrol/cachecontrol-0.12.10.ebuild +++ b/dev-python/cachecontrol/cachecontrol-0.12.10.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{6,7,8,9,10} ) +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) inherit distutils-r1 DESCRIPTION="httplib2 caching for requests" diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest index c0ee18d44e7f..0f1b4ebb3f60 100644 --- a/dev-python/cfn-lint/Manifest +++ b/dev-python/cfn-lint/Manifest @@ -1,3 +1,4 @@ DIST cfn-lint-0.56.3.tar.gz 8278034 BLAKE2B 894d30add7a193d256dc2195c0cd1d4b75f10f60abe9e37c5b0bdd84178d9559759326ad3e55d2321b99588094b436dc2dc8dff1cc561ae56dd4cee98d6b43bd SHA512 8aeaf44a626f9bfc05ebeefc8aec9211fcac1a65de681d5d700f3621631bff15e74ed644b9d0dc8af4d9b0b14802c2259dbc4ccf38594705040f5fd3af1cf482 DIST cfn-lint-0.56.4.tar.gz 8550039 BLAKE2B 99efd99b423e068717f3050e4da444436463c16b0a55dfc36ca7ca45b1136d08bbce84441c8c4170eff7c82cbd4ecf87b6f78504b1d09d850d803a7e957903c9 SHA512 b7c94d85d58f9e44ff8d5575bb33c8c7fafcb908afe144d585765f02d645436d6583ecc802f0fa376597b75c72ada9a23862141cf1170c1ac1f64f2467d346fb DIST cfn-lint-0.57.0.tar.gz 8579636 BLAKE2B 5e9cadcbd695b1047c4cf51132fcdf5a254a89fcd89a86e3c5d86096e8cd376f7f02422757f7daaf98490ff82df88933a976faba1ea6504a463ed7c485c83631 SHA512 11ec66bc5a98c928e059778462766100fb47f4b45a4cc7023d3d2b70ae664a1b199ec4df0d95cb9ada5a09a1f7a609fcec7d76339b3d9d6430bbe85462e1c020 +DIST cfn-lint-0.58.0.tar.gz 8645209 BLAKE2B b198c8e6a56095782ab5fbd70f1f5872d951da133ee7056ef468e5d1cd0ba1a7831ebd4263248ec2cec04980211e01cf3525e18f8ad272d6b1aaeee07527028d SHA512 238929a79d25b6a5945fd43f29fa3c432c650923634495c2ace7e3f6ace0c7701bcc278ea151a9172691bd04164f8a7b409dd8387e82e5917a9f65e1a556a4d2 diff --git a/dev-python/cfn-lint/cfn-lint-0.58.0.ebuild b/dev-python/cfn-lint/cfn-lint-0.58.0.ebuild new file mode 100644 index 000000000000..adba01b53c41 --- /dev/null +++ b/dev-python/cfn-lint/cfn-lint-0.58.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="CloudFormation Linter" +HOMEPAGE="https://pypi.org/project/cfn-lint/ https://github.com/aws-cloudformation/cfn-lint/" +SRC_URI=" + https://github.com/aws-cloudformation/cfn-lint/archive/v${PV}.tar.gz + -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +RDEPEND=" + >=dev-python/aws-sam-translator-1.42.0[${PYTHON_USEDEP}] + dev-python/jsonpatch[${PYTHON_USEDEP}] + >=dev-python/jschema_to_python-1.2.3[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}] + dev-python/junit-xml[${PYTHON_USEDEP}] + dev-python/networkx[${PYTHON_USEDEP}] + >dev-python/pyyaml-5.4[${PYTHON_USEDEP}] + >=dev-python/requests-2.15.0[${PYTHON_USEDEP}] + >=dev-python/sarif_om-1.0.4[${PYTHON_USEDEP}] + >=dev-python/six-1.11[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # TODO + test/unit/module/test_template.py::TestTemplate::test_build_graph + # requires git repo + test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs + # Internet + test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter + test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_2 + test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3 +) + +src_prepare() { + # unpin the deps + sed -e 's:~=[0-9.]*::' -i setup.py || die + distutils-r1_src_prepare +} diff --git a/dev-python/cherrypy/cherrypy-18.6.1.ebuild b/dev-python/cherrypy/cherrypy-18.6.1.ebuild index 52a42d72f6bc..919721733963 100644 --- a/dev-python/cherrypy/cherrypy-18.6.1.ebuild +++ b/dev-python/cherrypy/cherrypy-18.6.1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{6,7,8,9,10} ) +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) inherit distutils-r1 MY_P="CherryPy-${PV}" @@ -40,6 +40,11 @@ BDEPEND=" distutils_enable_tests pytest python_prepare_all() { + local PATCHES=( + # https://github.com/cherrypy/cherrypy/pull/1946 + "${FILESDIR}"/${P}-close-files.patch + ) + sed -r -e '/(pytest-sugar|pytest-cov)/ d' \ -i setup.py || die diff --git a/dev-python/cherrypy/files/cherrypy-18.6.1-close-files.patch b/dev-python/cherrypy/files/cherrypy-18.6.1-close-files.patch new file mode 100644 index 000000000000..478d717dfb8c --- /dev/null +++ b/dev-python/cherrypy/files/cherrypy-18.6.1-close-files.patch @@ -0,0 +1,416 @@ +From 94a2cc036203c6da55174ef3b105c0c875bbc79f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Mon, 31 Jan 2022 22:25:34 +0100 +Subject: [PATCH] Use context managers to close files properly and fix tests on + PyPy + +Use context managers (`with`) to ensure that all open files are closed +correctly. This resolves resource leaks and test failures with PyPy3.7. + +The code prior to this change used four approaches for closing files: + +1. Using a context manager (`with` clause). + +2. Using a try/finally clause. + +3. Closing the file in the same scope (unreliable: file object can leak + on exception). + +4. Not closing open files at all. + +The last point is a real problem for PyPy since it does not GC +unreachable objects as aggressively as CPython does. While leaving +a function scope on CPython causes the file objects private to it to +be destroyed (and therefore closed), in PyPy they can stay dangling +for some time. When combines with buffered writes, this means that +writes can still remain pending after returning from function. + +Using a context manager is a simple, consistent way to ensure that +the file object is closed once it is no longer needed. In turn, this +guarantees that all pending writes will be performed upon function +return and the code won't be hiting race conditions between writing +a file and reading it afterwards. +--- + cherrypy/_cperror.py | 3 ++- + cherrypy/_cpmodpy.py | 5 +---- + cherrypy/lib/auth_digest.py | 13 ++++++------ + cherrypy/lib/covercp.py | 40 ++++++++++++++++++------------------ + cherrypy/lib/reprconf.py | 5 +---- + cherrypy/lib/sessions.py | 10 ++------- + cherrypy/process/plugins.py | 3 ++- + cherrypy/test/helper.py | 3 ++- + cherrypy/test/logtest.py | 33 ++++++++++++++++------------- + cherrypy/test/modfastcgi.py | 5 +---- + cherrypy/test/modfcgid.py | 5 +---- + cherrypy/test/modpy.py | 5 +---- + cherrypy/test/modwsgi.py | 5 +---- + cherrypy/test/test_core.py | 5 ++--- + cherrypy/test/test_states.py | 11 +++++----- + 15 files changed, 67 insertions(+), 84 deletions(-) + +diff --git a/cherrypy/_cperror.py b/cherrypy/_cperror.py +index 4e727682..ebf1dcf6 100644 +--- a/cherrypy/_cperror.py ++++ b/cherrypy/_cperror.py +@@ -532,7 +532,8 @@ def get_error_page(status, **kwargs): + return result + else: + # Load the template from this path. +- template = io.open(error_page, newline='').read() ++ with io.open(error_page, newline='') as f: ++ template = f.read() + except Exception: + e = _format_exception(*_exc_info())[-1] + m = kwargs['message'] +diff --git a/cherrypy/_cpmodpy.py b/cherrypy/_cpmodpy.py +index 0e608c48..a08f0ed9 100644 +--- a/cherrypy/_cpmodpy.py ++++ b/cherrypy/_cpmodpy.py +@@ -339,11 +339,8 @@ LoadModule python_module modules/mod_python.so + } + + mpconf = os.path.join(os.path.dirname(__file__), 'cpmodpy.conf') +- f = open(mpconf, 'wb') +- try: ++ with open(mpconf, 'wb') as f: + f.write(conf_data) +- finally: +- f.close() + + response = read_process(self.apache_path, '-k start -f %s' % mpconf) + self.ready = True +diff --git a/cherrypy/lib/auth_digest.py b/cherrypy/lib/auth_digest.py +index fbb5df64..981e9a5d 100644 +--- a/cherrypy/lib/auth_digest.py ++++ b/cherrypy/lib/auth_digest.py +@@ -101,13 +101,12 @@ def get_ha1_file_htdigest(filename): + """ + def get_ha1(realm, username): + result = None +- f = open(filename, 'r') +- for line in f: +- u, r, ha1 = line.rstrip().split(':') +- if u == username and r == realm: +- result = ha1 +- break +- f.close() ++ with open(filename, 'r') as f: ++ for line in f: ++ u, r, ha1 = line.rstrip().split(':') ++ if u == username and r == realm: ++ result = ha1 ++ break + return result + + return get_ha1 +diff --git a/cherrypy/lib/covercp.py b/cherrypy/lib/covercp.py +index 3e219713..005fafa5 100644 +--- a/cherrypy/lib/covercp.py ++++ b/cherrypy/lib/covercp.py +@@ -334,26 +334,26 @@ class CoverStats(object): + yield '</body></html>' + + def annotated_file(self, filename, statements, excluded, missing): +- source = open(filename, 'r') +- buffer = [] +- for lineno, line in enumerate(source.readlines()): +- lineno += 1 +- line = line.strip('\n\r') +- empty_the_buffer = True +- if lineno in excluded: +- template = TEMPLATE_LOC_EXCLUDED +- elif lineno in missing: +- template = TEMPLATE_LOC_NOT_COVERED +- elif lineno in statements: +- template = TEMPLATE_LOC_COVERED +- else: +- empty_the_buffer = False +- buffer.append((lineno, line)) +- if empty_the_buffer: +- for lno, pastline in buffer: +- yield template % (lno, cgi.escape(pastline)) +- buffer = [] +- yield template % (lineno, cgi.escape(line)) ++ with open(filename, 'r') as source: ++ buffer = [] ++ for lineno, line in enumerate(source.readlines()): ++ lineno += 1 ++ line = line.strip('\n\r') ++ empty_the_buffer = True ++ if lineno in excluded: ++ template = TEMPLATE_LOC_EXCLUDED ++ elif lineno in missing: ++ template = TEMPLATE_LOC_NOT_COVERED ++ elif lineno in statements: ++ template = TEMPLATE_LOC_COVERED ++ else: ++ empty_the_buffer = False ++ buffer.append((lineno, line)) ++ if empty_the_buffer: ++ for lno, pastline in buffer: ++ yield template % (lno, cgi.escape(pastline)) ++ buffer = [] ++ yield template % (lineno, cgi.escape(line)) + + @cherrypy.expose + def report(self, name): +diff --git a/cherrypy/lib/reprconf.py b/cherrypy/lib/reprconf.py +index 3976652e..76381d7b 100644 +--- a/cherrypy/lib/reprconf.py ++++ b/cherrypy/lib/reprconf.py +@@ -163,11 +163,8 @@ class Parser(configparser.ConfigParser): + # fp = open(filename) + # except IOError: + # continue +- fp = open(filename) +- try: ++ with open(filename) as fp: + self._read(fp, filename) +- finally: +- fp.close() + + def as_dict(self, raw=False, vars=None): + """Convert an INI file to a dictionary""" +diff --git a/cherrypy/lib/sessions.py b/cherrypy/lib/sessions.py +index 5b3328f2..0f56a4fa 100644 +--- a/cherrypy/lib/sessions.py ++++ b/cherrypy/lib/sessions.py +@@ -516,11 +516,8 @@ class FileSession(Session): + if path is None: + path = self._get_file_path() + try: +- f = open(path, 'rb') +- try: ++ with open(path, 'rb') as f: + return pickle.load(f) +- finally: +- f.close() + except (IOError, EOFError): + e = sys.exc_info()[1] + if self.debug: +@@ -531,11 +528,8 @@ class FileSession(Session): + def _save(self, expiration_time): + assert self.locked, ('The session was saved without being locked. ' + "Check your tools' priority levels.") +- f = open(self._get_file_path(), 'wb') +- try: ++ with open(self._get_file_path(), 'wb') as f: + pickle.dump((self._data, expiration_time), f, self.pickle_protocol) +- finally: +- f.close() + + def _delete(self): + assert self.locked, ('The session deletion without being locked. ' +diff --git a/cherrypy/process/plugins.py b/cherrypy/process/plugins.py +index 2a9952de..e96fb1ce 100644 +--- a/cherrypy/process/plugins.py ++++ b/cherrypy/process/plugins.py +@@ -436,7 +436,8 @@ class PIDFile(SimplePlugin): + if self.finalized: + self.bus.log('PID %r already written to %r.' % (pid, self.pidfile)) + else: +- open(self.pidfile, 'wb').write(ntob('%s\n' % pid, 'utf8')) ++ with open(self.pidfile, 'wb') as f: ++ f.write(ntob('%s\n' % pid, 'utf8')) + self.bus.log('PID %r written to %r.' % (pid, self.pidfile)) + self.finalized = True + start.priority = 70 +diff --git a/cherrypy/test/helper.py b/cherrypy/test/helper.py +index c1ca4535..cae49533 100644 +--- a/cherrypy/test/helper.py ++++ b/cherrypy/test/helper.py +@@ -505,7 +505,8 @@ server.ssl_private_key: r'%s' + + def get_pid(self): + if self.daemonize: +- return int(open(self.pid_file, 'rb').read()) ++ with open(self.pid_file, 'rb') as f: ++ return int(f.read()) + return self._proc.pid + + def join(self): +diff --git a/cherrypy/test/logtest.py b/cherrypy/test/logtest.py +index 344be987..112bdc25 100644 +--- a/cherrypy/test/logtest.py ++++ b/cherrypy/test/logtest.py +@@ -97,7 +97,8 @@ class LogCase(object): + + def emptyLog(self): + """Overwrite self.logfile with 0 bytes.""" +- open(self.logfile, 'wb').write('') ++ with open(self.logfile, 'wb') as f: ++ f.write('') + + def markLog(self, key=None): + """Insert a marker line into the log and set self.lastmarker.""" +@@ -105,10 +106,11 @@ class LogCase(object): + key = str(time.time()) + self.lastmarker = key + +- open(self.logfile, 'ab+').write( +- b'%s%s\n' +- % (self.markerPrefix, key.encode('utf-8')) +- ) ++ with open(self.logfile, 'ab+') as f: ++ f.write( ++ b'%s%s\n' ++ % (self.markerPrefix, key.encode('utf-8')) ++ ) + + def _read_marked_region(self, marker=None): + """Return lines from self.logfile in the marked region. +@@ -122,20 +124,23 @@ class LogCase(object): + logfile = self.logfile + marker = marker or self.lastmarker + if marker is None: +- return open(logfile, 'rb').readlines() ++ with open(logfile, 'rb') as f: ++ return f.readlines() + + if isinstance(marker, str): + marker = marker.encode('utf-8') + data = [] + in_region = False +- for line in open(logfile, 'rb'): +- if in_region: +- if line.startswith(self.markerPrefix) and marker not in line: +- break +- else: +- data.append(line) +- elif marker in line: +- in_region = True ++ with open(logfile, 'rb') as f: ++ for line in f: ++ if in_region: ++ if (line.startswith(self.markerPrefix) ++ and marker not in line): ++ break ++ else: ++ data.append(line) ++ elif marker in line: ++ in_region = True + return data + + def assertInLog(self, line, marker=None): +diff --git a/cherrypy/test/modfastcgi.py b/cherrypy/test/modfastcgi.py +index 79ec3d18..0c6d01e2 100644 +--- a/cherrypy/test/modfastcgi.py ++++ b/cherrypy/test/modfastcgi.py +@@ -112,15 +112,12 @@ class ModFCGISupervisor(helper.LocalWSGISupervisor): + fcgiconf = os.path.join(curdir, fcgiconf) + + # Write the Apache conf file. +- f = open(fcgiconf, 'wb') +- try: ++ with open(fcgiconf, 'wb') as f: + server = repr(os.path.join(curdir, 'fastcgi.pyc'))[1:-1] + output = self.template % {'port': self.port, 'root': curdir, + 'server': server} + output = output.replace('\r\n', '\n') + f.write(output) +- finally: +- f.close() + + result = read_process(APACHE_PATH, '-k start -f %s' % fcgiconf) + if result: +diff --git a/cherrypy/test/modfcgid.py b/cherrypy/test/modfcgid.py +index d101bd67..ea373004 100644 +--- a/cherrypy/test/modfcgid.py ++++ b/cherrypy/test/modfcgid.py +@@ -101,15 +101,12 @@ class ModFCGISupervisor(helper.LocalSupervisor): + fcgiconf = os.path.join(curdir, fcgiconf) + + # Write the Apache conf file. +- f = open(fcgiconf, 'wb') +- try: ++ with open(fcgiconf, 'wb') as f: + server = repr(os.path.join(curdir, 'fastcgi.pyc'))[1:-1] + output = self.template % {'port': self.port, 'root': curdir, + 'server': server} + output = ntob(output.replace('\r\n', '\n')) + f.write(output) +- finally: +- f.close() + + result = read_process(APACHE_PATH, '-k start -f %s' % fcgiconf) + if result: +diff --git a/cherrypy/test/modpy.py b/cherrypy/test/modpy.py +index 7c288d2c..024453e9 100644 +--- a/cherrypy/test/modpy.py ++++ b/cherrypy/test/modpy.py +@@ -107,13 +107,10 @@ class ModPythonSupervisor(helper.Supervisor): + if not os.path.isabs(mpconf): + mpconf = os.path.join(curdir, mpconf) + +- f = open(mpconf, 'wb') +- try: ++ with open(mpconf, 'wb') as f: + f.write(self.template % + {'port': self.port, 'modulename': modulename, + 'host': self.host}) +- finally: +- f.close() + + result = read_process(APACHE_PATH, '-k start -f %s' % mpconf) + if result: +diff --git a/cherrypy/test/modwsgi.py b/cherrypy/test/modwsgi.py +index da7d240b..24c72684 100644 +--- a/cherrypy/test/modwsgi.py ++++ b/cherrypy/test/modwsgi.py +@@ -109,14 +109,11 @@ class ModWSGISupervisor(helper.Supervisor): + if not os.path.isabs(mpconf): + mpconf = os.path.join(curdir, mpconf) + +- f = open(mpconf, 'wb') +- try: ++ with open(mpconf, 'wb') as f: + output = (self.template % + {'port': self.port, 'testmod': modulename, + 'curdir': curdir}) + f.write(output) +- finally: +- f.close() + + result = read_process(APACHE_PATH, '-k start -f %s' % mpconf) + if result: +diff --git a/cherrypy/test/test_core.py b/cherrypy/test/test_core.py +index 6fde3a97..42460b3f 100644 +--- a/cherrypy/test/test_core.py ++++ b/cherrypy/test/test_core.py +@@ -586,9 +586,8 @@ class CoreRequestHandlingTest(helper.CPWebCase): + def testFavicon(self): + # favicon.ico is served by staticfile. + icofilename = os.path.join(localDir, '../favicon.ico') +- icofile = open(icofilename, 'rb') +- data = icofile.read() +- icofile.close() ++ with open(icofilename, 'rb') as icofile: ++ data = icofile.read() + + self.getPage('/favicon.ico') + self.assertBody(data) +diff --git a/cherrypy/test/test_states.py b/cherrypy/test/test_states.py +index 28dd6510..d59a4d87 100644 +--- a/cherrypy/test/test_states.py ++++ b/cherrypy/test/test_states.py +@@ -424,11 +424,12 @@ test_case_name: "test_signal_handler_unsubscribe" + p.join() + + # Assert the old handler ran. +- log_lines = list(open(p.error_log, 'rb')) +- assert any( +- line.endswith(b'I am an old SIGTERM handler.\n') +- for line in log_lines +- ) ++ with open(p.error_log, 'rb') as f: ++ log_lines = list(f) ++ assert any( ++ line.endswith(b'I am an old SIGTERM handler.\n') ++ for line in log_lines ++ ) + + + def test_safe_wait_INADDR_ANY(): # pylint: disable=invalid-name +-- +2.35.1 + diff --git a/dev-python/commentjson/commentjson-0.9.0.ebuild b/dev-python/commentjson/commentjson-0.9.0.ebuild index 57af01ab311c..12e77aeeb949 100644 --- a/dev-python/commentjson/commentjson-0.9.0.ebuild +++ b/dev-python/commentjson/commentjson-0.9.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 2021 Gentoo Authors +# Copyright 2021-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8,9,10} ) +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) inherit distutils-r1 DESCRIPTION="Add Python and JavaScript style comments in your JSON files" diff --git a/dev-python/distro/distro-1.6.0.ebuild b/dev-python/distro/distro-1.6.0.ebuild index d268c39a860d..16fe8d865370 100644 --- a/dev-python/distro/distro-1.6.0.ebuild +++ b/dev-python/distro/distro-1.6.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8,9,10} ) +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) inherit distutils-r1 DESCRIPTION="Reliable machine-readable Linux distribution information for Python" diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest index 2099353297c8..5b159d372f29 100644 --- a/dev-python/google-auth/Manifest +++ b/dev-python/google-auth/Manifest @@ -1,3 +1,4 @@ DIST google-auth-2.3.3.tar.gz 186600 BLAKE2B 52b1269b88d27fafafcb053219c93c7f180cac11cdf32b140531553dda547d02087b0418d44edc6497eb37793859d86d4beaad1a7a128c86839202785584c9ab SHA512 3ab6d97e71988ef5e338e0a643545f8fa504f5ea04f4176afd9417ecf0e9a3fa45333f0c2c7ea5bf32423df32c48ec59ac9d16ef8bfc35a1aa4c0fcc114fef63 DIST google-auth-2.4.0.tar.gz 188032 BLAKE2B 27cd5a9fec2a0f98e26e4c5cfada446f9561834d8471a91bcab54b2965231ecf9d40d8d6d4240355adf0da5ffc9533ce745940a9d9eaca3fd97ed8c759e55939 SHA512 bb107b4dcf556e98f2a994d9baf10492d249b679d92c26bd96c79764d886bfb001940ac168ff0932456af15e4f2de38edc62d7c9beecadafad5e6350b13e0d95 DIST google-auth-2.5.0.tar.gz 189396 BLAKE2B 85b6cccf46acaa15ebc58b0cc4ea906c405e8f5e1f9d5c67c1790105689bba47e9f57355751a31a051ec6f20f828e2e2d0d9e792afc5d877791deab8a3e18503 SHA512 7323f253789364d14c1c1adf148cbfff2abceec06c539e93c8f5ae4a5ee978838480f9923e3d62988d903a239434257f980ec1095a8cedc678e263d0adff6cce +DIST google-auth-2.6.0.tar.gz 188477 BLAKE2B 19baf9ec41e2b8667b8800687f4920d0e53df6cbfd17830e352f808b1438b21d952a4480f3b0fbc8e83dd215c0cd49b393f4798952eea1eb808b5417d578af85 SHA512 160fae0afcebd62dc0d46bf5e1102be34c6084cf188941105facd00b4a9b2bf6b36b58623e84595111849af0cb16b4f4a09b1e13ce095be025831fa4e7241b4c diff --git a/dev-python/google-auth/google-auth-2.6.0.ebuild b/dev-python/google-auth/google-auth-2.6.0.ebuild new file mode 100644 index 000000000000..9537544677b8 --- /dev/null +++ b/dev-python/google-auth/google-auth-2.6.0.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Google Authentication Library" +HOMEPAGE=" + https://github.com/googleapis/google-auth-library-python/ + https://pypi.org/project/google-auth/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +RDEPEND=" + <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}] + dev-python/namespace-google[${PYTHON_USEDEP}] + >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}] + >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}] + >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + " +BDEPEND=" + test? ( + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/grpcio[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/moto[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pytest-localserver[${PYTHON_USEDEP}] + dev-python/pyu2f[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + dev-python/urllib3[${PYTHON_USEDEP}] + )" + +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + # these are compatibility tests with oauth2client + # disable them to unblock removal of that package + tests/test__oauth2client.py +) + +python_install_all() { + distutils-r1_python_install_all + find "${ED}" -name '*.pth' -delete || die +} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 873732102686..3cce33a5a1f0 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -3,3 +3,4 @@ DIST hypothesis-python-6.33.0.tar.gz 9177426 BLAKE2B ad1b1a358345f9b92bf41cee196 DIST hypothesis-python-6.34.2.tar.gz 9178843 BLAKE2B 24bbc19ea5c207880d577a3c451f6e90c4b124a934aa1cd103c11ec77cbb5076d75e3860abd2b9bd2fc75640ba562b81d3fa038cc7752109625990e0ac0e1039 SHA512 a03233a2b84b1e009ad246663b0c7f6b56f2c04d08d69297ff50b02b8af292fdee37f877ca2f709e6ef64192d31e3d9bf18f78a6f5c92b8f03bf04ba398d063c DIST hypothesis-python-6.35.1.tar.gz 9179056 BLAKE2B 3667ed7fe2a5402a3055941c44afe8e3e909381a0cbc1bec61cdcec18cb102796d283c737d5642ff6242fee4f0a2dc88774befe880a58f64bb4e183789b21e09 SHA512 839c9b2cf607f44fccf20c814a774889484f61a40a93e976f7bcb457dceac272bf6b775231fb36009e115181cf2089907bcad898f795e266d98ca218c5c4af28 DIST hypothesis-python-6.36.0.tar.gz 9179303 BLAKE2B f7e1b7f4400f4e6acd15898a32630420b693dd41d432e0914b56469f7781e5ff4df2e2679be9af36bcfe65a618ddd5d8be9ff22b9df8b05af697960c6721a813 SHA512 afff635df30552aa8165a28e2dd02e01cd265e22793d788b8a7009f5d3f85fee6330423eed405f64a13d8749c852b81b3d21b4c48f3b3b3a3682e8cdd4cdf238 +DIST hypothesis-python-6.36.1.tar.gz 9179567 BLAKE2B 67c5e33667287107b80684011076448d3761f09759592eeb42c4763080a23c9bdcffd21d0566282b856f55cc3b527e365f5b91f12abf0de77aee842ef2da719d SHA512 53a2054cfad778e59d56b483075a2de0cb3b15c80be3d2101607c593eb4e997516c350a44e542ec4ecf6b265058733d0362d557b908d58a934e57369b08334be diff --git a/dev-python/hypothesis/hypothesis-6.36.1.ebuild b/dev-python/hypothesis/hypothesis-6.36.1.ebuild new file mode 100644 index 000000000000..6d0ac831451c --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.36.1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 multiprocessing optfeature + +DESCRIPTION="A library for property based testing" +HOMEPAGE="https://github.com/HypothesisWorks/hypothesis https://pypi.org/project/hypothesis/" +SRC_URI="https://github.com/HypothesisWorks/${PN}/archive/${PN}-python-${PV}.tar.gz" +S="${WORKDIR}/${PN}-${PN}-python-${PV}/${PN}-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' python3_{8..10}) + ) +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/pexpect[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + !!<dev-python/typing-3.7.4.1 + ) +" + +distutils_enable_tests pytest + +python_prepare() { + if ! use cli || ! has "${EPYTHON}" python3.{8..10}; then + sed -i -e '/console_scripts/d' setup.py || die + fi +} + +python_test() { + # subtests are broken by warnings from random plugins + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=xdist.plugin,pytest_forked,_hypothesis_pytestplugin + + epytest tests/cover tests/pytest tests/quality \ + -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/mongomock/Manifest b/dev-python/mongomock/Manifest index 9099adf3508e..7bd93c46a015 100644 --- a/dev-python/mongomock/Manifest +++ b/dev-python/mongomock/Manifest @@ -1 +1,2 @@ DIST mongomock-3.23.0.tar.gz 123705 BLAKE2B d58f867628c8c80e1289c1a86fa910585431b5eca41818201dccd54d5adccb55c35aea41566ab2d483c7040cfcaa4c2afdbaad39fdd901497a0e1db4effd1c11 SHA512 35442f29907bb58693059a33f5941ca557965fe2b0b9b68ab3e4b31f5e2326bb41db8716a089dd18a1a1fdd5523a729b48a85e0caa0daca1bad2790c2ac017a9 +DIST mongomock-4.0.0.tar.gz 145478 BLAKE2B fad07cd15f250f81dd483814d6a3c15e69a86f4ee9a27308a3a08961f11a38c1abfc3bfa0a36dd81e14c902946c9aefd6ac29a9dde95dbf3e5b0781e7f9c8aca SHA512 e489dd9f312762f0322dfcc34b85912b5e47fa838bd48561aab9c195f19002c8e5f3617a1cc45929e9476aede7733286b5f6246f54be7396c422da5920bd89d5 diff --git a/dev-python/mongomock/mongomock-4.0.0.ebuild b/dev-python/mongomock/mongomock-4.0.0.ebuild new file mode 100644 index 000000000000..b1e6c9433b49 --- /dev/null +++ b/dev-python/mongomock/mongomock-4.0.0.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Library to help testing Python code that interacts with MongoDB via Pymongo" +HOMEPAGE="https://github.com/mongomock/mongomock https://pypi.org/project/mongomock/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND=">=dev-python/pbr-5.1.1[${PYTHON_USEDEP}]" + +RDEPEND=" + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/pymongo-3.10.1[${PYTHON_USEDEP}] + >=dev-python/sentinels-1.0.0[${PYTHON_USEDEP}] + >=dev-python/six-1.14.0[${PYTHON_USEDEP}]" + +src_test() { + # Use NO_LOCAL_MONGO to disable tests that need a MongoDB instance. + # TZ=UTC needed for date/time tests to pass + TZ=UTC NO_LOCAL_MONGO=1 distutils-r1_src_test +} + +distutils_enable_tests pytest diff --git a/dev-python/pip-run/Manifest b/dev-python/pip-run/Manifest new file mode 100644 index 000000000000..919e3b249dd7 --- /dev/null +++ b/dev-python/pip-run/Manifest @@ -0,0 +1 @@ +DIST pip-run-8.8.0.gh.tar.gz 22145 BLAKE2B 18b915a29a1767022a609e356005e87f035c3d9bab6dd5ab44f9f42668f4d64c4ee5360cb92b217aa2b7b94e0fbfdb5f0e494e668d9bed8badc38ab36cced353 SHA512 301083a34dea08035819024f17d8108f9751a765cdfc8f2e273b948c7746111efedd80765a63c3ac145bdf7d2b41c9a0b2b20286181c4c94cbc5501fb81eb74d diff --git a/dev-python/pip-run/metadata.xml b/dev-python/pip-run/metadata.xml new file mode 100644 index 000000000000..585e2d2ee428 --- /dev/null +++ b/dev-python/pip-run/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + <upstream> + <remote-id type="pypi">pip-run</remote-id> + </upstream> + <origin>gentoo-staging</origin> + <stabilize-allarches/> +</pkgmetadata>
\ No newline at end of file diff --git a/dev-python/pip-run/pip-run-8.8.0.ebuild b/dev-python/pip-run/pip-run-8.8.0.ebuild new file mode 100644 index 000000000000..9028aa26f8d6 --- /dev/null +++ b/dev-python/pip-run/pip-run-8.8.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) +inherit distutils-r1 + +DESCRIPTION="Install packages and run Python with them" +HOMEPAGE="https://pypi.org/project/pip-run/ + https://github.com/jaraco/pip-run" +SRC_URI=" + https://github.com/jaraco/pip-run/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + dev-python/autocommand[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/path-py[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/pygments[${PYTHON_USEDEP}] + ) +" + +EPYTEST_IGNORE=( + # Needs network access, and another test dep nbformat + pip_run/tests/test_scripts.py +) + +distutils_enable_tests pytest + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest index bc358516b9bd..58737ebc97c9 100644 --- a/dev-python/pip/Manifest +++ b/dev-python/pip/Manifest @@ -1,5 +1,6 @@ DIST pip-21.3.1.tar.gz 8961896 BLAKE2B f694956854cfd26f9b043fc28994448d2b2efff04080808f4e89ba15905887b432efb02d1c81370f75bd42e5c615a5a2360af63437967bc2fef63a85d59906a7 SHA512 2f50f95fe36cffc18821a70824f5b28d03598894f9ea5b02acc4921d16fc7739131814828a2159bcd577331cc780c7776a3669fa1ca2d4690c861add10a16f00 DIST pip-22.0.1.tar.gz 9288984 BLAKE2B 11936d6baffb8ccf3715f1183ac007f93930c6188c9b8b7c063b1c42513658cf8de31ce98a73d7d94a0a5b28407c985fe419419a689fae2a43bfc5c2fcb0439e SHA512 64ee12c8bfa12e8df4d5160c24064f28805d14c215d9db2663ca069d49e1e3c7050084bd9059bfdb31f0901440b4c2711d4544440a937a94ca1b9fa7f213924d +DIST pip-22.0.2.tar.gz 9289498 BLAKE2B 4e23c9cf5410cbed77b631fc153c1a9a992a11e5f06c9e317a4e3018da19382f25208557d327447ee778d2a9ca585f08ffa2a3fd8bcdfcda7fd2ec195e99c135 SHA512 5cc649b1b64c731d3b47c2296d37c93d276393224e8183e6f8966e320b876122c3e89c163d3da5cba064f4279a5e1f2a92b349edaf834c33b69b77d593b7195f DIST setuptools-57.4.0-py3-none-any.whl 819017 BLAKE2B afba86cf9aeea58ee869fdc11bbb192abbf2f89710e468b90dc291fec228ca16202483e36195a5ad4e2b8d210326bc83e2be6ec696ab413d94ffaeb05bb9c030 SHA512 9bf230f4e0e72acab07ab372a6ca05adb3d175a8079d2f73d327c632f3d27b8ee10442d3e60f4c94a6e61d5ba2212fc78187ca6e1717e15bb570bdce4263fd0b DIST virtualenv-16.7.11.tar.gz 8134533 BLAKE2B ea81e11c210d911bf9576edf7b1754721b270adcc5d9633415d33b8f659149d64932fe2d366200121ec00c266c25dae380e248add438fc357477114eba4dfb4e SHA512 82d0d2a964508511e8e1686703581ff543f65791dc2449d9741d46ea57c4c89673947d2477ba374176f05fcea2a5ca572aa650c61c4f3271c4d73d1ff9d9ff42 DIST wheel-0.36.2-py2.py3-none-any.whl 35046 BLAKE2B bc4e8dab7c74eea34d3b4a813b7eaf6295a99a396a861b6cdd76f743043e89140bad132bdd13e385e8945ce02e0798e1d3ac73fc1b23bde5b2a83e4bb4dd5cdc SHA512 6bb5119b4d3704fe1e3c1eaaa3124edab13f61b46f8a0a8e75974fac4e5b25d8b53606071a03a8d8990ad1cfe2ab247ddea260098df2c0c35ae965be47080284 diff --git a/dev-python/pip/pip-22.0.2.ebuild b/dev-python/pip/pip-22.0.2.ebuild new file mode 100644 index 000000000000..46e18afcf46c --- /dev/null +++ b/dev-python/pip/pip-22.0.2.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) +PYTHON_REQ_USE="ssl(+),threads(+)" + +inherit bash-completion-r1 distutils-r1 + +# setuptools & wheel .whl files are required for testing, +# the exact version is not very important. +SETUPTOOLS_WHL="setuptools-57.4.0-py3-none-any.whl" +WHEEL_WHL="wheel-0.36.2-py2.py3-none-any.whl" +# upstream still requires virtualenv-16 for testing, we are now fetching +# it directly to avoid blockers with virtualenv-20 +VENV_PV=16.7.11 + +DESCRIPTION="Installs python packages -- replacement for easy_install" +HOMEPAGE=" + https://pip.pypa.io/en/stable/ + https://pypi.org/project/pip/ + https://github.com/pypa/pip/" +SRC_URI=" + https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + test? ( + https://files.pythonhosted.org/packages/py3/s/setuptools/${SETUPTOOLS_WHL} + https://files.pythonhosted.org/packages/py2.py3/w/wheel/${WHEEL_WHL} + https://github.com/pypa/virtualenv/archive/${VENV_PV}.tar.gz + -> virtualenv-${VENV_PV}.tar.gz + ) +" + +LICENSE="MIT" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +SLOT="0" +IUSE="test vanilla" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/pretend[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/scripttest[${PYTHON_USEDEP}] + dev-python/tomli-w[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + !alpha? ( !hppa? ( !ia64? ( + dev-python/cryptography[${PYTHON_USEDEP}] + ) ) ) + ) +" + +python_prepare_all() { + local PATCHES=( + "${FILESDIR}/${PN}-21.3-no-coverage.patch" + ) + if ! use vanilla; then + PATCHES+=( "${FILESDIR}/pip-20.0.2-disable-system-install.patch" ) + fi + + distutils-r1_python_prepare_all + + if use test; then + mkdir tests/data/common_wheels/ || die + cp "${DISTDIR}"/{${SETUPTOOLS_WHL},${WHEEL_WHL}} \ + tests/data/common_wheels/ || die + fi +} + +python_test() { + if [[ ${EPYTHON} == pypy* ]]; then + ewarn "Skipping tests on ${EPYTHON} since they are very broken" + return 0 + fi + + local EPYTEST_DESELECT=( + tests/functional/test_install.py::test_double_install_fail + tests/functional/test_list.py::test_multiple_exclude_and_normalization + 'tests/unit/test_commands.py::test_index_group_handle_pip_version_check[False-False-True-download]' + 'tests/unit/test_commands.py::test_index_group_handle_pip_version_check[False-False-True-install]' + 'tests/unit/test_commands.py::test_index_group_handle_pip_version_check[False-False-True-list]' + 'tests/unit/test_commands.py::test_index_group_handle_pip_version_check[False-False-True-wheel]' + tests/functional/test_install.py::test_install_pip_does_not_modify_pip_when_satisfied + # Internet + tests/functional/test_install.py::test_install_editable_with_prefix_setup_cfg + tests/functional/test_install.py::test_editable_install__local_dir_no_setup_py_with_pyproject + tests/functional/test_install.py::test_editable_install__local_dir_setup_requires_with_pyproject + ) + + [[ ${EPYTHON} == python3.10 ]] && EPYTEST_DESELECT+=( + tests/lib/test_lib.py::test_correct_pip_version + # uses vendored packaging that uses deprecated distutils + tests/functional/test_warning.py::test_pip_works_with_warnings_as_errors + ) + + if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/functional/test_install.py::test_install_sends_client_cert + tests/functional/test_install_config.py::test_do_not_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_authentication + tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed + ) + fi + + distutils_install_for_testing + pushd "${WORKDIR}/virtualenv-${VENV_PV}" >/dev/null || die + distutils_install_for_testing + popd >/dev/null || die + # prevent it from being installed + rm -r "${BUILD_DIR}"/lib/virtualenv* || die + + local -x GENTOO_PIP_TESTING=1 \ + PATH="${TEST_DIR}/scripts:${PATH}" \ + PYTHONPATH="${TEST_DIR}/lib:${BUILD_DIR}/lib" + epytest -m "not network" +} + +python_install_all() { + # Prevent dbus auto-launch + # https://bugs.gentoo.org/692178 + export DBUS_SESSION_BUS_ADDRESS="disabled:" + + local DOCS=( AUTHORS.txt docs/html/**/*.rst ) + distutils-r1_python_install_all + + COMPLETION="${T}"/completion.tmp + + # 'pip completion' command embeds full $0 into completion script, which confuses + # 'complete' and causes QA warning when running as "${PYTHON} -m pip". + # This trick sets correct $0 while still calling just installed pip. + local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())' + + "${EPYTHON}" -c "${pipcmd}" completion --bash > "${COMPLETION}" || die + newbashcomp "${COMPLETION}" ${PN} + + "${EPYTHON}" -c "${pipcmd}" completion --zsh > "${COMPLETION}" || die + insinto /usr/share/zsh/site-functions + newins "${COMPLETION}" _pip +} diff --git a/dev-python/pylast/Manifest b/dev-python/pylast/Manifest index 54435402bb07..9490bb09a2d2 100644 --- a/dev-python/pylast/Manifest +++ b/dev-python/pylast/Manifest @@ -1 +1,2 @@ DIST pylast-4.4.0.tar.gz 39793 BLAKE2B 13a2bd4652b0dee142442f8bc6bf922f544b093be207efe8661f5355e37ff59a5c0d9c844193d2d3e4f22ccafc10993b8cced6872d4f0fece42c37524bee8beb SHA512 341b3f8a6691699b9581769d1f06908df8ec694a22d8918e4ed37af1f47287577c5fc156f3807c744aa9774d69e23570036f06a8e9921f3c7c7d21b53b8eb041 +DIST pylast-4.5.0.tar.gz 40175 BLAKE2B 394a6329d0c7f03ae70cf7ee5e19e310d4fc4b70f86a6e8ed66ad93674465433ff7ab06cfbfa82fd33302a6d85b9fe582402c2166746e7853d1bada9de5f2449 SHA512 c885f0ea415c2a6b96454abdbcef0b61732a5253ddff45a03d85a2b7d733f6bff47d1806576e4acc6d07763e404985e5c35341e37b88d586d1cbec811d984551 diff --git a/dev-python/pylast/pylast-4.5.0.ebuild b/dev-python/pylast/pylast-4.5.0.ebuild new file mode 100644 index 000000000000..e152e2f890f4 --- /dev/null +++ b/dev-python/pylast/pylast-4.5.0.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Python interface to last.fm and other api-compatible websites" +HOMEPAGE="https://github.com/pylast/pylast" +SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +BDEPEND=" + dev-python/setuptools_scm[${PYTHON_USEDEP}] + test? ( dev-python/flaky[${PYTHON_USEDEP}] ) +" + +distutils_enable_tests pytest + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} diff --git a/dev-python/resolvelib/resolvelib-0.8.1.ebuild b/dev-python/resolvelib/resolvelib-0.8.1.ebuild index 9a1ee5520573..63f59bc03992 100644 --- a/dev-python/resolvelib/resolvelib-0.8.1.ebuild +++ b/dev-python/resolvelib/resolvelib-0.8.1.ebuild @@ -1,9 +1,9 @@ -# Copyright 2021 Gentoo Authors +# Copyright 2021-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{6,7,8,9,10} ) +PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 ) inherit distutils-r1 DESCRIPTION="provides a Resolver class that includes dependency resolution logic" diff --git a/dev-python/threadpoolctl/Manifest b/dev-python/threadpoolctl/Manifest index a8c27843f8f0..e7396707fda4 100644 --- a/dev-python/threadpoolctl/Manifest +++ b/dev-python/threadpoolctl/Manifest @@ -1 +1,2 @@ DIST threadpoolctl-3.0.0.tar.gz 28486 BLAKE2B e49bf43ea272e353e1a5f864cd7f38978793489b2dba60a1c075a61f6dbfe0a75a456e1143c0f33d3222ff2e27c1ce6025579b00e3feb2d789c7be068f6e07ad SHA512 df0829d5bed15d5cbcd502810aff91c9dd0d4dafc11173aa762426e96a7ed5acb0fd3132161e5b2d234136156f2a599c3592fc0a8e20828db83882b840a939cc +DIST threadpoolctl-3.1.0.tar.gz 29899 BLAKE2B 41bddace1231107a108fd57e281541a4e9f04c9bee957d16cfbff49361f9dcb0b879bf376617480b1ca2929c09d07fd1f8f704afa4ad85e34e38c4a82fb48a3c SHA512 551dad4c93a62382583a96187f795aaeb6954700647c984ad618d3d1bede50d6859e75f676c557fa875db37c798c0347131f6b136148f71b8208783c7f8f717e diff --git a/dev-python/threadpoolctl/threadpoolctl-3.1.0.ebuild b/dev-python/threadpoolctl/threadpoolctl-3.1.0.ebuild new file mode 100644 index 000000000000..962fc1c25472 --- /dev/null +++ b/dev-python/threadpoolctl/threadpoolctl-3.1.0.ebuild @@ -0,0 +1,21 @@ +# Copyright 2020-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="Limit the number of threads used in native libs that have their own threadpool" +HOMEPAGE="https://github.com/joblib/threadpoolctl" +SRC_URI="https://github.com/joblib/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" + +BDEPEND="dev-python/cython[${PYTHON_USEDEP}]" + +distutils_enable_tests pytest diff --git a/dev-python/tikzplotlib/Manifest b/dev-python/tikzplotlib/Manifest index ed97defb17f0..9cff890ae0f1 100644 --- a/dev-python/tikzplotlib/Manifest +++ b/dev-python/tikzplotlib/Manifest @@ -1,2 +1,4 @@ +DIST tikzplotlib-0.10.0.tar.gz 98266 BLAKE2B 28c49f937af5f70830218dcd3215ab5b7e56077cdd87e0e3887b48a63903314765adc872dc5c7f55e1bd5770541c8f1f3950033cf54acdf8a38be3b14bb6ac4b SHA512 661291a975132ac18066dc8af310da91847f0fed289256944bba1f374c61cdb95c72a942527a92906c935b5af1131069212109eb25f531bac7ac72f6a1d9d773 +DIST tikzplotlib-0.10.1.tar.gz 98265 BLAKE2B 7664e702afb38580af78f2b0887000215a5a0c2ef57e4f9ca5d1100bcba257365b89aee805e800e3a9b5a992487c1ee9733088dadc53941405c0055336478130 SHA512 13a750d9929db1d4ce4608a296523be55878c702846b0b339c6c002cbdf4e8f7b1ffea84db612d8932a379fafce9b4fe6ab6ce4325bf780f211cc0b885a15818 DIST tikzplotlib-0.9.16.tar.gz 98162 BLAKE2B de32064cd8cb6f3fbd8e067c8126a86da6d9836dc42d91d42fd8ad6ba9f8fc2a1001904d370cb756e76112a0d746247f6235fe40af277a7142bdc6264b1ee531 SHA512 7633b7e8ee23aed8da3df249a7dbc4e36667950d2c5caef5845b5468a61f5cb0191cad3253cc7940d19be56a7981d33c70c9d45ce0d9329286266af6f36c2d94 DIST tikzplotlib-0.9.17.tar.gz 98194 BLAKE2B 746bd940805fa7bcef56398f974ad13c54814c7192ed8c85bdcfdf2fbeb93a0016d810a0b532120a404053e0666352c07f5f0db97b3241574fbcda3ad464664f SHA512 3708eba0d77890a919c7e974569fcf4cf1c798199927bd2771e8952f6ea49a10a6b85d605c3d6c4969e16bf47eb1683557f8bbefdf986f043049aa6b0c37a8ff diff --git a/dev-python/tikzplotlib/metadata.xml b/dev-python/tikzplotlib/metadata.xml index b0a1543a7717..d92fcb12c3ae 100644 --- a/dev-python/tikzplotlib/metadata.xml +++ b/dev-python/tikzplotlib/metadata.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>andrewammerlaan@gentoo.org</email> - <name>Andrew Ammerlaan</name> - </maintainer> <maintainer type="project"> <email>python@gentoo.org</email> <name>Python</name> diff --git a/dev-python/tikzplotlib/tikzplotlib-0.10.0.ebuild b/dev-python/tikzplotlib/tikzplotlib-0.10.0.ebuild new file mode 100644 index 000000000000..e0ea48473ddf --- /dev/null +++ b/dev-python/tikzplotlib/tikzplotlib-0.10.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 2019-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 virtualx + +DESCRIPTION="Convert matplotlib figures into TikZ/PGFPlots" +HOMEPAGE="https://github.com/nschloe/tikzplotlib" +SRC_URI="https://github.com/nschloe/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + app-text/texlive[extra] + >=dev-python/matplotlib-3.5[latex,${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/webcolors[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/pytest-codeblocks[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + )" + +distutils_enable_tests pytest +distutils_enable_sphinx doc dev-python/mock dev-python/alabaster + +src_test() { + local -x MPLBACKEND=Agg + virtx distutils-r1_src_test +} diff --git a/dev-python/tikzplotlib/tikzplotlib-0.10.1.ebuild b/dev-python/tikzplotlib/tikzplotlib-0.10.1.ebuild new file mode 100644 index 000000000000..8badae919d09 --- /dev/null +++ b/dev-python/tikzplotlib/tikzplotlib-0.10.1.ebuild @@ -0,0 +1,40 @@ +# Copyright 2019-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{6,7,8,9,10} ) + +inherit distutils-r1 virtualx + +DESCRIPTION="Convert matplotlib figures into TikZ/PGFPlots" +HOMEPAGE="https://github.com/nschloe/tikzplotlib" +SRC_URI="https://github.com/nschloe/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + app-text/texlive[extra] + dev-python/matplotlib[latex,${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/webcolors[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/pytest-codeblocks[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + )" + +distutils_enable_tests pytest +distutils_enable_sphinx doc dev-python/mock + +src_test() { + local -x MPLBACKEND=Agg + virtx distutils-r1_src_test +} |
