From 62a3429bbdad3c34dea657d30c6858fa102f7c04 Mon Sep 17 00:00:00 2001 From: "Liguros - Gitlab CI/CD [develop]" Date: Thu, 31 Jul 2025 07:04:00 +0000 Subject: Adding metadata --- dev-python/awkward-cpp/Manifest | 1 + dev-python/awkward-cpp/awkward-cpp-48.ebuild | 38 +++++ dev-python/boto3/Manifest | 1 + dev-python/boto3/boto3-1.39.17.ebuild | 53 ++++++ dev-python/botocore/Manifest | 1 + dev-python/botocore/botocore-1.39.17.ebuild | 67 ++++++++ dev-python/faker/Manifest | 1 + dev-python/faker/faker-37.4.3.ebuild | 42 +++++ dev-python/freezegun/Manifest | 1 + dev-python/freezegun/freezegun-1.5.4.ebuild | 31 ++++ dev-python/greenlet/Manifest | 2 - dev-python/greenlet/greenlet-3.1.1.ebuild | 50 ------ dev-python/greenlet/greenlet-3.2.2.ebuild | 50 ------ dev-python/langdetect/Manifest | 2 - .../files/langdetect-1.0.9-explicit-config.patch | 13 ++ dev-python/langdetect/langdetect-1.0.9.ebuild | 6 +- dev-python/langdetect/metadata.xml | 10 +- dev-python/pebble/Manifest | 1 + dev-python/pebble/pebble-5.1.3.ebuild | 25 +++ dev-python/pyfakefs/Manifest | 1 + dev-python/pyfakefs/pyfakefs-5.9.2.ebuild | 58 +++++++ dev-python/pyrate-limiter/Manifest | 1 + .../pyrate-limiter/pyrate-limiter-3.9.0.ebuild | 74 +++++++++ dev-python/python-tests/Manifest | 4 + .../python-tests/python-tests-0.3.13.5_p1.ebuild | 71 ++++++++ .../python-tests-0.3.14.0_rc1_p1.ebuild | 73 ++++++++ .../python-tests/python-tests-3.11.13_p1.ebuild | 76 +++++++++ .../python-tests/python-tests-3.12.11_p1.ebuild | 71 ++++++++ .../python-tests/python-tests-3.13.5_p1.ebuild | 71 ++++++++ .../python-tests/python-tests-3.14.0_rc1_p1.ebuild | 72 ++++++++ dev-python/stripe/Manifest | 1 + dev-python/stripe/stripe-12.4.0.ebuild | 93 +++++++++++ dev-python/uv-build/Manifest | 1 + dev-python/uv-build/uv-build-0.8.4.ebuild | 99 +++++++++++ dev-python/uv/Manifest | 2 + dev-python/uv/uv-0.8.4.ebuild | 184 +++++++++++++++++++++ 36 files changed, 1235 insertions(+), 112 deletions(-) create mode 100644 dev-python/awkward-cpp/awkward-cpp-48.ebuild create mode 100644 dev-python/boto3/boto3-1.39.17.ebuild create mode 100644 dev-python/botocore/botocore-1.39.17.ebuild create mode 100644 dev-python/faker/faker-37.4.3.ebuild create mode 100644 dev-python/freezegun/freezegun-1.5.4.ebuild delete mode 100644 dev-python/greenlet/greenlet-3.1.1.ebuild delete mode 100644 dev-python/greenlet/greenlet-3.2.2.ebuild create mode 100644 dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch create mode 100644 dev-python/pebble/pebble-5.1.3.ebuild create mode 100644 dev-python/pyfakefs/pyfakefs-5.9.2.ebuild create mode 100644 dev-python/pyrate-limiter/pyrate-limiter-3.9.0.ebuild create mode 100644 dev-python/python-tests/python-tests-0.3.13.5_p1.ebuild create mode 100644 dev-python/python-tests/python-tests-0.3.14.0_rc1_p1.ebuild create mode 100644 dev-python/python-tests/python-tests-3.11.13_p1.ebuild create mode 100644 dev-python/python-tests/python-tests-3.12.11_p1.ebuild create mode 100644 dev-python/python-tests/python-tests-3.13.5_p1.ebuild create mode 100644 dev-python/python-tests/python-tests-3.14.0_rc1_p1.ebuild create mode 100644 dev-python/stripe/stripe-12.4.0.ebuild create mode 100644 dev-python/uv-build/uv-build-0.8.4.ebuild create mode 100644 dev-python/uv/uv-0.8.4.ebuild (limited to 'dev-python') diff --git a/dev-python/awkward-cpp/Manifest b/dev-python/awkward-cpp/Manifest index d99f62145aa3..5270ead4b651 100644 --- a/dev-python/awkward-cpp/Manifest +++ b/dev-python/awkward-cpp/Manifest @@ -1,2 +1,3 @@ DIST awkward_cpp-46.tar.gz 1688149 BLAKE2B 0ea7c0c627a7a46b517d418b80b7e8d79f2b169c836a49ee7492be04df09a6ce228a60742af44803fa9f9e73c3e2eff80d0a5be521bf69c98d191d2f4df17f5f SHA512 787b7e85ae9cbf21cc2e5ae8434fffbc0b12a777a9fed6929e283d7e74dfbfedc6ccd2bd3e6b86c9cae3a75847a3f789d67e05ca49ccdf216434bd7f899ae715 DIST awkward_cpp-47.tar.gz 1485902 BLAKE2B f084779cd3a378b62d9244b453111b609bdeaa94a765a5e895e192e9cf28a85ccbe2ca29dab45bde698be9c35bc8fed800afd910747300c20ff8bd3f8c986f74 SHA512 9aaa9274a8da12310232f6fb9f8cdedd0c92b486970bd530cf11c5ba13d1838ed333f17319a130a3b8c2b729408f5c7278a8ceed2f1a1ccb35b11f4822ff9262 +DIST awkward_cpp-48.tar.gz 1485805 BLAKE2B a7b40ebc20766fa9c15d2ccbe8e7a5ee091be7239afc386ade1c71fc9003d8c41877d47bb7ca9fecdc5a90a552baf43abd0970c49d08314c2aeec09dd6d56345 SHA512 1c2209ca84c018ba5221e876bd3e388dbd41d9ec8a20816e3ce91421ec88971e9b922b2e3f9075f0bfeb292bc8c6dbef34aef461e235a88a10f77c80f4b3c2c8 diff --git a/dev-python/awkward-cpp/awkward-cpp-48.ebuild b/dev-python/awkward-cpp/awkward-cpp-48.ebuild new file mode 100644 index 000000000000..d4a498ca6972 --- /dev/null +++ b/dev-python/awkward-cpp/awkward-cpp-48.ebuild @@ -0,0 +1,38 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=scikit-build-core + +inherit distutils-r1 pypi + +DESCRIPTION="CPU kernels and compiled extensions for Awkward Array" +HOMEPAGE=" + https://github.com/scikit-hep/awkward/ + https://pypi.org/project/awkward-cpp/ +" + +# MIT from rapidjson +LICENSE="BSD MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + >=dev-python/numpy-1.18.0[${PYTHON_USEDEP}] +" +RDEPEND="${DEPEND}" +BDEPEND=" + >=dev-python/pybind11-3[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_prepare() { + default + # https://github.com/scikit-build/scikit-build-core/issues/912 + sed -i -e '/scikit-build-core/s:0\.11:0.8:' pyproject.toml || die +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 5b83353db07c..72745d203007 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -1,5 +1,6 @@ DIST boto3-1.39.14.gh.tar.gz 974493 BLAKE2B 14c6295f20cab6390c81d399585c9bd8291163a206e212400f44a23d871f43f02c76c0fae5201855cdd77cf45b598b5ceb86320b584fb48a5acb142133aa9d22 SHA512 332cc223c87f0823fded9c885c47892e0dd0abdd4346968425cbdec8e9eacd1d3d22720cb3a615876c47ba031b8b1f4a592d325c812e37f86690b0554438e9a4 DIST boto3-1.39.15.gh.tar.gz 975021 BLAKE2B 951591198b4d7b524f06165bd998d17fbdcdf54e3f47bac29b3e05966631fd4deb99dd038ff573bb072b95db5cf1f97697723bfe4ea52417031b21a5ed2e4a9e SHA512 00e22e88d75faede7925e8a57a91e2282874bf60f42406da9004874badd688d076916c46f2758fb56d54c9b383fd8092e83ab7876353affff459102694f4dd76 DIST boto3-1.39.16.gh.tar.gz 975565 BLAKE2B 51900d220e88faa8176a537ceb719ad8accada84c2036d921241439e0247e1a0e24c2923e5ecda9b0e7162ff024bbc5ce44173c3481fd9331348c2cfc41eb1ad SHA512 c40eb9235873272ef0e7483c19b093578d9114ed3e63e0c3f54cd1de0d231b56a586e891c91c07da00873cb087eef73a5dde630f7fa6239414cdfa1e118e7576 +DIST boto3-1.39.17.gh.tar.gz 976076 BLAKE2B eb302d08b217d8bdd9e843ab1e9d007faf31f8cb48e0bd0b08912127357dd151fb27b1c0fab2992ba9258bb0024854a05e549e4051a4c6ae3a8e9ebb1bc81574 SHA512 6f4677a3c9c4fb290667a814b9c3be0e2a1726baecd48241c3e6a474c9d87d2c2260bbcdce70fd437bb8b94b49c6be8a1634a5a8bee0e2ad8617b2599c71e0f4 DIST boto3-1.39.4.gh.tar.gz 967954 BLAKE2B 5e63cfb5c2381605475c928c4aec6cf303b99ca13eb67377e5a283e07d0de35eb6846352976a854632e72c34477f964b32ffc8f0fc178d10d7e95df8d4a145cc SHA512 dbe389b4eb1e8ac1f425f34bb96c5baecc42acdc608bef7ddc31e1fbaa3baa6850504cb9513494a6ca782755ce9264fd0d794960eeb495678ef1cb3d2c85fe90 DIST boto3-1.39.9.gh.tar.gz 971951 BLAKE2B d77a87e3035a2797ff67d49c3df329836c51b305c72f8ce01445b668802aa1a529424e744ddd18e142cd35a0680be51383b56512dca115506a1a0f4860657b47 SHA512 c6df821d3558ca1d234a4a1dea231467c0935dff7c34e6eb01b067d4d2396024308f70218a621064b111359bc5197b191bc8f4a099bcfcc5f4d5bf174ba859b0 diff --git a/dev-python/boto3/boto3-1.39.17.ebuild b/dev-python/boto3/boto3-1.39.17.ebuild new file mode 100644 index 000000000000..bd6e26787db4 --- /dev/null +++ b/dev-python/boto3/boto3-1.39.17.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..14} ) + +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 ~loong ~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.13.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +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() { + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 6ffe257fd3cd..5138f022bdc1 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -1,5 +1,6 @@ DIST botocore-1.39.14.gh.tar.gz 15002421 BLAKE2B a054f85ee0076f1445e122e497683b31387323f52036f914ab1474eb14b32f923459079c539d0a1109c7f622e93e614b8550f9d5ce6e34a0e0a581561e12c9d5 SHA512 716c68404b06b24442da1b1018cfe06256a2b2855f846bd061ef44332db8a624cfd8f16a06169b2337d1c8e54c034aa46f3f3063f6e8d6c4020d1e50d30b6910 DIST botocore-1.39.15.gh.tar.gz 15007399 BLAKE2B 4d155561f4fab9d6b6d5afd1c3506ade56d2764d21226983f2f6d84ee637a8dad1f6d71d0790b4edcbeea3d3fbe183f0fe005f650021d8dc1c6a6a87e621ed5b SHA512 094374ddc592d8d2652be0e49ec213f6897ec855a2d842cd3e363dcac6dd8137d521ca17946a68508018a9aec2bbc86af0acfe0130fa0d378cff473ce0c7c49d DIST botocore-1.39.16.gh.tar.gz 15015260 BLAKE2B 69e1e2a0a6a0929f05666e7826ee4bcd109397a4dd5ceb5a66c9972f3fc83d740fc72418fd4fa10a73b87cc08ee65165ce300b8b3f0b3c117420e9b2b51bc71b SHA512 6d03db9c568d5a975878b68c093e0425ecb46122cd2c996b51d16206ecc1eeb4984039ded8a2fe9bd01f92b646a8878047dac1a14c7d646e72deb5b1cb8ff2d9 +DIST botocore-1.39.17.gh.tar.gz 15022218 BLAKE2B adb0ddec7261dfadbd67a245952db7a5c17c2d4a9072af34402a7109fd0bbb6a4753d8343d8c1196e8e6a6671adf4122a3803a652f807cbfcc3830d8ed37a80d SHA512 c4e152abdd2dbb82517e00c3eee3d11dbf616beec81413287e8d44b76f32b5e79d85950245eb80c62ed51b9172a0114d9b5b63483ca626023df058d45c8a7de1 DIST botocore-1.39.4.gh.tar.gz 14901512 BLAKE2B 08fc52957828be9ccee26f61c4c006679c4f47754d4ecdf15eecfbb991808035215d1aac24f5ddf76a64673b23132b555fcb24adf57aacda8679abd7b0a16040 SHA512 3a68c96000a4e393abb68a9ca843ad62b74decd12ba551fa642efd21095fb3de50f0eeb8ee71f8934e9efa47486a138ee7bad6f3f4408fd5eff0a0fbf5053e6e DIST botocore-1.39.9.gh.tar.gz 14983953 BLAKE2B 929c2456d8efc4256326c255888ebca82edd837df2dc0beeb37119af5f397b74c8e1d1349c66adc79361fe0cbdcb74d268b04ca563fa0047b27cd8f70f755290 SHA512 421421a9ac2845e18ccc6904b443d2d53883c5f85df1b34245541546ef5369cd29fc7af8751507e7513d06c818ff195bc59d6ea4e773b8975d4de874ba79116d diff --git a/dev-python/botocore/botocore-1.39.17.ebuild b/dev-python/botocore/botocore-1.39.17.ebuild new file mode 100644 index 000000000000..a931fcaefec4 --- /dev/null +++ b/dev-python/botocore/botocore-1.39.17.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{11..14} ) + +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 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + =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_PLUGINS=() +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 + ) + + epytest tests/{functional,unit} +} diff --git a/dev-python/faker/Manifest b/dev-python/faker/Manifest index 891628cf15e1..0467051ecd1e 100644 --- a/dev-python/faker/Manifest +++ b/dev-python/faker/Manifest @@ -1,2 +1,3 @@ DIST faker-37.4.0.tar.gz 1901976 BLAKE2B bddd0aca8fc5ac63e07f5df7a57eaa2c660e3bbb14ea7882c7b2854bfb261bcb02e43ee0d03e78c140b187509426be687e84bad4e1aea2afdb8cbc1db2cf3587 SHA512 9210908c5ee7a5c6cd542cb99283ec95ada28fcdecd5a1f476db0492f2ca87503762bc21cf5e5f41a54ab590a0af58fa615869fccf2c04fc664e094cb7b56272 DIST faker-37.4.2.tar.gz 1902890 BLAKE2B a98587022e393513da85e0f2a21b63af7d763f5e5d9d5eba7bd2c9ffe0cb368f6128e73ebb341c93b41fdeb6f065ca2062ec9bfecf82491f0e401926bf05da4b SHA512 f625c289a2748d4df230a21233b1fd07cc06ab07a391ae6f5fa694792917c91f1de11897a723bb931103dba65e16b111b0a3281f2a2e4a39054de8163cf06a24 +DIST faker-37.4.3.tar.gz 1902953 BLAKE2B c8f98c50ee99d18877f84aa5e7fcfd736ffe3ac1da20b93bdd5d392b5eb369f4698b9b64e7ab15aa6b0050e0a6ced928a7b8289dfda247ecb619260edc6d960f SHA512 79230405798ecb36af4af2a7f53961dbae0557c2c9b431b94fccb6cf408efa8cdd097b9b3c80388f9f425803af0cfe24304bdfd56bea9011609177ecc50999b5 diff --git a/dev-python/faker/faker-37.4.3.ebuild b/dev-python/faker/faker-37.4.3.ebuild new file mode 100644 index 000000000000..439a870eb1bf --- /dev/null +++ b/dev-python/faker/faker-37.4.3.ebuild @@ -0,0 +1,42 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_PN=${PN^} +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="A Python package that generates fake data for you" +HOMEPAGE=" + https://github.com/joke2k/faker/ + https://pypi.org/project/Faker/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + dev-python/tzdata[${PYTHON_USEDEP}] + !dev-ruby/faker +" +BDEPEND=" + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP},tiff] + dev-python/validators[${PYTHON_USEDEP}] + ) +" + +# note: tests are flaky with xdist +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" ) +distutils_enable_tests pytest + +python_test() { + epytest + epytest --exclusive-faker-session tests/pytest/session_overrides +} diff --git a/dev-python/freezegun/Manifest b/dev-python/freezegun/Manifest index bda432c61eec..e490d8793eee 100644 --- a/dev-python/freezegun/Manifest +++ b/dev-python/freezegun/Manifest @@ -1,2 +1,3 @@ DIST freezegun-1.5.2.tar.gz 34855 BLAKE2B e1d3a17bdddccd91fcf99efdf18a6ebbeb7a01f74139c1086f51a149f2704cedc7773c229091d85f13d3c6f306a2813a7a73d5fd59d956c8e48011c9fb092a1c SHA512 63826a9b578dd7f90432c41aeca168a729e5c2fcaf6f8dac84c26d811147678f7416454115aa940e90f6902c6c38984939e28a8bcd04e139c2fc0c2a2d473274 DIST freezegun-1.5.3.tar.gz 35484 BLAKE2B 38891a2b2f5bb91d1480af1098fbb520a9abf7834b0b48664c27dfdeffd219c268f165da8360fda349c6d7b8bacbaa11d0ebcc3a6af104ee3145b6bccb934375 SHA512 e77910a28627c9c03056639b04bb83b6f76f3f1ff9dc96c25074b160b6c0c053576fd4edca33d11ca69ef06c8a3074af7e251865df8dbb143c045e50a95ccadd +DIST freezegun-1.5.4.tar.gz 35644 BLAKE2B 46077de4265e61654b6f162ef91000db695e2337e870163cf982d6ea9679e19a2950441d6500ebe37b208e56cdde84b6cb80e080d17388cecb497c12a5cb371d SHA512 1abed9492dc850be1f9717a049bc0c8da5a95b4554e1d6b0523dc51eec2deadeba2bca24644a0bf5f08a6e6e8a56d22a2ea0db13731a0f05b96397aafb8ff215 diff --git a/dev-python/freezegun/freezegun-1.5.4.ebuild b/dev-python/freezegun/freezegun-1.5.4.ebuild new file mode 100644 index 000000000000..3bf113710b8b --- /dev/null +++ b/dev-python/freezegun/freezegun-1.5.4.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2025 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="Let your Python tests travel through time" +HOMEPAGE=" + https://github.com/spulec/freezegun/ + https://pypi.org/project/freezegun/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + +RDEPEND=" + >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest diff --git a/dev-python/greenlet/Manifest b/dev-python/greenlet/Manifest index 90b387f17201..68888fa5e120 100644 --- a/dev-python/greenlet/Manifest +++ b/dev-python/greenlet/Manifest @@ -1,3 +1 @@ -DIST greenlet-3.1.1.tar.gz 186022 BLAKE2B 1d73f63d3bf881534bd64eca6510f32d1596261bd42176d396c7a0442494c73f8b03e57621bd11fc1bc67db550514c26a94926eaba8c53e08eecb3f999c9ba16 SHA512 915a6e22c20b235de472c61c7bc4cb60a08b79e29127c4fb817c362cee37f589bc362f12ed31bdc7dda91f49976d4e2784c8d13202bf598156a0aacacdb7f6fb -DIST greenlet-3.2.2.tar.gz 185797 BLAKE2B 8df91b479ea530bb8f5d3069fd4be507583e6ec5268e840c09620577fb8cf4ee3fd9266b0906d35679be61814b193eac1be78f1ccee447a15b99973ee3ce6493 SHA512 ed7b5adec413debc89d01a03768d14f2e29a4fe6ad72ac79d47baa09a556138e27c8f80771d567bf727c19ea67cc1e012fc8f031a910e5551969eb98c9dbbaa6 DIST greenlet-3.2.3.tar.gz 185752 BLAKE2B 4e5ea7c83622a954d9cab3da524c88970cc8a22759c3cdfdca1a718c5e630d895d844679292b48a4ebda93bcbbad1da0665c78bbf132cf1215456d742190a3ac SHA512 3153123855b4900387454fa1d4223b321980e3462e1e139b9f90b4eb2d0772102e06375055c6eb612530d7037169ff6e28166f95efe09073ea331db76284d39d diff --git a/dev-python/greenlet/greenlet-3.1.1.ebuild b/dev-python/greenlet/greenlet-3.1.1.ebuild deleted file mode 100644 index 7d0f8a460679..000000000000 --- a/dev-python/greenlet/greenlet-3.1.1.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -# Note: greenlet is built-in in pypy -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Lightweight in-process concurrent programming" -HOMEPAGE=" - https://greenlet.readthedocs.io/en/latest/ - https://github.com/python-greenlet/greenlet/ - https://pypi.org/project/greenlet/ -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 -hppa ~m68k ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - dev-python/objgraph[${PYTHON_USEDEP}] - dev-python/psutil[${PYTHON_USEDEP}] - ) -" - -distutils_enable_sphinx docs \ - dev-python/furo -distutils_enable_tests unittest - -src_prepare() { - distutils-r1_src_prepare - - # patch cflag manipulations out - sed -i -e 's:global_compile_args[.]append.*:pass:' setup.py || die - # broken assertions on py3.12+ - # https://github.com/python-greenlet/greenlet/issues/368 - sed -e 's:test_trace_events_multiple_greenlets_switching:_&: ' \ - -i src/greenlet/tests/test_tracing.py || die -} - -python_test() { - eunittest greenlet.tests -} diff --git a/dev-python/greenlet/greenlet-3.2.2.ebuild b/dev-python/greenlet/greenlet-3.2.2.ebuild deleted file mode 100644 index 54f679c67853..000000000000 --- a/dev-python/greenlet/greenlet-3.2.2.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -# Note: greenlet is built-in in pypy -PYTHON_COMPAT=( python3_{9,10,11,12,13} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Lightweight in-process concurrent programming" -HOMEPAGE=" - https://greenlet.readthedocs.io/en/latest/ - https://github.com/python-greenlet/greenlet/ - https://pypi.org/project/greenlet/ -" - -LICENSE="MIT PSF-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 -hppa ~m68k ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - dev-python/objgraph[${PYTHON_USEDEP}] - dev-python/psutil[${PYTHON_USEDEP}] - ) -" - -distutils_enable_sphinx docs \ - dev-python/furo -distutils_enable_tests unittest - -src_prepare() { - distutils-r1_src_prepare - - # patch cflag manipulations out - sed -i -e 's:global_compile_args[.]append.*:pass:' setup.py || die - # broken assertions on py3.12+ - # https://github.com/python-greenlet/greenlet/issues/368 - sed -e 's:test_trace_events_multiple_greenlets_switching:_&: ' \ - -i src/greenlet/tests/test_tracing.py || die -} - -python_test() { - eunittest greenlet.tests -} diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest index d12ab8aeaca8..a11d7c268c91 100644 --- a/dev-python/langdetect/Manifest +++ b/dev-python/langdetect/Manifest @@ -1,3 +1 @@ DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db -EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e -MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45 diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch new file mode 100644 index 000000000000..637368d2f237 --- /dev/null +++ b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch @@ -0,0 +1,13 @@ +Fix "Package 'langdetect.profiles' is absent from the `packages` configuration." + +--- a/setup.py ++++ b/setup.py +@@ -18,7 +18,7 @@ setup( + author_email='michal.danilak@gmail.com', + url='https://github.com/Mimino666/langdetect', + keywords='language detection library', +- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'], ++ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'], + include_package_data=True, + install_requires=['six'], + license='MIT', diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild index 56733bbffc48..99577c43fc3e 100644 --- a/dev-python/langdetect/langdetect-1.0.9.ebuild +++ b/dev-python/langdetect/langdetect-1.0.9.ebuild @@ -1,9 +1,9 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) DISTUTILS_USE_PEP517=setuptools inherit distutils-r1 pypi @@ -19,4 +19,6 @@ KEYWORDS="~amd64" RDEPEND="dev-python/six[${PYTHON_USEDEP}]" +PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" ) + distutils_enable_tests unittest diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml index 020e07f2a3dd..c0f74ac187e2 100644 --- a/dev-python/langdetect/metadata.xml +++ b/dev-python/langdetect/metadata.xml @@ -2,11 +2,9 @@ - marcin.deranek@slonko.net - Marcin Deranek + pastalian46@gmail.com + Takuya Wakazono - - https://github.com/Mimino666/langdetect/issues - - slonko-overlay + + gentoo-guru-overlay \ No newline at end of file diff --git a/dev-python/pebble/Manifest b/dev-python/pebble/Manifest index 9698e1a07416..47df05863e4e 100644 --- a/dev-python/pebble/Manifest +++ b/dev-python/pebble/Manifest @@ -1,2 +1,3 @@ DIST pebble-5.1.1.tar.gz 38672 BLAKE2B 664c72006c0ac48cab72c8c28f131d881155e9abd59928fee13c4d037b913c87069fe46dd9b4126440991c76564f3dbd89a806a455461ecaa152c19aecbfa403 SHA512 ee63faa442e0d5f7c6b34b7a9af35a3979ef6bfde8d5672dd73d605afbb6647df9a298194f0271a5ae7e34f6a20ffb70af0e00b21dfbc612240fe213189dfdeb DIST pebble-5.1.2.tar.gz 38813 BLAKE2B 1fdb79d3bd9f184d8f381c1f8286491c85b99acd38251facf58473c3fb07b0b286c0157319a6412c745d8d50548b85049d01a95ff279c1258c72650851afa03c SHA512 a153ce777291111015bd8e611f81ad54108435fc72d2acad13547a4f4add128864088bf5622644bb07cd76647fe6f9b49139f3fcbe2d4b540efcfe43cbf53d73 +DIST pebble-5.1.3.tar.gz 39027 BLAKE2B 7a1a80619fdbae4a5bce7a3646b8fc73a6cd17317fe0a6da7e6b98cc4555cd6658e1322357954d4356ec5744abe68256c45e775df534cc3a60fa2b32eae627bd SHA512 8baea6fdf20f592dadbea51c5fa10e1d51f8c6dde4ddca50fedb0cad4daa994f6e093b2b3f2fbac2fde586dd88b5a057c27418f480731ee5edb6f168fc85fad5 diff --git a/dev-python/pebble/pebble-5.1.3.ebuild b/dev-python/pebble/pebble-5.1.3.ebuild new file mode 100644 index 000000000000..74a219e89c1b --- /dev/null +++ b/dev-python/pebble/pebble-5.1.3.ebuild @@ -0,0 +1,25 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_PN=${PN^} +PYTHON_COMPAT=( python3_{11..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Threading and multiprocessing eye-candy" +HOMEPAGE=" + https://pebble.readthedocs.io/ + https://github.com/noxdafox/pebble/ + https://pypi.org/project/Pebble/ +" + +LICENSE="LGPL-3+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +EPYTEST_PLUGINS=() +EPYTEST_RERUNS=5 +distutils_enable_tests pytest diff --git a/dev-python/pyfakefs/Manifest b/dev-python/pyfakefs/Manifest index 488407de055a..1575e49294c4 100644 --- a/dev-python/pyfakefs/Manifest +++ b/dev-python/pyfakefs/Manifest @@ -1 +1,2 @@ DIST pyfakefs-5.9.1.gh.tar.gz 255569 BLAKE2B 510e04d23eba15fe3b74c973ef8856851a2cc5b9411273456f631b086af6fa72a4444c1cf4fcd0bb1f59ccc3e551144883181897a8d74736f7e1ed9f16efa303 SHA512 4d869897b98c73e73397032513304116ec1f3740f35831df053e9e80a6d50a5b063034c44269b6c8488119845246f7a4201af6d06ea7611ed988a11564fa0c5a +DIST pyfakefs-5.9.2.gh.tar.gz 256364 BLAKE2B 2efa560d8492075570f3e06ea254fbfa550d0edc0bde52b4c94ffeb1a0cbbe246d89d71bb3925129164140793a2ec629b41ba36675c5673781aafa6104b24370 SHA512 323ba306cf7252645eeafb33dc8c7c5c7296dc7418acac7c9c62b8673d658ad737bd1541f5b18e988d718a6442c193d30608720ece6414a1fbb6dbf464f5ddd5 diff --git a/dev-python/pyfakefs/pyfakefs-5.9.2.ebuild b/dev-python/pyfakefs/pyfakefs-5.9.2.ebuild new file mode 100644 index 000000000000..cb2af549a025 --- /dev/null +++ b/dev-python/pyfakefs/pyfakefs-5.9.2.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2025 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 + +DESCRIPTION="A fake file system that mocks the Python file system modules" +HOMEPAGE=" + https://github.com/pytest-dev/pyfakefs/ + https://pypi.org/project/pyfakefs/ +" +SRC_URI=" + https://github.com/pytest-dev/pyfakefs/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +EPYTEST_PLUGINS=( "${PN}" ) +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # requires *.dist-info/RECORD file that we're stripping + pyfakefs/tests/fake_filesystem_test.py::RealFileSystemAccessTest::test_add_package_metadata + ) + local EPYTEST_IGNORE=( + # test for regression with opentimelineio package + pyfakefs/pytest_tests/segfault_test.py + # test for regression with undefined package + pyfakefs/pytest_tests/pytest_fixture_test.py + ) + + if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + pyfakefs/pytest_tests/pytest_reload_pandas_test.py + ) + fi + + case ${EPYTHON} in + pypy3.11) + EPYTEST_DESELECT+=( + # TODO: this test messes up everything + pyfakefs/tests/fake_filesystem_unittest_test.py::TestDeprecationSuppression::test_no_deprecation_warning + # TODO + pyfakefs/tests/fake_pathlib_test.py::SkipPathlibTest::test_exists + ) + ;; + esac + + epytest +} diff --git a/dev-python/pyrate-limiter/Manifest b/dev-python/pyrate-limiter/Manifest index 3c4576e2918c..c26cca4fa3e3 100644 --- a/dev-python/pyrate-limiter/Manifest +++ b/dev-python/pyrate-limiter/Manifest @@ -1,2 +1,3 @@ DIST pyrate_limiter-3.7.1.tar.gz 282141 BLAKE2B c2d55704f8357cdbd48efacafed6c10bc3e28d80b1a4e3f847cf7d8e91f2aa5dd8dfca42bf00462cc1ecef70b5df9d4dfde1fa3c1fa4925c144260850ad8d61b SHA512 e63436dbbf42935a23eb5f27ec6864727baca478bfc197a77aa76fb3f502b51a64bec3cad8707da259addb6d3a0bb34109497b637c5ac5db95e47a04822d34b7 DIST pyrate_limiter-3.8.1.tar.gz 283411 BLAKE2B 550ac2ff3f3bf9c727087a2807deaeff1a211549bf47336385d57dacdecc05afc41fae912ef208599fcb4972d632804cd71ca78f36100b3937644e2235698384 SHA512 6ca179c82a0a2da149ceca46ee0c873e437fad9094f1e26d355df5dff39a0feb46371616a51cc2ae6d688b35b65defbb53a9b7e61240e8a0b03d727949d8a1a1 +DIST pyrate_limiter-3.9.0.tar.gz 289308 BLAKE2B 46046dd69ea7d74cdd29e6194fc43154d58119a950fbf9e81b71809e92099caff446268acc99ee1d9bf9b8457ffccc26f042259de452df2e8fac5c67098678ef SHA512 a9910349aade28b9adf6cace538931e838f367330d8717838f3eed48f56a52baf9eafa955094f8cd858c2cdab740dfcd1c2fd0e3ab98c6b56a9b0233a1e4470e diff --git a/dev-python/pyrate-limiter/pyrate-limiter-3.9.0.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-3.9.0.ebuild new file mode 100644 index 000000000000..fa4889d71cb5 --- /dev/null +++ b/dev-python/pyrate-limiter/pyrate-limiter-3.9.0.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python Rate-Limiter using Leaky-Bucket Algorimth Family" +HOMEPAGE=" + https://github.com/vutran1710/PyrateLimiter/ + https://pypi.org/project/pyrate-limiter/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + dev-python/filelock[${PYTHON_USEDEP}] + dev-python/redis[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( + dev-db/redis + dev-python/pyyaml[${PYTHON_USEDEP}] + ) +" + +EPYTEST_DESELECT=( + # Optional dependency redis-py-cluster not packaged + "tests/test_02.py::test_redis_cluster" +) +EPYTEST_PLUGINS=( pytest-{asyncio,rerunfailures} ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 + +distutils_enable_sphinx docs \ + dev-python/sphinx-autodoc-typehints \ + dev-python/sphinx-copybutton \ + dev-python/furo \ + dev-python/myst-parser \ + dev-python/sphinxcontrib-apidoc +distutils_enable_tests pytest + +src_test() { + local redis_pid="${T}"/redis.pid + local redis_port=6379 + + # Spawn Redis itself for testing purposes + einfo "Spawning Redis" + einfo "NOTE: Port ${redis_port} must be free" + "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server" + daemonize yes + pidfile ${redis_pid} + port ${redis_port} + bind 127.0.0.1 ::1 + ${extra_conf} + EOF + + # Run the tests + distutils-r1_src_test + + # Clean up afterwards + kill "$(<"${redis_pid}")" || die +} + +python_test() { + # postgres tests require psycopg-pool + epytest -k "not postgres" +} diff --git a/dev-python/python-tests/Manifest b/dev-python/python-tests/Manifest index 072f6d9c9aa2..7589c8feffee 100644 --- a/dev-python/python-tests/Manifest +++ b/dev-python/python-tests/Manifest @@ -12,11 +12,15 @@ DIST Python-3.14.0rc1.tar.xz 23661916 BLAKE2B 77657bb87fe5a8ef538d97ca5ab39be824 DIST Python-3.14.0rc1.tar.xz.sigstore 5134 BLAKE2B 10f93540d5acfcd1509826b606d5a2ded0b40c5c60951c893d18c1baa39d8189ac15fa586fcd34318ac6cfeb4c9ad51a86936849a8cdcbb179a11cc86f5f3189 SHA512 0ecd23bf303e42be6f639d55e2b00c13a87caf512923fd529b2661de6e73f76491def062037befbefd6c2fcf2608ae8cb27faae7431137b53e60c8cc20fec740 DIST python-gentoo-patches-3.11.11.tar.xz 10604 BLAKE2B 6be4c66b0458f7a7085aef976cff3dcb4d114ac0b64fb27327a5693e8d41a77f7eeed718b9c5a1b1961278235ee4cd43497aa3dc27e6e6bed65804b95f667a15 SHA512 ab8113a94949cead34d976179f80c3e0a6686bf2476079a74f97b4d08c24a237500dc7ee09dc3b0ec98d2fbcb138397c73d7e2252e617a957a13999e59115158 DIST python-gentoo-patches-3.11.13.tar.xz 16492 BLAKE2B 8b188742dd3f25974cead290e5793c31f02741a901dce65137c596045fa2fbd5baaef332204af90f95ddcd864ee542b252c00b190e15c25af60a7bda771b116f SHA512 b5abad341d2eede81df445b56a98720466ec23df40a8a2e99a04dba5a106205655c8e2b64df0ca2630f036c8fe457ba64524280d137bbc99f52e4fd8e6bbd5ae +DIST python-gentoo-patches-3.11.13_p1.tar.xz 27748 BLAKE2B 26e0b5397d7927711bcc40330f72f54fb16c660c56a2f87166c5336eb2f53ccd4e920b906854ee122d64360b414e11a38a31a410936b4a49f6610626203f4322 SHA512 7c7eca7bf827255925e073c0ed5c69e9036b79e35e8f6ccb2684709bdc41fec80823a1df192c3decf56ba6d53e2c9feaf7fb81f3a214da69773da6a2997ca19b DIST python-gentoo-patches-3.12.10.tar.xz 10744 BLAKE2B 2abf4874018156d6735cf8604c410dc4726ac9365bc7500abe6b82472aad100aac7268957256692f4275b02965773e58178519ed8038e121f1ffa3c53770d238 SHA512 62066405aa00f46f9645e9c747d53bb93bf510fc791d14d49e00edfd79981778e6c8e07bfa7bac88d76407a0ffd8f7321dea89f81d90b01dbf13f4d381b6a1a3 DIST python-gentoo-patches-3.12.11.tar.xz 12020 BLAKE2B b419d32b1d7bef9408027edda7eac9a920a877e1b8f521483df595199bad1bbadd9dd9500079c09beab63286a801bfb25da5f93a5d31462ed3e457a6e40ad6af SHA512 1b0eaff4c0df06554525a50576da7eadb4067c4f2970851e5c9e3e527a9ccc4216cbd65c45fd562af4a1cedc2c66278a74bee5cf5c1a65df8feb22f34f5a19e4 +DIST python-gentoo-patches-3.12.11_p1.tar.xz 23276 BLAKE2B 794485d0fa596f0f2797e2aa505f888a05e2ef63840068b3214efbe51b592586bcfdf193b71e239beb3c3037f01ca086b6b97aeff092b2a344e74d962fb9dffc SHA512 1402b0bbeb189ed4a16364398495fcccc31da0aad4fc88e30978e7754575fbd8f51974dcd97d2a57a581072f083233dfb00b30af687455ad170fc3c64875a9d5 DIST python-gentoo-patches-3.13.3.tar.xz 8336 BLAKE2B 66393886fbd034eb14732e4f81f5798e77650ea3fe1c4f8176bd93808b711c8977a53c3f52be6c9b97a368299258b851d9bdb6d4c8e0c75695c6aea784d48b44 SHA512 c1ed31d6aaef81addf786c2ccc1013309b122b791c42fe10e467a677d0db8f149e8b1cc21928c146298918c7ceb851b4b19d1e59f491cb161004e1c9386db289 DIST python-gentoo-patches-3.13.4.tar.xz 8912 BLAKE2B e3d9f2a12f801dc75e09c5301757f35216d712b5e5394f2ec3ce1d79d0cb57571dbca525e3d5c35b90fa059c2b78ee24341b6a51cbe9691deac84c9ee0578824 SHA512 1a7141accb7aa70c7bd8dd12528f7de031dfeab9ff089f3d044da0b7b52461e2d6d7d1467161e0fe1e259d9fa06d70bcf107d86ad3590e8cf73aa1132ef3aaf9 DIST python-gentoo-patches-3.13.5.tar.xz 8916 BLAKE2B 9d985b12af62b8a917cac1dab9576aac099bc81ad954a5de254a14a3c7d2254edcdcfaadc46314b69a1bb76bd30ca8bed7c866c0de3fc3f89aac0f76af344f32 SHA512 5ac92aa3eef82eae5d707ffcb5085ac98bd9bf64f72fc7ac4aa1b12a0c3aa86c57d0f671ca07f46e2250779f4cf4885916e4d175357ad626eca6e41257a027e7 +DIST python-gentoo-patches-3.13.5_p1.tar.xz 19756 BLAKE2B ecc594573bbe3a28364d541d5e1014778c342b6e8ecb09e5e9def238ce73d51f178d02ae91bedce3f7aee4a753f2653aee4f4035f238fa60d603baa59ce4e89b SHA512 a60f3cf65b57aa6c85f59dc5f36fbabe1fa19a5225c3e224c99696bb3d1186b54bdad94627638a3a73b66ceb5958b3a5dcb2b83d13357c71ded04c98ad7da0b9 DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7 DIST python-gentoo-patches-3.14.0b4.tar.xz 3780 BLAKE2B ad67e213b21bc039bf33c0a2e6d3a4ce5e06179ce167f89d56561834dfb5c5b5b5d7f43f6fe2597e94e4ea5d544bb0b60d38b847bb0c32277a0151f2084f3618 SHA512 e5e6fa02d2d24e46848fa5a79ba7fd8a6703473e3bee257fee7b5c55d5c82fedb29f0ba6de1117c6ca738df3841bae5bb00962ae0290d553020e3617dc557c6d DIST python-gentoo-patches-3.14.0rc1.tar.xz 3776 BLAKE2B 4f2cf7598dac08c3118bbca6c111684fe68fa7c8749ef394eae35c50bc7d78e30f6c54a77199fc87270ccdafa7725dad974226964841d666ceab7cb34d7bd778 SHA512 323586bfd662ff4ed41b7f5f34d1dc394e7e7e1ad87e8a9283b99a14e226cc73d7ff7fb510e772319e361f2ad2becfe4ac246cc0be34d0a981df286cb20c9734 +DIST python-gentoo-patches-3.14.0rc1_p1.tar.xz 5436 BLAKE2B 04a7e01c758e7e162ab05607e1a5f035c4bd77ad09cdbdfee183f02af396140f3b4f7cc0c627fbfeb05e076d4bb763afd77502a35178ec2eb0f4050d7d829734 SHA512 3795d4aa89d433196da74361b0b7ea9fa52966409667f88e8b069ec85674286068cfa3666a5503c62597c5cff4aa5ebf360b907c7571ced269a38019e593cf45 diff --git a/dev-python/python-tests/python-tests-0.3.13.5_p1.ebuild b/dev-python/python-tests/python-tests-0.3.13.5_p1.ebuild new file mode 100644 index 000000000000..926f8d2cdfe2 --- /dev/null +++ b/dev-python/python-tests/python-tests-0.3.13.5_p1.ebuild @@ -0,0 +1,71 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit python-r1 verify-sig + +REAL_PV=${PV#0.} +MY_PV=${REAL_PV} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 2-3)t +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Test modules from dev-lang/python" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}/Lib" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +# enable by default to help CI handle it (we have no additional deps) +IUSE="+python_targets_${PYTHON_COMPAT[0]}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/python-${PV}:${PYVER} +" +BDEPEND=" + ${PYTHON_DEPS} + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + cd .. || die + default +} + +src_install() { + python_setup + # keep in sync with TESTSUBDIRS in Makefile.pre.in + python_moduleinto "/usr/lib/python${PYVER}" + python_domodule test + python_moduleinto "/usr/lib/python${PYVER}/idlelib" + python_domodule idlelib/idle_test +} diff --git a/dev-python/python-tests/python-tests-0.3.14.0_rc1_p1.ebuild b/dev-python/python-tests/python-tests-0.3.14.0_rc1_p1.ebuild new file mode 100644 index 000000000000..cd2982439a58 --- /dev/null +++ b/dev-python/python-tests/python-tests-0.3.14.0_rc1_p1.ebuild @@ -0,0 +1,73 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +VERIFY_SIG_METHOD=sigstore + +inherit python-r1 verify-sig + +REAL_PV=${PV#0.} +MY_PV=${REAL_PV/_/} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 2-3)t +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Test modules from dev-lang/python" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}/Lib" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +# enable by default to help CI handle it (we have no additional deps) +IUSE="+python_targets_${PYTHON_COMPAT[0]}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/python-${PV}:${PYVER} +" +BDEPEND=" + ${PYTHON_DEPS} +" + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + cd .. || die + default +} + +src_install() { + python_setup + # keep in sync with TESTSUBDIRS in Makefile.pre.in + python_moduleinto "/usr/lib/python${PYVER}" + python_domodule test + python_moduleinto "/usr/lib/python${PYVER}/idlelib" + python_domodule idlelib/idle_test +} diff --git a/dev-python/python-tests/python-tests-3.11.13_p1.ebuild b/dev-python/python-tests/python-tests-3.11.13_p1.ebuild new file mode 100644 index 000000000000..2efeceea3f68 --- /dev/null +++ b/dev-python/python-tests/python-tests-3.11.13_p1.ebuild @@ -0,0 +1,76 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit python-r1 verify-sig + +MY_PV=${PV} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Test modules from dev-lang/python" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}/Lib" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +# enable by default to help CI handle it (we have no additional deps) +IUSE="+python_targets_${PYTHON_COMPAT[0]}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + ~dev-lang/python-${PV}:${PYVER} + ! "${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-build/Manifest b/dev-python/uv-build/Manifest index 1bb562080751..ed3da94cd437 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -1,3 +1,4 @@ DIST uv_build-0.7.19.tar.gz 311467 BLAKE2B a7e85c3bbaee786ed9729b1331e5506eeb95d4ee875502814555956611449501f6b1c62284945640a2ce95f225a1b1c151b47d17c0d303599fe69bffc4ab8e5c SHA512 c3bc554dd9d86bfdb1e9ebf042d8c00987a790da9d386eb371dcc1bc7cd1c0000ae69a4d1e5f1759ed723d78eed73a461bae26d5047bdb0c0bb75f450fdc009a DIST uv_build-0.7.22.tar.gz 314318 BLAKE2B e8118eda79bd6bea375a2b19d87a0d9c2da8e1fe1fb24668ccfe79364b92a01aedcb1e73bc625c9e1d010e7ed4742c3a4add827dc497ee18312664c4343b67be SHA512 185d6b5a9e0440a1354cd9ce638522e9b2a27cc075a5022d95c63fd96b861bf50615156d7f64144b7fb657e2ddb3fe1b0fd8fd38fd6c0adabffacbdc43d6f292 DIST uv_build-0.8.2.tar.gz 317577 BLAKE2B 0bf4d94fcb8052fa5fc71970cdda92438491bc4f3a0723b1f4565eb7f416058d253b14542adb4ea1883e56cb3c1fcf899840bb8406e133749ad894a181d5c8d7 SHA512 14272a8bf350542d5aaeaaf32542bf70b45724bda3a57eb4d701c8f3c0648244c683f3ea6d011920c5c02d1880e92787ce0758055b78eab2b3e61b20e03eea9c +DIST uv_build-0.8.4.tar.gz 318914 BLAKE2B 303fb5d95d7e62269eba53ca41d7e3ae32df84e49bcf3d13cca58e21a73696964f06484d0aabc874bb66e3da5a91efae16d620732fd026ba36a43fc24fcfbe9a SHA512 875de875a2c1f73d4d4d53f1844ce11dbfde69dca552da3fabb071689309d01f4759cdb3ca71142dfdf791be5e1ada0de9a0326ad2107acd93483fa25eb518b4 diff --git a/dev-python/uv-build/uv-build-0.8.4.ebuild b/dev-python/uv-build/uv-build-0.8.4.ebuild new file mode 100644 index 000000000000..6156796bc3d2 --- /dev/null +++ b/dev-python/uv-build/uv-build-0.8.4.ebuild @@ -0,0 +1,99 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Maturin compiles uv-build executable for every impl, we do not want +# that, so we use another backend. And since we use another backend, +# why not dogfood it in the first place? +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="PEP517 uv build backend" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv-build/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/uv-${PV} +" +BDEPEND=" + test? ( + app-arch/unzip + dev-python/build[${PYTHON_USEDEP}] + ) +" + +src_prepare() { + distutils-r1_src_prepare + + # use the executable from dev-python/uv instead of building + # a largely overlapping uv-build executable (at least for now) + sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die + + # replace the build-system section + sed -i -e '/\[build-system\]/,$d' pyproject.toml || die + cat >> pyproject.toml <<-EOF || die + [build-system] + requires = ["uv_build<9999"] + build-backend = "uv_build" + backend-path = ["src"] + EOF + + # rename to make uv-build find it + mv python src || die +} + +python_test() { + "${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}" + + local zip_result=$( + unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die + ) + local zip_expected="\ +Archive: dist/uv_build-${PV}-py3-none-any.whl + testing: uv_build/ OK + testing: uv_build/__init__.py OK + testing: uv_build/__main__.py OK + testing: uv_build/py.typed OK + testing: uv_build-${PV}.dist-info/ OK + testing: uv_build-${PV}.dist-info/WHEEL OK + testing: uv_build-${PV}.dist-info/METADATA OK + testing: uv_build-${PV}.dist-info/RECORD OK +No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\ +" + if [[ ${zip_result} != ${zip_expected} ]]; then + eerror ".zip result:\n${zip_result}" + eerror ".zip expected:\n${zip_expected}" + die ".whl result mismatch" + fi + + local tar_result=$( + tar -tf "dist/uv_build-${PV}.tar.gz" || die + ) + local tar_expected="\ +uv_build-${PV}/PKG-INFO +uv_build-${PV}/ +uv_build-${PV}/README.md +uv_build-${PV}/pyproject.toml +uv_build-${PV}/src +uv_build-${PV}/src/uv_build +uv_build-${PV}/src/uv_build/__init__.py +uv_build-${PV}/src/uv_build/__main__.py +uv_build-${PV}/src/uv_build/py.typed\ +" + if [[ ${tar_result} != ${tar_expected} ]]; then + eerror ".tar.gz result:\n${tar_result}" + eerror ".tar.gz expected:\n${tar_expected}" + die ".tar.gz result mismatch" + fi +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index 79c05d0242ce..0b8aaaaa0de2 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -8,3 +8,5 @@ DIST uv-0.7.21-crates.tar.xz 58688248 BLAKE2B 83bbe7dd3ffe4b7ad439ba3ce56b1ce84b DIST uv-0.7.22.gh.tar.gz 4157975 BLAKE2B 8268476d92fb7241273e31ff4b7c996c22dea3c6bb3e688c4d9e69bf3cc1562dd8dcad3bd4167c97fb2df51e6291d9ba29b9ea99b73d11ec73f994fceab2b629 SHA512 e1c4f7ba7a2c679c87840cc4a1b56bb7c4d0ecdbe14347052f96af90a4ce869627a0659ab9266b433a39f4b600711d2c64f88bd38a7d477017fc9c596194354f DIST uv-0.8.2-crates.tar.xz 58707128 BLAKE2B 9579ad6877a960596fc49908e4f9451c8748c7f0ab41be15f310f43a19dcd61632fc7dd4fe4a2ad21cdc1478354c6b39e07272b8160296dc9dba9f70628a6f76 SHA512 442e7f2d550c00808f07297eda196ceec75aea3c9fbc1d86f288dc4c9d974f8197dac36f550ff903bb78f9c193eeab7447934f4f7bbb7799d246db28d9cf052a DIST uv-0.8.2.gh.tar.gz 4195351 BLAKE2B b50da561a66f4aac40c5fe6b55a1c10482155dc968bd6532927819ad0bb6f6b97de1b7707a32887b272ede682158b86d5f75bc10410a9fe7af8a7d2de204984a SHA512 9d10f182ab0fefb6028a0424a8cc1467f34e65de24a358a9038b8104f62808f479d004d3a45df7264b6aea81933353b78f1b3963c37ff66ec9da4a53cdca0e2c +DIST uv-0.8.4-crates.tar.xz 46195956 BLAKE2B c3b086c5a369a96dffbcb74f127f2a26f42e4437653dfb7d18dcee4afd202b90ff6518702516ad7dc6ffef2bf1762d0046c2e5176eaeac1bf2e1a0dd439621de SHA512 6e775ad6eab6cde2d738f15694e70eca67d7a312691137e25d28d722d1195da0195de6fc8973ac81b61aeae30a10b441ba26ae93a2017df35306a3b676fa4976 +DIST uv-0.8.4.gh.tar.gz 4223170 BLAKE2B 19875bf1def508c904f7ef73f59ef9ee1f9dc8cb927e0a312d5107035f7dd6bfd6bc1fc4ac0ae40719bc91541532783adedfaa5643dae7a17a17972a0e39479d SHA512 4a7fe390452f86f5ecbcc3270eb384c7a69c2db33a6993d1dbace8730be9a347fc71696c5d40d259e80f0f49f4661f90bbbe02cbed42d86421d2cfaf64de937e diff --git a/dev-python/uv/uv-0.8.4.ebuild b/dev-python/uv/uv-0.8.4.ebuild new file mode 100644 index 000000000000..1e05483d5c9c --- /dev/null +++ b/dev-python/uv/uv-0.8.4.ebuild @@ -0,0 +1,184 @@ +# Copyright 2024-2025 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/astral-sh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%' + [pubgrub]='https://github.com/astral-sh/pubgrub;06ec5a5f59ffaeb6cf5079c6cb184467da06c9db;pubgrub-%commit%' + [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;ad8b9d332d1773fde8b4cd008486de5973e0a3f8;reqwest-middleware-%commit%/reqwest-middleware' + [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;ad8b9d332d1773fde8b4cd008486de5973e0a3f8;reqwest-middleware-%commit%/reqwest-retry' + [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' + [version-ranges]='https://github.com/astral-sh/pubgrub;06ec5a5f59ffaeb6cf5079c6cb184467da06c9db;pubgrub-%commit%/version-ranges' +) + +RUST_MIN_VER="1.85.0" + +inherit cargo check-reqs + +CRATE_PV=${PV} +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://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/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 + CDLA-Permissive-2.0 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.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + dev-lang/python:3.13 + !!~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 + + # replace upstream crate substitution with our crate substitution, sigh + local pkg + for pkg in reqwest-middleware reqwest-retry; do + local dep=$(grep "^${pkg}" "${ECARGO_HOME}"/config.toml || die) + sed -i -e "/\[patch\.crates-io\]/,\$s;^${pkg}.*$;${dep};" Cargo.toml || die + done + + # force thin lto, makes build much faster and less memory hungry + # (i.e. makes it possible to actually build uv on 32-bit PPC) + sed -i -e '/lto/s:fat:thin:' Cargo.toml || die + + # 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 +} -- cgit v1.3