summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2023-07-26 06:16:46 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2023-07-26 06:16:46 +0000
commit3829791087ab54ad4154c33b0eac0f7e12c76e9d (patch)
tree87ee8fa7714ddd8bf18c6c6f9ba8a6b4d27a3470
parent2023-07-26 05:46:37 UTC (diff)
parentgit-r3.eclass: Add Git LFS support (diff)
downloadgentoo-3829791087ab54ad4154c33b0eac0f7e12c76e9d.tar.gz
gentoo-3829791087ab54ad4154c33b0eac0f7e12c76e9d.tar.bz2
gentoo-3829791087ab54ad4154c33b0eac0f7e12c76e9d.zip
Merge updates from master
-rw-r--r--app-admin/awscli/Manifest1
-rw-r--r--app-admin/awscli/awscli-1.29.11.ebuild80
-rw-r--r--dev-python/apsw/Manifest1
-rw-r--r--dev-python/apsw/apsw-3.42.0.1.ebuild51
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.28.11.ebuild66
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.31.11.ebuild79
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.79.1.ebuild64
-rw-r--r--dev-python/elementpath/Manifest1
-rw-r--r--dev-python/elementpath/elementpath-4.1.5.ebuild34
-rw-r--r--dev-python/emoji/Manifest1
-rw-r--r--dev-python/emoji/emoji-2.7.0.ebuild25
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.95.0.ebuild49
-rw-r--r--dev-python/indexed-gzip/Manifest (renamed from dev-python/indexed_gzip/Manifest)1
-rw-r--r--dev-python/indexed-gzip/indexed-gzip-1.7.1.ebuild (renamed from dev-python/indexed_gzip/indexed_gzip-1.7.1.ebuild)0
-rw-r--r--dev-python/indexed-gzip/indexed-gzip-1.8.3.ebuild56
-rw-r--r--dev-python/indexed-gzip/metadata.xml (renamed from dev-python/indexed_gzip/metadata.xml)0
-rw-r--r--dev-python/ipykernel/Manifest1
-rw-r--r--dev-python/ipykernel/ipykernel-6.25.0.ebuild79
-rw-r--r--dev-python/markdown/Manifest1
-rw-r--r--dev-python/markdown/markdown-3.4.4.ebuild39
-rw-r--r--dev-python/mistletoe/Manifest1
-rw-r--r--dev-python/mistletoe/metadata.xml12
-rw-r--r--dev-python/mistletoe/mistletoe-1.1.0.ebuild26
-rw-r--r--dev-python/mkdocs-minify-plugin/Manifest1
-rw-r--r--dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.0.ebuild48
-rw-r--r--dev-python/nbconvert/Manifest1
-rw-r--r--dev-python/nbconvert/nbconvert-7.7.3.ebuild93
-rw-r--r--dev-python/pydantic/Manifest1
-rw-r--r--dev-python/pydantic/pydantic-2.1.1.ebuild65
-rw-r--r--dev-python/pytools/Manifest1
-rw-r--r--dev-python/pytools/pytools-2023.1.1.ebuild33
-rw-r--r--dev-python/responses/Manifest1
-rw-r--r--dev-python/responses/responses-0.23.2.ebuild51
-rw-r--r--dev-python/translate-toolkit/Manifest1
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.10.0.ebuild119
-rw-r--r--dev-util/stripe-mock/Manifest1
-rw-r--r--dev-util/stripe-mock/stripe-mock-0.167.0.ebuild27
-rw-r--r--eclass/git-r3.eclass90
-rw-r--r--profiles/updates/3Q-20231
43 files changed, 1206 insertions, 0 deletions
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest
index cedbf7c8658f..b95f8e29db1a 100644
--- a/app-admin/awscli/Manifest
+++ b/app-admin/awscli/Manifest
@@ -1,3 +1,4 @@
DIST aws-cli-1.29.10.gh.tar.gz 2455920 BLAKE2B ac190d5d450b02f2515578c0e6c6977e0264e8eacf1591e668826dbd8e1b682da86bb0794868d159ea1066e3db451e88e4ee9a59b6723a6049eafd82e60af086 SHA512 a7e6f7b50ed1b6af5b471f6ff68a8166fdc4cfb130090b513da678d21c4096cb1618052260b7ee956255a7dd63ae77dafa80d13c54a641f2cd66cf957ec1404a
+DIST aws-cli-1.29.11.gh.tar.gz 2456638 BLAKE2B 31deddef1c85e5ffcf096b91c6da366578dbae9bee06d70ca665270dc5edbb954f51b79a65d0820ea052ae077a8fdab408a2061e80e6d05434f159f0abfc8442 SHA512 691dd4e07367c3dae975e4e67b01f054684689ea40d9c9ea0a0462ef90adc96115239b639b56448856d4e30b4cc3f48a3f5679b7f800e049f6204bca2e61def3
DIST aws-cli-1.29.3.gh.tar.gz 2450427 BLAKE2B 6e240905c8fbb2916334c2de0e9fd851636acfbc050916baf971e2f5e5a1d93d398c77c6a1fe0766f701ad53683e5f41b1bb5519e5ac7b5e8f0a64d37e113c34 SHA512 3446e057abcc956e26b55de85383d0d40c041bcfda0f7e566309d80bbd22d567a474d93ab74461e91bdd7eaff1db9c77813912653c7864bcc851d12d2cea8ee2
DIST aws-cli-1.29.9.gh.tar.gz 2454843 BLAKE2B a4e49923aec2d09d8244e58fe737f1a0528956397050b693892b2d4521d4e41956fc2a11f6e8bc0c88d6ea16ae4f7f85276037a7864c989334109ef090623f99 SHA512 2238c70ccaa8e73cedca9a56e4cda48a62b0b26999c481585769872b42517f2a25d80b94cf9e18961c5fb81c9d8fe44bda9dbf6024e31bbc7409d6ce53f1a915
diff --git a/app-admin/awscli/awscli-1.29.11.ebuild b/app-admin/awscli/awscli-1.29.11.ebuild
new file mode 100644
index 000000000000..62c19f3a63fb
--- /dev/null
+++ b/app-admin/awscli/awscli-1.29.11.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=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit bash-completion-r1 distutils-r1 multiprocessing
+
+MY_P=aws-cli-${PV}
+DESCRIPTION="Universal Command Line Environment for AWS"
+HOMEPAGE="
+ https://github.com/aws/aws-cli/
+ https://pypi.org/project/awscli/
+"
+SRC_URI="
+ https://github.com/aws/aws-cli/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# botocore is x.(y+2).z
+BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ !app-admin/awscli-bin
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+ # strip overzealous upper bounds on requirements
+ sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
+ tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
+ tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
+ tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
+ )
+
+ # integration tests require AWS credentials and Internet access
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
+}
+
+python_install_all() {
+ newbashcomp bin/aws_bash_completer aws
+
+ insinto /usr/share/zsh/site-functions
+ newins bin/aws_zsh_completer.sh _aws
+
+ distutils-r1_python_install_all
+
+ rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
+}
diff --git a/dev-python/apsw/Manifest b/dev-python/apsw/Manifest
index b3f946b489e6..6b332db37543 100644
--- a/dev-python/apsw/Manifest
+++ b/dev-python/apsw/Manifest
@@ -1 +1,2 @@
DIST apsw-3.42.0.0.gh.tar.gz 863081 BLAKE2B 5eee11867e41c396be7cc9bbde1c4bb82a1e294ddd05613d6fbd50ac95c2d5e374632fde3215a838779253ad0f2eb97a4550771767a9f9f7a53c062c7eee5f7e SHA512 e0afa56d1a1d4e8627fe721c36098182efad23128cb053c7c25fc6412d6fe63a50beb66e0bc8dce527c17ff7bd9adb9e71a35fbc4ee769b5231d4dd941b21572
+DIST apsw-3.42.0.1.gh.tar.gz 881270 BLAKE2B a983aebe53f6baf419fb0fec6d87797d11c1e1f0fadd546139c9b9c3cec6f8848e79af46a928597e6cf33937bb2b2e2157cf908cf18152c7f956864e3d09fe2c SHA512 78a02c8e987df90838923b2a2d4838a184e7e8d9be70a09a4a27eb43e9f06546f831895ab519b681f628e5432b3e5b71d56ecc2f3e45a89765dc13667ca6e844
diff --git a/dev-python/apsw/apsw-3.42.0.1.ebuild b/dev-python/apsw/apsw-3.42.0.1.ebuild
new file mode 100644
index 000000000000..cbe98664d4c3
--- /dev/null
+++ b/dev-python/apsw/apsw-3.42.0.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 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..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="APSW - Another Python SQLite Wrapper"
+HOMEPAGE="
+ https://github.com/rogerbinns/apsw/
+ https://pypi.org/project/apsw/
+"
+SRC_URI="
+ https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="doc"
+
+DEPEND="
+ >=dev-db/sqlite-${PV%.*}:3
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ cat >> setup.cfg <<-EOF || die
+ [build_ext]
+ enable=load_extension
+ use_system_sqlite_config=True
+ EOF
+}
+
+python_test() {
+ esetup.py build_test_extension
+ cd "${T}" || die
+ "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 2cdaf97e3bb4..69921a0f1479 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
DIST boto3-1.28.10.gh.tar.gz 678958 BLAKE2B 55356d6234a12a09cb03bc8907d5c8c3810a8ab62bdebd9cc005d557dd54c85a749c2b2cd35e11e0f933f2ee02e48962b4e4971259792b2eb9dc4ff08745f215 SHA512 13f889f312e1f8cb4c8c4921892c60342a4bc31021505fc42b659da2ad5d44806029a3c9acd1e8a509d587771d3f9ed42b8ec7bc3ebf1ca2a45525c57153e4f9
+DIST boto3-1.28.11.gh.tar.gz 679904 BLAKE2B 06fb7e0759c2b51f9af8c69a7aeca4610ee39dd6e230450695337833dd4295508ed7e505fbb9d72e8d5015ee741c7080627848f2c77b18cfed7b5afee0d923f8 SHA512 0ca9dbd174d6d7cb8ac4dac913a9abe3f03188d231cc8b11cbd51ad6bb4189b69d590fc5b18c001b18ff4d8db3f4fe19476fa5616d0bbf7125ed5b4eb848413a
DIST boto3-1.28.3.gh.tar.gz 675019 BLAKE2B 93b29307fbfec4e61dc60d28e4f20392ae2a730f048a0b2e8cb99fd515a036fc4ca889ddd564e09b1f3eab4cb9499c5918b4e7430d63148dd2854d126719a468 SHA512 514d0f373f25bb691abf5f1f8b0209a07097191b2ad8fb6339739e7a0bd2b8e6d5a88f1250e928ca89b1f1aa5e27a44bf2cab38a57680c01214d370d11944ded
DIST boto3-1.28.9.gh.tar.gz 677993 BLAKE2B a800de94cfb0d317b41091fb1d2bb0fd6449df85da434879c0689bf36998b2a52331ba077c65cae9967fcce998a15d2a6f6a758931fa12a00b95487adaf81dfa SHA512 6e1e5e74d20d2e67f29597ddcda70475cbea863978ca93ec77a0f478690477c9782111701771d5b8354f4402c21496e7f5627b1398cbd6fd87627fd978f5e360
diff --git a/dev-python/boto3/boto3-1.28.11.ebuild b/dev-python/boto3/boto3-1.28.11.ebuild
new file mode 100644
index 000000000000..2a4a7643203e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.28.11.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/boto3"
+ inherit git-r3
+ BOTOCORE_PV=${PV}
+else
+ SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ # botocore is x.(y+3).z
+ BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index bcc054937493..1c8b8bd752a2 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
DIST botocore-1.31.10.gh.tar.gz 11793022 BLAKE2B 8c9f2a0439916ecb4af94b7e55347e4eda7a2b9e1202f15bb14ddc48feb1ff1f79e7c2f665995f2bcabb48acc5434f9809cb2c00016138f6f2aa8d242896078a SHA512 00fc9b7a09543ae2f0a1b02ad34544bcc7e421cd6094a210f781ac461f84b33afaedb6711360d112e23cf3f7eb502232298906119e635c56e09ed1980a77f188
+DIST botocore-1.31.11.gh.tar.gz 11799687 BLAKE2B d2a7bad627c6e5272b8d9b1f7ebf95937a89e1f51d1e9465bebcd819ba7bebde56a23ca9b42ab4b4a2a3114da1829435da5d49441c6931a46a15e31258c66ab1 SHA512 5aa5cd98176d53a66355d06a32497a2662b655ed68b69ba577330f0f506a465188117711f6ea78d2c65d654318515139585997d22735723c35613fdb94d2a646
DIST botocore-1.31.3.gh.tar.gz 11769948 BLAKE2B 452c494faa430b6782685b9960cc9ea15ce3dedfe1b5343ee7bdbd7544e108bbfc7bb58d527419b5dc5f4077dd806752eec927196b82ac286903992fef339e52 SHA512 0f2853c14d7695ea4eeacea6fed93e77436df143bd0b9bec967490eb88e3d6531c916dca91c1a3bde4b57253d77acabe2413acde4d1473d01e15ef69b45621e0
DIST botocore-1.31.9.gh.tar.gz 11785638 BLAKE2B 23f2c010f98b5ca8414c9a031524b1cb7d75366bf84d34df980ef4085a73bc62643cca5255519f891f7a9468abbf0d97adddf6684c3c0a751b0f9f390122c19d SHA512 b2bf0089a81c5389d86c9f7b2545358f23a1219d7e5bf152285f58293a171210b46c22c814ab3f8da460a2acbdd5127193fa7a2e19a021db511f9d08931037bf
diff --git a/dev-python/botocore/botocore-1.31.11.ebuild b/dev-python/botocore/botocore-1.31.11.ebuild
new file mode 100644
index 000000000000..3ced99abe4ff
--- /dev/null
+++ b/dev-python/botocore/botocore-1.31.11.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/botocore"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ # fails on unrelated warnings
+ tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
+ tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
+ # TODO
+ tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
+ # urllib3-2 compatibility, mock relies on implementation details
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_no_response_from_server
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_returned
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_continue_sends_307
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_expect_100_sends_connection_header
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_handles_expect_100_with_different_reason_phrase
+ tests/unit/test_awsrequest.py::TestAWSHTTPConnection::test_state_reset_on_connection_close
+ )
+
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 2a5e1861e68d..d44e19ef326a 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1,3 +1,4 @@
DIST cfn-lint-0.77.10.tar.gz 3488571 BLAKE2B 6b828c760bf93f1d31fe7d24d76cea63c91ed3f73837382898c4f60aea30d667b28065e4004a6fe62bee04141baa1b3baf576f30af4c823f7980d48c97e2602b SHA512 e5ca37620d33d199295d43d81c7390e181281418681fedbaaedca01a1128b8680451fba5ce429875c2242fefad8cfd234bb919fe948bbf9cdc442bb064d84972
DIST cfn-lint-0.78.1.tar.gz 3507466 BLAKE2B 2f22cd8241eec3a26a191fc12e6e4781513e45b5ee7540d3e59d6a1f9780142ce114d3ee2ea8e05b5425a2b111dd706447045961d05e7bb3b873eb837dc98a38 SHA512 5862c3efc51e274754a5d7eba9c53a16c87933eaadc0cc8fbb2f211c07040d24d828d30922870e02bdf0758ec4417426d827ab76840332775d765714a67a3850
DIST cfn-lint-0.78.2.tar.gz 3533168 BLAKE2B 043991f54cd6d793fc91af8d911184d6a98be34fb9a5735fd45113405707802fd0427654cf21de4c15b62fecd149a5d21af1b96ddf8810eb6ea507b5798a8d94 SHA512 63c575ba282cb097b321a8a00e70b1afdffd3c349e031d8a1ff2aacaeb397824e9f19968e2107a00d1aae6d7f644f376174ecc80389ee581727935867d73872e
+DIST cfn-lint-0.79.1.tar.gz 3539730 BLAKE2B b970f8c2f45d7895b89794661649188fb731e319c2a674526656e1ecc7572c72b143814c63b9de1998f4589228eb7df06199f4db52782384a424ced63ead9b52 SHA512 5407973f8fa6fc243112232c1028d5a19fa72855c5c569a23199ddccb1d9ac95399e88907cdc9ea1d7a2df608c3f255ad17a4b21967936817b503c159c70fc0e
diff --git a/dev-python/cfn-lint/cfn-lint-0.79.1.ebuild b/dev-python/cfn-lint/cfn-lint-0.79.1.ebuild
new file mode 100644
index 000000000000..7071d59d0406
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.79.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.71.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-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.15.0[${PYTHON_USEDEP}]
+ dev-python/regex[${PYTHON_USEDEP}]
+ >=dev-python/sarif_om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -e '/jsonschema/s:,<4.18::' -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local 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_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/elementpath/Manifest b/dev-python/elementpath/Manifest
index 95caa0903927..7e2bd819d1a5 100644
--- a/dev-python/elementpath/Manifest
+++ b/dev-python/elementpath/Manifest
@@ -1 +1,2 @@
DIST elementpath-4.1.4.tar.gz 321593 BLAKE2B 90b7ec9973acd300660fbe02b787eb5e6e2e2e6405b2337844f18415c48baaa5dd5c94fe90523e7c5090f9840c8cfdb333dd96afbb18e35c9adefda68dbda0ab SHA512 279ca4447b086f47f69e7cecbeb998e949ab6d5772cb5cddf231df8da2eed3a580813b0609758097bc409cbba46a884a3859d604cdf8a956c90503409ab90db2
+DIST elementpath-4.1.5.tar.gz 321891 BLAKE2B 70acff5974607a9ae79e90186f5477df8d85c5b42ff03625fbf006a02de82bbf14b79de3df55b38d65e9317fb5ab4ba4e27c38b8f7d8af11905340bb29e66731 SHA512 64a58dce8d7baf26286420ef15227804dd7f0296a8666929fbbb4425ee5523352dc8a0d610f6c7d1b9322a2292d6115ace79e0399f3c77cd074c85a4c9e0f0df
diff --git a/dev-python/elementpath/elementpath-4.1.5.ebuild b/dev-python/elementpath/elementpath-4.1.5.ebuild
new file mode 100644
index 000000000000..5a131dfbbd75
--- /dev/null
+++ b/dev-python/elementpath/elementpath-4.1.5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="XPath 1.0/2.0 parsers and selectors for ElementTree and lxml"
+HOMEPAGE="
+ https://github.com/sissaschool/elementpath/
+ https://pypi.org/project/elementpath/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # fails for some reason, more fit for upstream testing anyway
+ rm tests/test_typing.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/emoji/Manifest b/dev-python/emoji/Manifest
index 5a2f1b87cf82..f0c10e87760d 100644
--- a/dev-python/emoji/Manifest
+++ b/dev-python/emoji/Manifest
@@ -1 +1,2 @@
DIST emoji-2.6.0.gh.tar.gz 417829 BLAKE2B f7633a3e1eeb007eb69dede86c24115d196112765424e8808c8a461e06c6eff681437fd170146f96f1892ef62d3b7b064a1b9a09ee940ac4bd624ad9b59f169c SHA512 5b4131708284f80ba6019a9eb7b4e1ad9e2d6212bdf8e112c93098a65b60535303c3545b6f556bbb63da957f74d757afeb9f189110b10fd5733fcd0febac0cb4
+DIST emoji-2.7.0.gh.tar.gz 424600 BLAKE2B 3d882651fd4796895db70aa1ef0fa2bd5e56f846e53b5043418678a4f0edf381512b248f3765ab69d99dd09166aa0c989b5eb4a9d6b490a0773d598240c1cfe0 SHA512 a44565e515d3a6279a9bd7ffcc31314b8d612aeedd8e02427a446e63b899b96ec63d934c29033c48d70ddc883215b92697b98d4ec0ab9437f9555e87ecfccfbf
diff --git a/dev-python/emoji/emoji-2.7.0.ebuild b/dev-python/emoji/emoji-2.7.0.ebuild
new file mode 100644
index 000000000000..9cf0bc5fde70
--- /dev/null
+++ b/dev-python/emoji/emoji-2.7.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Emoji for Python"
+HOMEPAGE="
+ https://github.com/carpedm20/emoji/
+ https://pypi.org/project/emoji/
+"
+SRC_URI="
+ https://github.com/carpedm20/emoji/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 3652d4022fd0..9713eca24f3e 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,2 +1,3 @@
DIST google-api-python-client-2.93.0.tar.gz 10929939 BLAKE2B 67369eac89a12f212841923e2f912ce18b3ae39c7e0fafd45cbcbff3556919a784ec8dce2f73bcf91de3f2faa0404ec17719582a283120cf43d03a1513ed6c7c SHA512 41c6ef0cdf09e8c486b91490383bcb5914d8bd15a0ed486abcfe9b9121b035a2a9d9b8abeeb60ee0f6757e100618308df8967c6ace687d991ce9b609dd3b0747
DIST google-api-python-client-2.94.0.tar.gz 10987576 BLAKE2B 11851577d05e15208f4dc8905a8147b753442ceb36ebac74b01ecb8f7993bbc1d02813d12f06fea3ec0bec7df180da4a4963899bc85479ac0c744627a5aed614 SHA512 750d55848ebe69605d4948e368ddbb590b69f579d394e533bbc81a28d21b7435b817d08092f508303725cb492245cae8b9f7f94628593d10e9574cfe79440b4b
+DIST google-api-python-client-2.95.0.tar.gz 11044697 BLAKE2B 1a28798146d2f321f0455dd092430cefb6d15ddc3469ba0b5ee2aab6546c4c56477379e970ac4b0eeb1a969d53a5ea002206145c046bbfa89c1b6d65dad5a2d1 SHA512 3e8419d4de8e1604365b47bc13ebb69939f2c86bc46e1e08277a3766a23f03660c25ab9113a13b6abbfee2afb4f49678144bb11c4a423c4cf05c83717863183e
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.95.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.95.0.ebuild
new file mode 100644
index 000000000000..0194f9640998
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.95.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ )
+
+ epytest tests
+}
diff --git a/dev-python/indexed_gzip/Manifest b/dev-python/indexed-gzip/Manifest
index b8edd923ebfd..fe0522c87299 100644
--- a/dev-python/indexed_gzip/Manifest
+++ b/dev-python/indexed-gzip/Manifest
@@ -1 +1,2 @@
DIST indexed_gzip-1.7.1.tar.gz 74457 BLAKE2B b22d2120adac59e64f5bcf38c831bb54ce5d6c3dd1e959eece9a454908d9ce2aa5dc10557bd63823616bedfe9d0c039a3f1c0512ef1d22a54437353c57e15158 SHA512 fa27e476f115eca1d1d3892c3480de97cb407bd489737bebc44eb28e92be91e14312cde33a67af145b44c7d93ccc706498c2cbfe6cbff5b9b091dd083cde0f7e
+DIST indexed_gzip-1.8.3.tar.gz 74621 BLAKE2B e8092eea93235b7e6a154b34d12194ffbd3ecb88f2891b8b60ab526fa6a9247c78afded19b284b8143981a83333f376e82b65003ada61ce2efe7378fe84749a4 SHA512 f33fb19938ae39e4ede71f3f2a328f56e7fad5ee4872b25c0977ded1819541e9e63d64a1379b022cd82af79a5c0967d8fdde589d2276841a4b0e9d3179229035
diff --git a/dev-python/indexed_gzip/indexed_gzip-1.7.1.ebuild b/dev-python/indexed-gzip/indexed-gzip-1.7.1.ebuild
index 44aac738ce10..44aac738ce10 100644
--- a/dev-python/indexed_gzip/indexed_gzip-1.7.1.ebuild
+++ b/dev-python/indexed-gzip/indexed-gzip-1.7.1.ebuild
diff --git a/dev-python/indexed-gzip/indexed-gzip-1.8.3.ebuild b/dev-python/indexed-gzip/indexed-gzip-1.8.3.ebuild
new file mode 100644
index 000000000000..9e9fb985434c
--- /dev/null
+++ b/dev-python/indexed-gzip/indexed-gzip-1.8.3.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 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..11} )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Fast random access of gzip files in Python"
+HOMEPAGE="
+ https://pypi.org/project/indexed-gzip/
+ https://github.com/pauldmccarthy/indexed_gzip/
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ sys-libs/zlib:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # strip custom "clean" command that doesn't support "-a"
+ # https://bugs.gentoo.org/838955
+ # TODO: this can be removed once distutils-r1 stops using clean
+ sed -e '/cmdclass/d' -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ if use test; then
+ export INDEXED_GZIP_TESTING=1
+ fi
+ distutils-r1_src_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)/indexed_gzip/tests" || die
+ epytest -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/indexed_gzip/metadata.xml b/dev-python/indexed-gzip/metadata.xml
index 88a3a568d717..88a3a568d717 100644
--- a/dev-python/indexed_gzip/metadata.xml
+++ b/dev-python/indexed-gzip/metadata.xml
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 0347746d957c..8395f902cba2 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1 +1,2 @@
DIST ipykernel-6.24.0.tar.gz 154452 BLAKE2B d9ff81dd2f4cc989fd8356d3f02451158dde49fd83076fd7fa42f002b095cc87f296f2deb34fdc1becbbc0391385466dc21d167ab22167a0bd6d1d561bb19427 SHA512 555ed0d6df7a4d82bb5db63718c320e1628b8d5691e831eae041ac78400be6935793b258c219815fd070cbad29e869897111add6958308db55ea03843a536393
+DIST ipykernel-6.25.0.tar.gz 155658 BLAKE2B f14afaf28ec82473fa0b7c33a281ebd91fd5d93b0e00bd838046b8f591f12bca64fed8514e97ce59ba20b78940bdd7afad93ef9a59656795de97e80ff46e8339 SHA512 7cd2d3cbb2c83ca165798dc830aae096ce3391535ef604f257c4c79357ebd1c7f7e95c6952e1fb95d1a460ccb5b1bf88396f984b6462986b3e73a4453dd33b52
diff --git a/dev-python/ipykernel/ipykernel-6.25.0.ebuild b/dev-python/ipykernel/ipykernel-6.25.0.ebuild
new file mode 100644
index 000000000000..e5ef5178d17a
--- /dev/null
+++ b/dev-python/ipykernel/ipykernel-6.25.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="IPython Kernel for Jupyter"
+HOMEPAGE="
+ https://github.com/ipython/ipykernel/
+ https://pypi.org/project/ipykernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/debugpy-1.6.5[${PYTHON_USEDEP}]
+ >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
+ dev-python/nest_asyncio[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-20[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
+"
+# RDEPEND seems specifically needed in BDEPEND, at least jupyter
+# bug #816486
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/ipyparallel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:^TIMEOUT = .*:TIMEOUT = 120:' ipykernel/tests/*.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
+}
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ ipykernel/tests/test_debugger.py::test_attach_debug
+ ipykernel/tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
+ ipykernel/tests/test_debugger.py::test_rich_inspect_at_breakpoint
+ ipykernel/tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
+ ipykernel/tests/test_debugger.py::test_set_breakpoints
+ ipykernel/tests/test_debugger.py::test_stop_on_breakpoint
+ ipykernel/tests/test_debugger.py::test_copy_to_globals
+ # hangs?
+ ipykernel/tests/test_eventloop.py::test_tk_loop
+ # doesn't like pyside2?
+ ipykernel/tests/test_eventloop.py::test_qt_enable_gui
+ )
+
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/markdown/Manifest b/dev-python/markdown/Manifest
index ce1418c30da9..87f59165c0c1 100644
--- a/dev-python/markdown/Manifest
+++ b/dev-python/markdown/Manifest
@@ -1,2 +1,3 @@
DIST Markdown-3.3.7.tar.gz 324130 BLAKE2B 4ecf804b81181a9895e15d2f54881544648939f2bb772b036aa84dc8bf57b7976c6ebdf8549041b39a303bd7c68c16df3c126463a8da19b3c92f99b420e9ffb9 SHA512 39b9f45939be9e842e90470307c3aeec88d1389439b0c7a0c5b39f6e203b51d3a52ce431c4d5c278f399552c4218fc1a619b0efc56883de50a9f300f42120f4e
DIST Markdown-3.4.3.tar.gz 322175 BLAKE2B 628f6808f16299f22853116da94d7918d19b6195981f591faedda6a2ad15751df2d1e209eff922ba921dc6309cf35b7b82968a0c444544b8014918c73f8bad8f SHA512 9dec3f9e13ae73c45aa23a9ddd62d8103af83357e2c4fe447f079281bf3917d1ff43d9abf1903aa146baa46249e7f83b9e5f05756862f0de068304d2290e77da
+DIST Markdown-3.4.4.tar.gz 324459 BLAKE2B 3ff05a2c8e51905f16b0cb8cda51c65e47c9d02091487fe48edf7a8ab4a73003c3469f1ce9e80f0ca6d73a30d1f22d4b6fbc1c52c34506951376aa899938665e SHA512 39e808d5a4a07b57e931a844c3d8f6fe564849f8b5922eef6708e5a600cf7e742d92617d9d9649cab0eab34a6ffc7bc97e9ea960ffef75e9062aa375769e6a28
diff --git a/dev-python/markdown/markdown-3.4.4.ebuild b/dev-python/markdown/markdown-3.4.4.ebuild
new file mode 100644
index 000000000000..dfb46050bef0
--- /dev/null
+++ b/dev-python/markdown/markdown-3.4.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python implementation of the markdown markup language"
+HOMEPAGE="
+ https://python-markdown.github.io/
+ https://pypi.org/project/Markdown/
+ https://github.com/Python-Markdown/markdown/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc"
+
+BDEPEND="
+ test? (
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pytidylib[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use doc && dodoc -r docs/
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mistletoe/Manifest b/dev-python/mistletoe/Manifest
new file mode 100644
index 000000000000..d17c4b4fefaa
--- /dev/null
+++ b/dev-python/mistletoe/Manifest
@@ -0,0 +1 @@
+DIST mistletoe-1.1.0.gh.tar.gz 116246 BLAKE2B 52761841380f28e490f1d675ab95bf0f31be44c909c5221dadca37eaeb3bc909c4d9091d52bd3a99f9b4b371fa102cf0f02225a1aa0732ccda4dca2ab85214e2 SHA512 3b1d8b6a9e3fc1fa67a212977a1c26cedafdf2bd2cc53113b8bb583433e69af0b4fd47b575f9a1ba4bda50b1c55a0d27faf9877b6300982eee2f6b8fcb621b7c
diff --git a/dev-python/mistletoe/metadata.xml b/dev-python/mistletoe/metadata.xml
new file mode 100644
index 000000000000..64caa5b341e4
--- /dev/null
+++ b/dev-python/mistletoe/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">miyuchina/mistletoe</remote-id>
+ <remote-id type="pypi">mistletoe</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mistletoe/mistletoe-1.1.0.ebuild b/dev-python/mistletoe/mistletoe-1.1.0.ebuild
new file mode 100644
index 000000000000..924f2c3cc893
--- /dev/null
+++ b/dev-python/mistletoe/mistletoe-1.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A fast, extensible Markdown parser in pure Python"
+HOMEPAGE="
+ https://github.com/miyuchina/mistletoe/
+ https://pypi.org/project/mistletoe/
+"
+# pypi has incomplete test suite
+SRC_URI="
+ https://github.com/miyuchina/mistletoe/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-minify-plugin/Manifest b/dev-python/mkdocs-minify-plugin/Manifest
index 81cdc051b9c5..bed593366e2a 100644
--- a/dev-python/mkdocs-minify-plugin/Manifest
+++ b/dev-python/mkdocs-minify-plugin/Manifest
@@ -1 +1,2 @@
DIST mkdocs-minify-plugin-0.6.4.gh.tar.gz 8792 BLAKE2B 42dae53b6918655f27f26521e84b42a97e75d7b8f1ec526165341810fce9b0c6bf0add9f451d0122b68e2543deed98a2661ccaefb4b51262fee71964ba3c5bf9 SHA512 d5adf7df838f10abad79c5790c3aefec11ac78078cc5f0640213a2e097cb251a16eba39d9aa6f53996a983d08bcd4558718754d3bd11af74cf407faab3f97453
+DIST mkdocs-minify-plugin-0.7.0.gh.tar.gz 8856 BLAKE2B c61cd0817f4e224ca22b71c395a4bfd0d144cf73ac39417dd2293176e98f31fd797a43c3c43d38a0232c5e287c9b6a84273171bdbf4d2eda5ce757f5b19188f8 SHA512 d14b2050bc8acca03532c46d44418d37401a6bd8dafe727a8331e46a57173044f8bb7f461c62eaa3bcd6ccd88065d9a999fcdfdce9b04d5cd62dd858c5ab0d2b
diff --git a/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.0.ebuild b/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.0.ebuild
new file mode 100644
index 000000000000..55254d02d421
--- /dev/null
+++ b/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="An MkDocs plugin to minify HTML and/or JS files prior to being written to disk"
+HOMEPAGE="
+ https://github.com/byrnereese/mkdocs-minify-plugin
+ https://pypi.org/project/mkdocs-minify-plugin/
+"
+# pypi sdist lacks tests, as of 0.6.4
+SRC_URI="
+ https://github.com/byrnereese/mkdocs-minify-plugin/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/csscompressor-0.9.5[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.4.1[${PYTHON_USEDEP}]
+ >=app-text/htmlmin-0.1.12[${PYTHON_USEDEP}]
+ >=dev-python/jsmin-3.0.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # this is a fork of htmlmin with the same patches that we have
+ sed -i -e '/htmlmin2/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PATH=${T}:${PATH}
+ cat > "${T}"/mkdocs <<-EOF || die
+ #!/bin/sh
+ exec "${EPYTHON}" -m mkdocs "\${@}"
+ EOF
+ chmod +x "${T}"/mkdocs || die
+ epytest
+}
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index 8432736d34d2..dc880022501d 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1,2 +1,3 @@
DIST nbconvert-7.6.0.tar.gz 886726 BLAKE2B 9623b10adf08f06921c7b162018a747ef02e47a99c9663261247af2ee895ca66d310c42bcfb8717009b8fd9e8da4a088c5d8369f0ebe5a570a1439d3ea0db37e SHA512 70870b875c0045796004ada5ea3ec5402339392419919c11f2713f07cb0f35605f8902a1e965706c13b972fa4d7785d4941834bd9565e3b3c8afde2a9d2868c9
DIST nbconvert-7.7.2.tar.gz 849694 BLAKE2B 20fb4f9385e5c0d7288974b1c2fb76529b48ac32a21a786e06844d001dfda94643250e54d484809d02c056378429b352ef17559790197305fdeffbe27722d1b2 SHA512 9a92efa3522eb38f975db82a5ea4559833cf30bb65c03f1a2895bc7e4f95c691aca3a8f8e48b0105e44e8428062ee82883480655442ca5fb215b48df45937a09
+DIST nbconvert-7.7.3.tar.gz 849762 BLAKE2B a887fc2bbb7978fdcabbaa46ea391a9b42ba904609ee0a67fc59f1d66373ee2d4cc6328b4c39a7deb77f5bb87c503dc61f7c3a5ce04e36a8149fe7ece42fab46 SHA512 8b6f5b05c89e4931716ecd7de1d16be54284a0c5699439f896f9c08bf3d88f930e6e6cf2fa688132a6c7b93ccd11be9526cc08732d4c28ccf3854f402e21fe82
diff --git a/dev-python/nbconvert/nbconvert-7.7.3.ebuild b/dev-python/nbconvert/nbconvert-7.7.3.ebuild
new file mode 100644
index 000000000000..8243caec62c7
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.7.3.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 multiprocessing pypi virtualx
+
+DESCRIPTION="Converting Jupyter Notebooks"
+HOMEPAGE="
+ https://nbconvert.readthedocs.io/
+ https://github.com/jupyter/nbconvert/
+ https://pypi.org/project/nbconvert/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.7[${PYTHON_USEDEP}]
+ dev-python/jupyterlab-pygments[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+ <dev-python/mistune-4[${PYTHON_USEDEP}]
+ >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.7[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.1[${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ >=dev-python/ipywidgets-7[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ mkdir -p share/templates/classic/static || die
+ # tries to refetch stuff even if it's already present
+ sed -e 's:css = .*:raise PermissionError("You shall not fetch!"):' \
+ -i hatch_build.py || die
+ distutils-r1_src_prepare
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Missing pyppeteer for now
+ # TODO: Doesn't skip?
+ nbconvert/exporters/tests/test_webpdf.py
+ # Needs pyppeteer too
+ 'nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_webpdf_with_chromium'
+ # TODO
+ nbconvert/exporters/tests/test_qtpng.py::TestQtPNGExporter::test_export
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
+ # latex failing, might be too new pandoc
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_filename_spaces
+ nbconvert/tests/test_nbconvertapp.py::TestNbConvertApp::test_pdf
+ # too new pandoc but we don't have old anymore
+ nbconvert/utils/tests/test_pandoc.py::TestPandoc::test_minimal_version
+ nbconvert/utils/tests/test_pandoc.py::TestPandoc::test_pandoc_available
+ # crazy qtweb* stuff, perhaps permissions
+ nbconvert/exporters/tests/test_qtpdf.py::TestQtPDFExporter::test_export
+ )
+
+ # virtx implies nonfatal, make it explicit to avoid confusion
+ nonfatal epytest -n "$(makeopts_jobs)" --pyargs nbconvert || die
+}
+
+pkg_postinst() {
+ if ! has_version virtual/pandoc; then
+ einfo "Pandoc is required for converting to formats other than Python,"
+ einfo "HTML, and Markdown. If you need this functionality, install"
+ einfo "app-text/pandoc or app-text/pandoc-bin."
+ fi
+}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 996d93ed8693..49c1bbb97292 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -2,3 +2,4 @@ DIST pydantic-1.10.11.gh.tar.gz 766203 BLAKE2B 5ab426a805a471baac409c82d5a0cdaa9
DIST pydantic-1.10.12.gh.tar.gz 766366 BLAKE2B b00885b86ef331f3f8531d1514f4e3e1ef10d009b35453c6d5a6295ecfe2d2b842f66c7ea2a79ca1d235d54fa38b42432e14804163f944c4455f05c06869815a SHA512 413d433decfa3bb7173d6f4e6e06f746cfbf95f6d27c6a17098216ba81d64d7f8bb956cda195d0676559f96278f3800c77be53ecf46496ac009f130120642cc2
DIST pydantic-1.10.9.gh.tar.gz 765868 BLAKE2B 802c542d75b41ff2926215bf4f6bd68a906d581db7b08ed85577f9021d259717f3ef8dbacfe381723aa042aab8720ad182c57fee188f2436b33d21164e24ba23 SHA512 d376a302eac3427cdc8da0ed2fab01c0b5e7a059447777a53c394a60dac5fa0066488be8553022bb5aa89367d5a2e80e5d6e3cb39d9272843718dd07f6acd11e
DIST pydantic-2.0.3.tar.gz 593215 BLAKE2B eff4de5d45e623e91df43eb89c3d350fdbb22adc1e05417cbb65c0dc3d58475d5e77bad046498d403a1663f7327ca6e5db517fd00f59d554532a53f4f1bbbbb6 SHA512 081f47e8948178a9cc5cf4aa17f0fb1f45d4fab28f5b89e2a56f5812c38a87ab97fb6758236fb64fc44553230807d51a9c7451c2bdbb8b77a9b0fc9083385391
+DIST pydantic-2.1.1.tar.gz 611057 BLAKE2B b414fa698fdc8aee12427d38d0c410ffdd9a39e271858f939587c4a58cd3f579f9d5406b44c1c27350040a036af3badf58b4e10657b52b2d8a720e37720dcda3 SHA512 02703bb889d517f14a977835e553356ddd4d25abf4c8e30df157d68d8006a7ac9ed95feeda73548560b5705ca0d2305af8c49d683d5f0178e48643bef03761e2
diff --git a/dev-python/pydantic/pydantic-2.1.1.ebuild b/dev-python/pydantic/pydantic-2.1.1.ebuild
new file mode 100644
index 000000000000..b148f044b278
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.1.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ tests/test_abc.py::test_model_subclassing_abstract_base_classes_without_implementation_raises_exception
+ tests/test_computed_fields.py::test_abstractmethod_missing
+ tests/test_edge_cases.py::test_abstractmethod_missing_for_all_decorators
+ tests/test_generics.py::test_partial_specification_name
+ tests/test_model_signature.py::test_annotated_field
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pytools/Manifest b/dev-python/pytools/Manifest
index d22aeb6771a4..42d28cd3c2c8 100644
--- a/dev-python/pytools/Manifest
+++ b/dev-python/pytools/Manifest
@@ -1 +1,2 @@
+DIST pytools-2023.1.1.tar.gz 75472 BLAKE2B a7d83dc55175d17fe7ded758279d236a9cd8f103fe7c9da2994a04dddd8799817509fbdd38466468ce4de2e5cd2984f4906f6f5524462cd72760ad32c6ebfab9 SHA512 0b8d4ec7145a42d9a679b7e08a05aa126c7d4514faa77e207fb154c84e56233b80dd49f388f261ba29e70e2cff836f6c850ea05af81360da8120756a0db35e6a
DIST pytools-2023.1.tar.gz 75361 BLAKE2B 79c3439587624e9d236e6afd8ab2effa66ebc18c5f297db6bfebaf40dbe139de4851fa29d7741b064260041491a6693201583186a361994a8997eaaa221fffb2 SHA512 1d035f8b5e155def84d084926ab43b7e4c634cf7b2cd3e3914513360570bf87da059c8109e0257797dbe84c4bc36af559c805b252c863f2145113ff681eb5974
diff --git a/dev-python/pytools/pytools-2023.1.1.ebuild b/dev-python/pytools/pytools-2023.1.1.ebuild
new file mode 100644
index 000000000000..a0307d3d551f
--- /dev/null
+++ b/dev-python/pytools/pytools-2023.1.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of tools missing from the Python standard library"
+HOMEPAGE="
+ https://mathema.tician.de/software/pytools/
+ https://github.com/inducer/pytools/
+ https://pypi.org/project/pytools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+# NB: numpy is now an "extra" (optional) dep -- we can remove it from
+# RDEPEND If revdeps don't need it
+RDEPEND="
+ >=dev-python/numpy-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.8 3.9 3.10)
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/responses/Manifest b/dev-python/responses/Manifest
index 5fc01c5f4283..37b9ad982360 100644
--- a/dev-python/responses/Manifest
+++ b/dev-python/responses/Manifest
@@ -1 +1,2 @@
DIST responses-0.23.1.tar.gz 72966 BLAKE2B e75db65ab98ebf7773c469dee5486b52b6f5c1f39d847c6f38a65e664c244937716c792cf009c750019043845b95c11ea38f99d68137899ef2ef48e60edc0c2a SHA512 2c05ac5c4ccca351940d3821b0830cee366cd7c9637f1e4c1e6b40c72ed2168a1036de634f03bfaaa2f7270e3825f6d9e8d31fc7a16f321f1de1cc64255454a1
+DIST responses-0.23.2.tar.gz 73678 BLAKE2B b49d04c9be0844c948ab7a8d8b8b81da152d4b7c47330937846262c45db6d562b107d7a864a07cc77d568491a8dafdd873fc6484ebf04d50d99441838474ecfb SHA512 f18f7b747871a4bffba59787b2c84d26799bed2f949c0e977fbd2ef6341425957bb27cc2beb067f75892a4b9a5af3d40f28083482950a4a6e29144fc1d529cff
diff --git a/dev-python/responses/responses-0.23.2.ebuild b/dev-python/responses/responses-0.23.2.ebuild
new file mode 100644
index 000000000000..9b2e8d3a63eb
--- /dev/null
+++ b/dev-python/responses/responses-0.23.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utility for mocking out the Python Requests library"
+HOMEPAGE="
+ https://pypi.org/project/responses/
+ https://github.com/getsentry/responses/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# tomli backend is optional now, with pyyaml being the new default.
+# However, keeping it unconditional here for backwards compatibility.
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{8..10})
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ <dev-python/urllib3-3[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-2.0.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # remove unnecessary RDEP on type stubs
+ sed -i -e '/types-/d' setup.py || die
+}
+
+python_test() {
+ epytest -p no:localserver
+}
diff --git a/dev-python/translate-toolkit/Manifest b/dev-python/translate-toolkit/Manifest
index fb6c3a65a4ae..d66e3533cf4f 100644
--- a/dev-python/translate-toolkit/Manifest
+++ b/dev-python/translate-toolkit/Manifest
@@ -1 +1,2 @@
+DIST translate-3.10.0.gh.tar.gz 1195239 BLAKE2B be1e2925632d032081a07cd99d540a90f4526810d5a9f587b4c651c41f7afe53ec212b408dfb81bf57a74fb286124c49b5b7f9f56a9c4b861c8874c7c6986532 SHA512 9669e4eccb68eab93ed7a35e2673df4f60bcc9602c4d97954180a8eb7e92ad9b82d2c8ef0caa8d8ce19ee2ae58e04867729bfd326c9e1a11a451d702372377fe
DIST translate-3.9.2.gh.tar.gz 1175987 BLAKE2B 1d187f56f2cb003690038489bf2f788c8f60e9aef522642439f1ee169c7722f8b5646114e3fef2e6ba8f4b3a02ae27a58241c25a146dc6b0b7c8fbbe4044d1b5 SHA512 23c8238ee65ede57654e86e255608211b5f183b18bf7c2865fc5621a77619f1ad798b6e3be907adfa0db883b750db2d3be89001335d25afe6b259d8e91ba509c
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.10.0.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.10.0.ebuild
new file mode 100644
index 000000000000..ee5de23312c6
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.10.0.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="
+ https://github.com/translate/translate/
+ https://pypi.org/project/translate-toolkit/
+"
+SRC_URI="
+ https://github.com/translate/translate/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+html +ical +ini +subtitles +yaml"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/Levenshtein-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+# Technically, the test suite also has undeclared dependency
+# on dev-python/snapshottest but all the tests using it are broken
+# anyway, so we skip them.
+BDEPEND="
+ test? (
+ dev-python/phply[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
+ # correctly, so we need to reassemble all data files in a single directory
+ local -x XDG_DATA_HOME=${T}/share
+ cp -r translate/share "${T}/" || die
+ cp -r "${ESYSROOT}/usr/share"/gaupol "${XDG_DATA_HOME}"/ || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ # all tests based on snapshottest are broken and I'm too tired
+ # to figure this out
+ translate/tools/test_pocount.py::test_cases
+ translate/tools/test_pocount.py::test_output
+ translate/tools/test_junitmsgfmt.py::test_output
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged fluent.*
+ translate/storage/test_fluent.py
+ # changes directory and does not change it back, sigh
+ tests/odf_xliff/test_odf_xliff.py
+ )
+
+ if ! use ini; then
+ EPYTEST_IGNORE+=(
+ translate/convert/test_ini2po.py
+ translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! use subtitles; then
+ EPYTEST_IGNORE+=(
+ translate/storage/test_subtitles.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr
+ doins -r translate/share
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+}
diff --git a/dev-util/stripe-mock/Manifest b/dev-util/stripe-mock/Manifest
index 66a4f3db21a6..d23415fd9173 100644
--- a/dev-util/stripe-mock/Manifest
+++ b/dev-util/stripe-mock/Manifest
@@ -1,3 +1,4 @@
DIST stripe-mock-0.164.0.tar.gz 1249727 BLAKE2B fda30a53eda51b9e001024c3dad9ae3bf0922ce9892a0e43a63f3a29f477acbc7f4b83d4af90c47ee9f78696a3fa97f051910f4ba005a5de72ef5cad48d9ed0c SHA512 3221f05e548252069797bad5d6a0413c3c0b26c033572fc55cf37bdf2a1e560f8f69de20c32260eca841feef0cae51e32335c2ae4264d7c141ebd9ec67f02519
DIST stripe-mock-0.165.0.tar.gz 1274806 BLAKE2B 9f0cdcba97f3c6755cd04061cf6a6f9122d18eb6ecc3ef975e2e3be93c191eb6a3ba0c3d696485eaa0d4021284305f0c79ab0f67049cfba08ec2ba21abf47888 SHA512 12a2004e543de5a6e789d894bc07fe8bbb011447e4ca4c842a8f7e5b9ca063c70a1d1b93fe033fad6beabe7fc6c30f19cd9e6d7eb64677844f48096dd59c73e1
DIST stripe-mock-0.166.0.tar.gz 1287548 BLAKE2B 920d73dbf7d2b504a5c75b7026118bccd8e4442c509d9d4be9a8e8b474930721c01949eaedc1daaa06b32a510a2243e09e613c84c7da7c43262bbd2fd78a8370 SHA512 d03a1ecf06ea1d581d3a39b6d0ac1f5d6dbaede5da6b2a07d8aae100703dcbc3ce75ad70ac2978e247a506f1554bc3d5231a40aef7eb369ed43eaec97fa009a0
+DIST stripe-mock-0.167.0.tar.gz 1290452 BLAKE2B 5c7debc39a2a473ebdc7568ab236e68b1c2a15ea4a71619ae6cb60dd4f00f16b7c02923c72ba98a4b9868723703ed888a56c480a95194f82611bb7f194d8b43d SHA512 45d8e7fa64deb239f479da5a4a203f018cb9dc1799fd483147a84f5dc2b10f154fc94f86ec350ded30679fcd76b3b2e7706bd20aacc2413edd86149a63373904
diff --git a/dev-util/stripe-mock/stripe-mock-0.167.0.ebuild b/dev-util/stripe-mock/stripe-mock-0.167.0.ebuild
new file mode 100644
index 000000000000..ca0f4e60efa7
--- /dev/null
+++ b/dev-util/stripe-mock/stripe-mock-0.167.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module
+
+DESCRIPTION="Mock HTTP server that responds like the real Stripe API"
+HOMEPAGE="https://github.com/stripe/stripe-mock/"
+SRC_URI="https://github.com/stripe/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT ISC BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+src_compile() {
+ emake build
+}
+
+src_test() {
+ emake test
+}
+
+src_install() {
+ dobin stripe-mock
+ einstalldocs
+}
diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index 5ac141962b12..83c5ab590c39 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.eclass
@@ -10,6 +10,21 @@
# Third generation eclass for easing maintenance of live ebuilds using
# git as remote repository.
+# @ECLASS_VARIABLE: EGIT_LFS
+# @PRE_INHERIT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# If set, git lfs support will be enabled.
+# Set before inheriting this eclass.
+
+# @ECLASS_VARIABLE: _NUM_LFS_FILTERS_FOUND
+# @INTERNAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# This is used to provide QA warnings if a repo has git lfs filters
+# defined but EGIT_LFS is not turned on and vice versa.
+# If non-empty, then the repo likely needs EGIT_LFS to clone properly.
+
case ${EAPI} in
6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
@@ -22,8 +37,10 @@ PROPERTIES+=" live"
if [[ ${EAPI} != 6 ]]; then
BDEPEND=">=dev-vcs/git-1.8.2.1[curl]"
+ [[ ${EGIT_LFS} ]] && BDEPEND+=" dev-vcs/git-lfs"
else
DEPEND=">=dev-vcs/git-1.8.2.1[curl]"
+ [[ ${EGIT_LFS} ]] && DEPEND+=" dev-vcs/git-lfs"
fi
# @ECLASS_VARIABLE: EGIT_CLONE_TYPE
@@ -81,6 +98,28 @@ fi
# fatal errors rather than 'non-pretty versions'.
: "${EGIT_MIN_CLONE_TYPE:=shallow}"
+# @ECLASS_VARIABLE: EGIT_LFS_CLONE_TYPE
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Type of lfs clone that should be used against the remote repository.
+# This can be either of: 'mirror', 'single', 'shallow'.
+#
+# This works a bit differently than EGIT_CLONE_TYPE.
+#
+# The 'mirror' type clones all LFS files that is available from the
+# cloned repo. Is is mostly useful for backup or rehosting purposes as
+# the disk usage will be excessive.
+#
+# The 'single' type clones only the LFS files from the current commit.
+# However unlike 'shallow', it will not cleanup stale LFS files.
+#
+# The 'shallow' type clones only the LFS files from the current commit.
+# LFS files that are not referenced by the current commit and more than
+# a few days old will be automatically removed to save disk space.
+# This is the recommended mode for LFS repos to prevent excessive disk
+# usage.
+: "${EGIT_LFS_CLONE_TYPE:=shallow}"
+
# @ECLASS_VARIABLE: EGIT3_STORE_DIR
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -760,6 +799,35 @@ git-r3_fetch() {
fi
fi
+ if [[ ${EGIT_LFS} ]]; then
+ # Fetch the LFS files from the current ref (if any)
+ local lfs_fetch_command=( git lfs fetch "${r}" )
+
+ case "${EGIT_LFS_CLONE_TYPE}" in
+ shallow)
+ lfs_fetch_command+=(
+ --prune
+ )
+ ;;
+ single)
+ ;;
+ mirror)
+ lfs_fetch_command+=(
+ --all
+ )
+ ;;
+ *)
+ die "Invalid EGIT_LFS_CLONE_TYPE=${EGIT_LFS_CLONE_TYPE}"
+ esac
+
+ set -- "${lfs_fetch_command[@]}"
+ echo "${@}" >&2
+ "${@}" || die
+ elif [[ -d ${GIT_DIR}/lfs && ${EGIT_LFS_CLONE_TYPE} == shallow ]]; then
+ # Cleanup the LFS files from old checkouts if LFS support has been turned off.
+ rm -fr ${GIT_DIR}/lfs || die
+ fi
+
success=1
break
done
@@ -875,6 +943,11 @@ git-r3_checkout() {
# non-empty directories.
git init --quiet -b __init__ || die
+ if [[ ${EGIT_LFS} ]]; then
+ # The "skip-repo" flag will just skip the installation of the pre-push hooks.
+ # We don't use these hook as we don't do any pushes
+ git lfs install --local --skip-repo || die
+ fi
# setup 'alternates' to avoid copying objects
echo "${orig_repo}/objects" > "${GIT_DIR}"/objects/info/alternates || die
# now copy the refs
@@ -905,6 +978,16 @@ git-r3_checkout() {
fi
echo "${@}" >&2
"${@}" || die "git checkout ${remote_ref:-${new_commit_id}} failed"
+
+ # If any filters in any of the ".gitattributes" files specifies lfs,
+ # then this repo is most likely storing files with git lfs.
+ local has_git_lfs_filters=$(
+ git grep "filter=lfs" -- ".gitattributes" "**/.gitattributes"
+ )
+ if [[ $has_git_lfs_filters ]]; then
+ # This is used for issuing QA warnings regarding LFS files in the repo (or lack thereof)
+ _EGIT_LFS_FILTERS_FOUND="yes"
+ fi
}
git-r3_sub_checkout
unset -f git-r3_sub_checkout
@@ -1054,6 +1137,13 @@ git-r3_src_unpack() {
_git-r3_env_setup
git-r3_src_fetch
git-r3_checkout
+
+ if [[ ! ${EGIT_LFS} && ${_EGIT_LFS_FILTERS_FOUND} ]]; then
+ eqawarn "QA Notice: There are Git LFS filters setup in the cloned repo, consider using EGIT_LFS!"
+ fi
+ if [[ ${EGIT_LFS} && ! ${_EGIT_LFS_FILTERS_FOUND} ]]; then
+ eqawarn "QA Notice: There are no Git LFS filters setup in the cloned repo. EGIT_LFS will do nothing!"
+ fi
}
# https://bugs.gentoo.org/show_bug.cgi?id=482666
diff --git a/profiles/updates/3Q-2023 b/profiles/updates/3Q-2023
index 77f307a90516..a7b2f3ebdd3d 100644
--- a/profiles/updates/3Q-2023
+++ b/profiles/updates/3Q-2023
@@ -4,3 +4,4 @@ move dev-python/discogs-client dev-python/python3-discogs-client
move dev-python/hcloud-python dev-python/hcloud
move dev-python/sabyenc dev-python/sabctools
move dev-python/elasticsearch-py dev-python/elasticsearch
+move dev-python/indexed_gzip dev-python/indexed-gzip