summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-11-15 18:52:22 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-11-15 18:52:22 +0000
commit467fb9eaf9053af9c135bd6d4ade5e409acb5fb7 (patch)
tree120765262f8013c20a14edcd2db6d8e65d408443 /dev-python
parentc684908fc73b5a43cb66c3ad73b6962511348ba3 (diff)
downloadbaldeagleos-repo-467fb9eaf9053af9c135bd6d4ade5e409acb5fb7.tar.gz
baldeagleos-repo-467fb9eaf9053af9c135bd6d4ade5e409acb5fb7.tar.xz
baldeagleos-repo-467fb9eaf9053af9c135bd6d4ade5e409acb5fb7.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/drf-writable-nested/Manifest3
-rw-r--r--dev-python/drf-writable-nested/drf-writable-nested-0.7.1.ebuild31
-rw-r--r--dev-python/drf-writable-nested/metadata.xml2
-rw-r--r--dev-python/gherkin-official/Manifest2
-rw-r--r--dev-python/gherkin-official/gherkin-official-30.0.4.ebuild (renamed from dev-python/gherkin-official/gherkin-official-30.0.3.ebuild)13
-rw-r--r--dev-python/kurbopy/Manifest40
-rw-r--r--dev-python/kurbopy/kurbopy-0.11.0.ebuild74
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild4
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/matplotlib/Manifest1
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.10.0-test.patch236
-rw-r--r--dev-python/matplotlib/matplotlib-3.10.0_rc1.ebuild316
-rw-r--r--dev-python/pipenv/pipenv-2024.0.2-r1.ebuild123
-rw-r--r--dev-python/pytest-bdd/pytest-bdd-8.0.0.ebuild2
-rw-r--r--dev-python/uv/uv-0.5.2.ebuild6
17 files changed, 838 insertions, 40 deletions
diff --git a/dev-python/drf-writable-nested/Manifest b/dev-python/drf-writable-nested/Manifest
index 468e04790b30..1514273fd708 100644
--- a/dev-python/drf-writable-nested/Manifest
+++ b/dev-python/drf-writable-nested/Manifest
@@ -1,3 +1,2 @@
DIST drf-writable-nested-0.7.0.gh.tar.gz 21291 BLAKE2B d6ac898378cadd12b5e40a7778a39e6a3a3183c3b6d058222b278482034af94d5f4c326147e952d5974723cc58be7f07db5cb0ee5a0f875658098bae44d507c6 SHA512 674e2206a8dad2f61f6eed9bbf137593bacbceb4789c5e46e0e5a965f172daac76878e13d3f1492b2a2d8bc97d310b0625b1fd65de19f92d7f71153e9f5c3089
-EBUILD drf-writable-nested-0.7.0.ebuild 736 BLAKE2B 81ddd02400441711a101b45379533dc0322c3ac6e5fc124ad7808690d9e6187f808ab098c05f75e6b0bf1461217b42103776d3d820049fa1f702ac338785826a SHA512 c3e3d81d8c915c563b5a10db2746a189cd2270d6cc96c81334e67b27322506599ce90cb7c8ee079b1f535a6f850192743b579dfa2b1d48627709e1f88048db7e
-MISC metadata.xml 492 BLAKE2B 149eeb791b84ac94deff4aaeaa2dae61c35ce72de4e518854843ed8306dca359956b963e9684c05c5157c42648e6d4dce3b7dfd472c315433603acf7308deaaa SHA512 9e81a6c294b2924b1a0011a891127fdf633fa3974da52cb46517385310bcfbce3b979f95d26dffff6f1afa9b1397db9c785914022ad892b121348d45b4a33e2d
+DIST drf-writable-nested-0.7.1.gh.tar.gz 21158 BLAKE2B 0c84d6baf750065ae5732739166a7753d41b8503b18e1cd521ef1eff26b2a3da47fb618c87e11cc5295ac9080e3899501aeec83f3a6460709ad14061be867177 SHA512 fa122aca9dc20f7e8da7fb57cdcbf85687afdb67a2470b22c6536b3fb3f644f273bef5041f8931b03ad5208a7f1b0da67edc04ae6de625f64fdf04da5dfa5985
diff --git a/dev-python/drf-writable-nested/drf-writable-nested-0.7.1.ebuild b/dev-python/drf-writable-nested/drf-writable-nested-0.7.1.ebuild
new file mode 100644
index 000000000000..189ad1d157e7
--- /dev/null
+++ b/dev-python/drf-writable-nested/drf-writable-nested-0.7.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023-2024 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Writable nested helpers for django-rest-framework's serializers"
+HOMEPAGE="https://github.com/beda-software/drf-writable-nested"
+SRC_URI="https://github.com/beda-software/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/djangorestframework[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/drf-writable-nested/metadata.xml b/dev-python/drf-writable-nested/metadata.xml
index a2df676e20ae..36acccda7221 100644
--- a/dev-python/drf-writable-nested/metadata.xml
+++ b/dev-python/drf-writable-nested/metadata.xml
@@ -2,7 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>core@liguros.net</email>
+ <email>dev@liguros.net</email>
<name>Development</name>
</maintainer>
diff --git a/dev-python/gherkin-official/Manifest b/dev-python/gherkin-official/Manifest
index d1b4b5251630..1df49f8ea542 100644
--- a/dev-python/gherkin-official/Manifest
+++ b/dev-python/gherkin-official/Manifest
@@ -1 +1 @@
-DIST gherkin-30.0.3.gh.tar.gz 3858361 BLAKE2B 9955a2d48dfdbfda942c60d18108fa9abc7bc7e748f5296afb802fb05b5a3b4904b74d3cff364a0fad0b9b3d378799764c2620ccb0a84af689bc8d95c7d4fbc8 SHA512 c9d722982fe926eec57cc185043983cd2380bf6ce58e5743b53cb2b98127d3b3f8b6689c39c51c2d3697e5f40bc6f98beb4c239d601b1d7685e09f5dcaa07e00
+DIST gherkin-30.0.4.gh.tar.gz 3858403 BLAKE2B bdf5cf80f1e06c9e8464d3fbc5a56a594b75f3d8ae6ff13dafcd583aa6571e1a6ba4aa4dd344f7c532174b09829bdaf9aae1e1e02339521e2836dbf9b3014108 SHA512 52cd5bab779e46d5d2c451558b545fb8ac408d1d5d11558e1dace94d77472ca271589eb183c412093fcbdef2574a495fdd11c98ce97d8146077a54b3369a9a6e
diff --git a/dev-python/gherkin-official/gherkin-official-30.0.3.ebuild b/dev-python/gherkin-official/gherkin-official-30.0.4.ebuild
index 84f60bf3a9d8..53a733b0aa4d 100644
--- a/dev-python/gherkin-official/gherkin-official-30.0.3.ebuild
+++ b/dev-python/gherkin-official/gherkin-official-30.0.4.ebuild
@@ -3,6 +3,9 @@
EAPI=8
+# note: only bump when there is a release on pypi, GH tags (which include
+# tests) are for the whole package and may have no changes to python/
+
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9,10,11,12,13} )
inherit distutils-r1
@@ -17,18 +20,10 @@ S=${WORKDIR}/gherkin-${PV}/python
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/typing-extensions[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
-
-python_install() {
- distutils-r1_python_install
-
- # dev-python/pytest-bdd tests currently fail without this
- python_moduleinto gherkin
- python_domodule ../gherkin-languages.json
-}
diff --git a/dev-python/kurbopy/Manifest b/dev-python/kurbopy/Manifest
index 3d4bc64f8df1..7a4dda6444ab 100644
--- a/dev-python/kurbopy/Manifest
+++ b/dev-python/kurbopy/Manifest
@@ -1,33 +1,73 @@
DIST arrayvec-0.7.2.crate 29341 BLAKE2B eae9d3f494033ea2d837a6024cb24bd4574683ed1e76ac6be7f7c6b0d8ee65c0eaf03dbae7fea04cf0921299f69234ad91e1cf41342de86f554f74e287dd3ba1 SHA512 80cc6e55b6032f4882362813de970d3d99e600ada774b28ac6a24c9c8e018fda3b35c5750ac3a09fca6fb9496e2e3fe608b58d21b1b84685ebd170f567a0ecbc
+DIST arrayvec-0.7.4.crate 29856 BLAKE2B 81ffac1db340e919618351819def3880ab1ef70d0acc47d680f15298eb749bcbc3bf7944ba14159be46b1e734c91b4c0f8cbaf774fd864c17caa3c9fb1fc2e9b SHA512 91e8f70330c515c966d78ae235e890594f9607381ac738a2c3586b53f01411e98d1687494f39ccc365948ae60497df3dfb2be18e26ab7e69bc0966b6c250e1ac
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
DIST bitflags-1.2.1.crate 16745 BLAKE2B 0fa6d3ce44aad7616d5cd02aad8c1d0b0fed4022650eb43067c4a72e6fc88da05442674fa51826e4858a47c9de233e1ba2229820af094197cd11bb416ceffb2b SHA512 ad89b3798845e23737a620bba581c2ff1ff3e15bac12555c765e201d2c0b90ecea0cdbc5b5b1a3fa9858c385e8e041f8226f5acfae5bbbe9925643fff2bf3f0b
+DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST either-1.12.0.crate 18974 BLAKE2B 9db82a8eb351dbc1643ccbe304796610f6090b263d9a991b4d7308a699bdc67d25096ed1e923f521fe3dbfe9195569c1297b46a4b1d0b74bcea4c11bc0a2c388 SHA512 88e1ac4053c39740cf643a8fd445f2d939a8398e952b4b66ab38bb48bd54bc7a976967c4bebab36fed66c4f5fb76082e9c6d40e146914283fca28f31af0e0138
DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
DIST indoc-1.0.6.crate 14312 BLAKE2B e4757497450f9c5e854f472e576c0df49f1aecb10e3ae77ca56b436dbefc5c75fd9b83093f9bb485b697d32c454af5d70d72da27e231124f7af20d3dc6e320e2 SHA512 798d36767d29ac5170a9de498ebee1056a6658e74b94310d589d429471ae059f974bd83eaa823c99a637c16758b3fdaaeaaaf7b21a2a35cbcbf345840b5f23cf
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
DIST instant-0.1.9.crate 5213 BLAKE2B fe208faa09852079c603930e88b7d0392a89a55d3b934ad45ffb0c9e44df5ef7e8189ba2fa12452f1c8a6416d6f7c0655365ba959bedf2b78228613944be8278 SHA512 3915f67c3629ec93296d56c4cda0cf97b29b1a70930a9d546abb9518139d4c2f35062563a5094e84841ddb1f00b0f3df9dc00801d96c01994765221edf03ef7c
+DIST inventory-0.3.15.crate 13967 BLAKE2B 213ed4450412fd25bd74328389727e7b0c40363f677a156f6d4c1158958c1d000c8fa27b800a517b830f17579e3fe1905fa96cf8de6d384ce8592837923005c1 SHA512 1b7e229e5555e9b08edf1c1658e11831e591fe1f7c10e6160162fad076e89e4ca401b58ac59a76ce8ed4e1f9cd759a073d8d1f937f0190e2892804ce4e0c1f72
DIST itertools-0.10.3.crate 118661 BLAKE2B 0095d6e7f14ddda69605d09f74e8cc881eec1a1d234f705e667d7f9e738ef157b7ddee066855cbcad7f134bf79b99a4a4c77bff3371397a567cd34d98b68bf97 SHA512 9d17357eb68159edf4f4ccd2eb9895672c7fb633803166d5e24ee12350639eaf66f1c822910518185cd1f1ca5d9c3e228dd37525e6c337ba3fc7ce967f9bfc85
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
DIST kurbo-0.10.4.crate 925388 BLAKE2B 84a7f7021289d131a949d3a21e39a337f7a116956b912955548f2d585cb9ae2ade8b937bf59f2920cdce005e700848c5b29d4b9e6f8104ed88efcabc215e6fcb SHA512 6555f8d5f84aa7c47f02b89dae40779eb84921d2838e3dcfe986dc4e742b871d00f788c840feaf8879d46b58d175b573d4f5befe4c206d112d6d085cff8a7b10
+DIST kurbo-0.11.0.crate 122524 BLAKE2B 09a23ccbd7a216e1983b0d58e7d554bc0fdab75c871567023bd5081da6fc96c23bb92a79423b830016625a5f73df43587d2f48aa5bd10db06ad2d9c615b957cb SHA512 c25be5a1eb37fb8cfe284f0d0e742ee4993db63b38e063d1742bc4eee46e2137168f2deffe326ecac6fb2e7a346d5f847dbad4444a261b290914471d1514a638
DIST kurbopy-0.10.40.tar.gz 53727 BLAKE2B b347f866964ce92aa18d0af83a64a6494c0035acded7d35cd00ed93154df8f3731c1e2059251c6711e6105616dbbb989012833ecbdf3c43509403eba965c088c SHA512 ce6b68c1500459278874910e50cbfb75af6041f0e6478dabfcfcbf68e7c486e89645d29a602b2ca46dfc6caf52ada220ef3ac4be8455b53bcc1a2d48f304c9c7
+DIST kurbopy-0.11.0.tar.gz 69143 BLAKE2B d7e31482515faaa9dd209a309ffc1378945467925198b01da80cd514ede982eb8fef15a6020f7ad1e7d1e27c95b06c21b6afd57bebc9f2870cc891f08b1fd2ed SHA512 1eb933b6649259c04537b0e4d65d59f2be6aaee7e82a70f4b8607bb3a67284676969e20d12b1c6c7fb6294b3bc67d9ea3f382920541bc2519d83ebafaaf0350f
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
DIST libc-0.2.88.crate 514138 BLAKE2B c9c6cd0b5456ee2706e7b572ba8df644abeb2d1297abe4f5d2b480e7b7b6b1024cfde98adea2822045b605949505c133538c74b0676c3ab5a2db8aed04605b4b SHA512 c1ad5dd0efd8117da798fcff84082e3b831cb1ae04c26ca8d87936057155e2ca08f0a693cf2c79c5db2c2dbe6b64e254328439b303ba952559f4c524466ad243
+DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7
DIST lock_api-0.4.2.crate 20375 BLAKE2B 0b24bdf98aaee9870f558971f437e728c8e52a853cc886a0de30cb9a84c2733175e6152a2d7ff1f28a83df5443091b16ac5410cb67d05ce464e01db64ba98cb0 SHA512 815de5198ba4a952490fbc7e08e899ce855588d794c22890839ad55caa81642745fa6bf81a2a2fc8f6713575f0d1b801a2f2107ed7c405101011927b6b40be31
DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
DIST once_cell-1.8.0.crate 28925 BLAKE2B 7681b1a7497b5711e663773c1a7e076f333c06c10d3f289079a781c36f050c1620cc279742ea8e5b15ec48f3d6038a6079bbda7fee3ae8e1128bd916d53ed43a SHA512 88e55c9433225ce85a08353168c87fca2237615482160a5c28f3ac17f06d48c63e0c21b5f7ef81f82ca133436e371802ea099453844f1c111003bcb6ba89e827
DIST parking_lot-0.11.1.crate 39854 BLAKE2B 5a097d7016811de4ca7d21e8a811a96b2e857b5224b176cf7a3bc160c0a0678c9100423e3c096c5056e2df3a4dcba17a590cc64eb1d648355c153c5cdf9db228 SHA512 17e394ac8b62656177a12fcfd246d9bb59be468a5ac174e4d6d8b4ffd0411497d3ce943ca5deab184cebf5c1bbca97b4273f79bf210c78d7f4b6f5e9d68026a2
+DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703
DIST parking_lot_core-0.8.3.crate 32147 BLAKE2B 5218cfbff706c4388fef31c885c7a5d53566005775a3c440c6a2890efb189a4edfe8e99f6499cac36038846628a915ac988c15e1ebab1b3a3ffb53a64631dc19 SHA512 1dba5a7e68ee007918fb210ff308f7382ed1c54d2fe6db36a8246453434246b71e6795db107c83ca39c2bddf5e4a27da7978a464b53d41e150e744d81e75b341
+DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
DIST proc-macro2-1.0.24.crate 37716 BLAKE2B e2bdbc7cc9ea254529e322f6a2eb44002b4994fc4a00df32012f66740e8e73ae70820dd40b7fcfcf024f3c7784ab9add5cc1db37f4c72d5af5c8f00164ebc145 SHA512 c3d23a5136c55d734084ce1d76d54f237fc1003074af102c2ad96d851ac496ffc7513ddc505a68af4051c9d6de09725a0ecb6e76ebcdd77a1c056f8f9242c9be
+DIST proc-macro2-1.0.85.crate 48988 BLAKE2B 236f2a07c758d0d8628f003b70d4b25d5f0d2bd8cbd3955fc4262d7d9b271c6571eb0fc45c95fd816b426a84ed5ec5dfeb81d8041d4de955cce6f3b9fceda1f1 SHA512 54c61dd0581bb5802e077a58fa41f113aa1fab59026478268ece293f2643921b7649844c1675a21a3a21674cdb3ccf94928e5bd069a02bf6813ccc1114d37262
DIST pyo3-0.18.1.crate 415128 BLAKE2B c77b956c4c96c4f0356abf5df14f89ef7fbd4d779169c2acccfc827a3a5d2d7980e5e8a467c1f6e73bb00a4500293995bc81014f110853c33b8e30d0698d0a21 SHA512 37e82b2b212de59335f8b5e4129dfc53872ceda156238f4aaee8cf358a8daf2d64cb716aa63d343c4f602fc61344b94bcd3cc8e02bee80256f5b49033a5c5825
+DIST pyo3-0.21.2.crate 504574 BLAKE2B 1b8bf374d1b61e3e4bedce6344338126051a6d951ea87d258e5ed92d4c0e13b0202f2e7e56500277c54743dd16c9b4587f436cf2058567501c8a9ac7c6b6c17a SHA512 5f88cda423e82b62698a74ceaa31fc27e5c1f1d417928accddb2e00337d163fda622f774ae6e24c1cb73c467d6b01e9a2ba866e4454338b1fbfc892ae14ffc53
DIST pyo3-build-config-0.18.1.crate 29134 BLAKE2B 288519ea8b17bf81564ea7e91fa548ca5b966cb08939eccd80356935372aa7bbac1c9f1f8780b49010f4f66d1724d698a6197a740b232d62c75df341194c8ac5 SHA512 6277726d3f0faf70453f61f90c547db01ce5d50823ca9ba731d57309edbb33729bcfa3299415716cf6154ec2cb3a4c1e7eabc8ea18e400e746b37324bfca2ec9
+DIST pyo3-build-config-0.21.2.crate 30581 BLAKE2B 993c1f7f15124336b70570ed3949cc0873c2b883e81dd3a350f347cf014fb9a82d487197fdaf475989b727b7ee8d9a5511a72422f76126b8788c4f40831baed8 SHA512 8b6bedb31235de3dd95bca6e19ea4eb7752227ceb9f1c928c4df2b277df5ee443e5c262e448012e4e54e3104213db4d745c9c42f79ab3029dee68f48ec3a2795
DIST pyo3-ffi-0.18.1.crate 62852 BLAKE2B 86bc534333e05578b1bf890fdd71af685d626aebbd8b4132162c1d29ab89ee493f903497fecb576164a1b23df11b36f20c18cede97ded567428724a702f0529f SHA512 35f2838f6b06bbb1ad6ebdc0d68c750fc8cffc43b62fadf2b76d4a395a4655797e9d93543ffb204ff7ea312f7f37444375c556831a231122f9fc1477ec986bec
+DIST pyo3-ffi-0.21.2.crate 66160 BLAKE2B 759622fa3a41bcdb48170983c4e194898415f8db16a7c57ace89a7945bd47374d9a14e5ecf24e80a178bde597cfa30d41f9e6617b458d365640bdbda048e6f6e SHA512 5cbc9dfb14569210776fd66341e77e61642a9920354251a65b91aa13a0fb1c373258d1a6b4f8feacdc4266d472193d8f20a6dd2cc180ccc3d43fb66237ae6d0d
DIST pyo3-macros-0.18.1.crate 7174 BLAKE2B 0eb2d106d193cfb14fc8c9cce175458a38bc069f9c232a7bc541e2951bd06ad3dfab483f730ece97a4ca2827ad4dcd0444e77df6a8ff79cc5861c2985d0d2b7a SHA512 baf43c6c5ef8f5fcc91728d693d52453b779de5c48cfdb295449a32ce559c0304e3a93b43bad7b312eee1c44bbe680efc57423d4e38986f3c6eacebf07998609
+DIST pyo3-macros-0.21.2.crate 7920 BLAKE2B 60ceb626fd1ffeca7e81ebc721bb4cfebd99bb708d48bbfdd296b250ed41471f82e8657715e1f58840423ac11d8c5a84a6107a7037affdea4e0c2cc561514ed7 SHA512 95335a55d57346107fdc7591d51e36aa0a985d6c44a875475a0ed52df25d33b21a7b922fdab0eed190da9708968e79f7cd50bc683b6d210eb068713a915ac7f4
DIST pyo3-macros-backend-0.18.1.crate 48618 BLAKE2B 8db09610fd6fc95d1979a4065f89611c507ff7e7f72d9cd64590f85f6d8543ee6d234e772c55db88e3624808ad135389f5ff0edfd2eca6ecf1a29ece332c1c2e SHA512 20aed4aa485d6ffc02b0d08aa4c5fc086e73482aedb5ebce155c3f973d0e058902ef806740d483368eb80caac4ccc163516eaf56a027910d71cedc5bc0ee665c
+DIST pyo3-macros-backend-0.21.2.crate 58088 BLAKE2B 05dd49983c8aeddc47cd94f6cd58f10e41ad6f4ec57006908cde4fe3edbcf6814058d7843a88c9dbeb0824f840ad3509414c52e47fffe5ad4b730f791c9a3f19 SHA512 f8488ba0a68f1ae20d053e2323d065f03b40c24231a50b05205b100e973ae50bc7bb9c25e4d37df56f4cfa73d2001655ce9685078d1017a4a90bd7945c01b833
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST quote-1.0.9.crate 25042 BLAKE2B 26ef31e89fd2f0cc21ff65f8072f30c7977ac634d2536cf9845a0894d6659f62a96cd0a6ee48f7706036c2c1b898ef8c9167bd62714ad0c9cba4fb02f30922af SHA512 dd6cdaea183b85400531ef01e56657edbec0d8f7c27898c1e591b72dff755fa5875b33ca320bd65be0e9aecfc6a61ec119a4bd1291e9f2057fca642ab5b198c8
DIST redox_syscall-0.2.5.crate 23449 BLAKE2B 2d676dfe40f62285463a25f90ecf24ddb8548f91db1dffd779aaf9c1210bf1eb9c7c535b0d04ac7a483e0724d24ac1d1ed6c78884ad2631a53a870488b7578bc SHA512 f1625eaba110129942893e4cae548d22b6892d275124d29540c947d958e5bb7231309fe052cf15bddb23e0e8f0cdaadd002db5bdc3be578e843c46c175526adc
+DIST redox_syscall-0.5.1.crate 22536 BLAKE2B b7766fcf35dd865fc98495f60da54ca9a6b4cff007f4323d1c63de5d1152766aa5517139b5ec50afca39d934360c701a180c4516feccbc2600085d5d72dabd2a SHA512 0952b5f4f79f2cff04b4c21d964df7b56bc0cbff8d8a2a9a7d38ba66fd69cbd0fb004cd3d8ac6feadde8d9590858cd7e1763da7e4a5de840cdef42b1b6f1e460
DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
DIST smallvec-1.11.1.crate 34831 BLAKE2B bad85ddb1d3a1fcec0cb6aba413f90695e0aa0c16b2b231d6d15095bdd6de1731720ea2b394c3f9a444d6d4763bbf44cff389a01aef3488dc599d2ea63ddbc36 SHA512 d4ed45e8867366072e77f23ebe8b31be96be37e5beed30fc2b5ffea81ab04a2ad2aa34fb4f29724b02a5eb90f8b1d8c40b800ee915453947f90758ce999704b5
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
DIST syn-1.0.62.crate 231418 BLAKE2B ff264cd80e2107745b22d2febd9e7d3684422e21f382f224c779c7f1e15be1ce8582db1b8b11390131b92991d3fca0c2e521159ddaadce220c035b88eabbc83d SHA512 9b0e2c874eb2f7ff5d752507447713b949ebd157913f7dcdcacc039ea44df0f842a90e9267d2ce5ca39a6bbf3806301374b19c1e6a35f20c7968044c45497b6f
+DIST syn-2.0.66.crate 264855 BLAKE2B 5029091b2cfa88e5c739be913a647dc9492696398c09b891f84089350e6f09baafd9935b81e0f3519d5465eff2e1822ef6cdc96c15d6a40d1b6b8dd2f9e7d073 SHA512 60a617bfd37d74c52e4d4d63ef0a27a2f9b982469a6926922f2f6e96754a0c66affb0847b9a44d505c053cbd788b97e998efb8d1e558ea00ae4a0b7f15bed9b0
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
DIST target-lexicon-0.12.4.crate 23020 BLAKE2B ad9780b9478b00b4fdcb07bd016d83216695413090ac29cca06388c3790e2832c978b1c7e69f6d34bb6fc9adc39c0a0b6b6636e50a9715a9f5f16445dba22d19 SHA512 194fe1946ad8d9fdb383bf8a65374e24d216382c1ed5379dabc98d58842512624c32838b8d6d0658d866f6559d37f1343a30c5809e8914dd85790399252b3e06
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
DIST unicode-xid-0.2.1.crate 14392 BLAKE2B 7f8f91b9c4df55f2137b754208d4f2997a290acfc9393ee2dcda8195eda25cb342e56ad123f56bb298d93db5248a749c18a982423c9a0e85ce93f7a1eb55d289 SHA512 91e862137e837baea82829431cfed36634fdb05339f00c756eb5a4b429ef0bb871f5133d11adf9a023fa22168c8a0cf194ff3669779f04f219d48fc4fac339d2
DIST unindent-0.1.7.crate 8346 BLAKE2B cbf76fd18e49332e61275ab204cef1fc4dee58091307f8cbe2107d3a8441551055541583f1d643d4d15f9cc17a8405f540f0c53548f5b2379dd70791a03640cb SHA512 d3f4543f97f1386f63306a206074de1d10077ae968ea6eb6638545eeaf8cef662e1c84a15788e9df640eeb6af4cbc187721ec01af43984e4eeb2dfb0423c6d70
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee
+DIST windows_aarch64_gnullvm-0.52.5.crate 433266 BLAKE2B dee1b69cdf1fbd4143136909e4df3adaa7b80d7630a01ca9a42fc5ad0d5a4d9a9e2873b43c6d8e55de59f237d9199fad0768c4e1cda3b1e5354847bd70d4c79e SHA512 b4cf511025458fe30d5b11368af285610e1654a8986ea9f78fa81b8bb87d38a00c4869441c62692534df66d06baf14c8a4d17f8eb06468eb260b99e2fda6439d
+DIST windows_aarch64_msvc-0.52.5.crate 827944 BLAKE2B 3bcb16d527be1dfdf18a9105ab259a064f00e949937ca423c8dcd1d2b90090d85aa7e42ca6ccc50c9baeee1aa144123d0a04643f9ff1147e62b2fce28b8a697b SHA512 c8974f81e37a43d92c4a8b142705e36b7acc58d9150d80ffa3997433da878044c467a2d9167ba792d37a183a0082d912500fea8c8fed743f395b63ca62a5758d
+DIST windows_i686_gnu-0.52.5.crate 875699 BLAKE2B 528ea431d080c5326e4c6ed316d9ea3e38b40c2e1322a12a432506a2c11555a94537661a0941e90c20eff4a9ce42c12539876dae6e77a1df18b522529928b309 SHA512 cc3e0362fb62dd5e8a855bda3be0177708ec8629ee9685f1f9aaac3f71a8cb082387388bdf49b09d3f5ee24a636b0b4f933d2c8bb75db434ee0192c8ce0547d2
+DIST windows_i686_gnullvm-0.52.5.crate 473064 BLAKE2B abe41ee330c05ee1366b3a835d15c6db3964ffd7b340ee69d215056b0d4b65c67f2782b0c04a55db64001098de87c93e2d447e25ef2a27f2cfa6685b8cf20c88 SHA512 da45c882248070911bf55698f62c245cb081a23254cdcf578df053905adb9117454235e52dcf1dd97c0d2248f92ff1d2fd3e18844a7be8d93ba08590c1eca22b
+DIST windows_i686_msvc-0.52.5.crate 895404 BLAKE2B 02555169f8c5b944231a877de8693fc871ea0d7d33f52f60e164bacb35cec13d463af07c57fec4667948047cc222d8bda7f6a0be01a07e7184b69e4adc2b4577 SHA512 08c96f8e9385ac121549bae8ed228741b32004be20b2955d163a98d4b62af464f1682cb813681fa22823d20646f19335cf0a66203a876b105e119e05a4db0634
+DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e430e7345944589419592b99addf9b83bf6d801b18f4e80399b85bbb0b0ccf4608e36d9a50b79d8b1d6ce2b93745856e06eba SHA512 d9bf91765d02d2727344e42081f4bcfa73be97991495126f7e633f27e56a261ada3a8b865a559cfe71f9bc9aed5b14504f89138796766937b3521009726dfab8
+DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08
+DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6
diff --git a/dev-python/kurbopy/kurbopy-0.11.0.ebuild b/dev-python/kurbopy/kurbopy-0.11.0.ebuild
new file mode 100644
index 000000000000..1dd8772bc88b
--- /dev/null
+++ b/dev-python/kurbopy/kurbopy-0.11.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+DISTUTILS_USE_PEP517=maturin
+CRATES="
+ arrayvec@0.7.4
+ autocfg@1.3.0
+ bitflags@2.5.0
+ cfg-if@1.0.0
+ either@1.12.0
+ heck@0.4.1
+ indoc@2.0.5
+ inventory@0.3.15
+ itertools@0.10.5
+ kurbo@0.11.0
+ libc@0.2.155
+ lock_api@0.4.12
+ memoffset@0.9.1
+ once_cell@1.19.0
+ parking_lot@0.12.3
+ parking_lot_core@0.9.10
+ portable-atomic@1.6.0
+ proc-macro2@1.0.85
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quote@1.0.36
+ redox_syscall@0.5.1
+ scopeguard@1.2.0
+ smallvec@1.13.2
+ syn@2.0.66
+ target-lexicon@0.12.14
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.52.5
+"
+
+inherit distutils-r1 cargo pypi
+
+DESCRIPTION="Python wrapper around Rust kurbo 2D curves library "
+HOMEPAGE="https://github.com/simoncozens/kurbopy"
+SRC_URI+=" ${CARGO_CRATE_URIS}"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_compile() {
+ distutils-r1_src_compile
+ cargo_src_compile
+}
+
+src_install() {
+ distutils-r1_src_install
+}
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/python3\..*/site-packages/kurbopy/kurbopy.*.so"
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..37a64204a00a 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9b3521c5721afa49a58e0c35267f7d82bb56bd7e1d6d3152be0d36cd220180a526cb20b90b1113fbf0fff4a512137570f0b3bcf864498b7b7cc00403cb61ca27 SHA512 16d311400bf84a5f04e15f3da4b68b2810e4b005009f4d03dc8a487176dfc294403c976c412c83dcfa8084a49ef7b7d5389b43fb2ba446ce107ce4595e3558c6
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
deleted file mode 100644
index 637368d2f237..000000000000
--- a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
-
---- a/setup.py
-+++ b/setup.py
-@@ -18,7 +18,7 @@ setup(
- author_email='michal.danilak@gmail.com',
- url='https://github.com/Mimino666/langdetect',
- keywords='language detection library',
-- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
-+ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
- include_package_data=True,
- install_requires=['six'],
- license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index eb2586280d80..56733bbffc48 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,6 +19,4 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
-
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index c0f74ac187e2..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index fecb2283fa53..ecf6bcb4c140 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,4 +1,5 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
+DIST matplotlib-3.10.0rc1.tar.gz 36682106 BLAKE2B c6948deb4749a08fa84e0a72d4c6877cfa561360c5475a9d96c56bad906b94c59f35286587f5af768e0f7e2bb5d5e30101c66da3725ac81f5981ae298089d1a8 SHA512 8ccef930c094e1d0fdb61236b968dcc556b991fd53a8171c84e19fba08e9a5d67dc62f24de832d50e805ddf040dd58828799c6046b355f17dd532fe4d23c4515
DIST matplotlib-3.9.0.tar.gz 36069890 BLAKE2B 02ddb25901b5a93a8daf6f26c98b92d5e35abe2e98783b039928338abb1d628adbf3fd4786c08cb1610bf405cb558ca31fc12dbde77ec5f2a633143c7ea659a1 SHA512 135ee2f97c26cb60479cc10bf8a833384c393993d8a905ab869f4c73b91a50ffa596f84ce349af7f1a0b08a21e1906394cf6a702bb567a9c3999d40f54974326
DIST matplotlib-3.9.1.tar.gz 36084124 BLAKE2B b7cc9e219664849411cc3133afbdb676f956c943f92d447ba5cca0467da56d1575796fe1046e7503e6d7c4dfdfad6e5181404f331ed7ac1397c8c61f4a30bd23 SHA512 a1d48c42a5f4f04b57e34d25df842917e6380b8d6b6d1018c9b630cbbea4619b1d75729a218a6f52b63d4a61c2204bb26ad8f741566f84e41ca73190e419f672
DIST matplotlib-3.9.2.tar.gz 36088381 BLAKE2B c84d08b7afa1f0460b5b57447481ef90f22380c02d20227c3a45b6f603032a11359b223397f18c8dc9111ad36fbd7510e2d5496502b3202e3074ddf8e8258bb7 SHA512 4b7437eeb085915a90db64600d0e6c59501ea1513d07b8298a159a763461ef6947a0cb332dcde1a5f0996840320ca7dd1d972d7514ff6f87b036fc631e79885f
diff --git a/dev-python/matplotlib/files/matplotlib-3.10.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.10.0-test.patch
new file mode 100644
index 000000000000..aca01d0f5689
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.10.0-test.patch
@@ -0,0 +1,236 @@
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index 254b86cb54..1f93b1a476 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+ """
+@@ -83,7 +83,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+ """
+@@ -116,7 +116,7 @@ def test_fancyarrow_dash():
+
+
+ @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.005 if platform.machine() == 'x86_64' else 0.02)
+ def test_arrow_styles():
+ styles = mpatches.ArrowStyle.get_styles()
+
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index e3a59a1751..97352c887d 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -1220,7 +1220,7 @@ def test_imshow():
+
+ @image_comparison(
+ ['imshow_clip'], style='mpl20',
+- tol=1.24 if platform.machine() in ('aarch64', 'arm64', 'ppc64le', 's390x') else 0)
++ tol=1.24)
+ def test_imshow_clip():
+ # As originally reported by Gellule Xg <gellule.xg@free.fr>
+ # use former defaults to match existing baseline image
+@@ -2617,7 +2617,7 @@ def test_contour_hatching():
+
+ @image_comparison(
+ ['contour_colorbar'], style='mpl20',
+- tol=0.54 if platform.machine() in ('aarch64', 'arm64', 'ppc64le', 's390x') else 0)
++ tol=0.54)
+ def test_contour_colorbar():
+ x, y, z = contour_dat()
+
+@@ -5045,7 +5045,7 @@ def test_vertex_markers():
+
+
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+- tol=0 if platform.machine() == 'x86_64' else 0.026)
++ tol=0.015 if platform.machine() == 'x86_64' else 0.026)
+ def test_eb_line_zorder():
+ x = list(range(10))
+
+@@ -9030,7 +9030,7 @@ def test_zorder_and_explicit_rasterization():
+
+
+ @image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20",
+- tol=0.027 if platform.machine() == "arm64" else 0)
++ tol=0.027 if platform.machine() == "arm64" else 0.02)
+ def test_preset_clip_paths():
+ fig, ax = plt.subplots()
+
+diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
+index 24eeab6894..f140e031fe 100644
+--- a/lib/matplotlib/tests/test_colorbar.py
++++ b/lib/matplotlib/tests/test_colorbar.py
+@@ -235,7 +235,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
+
+
+ @image_comparison(['contour_colorbar.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.054)
++ tol=0.01 if platform.machine() == 'x86_64' else 0.054)
+ def test_contour_colorbar():
+ fig, ax = plt.subplots(figsize=(4, 2))
+ data = np.arange(1200).reshape(30, 40) - 500
+diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
+index e42e2ee9bf..040979eac1 100644
+--- a/lib/matplotlib/tests/test_constrainedlayout.py
++++ b/lib/matplotlib/tests/test_constrainedlayout.py
+@@ -655,11 +655,11 @@ def test_compressed1():
+ fig.draw_without_rendering()
+
+ pos = axs[0, 0].get_position()
+- np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
+- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
++ np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
++ np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
+ pos = axs[1, 2].get_position()
+- np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
+- np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
++ np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
++ np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
+
+
+ def test_compressed_suptitle():
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index e0ea82973a..8e304c7161 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -418,8 +418,7 @@ def test_contourf_log_extension():
+
+ @image_comparison(
+ ['contour_addlines.png'], remove_text=True, style='mpl20',
+- tol=0.15 if platform.machine() in ('aarch64', 'arm64', 'ppc64le', 's390x')
+- else 0.03)
++ tol=0.15)
+ # tolerance is because image changed minutely when tick finding on
+ # colorbars was cleaned up...
+ def test_contour_addlines():
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index edf5ea05f1..afadc83056 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
+
+
+ @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_align_labels():
+ fig = plt.figure(layout='tight')
+ gs = gridspec.GridSpec(3, 3)
+@@ -68,7 +68,7 @@ def test_align_labels():
+
+ @image_comparison(['figure_align_titles_tight.png',
+ 'figure_align_titles_constrained.png'],
+- tol=0 if platform.machine() == 'x86_64' else 0.022,
++ tol=0.01 if platform.machine() == 'x86_64' else 0.022,
+ style='mpl20')
+ def test_align_titles():
+ for layout in ['tight', 'constrained']:
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index 61892378bd..28d3661359 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -164,7 +164,7 @@ def test_multiple_keys():
+
+
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.03)
+ def test_alpha_rgba():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -173,7 +173,7 @@ def test_alpha_rgba():
+
+
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.03)
+ def test_alpha_rcparam():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -201,7 +201,7 @@ def test_fancy():
+
+
+ @image_comparison(['framealpha'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.024)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.024)
+ def test_framealpha():
+ x = np.linspace(1, 100, 100)
+ y = x
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index ee8b5b4aaa..8752a56ad2 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -185,7 +185,7 @@ def test_set_drawstyle():
+
+ @image_comparison(
+ ['line_collection_dashes'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.65)
++ tol=0.65)
+ def test_set_line_coll_dash_image():
+ fig, ax = plt.subplots()
+ np.random.seed(0)
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index a8735e180b..7bd9f5a951 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -79,7 +79,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.002 if platform.machine() == 'x86_64' else 0.03)
+ def test_numpy_facade(quantity_converter):
+ # use former defaults to match existing baseline image
+ plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
+
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.02)
+ def test_plot_masked_units():
+ data = np.linspace(-5, 5)
+ data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 342face450..c7256586bc 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt
+ pytestmark = needs_usetex
+
+
++@pytest.mark.skip(reason="TODO: broken")
+ @image_comparison(
+ baseline_images=['test_usetex'],
+ extensions=['pdf', 'png'],
+@@ -65,7 +66,7 @@ def test_mathdefault():
+ fig.canvas.draw()
+
+
+-@image_comparison(['eqnarray.png'])
++@image_comparison(['eqnarray.png'], tol=23)
+ def test_multiline_eqnarray():
+ text = (
+ r'\begin{eqnarray*}'
+@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError:
+
+
+ @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'],
+- style='mpl20', tol=3.91 if _old_gs_version else 0)
++ style='mpl20', tol=30)
+ def test_rotation():
+ mpl.rcParams['text.usetex'] = True
+
diff --git a/dev-python/matplotlib/matplotlib-3.10.0_rc1.ebuild b/dev-python/matplotlib/matplotlib-3.10.0_rc1.ebuild
new file mode 100644
index 000000000000..571a7f3f8fd6
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.10.0_rc1.ebuild
@@ -0,0 +1,316 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 pypi virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+ https://matplotlib.org/
+ https://github.com/matplotlib/matplotlib/
+ https://pypi.org/project/matplotlib/
+"
+SRC_URI+="
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS=""
+IUSE="cairo excel gtk3 latex qt6 tk webagg wxwidgets"
+
+DEPEND="
+ media-libs/freetype:2
+ >=media-libs/qhull-2013:=
+ >=dev-python/numpy-1.25:=[${PYTHON_USEDEP}]
+"
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/libpng:0
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ )
+ qt6? (
+ $(python_gen_cond_dep '
+ || (
+ dev-python/PyQt6[gui,widgets,${PYTHON_USEDEP}]
+ dev-python/pyside6[gui,widgets,${PYTHON_USEDEP}]
+ )
+ ' 'python3*')
+ )
+ webagg? (
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{10..12})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ $(python_gen_impl_dep 'tk')
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ !hppa? ( !s390? (
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ ) )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ # do not unpack freetype
+ unpack "${P//_/}.tar.gz"
+}
+
+python_prepare_all() {
+ # Affects installed _version.py, bug #854600
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.10.0-test.patch
+ )
+
+ # increase lock timeout to 30 s
+ sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ unset DISPLAY # bug #278524
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ DISTUTILS_ARGS=(
+ -Dsystem-freetype=true
+ -Dsystem-qhull=true
+ -Dmacosx=false
+ )
+}
+
+src_test() {
+ mkdir subprojects/packagecache || die
+ cp "${DISTDIR}/freetype-${FT_PV}.tar.gz" subprojects/packagecache/ || die
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by -Wdefault
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+ tests/test_testing.py::test_warn_to_fail
+ tests/test_legend.py::test_legend_nolabels_warning
+ # TODO?
+ tests/test_backend_qt.py::test_fig_sigint_override
+ tests/test_backend_qt.py::test_ipython
+ tests/test_backend_nbagg.py::test_ipynb
+ # leak tests are fragile
+ tests/test_backends_interactive.py::test_figure_leak_20490
+ # major "images not close", new texlive perhaps
+ tests/test_contour.py::test_all_algorithms
+ # "no warnings"
+ tests/test_backend_pdf.py::test_invalid_metadata
+ tests/test_figure.py::test_too_many_figures
+ # Requires qt5
+ tests/test_backends_interactive.py::test_qt5backends_uses_qt5
+ 'tests/test_backends_interactive.py::test_interactive_backend[toolbar2-MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]'
+ 'tests/test_backends_interactive.py::test_interactive_backend[toolbar2-MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]'
+ 'tests/test_backends_interactive.py::test_interactive_backend[toolmanager-MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]'
+ 'tests/test_backends_interactive.py::test_blitting_events[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]'
+ 'tests/test_backends_interactive.py::test_blitting_events[MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]'
+ 'tests/test_backends_interactive.py::test_interactive_thread_safety[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]'
+ 'tests/test_backends_interactive.py::test_interactive_timers[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]'
+ 'tests/test_backends_interactive.py::test_interactive_timers[MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]'
+ # Tests mixing qt5 and qt6, requires installing all Qt4Py impl.
+ tests/test_backends_interactive.py::test_cross_Qt_imports
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # TODO: warning isn't passed through
+ tests/test_image.py::test_large_image
+ # TODO
+ tests/test_pickle.py::test_complete
+ tests/test_pickle.py::test_no_pyplot
+ tests/test_pickle.py::test_pickle_load_from_subprocess
+ tests/test_pickle.py::test_simple
+ tests/test_texmanager.py::test_openin_any_paranoid
+ tests/test_widgets.py::test_check_buttons
+ tests/test_widgets.py::test_check_buttons_lines
+ tests/test_widgets.py::test_check_radio_buttons_image
+ tests/test_widgets.py::test_radio_buttons
+ )
+ if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ then
+ EPYTEST_DESELECT+=(
+ # TypeError is raised when exception is raised in a starred
+ # expression referencing a generator that uses "yield from"
+ # and raises -- non-critical, since some exception is raised
+ # after all
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4032
+ tests/test_axes.py::test_bad_plot_args
+ tests/test_axes.py::test_plot_errors
+ tests/test_axes.py::test_plot_format_errors
+ )
+ fi
+ ;;
+ python3.11)
+ EPYTEST_DESELECT+=(
+ # https://github.com/matplotlib/matplotlib/issues/23384
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+ )
+ ;;
+ python3.12)
+ EPYTEST_DESELECT+=(
+ tests/test_constrainedlayout.py::test_compressed1
+ )
+ ;;
+ esac
+
+ case ${ABI} in
+ hppa)
+ EPYTEST_DESELECT+=(
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
+ 'tests/test_quiver.py::test_barbs[png]'
+ 'tests/test_quiver.py::test_barbs_pivot[png]'
+ 'tests/test_quiver.py::test_barbs_flip[png]'
+ 'tests/test_text.py::test_parse_math'
+ 'tests/test_text.py::test_parse_math_rcparams'
+ )
+ ;&
+ alpha|arm|m68k|o32|ppc|s390|sh|sparc|x86)
+ EPYTEST_DESELECT+=(
+ # too large for 32-bit platforms
+ 'tests/test_axes.py::test_psd_csd[png]'
+ )
+ ;;
+ *)
+ ;;
+ esac
+
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ local DISTUTILS_ARGS=(
+ "${DISTUTILS_ARGS[@]}"
+ -Dsystem-freetype=false
+ )
+ distutils_pep517_install "${BUILD_DIR}"/test
+ cp -r "${BUILD_DIR}"/{install,test}"${EPREFIX}/usr/bin" || die
+ local -x PATH=${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}
+
+ pushd lib >/dev/null || die
+ local path
+ local sitedir=${BUILD_DIR}/test$(python_get_sitedir)
+ # sigh, upstream doesn't install these
+ while IFS= read -d '' path; do
+ cp -r "${path}" "${sitedir}/${path}" || die
+ done < <(
+ find \( \
+ -name baseline_images -o \
+ -name '*.ipynb' -o \
+ -name '*.pfb' -o \
+ -name '*.ttf' -o \
+ -name tinypages \
+ \) -print0
+ )
+ popd >/dev/null || die
+
+ # speed tests up
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # pretend we're on CI to increase timeouts
+ local -x CI=1
+ nonfatal epytest --pyargs matplotlib -m "not network" \
+ -p rerunfailures --reruns=3 \
+ -o tmp_path_retention_policy=all || die
+}
diff --git a/dev-python/pipenv/pipenv-2024.0.2-r1.ebuild b/dev-python/pipenv/pipenv-2024.0.2-r1.ebuild
new file mode 100644
index 000000000000..e2d71c746824
--- /dev/null
+++ b/dev-python/pipenv/pipenv-2024.0.2-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+
+inherit distutils-r1 multiprocessing
+
+MY_PV=${PV/_beta/b}
+DESCRIPTION="Python Development Workflow for Humans"
+HOMEPAGE="https://github.com/pypa/pipenv https://pypi.org/project/pipenv/"
+SRC_URI="https://github.com/pypa/pipenv/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+PATCHES=(
+ "${FILESDIR}/pipenv-2023.9.8-inject-system-packages.patch"
+ "${FILESDIR}/pipenv-2023.9.8-append-always-install-to-pip-extra-args.patch"
+)
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/click-didyoumean[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
+ dev-python/dparse[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
+ ~dev-python/pipdeptree-2.23.4[${PYTHON_USEDEP}]
+ ~dev-python/plette-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ptyprocess-0.7.0[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ ~dev-python/pythonfinder-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep ' dev-python/tomli[${PYTHON_USEDEP}] ' python3_{9..10})
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/python-dotenv-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/importlib-metadata-8.4.0[${PYTHON_USEDEP}]
+ <dev-python/importlib-metadata-9.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+# IMPORTANT: The following sed command patches the vendor direcotry
+# in the pipenv source. Attempts to simply bump the version of the
+# package without checking that it works is likely to fail
+# The vendored packages should eventually all be removed
+# see: https://bugs.gentoo.org/717666
+src_prepare() {
+ sed --in-place -e "s/import click, plette, tomlkit/import click\n\import tomlkit\nfrom pipenv.vendor import plette/g" pipenv/project.py || die "Failed patching pipenv/project.py"
+
+ local pkgName
+ local jobs=$(makeopts_jobs)
+ local packages=( cerberus colorama click click_didyoumean dotenv dparse markupsafe \
+ pexpect pep517 pipdeptree plette ptyprocess pydantic pyparsing pythonfinder \
+ requests urllib3 shellingham tomli tomlkit importlib_metadata )
+ for pkgName in ${packages[@]}; do
+ find ./ -type f -print0 | \
+ xargs --max-procs="${jobs}" --null \
+ sed --in-place \
+ -e "s/from pipenv.vendor import ${pkgName}/import ${pkgName}/g" \
+ -e "s/from pipenv.vendor.${pkgName}\(.*\) import \(\w*\)/from ${pkgName}\1 import \2/g"\
+ -e "s/import pipenv.vendor.${pkgName} as ${pkgName}/import ${pkgName}/g" \
+ -e "s/from .vendor import ${pkgName}/import ${pkgName}/g" \
+ -e "s/from .vendor.${pkgName}/from ${pkgName}/g" || die "Failed to sed for ${pkgName}"
+ done
+
+ distutils-r1_src_prepare
+
+ # remove vendored versions
+ for pkgName in ${packages[@]}; do
+ find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName}$" -prune -exec rm -rvf {} + || die
+ # package names can be foo-bar, their module will be however foo_bar
+ find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName/_/-}" -prune -exec rm -rvf {} + || die
+ done
+
+ find ./pipenv/vendor -regextype posix-extended -regex '.*cached[_-]property.*' -prune -exec rm -rvf {} + || die
+
+ find ./ -type f -print0 | \
+ xargs --max-procs="${jobs}" --null \
+ sed --in-place \
+ -e "s/from pipenv\.vendor import plette, toml, tomlkit, vistir/from pipenv\.vendor import plette, toml, vistir\\nimport tomlkit/g"
+
+ # remove python ruaml yaml
+ sed --in-place -e \
+ "s/from pipenv\.vendor\.ruamel\.yaml import YAML/from ruamel\.yaml import YAML/g" \
+ pipenv/patched/safety/util.py || die "Failed sed in ruaml-yaml"
+ sed --in-place -e \
+ "s/from pipenv\.vendor\.ruamel\.yaml\.error import MarkedYAMLError/from ruamel\.yaml\.error import MarkedYAMLError/g" \
+ pipenv/patched/safety/util.py || die "Failed sed in ruamel-yaml"
+
+ rm -vR pipenv/vendor/ruamel || die "Failed removing ruamel-yaml from vendor"
+
+ for fname in Makefile README.md ruamel.*.LICENSE vendor.txt; do
+ rm -v pipenv/vendor/$fname || die "Failed removing pipenv/vendor/${fname}"
+ done
+
+ sed --in-place -e "s/pipenv.vendor.pythonfinder.utils.get_python_version/pythonfinder.utils.get_python_version/g" tests/unit/test_utils.py || die "Failed patching tests"
+
+ rm -Rfv pipenv/vendor || die "Could not vendor"
+ rm -Rfv examples || die "Could not remove examples"
+ rm -Rfv docs || die "Could not remove docs"
+}
+
+python_test() {
+ epytest -m "not cli and not needs_internet" tests/unit/
+}
diff --git a/dev-python/pytest-bdd/pytest-bdd-8.0.0.ebuild b/dev-python/pytest-bdd/pytest-bdd-8.0.0.ebuild
index 2fbf8b5c7294..f9b9a4d7b2d2 100644
--- a/dev-python/pytest-bdd/pytest-bdd-8.0.0.ebuild
+++ b/dev-python/pytest-bdd/pytest-bdd-8.0.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/gherkin-official[${PYTHON_USEDEP}]
diff --git a/dev-python/uv/uv-0.5.2.ebuild b/dev-python/uv/uv-0.5.2.ebuild
index e285fe268651..87f34119feb6 100644
--- a/dev-python/uv/uv-0.5.2.ebuild
+++ b/dev-python/uv/uv-0.5.2.ebuild
@@ -90,12 +90,6 @@ pkg_setup() {
src_prepare() {
default
- # remove patch.* that breaks GIT_CRATES
- local reqmw=${GIT_CRATES[reqwest-middleware]}
- reqmw=${reqmw#*;}
- reqmw=${reqmw%;*}
- sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-${reqmw}/reqwest-middleware\" }@" Cargo.toml || die
-
# enable system libraries where supported
export ZSTD_SYS_USE_PKG_CONFIG=1
# TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?