diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-12-20 18:51:13 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-12-20 18:51:13 +0000 |
| commit | 93c2eb592a687aeb5e106a73d67b4bcd632214bf (patch) | |
| tree | 0985bac1bcdc0a3dfe345b387369643b8ee348be /dev-python | |
| parent | 2d1a6e9b4457a150b8bb03fc6475ba7346f7bcaf (diff) | |
| download | baldeagleos-repo-93c2eb592a687aeb5e106a73d67b4bcd632214bf.tar.gz baldeagleos-repo-93c2eb592a687aeb5e106a73d67b4bcd632214bf.tar.xz baldeagleos-repo-93c2eb592a687aeb5e106a73d67b4bcd632214bf.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
57 files changed, 2160 insertions, 403 deletions
diff --git a/dev-python/bibtexparser/Manifest b/dev-python/bibtexparser/Manifest index a1b3291cecb1..64b204058909 100644 --- a/dev-python/bibtexparser/Manifest +++ b/dev-python/bibtexparser/Manifest @@ -1,2 +1,3 @@ DIST bibtexparser-1.4.1.gh.tar.gz 97146 BLAKE2B 8040532fe2153ff6ec664631a11b4f61548f99198c565bb554d0fe09d1fa54ee368c08be72bf7e86c5b6ca696deb0210496d4772243a05c5c9b28d73f52e6dc5 SHA512 f8e8f911eac38e98362bbbeff5b4af986e426911db9c54e93ec4a4eee1b1ceed630222c1a51454639566a6b5bad60c86a70b882a1c05084927fcbe7315e837ce DIST bibtexparser-1.4.2.gh.tar.gz 81042 BLAKE2B 4522e46c371ae66af933ff6edc3cf1ce37336597c815facd8bbc62cc5b976c66bce45563af18f15a62c5ddf8ddda1bfbfa986eb16f21544aafaef3e22883cf4d SHA512 7aa58cb50c42773b8ae6d0448f817e83cc7445b8e65806430df17f9956219f440116cb227825da3423b40a5815921d1e42e407b236f6e917b3713eee5b8a989b +DIST bibtexparser-1.4.3.gh.tar.gz 97163 BLAKE2B 6eb8a0aa115d6dc824fd2da1d1d0ddd05d0a61778770ba6a58d1933040d0fbc8a18e45ce1e3fea346959ac9c3cd21ff4cf0541a108b674e96d56b68c2c37de90 SHA512 b3ba1973e3288af4fed5b91385e427558f95f1c08de59c2af0eea393d72c06ac981d907f6328007bc6d135dce768ce24c65460ae522ae6482f75f6cdec52b987 diff --git a/dev-python/bibtexparser/bibtexparser-1.4.3.ebuild b/dev-python/bibtexparser/bibtexparser-1.4.3.ebuild new file mode 100644 index 000000000000..1ad87eca9a1c --- /dev/null +++ b/dev-python/bibtexparser/bibtexparser-1.4.3.ebuild @@ -0,0 +1,30 @@ +# 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} ) + +inherit distutils-r1 + +DESCRIPTION="A BibTeX parser written in Python" +HOMEPAGE=" + https://github.com/sciunto-org/python-bibtexparser/ + https://pypi.org/project/bibtexparser/ +" +SRC_URI=" + https://github.com/sciunto-org/python-bibtexparser/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/python-${P}" + +LICENSE="|| ( BSD LGPL-3 )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + dev-python/pyparsing[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 6735cd03dc9d..b1df0df7c1f7 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -4,3 +4,4 @@ DIST boto3-1.35.81.gh.tar.gz 913534 BLAKE2B aab88ae95d4c93c8f54042ef2b3ec9defdaf DIST boto3-1.35.82.gh.tar.gz 914286 BLAKE2B e2d9daaad1e89534de2fe44e107c0c49b4699ae3e69b2d67d121f97fe69ad15601333d5b9da34afd81b5f67b1fe0d1ae7b7cf982c11508597f08bca26960ef04 SHA512 23913c072c5c375be558dfe67fda2d70539a5816b9ac611ed3c11cc6cfb41372c64ad81e324f74053254e2b0996cc695e4df917b8e5a98519530defeb8f94139 DIST boto3-1.35.83.gh.tar.gz 915295 BLAKE2B ea2f3f5c233a9f6c718bd3aa15ce5cf3c28a839f5227c6cd81b3979618d1a5c2893fcb3e05512d632f74c2eeef48713abd430d8c896ed50892f2ca9a7da2629f SHA512 57a883a0d726c32d40f0278561e0616e2f22428bde9bbe1906bb15924171258019549aad1bdbf42042d6b7fa847b99e5ba1f4be0066a720455228b4685040e84 DIST boto3-1.35.84.gh.tar.gz 916194 BLAKE2B 7a6a5f0d3a09ab06ebfdb8b61e3752194d22fab9fe446d0cffed786266559c1619cfded9f566f3fbf20e12816304c8b09a83fa5ecf5e3c4260b498a294109e8a SHA512 a278e7b451b4adaeea7b63792c5c1ffa8d6dbe2cf4225770cf6371a55b66614b50b8d24478cda8380886172425c780ea08fc9182ee0997561fe626c01e0a774f +DIST boto3-1.35.85.gh.tar.gz 916781 BLAKE2B dc0149b60c15d42e4e4d951dfdf414d00babe413318ad5aa726c1f0eeb669625b9aff8b25a6d95dd938a9c6032da5871ff1ebc5142bf50a5a539393d09446673 SHA512 02cfcc7b0d913944352a944711a1d844f4101c2e6a1e826b14bf1548928f06962d708f002d7fd3c6bbc42a9cf6134ccfffdd15764d81255c94a30bc37f7ca78a diff --git a/dev-python/boto3/boto3-1.35.85.ebuild b/dev-python/boto3/boto3-1.35.85.ebuild new file mode 100644 index 000000000000..d91ce27598cf --- /dev/null +++ b/dev-python/boto3/boto3-1.35.85.ebuild @@ -0,0 +1,53 @@ +# 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} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}] +" + +EPYTEST_XDIST=1 +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() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index a066c6c01cda..bb86398a0bfa 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -4,3 +4,4 @@ DIST botocore-1.35.81.gh.tar.gz 14142565 BLAKE2B f0c5c284f5f0964841ab0f84f278fa5 DIST botocore-1.35.82.gh.tar.gz 14144970 BLAKE2B c1bd266383fb37b1a6059e7ebf08216810bcb10cedb8e7c0d60680025f91a28575a19b31419c429c0ca54b41bb25070a278823081525a301e20bc56a3bc12b4d SHA512 437fa1cdaf24566d72c501a474f6f1ee87d10b5d90123ddeced507955de377ff4b2c70f874d96634fe87d75b95332a44b254cb30019a07b64bf855f6c7b70ef6 DIST botocore-1.35.83.gh.tar.gz 14160834 BLAKE2B fc652d7da37d5d2e97b4ba60d03b58d8d1c6a17cf5c93729ce962bacdf5addb0bc183f5be74cba9f1eb2ad45667430363be3bc5dfdfc78b656eb1930892ed683 SHA512 c769d585051bbab793fd8bbd3036a988c41e7fd03624fe7650de0e781f7faefe418cbaf8b93a138ff8560f51c88106510bbc8f458de3450549d53b508589923a DIST botocore-1.35.84.gh.tar.gz 14167194 BLAKE2B f5b224cd2d55d639eb85f9b56effeb63b8427c1d1a970d8deabb1cd959ec28eeacba31563070c6da33d0eb8badf92928924281a57139107d0dd7e56619d9aa08 SHA512 dc8154336914e95465a758af038d42f8b15384d13210560074f995bba41c0f72c128e65ffbda752c5a6246687b54b8fa2ba119ad14c36ae91cc4f268e5319e62 +DIST botocore-1.35.85.gh.tar.gz 14170796 BLAKE2B 1524af88088c2223989375aca221539a30e4d78766459d1a5b76540655874fbb90ff02922631c666ec9d3f905b88aa986b77c3b34023bf1c61d00436caf8b104 SHA512 537825a16640069af087f7fed0d145d4f1760186a1e85ff37c0839f377b7267bee23b5aac1c423433175e571a3ef861cc5bce10b485800f71aab0f8f1d23b067 diff --git a/dev-python/botocore/botocore-1.35.85.ebuild b/dev-python/botocore/botocore-1.35.85.ebuild new file mode 100644 index 000000000000..7816e9efeb52 --- /dev/null +++ b/dev-python/botocore/botocore-1.35.85.ebuild @@ -0,0 +1,67 @@ +# 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} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +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 + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/browser-cookie3/Manifest b/dev-python/browser-cookie3/Manifest index 1734b39d6a4b..b46e67084303 100644 --- a/dev-python/browser-cookie3/Manifest +++ b/dev-python/browser-cookie3/Manifest @@ -1,2 +1,2 @@ -DIST browser-cookie3-0.18.1.tar.gz 16073 BLAKE2B 1520e53919105e796e9210bf00abd90889f7f10ffaec1bb749005c339556a5aaba4f5d465225b7afcaa4d61f775855029a99ce76a2c90fa16274c2a0e3d42be9 SHA512 673d3268473b45f12469ba86223d0de302f8f3e6282da318e8adb138848953982e1a59740dd90b3b63746f4c29c649abed9d4e06e5e89303931ba7a395732df5 DIST browser-cookie3-0.19.1.tar.gz 19969 BLAKE2B 61fe98572765cfc2fec87a709fae956a15cace076d0eb53c6412aca1cf3668ec3cfbca19be38ce19fb50d77bf45e4113b40518bbe6424c1f18f456192a84d177 SHA512 231179216c98f2fb6a9271fa90587ccdfaa09603889efda8445f526e71379c33de7b984542919b0c1ee8c27eb20a526239ccd79f2c03cb853284b5ebe715cf49 +DIST browser_cookie3-0.20.1.tar.gz 22665 BLAKE2B de14ac07994cf8de1a79da84087b76c09f756e783751b09994da77a087d62623c1915933272b40a9fb6cd5bd5ab66eef3648565447b499db00ad15880a390e11 SHA512 034bd5f6564cc3893c77eadbbd1666428b0c51eced4355697511b9f4acdcdfb5e985248288a1ce77f30e9ad2c8c7bb9009e570805a7089c714cb495f4debf38b diff --git a/dev-python/browser-cookie3/browser-cookie3-0.18.1.ebuild b/dev-python/browser-cookie3/browser-cookie3-0.20.1.ebuild index 2f98464d4076..7638c9c0615a 100644 --- a/dev-python/browser-cookie3/browser-cookie3-0.18.1.ebuild +++ b/dev-python/browser-cookie3/browser-cookie3-0.20.1.ebuild @@ -1,10 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 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_{9,10,11,12,13} ) inherit distutils-r1 pypi @@ -18,6 +17,9 @@ HOMEPAGE=" LICENSE="LGPL-3" SLOT="0" KEYWORDS="~amd64 ~x86" +# Tests require selenium, browsers, and are aimed for one-shot validation of +# cookie file format validation for documentation +RESTRICT="test" RDEPEND=" dev-python/dbus-python[${PYTHON_USEDEP}] @@ -28,7 +30,7 @@ RDEPEND=" python_prepare_all() { # make cryptodome-friendly sed -i -e 's:pycryptodomex:pycryptodome:' setup.py || die - sed -i -e 's:Cryptodome:Crypto:g' __init__.py || die + sed -i -e 's:Cryptodome:Crypto:g' browser_cookie3/__init__.py || die distutils-r1_python_prepare_all } diff --git a/dev-python/cysignals/Manifest b/dev-python/cysignals/Manifest index b123cc613468..f849a71e782c 100644 --- a/dev-python/cysignals/Manifest +++ b/dev-python/cysignals/Manifest @@ -1,2 +1,3 @@ DIST cysignals-1.11.4.tar.gz 105100 BLAKE2B c21c5cae69332885dd4b9f13d0fbe9ab836466dd699f0d51908d129107ce4922f4076fafa8dce3650983fd69d25182464f9831545a8da3535699d36d198ec6a7 SHA512 b083a62bcca71634cdd21ca6c8d1363e7754ed97d6f2ad0280b0ae97fdf1264be3dc202acf67added4c12a0815420d9641269da1212b83472ea304883d3b85ab DIST cysignals-1.12.0.tar.gz 65857 BLAKE2B 4a9bb56c8491814480a9deae053eb13574b480245418c743b1a99cc4fbe4c784c35e8518707cd6ced22174f032444e38daee16ab933b044f8942da2d1c47cfab SHA512 c4575f9d07f4d4c1c27a2e953b12693758babe79000fe62e2423ae484695f0ee813ebc2868ec74aa6c2c4e85d074c3a0db1524ad4ca58e1250fd1d4ca8386692 +DIST cysignals-1.12.2.tar.gz 65828 BLAKE2B dff532fb0c95abe53331082c88f79edd3a7136501c2015272d83e0a5d29b51e26c007b06f3e4ead42eaa306c1219ccc207827dc58ff954514ebd7fdc47dd2d02 SHA512 9cbf3eb4a11724949f513b4409d136b0890f987f9a5d3c3324b12bddd85eb7226dd793a5b2ec383e9ee46fa59e55f9ca19b0fb4c02e0b6eab46e01607668a8cb diff --git a/dev-python/cysignals/cysignals-1.12.2.ebuild b/dev-python/cysignals/cysignals-1.12.2.ebuild new file mode 100644 index 000000000000..8a125f4d7118 --- /dev/null +++ b/dev-python/cysignals/cysignals-1.12.2.ebuild @@ -0,0 +1,32 @@ +# 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} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Interrupt and signal handling for Cython" +HOMEPAGE=" + https://github.com/sagemath/cysignals/ + https://pypi.org/project/cysignals/ +" + +# setup.py has "or later" +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~riscv" + +BDEPEND=" + >=dev-python/cython-3.0.0[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/dns-lexicon/Manifest b/dev-python/dns-lexicon/Manifest index cab7f7577ae3..14d284cf3334 100644 --- a/dev-python/dns-lexicon/Manifest +++ b/dev-python/dns-lexicon/Manifest @@ -1,2 +1,3 @@ DIST dns-lexicon-3.19.0.gh.tar.gz 6273456 BLAKE2B e0c47e8657b6c2724b50423359200cadac52434a31cbfd9c628ee5dd5cc3cd8779f4b51bb7522a308df90489f30aeec0a0ee44dcc850e5766d0f6b7d25b617f6 SHA512 4efc8864f073ca895a78eeedaf091f8b19df497caa9d8f759d051ac6e91c34e0798b0f7440cad601da62e4115a9abb596660255a8b02096959bd50411d5768be DIST dns-lexicon-3.20.0.gh.tar.gz 6274333 BLAKE2B 98b9161b5eac26fcf41b7c3930a488f76a5be4a18303ab4fb13d66038b860d1ed7dc6d5e651630384aefa168bfe03ddba1be5da04e3d453be269b131d283d9b1 SHA512 80e1944687bed648ac70825ceb13098441d8937b362008f16a7eaebcc3c4a84ea15584ae5c6c31b88a08c503cfb5ed0e9f873192e6c0ba126dffd9b95576b681 +DIST dns-lexicon-3.20.1.gh.tar.gz 6275134 BLAKE2B 28d09b849891081f01150a25559625cbf2cfcccba5d8be36c8cb3ad5fa9c440a7d1b7f31a114edc5738ad337fba4cd520bbe85ce6753dfd9ca8855eb2aeab9e2 SHA512 98a29bc67596e58ada43373fd1dfa2a5c35512dd33924969df0d16c10cf2e53cf2bc564488c9f7a1b682b63a7959cd2073207a8d77435aa62a04f408024d85fd diff --git a/dev-python/dns-lexicon/dns-lexicon-3.20.1.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.20.1.ebuild new file mode 100644 index 000000000000..dcfc5da3bdc8 --- /dev/null +++ b/dev-python/dns-lexicon/dns-lexicon-3.20.1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Manipulate DNS records on various DNS providers in a standardized/agnostic way" +HOMEPAGE=" + https://github.com/dns-lexicon/dns-lexicon/ + https://pypi.org/project/dns-lexicon/ +" +SRC_URI=" + https://github.com/dns-lexicon/dns-lexicon/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + >=dev-python/beautifulsoup4-4[${PYTHON_USEDEP}] + >=dev-python/cryptography-2[${PYTHON_USEDEP}] + >=dev-python/dnspython-2[${PYTHON_USEDEP}] + >=dev-python/pyotp-2[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3[${PYTHON_USEDEP}] + >=dev-python/requests-2[${PYTHON_USEDEP}] + >=dev-python/tldextract-2[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/boto3-1.28[${PYTHON_USEDEP}] + >=dev-python/zeep-3[${PYTHON_USEDEP}] + dev-python/vcrpy[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # TODO + tests/test_client.py::test_client_init_when_missing_action_should_fail + tests/providers/test_godaddy.py::GoDaddyProviderTests +) + +EPYTEST_IGNORE=( + # Requires the "localzone" module + tests/providers/test_localzone.py + # Requires the "softlayer" module + tests/providers/test_softlayer.py + # Requires the "transip" module + tests/providers/test_transip.py + # Requires the "oci" module + tests/providers/test_oci.py + # Uses tldextract which needs Internet access to download its database + tests/providers/test_auto.py +) + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + optfeature_header \ + "Install the following packages to enable support for additional DNS providers:" + optfeature Gransy dev-python/zeep + optfeature Route53 dev-python/boto3 + optfeature DDNS dev-python/dnspython + fi +} diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest index e381e8c21787..79727f1e9a10 100644 --- a/dev-python/dulwich/Manifest +++ b/dev-python/dulwich/Manifest @@ -1,19 +1,26 @@ DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff DIST dulwich-0.22.6.tar.gz 450726 BLAKE2B b051b85482121672c83c928ec1dbc914f879bffd83ad9a37dc582afa43ae0c3dcd71050fb21729a263292117609b62911086dc25610803173f8c9398fcb37020 SHA512 3d71b9ba1bfd1d10cdddce0140e2571e2321efa3c8bd420caa0632fa087cd318bdfcd00b53b0ef3394077c83ef9ee85e06d3467461465e4efccf9bd560365df5 +DIST dulwich-0.22.7.tar.gz 452893 BLAKE2B 4ed0a1dbe4a91988a05f3d42559b817547595e3c32bd41d3e0f880459a52851b53bb0db1e5a41e5672027887ac7bb7fb196d358fa6831909e5b417e6061905ea SHA512 ac3acf66aca5972e727c32b58bb2d0ac256eeb1e90ce2f3b30f84324e75390950c27de9dd51f442185797ebec66e9fbd4561ba417ca2e3354011453adab9c96f DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f DIST libc-0.2.162.crate 769354 BLAKE2B 3bac6124db801cdcd6918ccd86e84c99cced45c44dba11f198ec5852354942db511966fc85347d2ce4c8ff82c89eef2c47016766b2f6ffbea20d99c1deab4ead SHA512 f43e294d587e7cd9c2da9b67be83fc70801ea66c318342cf1e11556566ecc1c8a612925770d85c75af1e887b425f326fac59229b78877d2377092243ea8e6a99 +DIST libc-0.2.164.crate 769055 BLAKE2B cfb757ea04ec8ad6d6a0dff92cbedd626aa4932cd83d67d19ac51cc140f9aeb54b38b488796c4a0e722f7bceaf54c4807a32ec0560bae4840a82fc1c4a5151ab SHA512 614835ee7388c854cacdc179b5700b7de0c696ec0eebca2b997f1039157f737fa79e208832a46f2fa27fcedb6fe7a27faf26079f06ee0e679b6f35d4a5371e3f DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8 DIST portable-atomic-1.9.0.crate 166365 BLAKE2B 9abc31364770923847dac16f532452bc8783a5068c0f757f79122bc5b68863b58c0acfa12d28836188413c2f0b61d494cb53fa07a57e199ecd4910a2534c5bb3 SHA512 1431a4c092f6a0cb50bcc78488d603c8ba8f4ee697f77fdcfcce7002fcb371f52a321089422c76564fbf3277c48e30f889565747951c60360d95a6917bb6adeb DIST proc-macro2-1.0.89.crate 49446 BLAKE2B 844c021394e7a2551bc179592a6769d672360150abf92debcb9ac60a94a2e426c48c408f06aeb2128686f5f04d66dc12973714670c21a5063ee6b9f3bae4e671 SHA512 488ab38a04df1d0330309382a7e4f667238cbc9b4d513da6a8f5718f8a762f76cc122af67fefe8f4b021a286b3d23e3ec83d781fe6ac823042a6daf14d147e2f DIST pyo3-0.23.0.crate 1072538 BLAKE2B 9eaf6a6aa88ae643197cae9bcd591778b6d8925e46808e0c995e4ca0b34de2f206b44ac6009ce52a65525a85f24c9dc14bd69806391138578d0dac7d18ee25b4 SHA512 01c8724b28b0e7882e387c93151a7261a0b265aad47aaaaf2356ce4db9568602cb11e0f107444eddb0d2557f334339d7b42d92164f3ecb02015af6ca3c29a6ba +DIST pyo3-0.23.3.crate 1073838 BLAKE2B 5e1ce6a5c5232ebf0399b1b969e737cca12f978f445efec9408ea80b8bc6ac1047125dbefa36149c8a904882d6a64dd24a9bd50f1e8de7afe3a3271e1a0f2d6f SHA512 c80377e8673de8b8e51e2423d102dbcc46605a783c13127215916d69fc600efd67ba5f9cca420cb6859124165ec97fde40eb0a0566d8b4b60708e20b8e6e9b6d DIST pyo3-build-config-0.23.0.crate 31756 BLAKE2B 0371909fcec57ccd8f1acea9e132da013150a1b76835989bd2832cdba58ebabf18ffdf229a241366399bc10a63834bd09c9e02872de5b1f2aaa7b14e3acce61f SHA512 488527e26c07ff05bd23ab458d06ca851e62b0bd5f1616cd4b313ba0897b156859231209469ea2f7e4a4aa907066665a7adbc85472abb789dc92da6adb7d5d94 +DIST pyo3-build-config-0.23.3.crate 32509 BLAKE2B 9e77701712589dec4ad74b3d0e66ae82c7a01b6f29ed36231d999aaf909f80def59d17916e1900bfff10b1d36a0a48ed4bf9757c817eb6c6269549f3d04bd6d4 SHA512 db8b0aa86e96eeb30a8ab36a8a1ba917b7b9e6918c2193d7466841ef38e689908f7719a5390d35fb9a156aa6bd84348fa99ea8d5a784faf5c5cc4635d9a3fac9 DIST pyo3-ffi-0.23.0.crate 73989 BLAKE2B 792e14d43bcefaa3c5305a8d5938c574cbd50395d573a9af8323e7c6ce81c7c00ae5d637e80ed9c2b450994ce35ae5630ecd7212b0cb76a1f38a0c17378841df SHA512 e28be29015724247b844912e6bcfcd21d6b17d5f31d80e2d6e9d21ff7f3038ee975a03c0ae7aac05ad2a624282e90b99f06177a09ddff623ab95bba980faeb03 +DIST pyo3-ffi-0.23.3.crate 74064 BLAKE2B ec3cc59e047f780041a05e2bf9fac9d65a6f8ccfb5a3e1c35d7c7918da6ded7e65676888a743d3b4d0fe7b0996e441b722c159eed67360c1e3c5b598160a46cc SHA512 fe4678d4cfe81f065554f0d454345f5f8fde927af1afec9212bb49a67be5080dcc9be84e088612208b7732d2283c2c9168a31b0b6fbd32496520d500e372e161 DIST pyo3-macros-0.23.0.crate 8064 BLAKE2B d7b97774c1d54787b3aeb9d5c23847c6e42069fe114c964d608495747a29b8529df0c019944395303336aec17b04b9727cdc1aa8771dfad4ffcfb901c67a213f SHA512 da40d548a039c77158b860922aece8ea35fdb6d46da8b71284a39ae3b76094f85eb133ba7cc68ef7b5d160530eb460da92c004c88985223af8341669986531f5 +DIST pyo3-macros-0.23.3.crate 8085 BLAKE2B bf9ea45a8afe7c663da4f3f5c09c23039bbcf9a9ae350eac2b6581a227864d259b1e5c5ea36f9d6f302c26cd957bb4564562b98785eac49233515d7d54453fdf SHA512 23bfcff285db1276f2dcca9895f7672ec6e5aec118039e2cef3cabca0a85eb97f138391cea4da26eb887dff09c65947b165ca83392edcc8640cb283df2929901 DIST pyo3-macros-backend-0.23.0.crate 70119 BLAKE2B aba55954140ce497c0c6e046178a3f5b4a2de3830cf841fff2d192f3b29422863ab6ce039049a431ba0c84de44d4ab652301120b7e59549171c245415e11fd4c SHA512 91ea6b6647e626320ece44c1c8fff10f9730bcd328826fe3bbda88e8b0c8cd364fade7ad4684dae4abd242bbfbdbdd0e23e9efd72eb6e3ecbeff62fd431a2765 +DIST pyo3-macros-backend-0.23.3.crate 70098 BLAKE2B f8ee9c39f743960fc8093bfd53c043fca03b973192e1ab24b48066634e57ea7e74b3ba825ae72380e10569855eec9cb4f0d54f5f8c88dc60e67793257bef8d43 SHA512 9b22e975480f9afc2037587ba85889868a1b543069c2280c65f4cf98e5537708d098bb4885e881c1c9427740c8259988d82176b974900551a4e51097cefb8708 DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05 DIST syn-2.0.87.crate 278076 BLAKE2B 93385f64103fdb482bec34c7912474ae7a5935948715e6eb9a54907e0db5c39f089f6cd393bab33c935c59a1bbb0f4099431f206343811c1a450554d96a35756 SHA512 bcfff545d6dfefd81e09f8f30a86bdd85759b3a7d4093ef3365ed02718e10dbd604c52b94c9d7fa955d339fdc5b6c079940c6f345b5a48c52b5c8607794ca6f2 DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27 diff --git a/dev-python/dulwich/dulwich-0.22.7.ebuild b/dev-python/dulwich/dulwich-0.22.7.ebuild new file mode 100644 index 000000000000..e16d9971f0b4 --- /dev/null +++ b/dev-python/dulwich/dulwich-0.22.7.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=1 +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +CRATES=" + autocfg@1.4.0 + cfg-if@1.0.0 + heck@0.5.0 + indoc@2.0.5 + libc@0.2.164 + memchr@2.7.4 + memoffset@0.9.1 + once_cell@1.20.2 + portable-atomic@1.9.0 + proc-macro2@1.0.89 + pyo3-build-config@0.23.3 + pyo3-ffi@0.23.3 + pyo3-macros-backend@0.23.3 + pyo3-macros@0.23.3 + pyo3@0.23.3 + quote@1.0.37 + syn@2.0.87 + target-lexicon@0.12.16 + unicode-ident@1.0.13 + unindent@0.2.3 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Pure-Python implementation of the Git file formats and protocols" +HOMEPAGE=" + https://github.com/jelmer/dulwich/ + https://pypi.org/project/dulwich/ +" +SRC_URI+=" + native-extensions? ( + ${CARGO_CRATE_URIS} + ) +" + +LICENSE="GPL-2+ Apache-2.0" +LICENSE+=" native-extensions? (" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" +LICENSE+=" )" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="doc examples +native-extensions test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/urllib3-1.25[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + ${RUST_DEPEND} + dev-python/setuptools-rust[${PYTHON_USEDEP}] + ) + test? ( + ${RDEPEND} + app-crypt/gpgme[python,${PYTHON_USEDEP}] + dev-python/fastimport[${PYTHON_USEDEP}] + ) +" + +distutils_enable_sphinx docs + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/dulwich/_.*.so" + +pkg_setup() { + # avoid rust_pkg_setup which will die when there's no Rust found + if use native-extensions ; then + rust_pkg_setup # implicitly inherited through cargo + fi +} + +src_unpack() { + cargo_src_unpack +} + +python_compile() { + unset PURE + # TODO: enable Rust extensions + if ! use native-extensions; then + local -x PURE=1 + fi + + distutils-r1_python_compile +} + +python_test() { + # remove interference from the tests that do stuff like user.name + unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE + unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE + unset EMAIL + # Do not use make check which rebuilds the extension and uses -Werror, + # causing unexpected failures. + "${EPYTHON}" -m unittest -v tests.test_suite || + die "tests failed with ${EPYTHON}" +} + +python_install_all() { + if use examples; then + docompress -x "/usr/share/doc/${PF}/examples" + dodoc -r examples + fi + distutils-r1_python_install_all +} diff --git a/dev-python/elastic-transport/elastic-transport-8.15.1.ebuild b/dev-python/elastic-transport/elastic-transport-8.15.1.ebuild index f077c8943766..a8e9a83d346d 100644 --- a/dev-python/elastic-transport/elastic-transport-8.15.1.ebuild +++ b/dev-python/elastic-transport/elastic-transport-8.15.1.ebuild @@ -53,9 +53,10 @@ distutils_enable_tests pytest python_test() { local EPYTEST_DESELECT=( - # Fails in upstream CI as well as of 8.13.1 - # https://github.com/elastic/elastic-transport-python/commit/39488817cd5da824101322e40652d17938f0acac - tests/node/test_tls_versions.py::test_unsupported_tls_versions[https://tls-v1-2.badssl.com:1012-772-RequestsHttpNode] + # >=aiohttp-3.11 throws DeprecationWarning which cannot be filtered for this test + # https://github.com/aio-libs/aiohttp/pull/9726 + # https://github.com/elastic/elastic-transport-python/pull/61 + tests/async_/test_httpserver.py::test_simple_request # fragile to random warnings tests/node/test_http_aiohttp.py::TestAiohttpHttpNode::test_uses_https_if_verify_certs_is_off tests/node/test_urllib3_chain_certs.py::test_assert_fingerprint_in_cert_chain diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest index b37e547688d6..1b3565202075 100644 --- a/dev-python/fsspec/Manifest +++ b/dev-python/fsspec/Manifest @@ -1 +1,2 @@ DIST filesystem_spec-2024.10.0.gh.tar.gz 415286 BLAKE2B 59e8a1457c528c350ef49da546ee8e15dc27031dde3c5b2ae4c97a7ec0a392010c8d1558c4a6569be07aebc272add9629c6e8e7fc7e392259bb5f72b47b65a3c SHA512 46542e494044e40110c3da879ec620daca15e3a18e3e0a318f0c98f18a08aa7c319fffdf396527e920f6bc5f17fbec5e4c2030ed6a9b8853720e513165dbc56d +DIST filesystem_spec-2024.12.0.gh.tar.gz 421670 BLAKE2B f6e6f2b478f89c9fbad6822149dc9a2b868fd2fee6edfbd532471b23d49248360170323e9454cc803c4096e62d8957e4ecaf1062bce3cdce005b39af94fdf52c SHA512 9e506da2c81a603350ecea7745b98fa38727bd0f176dc587dd570cab0e27650cd77ac061dce190d6b6372bb5dc4d5a0f3beb59b831a11a1392e178e6c94ab872 diff --git a/dev-python/fsspec/fsspec-2024.12.0.ebuild b/dev-python/fsspec/fsspec-2024.12.0.ebuild new file mode 100644 index 000000000000..fdcfc0700d79 --- /dev/null +++ b/dev-python/fsspec/fsspec-2024.12.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +MY_P=filesystem_spec-${PV} +DESCRIPTION="A specification that python filesystems should adhere to" +HOMEPAGE=" + https://github.com/fsspec/filesystem_spec/ + https://pypi.org/project/fsspec/ +" +# upstream removed tests in 2024.6.0 +SRC_URI=" + https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/tqdm[${PYTHON_USEDEP}] + dev-vcs/git + ) +" + +# Note: this package is not xdist-friendly +distutils_enable_tests pytest + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + +src_test() { + git config --global user.email "you@example.com" || die + git config --global user.name "Your Name" || die + distutils-r1_src_test +} + +python_test() { + local EPYTEST_DESELECT=( + # Internet + fsspec/implementations/tests/test_reference.py::test_async_cat_file_ranges + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p asyncio -p pytest_mock -o tmp_path_retention_policy=all +} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 7a5843b1b4c5..bbf49d0a8a7c 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -1,3 +1,4 @@ DIST hypothesis-6.119.4.gh.tar.gz 9490666 BLAKE2B 99a45054b90026317bca165915b2ffe3b3abfa03a98efc6181bd64f6ca851f9a90e4ba1b41ba4f3b2181de02818a91367f1c29523b78bca303da4eea31db1284 SHA512 003b01fd3e1e4ae2ea68f72b80063928dd56a069fdf8b6ffc73f6ffb3db4b048523564bd616d604d04a3ea55b19c01940ad7ba60bf1e88c54e29359ca0e397db DIST hypothesis-6.122.1.gh.tar.gz 9492677 BLAKE2B 66f89d2388cb34e5df95bc73af69259c8460b0508b14b07b99d749443be44f0c43b20bfb1d2edddf844e97f18b20e98ceade1dc66d08ecfc8403fdb6f9a461dd SHA512 27e3fca0510cc4267f3ec4df112937fc1e06331d1498f0db1815912a6eaacd3fcb07705aed84db1f03212dae3bd3d4902071070c81694f9ae2df1a03d4964c14 DIST hypothesis-6.122.3.gh.tar.gz 9495681 BLAKE2B af743d0486d31590639216e60901eb7ee376dfcce18a9e130ea5061788d9c9d66f1ebcec23f144d41652581e50c30903aa9d697e304cfe05259c454c344f02e0 SHA512 8776f603682a3ef7c36bc47f6e36b64b0e01c37f4db80fe78d492a3e4d347b4ec1d9c87e6999069d2cb4b5ac7d33e0d1258055b679fcacc6812b256e6398f043 +DIST hypothesis-6.122.4.gh.tar.gz 9495842 BLAKE2B 4a17e7096a1c86a13851af3d905839c53e0b8b15685a84bad9fbde5d74679e1153bcfe8dae6780bdaabcb3242990f4cd29d4eaf29f564eda4c09c01b4fdd5f98 SHA512 4828b35ca3c9a601303eb671e322d1c81afe079d0eb04d5518397310e5ee15a1e0bdc5c3fb252c34de8a5ad931992974a9bbe136ebebd10c26a52096febdda31 diff --git a/dev-python/hypothesis/hypothesis-6.122.4.ebuild b/dev-python/hypothesis/hypothesis-6.122.4.ebuild new file mode 100644 index 000000000000..7d8a0e518f7a --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.122.4.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( pypy3 python3_{10..13} ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 optfeature + +TAG=hypothesis-python-${PV} +MY_P=hypothesis-${TAG} +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}/hypothesis-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}] + ' 3.9 3.10) + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + # subtests are broken by warnings from random plugins + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin + local -x HYPOTHESIS_NO_PLUGINS=1 + + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + # failing due to warnings from numpy/cython + hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture + ) + ;; + esac + + epytest -o filterwarnings= -p rerunfailures --reruns=5 \ + tests/cover tests/pytest tests/quality +} + +src_install() { + local HAD_CLI= + + distutils-r1_src_install + + if [[ ! ${HAD_CLI} ]]; then + rm -r "${ED}/usr/bin" || die + fi +} + +python_install() { + distutils-r1_python_install + if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + HAD_CLI=1 + else + rm -r "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/nbclient/Manifest b/dev-python/nbclient/Manifest index 3e4ec03db473..5b3b712292a9 100644 --- a/dev-python/nbclient/Manifest +++ b/dev-python/nbclient/Manifest @@ -1 +1,2 @@ DIST nbclient-0.10.1.tar.gz 62273 BLAKE2B 0a268e4078af3807b6795d5b6dbbc572628d891d42f4ddeed3decd06d471cad59ab903e652be6a7f1e00a07cea3745cd989c62674e937934a6a696dfd24eefa4 SHA512 8c5b52aa367f255669fa7ad248d45292dd0e3589e23e381027a093c9fc57280eb296f453c2bfc3c57969056846a0caba81e57feaad1768e70aff006df4b85324 +DIST nbclient-0.10.2.tar.gz 62424 BLAKE2B f0efae4b3eed70f04f3d0cc830ef4cc47ed98b93785c6048103b62aff9537eaeebc0ad54a513c142c3d76c64d093c9bac3003608c6510b719d9b5de7b67ad463 SHA512 e19e58950822711af8588fdb7a24c1df028c77c2e128023494335973ff28f524478637c491b16329c38edb2ff7714632d4216e6483bb9aa79e2b393e3de72be8 diff --git a/dev-python/nbclient/nbclient-0.10.2.ebuild b/dev-python/nbclient/nbclient-0.10.2.ebuild new file mode 100644 index 000000000000..2ecee2afe161 --- /dev/null +++ b/dev-python/nbclient/nbclient-0.10.2.ebuild @@ -0,0 +1,53 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="A client library for executing Jupyter notebooks" +HOMEPAGE=" + https://nbclient.readthedocs.io/en/latest/ + https://github.com/jupyter/nbclient/ + https://pypi.org/project/nbclient/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/jupyter-client-6.1.12[${PYTHON_USEDEP}] + >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}] + >=dev-python/nbformat-5.0[${PYTHON_USEDEP}] + >=dev-python/traitlets-5.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/ipython[${PYTHON_USEDEP}] + >=dev-python/ipykernel-6.19.3[${PYTHON_USEDEP}] + dev-python/ipywidgets[${PYTHON_USEDEP}] + >=dev-python/nbconvert-7.1.0[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/testpath[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # hangs? + 'tests/test_client.py::test_run_all_notebooks[Interrupt.ipynb-opts6]' + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p asyncio -p rerunfailures --reruns=3 +} diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest index 8ada86ffdcb2..b6e6f3544f60 100644 --- a/dev-python/pdm/Manifest +++ b/dev-python/pdm/Manifest @@ -1,3 +1,4 @@ DIST pdm-2.20.1.tar.gz 2642376 BLAKE2B d24d889d75b06deb7595a7a0691ba21e9af15013372481147ddf1c6a19a13bb398af786cbc38877b29380f162a7923848aaf9d9b6f258dcd22ad80a96ad96ab8 SHA512 f9a164c521f943a89c8eb4792d249b06114b26e5c87022feb0d1bc24ca8ef56085da07e8b0dd9033b3c6e7d0e0ff1d3cb52bf8a69a2ef1e211cdb3c29eeb24b8 DIST pdm-2.21.0.tar.gz 2643561 BLAKE2B 3fc921c5863749c762163b290a4c9db8593145f509309dfe3437444e509e11c4727510d862e5f8676755191429c0b5cd73afd98104056497a3095acb6d0ee488 SHA512 2e83eab81d85c91249841add97a1d985ac91a0fba42b7b695a23afa785d67c04879a2513a686243fd68e5eec642175b97ef7e36fccbe8d8a160a6d42b8c5318b DIST pdm-2.22.0.tar.gz 2645896 BLAKE2B 96cb47299ac52f374bc3e6e22f28d79b3cd0536055292e68f2f76c2f6ef855abbc4840c1a500c43dca02d10fa964bf3595512536855792175817ddf0d4f9ed14 SHA512 5f27a070fce875b3fd9af30ee9cfab1c31f4310bb9e299a11d00beba77e02dfd6346496ac385aaf5ae3f43b96cae91ef97f46766071696834c8a8714fff5bb4f +DIST pdm-2.22.1.tar.gz 2645872 BLAKE2B 3bb614a02cea489b6698160a7aaed3623199dc62ed3c5055d33ca084639d03fa0f4d380cf6e41fcb812e93c5606c6571250d17c85271c2f81daabfaec8224190 SHA512 335fc2eecbe3c6a63d5f4cf277a1ef6898c40190441da84282662ddd9ac45646b156544b056155bc6bfe6e0d4c4c6a454524fffb564394083eb77207db0ee414 diff --git a/dev-python/pdm/pdm-2.22.1.ebuild b/dev-python/pdm/pdm-2.22.1.ebuild new file mode 100644 index 000000000000..3be473629b2c --- /dev/null +++ b/dev-python/pdm/pdm-2.22.1.ebuild @@ -0,0 +1,132 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm-backend +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python package and dependency manager supporting the latest PEP standards" +HOMEPAGE=" + https://pdm-project.org/ + https://github.com/pdm-project/pdm/ + https://pypi.org/project/pdm/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + dev-python/certifi[${PYTHON_USEDEP}] + >=dev-python/dep-logic-0.4.4[${PYTHON_USEDEP}] + <dev-python/findpython-1[${PYTHON_USEDEP}] + >=dev-python/findpython-0.6.0[${PYTHON_USEDEP}] + dev-python/blinker[${PYTHON_USEDEP}] + dev-python/filelock[${PYTHON_USEDEP}] + >=dev-python/hishel-0.0.32[${PYTHON_USEDEP}] + >=dev-python/httpcore-1.0.6[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/installer[${PYTHON_USEDEP}] + dev-python/msgpack[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/pbs-installer-2024.4.18[${PYTHON_USEDEP}] + dev-python/platformdirs[${PYTHON_USEDEP}] + dev-python/pyproject-hooks[${PYTHON_USEDEP}] + dev-python/python-dotenv[${PYTHON_USEDEP}] + >=dev-python/resolvelib-1.1[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + dev-python/shellingham[${PYTHON_USEDEP}] + dev-python/tomlkit[${PYTHON_USEDEP}] + >=dev-python/truststore-0.9[${PYTHON_USEDEP}] + >=dev-python/unearth-0.17.0[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/tomli[${PYTHON_USEDEP}] + ' 3.10) +" +BDEPEND=" + ${RDEPEND} + test? ( + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-httpserver[${PYTHON_USEDEP}] + dev-python/uv + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unpin deps + sed -i -e 's:,<[0-9.a]*::' pyproject.toml || die +} + +python_test() { + local EPYTEST_DESELECT=( + # Internet + 'tests/cli/test_build.py::test_build_with_no_isolation[False]' + tests/test_project.py::test_access_index_with_auth + "tests/test_project.py::test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[True]" + tests/cli/test_others.py::test_build_distributions + 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]' + 'tests/models/test_candidates.py::test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo]' + tests/models/test_candidates.py::test_find_candidates_from_find_links + tests/cli/test_build.py::test_build_single_module + tests/cli/test_build.py::test_build_single_module_with_readme + tests/cli/test_build.py::test_build_package + tests/cli/test_build.py::test_build_src_package + tests/cli/test_build.py::test_build_package_include + tests/cli/test_build.py::test_build_src_package_by_include + tests/cli/test_build.py::test_build_with_config_settings + tests/cli/test_build.py::test_cli_build_with_config_settings + tests/cli/test_build.py::test_build_ignoring_pip_environment + tests/cli/test_others.py::test_show_self_package + tests/cli/test_publish.py::test_publish_and_build_in_one_run + "tests/cli/test_hooks.py::test_hooks[build]" + "tests/cli/test_hooks.py::test_hooks[publish]" + "tests/cli/test_hooks.py::test_skip_option_from_signal[build-pre_build]" + "tests/cli/test_hooks.py::test_skip_option_from_signal[build-post_build]" + "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_publish]" + "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_build]" + "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_build]" + "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_publish]" + "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-build]" + "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-publish]" + "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-build]" + "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-publish]" + "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-build]" + "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-publish]" + "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-build]" + "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-publish]" + "tests/cli/test_venv.py::test_conda_backend_create[True]" + "tests/cli/test_venv.py::test_conda_backend_create[False]" + tests/cli/test_lock.py::test_lock_all_with_excluded_groups + 'tests/resolver/test_resolve.py::test_resolve_local_artifacts[sdist]' + 'tests/resolver/test_resolve.py::test_resolve_two_extras_from_the_same_package' + 'tests/resolver/test_resolve.py::test_resolve_file_req_with_prerelease' + # hangs on interactive keyring prompts + tests/cli/test_config.py::test_repository_overwrite_default + tests/cli/test_config.py::test_hide_password_in_output_repository + tests/cli/test_config.py::test_hide_password_in_output_pypi + # junk output, sigh + tests/cli/test_others.py::test_info_command_json + # why does it try to use python 2.7?! + tests/cli/test_run.py::test_import_another_sitecustomize + # fails in tinderbox (bug #928964) + tests/test_project.py::test_project_packages_path + # i guess doesn't expect some dep to be present + tests/cli/test_build.py::test_build_with_no_isolation + ) + [[ ${EPYTHON} != python3.10 ]] && EPYTEST_DESELECT+=( + # test seems hardcoded to 3.10 + tests/test_project.py::test_project_packages_path + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -m "not network and not integration and not path" \ + -p pytest_mock +} diff --git a/dev-python/psutil/Manifest b/dev-python/psutil/Manifest index 158caa1d8d70..1c533f933948 100644 --- a/dev-python/psutil/Manifest +++ b/dev-python/psutil/Manifest @@ -3,3 +3,4 @@ DIST psutil-5.9.8.tar.gz 503247 BLAKE2B 192812d9006b9eb1a856ff8d322e6cfb320462e5 DIST psutil-6.0.0-tests.patch.xz 3748 BLAKE2B 6e78418de8ee052e7e9f5d6bc74b8fc79e5216ed4d5fa8eb89532b19298955c388e158770b4af7b42fddc2a03b292e6d8ce9ed98c441179fb7c4a640014f2112 SHA512 3947337dbdddc29c85697d6140fc0fdcfb2b5ce7d84438e5763ad240ccd954e97fbf5dabf03ca17e959273a2c11794a41b2293434e85d2fe4d38d696c7de3900 DIST psutil-6.0.0.tar.gz 508067 BLAKE2B a4c80d1cead17ab73c99a25c4e1712cc2dd0b4220521d8dacafb905ab27393c49a8ee20790a89ebfc6c1d53779e98fe126c50f9299db1ab9a9c3df6d0a99ec48 SHA512 78ef1abe109c985ad3dd3865de5b4a7682fbad0085e5ca5bc1f2f90f03853775554b6c810cd54543cb7a1238efe345b3dcc9f5191270e03bc6a2f4088dd007ba DIST psutil-6.1.0.tar.gz 508565 BLAKE2B 2b5095613854c8e77e5e5ac8bb67b3d631bb29515c8d958e7cedb81a56c03d639663602f01337e191084f1511a6cb921a85394ecc8ac64af2270cf75cdc44262 SHA512 76865df4fdb2a9df45e47589b76b34d0d9d9251491091683e47b4509863e32e46dc62ee2f760b983f0f762b8288d1ea7f32268a6857c049ad12f399908e19c82 +DIST psutil-6.1.1.tar.gz 508502 BLAKE2B ebd8ee40cd86fdbc1ed70e192228889dbae74295ba5b17baa629ca8c3d05945b61ad4b02a836af30886bbf78d65de842cd25486c292ed5b727f37645c6bde93b SHA512 db8a2f4b0b451ca46aaa21b1faae03c4328b1effd04f240a7c8efc94a1c8ca7fc080fc6d16f6ca2046b9232ec43e447be0c414b125f8f511131dc6dff95bd72c diff --git a/dev-python/psutil/psutil-6.1.1.ebuild b/dev-python/psutil/psutil-6.1.1.ebuild new file mode 100644 index 000000000000..b68df58e1d2c --- /dev/null +++ b/dev-python/psutil/psutil-6.1.1.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2024 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_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Retrieve information on running processes and system utilization" +HOMEPAGE=" + https://github.com/giampaolo/psutil/ + https://pypi.org/project/psutil/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # hardcoded assumptions about the test environment + tests/test_linux.py::TestRootFsDeviceFinder::test_disk_partitions_mocked + tests/test_linux.py::TestSystemDiskPartitions::test_zfs_fs + tests/test_linux.py::TestSystemNetIfAddrs::test_ips + tests/test_posix.py::TestProcess::test_nice + tests/test_process.py::TestProcess::test_ionice_linux + tests/test_system.py::TestDiskAPIs::test_disk_partitions + + # mocking is broken + tests/test_linux.py::TestSensorsBattery::test_emulate_energy_full_0 + tests/test_linux.py::TestSensorsBattery::test_emulate_energy_full_not_avail + tests/test_linux.py::TestSensorsBattery::test_emulate_no_power + tests/test_linux.py::TestSensorsBattery::test_emulate_power_undetermined + + # doesn't like sandbox injecting itself + tests/test_process.py::TestProcess::test_weird_environ + + # extremely flaky + tests/test_linux.py::TestSystemVirtualMemoryAgainstFree::test_used + tests/test_linux.py::TestSystemVirtualMemoryAgainstVmstat::test_used + + # nproc --all is broken? + tests/test_linux.py::TestSystemCPUCountLogical::test_against_nproc + + # broken on some architectures + tests/test_linux.py::TestSystemCPUCountCores::test_method_2 + tests/test_linux.py::TestSystemCPUCountLogical::test_emulate_fallbacks + tests/test_linux.py::TestSystemCPUFrequency::test_emulate_use_cpuinfo + tests/test_linux.py::TestSystemCPUFrequency::test_emulate_use_second_file + tests/test_system.py::TestCpuAPIs::test_cpu_freq + tests/test_system.py::TestCpuAPIs::test_cpu_times_comparison + + # broken in some setups + tests/test_linux.py::TestMisc::test_issue_687 + tests/test_linux.py::TestProcessAgainstStatus::test_cpu_affinity + tests/test_linux.py::TestSystemCPUStats::test_interrupts + tests/test_posix.py::TestProcess::test_cmdline + tests/test_posix.py::TestProcess::test_name + tests/test_posix.py::TestSystemAPIs::test_users + tests/test_process.py::TestProcess::test_terminal + tests/test_unicode.py::TestFSAPIs::test_memory_maps + + # fails on all AT containers + tests/test_system.py::TestMiscAPIs::test_users + + # failing without /sys/class/power_supply? + tests/test_memleaks.py::TestModuleFunctionsLeaks::test_sensors_battery + tests/test_misc.py::TestMisc::test_serialization + ) + + # Since we are running in an environment a bit similar to CI, + # let's skip the tests that are disabled for CI + local -x TRAVIS=1 + local -x APPVEYOR=1 + local -x GITHUB_ACTIONS=1 + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + rm -rf psutil || die + epytest --pyargs psutil +} + +python_compile() { + # Force -j1 to avoid .o linking race conditions + local MAKEOPTS=-j1 + distutils-r1_python_compile +} diff --git a/dev-python/pyside6-tools/Manifest b/dev-python/pyside6-tools/Manifest index 8f53c5c18479..b92dd7da176e 100644 --- a/dev-python/pyside6-tools/Manifest +++ b/dev-python/pyside6-tools/Manifest @@ -1,2 +1,3 @@ +DIST pyside-pyside-setup-6.8.1.gh.tar.gz 18700869 BLAKE2B 5924f8ffc3e5a4f15442af9191b0531ee9f509595d41ae2759b94c2a7f8d7e08f4a70f9c7fff07f11c5252afb77084dc21ca3b22762d6c8dd66f4fca5944c9f2 SHA512 941844b1f6711859add828cbefe7c39497d45f0936f970f3050631294ed3bfe88d9d7b827a81d61ba3efbbf7920daef6ea6c28fa9c78f8e672d68b8bd3fbb2ad DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e DIST pyside-setup-everywhere-src-6.7.3.tar.xz 14591496 BLAKE2B dfe21f8d9af346e43720685982ee736974661059f83e7f22e59ef98d444d181a5f6235e41db4c40c83697401e45dbc4e8765e6351702d4f300d1c63e5789a4d5 SHA512 5e4292b9809df571e1aa3db7c1366973aecf5aaba6638c78d676413985a965aa23b694ba287bdc1d9b8dca59ac24b8229021db6f5a2b5818c929cbada7ef7491 diff --git a/dev-python/pyside6-tools/pyside6-tools-6.8.1.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.8.1.ebuild new file mode 100644 index 000000000000..2de6be843010 --- /dev/null +++ b/dev-python/pyside6-tools/pyside6-tools-6.8.1.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: Add PyPy once officially supported. See also: +# https://bugreports.qt.io/browse/PYSIDE-535 +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +LLVM_COMPAT=( {15..18} ) + +inherit cmake llvm-r1 python-r1 + +MY_PN=pyside-pyside-setup +MY_P=${MY_PN}-${PV} + +DESCRIPTION="PySide development tools (pyside6-lupdate with support for Python)" +HOMEPAGE="https://wiki.qt.io/PySide6" +SRC_URI="https://github.com/qtproject/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz" +S="${WORKDIR}/${MY_P}/sources/pyside-tools" + +LICENSE="GPL-2" +SLOT="6/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# Minimal supported version of Qt. +QT_PV="$(ver_cut 1-3)*:6" + +RDEPEND="${PYTHON_DEPS} + =dev-python/shiboken6-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}] + =dev-python/pyside6-${QT_PV}[quick,${PYTHON_USEDEP},${LLVM_USEDEP}] + !dev-python/pyside6-tools:0 +" +DEPEND="${RDEPEND} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') +" + +src_prepare() { + cmake_src_prepare + + python_copy_sources +} + +src_configure() { + pyside-tools_configure() { + local mycmakeargs=( + # If this is enabled cmake just makes copies of /lib64/qt6/bin/* + -DNO_QT_TOOLS=yes + ) + cmake_src_configure + } + + python_foreach_impl pyside-tools_configure +} + +src_compile() { + pyside-tools_compile() { + cmake_src_compile + } + + python_foreach_impl pyside-tools_compile +} + +src_install() { + pyside-tools_install() { + # This replicates the contents of the PySide6 pypi wheel + DESTDIR="${BUILD_DIR}" cmake_build install + cp __init__.py "${BUILD_DIR}/usr/bin" || die + rm -r "${BUILD_DIR}/usr/bin/qtpy2cpp_lib/tests" || die + python_moduleinto PySide6/scripts + python_domodule "${BUILD_DIR}/usr/bin/." + } + + python_foreach_impl pyside-tools_install + + einstalldocs +} diff --git a/dev-python/pyside6/Manifest b/dev-python/pyside6/Manifest index 8f53c5c18479..b92dd7da176e 100644 --- a/dev-python/pyside6/Manifest +++ b/dev-python/pyside6/Manifest @@ -1,2 +1,3 @@ +DIST pyside-pyside-setup-6.8.1.gh.tar.gz 18700869 BLAKE2B 5924f8ffc3e5a4f15442af9191b0531ee9f509595d41ae2759b94c2a7f8d7e08f4a70f9c7fff07f11c5252afb77084dc21ca3b22762d6c8dd66f4fca5944c9f2 SHA512 941844b1f6711859add828cbefe7c39497d45f0936f970f3050631294ed3bfe88d9d7b827a81d61ba3efbbf7920daef6ea6c28fa9c78f8e672d68b8bd3fbb2ad DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e DIST pyside-setup-everywhere-src-6.7.3.tar.xz 14591496 BLAKE2B dfe21f8d9af346e43720685982ee736974661059f83e7f22e59ef98d444d181a5f6235e41db4c40c83697401e45dbc4e8765e6351702d4f300d1c63e5789a4d5 SHA512 5e4292b9809df571e1aa3db7c1366973aecf5aaba6638c78d676413985a965aa23b694ba287bdc1d9b8dca59ac24b8229021db6f5a2b5818c929cbada7ef7491 diff --git a/dev-python/pyside6/metadata.xml b/dev-python/pyside6/metadata.xml index 731d1c1f28b2..765f9555d14d 100644 --- a/dev-python/pyside6/metadata.xml +++ b/dev-python/pyside6/metadata.xml @@ -19,6 +19,7 @@ <flag name="gles2-only">Build QtGui "QOpenGL*" classes</flag> <flag name="gui">Build QtGui module</flag> <flag name="help">Build QtHelp module</flag> + <flag name="httpserver">Build QtHttpServer module</flag> <flag name="location">Build QtLocation module</flag> <flag name="multimedia">Build QtMultimedia and QtMultimediaWidgets modules</flag> <flag name="network">Build QtNetwork module</flag> @@ -37,7 +38,9 @@ <flag name="speech">Build QtTextToSpeech module</flag> <flag name="sql">Build QtSql module</flag> <flag name="svg">Build QtSvg module</flag> + <flag name="remoteobjects">Build QtRemoteObjects module</flag> <flag name="testlib">Build QtTest module</flag> + <flag name="uitools">Build UITools module</flag> <flag name="webchannel">Build QtWebChannel module</flag> <flag name="webengine">Build QtWebEngine and QtWebEngineWidgets modules</flag> <flag name="websockets">Build QtWebSockets module</flag> diff --git a/dev-python/pyside6/pyside6-6.8.1.ebuild b/dev-python/pyside6/pyside6-6.8.1.ebuild new file mode 100644 index 000000000000..b7386604992b --- /dev/null +++ b/dev-python/pyside6/pyside6-6.8.1.ebuild @@ -0,0 +1,253 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: Add PyPy once officially supported. See also: +# https://bugreports.qt.io/browse/PYSIDE-535 +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +LLVM_COMPAT=( {15..18} ) + +inherit cmake llvm-r1 python-r1 virtualx + +# TODO: Add conditional support for apidoc generation via a new "doc" USE flag. +# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once +# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support. +# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note +# that the "PySide6/QtGui/CMakeLists.txt" and +# "PySide6/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by +# testing whether the "Qt5::Gui" list property defined by +# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation +# time contains the substring "opengles2". Since cmake does not permit +# properties to be overridden from the command line, these files must instead +# be conditionally patched to avoid these tests. An issue should be filed with +# upstream requesting a CLI-settable variable to control this. + +MY_PN=pyside-pyside-setup +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Python bindings for the Qt framework" +HOMEPAGE="https://wiki.qt.io/PySide6" +SRC_URI="https://github.com/qtproject/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz" +S="${WORKDIR}/${MY_P}/sources/pyside6" + +# See "sources/pyside6/PySide6/licensecomment.txt" for licensing details. +# Shall we allow essential modules to be disabled? They are: +# (core), gui, widgets, printsupport, sql, network, testlib, concurrent, +# x11extras (for X) +LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )" +SLOT="6/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE=" + 3d bluetooth charts +concurrent +dbus designer gles2-only +gui help + httpserver location multimedia +network network-auth nfc positioning +opengl + pdfium positioning +printsupport qml quick quick3d remoteobjects serialport + scxml sensors spatialaudio speech +sql svg test +testlib uitools webchannel + webengine websockets +widgets +xml +" + +# Manually reextract these requirements on version bumps by running the +# following one-liner from within "${S}": +# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt +REQUIRED_USE="${PYTHON_REQUIRED_USE} + 3d? ( gui network ) + charts? ( gui widgets ) + designer? ( widgets ) + gles2-only? ( gui ) + gui? ( dbus opengl ) + help? ( network sql widgets ) + httpserver? ( concurrent network websockets ) + location? ( gui network positioning quick ) + multimedia? ( gui network ) + network-auth? ( network ) + opengl? ( gui ) + pdfium? ( gui ) + printsupport? ( widgets ) + qml? ( network ) + quick? ( gui network opengl qml ) + quick3d? ( gui network opengl qml quick ) + remoteobjects? ( network ) + spatialaudio? ( multimedia ) + speech? ( multimedia ) + sql? ( widgets ) + svg? ( gui ) + testlib? ( widgets ) + uitools? ( widgets ) + webchannel? ( qml ) + webengine? ( network gui printsupport quick webchannel ) + websockets? ( network ) + widgets? ( gui ) +" + +# Tests fail pretty bad and I'm not fixing them right now +RESTRICT="test" + +# Minimal supported version of Qt. +QT_PV="$(ver_cut 1-3)*:6" + +RDEPEND="${PYTHON_DEPS} + =dev-python/shiboken6-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}] + =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?] + 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] ) + bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] ) + charts? ( =dev-qt/qtcharts-${QT_PV} ) + designer? ( =dev-qt/qttools-${QT_PV}[designer,widgets] ) + gui? ( + =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)] + x11-libs/libxkbcommon + ) + help? ( =dev-qt/qttools-${QT_PV}[assistant] ) + httpserver? ( =dev-qt/qthttpserver-${QT_PV} ) + location? ( =dev-qt/qtlocation-${QT_PV} ) + multimedia? ( =dev-qt/qtmultimedia-${QT_PV} ) + network? ( =dev-qt/qtbase-${QT_PV}[ssl] ) + network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} ) + nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] ) + pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] ) + positioning? ( =dev-qt/qtpositioning-${QT_PV} ) + printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] ) + qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] ) + quick3d? ( =dev-qt/qtquick3d-${QT_PV} ) + remoteobjects? ( =dev-qt/qtremoteobjects-${QT_PV} ) + scxml? ( =dev-qt/qtscxml-${QT_PV} ) + sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] ) + speech? ( =dev-qt/qtspeech-${QT_PV} ) + serialport? ( =dev-qt/qtserialport-${QT_PV} ) + svg? ( =dev-qt/qtsvg-${QT_PV} ) + testlib? ( =dev-qt/qtbase-${QT_PV}[gui] ) + uitools? ( =dev-qt/qttools-${QT_PV}[widgets] ) + webchannel? ( =dev-qt/qtwebchannel-${QT_PV} ) + webengine? ( || ( + =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?] + =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?] + ) + ) + websockets? ( =dev-qt/qtwebsockets-${QT_PV} ) + !dev-python/pyside6:0 +" +DEPEND="${RDEPEND} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + test? ( =dev-qt/qtbase-${QT_PV}[gui] ) +" +# testlib is toggled by the gui flag on qtbase + +PATCHES=( + "${FILESDIR}/${PN}-6.3.1-no-strip.patch" + # References files not present in our dev-qt/qtbase + "${FILESDIR}/${PN}-6.6.0-no-qtexampleicons.patch" +) + +src_configure() { + # See collect_module_if_found macros in PySideHelpers.cmake + local mycmakeargs=( + -DBUILD_TESTS=$(usex test) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DAnimation=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DCore=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DExtras=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DInput=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DLogic=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DRender=$(usex !3d) + #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Bluetooth=$(usex !bluetooth) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Charts=$(usex !charts) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Concurrent=$(usex !concurrent) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DataVisualization=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DBus=$(usex !dbus) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Designer=$(usex !designer) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Gui=$(usex !gui) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Help=$(usex !help) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6HttpServer=$(usex !httpserver) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Location=$(usex !location) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Multimedia=$(usex !multimedia) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6MultimediaWidgets=$(usex !multimedia yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6NetworkAuth=$(usex !network-auth) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Network=$(usex !network) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Nfc=$(usex !nfc) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGL=$(usex !opengl) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGLWidgets=$(usex !opengl yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Pdf=$(usex !pdfium) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PdfWidgets=$(usex !pdfium yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning=$(usex !positioning) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PrintSupport=$(usex !printsupport) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Qml=$(usex !qml) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick3D=$(usex !quick3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=$(usex !quick) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickControls2=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=$(usex !quick yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6RemoteObjects=$(usex !remoteobjects) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Scxml=$(usex !scxml) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sensors=$(usex !sensors) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort=$(usex !serialport) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SpatialAudio=$(usex !spatialaudio) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sql=$(usex !sql) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6StateMachine=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Svg=$(usex !svg) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SvgWidgets=$(usex !svg yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Test=$(usex !testlib) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6TextToSpeech=$(usex !speech) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6UiTools=$(usex !uitools) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel=$(usex !webchannel) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineCore=$(usex !webengine) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick=$(usex !webengine yes $(usex !quick)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineWidgets=$(usex !webengine yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebSockets=$(usex !websockets) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets=$(usex !widgets) + #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6WinExtras=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Xml=$(usex !xml) + # try to avoid pre-stripping + -DQFP_NO_OVERRIDE_OPTIMIZATION_FLAGS=yes + -DQFP_NO_STRIP=yes + + ) + + pyside6_configure() { + local mycmakeargs=( + "${mycmakeargs[@]}" + -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" + -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)" + -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}" + ) + cmake_src_configure + } + python_foreach_impl pyside6_configure +} + +src_compile() { + python_foreach_impl cmake_src_compile +} + +src_test() { + local -x PYTHONDONTWRITEBYTECODE + python_foreach_impl virtx cmake_src_test +} + +src_install() { + pyside6_install() { + cmake_src_install + python_optimize + + # Uniquify the shiboken6 pkgconfig dependency in the PySide6 pkgconfig + # file for the current Python target. See also: + # https://github.com/leycec/raiagent/issues/73 + sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \ + "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die + + # Uniquify the PySide6 pkgconfig file for the current Python target, + # preserving an unversioned "pyside6.pc" file arbitrarily associated + # with the last Python target. (See the previously linked issue.) + cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die + } + python_foreach_impl pyside6_install + + # CMakeLists.txt installs a "PySide6Targets-gentoo.cmake" file forcing + # downstream consumers (e.g., pyside6-tools) to target one + # "libpyside6-*.so" library linked to one Python interpreter. See also: + # https://bugreports.qt.io/browse/PYSIDE-1053 + # https://github.com/leycec/raiagent/issues/74 + sed -i -e 's~pyside6-python[[:digit:]]\+\.[[:digit:]]\+~pyside6${PYTHON_CONFIG_SUFFIX}~g' \ + "${ED}/usr/$(get_libdir)/cmake/PySide6/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die +} diff --git a/dev-python/qtpy/metadata.xml b/dev-python/qtpy/metadata.xml index c2a42f283124..994d0a7bbab7 100644 --- a/dev-python/qtpy/metadata.xml +++ b/dev-python/qtpy/metadata.xml @@ -25,13 +25,18 @@ <flag name="help">Pull in bindings for the QtHelp module</flag> <flag name="multimedia">Pull in QtMultimedia and QtMultimediaWidgets modules</flag> <flag name="network">Pull in bindings for the QtNetwork module</flag> + <flag name="nfc">Pull in bindings for the QtNFC module</flag> <flag name="opengl">Pull in bindings for the QtOpenGL module</flag> + <flag name="pdfium">Pull in bindings for the QtPDFium module</flag> <flag name="positioning">Pull in bindings for the QtPositioning module</flag> <flag name="printsupport">Pull in bindings for the QtPrintSupport module</flag> <flag name="qml">Build bindings for the QtQml</flag> <flag name="quick">Build bindings for the QtQuick</flag> + <flag name="quick3d">Build bindings for the QtQuick3D</flag> + <flag name="remoteobjects">Pull in bindings for the QtRemoteObjects module</flag> <flag name="sensors">Pull in bindings for the QtSensors module</flag> <flag name="serialport">Pull in bindings for the QtSerialPort module</flag> + <flag name="spatialaudio">Pull in bindings for the QtSpatialAudio module</flag> <flag name="speech">Pull in bindings for the QtTextToSpeech module</flag> <flag name="sql">Pull in bindings for the QtSql module</flag> <flag name="svg">Pull in bindings for the QtSvg module</flag> diff --git a/dev-python/qtpy/qtpy-2.4.2-r1.ebuild b/dev-python/qtpy/qtpy-2.4.2-r1.ebuild new file mode 100644 index 000000000000..b1c3d0ac5b78 --- /dev/null +++ b/dev-python/qtpy/qtpy-2.4.2-r1.ebuild @@ -0,0 +1,186 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_PN=QtPy +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 virtualx pypi + +DESCRIPTION="Abstraction layer on top of PyQt and PySide with additional custom QWidgets" +HOMEPAGE=" + https://github.com/spyder-ide/qtpy/ + https://pypi.org/project/QtPy/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + +_IUSE_QT_MODULES=" + bluetooth dbus designer +gui help multimedia +network nfc opengl pdfium + positioning printsupport qml quick quick3d remoteobjects sensors serialport + spatialaudio speech +sql svg testlib webchannel webengine websockets + +widgets +xml +" +IUSE="+pyqt6 pyside6 ${_IUSE_QT_MODULES}" +unset _IUSE_QT_MODULES + +REQUIRED_USE="|| ( pyqt6 pyside6 )" + +# These flags are currently *not* common to the PySide2/6 and PyQt5/6 ebuilds +# Disable them for now, please check periodically if this is still up to date. +# 3d? ( pyside6 only ) +# charts? ( pyside6 only ) +# concurrent? ( pyside6 only ) +# httpserver? ( pyside6 only ) +# scxml? ( pyside6 only ) +# uitools? ( pyside6 only ) +# location? ( pyside6 only) +# network-auth? ( pyside6 only ) +# +# vulkan? ( pyqt6 only ) + +# WARNING: the obvious solution of using || for PyQt5/pyside2 is not going +# to work. The package only checks whether PyQt5/pyside2 is installed, it does +# not verify whether they have the necessary modules (i.e. satisfy the USE dep). +# +# Webengine is a special case, because PyQt6 provides this in a separate package +# while PySide6 ships it in the same package. +RDEPEND=" + dev-python/packaging[${PYTHON_USEDEP}] + pyqt6? ( + dev-python/pyqt6[${PYTHON_USEDEP}] + dev-python/pyqt6[bluetooth?,dbus?,designer?,gui?,help?,multimedia?] + dev-python/pyqt6[network?,nfc?,opengl?,pdfium?,positioning?] + dev-python/pyqt6[printsupport?,qml?,quick?,quick3d?,remoteobjects?] + dev-python/pyqt6[sensors?,serialport?,spatialaudio?,speech?,sql?,svg?] + dev-python/pyqt6[testlib?,webchannel?,websockets?,widgets?,xml?] + webengine? ( dev-python/pyqt6-webengine[${PYTHON_USEDEP},widgets?,quick?] ) + + ) + pyside6? ( + dev-python/pyside6[${PYTHON_USEDEP}] + dev-python/pyside6[bluetooth?,dbus?,designer?,gui?,help?,multimedia?] + dev-python/pyside6[network?,nfc?,opengl?,pdfium?,positioning?] + dev-python/pyside6[printsupport?,qml?,quick?,quick3d?,remoteobjects(-)?] + dev-python/pyside6[sensors?,serialport?,spatialaudio?,speech?,sql?,svg?] + dev-python/pyside6[testlib?,webchannel?,webengine?,websockets?,widgets?,xml?] + ) +" + +# The QtPy testsuite skips tests for bindings that are not installed, so here we +# ensure that everything is available and all tests are run. Note that not +# all flags are available in PyQt5/PySide2, so some tests are still skipped. +BDEPEND=" + test? ( + dev-python/pytest-qt[${PYTHON_USEDEP}] + pyqt6? ( + dev-python/pyqt6[${PYTHON_USEDEP}] + dev-python/pyqt6[bluetooth,dbus,designer,gui,help,multimedia] + dev-python/pyqt6[network,nfc,opengl,pdfium,positioning,printsupport] + dev-python/pyqt6[qml,quick,quick3d,sensors,serialport] + dev-python/pyqt6[spatialaudio,speech,sql,svg,testlib,webchannel] + dev-python/pyqt6[vulkan(-),websockets,widgets,xml] + dev-python/pyqt6-webengine[${PYTHON_USEDEP},widgets,quick] + dev-qt/qtbase:6[sqlite] + ) + pyside6? ( + dev-python/pyside6[${PYTHON_USEDEP}] + dev-python/pyside6[3d,bluetooth,charts,concurrent,dbus,designer,gui] + dev-python/pyside6[help,location,multimedia,network,network-auth] + dev-python/pyside6[nfc,opengl,pdfium,positioning,printsupport,qml] + dev-python/pyside6[quick,quick3d,scxml,sensors,serialport] + dev-python/pyside6[spatialaudio,speech,sql,svg,testlib,webchannel] + dev-python/pyside6[webengine,websockets,widgets,xml] + dev-python/pyside6-tools[${PYTHON_USEDEP}] + dev-qt/qtbase:6[sqlite] + ) + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die + # Disable Qt for Python implementations that are not selected + + # Always disable PyQt5 + sed \ + -e '/from PyQt5.QtCore import/,/)/c\ \ \ \ \ \ \ \ raise ImportError #/' \ + -e '/if "PyQt5" in sys.modules:/,/"pyqt5"/c\' \ + -i qtpy/__init__.py || die + + # We need to ensure the first option is an 'if' not 'elif' + sed -e 's/elif "PySide2" in sys.modules:/if "PySide2" in sys.modules:/g' \ + -i qtpy/__init__.py || die + + # Always disable PySide2 + sed \ + -e "s/from PySide2 import/raise ImportError #/" \ + -e "s/from PySide2.QtCore import/raise ImportError #/" \ + -e '/if "PySide2" in sys.modules:/,/"pyside2"/c\' \ + -i qtpy/__init__.py || die + + sed \ + -e 's/elif "PyQt6" in sys.modules:/if "PyQt6" in sys.modules:/g' \ + -i qtpy/__init__.py || die + + if ! use pyqt6; then + sed \ + -e '/from PyQt6.QtCore import/,/)/c\ \ \ \ \ \ \ \ raise ImportError #/' \ + -e '/if "PyQt6" in sys.modules:/,/"pyqt6"/c\' \ + -i qtpy/__init__.py || die + + sed \ + -e 's/elif "PySide6" in sys.modules:/if "PySide6" in sys.modules:/g' \ + -i qtpy/__init__.py || die + fi + if ! use pyside6; then + sed \ + -e "s/from PySide6 import/raise ImportError #/" \ + -e "s/from PySide6.QtCore import/raise ImportError #/" \ + -e '/if "PySide6" in sys.modules:/,/"pyside6"/c\' \ + -i qtpy/__init__.py || die + fi +} + +python_test() { + local -x QT_API + local -a EPYTEST_DESELECT + local other + + # Test for each enabled Qt4Python target. + # Deselect the other targets, their test fails if we specify QT_API + # or if we have disabled their corresponding inherit in __init__.py above + for QT_API in PyQt6 PySide6; do + if use "${QT_API,,}"; then + EPYTEST_DESELECT=() + for other in PyQt{5,6} PySide{2,6}; do + if [[ ${QT_API} != ${other} ]]; then + EPYTEST_DESELECT+=( + "qtpy/tests/test_main.py::test_qt_api_environ[${other}]" + ) + fi + done + + einfo "Testing with ${EPYTHON} and QT_API=${QT_API}" + nonfatal epytest -o addopts= || + die -n "Tests failed with ${EPYTHON} and QT_API=${QT_API}" || + return 1 + fi + done +} + +src_test() { + virtx distutils-r1_src_test +} + +pkg_postinst() { + elog "When multiple Qt4Python targets are enabled QtPy will default to" + elog "the first enabled target in this order: PyQt6 PySide6." + elog "This can be overridden with the QT_API environment variable." +} diff --git a/dev-python/respx/Manifest b/dev-python/respx/Manifest index 899bbf1b2a9f..6343234dbd40 100644 --- a/dev-python/respx/Manifest +++ b/dev-python/respx/Manifest @@ -1 +1,2 @@ DIST respx-0.21.1.gh.tar.gz 432341 BLAKE2B b375e8bc9370e13855197487e1e8139cf3fede0f03d7ad034ef2c78bce5ad95d3cb8cc7440c2566d188a98a52d0068c13288c7d4ec802e04d2f269a64e1ce326 SHA512 156f34f4635012230b68812f24978136f37f96dc0cf0ea9e80ed2d6a3e0639eb7591ed34933f75d5cda32993852aa034b22389af0fed341ab4ad1002482f2e9c +DIST respx-0.22.0.gh.tar.gz 432547 BLAKE2B 60fb516b3793faeea8f236c3ccfae7dcf20087eb8af8f1fb8c128de454b9fa395f4c7ed6fc5c94c59eff225525de6bc7c2b89bedf882028076fa9fb668a46ac9 SHA512 3cc84edced79475764b00369b5926bb5a74627b3f0c966fdf4e96a1a5944b8ea2fccaa39f77ebde62324762cb4ff5e0b611c910093fc3010e8c8e1dbbbe678e3 diff --git a/dev-python/respx/respx-0.22.0-r1.ebuild b/dev-python/respx/respx-0.22.0-r1.ebuild new file mode 100644 index 000000000000..f8bfdeb25706 --- /dev/null +++ b/dev-python/respx/respx-0.22.0-r1.ebuild @@ -0,0 +1,44 @@ +# Copyright 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} ) + +inherit distutils-r1 + +DESCRIPTION="Mock HTTPX with awesome request patterns and response side effects" +HOMEPAGE=" + https://lundberg.github.io/respx/ + https://pypi.org/project/respx/ + https://github.com/lundberg/respx/ +" +# no tests in pypi sdist +SRC_URI=" + https://github.com/lundberg/respx/archive/refs/tags/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/httpx-0.28.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/flask[${PYTHON_USEDEP}] + dev-python/httpcore[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/starlette[${PYTHON_USEDEP}] + dev-python/trio[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + epytest -p 'no:*' -p asyncio -o addopts= +} diff --git a/dev-python/rfc3161-client/Manifest b/dev-python/rfc3161-client/Manifest index 4cc411209cc8..965fc9ca671c 100644 --- a/dev-python/rfc3161-client/Manifest +++ b/dev-python/rfc3161-client/Manifest @@ -58,6 +58,7 @@ DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 DIST rfc3161-client-0.0.4.gh.tar.gz 41498 BLAKE2B ad9b60e47d4afcaa5cf636de26de63fcac12ffa8233df2ac00332fc864722b87f10ac3273f4eca27d583f671a1db232db1efbfb43984ac604b3ec0286b25a884 SHA512 6dadb73171f8741350ba0a8197ba42a7e6a7bd4960bf9e955ef0ab37ec74c02e64765ba0217d4e36a39a07bed4494f3e0ed94c93aeee68ec9f5bb28b6d85e43f DIST rfc3161-client-0.1.1.gh.tar.gz 40970 BLAKE2B 1df8ff4043beeee74dc475eb305158735a7383d93bf6c5940fa17fae0f0dd3dfacd4c7d533266d1a03d624af710a4ac57253a1fae063c6825c6b9f67a6e38997 SHA512 15415d206bcbde828a322fdf567a2b45a5c8e099d500da34d25d1531481160e02f9f1e61bec1e2e808d8018ecd6e30b0de02f99e0e80b9504019db9d40d0e563 +DIST rfc3161-client-0.1.2.gh.tar.gz 41256 BLAKE2B e72b646ee3b9389dad21747f3380e8fefd418804ffd6a2460bd04df6d546ca20e20a6172d1c4837b9aa357bf09fec81945edfd9ae1a1b9b59708fb6ab20148e7 SHA512 282cbb9c5074a018fac4bd5b4fd8b4d8bd5e4da124e3461ee2cb57baa370a52c5cc76398b41a7d3de71db0a6ec1b95c11969daee1c252f6c306e2eb7a72d5821 DIST self_cell-1.0.4.crate 15220 BLAKE2B 9a617058652ab2a2e92434b6eef58a813ce0be5afed9525c4d4c819c25c7cd87aaa12d129c8c4ca9d74c3ea33d81e9dd295f121887070364185b9ab33021544c SHA512 042467e5f3ac0305e2a634df0b9a9379e92b54813e05c3a7652d5327a4a9a784f49e897c968c5c7a87017284d42a889b5420ad18e97ea84183e0283a46dc907a DIST self_cell-1.1.0.crate 16636 BLAKE2B e13390f77e929084c0cf5f3a4e4af55989f8028128c4f42f318e83890d24b8234075088750f406992d6b0e06e63cecac51f7ac73e74c121502eecfb68a40398f SHA512 06bb4a3c09c76b0814b60641be8f0bc22bdbf1b715a84e740720aad69f4ade1ba27e130e45699a379692b543b0b2f2d0d04c587a48b90e42aabc0d27acfe9465 DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785 diff --git a/dev-python/rfc3161-client/rfc3161-client-0.1.2.ebuild b/dev-python/rfc3161-client/rfc3161-client-0.1.2.ebuild new file mode 100644 index 000000000000..67be3843060e --- /dev/null +++ b/dev-python/rfc3161-client/rfc3161-client-0.1.2.ebuild @@ -0,0 +1,107 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +CRATES=" + asn1@0.20.0 + asn1_derive@0.20.0 + autocfg@1.4.0 + bitflags@2.6.0 + block-buffer@0.10.4 + byteorder@1.5.0 + cc@1.2.2 + cfg-if@1.0.0 + cpufeatures@0.2.16 + crypto-common@0.1.6 + digest@0.10.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + generic-array@0.14.7 + getrandom@0.2.15 + heck@0.5.0 + hex@0.4.3 + indoc@2.0.5 + itoa@1.0.14 + libc@0.2.167 + memoffset@0.9.1 + once_cell@1.20.2 + openssl-macros@0.1.1 + openssl-src@300.4.1+3.4.0 + openssl-sys@0.9.104 + openssl@0.10.68 + pkg-config@0.3.31 + portable-atomic@1.10.0 + ppv-lite86@0.2.20 + proc-macro2@1.0.92 + pyo3-build-config@0.23.3 + pyo3-ffi@0.23.3 + pyo3-macros-backend@0.23.3 + pyo3-macros@0.23.3 + pyo3@0.23.3 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + self_cell@1.1.0 + sha2@0.10.8 + shlex@1.3.0 + syn@2.0.90 + target-lexicon@0.12.16 + typenum@1.17.0 + unicode-ident@1.0.14 + unindent@0.2.3 + vcpkg@0.2.15 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +declare -A GIT_CRATES=( + [cryptography-x509]='https://github.com/pyca/cryptography;f299a48153650f2dd87716343f2daa7cd39a1f59;cryptography-%commit%/src/rust/cryptography-x509' +) + +inherit cargo distutils-r1 + +DESCRIPTION="An Opinionated Python RFC3161 Client" +HOMEPAGE=" + https://github.com/trailofbits/rfc3161-client/ + https://pypi.org/project/rfc3161-client/ +" +# no tests in sdist, as of 0.0.4 +SRC_URI=" + https://github.com/trailofbits/rfc3161-client/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-3.0 +" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + =dev-python/cryptography-44*[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/pretend[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest + + cargo_src_test +} diff --git a/dev-python/shiboken6/Manifest b/dev-python/shiboken6/Manifest index 8f53c5c18479..b92dd7da176e 100644 --- a/dev-python/shiboken6/Manifest +++ b/dev-python/shiboken6/Manifest @@ -1,2 +1,3 @@ +DIST pyside-pyside-setup-6.8.1.gh.tar.gz 18700869 BLAKE2B 5924f8ffc3e5a4f15442af9191b0531ee9f509595d41ae2759b94c2a7f8d7e08f4a70f9c7fff07f11c5252afb77084dc21ca3b22762d6c8dd66f4fca5944c9f2 SHA512 941844b1f6711859add828cbefe7c39497d45f0936f970f3050631294ed3bfe88d9d7b827a81d61ba3efbbf7920daef6ea6c28fa9c78f8e672d68b8bd3fbb2ad DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e DIST pyside-setup-everywhere-src-6.7.3.tar.xz 14591496 BLAKE2B dfe21f8d9af346e43720685982ee736974661059f83e7f22e59ef98d444d181a5f6235e41db4c40c83697401e45dbc4e8765e6351702d4f300d1c63e5789a4d5 SHA512 5e4292b9809df571e1aa3db7c1366973aecf5aaba6638c78d676413985a965aa23b694ba287bdc1d9b8dca59ac24b8229021db6f5a2b5818c929cbada7ef7491 diff --git a/dev-python/shiboken6/shiboken6-6.8.1.ebuild b/dev-python/shiboken6/shiboken6-6.8.1.ebuild new file mode 100644 index 000000000000..24e598fdb89c --- /dev/null +++ b/dev-python/shiboken6/shiboken6-6.8.1.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: Split the "/usr/bin/shiboken6" binding generator from the +# "/usr/lib64/libshiboken6-*.so" family of shared libraries. The former +# requires everything (including Clang) at runtime; the latter only requires +# Qt and Python at runtime. Note that "pip" separates these two as well. See: +# https://doc.qt.io/qtforpython/shiboken6/faq.html#is-there-any-runtime-dependency-on-the-generated-binding +# Once split, the PySide6 ebuild should be revised to require +# "/usr/bin/shiboken6" at build time and "libshiboken6-*.so" at runtime. +# TODO: Add PyPy once officially supported. See also: +# https://bugreports.qt.io/browse/PYSIDE-535 +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +LLVM_COMPAT=( {15..18} ) + +inherit cmake llvm-r1 python-r1 toolchain-funcs + +MY_PN=pyside-pyside-setup +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Python binding generator for C++ libraries" +HOMEPAGE="https://wiki.qt.io/PySide6" +SRC_URI="https://github.com/qtproject/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz" +S="${WORKDIR}/${MY_P}/sources/shiboken6" + +# The "sources/shiboken6/libshiboken" directory is triple-licensed under the +# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3 +# with version 1.0 of a Qt-specific exception enabling shiboken6 output to be +# arbitrarily relicensed. (TODO) +LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3" +SLOT="6/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="+docstrings numpy test vulkan" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# Tests fail pretty bad and I'm not fixing them right now +RESTRICT="test" + +# Minimal supported version of Qt. +QT_PV="$(ver_cut 1-3)*:6" + +# Since Clang is required at both build- and runtime, BDEPEND is omitted here. +RDEPEND="${PYTHON_DEPS} + =dev-qt/qtbase-${QT_PV} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + docstrings? ( + >=dev-libs/libxml2-2.6.32 + >=dev-libs/libxslt-1.1.19 + ) + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] ) + vulkan? ( dev-util/vulkan-headers ) + !dev-python/shiboken6:0 +" +DEPEND="${RDEPEND} + test? ( =dev-qt/qtbase-${QT_PV}[gui] ) +" +# testlib is toggled by the gui flag on qtbase + +DOCS=( AUTHORS ) + +PATCHES=( + "${FILESDIR}/${PN}-6.3.1-no-strip.patch" +) + +src_prepare() { + # TODO: File upstream issue requesting a sane way to disable NumPy support. + if ! use numpy; then + sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \ + libshiboken/CMakeLists.txt || die + fi + + # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include" + # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan". + if use vulkan; then + sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \ + ApiExtractor/clangparser/compilersupport.cpp || die + fi + + local clangver="$(CPP=clang clang-major-version)" + + # Clang 15 and older used the full version as a directory name. + if [[ ${clangver} -lt 16 ]]; then + clangver="$(CPP=clang clang-fullversion)" + fi + + # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/" + # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the + # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is + # the largest version specifier that exists under the "/usr/lib/clang/" + # subdirectory. This assumption is false in edge cases, including when + # users downgrade from newer Clang versions but fail to remove those + # versions with "emerge --depclean". See also: + # https://github.com/leycec/raiagent/issues/85 + # + # Sadly, the clang-* family of functions exported by the "toolchain-funcs" + # eclass are defective, returning nonsensical placeholder strings if the + # end user has *NOT* explicitly configured their C++ compiler to be Clang. + # PySide6 does *NOT* care whether the end user has done so or not, as + # PySide6 unconditionally requires Clang in either case. See also: + # https://bugs.gentoo.org/619490 + sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${clangver}"'/include"))~' \ + ApiExtractor/clangparser/compilersupport.cpp || die + + cmake_src_prepare +} + +src_configure() { + # Minimal tests for now, 2 failing with the extended version + # FIXME Subscripted generics cannot be used with class and instance checks + local mycmakeargs=( + -DBUILD_TESTS=$(usex test) + -DDISABLE_DOCSTRINGS=$(usex !docstrings) + ) + + shiboken6_configure() { + local mycmakeargs=( + "${mycmakeargs[@]}" + -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" + -DUSE_PYTHON_VERSION="${EPYTHON#python}" + -DFORCE_LIMITED_API=OFF + ) + # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable. + local -x LLVM_INSTALL_DIR="$(get_llvm_prefix)" + cmake_src_configure + } + python_foreach_impl shiboken6_configure +} + +src_compile() { + python_foreach_impl cmake_src_compile +} + +src_test() { + python_foreach_impl cmake_src_test +} + +src_install() { + shiboken6_install() { + cmake_src_install + python_optimize + + # Uniquify the "shiboken6" executable for the current Python target, + # preserving an unversioned "shiboken6" file arbitrarily associated + # with the last Python target. + cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die + + # Uniquify the Shiboken6 pkgconfig file for the current Python target, + # preserving an unversioned "shiboken6.pc" file arbitrarily associated + # with the last Python target. See also: + # https://github.com/leycec/raiagent/issues/73 + cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die + } + python_foreach_impl shiboken6_install + + # CMakeLists.txt installs a "Shiboken6Targets-gentoo.cmake" file forcing + # downstream consumers (e.g., PySide6) to target one "libshiboken6-*.so" + # library and one "shiboken6" executable linked to one Python interpreter. + # See also: + # https://bugreports.qt.io/browse/PYSIDE-1053 + # https://github.com/leycec/raiagent/issues/74 + sed -i \ + -e 's~shiboken6-python[[:digit:]]\+\.[[:digit:]]\+~shiboken6${PYTHON_CONFIG_SUFFIX}~g' \ + -e 's~/bin/shiboken6~/bin/shiboken6${PYTHON_CONFIG_SUFFIX}~g' \ + "${ED}/usr/$(get_libdir)"/cmake/Shiboken6/Shiboken6Targets-${CMAKE_BUILD_TYPE,,}.cmake || die + + # Remove the broken "shiboken_tool.py" script. By inspection, this script + # reduces to a noop. Moreover, this script raises the following exception: + # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py' + rm "${ED}"/usr/bin/shiboken_tool.py || die +} diff --git a/dev-python/sigstore/Manifest b/dev-python/sigstore/Manifest index 69246c63df9c..2a70ecae268e 100644 --- a/dev-python/sigstore/Manifest +++ b/dev-python/sigstore/Manifest @@ -1,2 +1,3 @@ DIST sigstore-python-3.5.3.gh.tar.gz 201724 BLAKE2B 7b73ecd51944bc461213044931b7cfd3986442e9dc380cad5093c5f8dba82142c4a556bf9e43d869373df3d4ec07d8f023dde907045b2a172cfa06fd874e5907 SHA512 53d9876470156f91eb21e4e32ef1f61101e4a4011b689ad0b808414e19296266f66fc2bde1d5ad8178c3bb71824e1b30213672d8f1a311fb80a9fb4623a8a1cc DIST sigstore-python-3.6.0.gh.tar.gz 235198 BLAKE2B f0b7acdc6cb3b903b7938c319d220479e4e0532fbb625f4e6543b76e12ca32e6e551eb51c9d383fcea996ff410599a36d463fb53b88c8b44bc08d5a15a82b03a SHA512 cde7ae0df8f727659ed4c803143c1b49bb1045c9e96b137f095896b66a8b04269201f93e481965b6eca72b050468ba0c7a56ceb51f44523de90d114b23deff89 +DIST sigstore-python-3.6.1.gh.tar.gz 278434 BLAKE2B 9591a6937c30ee7a8b429075154309e5da78e5949ef0d27874237b8d7820c771e86b4640feeca8d6a5499ecc9f856ca45b0bc017ab6ce1c47fbef96aa5f971cf SHA512 daad7cd6e2cab7b511540d491378ee0d5829a6fa8a2c8bd601dcceb7a2ed73b99b4e0d42876b42cd8a510b463c2dd48941dd901dc6414620623b2bd6252bc6af diff --git a/dev-python/sigstore/sigstore-3.6.1.ebuild b/dev-python/sigstore/sigstore-3.6.1.ebuild new file mode 100644 index 000000000000..48998690f2a5 --- /dev/null +++ b/dev-python/sigstore/sigstore-3.6.1.ebuild @@ -0,0 +1,66 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 + +MY_P=sigstore-python-${PV} +DESCRIPTION="A tool for signing Python package distributions" +HOMEPAGE=" + https://github.com/sigstore/sigstore-python/ + https://pypi.org/project/sigstore/ +" +# no tests in sdist, as of 3.3.0 +SRC_URI=" + https://github.com/sigstore/sigstore-python/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + <dev-python/cryptography-45[${PYTHON_USEDEP}] + >=dev-python/cryptography-42[${PYTHON_USEDEP}] + >=dev-python/id-1.1.0[${PYTHON_USEDEP}] + >=dev-python/platformdirs-4.2[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}] + >=dev-python/pyasn1-0.6[${PYTHON_USEDEP}] + >=dev-python/pydantic-2[${PYTHON_USEDEP}] + >=dev-python/pyjwt-2.1[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ~dev-python/rfc3161-client-0.1.2[${PYTHON_USEDEP}] + >=dev-python/rfc8785-0.1.2[${PYTHON_USEDEP}] + >=dev-python/rich-13.0[${PYTHON_USEDEP}] + ~dev-python/sigstore-protobuf-specs-0.3.2[${PYTHON_USEDEP}] + ~dev-python/sigstore-rekor-types-0.0.18[${PYTHON_USEDEP}] + >=dev-python/tuf-5.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/importlib-resources-5.7[${PYTHON_USEDEP}] + ' 3.10) +" +BDEPEND=" + test? ( + dev-python/pretend[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unpin deps + sed -i -e 's:~=:>=:' pyproject.toml || die +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest test/unit --skip-online +} diff --git a/dev-python/sphinxcontrib-spelling/Manifest b/dev-python/sphinxcontrib-spelling/Manifest index cedb274abe4a..4144de9fa46f 100644 --- a/dev-python/sphinxcontrib-spelling/Manifest +++ b/dev-python/sphinxcontrib-spelling/Manifest @@ -1 +1,2 @@ DIST sphinxcontrib-spelling-8.0.0.tar.gz 37610 BLAKE2B 8ae9fb62a5a7d35194884ce075b27b0e54f54c18d55f9573bc53ef7b2f953011655631e37ac3bb7c988df470c8cdf1cb576e4830c61fddc068e50d382d067751 SHA512 0d8c21ea660516238c43fabb505666dfee15abb39f538c40c6b61f91e20c246b16aa170cd444263507dd51913a27fc7719cddb28f30eab26825b565f70dd3ab6 +DIST sphinxcontrib_spelling-8.0.1.tar.gz 36005 BLAKE2B 75813ea9bc90fc87a657f16b5ca057628041dd5628a2489b259c7009662c9e0dea2c60271c2ee87336e2f0a5cd15e9e360addaad2d8e7ef36863e90ec02e5915 SHA512 8d1e98e50f040b773d117422582315f9535a8a3ccee3984012b3b21e70e8600b325f39579583cace1cd8d3eed096b187eba5e2e9b1ba0f32e5f554ac4b43d48f diff --git a/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild new file mode 100644 index 000000000000..edffbf2a71c4 --- /dev/null +++ b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.1.ebuild @@ -0,0 +1,54 @@ +# 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} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Sphinx spelling extension" +HOMEPAGE=" + https://github.com/sphinx-contrib/spelling/ + https://pypi.org/project/sphinxcontrib-spelling/ +" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/pyenchant-3.1.1[${PYTHON_USEDEP}] + >=dev-python/requests-2.32.3[${PYTHON_USEDEP}] + >=dev-python/sphinx-3.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/pbr[${PYTHON_USEDEP}] + test? ( + app-dicts/myspell-en + ) +" + +distutils_enable_tests pytest + +python_compile() { + distutils-r1_python_compile + find "${BUILD_DIR}" -name '*.pth' -delete || die +} + +python_test() { + local EPYTEST_DESELECT=( + # requires the git repo + tests/test_filter.py::test_contributors + + # Internet + tests/test_filter.py::test_pypi_filter_factory + ) + + distutils_write_namespace sphinxcontrib + rm -rf sphinxcontrib || die + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests +} diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest index 0a37ec1317db..bd8f1d29ac99 100644 --- a/dev-python/spyder/Manifest +++ b/dev-python/spyder/Manifest @@ -1,7 +1,4 @@ DIST spyder-5.5.6.gh.tar.gz 16304234 BLAKE2B 9d14b96901276ced1644eef8dd57539036aecb067ee361b6581368b371d56b2008350969224992a35fe10ee177babca7f3e941f43b4cc3f432f6d0dec9104ead SHA512 93ce6ac2e71bd4e81ca4a630a6fe152d1bf3c83d6e5c01dda8f3e5ad2735de1948a86642f5bc589c90616935e997526b26367ce178905ad2b80faf81f36f9164 -DIST spyder-6.0.1.gh.tar.gz 15703963 BLAKE2B 5d4488fffe4889e5609a73c849172a08ed192dfe027940e8931da2ff4d809e52ddf3095c75813ca65225a372e86aece698fd83d5844aa76c5837f98d9c95c137 SHA512 034474c7feb341c5a0f6837ce2c0de6b6a6cc435c63e6d346c389977374b59a1b201495f2d6a692241245d81abda02dbd2a30c57c706506d23033c7347ccade0 -DIST spyder-6.0.2.gh.tar.gz 15751459 BLAKE2B fe20e477ced8f1fd8707691732f9c848b8f67481ae5b5728be65827c482ddf3cb210757675cf79623bf6413c0a44ce26017cdeed18787ddc0906847ff9a0c399 SHA512 ec9f9eb3a1a63947f73018b4a232c5301a01c9fe555980882a87fd2ab60c22919a47d586a1807d859a35f1a425212bc97c59d7659e37a52e3459b32249f18d67 DIST spyder-6.0.3.gh.tar.gz 15774411 BLAKE2B a9089c4d94e29cd38f2a80606ccd51daf443953f605dba22a1d7709b583add24d1a35b519a068e53b111bb96e04c27cb0a49b3d8f6fc88ac2f0e4667146361d0 SHA512 2f71667b54b8e8b85d862cb0e16d3657a2d1ce81bafa3170335866725c63e29e2349d8bff9a34422c9ff018677fd92f98d7f0ff22a064fe08e425492df216091 DIST spyder-docs-6951e02799fc7cd1f29456f1d93cfdcb570dad27.gh.tar.gz 93033557 BLAKE2B 395dd2a8ddb6e1b1408ba46cbe0fa452c1f2e69da1f3b6176401ff7395ace1463e63c696e13ee0b79f992b0ceca86228ad113f95ed7873db1b970452bc679f89 SHA512 c631e720e3ca49413482df294fb032285cf217ba94de299c37cb073e4e2bdeb629d16a139db17c569c74c628c50789c90d6085383886d32fa26b942711ccedc0 -DIST spyder-docs-d153e129b426b4fc95b1d66e692bf8a78cf40790.gh.tar.gz 93358065 BLAKE2B 7ad139ac9496d1817b0a8a69ba84bbbcd92081c5dd1d885011cbf8cc8cb4180f84a95222a0d89b3d41c352cb64e9ef87a8b31220e3d14e3efc63994f0623f07a SHA512 701e20113ae7b4894a4c08db967fbd7cbfbc894c4e5db74ad98451ebd03b8858ddfb3910238659f79a28e5e6cc9f76e05967ad7d8c4e27b0b5e6ea0551b2ceac DIST spyder-docs-fa91f0e9c8c2da33e7ec974e6b0e2a5ed6f04b10.gh.tar.gz 93358798 BLAKE2B 81f4d1d7b1244cb05df621e764c57e856952d9ec1b923a0d6529280651f8e15c586be0c7fe1dc65eed3792033cf0f1e5e8813d79706dbbfca0dcff29cb476831 SHA512 39d0a2d6ef45ebfd3e656916bad18adb7b4f3981e619dcb16fc6160b445cf80a264c4fd8d82f61a51a55774bf2f2a08ac0b1fb4201b2cce9046a0ddd1062daa5 diff --git a/dev-python/spyder/spyder-5.5.6.ebuild b/dev-python/spyder/spyder-5.5.6-r1.ebuild index 2a829bc96184..1377001d8461 100644 --- a/dev-python/spyder/spyder-5.5.6.ebuild +++ b/dev-python/spyder/spyder-5.5.6-r1.ebuild @@ -54,7 +54,7 @@ RDEPEND=" <dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}] >=dev-python/qtconsole-5.5.1[${PYTHON_USEDEP}] <dev-python/qtconsole-5.6.0[${PYTHON_USEDEP}] - >=dev-python/qtpy-2.1.0[${PYTHON_USEDEP},pyqt5,svg,webengine] + >=dev-python/qtpy-2.1.0[${PYTHON_USEDEP},pyqt5(-),svg,webengine] >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}] >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}] >=dev-python/spyder-kernels-2.5.2[${PYTHON_USEDEP}] diff --git a/dev-python/spyder/spyder-6.0.1.ebuild b/dev-python/spyder/spyder-6.0.1.ebuild deleted file mode 100644 index dd1099094859..000000000000 --- a/dev-python/spyder/spyder-6.0.1.ebuild +++ /dev/null @@ -1,195 +0,0 @@ -# Copyright 1999-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=setuptools - -inherit distutils-r1 optfeature xdg #virtualx - -# Commit of documentation to fetch -DOCS_PV="d153e129b426b4fc95b1d66e692bf8a78cf40790" - -DESCRIPTION="The Scientific Python Development Environment" -HOMEPAGE=" - https://www.spyder-ide.org/ - https://github.com/spyder-ide/spyder/ - https://pypi.org/project/spyder/ -" -SRC_URI=" - https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz - https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - >=dev-python/aiohttp-3.9.3[${PYTHON_USEDEP}] - >=dev-python/asyncssh-2.14.0[${PYTHON_USEDEP}] - <dev-python/asyncssh-3.0.0[${PYTHON_USEDEP}] - >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}] - >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}] - >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}] - >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}] - >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}] - >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}] - >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}] - >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}] - >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}] - >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}] - >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}] - >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}] - >=dev-python/psutil-5.3[${PYTHON_USEDEP}] - >=dev-python/pygithub-2.3.0[${PYTHON_USEDEP}] - >=dev-python/pygments-2.0[${PYTHON_USEDEP}] - >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}] - >=dev-python/python-lsp-black-2.0.0[${PYTHON_USEDEP}] - <dev-python/python-lsp-black-3.0.0[${PYTHON_USEDEP}] - >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}] - >=dev-python/pyuca-1.2[${PYTHON_USEDEP}] - >=dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}] - <dev-python/qdarkstyle-3.3.0[${PYTHON_USEDEP}] - >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}] - >=dev-python/qtawesome-1.3.1[${PYTHON_USEDEP}] - <dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}] - >=dev-python/qtconsole-5.6.0[${PYTHON_USEDEP}] - <dev-python/qtconsole-5.7.0[${PYTHON_USEDEP}] - >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},quick,svg,webengine] - >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}] - >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}] - >=dev-python/spyder-kernels-3.0.0[${PYTHON_USEDEP}] - <dev-python/spyder-kernels-3.1.0[${PYTHON_USEDEP}] - >=dev-python/superqt-0.6.2[${PYTHON_USEDEP}] - <dev-python/superqt-1.0.0[${PYTHON_USEDEP}] - >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}] - >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}] - >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}] - >=dev-python/yarl-1.9.4[${PYTHON_USEDEP}] -" - -# BDEPEND=" -# test? ( -# dev-python/cython[${PYTHON_USEDEP}] -# dev-python/flaky[${PYTHON_USEDEP}] -# dev-python/matplotlib[tk,${PYTHON_USEDEP}] -# dev-python/pandas[${PYTHON_USEDEP}] -# dev-python/pillow[${PYTHON_USEDEP}] -# dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}] -# dev-python/pytest-mock[${PYTHON_USEDEP}] -# dev-python/pytest-order[${PYTHON_USEDEP}] -# dev-python/pytest-qt[${PYTHON_USEDEP}] -# dev-python/pytest-timeout[${PYTHON_USEDEP}] -# dev-python/pyyaml[${PYTHON_USEDEP}] -# dev-python/qtpy[${PYTHON_USEDEP}] -# dev-python/scipy[${PYTHON_USEDEP}] -# dev-python/sympy[${PYTHON_USEDEP}] -# )" - -# Based on the courtesy of Arfrever -# This patch removes a call to update-desktop-database during build -# This fails because access is denied to this command during build -PATCHES=( - "${FILESDIR}/${PN}-5.0.0-build.patch" -) - -DOCS=( - "AUTHORS.txt" - "Announcements.md" - "CHANGELOG.md" - "CODE_OF_CONDUCT.md" - "CONTRIBUTING.md" - "NOTICE.txt" - "README.md" - "RELEASE.md" -) - -# distutils_enable_tests pytest -# TODO: Package sphinx-design -# distutils_enable_sphinx docs/doc \ -# dev-python/sphinx-panels \ -# dev-python/pydata-sphinx-theme \ -# dev-python/sphinx-multiversion - -python_prepare_all() { - # move docs into workdir - mv ../spyder-docs-${DOCS_PV}* docs || die - - # these dependencies are packaged separately: - # dev-python/spyder-kernels, - # dev-python/python-lsp-server, - # dev-python/qdarkstyle - rm -r external-deps/* || die - # runs against things packaged in external-deps dir - rm conftest.py || die - - # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5] - # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine] - # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server - # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder - # Do not depend on ipython, this dependency is carried in spyder-kernels - # The explicit version requirements only make things more complicated, if e.g. - # pyls-spyder gains compatibility with a newer version of python-lsp-server - # in a new release it will take time for this information to propagate into - # the next spyder release. So just remove the dependency and let the other - # ebuilds handle the version requirements to speed things up and prevent - # issues such as Bug 803269. - sed -i \ - -e "/'pyqt5[ 0-9<=>.,]*',/d" \ - -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \ - -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \ - -e "/'parso[ 0-9<=>.,]*',/d" \ - -e "/'jedi[ 0-9<=>.,]*',/d" \ - -e "/'pylint[ 0-9<=>.,]*',/d" \ - setup.py || die - # -e "/'ipython[ 0-9<=>.,]*',/d" \ - sed -i \ - -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \ - -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \ - -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \ - -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \ - -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \ - spyder/dependencies.py || die - # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \ - - # do not check deps, fails because we removed dependencies above - sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \ - spyder/tests/test_dependencies_in_sync.py || die - - # skip online test - rm spyder/widgets/github/tests/test_github_backend.py || die - - distutils-r1_python_prepare_all -} - -# Calling pytest directly somehow passes the pytest arguments to spyder -# causing an invalid argument error -# python_test() { -# virtx "${EPYTHON}" runtests.py -# } - -pkg_postinst() { - xdg_pkg_postinst - - optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib - optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas - optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy - optfeature "Symbolic mathematics in the IPython console" dev-python/sympy - optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy - optfeature "Run Cython files in the IPython console" dev-python/cython - optfeature "The hdf5/h5py plugin" dev-python/h5py - optfeature "The line profiler plugin" dev-python/spyder-line-profiler - optfeature "Vim key bindings" dev-python/spyder-vim - optfeature "Unittest support" dev-python/spyder-unittest - optfeature "System terminal inside spyder" dev-python/spyder-terminal - optfeature "Jupyter notebook support" dev-python/spyder-notebook - # spyder-memory-profiler is not compatible with spyder-5.2+ yet - # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler - # spyder-reports not yet updated to >=spyder-4.0.0 - # optfeature "Markdown reports using Pweave" dev-python/spyder-reports - # Plugins with no release yet: - # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager - # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs -} diff --git a/dev-python/spyder/spyder-6.0.2.ebuild b/dev-python/spyder/spyder-6.0.2.ebuild deleted file mode 100644 index c1d61ad95b78..000000000000 --- a/dev-python/spyder/spyder-6.0.2.ebuild +++ /dev/null @@ -1,195 +0,0 @@ -# Copyright 1999-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=setuptools - -inherit distutils-r1 optfeature xdg #virtualx - -# Commit of documentation to fetch -DOCS_PV="fa91f0e9c8c2da33e7ec974e6b0e2a5ed6f04b10" - -DESCRIPTION="The Scientific Python Development Environment" -HOMEPAGE=" - https://www.spyder-ide.org/ - https://github.com/spyder-ide/spyder/ - https://pypi.org/project/spyder/ -" -SRC_URI=" - https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz - https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - >=dev-python/aiohttp-3.9.3[${PYTHON_USEDEP}] - >=dev-python/asyncssh-2.14.0[${PYTHON_USEDEP}] - <dev-python/asyncssh-3.0.0[${PYTHON_USEDEP}] - >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}] - >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}] - >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}] - >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}] - >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}] - >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}] - >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}] - >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}] - >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}] - >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}] - >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}] - >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}] - >=dev-python/psutil-5.3[${PYTHON_USEDEP}] - >=dev-python/pygithub-2.3.0[${PYTHON_USEDEP}] - >=dev-python/pygments-2.0[${PYTHON_USEDEP}] - >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}] - >=dev-python/python-lsp-black-2.0.0[${PYTHON_USEDEP}] - <dev-python/python-lsp-black-3.0.0[${PYTHON_USEDEP}] - >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}] - >=dev-python/pyuca-1.2[${PYTHON_USEDEP}] - >=dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}] - <dev-python/qdarkstyle-3.3.0[${PYTHON_USEDEP}] - >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}] - >=dev-python/qtawesome-1.3.1[${PYTHON_USEDEP}] - <dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}] - >=dev-python/qtconsole-5.6.1[${PYTHON_USEDEP}] - <dev-python/qtconsole-5.7.0[${PYTHON_USEDEP}] - >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},quick,svg,webengine] - >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}] - >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}] - >=dev-python/spyder-kernels-3.0.0[${PYTHON_USEDEP}] - <dev-python/spyder-kernels-3.2.0[${PYTHON_USEDEP}] - >=dev-python/superqt-0.6.2[${PYTHON_USEDEP}] - <dev-python/superqt-1.0.0[${PYTHON_USEDEP}] - >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}] - >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}] - >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}] - >=dev-python/yarl-1.9.4[${PYTHON_USEDEP}] -" - -# BDEPEND=" -# test? ( -# dev-python/cython[${PYTHON_USEDEP}] -# dev-python/flaky[${PYTHON_USEDEP}] -# dev-python/matplotlib[tk,${PYTHON_USEDEP}] -# dev-python/pandas[${PYTHON_USEDEP}] -# dev-python/pillow[${PYTHON_USEDEP}] -# dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}] -# dev-python/pytest-mock[${PYTHON_USEDEP}] -# dev-python/pytest-order[${PYTHON_USEDEP}] -# dev-python/pytest-qt[${PYTHON_USEDEP}] -# dev-python/pytest-timeout[${PYTHON_USEDEP}] -# dev-python/pyyaml[${PYTHON_USEDEP}] -# dev-python/qtpy[${PYTHON_USEDEP}] -# dev-python/scipy[${PYTHON_USEDEP}] -# dev-python/sympy[${PYTHON_USEDEP}] -# )" - -# Based on the courtesy of Arfrever -# This patch removes a call to update-desktop-database during build -# This fails because access is denied to this command during build -PATCHES=( - "${FILESDIR}/${PN}-5.0.0-build.patch" -) - -DOCS=( - "AUTHORS.txt" - "Announcements.md" - "CHANGELOG.md" - "CODE_OF_CONDUCT.md" - "CONTRIBUTING.md" - "NOTICE.txt" - "README.md" - "RELEASE.md" -) - -# distutils_enable_tests pytest -# TODO: Package sphinx-design -# distutils_enable_sphinx docs/doc \ -# dev-python/sphinx-panels \ -# dev-python/pydata-sphinx-theme \ -# dev-python/sphinx-multiversion - -python_prepare_all() { - # move docs into workdir - mv ../spyder-docs-${DOCS_PV}* docs || die - - # these dependencies are packaged separately: - # dev-python/spyder-kernels, - # dev-python/python-lsp-server, - # dev-python/qdarkstyle - rm -r external-deps/* || die - # runs against things packaged in external-deps dir - rm conftest.py || die - - # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5] - # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine] - # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server - # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder - # Do not depend on ipython, this dependency is carried in spyder-kernels - # The explicit version requirements only make things more complicated, if e.g. - # pyls-spyder gains compatibility with a newer version of python-lsp-server - # in a new release it will take time for this information to propagate into - # the next spyder release. So just remove the dependency and let the other - # ebuilds handle the version requirements to speed things up and prevent - # issues such as Bug 803269. - sed -i \ - -e "/'pyqt5[ 0-9<=>.,]*',/d" \ - -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \ - -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \ - -e "/'parso[ 0-9<=>.,]*',/d" \ - -e "/'jedi[ 0-9<=>.,]*',/d" \ - -e "/'pylint[ 0-9<=>.,]*',/d" \ - setup.py || die - # -e "/'ipython[ 0-9<=>.,]*',/d" \ - sed -i \ - -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \ - -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \ - -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \ - -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \ - -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \ - spyder/dependencies.py || die - # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \ - - # do not check deps, fails because we removed dependencies above - sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \ - spyder/tests/test_dependencies_in_sync.py || die - - # skip online test - rm spyder/widgets/github/tests/test_github_backend.py || die - - distutils-r1_python_prepare_all -} - -# Calling pytest directly somehow passes the pytest arguments to spyder -# causing an invalid argument error -# python_test() { -# virtx "${EPYTHON}" runtests.py -# } - -pkg_postinst() { - xdg_pkg_postinst - - optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib - optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas - optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy - optfeature "Symbolic mathematics in the IPython console" dev-python/sympy - optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy - optfeature "Run Cython files in the IPython console" dev-python/cython - optfeature "The hdf5/h5py plugin" dev-python/h5py - optfeature "The line profiler plugin" dev-python/spyder-line-profiler - optfeature "Vim key bindings" dev-python/spyder-vim - optfeature "Unittest support" dev-python/spyder-unittest - optfeature "System terminal inside spyder" dev-python/spyder-terminal - optfeature "Jupyter notebook support" dev-python/spyder-notebook - # spyder-memory-profiler is not compatible with spyder-5.2+ yet - # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler - # spyder-reports not yet updated to >=spyder-4.0.0 - # optfeature "Markdown reports using Pweave" dev-python/spyder-reports - # Plugins with no release yet: - # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager - # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs -} diff --git a/dev-python/spyder/spyder-6.0.3.ebuild b/dev-python/spyder/spyder-6.0.3-r1.ebuild index 18f16ca34939..556d62dbf625 100644 --- a/dev-python/spyder/spyder-6.0.3.ebuild +++ b/dev-python/spyder/spyder-6.0.3-r1.ebuild @@ -57,7 +57,7 @@ RDEPEND=" <dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}] >=dev-python/qtconsole-5.6.1[${PYTHON_USEDEP}] <dev-python/qtconsole-5.7.0[${PYTHON_USEDEP}] - >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},quick,svg,webengine] + >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP},pyqt6,quick,svg,webengine] >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}] >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}] >=dev-python/spyder-kernels-3.0.2[${PYTHON_USEDEP}] diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest index 9c1a1c4ab9a0..c83b2a7442af 100644 --- a/dev-python/stripe/Manifest +++ b/dev-python/stripe/Manifest @@ -1,2 +1,3 @@ DIST stripe-11.3.0.tar.gz 1367031 BLAKE2B b46cae95059a1aa7087743772b5cb23456e64b276befa852b0c13ce417f624ac6d9a90e64a43aeb3d60941ad73cc87afa114d4161c5e5b3e5ae6033b4378f6c1 SHA512 4b8934653f138b86f7d64977f2817fc0ad54a89d794521af7d1f193ecdcbb366e78ece286a3c768f946d281aba998443e675e6db66fcd3a0084641053e55a182 DIST stripe-11.4.0.tar.gz 1378868 BLAKE2B 86444654843d90cd068c8f5b240fbc7f141a128c31b4d85e2b096fa202b5f1a662891f4ac0902725ebb2ec54f61e4fc45558239caa31f7db5c67bfc0c72e758f SHA512 083f9fee32d48c1a4097168871f56b9027f5098e9628b6ac29440ab4fced445b824795ba77129edf1e5cd41f99f086f26475d289d65f2e2fff94103913aa9d6a +DIST stripe-11.4.1.tar.gz 1379118 BLAKE2B 6acbbe35ab7625d9bb0be6c92b901c71b9d93a69d5b1bfd99826cdd1288db10a87c07e88a7f66a08dece7d84767b43760c3487e9f601658b2a0d13c27f9405d5 SHA512 1bf68094002226d9b47cf29cae54116f7fb5cbc7cb000a7dc3d95eb0cbbcb75b5979348aabab4417ca455a8a28bd8d90756f6258ff0ff1c6b0af3130e8fe0563 diff --git a/dev-python/stripe/stripe-11.4.1.ebuild b/dev-python/stripe/stripe-11.4.1.ebuild new file mode 100644 index 000000000000..87791d0e2036 --- /dev/null +++ b/dev-python/stripe/stripe-11.4.1.ebuild @@ -0,0 +1,95 @@ +# 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 pypi + +DESCRIPTION="Stripe Python bindings" +HOMEPAGE=" + https://github.com/stripe/stripe-python/ + https://pypi.org/project/stripe/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="telemetry" + +RDEPEND=" + >=dev-python/requests-2.20[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}] +" +# please bump dev-util/stripe-mock dep to the latest version on every bump +BDEPEND=" + test? ( + >=dev-util/stripe-mock-0.192.0 + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/anyio[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/trio[${PYTHON_USEDEP}] + net-misc/curl + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md ) + +src_prepare() { + distutils-r1_src_prepare + + if ! use telemetry; then + sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # exception message mismatch with aiohttp-3.10.0 + "tests/test_integration.py::TestIntegration::test_async_timeout[asyncio-aiohttp]" + "tests/test_integration.py::TestIntegration::test_async_raw_request_timeout[asyncio-aiohttp]" + # Internet + tests/test_http_client.py::TestLiveHTTPClients::test_httpx_request_async_https + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests -p anyio -p pytest_mock +} + +src_test() { + local stripe_mock_port=12111 + local stripe_mock_max_port=12121 + local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log" + # Try to start stripe-mock until we find a free port + while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do + ebegin "Trying to start stripe-mock on port ${stripe_mock_port}" + stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" & + local stripe_mock_pid=${!} + sleep 2 + # Did stripe-mock start? + curl --fail -u "sk_test_123:" \ + "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null + eend ${?} "Port ${stripe_mock_port} unavailable" + if [[ ${?} -eq 0 ]]; then + einfo "stripe-mock running on port ${stripe_mock_port}" + break + fi + (( stripe_mock_port++ )) + done + if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then + eerror "Unable to start stripe-mock for tests" + die "Please see the logfile located at: ${stripe_mock_logfile}" + fi + + local -x STRIPE_MOCK_PORT=${stripe_mock_port} + distutils-r1_src_test + + # Tear down stripe-mock + kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock" +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index 115efdafcc89..ac1b7a3c3e8b 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -1,6 +1,9 @@ +DIST pubgrub-05e8d12cea8d72c6d2d017900e478d0abd28fef4.gh.tar.gz 97027 BLAKE2B b8f5a454dce1b845f4d2ad562a5858e490ef25874b950d12336cdafe2d52dd44e83e86be13ed9637ee8dd1bf312114b1cf07e54523292e24b182c6ae999b398d SHA512 010180c7a294be0727647489cef0dde7024f92d827409872fe596471eb44451ac4a08dc4928fbc774a8b04c944b7daffc4684b0d868eee904222cbf673299f62 DIST pubgrub-57832d0588fbb7aab824813481104761dc1c7740.gh.tar.gz 95600 BLAKE2B 8bdf971091d6816c326925c4603aa9296d6a92c2ede6a6245e0e5e64b741863e5d93aac03990004c13bd592d3d6ca2c662500e4c8d33e9959d6df9e1023a41e5 SHA512 8eae3c00928d921ca7cfdeff124962e477ae32387fb4b1ebfecd968181ec6bb2c2d96c918d8a9f521f1b9666eb6272c9f982b444d22a432f9471414f081694ee DIST rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.gh.tar.gz 51763 BLAKE2B 59d053bc6692014d884a9247dea1b57a8789469ba2abbcc92ec21bb0022cbd74874afc463082156ab697aa6c80635019857a5d7e2dc150274e8b04d720518c36 SHA512 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a DIST tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.gh.tar.gz 37106 BLAKE2B c30d1c33f6f52e2bc83823eb6319f8a3e462b7c7408fb6a08f995747857ef234f81db4135a04f9d183095fe473a4087f8f0cb89d8f87ef4400285d2ce034ec22 SHA512 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 +DIST uv-0.5.10-crates.tar.xz 46466896 BLAKE2B 94093c9d74732dba6516a80fa24c3af8e91df7c97fce4eb7f1914d278060459c09d5c136d5b0a6eba1533f77f4310150761024fd76fded46815c1250b2c2397e SHA512 cef96bee97c01ce43e0274094524f08d51b6c5e26b29e777d5b7462a6cb40b1b0d03e63460cffffdaa217cdb9a8153f608a242d937ad71e55e24f37ad5b83471 +DIST uv-0.5.11.gh.tar.gz 3145749 BLAKE2B 7473182f05accb38a2253327f95d874a62defdd43f7b1937e0f03674882c2fc2daaca5b5087a870bc72200342fd0b423c7ffc29dea91959cc6237c241e5b6c73 SHA512 a6f8fea5d30a387e3f7efcdd3b5f721567d48fa55f16ac67cd26f67eff17cd892ba1f4e0f774f8911e679100bcc3e2a9adb8fde7d1082cf3a1419f4227e85a03 DIST uv-0.5.6-crates.tar.xz 46263172 BLAKE2B 73b1d2dc957f89f923dda09a8c038426041292c442ce253ff9110f996cd1e1f892a5a438d8e1c894fc0d823401cced0ddc8ad88b5e6a83199af7055a04ce85dc SHA512 c9d4f8085416bffb1e1872fd907d15a50cae0c0c5fba994d27b3acdc3c836dffd771558246573af4bb7467353a031ea56018d5ae1fbdffa4f63988462de00343 DIST uv-0.5.6.gh.tar.gz 2952255 BLAKE2B b815b60b99f959751f5839365b8b210919247ad99bff93ee4d202bc152bd06b83a62914cfbf341bfddb5b2c87d9e546c5e2a6d1baff1599d0218160ee89de504 SHA512 fc8c7f4f60a3d2ce997341450daf20ad039ef379ac5dd4575f8db0327284bd8278419b66f8f9695f2701a9579ab004b5b60476bd8dc4c27314211f795118bc5a DIST uv-0.5.8-crates.tar.xz 46445240 BLAKE2B 119e471d7f9a851179e2e5d9cd15cb94476355e27db36b05378036b7f9a3e0021a33a2fd29ed9e5a67cd7d962783b3ea96145ca9092da0a6a114899ff2b712fd SHA512 d517fdc9e48b4cb4acacf1d3c986c7e348ee65c89cb5bdbd9c3947f66d450f7f59b5a4f5f0f45560d5241bc8f7756039014cf350a8aea22be876c197759e5aff diff --git a/dev-python/uv/uv-0.5.11.ebuild b/dev-python/uv/uv-0.5.11.ebuild new file mode 100644 index 000000000000..021234b01c6e --- /dev/null +++ b/dev-python/uv/uv-0.5.11.ebuild @@ -0,0 +1,170 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%' + [pubgrub]='https://github.com/astral-sh/pubgrub;05e8d12cea8d72c6d2d017900e478d0abd28fef4;pubgrub-%commit%' + [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' + [version-ranges]='https://github.com/astral-sh/pubgrub;05e8d12cea8d72c6d2d017900e478d0abd28fef4;pubgrub-%commit%/version-ranges' +) + +RUST_MIN_VER="1.83.0" + +inherit cargo check-reqs + +CRATE_PV=0.5.10 +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT + MPL-2.0 Unicode-3.0 Unicode-DFS-2016 ZLIB +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-lang/python:3.8 + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + !!~dev-python/uv-0.5.0 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_configure() { + local myfeatures=( + git + pypi + python + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + # work around https://github.com/astral-sh/uv/issues/4376 + local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} + local -x COLUMNS=100 + local -x PYTHONDONTWRITEBYTECODE= + # fix tests failing because of our config + local -x XDG_CONFIG_DIRS=${T} + + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install + + insinto /etc/xdg/uv + newins - uv.toml <<-EOF || die + # These defaults match Fedora, see: + # https://src.fedoraproject.org/rpms/uv/pull-request/18 + + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Disable that to make downloading opt-in, and especially + # to avoid unnecessarily fetching custom Python when the distro + # package would be preferable. Python builds can still be + # downloaded manually via "uv python install". + # + # https://docs.astral.sh/uv/reference/settings/#python-downloads + python-downloads = "manual" + + # By default ("managed"), uv always prefers self-installed + # Python versions over the system Python, independently + # of versions. Since we generally expect users to use that + # to install old Python versions not in ::gentoo anymore, + # this effectively means that uv would end up preferring very + # old Python versions over the newer ones that are provided + # by the system. Default to using the system versions to avoid + # this counter-intuitive behavior. + # + # https://docs.astral.sh/uv/reference/settings/#python-preference + python-preference = "system" + EOF +} diff --git a/dev-python/ws4py/Manifest b/dev-python/ws4py/Manifest index 7f62255c2b2b..d1f5b36da5d0 100644 --- a/dev-python/ws4py/Manifest +++ b/dev-python/ws4py/Manifest @@ -1 +1,2 @@ DIST ws4py-0.5.1.tar.gz 116673 BLAKE2B 31db304800f0d3da61dc4c1a3381a8fcfcfa8f16b36d916311cc32f1d294c9f7b3627dac673edf824f529f485f825ca418ab1e1a8a2fda5583c6a6a1bd9b752c SHA512 4c90d66d37fb5bdc8f7fc9fd184b20a7dc2dae811ecf3a041477e3c26a2577008be7041799daca5b8c0de65cb2454022a6c135cf02534ca98b6946abbfce0e11 +DIST ws4py-0.6.0.tar.gz 118090 BLAKE2B d5dde49408a0d2384e3225ab5d4f741b887dca6979ee9ece75edc0251920a5075e07c3642c3bd24dbce130fc8a833bfbe5aebc4bb7771b267191587c9c88ff6e SHA512 515b7f9f16984e92374f5bd4ecb9d56fc5060c29abf1eb477faa3a6d7f26866cadd74498dd4bc78d3047f19674d2881310f840df3a03cbaa21dd248a43900e7b diff --git a/dev-python/ws4py/ws4py-0.6.0.ebuild b/dev-python/ws4py/ws4py-0.6.0.ebuild new file mode 100644 index 000000000000..addcc0e48161 --- /dev/null +++ b/dev-python/ws4py/ws4py-0.6.0.ebuild @@ -0,0 +1,43 @@ +# Copyright 2022-2024 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_REQ_USE="threads(+)?" + +inherit distutils-r1 + +DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy" +HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python" +MY_PN="WebSocket-for-Python" +SRC_URI="https://github.com/Lawouach/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" +KEYWORDS="amd64 arm x86" +LICENSE="BSD" +SLOT="0" +IUSE="+client +server test +threads" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}] + >=dev-python/cython-0.19.1[${PYTHON_USEDEP}] + client? ( >=dev-python/tornado-3.1[${PYTHON_USEDEP}] ) + server? ( >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] ) +" +DEPEND=" + test? ( + >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] + >=dev-python/mock-1.0.1[${PYTHON_USEDEP}] + ) +" + +S="${WORKDIR}/${MY_PN}-${PV}" + +python_test() { + "${EPYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}" +} + +python_install() { + distutils-r1_python_install + use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client + use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server +} diff --git a/dev-python/ytmusicapi/Manifest b/dev-python/ytmusicapi/Manifest index 59fb0590f9d5..bfe1c01c54d3 100644 --- a/dev-python/ytmusicapi/Manifest +++ b/dev-python/ytmusicapi/Manifest @@ -1 +1,2 @@ DIST ytmusicapi-1.8.2.tar.gz 284079 BLAKE2B c47560141062bd43af8334132c16d095daa3e8a6accc90f7c2300f602d85627bcefdda6ef05f2371bef11bd33be1f83575cda1b6bd386a0b449f82b9cbfcd8b9 SHA512 6396f1e245bc390251ca37fe896cf41bb0c5608608134a7d8cc07895aca35cb348e18fdd861b830d8efc4399d5931b82e489e734914f9b685606a2bd7af890ea +DIST ytmusicapi-1.9.0.tar.gz 292697 BLAKE2B da46b1d5687b5c2f9906e17ec522f918f2286b3ed847c1d43ec3e4e067fc90e8af52f7291c72ae91ccd3cecc7ac07dd9379bef95e9e6b2189d65592dea7bada1 SHA512 4a1236590c0500ffc8a6b4cf809d29ea10998b8ea89e5fde91e1ed1fa65edfcd2fc8e94690e1f332c52fe812669e3c148d405dd821ec4d38b8508e95247183a9 diff --git a/dev-python/ytmusicapi/ytmusicapi-1.9.0.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.9.0.ebuild new file mode 100644 index 000000000000..c9b957dae4df --- /dev/null +++ b/dev-python/ytmusicapi/ytmusicapi-1.9.0.ebuild @@ -0,0 +1,24 @@ +# 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} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Unofficial API for YouTube Music" +HOMEPAGE="https://ytmusicapi.readthedocs.io/ + https://github.com/sigma67/ytmusicapi/" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="test" + +RDEPEND=" + dev-python/requests[${PYTHON_USEDEP}] +" + +distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme diff --git a/dev-python/zenlib/Manifest b/dev-python/zenlib/Manifest index 764953517771..5937369b9723 100644 --- a/dev-python/zenlib/Manifest +++ b/dev-python/zenlib/Manifest @@ -1,2 +1,2 @@ DIST zenlib-2.4.1.gh.tar.gz 21281 BLAKE2B e6a4005d7e5db95ccc18ecb87c10180e148bcf0a860923ac71177c90d448186247e08eee9f2c5dcb7e0803536dc07bfa3137b363a410ea2e03f875c4096fdadc SHA512 a8ceadbda243583ebe45fb56a4a72d2693505d9123346b3a140ccb16ed7de85d60caafffac0274e3f6289b0b82a82643feba039d85ea4f159fb259c7bdd46725 -DIST zenlib-3.0.0.gh.tar.gz 20556 BLAKE2B 9912a8532051028b6f19e463ddde0120d28ee844a31a33987736fc2f7dce334394275b24f469b21adbea4295124531d188fdf3ef646536ff3db1a0f9838b475a SHA512 052c5f5f620529b5de3c3903d64ef57e590cd9d104ea8ace39137fefa894784251895b973276d53cefaaf711c3c83170da6c97e4f408c0f3a94da813cf3acfae +DIST zenlib-3.0.1.gh.tar.gz 20583 BLAKE2B 9f6e1e349488bd97c9f85b21fb629067b6f207077604e93f8692e98773f2637149f69a4b97328c32fc198660f4fee880110bcef428717218bde5a83c451e4eae SHA512 759684f376bd7f297dd4539289159c2b163b397d80a99a1cda2882ebb125cabdcbf18884299d67af2cb8c50c3fb36af06c48fa29d62121a40406f8c3857732fd diff --git a/dev-python/zenlib/zenlib-3.0.0.ebuild b/dev-python/zenlib/zenlib-3.0.1.ebuild index 86ec550ccfbe..86ec550ccfbe 100644 --- a/dev-python/zenlib/zenlib-3.0.0.ebuild +++ b/dev-python/zenlib/zenlib-3.0.1.ebuild |
