From 3b4c7e627726016d50653b6dd2e06020a1915eac Mon Sep 17 00:00:00 2001 From: Crucible Date: Sat, 17 Oct 2026 03:06:03 -0500 Subject: Publish srcux candidate 0000000724-20261017-030226 --- dev-python/aioquic/Manifest | 1 + dev-python/aioquic/aioquic-1.7.0.ebuild | 36 +++++ dev-python/ast-serialize/Manifest | 3 + .../ast-serialize/ast-serialize-0.13.1.ebuild | 47 ++++++ dev-python/awscrt/Manifest | 3 +- dev-python/awscrt/awscrt-0.36.3.ebuild | 64 -------- dev-python/awscrt/awscrt-0.36.4.ebuild | 64 -------- dev-python/awscrt/awscrt-0.38.0.ebuild | 64 ++++++++ dev-python/berkeleydb/Manifest | 1 + dev-python/berkeleydb/berkeleydb-18.1.16.ebuild | 75 +++++++++ dev-python/cli-helpers/Manifest | 2 +- dev-python/cli-helpers/cli-helpers-2.15.0.ebuild | 43 ------ dev-python/cli-helpers/cli-helpers-2.15.2.ebuild | 43 ++++++ dev-python/distlib/Manifest | 1 + dev-python/distlib/distlib-0.4.4.ebuild | 50 ++++++ dev-python/django-otp/Manifest | 1 + dev-python/django-otp/django-otp-1.7.5.ebuild | 45 ++++++ dev-python/fastapi/Manifest | 1 + dev-python/fastapi/fastapi-0.143.3.ebuild | 126 +++++++++++++++ dev-python/hypothesis/Manifest | 1 + dev-python/hypothesis/hypothesis-6.170.1.ebuild | 143 +++++++++++++++++ dev-python/jsonpath-ng/Manifest | 2 + dev-python/jsonpath-ng/jsonpath-ng-1.11.0.ebuild | 40 +++++ dev-python/objgraph/Manifest | 1 + dev-python/objgraph/objgraph-3.7.0.ebuild | 55 +++++++ dev-python/pillow/Manifest | 1 + dev-python/pillow/pillow-13.0.0.ebuild | 170 +++++++++++++++++++++ dev-python/pkginfo/Manifest | 1 + dev-python/pkginfo/pkginfo-1.13.3.ebuild | 35 +++++ dev-python/portalocker/Manifest | 1 + dev-python/portalocker/portalocker-4.4.1.ebuild | 47 ++++++ dev-python/pyqt-builder/Manifest | 1 + dev-python/pyqt-builder/pyqt-builder-1.20.1.ebuild | 30 ++++ dev-python/sphinx-autodoc-typehints/Manifest | 2 + .../sphinx-autodoc-typehints-3.17.1.ebuild | 51 +++++++ dev-python/sqlalchemy/Manifest | 2 + dev-python/sqlalchemy/sqlalchemy-2.0.55.ebuild | 95 ++++++++++++ dev-python/sqlalchemy/sqlalchemy-2.1.5.ebuild | 103 +++++++++++++ dev-python/superqt/Manifest | 2 + dev-python/superqt/superqt-0.9.0.ebuild | 74 +++++++++ 40 files changed, 1353 insertions(+), 174 deletions(-) create mode 100644 dev-python/aioquic/aioquic-1.7.0.ebuild create mode 100644 dev-python/ast-serialize/ast-serialize-0.13.1.ebuild delete mode 100644 dev-python/awscrt/awscrt-0.36.3.ebuild delete mode 100644 dev-python/awscrt/awscrt-0.36.4.ebuild create mode 100644 dev-python/awscrt/awscrt-0.38.0.ebuild create mode 100644 dev-python/berkeleydb/berkeleydb-18.1.16.ebuild delete mode 100644 dev-python/cli-helpers/cli-helpers-2.15.0.ebuild create mode 100644 dev-python/cli-helpers/cli-helpers-2.15.2.ebuild create mode 100644 dev-python/distlib/distlib-0.4.4.ebuild create mode 100644 dev-python/django-otp/django-otp-1.7.5.ebuild create mode 100644 dev-python/fastapi/fastapi-0.143.3.ebuild create mode 100644 dev-python/hypothesis/hypothesis-6.170.1.ebuild create mode 100644 dev-python/jsonpath-ng/jsonpath-ng-1.11.0.ebuild create mode 100644 dev-python/objgraph/objgraph-3.7.0.ebuild create mode 100644 dev-python/pillow/pillow-13.0.0.ebuild create mode 100644 dev-python/pkginfo/pkginfo-1.13.3.ebuild create mode 100644 dev-python/portalocker/portalocker-4.4.1.ebuild create mode 100644 dev-python/pyqt-builder/pyqt-builder-1.20.1.ebuild create mode 100644 dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.17.1.ebuild create mode 100644 dev-python/sqlalchemy/sqlalchemy-2.0.55.ebuild create mode 100644 dev-python/sqlalchemy/sqlalchemy-2.1.5.ebuild create mode 100644 dev-python/superqt/superqt-0.9.0.ebuild (limited to 'dev-python') diff --git a/dev-python/aioquic/Manifest b/dev-python/aioquic/Manifest index 50e9cfb39f19..7857ba46c5a7 100644 --- a/dev-python/aioquic/Manifest +++ b/dev-python/aioquic/Manifest @@ -3,3 +3,4 @@ DIST aioquic-1.3.0.tar.gz 181923 BLAKE2B cc15af13fc83510f041b8be53b8a19f6f9f95df DIST aioquic-1.4.0.tar.gz 184137 BLAKE2B 59cc3db143b01e8c1b0eabc5c54d10d27d735debe642f87c485f10d3421d018af5b35856f6eca12f6a5675a37a6d08ed4076fca0be64884879906e90d2f1ab60 SHA512 ff0cdaa44d74759bcc785e30529a737b967ca614dbbe7cb33735d9ca02d649c33d47f2d1f4a6ab4049f956c5f29196ac8bbd012e5af7a5ff6e4377d5a2a0c44a DIST aioquic-1.5.0.tar.gz 189228 BLAKE2B 38784efabb5e922057f90a8291ea9bb006020b6d2f7a6dd6e70f8b6d4cad4a347b5ffcb30b88e684d25f37949d3034063ebb9b3fc9b19d7cf09b6ed6ed5b975d SHA512 705153dc22060c240fea8c54f5dd9574ff8f0802e5794a954f79297017f2a6be23f083287f879d7bce2a328b262992a056ad6c681487ea4cc9e2f2486bde6c97 DIST aioquic-1.6.1.tar.gz 205833 BLAKE2B ea5b965bf35e27a0bed0b71d48c0c175b67487d47026ecba2d499db37b4126fb017be1780ac796eb9cea8a4c64ccd97c063dbb812dab126c02262b3d1887aa4e SHA512 4097c67e6f7ca63e97a5b00b1cabd5700b6cdde6b605c078c9f7df6e4d4a36a54c9f979f70717daa96c2909cd3080d5afa5e951b43ab3b25ec78ffe81a66eefe +DIST aioquic-1.7.0.tar.gz 227514 BLAKE2B 1b424bde5b93501185496faa290830da722cd86ea6521b21786f273c9504b726ee47e885a96b574cb278f9c4fe2bc51f25ca6c871bbf24e8618de853ce9be518 SHA512 f9f0e598f7090881424e3b81aff874a464907e8a0d60fc3e021a9c6c213c42174ccf262492857baff889d5c4e4e657ab929b55aafd2b49b198ae4246b34d7f81 diff --git a/dev-python/aioquic/aioquic-1.7.0.ebuild b/dev-python/aioquic/aioquic-1.7.0.ebuild new file mode 100644 index 000000000000..7f72fd414139 --- /dev/null +++ b/dev-python/aioquic/aioquic-1.7.0.ebuild @@ -0,0 +1,36 @@ +# Copyright 2024-2026 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_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="An implementation of QUIC and HTTP/3" +HOMEPAGE=" + https://github.com/aiortc/aioquic/ + https://pypi.org/project/aioquic/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +DEPEND=" + dev-libs/openssl:= +" +RDEPEND=" + ${DEPEND} + dev-python/certifi[${PYTHON_USEDEP}] + >=dev-python/cryptography-43.0.0[${PYTHON_USEDEP}] + =dev-python/pylsqpack-1*[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-24[${PYTHON_USEDEP}] + >=dev-python/service-identity-24.1.0[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest diff --git a/dev-python/ast-serialize/Manifest b/dev-python/ast-serialize/Manifest index 5911979459c0..429e44d5da81 100644 --- a/dev-python/ast-serialize/Manifest +++ b/dev-python/ast-serialize/Manifest @@ -13,3 +13,6 @@ DIST ast_serialize-0.12.1.tar.gz.provenance 9557 BLAKE2B e5c567ba038efc9d6c1e862 DIST ast_serialize-0.13.0-crates.tar.xz 8982344 BLAKE2B 1c5a26985bbca3537808e0c49a11af37f4666194b9f757d3039d55ca895bd7932bf50d4a7944fad85973a4c88d2ea5680313241abe56dfe81c25f98a7a37ffc7 SHA512 aed9985a44ff14b227d2c67e89358d1dfdd13d728fc1347d6b139d65f1ed4a8a8c5c461a80a5862525aa12c07f8ee86162aad0a722f30221e38e26bfc4163d69 DIST ast_serialize-0.13.0.tar.gz 954999 BLAKE2B b9a15d2f1ead3156949d649d7ff117df1c2d21e554aa8cd60127cbe145a7cd56f3fd7c20b25446cbecf9ec5a921384e6aa03cc7c0ba4e648a2c767147bcf43de SHA512 52e330f776646ec1c6e1b51289e2fe84588101cd28eedac112e1844470d1cc7606fc87659bfaad005cc1817fde430ee0ceda19ec83498bc8c8cde9778dc195de DIST ast_serialize-0.13.0.tar.gz.provenance 10009 BLAKE2B c5be17913c5a940d23f01f0bce74d7cc5283bad73c5bbbc5eeece0f54b0ba7ab393ca6ed5fe40817be741076c8775c2854fb2f551087e3d7868d8041b6ff4fd6 SHA512 70523fd95ab0fd273429b899234af14fc0d384957151e24e2ab918656639bee5815474dc9b2a2e215332912de1a6371f70df49e64cb07ea998755669d0f3537f +DIST ast_serialize-0.13.1-crates.tar.xz 8982344 BLAKE2B 1c5a26985bbca3537808e0c49a11af37f4666194b9f757d3039d55ca895bd7932bf50d4a7944fad85973a4c88d2ea5680313241abe56dfe81c25f98a7a37ffc7 SHA512 aed9985a44ff14b227d2c67e89358d1dfdd13d728fc1347d6b139d65f1ed4a8a8c5c461a80a5862525aa12c07f8ee86162aad0a722f30221e38e26bfc4163d69 +DIST ast_serialize-0.13.1.tar.gz 955137 BLAKE2B 8fb0b0c47f626f87b8d5ba9fa2adcade152d85ed72a663f9543cba8fa5abc5a03531184612d0d85cb4621e7e2089e8b8eb8d114e19de3495dbffa53c527ee6bc SHA512 af1c3713e8cb6474e0752f03173c2dafc220b64570f1ed5f89bace8b33545baf0bb9b71c8ccadfe265b6d31f9bc79d3ee75b258ddb9aae7c6fd23721277e2d1f +DIST ast_serialize-0.13.1.tar.gz.provenance 9762 BLAKE2B 1f470840ff391868915b197eadff2525c67af38e2f24b9f04a613390e1b313ca86dc6551d7a89f65f38e3238467f19992887d8aa55548ff7af0c56114933a47a SHA512 3635495bffb616be958cf4fc56937587c8693d0d8c080a434782b0e9c2d6baffe1a3576c9136f8d3314cba8bf4273cfb01f99b794d458af3a3753f3f59d834b4 diff --git a/dev-python/ast-serialize/ast-serialize-0.13.1.ebuild b/dev-python/ast-serialize/ast-serialize-0.13.1.ebuild new file mode 100644 index 000000000000..73ac85f79772 --- /dev/null +++ b/dev-python/ast-serialize/ast-serialize-0.13.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYPI_VERIFY_REPO=https://github.com/mypyc/ast_serialize +PYTHON_COMPAT=( python3_{13..14} ) + +RUST_MIN_VER="1.95.0" +CRATES=" +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Python bindings for mypy AST serialization" +HOMEPAGE=" + https://github.com/mypyc/ast_serialize/ + https://pypi.org/project/ast-serialize/ +" +SRC_URI+=" + https://github.com/gentoo-crate-dist/ast_serialize/releases/download/v${PV}/ast_serialize-${PV}-crates.tar.xz +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 + Unicode-DFS-2016 ZLIB +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + crates +) + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/ast_serialize/ast_serialize.*" + +src_unpack() { + pypi_src_unpack + cargo_gen_config +} diff --git a/dev-python/awscrt/Manifest b/dev-python/awscrt/Manifest index b3c40d52931d..8262b68716c5 100644 --- a/dev-python/awscrt/Manifest +++ b/dev-python/awscrt/Manifest @@ -1,3 +1,2 @@ -DIST awscrt-0.36.3.tar.gz 37812193 BLAKE2B 350a906fee04981975f5b983f0497fc028b13c4092563205e3364322502c6274ef0d7c10e283fbbc33357624973f501963391656765e7a96da8fa54fc3920b3b SHA512 94b4b4a5823bd373c7d72e52d6b8e734ba0080e5b8f1d045c60ce4ebffb9e9d7598f4246b849bff06cf8915018c87fc4af2be3f85cacc898bff55ea1abe633fe -DIST awscrt-0.36.4.tar.gz 37816271 BLAKE2B af49b608a5b9c691186c43cf7e353174855adbe091dd62a1844632a990c8c2697d9497ed22e0ca61be945d538f8aac22e852263b936bd4f6e6e8079f6b2354e2 SHA512 8d61aa3c0f94c5a96212cb27e54340d6708ee9fb0b25611f07403f7539402618fd6516a870d6913677ba09503e831b2971530c44459d835593a4ccc993642397 DIST awscrt-0.37.0.tar.gz 37861471 BLAKE2B d070493d3866c3c013bc0296637d1ef9d0890395623966287af57a9a104326ef09b1224cd4c9e52fe95b5151c823a1681d8ee5cb37cea5c1d2641176502ce8b6 SHA512 a2ebc8aafff521c826d9ff26206eb155d3eeaa562427d392f037b41fb31b6d0c4ca55fc6007275748b9a7b3cdd02bf1a7f2057bb9cb9822e7a443fb514c74f18 +DIST awscrt-0.38.0.tar.gz 37915957 BLAKE2B 2a2fdc24565a6308903dbb47a091cc03b6a73f331a0e978f72a7453249c9de2926a9688bdc25589614f674454b3b32ccd92022f8d1c8315821f90bfc8654c8cb SHA512 5e413431823b6d9e73b4431c04c16539028e2ef90511f3d8bf9d5be5eaaee83ac20ffda6a6aa40fda49366b6fd7ad409893866fb8459801e2147f0bc06dfe9f3 diff --git a/dev-python/awscrt/awscrt-0.36.3.ebuild b/dev-python/awscrt/awscrt-0.36.3.ebuild deleted file mode 100644 index 3374314287ab..000000000000 --- a/dev-python/awscrt/awscrt-0.36.3.ebuild +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright 2026 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_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="A common runtime for AWS Python projects" -HOMEPAGE=" - https://github.com/awslabs/aws-crt-python/ - https://pypi.org/project/awscrt/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv" - -DEPEND=" - >=dev-libs/aws-c-common-1.0.0:= - >=dev-libs/aws-c-auth-1.0.0:= - >=dev-libs/aws-c-sdkutils-1.0.0:= - >=dev-libs/aws-c-cal-1.0.0:= - >=dev-libs/aws-c-io-1.0.0:= - >=dev-libs/aws-c-compression-1.0.0:= - >=dev-libs/aws-c-event-stream-1.0.0:= - >=dev-libs/aws-c-http-1.0.0:= - >=dev-libs/aws-c-auth-1.0.0:= - >=dev-libs/aws-c-mqtt-1.0.0:= - >=dev-libs/aws-c-s3-1.0.0:= - >=dev-libs/aws-checksums-1.0.0:= - dev-libs/openssl:= - dev-libs/s2n-tls:= -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - test? ( - dev-python/h2[${PYTHON_USEDEP}] - dev-python/websockets[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests unittest - -src_prepare() { - distutils-r1_src_prepare - - # remove bundled libs - rm -r crt || die - export AWS_CRT_BUILD_USE_SYSTEM_LIBS=1 - - # Internet/DNS - sed -e 's:test_h2_remote_end_stream_ordering:_&:' \ - -e 's:test_cross_thread_http2_client:_&:' \ - -e 's:test_h2_client:_&:' \ - -e 's:test_h2_manual_write_exception:_&:' \ - -e 's:test_h2_remote_end_stream_ordering:_&:' \ - -i test/test_{aio,}http_client.py || die -} diff --git a/dev-python/awscrt/awscrt-0.36.4.ebuild b/dev-python/awscrt/awscrt-0.36.4.ebuild deleted file mode 100644 index 3374314287ab..000000000000 --- a/dev-python/awscrt/awscrt-0.36.4.ebuild +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright 2026 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_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="A common runtime for AWS Python projects" -HOMEPAGE=" - https://github.com/awslabs/aws-crt-python/ - https://pypi.org/project/awscrt/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv" - -DEPEND=" - >=dev-libs/aws-c-common-1.0.0:= - >=dev-libs/aws-c-auth-1.0.0:= - >=dev-libs/aws-c-sdkutils-1.0.0:= - >=dev-libs/aws-c-cal-1.0.0:= - >=dev-libs/aws-c-io-1.0.0:= - >=dev-libs/aws-c-compression-1.0.0:= - >=dev-libs/aws-c-event-stream-1.0.0:= - >=dev-libs/aws-c-http-1.0.0:= - >=dev-libs/aws-c-auth-1.0.0:= - >=dev-libs/aws-c-mqtt-1.0.0:= - >=dev-libs/aws-c-s3-1.0.0:= - >=dev-libs/aws-checksums-1.0.0:= - dev-libs/openssl:= - dev-libs/s2n-tls:= -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - test? ( - dev-python/h2[${PYTHON_USEDEP}] - dev-python/websockets[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests unittest - -src_prepare() { - distutils-r1_src_prepare - - # remove bundled libs - rm -r crt || die - export AWS_CRT_BUILD_USE_SYSTEM_LIBS=1 - - # Internet/DNS - sed -e 's:test_h2_remote_end_stream_ordering:_&:' \ - -e 's:test_cross_thread_http2_client:_&:' \ - -e 's:test_h2_client:_&:' \ - -e 's:test_h2_manual_write_exception:_&:' \ - -e 's:test_h2_remote_end_stream_ordering:_&:' \ - -i test/test_{aio,}http_client.py || die -} diff --git a/dev-python/awscrt/awscrt-0.38.0.ebuild b/dev-python/awscrt/awscrt-0.38.0.ebuild new file mode 100644 index 000000000000..0f94267bdd74 --- /dev/null +++ b/dev-python/awscrt/awscrt-0.38.0.ebuild @@ -0,0 +1,64 @@ +# Copyright 2026 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_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A common runtime for AWS Python projects" +HOMEPAGE=" + https://github.com/awslabs/aws-crt-python/ + https://pypi.org/project/awscrt/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" + +DEPEND=" + >=dev-libs/aws-c-common-1.0.0:= + >=dev-libs/aws-c-auth-1.0.0:= + >=dev-libs/aws-c-sdkutils-1.0.0:= + >=dev-libs/aws-c-cal-1.0.0:= + >=dev-libs/aws-c-io-1.0.0:= + >=dev-libs/aws-c-compression-1.0.0:= + >=dev-libs/aws-c-event-stream-1.0.0:= + >=dev-libs/aws-c-http-1.0.0:= + >=dev-libs/aws-c-auth-1.0.0:= + >=dev-libs/aws-c-mqtt-1.0.0:= + >=dev-libs/aws-c-s3-1.0.0:= + >=dev-libs/aws-checksums-1.0.0:= + dev-libs/openssl:= + dev-libs/s2n-tls:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-python/h2[${PYTHON_USEDEP}] + dev-python/websockets[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest + +src_prepare() { + distutils-r1_src_prepare + + # remove bundled libs + rm -r crt || die + export AWS_CRT_BUILD_USE_SYSTEM_LIBS=1 + + # Internet/DNS + sed -e 's:test_h2_remote_end_stream_ordering:_&:' \ + -e 's:test_cross_thread_http2_client:_&:' \ + -e 's:test_h2_client:_&:' \ + -e 's:test_h2_manual_write_exception:_&:' \ + -e 's:test_h2_remote_end_stream_ordering:_&:' \ + -i test/test_{aio,}http_client.py || die +} diff --git a/dev-python/berkeleydb/Manifest b/dev-python/berkeleydb/Manifest index 89f8b6d8f960..31367e446efb 100644 --- a/dev-python/berkeleydb/Manifest +++ b/dev-python/berkeleydb/Manifest @@ -1 +1,2 @@ DIST berkeleydb-18.1.15.tar.gz 188446 BLAKE2B e018ad0afb557b866121a267e5b64d627c5c3752f5929652f2e291f9ff67c8e5bb7319fbade04ec0ecfac3aefe58c3497745f5c9b467aa2dd30c01297679ac53 SHA512 60d987851febb158888d2a5fe35bc9169e4855fcfc40b836f0d089db9cc6a0da2c7032b348ac486a7d873eae6999d6d8ce3833461d50fe8afbcf498d37b5afa2 +DIST berkeleydb-18.1.16.tar.gz 188890 BLAKE2B c6701fa0c0f3fa9faffa231f9f838949247b4baa146c039ed6a4d106a2b3a1e1875b7f238a7315349500c731ac9fe2d9f13a22c8c5df1c962e237835a173c63f SHA512 87e7eade429aabb8220fb6327db431d35fbc1aedecb9abc7f5a34b6a9dbd22e72c8b63f14dcfed83f95ba5ca0b4fa14fce5b21d2fc8ed9dc116453191eaf5e87 diff --git a/dev-python/berkeleydb/berkeleydb-18.1.16.ebuild b/dev-python/berkeleydb/berkeleydb-18.1.16.ebuild new file mode 100644 index 000000000000..f4173794e751 --- /dev/null +++ b/dev-python/berkeleydb/berkeleydb-18.1.16.ebuild @@ -0,0 +1,75 @@ +# Copyright 2025-2026 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_{13..14} ) + +inherit db-use distutils-r1 pypi + +DESCRIPTION="Python bindings for Oracle Berkeley DB" +HOMEPAGE=" + https://www.jcea.es/programacion/pybsddb.htm + https://pypi.org/project/berkeleydb/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + =:' setup.py || die -} diff --git a/dev-python/cli-helpers/cli-helpers-2.15.2.ebuild b/dev-python/cli-helpers/cli-helpers-2.15.2.ebuild new file mode 100644 index 000000000000..fd5388c4374f --- /dev/null +++ b/dev-python/cli-helpers/cli-helpers-2.15.2.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 + +MY_P=cli_helpers-${PV} +DESCRIPTION="Python helpers for common CLI tasks" +HOMEPAGE=" + https://cli-helpers.rtfd.io/ + https://github.com/dbcli/cli_helpers/ + https://pypi.org/project/cli-helpers/ +" +SRC_URI=" + https://github.com/dbcli/cli_helpers/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/configobj-5.0.5[${PYTHON_USEDEP}] + >=dev-python/pygments-1.6[${PYTHON_USEDEP}] + >=dev-python/tabulate-0.10.0[${PYTHON_USEDEP}] + dev-python/wcwidth[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # unpin deps + sed -i -e 's:~=:>=:' setup.py || die +} diff --git a/dev-python/distlib/Manifest b/dev-python/distlib/Manifest index 5db7a81c31ac..dfdd8d532b04 100644 --- a/dev-python/distlib/Manifest +++ b/dev-python/distlib/Manifest @@ -1 +1,2 @@ DIST distlib-0.4.3.tar.gz 615141 BLAKE2B ef9c33d960b719ad6c8d66eaba6469915e19e9a89882b9a2a85244c041f40ca92222134ef9a5d1d00810eece628d07b65b0ffb09600fbcfb03f4f6b0c278bfa4 SHA512 0f6b44640cbfa9bccef10c6cdeedaec8582a2bd5878fcbc803a6feedb81daee5f28506004e23749f3eba206199cadae99808dbcd956066ba948cde455301fd74 +DIST distlib-0.4.4.tar.gz 621304 BLAKE2B f97ead36390f38f5d148c09beb7d3a6894af5df91e7d3377c4777736691742f4de3858910fb8e29993301feb4a0faed5eabdedc837ec2730c8de0c25b075fc4f SHA512 c02c565d2df4581983875cb7d684168a3f3855f56b165fe09207dd90b2c70b74c14b7aa8332d002a6cb02c952cbc262eb4ccabb56ff288d6e59ce3f1c1e651ce diff --git a/dev-python/distlib/distlib-0.4.4.ebuild b/dev-python/distlib/distlib-0.4.4.ebuild new file mode 100644 index 000000000000..3fad2c05140a --- /dev/null +++ b/dev-python/distlib/distlib-0.4.4.ebuild @@ -0,0 +1,50 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Low-level components of distutils2/packaging" +HOMEPAGE=" + https://pypi.org/project/distlib/ + https://github.com/pypa/distlib/ +" + +LICENSE="PSF-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" +IUSE="test" +RESTRICT="!test? ( test )" + +# pypiserver is called as external executable +BDEPEND=" + test? ( + dev-python/pypiserver + ) +" + +src_prepare() { + local PATCHES=( + # use system pypiserver instead of bundled one + "${FILESDIR}/distlib-0.3.9-system-pypiserver.patch" + ) + + distutils-r1_src_prepare +} + +python_test() { + local -x SKIP_ONLINE=1 + local -x PYTHONHASHSEED=0 + + # disable system-site-packages -- distlib has no deps, and is very + # fragile to packages actually installed on the system + sed -i -e '/system-site-packages/s:true:false:' \ + "${BUILD_DIR}/install${EPREFIX}/usr/pyvenv.cfg" || die + + "${EPYTHON}" tests/test_all.py -v -x || + die "Tests failed with ${EPYTHON}" +} diff --git a/dev-python/django-otp/Manifest b/dev-python/django-otp/Manifest index 1236380dace1..92c24e296311 100644 --- a/dev-python/django-otp/Manifest +++ b/dev-python/django-otp/Manifest @@ -1 +1,2 @@ DIST django_otp-1.7.3.tar.gz 78996 BLAKE2B ccd9430a6415900a778a3c15163402915493f1162e680e504112beb22d6eff711c8ed48ec09d2b79f456437d3ad410a952790b98ca22c21232779d364eb9ca17 SHA512 2dd1f70cd506f6e8e3f62544c63dac1b6187f2cc4e585be8a44c10807f50a591ca801eb46881f01c52e629afa5dd98fa0205beeacc6e284ce8c0553d98350655 +DIST django_otp-1.7.5.tar.gz 79637 BLAKE2B 8d1b825303fc2aaadd88912282caa9003826f3a82d37ecff296a9c0d8685401380114b87d293f93ea25de75513bae885fc54c0357eb1d3d9b186c0b05172d2cf SHA512 2f5ef4c89b38c8d226aaa1bfc17d5355f40e91a8e2e048ec7613ad5f85adb9de593389da0eea37ac6efe68413338825d015a88560f3248498033ce2acafafbb6 diff --git a/dev-python/django-otp/django-otp-1.7.5.ebuild b/dev-python/django-otp/django-otp-1.7.5.ebuild new file mode 100644 index 000000000000..3bbd4d6ca49d --- /dev/null +++ b/dev-python/django-otp/django-otp-1.7.5.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Django framework adding two-factor authentication using one-time passwords" +HOMEPAGE=" + https://github.com/django-otp/django-otp/ + https://pypi.org/project/django-otp/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/django-4.2[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + dev-python/freezegun[${PYTHON_USEDEP}] + || ( + dev-python/qrcode[${PYTHON_USEDEP}] + dev-python/segno[${PYTHON_USEDEP}] + ) + ${RDEPEND} + ) +" + +python_test() { + # upstream strips tests.py from the installed package, so we need + # to run from src + local -x PYTHONPATH=test:src:${PYTHONPATH} + local -x DJANGO_SETTINGS_MODULE=test_project.settings + "${EPYTHON}" -m django test -v 2 django_otp || + die "Tests fail with ${EPYTHON}" +} diff --git a/dev-python/fastapi/Manifest b/dev-python/fastapi/Manifest index eeed2ca29915..076f12496933 100644 --- a/dev-python/fastapi/Manifest +++ b/dev-python/fastapi/Manifest @@ -1,2 +1,3 @@ DIST fastapi-0.143.0.tar.gz 468391 BLAKE2B 24b1ebaac972c183166ebe37c76ec6fe29ec68b1cbdb78201e1ff11c54e158b56b9ba6f45e2318815202d97c0e94ea7b58fe53c620b501098fdcdeec564a2a43 SHA512 1fc0322645736bbdcb07892cd0f622feeb82b8e751b3e0040bd7cb32f8d749b38a5c33787ee1f1d2d67625b885481e3b2c17e8db9e13ac239833bfa544ff5f11 DIST fastapi-0.143.2.tar.gz 468920 BLAKE2B 4befc7698221fe2c1ccd72a6dd1202246d00e0b78c8b4e76ac96db92b2644d7523a3855c29df094a5fca0fd390eaf05d4c5c38e8a5a0edeb30ec81891d4b69bd SHA512 3c4b7c98a75f324ce37aef4608c94daf2659d681fbd236ad3069d77998ab9669275ac07214cd95bc7c344bd064946d61be78b9b569111e437c44e82f1448beeb +DIST fastapi-0.143.3.tar.gz 469834 BLAKE2B 6384f8b551b38c1fc83779ef2a4a318e0cb4b01067e852e876b809d8dc8c2bf59dcbb109780337df3dd83b70ff61b30676fceb95745478439f580de2ad544c16 SHA512 f70e98e10e6d5d5b1db0fd6795179dff1bf7f737a0fee452732a49a22dca092efded647d27cf8fdb61b5eeba29311230fcca9d974ac258dc131d05080a134e7e diff --git a/dev-python/fastapi/fastapi-0.143.3.ebuild b/dev-python/fastapi/fastapi-0.143.3.ebuild new file mode 100644 index 000000000000..c7146bfca44a --- /dev/null +++ b/dev-python/fastapi/fastapi-0.143.3.ebuild @@ -0,0 +1,126 @@ +# Copyright 2025-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pdm-backend +PYTHON_COMPAT=( python3_{13..14} ) +#may be not stricly required +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="High performance framework, easy to learn, fast to code, ready for production" +HOMEPAGE=" + https://fastapi.tiangolo.com/ + https://github.com/fastapi/fastapi/ + https://pypi.org/project/fastapi/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/annotated-doc-0.0.4[${PYTHON_USEDEP}] + >=dev-python/opentelemetry-api-1.44.0[${PYTHON_USEDEP}] + >=dev-python/pydantic-2.9.0[${PYTHON_USEDEP}] + >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}] + >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}] +" + +#FIXME: add missing deps +BDEPEND=" + test? ( + dev-python/a2wsgi[${PYTHON_USEDEP}] + dev-python/dirty-equals[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/httpx2[${PYTHON_USEDEP}] + dev-python/pydantic-settings[${PYTHON_USEDEP}] + dev-python/python-multipart[${PYTHON_USEDEP}] + dev-python/sqlalchemy[${PYTHON_USEDEP}] + dev-python/typer[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( anyio inline-snapshot pytest-timeout ) +# workaround broken toml config +: ${EPYTEST_TIMEOUT:=30} +# the test suite is flaky as hell +EPYTEST_RERUNS=5 +# 3k tests+, so use xdist to speed them up +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +# There are some JSON response tests that will exercise orjson or ujson if they are available. +# These are properly skipped if the optional dependencies are not installed at the cost of a little spam. +python_test() { + local EPYTEST_IGNORE=( + # python/strawberry-graphql (in guru, test dep only) + tests/test_tutorial/test_graphql/test_tutorial001.py + # dev-python/sqlmodel (in guru, test dep only) + tests/test_tutorial/test_sql_databases/test_tutorial001.py + tests/test_tutorial/test_sql_databases/test_tutorial002.py + # dev-python/fastapi-cli (missing, test and optfeature) + tests/test_fastapi_cli.py + # dev-python/pwdlib (in guru, test dep only) + tests/test_tutorial/test_security/test_tutorial004.py + tests/test_tutorial/test_security/test_tutorial005.py + # Wants dev-python/multipart _just_ to complain that it's not the right multipart lib. + tests/test_multipart_installation.py + # scripts/tests use CliRunner.isolated_filesystem() removed in recent typer + scripts/tests + ) + local EPYTEST_DESELECT=( + # Requires investigation - missing ./image.png test file (?) + tests/test_tutorial/test_additional_responses/test_tutorial004.py::test_path_operation_img + + # Broken by brotli being available, also fragile to random ordering + tests/test_tutorial/test_header_param_models/test_tutorial001.py::test_header_param_model_invalid + tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_invalid + tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_no_underscore + # opentelemetry-* + tests/test_telemetry/test_background.py::test_background_task_integrations + tests/test_telemetry/test_data.py::test_request_objects_are_not_exported + tests/test_telemetry/test_environment_integrations.py + tests/test_telemetry/test_integrations.py::test_current_contrib + tests/test_telemetry/test_integrations.py::test_current_logfire + tests/test_telemetry/test_integrations.py::test_current_sentry + tests/test_telemetry/test_integrations.py::test_inactive_sentry_does_not_disable_native + tests/test_telemetry/test_integrations.py::test_logfire_global_provider_without_fastapi_instrumentor + tests/test_telemetry/test_native_integrations.py + tests/test_telemetry/test_runtime.py::test_concurrent_provider_owner_wins + tests/test_telemetry/test_runtime.py::test_environment_export_initializes_after_fork + tests/test_telemetry/test_runtime.py::test_failed_registration_closes_new_exporter + tests/test_telemetry/test_runtime.py::test_real_otlp_exception_export_without_traces_or_metrics + tests/test_telemetry/test_runtime.py::test_real_otlp_export_and_repeated_lifespans + tests/test_telemetry/test_runtime.py::test_registration_provider_prefers_public_metric_reader + tests/test_telemetry/test_runtime.py::test_unsupported_provider_warns_without_preventing_startup + ) + epytest +} + +pkg_postinst() { + # not part of any upstream extra + optfeature "alternative JSON library" "dev-python/ujson" # orjson, too but it's deprecated + + # pyproject.toml:project.optional-dependencies.standard + # Following optfeatures should be exposed, but missing deps + # optfeature "fastAPI CLI" "dev-python/fastapi-cli" - missing - depends on this package! + # optfeature "compressed file support" "dev-python/fastar" - missing + # optfeature "pydantic extra types support" "dev-python/pydantic-extra-types" - in guru + optfeature_header "standard extras" + optfeature "ASGI server support" "dev-python/uvicorn" + optfeature "email validation support" "dev-python/email-validator" + optfeature "TestClient for testing FastAPI applications" "dev-python/httpx" + optfeature "templating support" "dev-python/jinja2" + optfeature "multipart form data support" "dev-python/python-multipart" + optfeature "settings management support" "dev-python/pydantic-settings" + + # pyproject.toml:project.optional-dependencies.all - includes all the above plus: + optfeature_header "all extras" + optfeature "session middleware support" "dev-python/itsdangerous" + optfeature "YAML support" "dev-python/pyyaml" +} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 973a798479f2..2b937039b2c7 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -12,6 +12,7 @@ DIST hypothesis-6.169.0.gh.tar.gz 9710358 BLAKE2B fb65497c921687a5e1a3b551528b38 DIST hypothesis-6.169.1.gh.tar.gz 9710711 BLAKE2B 8abedcdcba8a1d32e424a951047450be5ee33d8fa4fd8cd66e152c89abf60d7fb39fc0573e5778bf09442af2e30a648e4621208c7fe285a8fed670b9c37e15c2 SHA512 f1da6e1709e8e5eccf337cfeece87a197b402d62175a869b1ba4d1e1b06429d438cdf8b9ef8dc99c4928a0f24f8a7991d52272dc748bd2ccfe8655aae62556b0 DIST hypothesis-6.169.3.gh.tar.gz 9711107 BLAKE2B 973dc2650033c5b31dd2b6e792353609ba51c362e0cd69e312a1731400ba83fdc2babe2be2c82c2fedc998036d15ee245c2f96a8cc4280c646da3b1268b5e46d SHA512 bee8c5489645835eb8371dd6e242ce51c07d937fe06138235637ebc57fc29b9b40272b45e92ce16b0fc43a1992510490189bd55bd635fe1270b3cb34d65069ba DIST hypothesis-6.170.0.gh.tar.gz 9723099 BLAKE2B 0876a9786084cb4b9d6f0494a14ae7953b64641968991fdd8ac03944582018cf665db55fabee07d2da11a8a50d85dcc97b9cb907cec35dab97588492b928cd3d SHA512 b0505bbbfe05e3d3df1d622accb6a971b68b3ba6680c9611fd4185be1f55a598875d4319dba012d3ca53491663b673e595a6fe9303f04a0255ecc55ff4cc77a0 +DIST hypothesis-6.170.1.gh.tar.gz 9724551 BLAKE2B a890c940391e77985c4e9b6131410cc03c371fd985e9102cbadd5e0e52e70db06358c73614cb0a8729f8d305c0d5062ff1badc9c5e092161d6e6d2ed6a02c475 SHA512 001cf30549c78ee0c469c804f154b528c44b8e2126a7578cb9eb5a3423b8419b9894fcde7c65290922a225fc6bae9f5d030953c40625bcdd9cabd16681320e58 DIST libc-0.2.186.crate 821883 BLAKE2B ebe7aac5f8937a8064c64a0d4dc72e5fc794080e09b96c6d245bdec0fd9a19d49ab38e25306e22e47564764cf5dcde45855237cffc70230a143eca2626bd5c3c SHA512 6a58e671ec6811dff9a0d7d4db8f37d38bcbca9efff20dad4706190e5cdb77b426567754bcf0ef0f2d0c31d6506401f724f3ca500b9bed57bb8605b1141ed690 DIST once_cell-1.21.4.crate 35010 BLAKE2B 9117ed1d478e626b7b7be2e3ff8b68a382b051112c7ca4425367bdae86977671f8b5c576131c82fb437740b6d98b72501f718f4172d39781decac2385e8fbd4d SHA512 af67669b0107f44268ba74c355200cb2ed1aab235a6989a8bc54323eb2c9a45677010f8672e7790edadd4c981e939436e0c3a099d33c06dce9c14fd5ede86155 DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 6d0898c2a537a9bf204b7749cca5f5fddf280772b56eb7ce8fdd9cf7d71561137b26ef89f415c40277a1c89981333eef78e5bb4624515a294ba28fdaeb4c70ea SHA512 2a1b31ac9814af884640b3398ab824a9795c72d260527a0966b193113808cfbb3345d50cd1beaebb45863437c3d06c8706d34b26efecceefc649319a4bc274a3 diff --git a/dev-python/hypothesis/hypothesis-6.170.1.ebuild b/dev-python/hypothesis/hypothesis-6.170.1.ebuild new file mode 100644 index 000000000000..d6e8b8e38d1c --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.170.1.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +CLI_COMPAT=( python3_{12..15} ) +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+),sqlite" + +RUST_MIN_VER="1.91.0" +CRATES=" + cfg-if@1.0.4 + crunchy@0.2.4 + getrandom@0.3.4 + half@2.7.1 + heck@0.5.0 + libc@0.2.186 + once_cell@1.21.4 + portable-atomic@1.13.1 + ppv-lite86@0.2.21 + proc-macro2@1.0.106 + pyo3-build-config@0.29.3 + pyo3-ffi@0.29.3 + pyo3-macros-backend@0.29.3 + pyo3-macros@0.29.3 + pyo3@0.29.3 + quote@1.0.46 + r-efi@5.3.0 + rand@0.9.4 + rand_chacha@0.9.0 + rand_core@0.9.5 + syn@2.0.118 + target-lexicon@0.13.5 + unicode-ident@1.0.24 + wasip2@1.0.4+wasi-0.2.12 + wit-bindgen@0.57.1 + zerocopy-derive@0.8.53 + zerocopy@0.8.53 +" + +inherit cargo distutils-r1 optfeature + +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/${P}/hypothesis" + +LICENSE="MPL-2.0" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + ) +" +PDEPEND=" + dev-python/hypothesis-gentoo[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGIN_LOAD_VIA_ENV=1 +EPYTEST_PLUGINS=( "${PN}" pytest-xdist ) +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +QA_PREBUILT="usr/lib/python.*/site-packages/hypothesis/_native.*" + +python_test() { + # NB: paths need to be relative to pytest.ini, i.e. start with hypothesis/ + local EPYTEST_DESELECT=( + # broken somehow (xdist?) + 'hypothesis/tests/pytest/test_constant_collection_timing.py::test_constant_collection_timing[True]' + ) + local EPYTEST_IGNORE=( + # require syrupy + tests/cover/test_custom_reprs.py + ) + + case ${EPYTHON} in + python3.15*) + EPYTEST_DESELECT+=( + 'hypothesis/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types[sentinel]' + 'hypothesis/tests/cover/test_lookup.py::test_resolves_builtin_types[sentinel]' + 'hypothesis/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]' + ) + ;; + esac + + local -x HYPOTHESIS_NO_PLUGINS=1 + epytest tests/{cover,pytest,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/jsonpath-ng/Manifest b/dev-python/jsonpath-ng/Manifest index 225ce888862c..66d92c5e6f76 100644 --- a/dev-python/jsonpath-ng/Manifest +++ b/dev-python/jsonpath-ng/Manifest @@ -1,5 +1,7 @@ DIST jsonpath_ng-1.10.1.tar.gz 87626 BLAKE2B 10a401c35d97b616f12ddfb855978115adf9b5510c5e868c0d382c6d1a389835848d9c8bf0d92934aa156b950e663123eb11274ed00e898044e9be8c9ae15096 SHA512 1d033569439d9362249547539ca61067a0953afa863e3800324288a4a9cd70eeffbd44bf4959043d7278b00636ae7e818e775cbc80667dc1ce1554c13f6cc44e DIST jsonpath_ng-1.10.1.tar.gz.provenance 9931 BLAKE2B 68d303044b6bafe2d1be9721006724defe86f2e124f9cfe79d974ae57f0d1a748777206122966c30af3fd00a068fa31bc46f1682399e403a06f02caf8971674d SHA512 cc6ac5c046a47241c2ca5217218447f3b88efb4fd6ddf1eadd4104642e86af8fa5aa1bacf1033185fb3a4ccc6bfc18eae64e2ca9ce6e31f5229e93639b30d103 +DIST jsonpath_ng-1.11.0.tar.gz 94460 BLAKE2B a39a80a3a2578009accb07f998c9b0e6f10890c8c98477df8a9d1d7340f3d1d2869c4a7a57c72e9f9155c28df0349689cce55c4b4795ab88639ff656c0810411 SHA512 c92f0daeb492d9879546187c4140dbace4cccb16bc1921424408387971dc0b8dfe11a322455cc427d0aea1cf01438874996dad9eba1e6512be51ca302f1728a4 +DIST jsonpath_ng-1.11.0.tar.gz.provenance 10162 BLAKE2B 540c03e1c53cbbb13add1158fda0e003cb3be66508be8e9caa109983a04d507df50c97a07b0b3c0dd02a8849e2e5dfac13ce7ed9967ef6dc8c446e809b4e7032 SHA512 cea2bd388f2967e8e551f860b0a846e55cb56e6f5cae41e73470505fe1a990f65c71d00d12b84c964dc5e783605e1ad8113d9e2d06ebb27c1af727cb1aa30f80 DIST jsonpath_ng-1.8.0.tar.gz 74513 BLAKE2B f8ba3f19bd106c7246a115175515f0b1ef066954356e06f7b289b754eac05aa7c91f56d44d36e4c04765e0ab7a2fc01ed887ee4c08c3b1d17f54087e73a21ada SHA512 64bf0c98193aff8f390c18f53713fbb41da075f93369f1d81c38d22ac63a86d1e502f59a67aaf1d39d0dc8d1b482bd1f73cc8e1bdf54b68a43b8725d109c9b7f DIST jsonpath_ng-1.9.0.tar.gz 78042 BLAKE2B 5fc11ee6847e16d9bd019d53a12345ebd3e5ee0f80a47c537468c139e57e0c3aaaafc3c446aa2731edea3daf14495b71416f78392529ea4775980e8019ad76c6 SHA512 c9c266e19cb279c1f0c0b7ae36f906baeb118bc7fa51909e36a23481fd1326b3ef79adc9904ee66315dcc1e96393a9e88330fd9a76f21d1c8962340d27c49cc9 DIST jsonpath_ng-1.9.1.tar.gz 78077 BLAKE2B b0585cd6afbc376a015e2cc3f6be910f1a51807d35de15df02b95c3755af6ba9c8e97e7c01ecb37bb4d8bfcef4b98a883cb4632b744ae6715acae99c3c1e1ce8 SHA512 1da84dd66bd69652532cb2e0216484b7fccf3b3a6ce5d8d363f21ae71d3f81ce82d3b72974a640cc812c495a105b28958c088fcfe6ba8dc03375499313daaa63 diff --git a/dev-python/jsonpath-ng/jsonpath-ng-1.11.0.ebuild b/dev-python/jsonpath-ng/jsonpath-ng-1.11.0.ebuild new file mode 100644 index 000000000000..89b4a5fc7ef4 --- /dev/null +++ b/dev-python/jsonpath-ng/jsonpath-ng-1.11.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_VERIFY_REPO=https://github.com/jsonpath-ng/jsonpath-ng +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python JSONPath Next-Generation" +HOMEPAGE=" + https://github.com/jsonpath-ng/jsonpath-ng/ + https://pypi.org/project/jsonpath-ng/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + dev-python/ply[${PYTHON_USEDEP}] +" + +EPYTEST_PLUGINS=( hypothesis ) +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + tests/benchmarks/ +) + +src_prepare() { + distutils-r1_src_prepare + + # unbundle ply (sigh) + rm -r src/jsonpath_ng/_ply || die + find -name '*.py' -exec \ + sed -i -e 's:jsonpath_ng[.]_ply[.]:ply.:' {} + || die +} diff --git a/dev-python/objgraph/Manifest b/dev-python/objgraph/Manifest index eddec17ad646..53eba05a2d82 100644 --- a/dev-python/objgraph/Manifest +++ b/dev-python/objgraph/Manifest @@ -1 +1,2 @@ DIST objgraph-3.6.2.tar.gz 759524 BLAKE2B 23d1154a613ca417c332871c7905571f48aea4ef6ff24a236e58fdc76d74254490f04b7e50c1ee7fd190864448f4bb83c05127d438d2d72c4bb5c9a0dd247491 SHA512 7a1edaddb6bc7c57d77d8631019c183a198bb570725b71ddc49ee54fc1be8f54471175957899794ff2c51a57fd68ee8b856ced661f7efc1023dd7f5b0f5b714f +DIST objgraph-3.7.0.tar.gz 759826 BLAKE2B ba3c57cb3064f53085f220f9a859a3afb22737a33ac14584892534d428cfb901e9892a9b3f7206d672d12d650aa02f17aa1a316d226cda77a811e95c6285ff70 SHA512 f765b9752d5d921da818aff375717dc627e546e2c8743dda9076aa23a13f942fb5a9cb8b638db5306dea1aa6c021b789754accfb5ef6fec573a85520ee03f5bd diff --git a/dev-python/objgraph/objgraph-3.7.0.ebuild b/dev-python/objgraph/objgraph-3.7.0.ebuild new file mode 100644 index 000000000000..6a9d1905c16c --- /dev/null +++ b/dev-python/objgraph/objgraph-3.7.0.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Draws Python object reference graphs with graphviz" +HOMEPAGE=" + https://github.com/mgedmin/objgraph/ + https://pypi.org/project/objgraph/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="doc" + +RDEPEND=" + media-gfx/graphviz +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +python_test() { + local EPYTEST_DESELECT=( + # unhappy about pytest + tests.py::AtAddrsTest::test_at_addrs + ) + + case ${EPYTHON} in + pypy3*) + EPYTEST_DESELECT+=( + # CPython GC + tests.py::ByTypeTest::test_new_garbage + + # repr() mismatch + tests.py::StringRepresentationTest::test_short_repr_mocked_instance_method_bound + tests.py::StringRepresentationTest::test_short_repr_mocked_instance_method_bound_with_mocked_name + ) + ;; + esac + + # TODO: figure out how to run doctests + epytest tests.py +} + +python_install_all() { + use doc && local HTML_DOCS=( docs/* ) + distutils-r1_python_install_all +} diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest index da0e6de2a325..d83083e05cc3 100644 --- a/dev-python/pillow/Manifest +++ b/dev-python/pillow/Manifest @@ -1,2 +1,3 @@ DIST pillow-12.3.0.gh.tar.gz 47120631 BLAKE2B 52b795378340207c692c716a65f1c6687415096fc9fb599395dbeef2f55ee8cc6a8be1845f7c4ec01e1962ade62b30a445eacf1d2f57355a67052f54ce3e2586 SHA512 41453e23021fdb08ed9bf8b67a912f8217010840f99665e49465088e76c608fca78c2ca4dda3de8728ba9f8002c7e98231135669990d88758c5944afa0a13f64 +DIST pillow-13.0.0.gh.tar.gz 47158478 BLAKE2B fadc933a2ea0312a88b2635343239acbe4986bdc519437c3c2b279c248795452c98653caa7a1122bee56b07d12cf8e2c566d4a49fa65609376aa85e1f30e42f4 SHA512 eb031278da12ae0a19a974d6efbf3b87b2104585bee2fcfef5e94b434be2782253d03711317a816e66936a3fe22773d92a624d1b7274460ec11002f3a2941ab5 DIST pillow-test-images-7077675d2cda485d63de4aefe0fefbf6f655c5a0.gh.tar.gz 57430276 BLAKE2B 6e8dcde60832004f5a0ea0e14024fdcd0b08cf0e225f27e39b7c2058582d6d5efe7fcaccb5bd28754affa6fe4125735fb4beeaa2075e6aceea0a998ebc0747fe SHA512 795f015c9b73a8c941fb5cd880b1ab36b24d38612db53367ab0e6c05dd1cdbfd47034decb7e36d7de940eeea1582d644ca7bee3b131577578692569c2c60c32b diff --git a/dev-python/pillow/pillow-13.0.0.ebuild b/dev-python/pillow/pillow-13.0.0.ebuild new file mode 100644 index 000000000000..7155fb8fadbc --- /dev/null +++ b/dev-python/pillow/pillow-13.0.0.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +# setuptools wrapper +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE='tk?,threads(+)' + +inherit distutils-r1 multiprocessing toolchain-funcs virtualx + +MY_PN=Pillow +MY_P=${MY_PN}-${PV} + +# upstream always fetches from main +TEST_IMAGE_COMMIT="7077675d2cda485d63de4aefe0fefbf6f655c5a0" + +DESCRIPTION="Python Imaging Library (fork)" +HOMEPAGE=" + https://python-pillow.org/ + https://github.com/python-pillow/Pillow/ + https://pypi.org/project/pillow/ +" +SRC_URI=" + https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + test? ( + https://github.com/python-pillow/test-images/archive/${TEST_IMAGE_COMMIT}.tar.gz + -> pillow-test-images-${TEST_IMAGE_COMMIT}.gh.tar.gz + ) +" +S=${WORKDIR}/${MY_P} + +LICENSE="HPND" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="avif examples imagequant +jpeg jpeg2k lcms raqm test tiff tk truetype webp xcb zlib" +REQUIRED_USE=" + raqm? ( truetype ) + test? ( jpeg jpeg2k lcms tiff truetype ) +" +RESTRICT="!test? ( test )" + +DEPEND=" + avif? ( media-libs/libavif:= ) + imagequant? ( media-gfx/libimagequant:= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + lcms? ( media-libs/lcms:2= ) + tiff? ( media-libs/tiff:=[jpeg,zlib] ) + truetype? ( + media-libs/freetype:2 + media-libs/harfbuzz:= + raqm? ( media-libs/raqm:= ) + ) + webp? ( media-libs/libwebp:= ) + xcb? ( x11-libs/libxcb ) + zlib? ( virtual/zlib:= ) +" +RDEPEND=" + ${DEPEND} + dev-python/olefile[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/pybind11[${PYTHON_USEDEP}] + >=dev-python/setuptools-77[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + virtual/pkgconfig + test? ( + dev-python/defusedxml[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + || ( + media-gfx/imagemagick[png] + media-gfx/graphicsmagick[png] + ) + ) +" + +EPYTEST_PLUGINS=( pytest-timeout ) +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + if use test; then + mv "${WORKDIR}/test-images-${TEST_IMAGE_COMMIT}"/* \ + Tests/images || die + fi + + # just in case + rm -r src/thirdparty/{fribidi-shim,raqm} || die +} + +usepil() { + usex "${1}" enable disable +} + +python_configure_all() { + cat >> setup.cfg <<-EOF || die + [build_ext] + debug = True + disable_platform_guessing = True + $(usepil avif)_avif = True + $(usepil imagequant)_imagequant = True + $(usepil jpeg)_jpeg = True + $(usepil jpeg2k)_jpeg2000 = True + $(usepil lcms)_lcms = True + $(usepil raqm)_raqm = True + $(usepil tiff)_tiff = True + $(usepil truetype)_freetype = True + $(usepil webp)_webp = True + $(usepil xcb)_xcb = True + $(usepil zlib)_zlib = True + EOF + + tc-export PKG_CONFIG + + export MAX_CONCURRENCY=$(makeopts_jobs) + # For 32-bit, just cap at 4 jobs to avoid pybind11 allocating + # like crazy (bug #970414). + if [[ $(tc-get-ptr-size) == 4 ]]; then + MAX_CONCURRENCY=$(( MAX_CONCURRENCY < 4 ? MAX_CONCURRENCY : 4 )) + fi +} + +src_test() { + virtx distutils-r1_src_test +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO (is clipboard unreliable in Xvfb?) + Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard + # requires xz-utils[extra-filters]? + Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma + ) + + case ${ARCH} in + ppc) + EPYTEST_DESELECT+=( + # https://github.com/python-pillow/Pillow/issues/7008 + # (we've reverted the upstream patch because it was worse + # than the original issue) + Tests/test_file_libtiff.py::TestFileLibTiff::test_exif_ifd + ) + ;; + esac + + "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}" + # leak tests are fragile and broken under xdist + # nonfatal implied by xvfb + nonfatal epytest -k "not leak" || die "Tests failed with ${EPYTHON}" +} + +python_install() { + python_doheader src/libImaging/*.h + distutils-r1_python_install +} + +python_install_all() { + if use examples ; then + docinto example + dodoc docs/example/* + docompress -x /usr/share/doc/${PF}/example + fi + distutils-r1_python_install_all +} diff --git a/dev-python/pkginfo/Manifest b/dev-python/pkginfo/Manifest index 5c006235f46a..62c770bfccf6 100644 --- a/dev-python/pkginfo/Manifest +++ b/dev-python/pkginfo/Manifest @@ -1 +1,2 @@ DIST pkginfo-1.12.1.2.tar.gz 451828 BLAKE2B 8023dac51913ebcca02310b0f58511962dabb860ae4588b239f55824c59855924f47975cfdad6092244fabb3f48660496d38d333cee296ba899467c820aa57ed SHA512 16eed4c19b92384aa422d7a4e352746270bab8dc80b503c73aae0554eca012f38e2099867febf1a205d6fa572f4738f503a80e51ea247af4404581eea4a2d1d4 +DIST pkginfo-1.13.3.tar.gz 456355 BLAKE2B 0f5e14c9715b7ccbc22c6a3ce189b25db511b8498513514c4f5dfd108a15a68d12e2a30376845a66d5a3168d98b3d743b761e65a76420e5466bef57b1b17f7c8 SHA512 38390a841a8576c2b2a68eb9ed87d9d54d9c696f7f3dfe8d5d91d6e751d4655cdc6dc7f353b2d5eb72abffd00d4f0b17a32773720b651556feb08218d7c4942d diff --git a/dev-python/pkginfo/pkginfo-1.13.3.ebuild b/dev-python/pkginfo/pkginfo-1.13.3.ebuild new file mode 100644 index 000000000000..12c01f5b31ff --- /dev/null +++ b/dev-python/pkginfo/pkginfo-1.13.3.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Provides an API for querying the distutils metadata written in a PKG-INFO file" +HOMEPAGE=" + https://github.com/tseaver/pkginfo/ + https://pypi.org/project/pkginfo/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +BDEPEND=" + test? ( + dev-python/wheel[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest +distutils_enable_sphinx docs + +EPYTEST_DESELECT=( + # fragile to Core Metadata version changing in setuptools + # https://bugs.launchpad.net/pkginfo/+bug/2103804 (again) + pkginfo/tests/test_installed.py::test_installed_ctor_w_dist_info +) diff --git a/dev-python/portalocker/Manifest b/dev-python/portalocker/Manifest index 93996c5dbc2e..52295ce702be 100644 --- a/dev-python/portalocker/Manifest +++ b/dev-python/portalocker/Manifest @@ -1,3 +1,4 @@ DIST portalocker-4.2.0.gh.tar.gz 309989 BLAKE2B aa9c437ed180651e0e3ab07af736f12c8eedf7b962845e6affd13295e56609378fad41f4d0aa7b1170aa2dcde81ea9ecad43c73ef024102812b0729de2188ebe SHA512 f4bc04666a4640ca4d7a871a16b0000eceda18ebe3a8606e06ba8f5a74dfd869783467efdc1c058bcfe2b2f8b073ce518c387a6fa1a03c881829e22b57985bb6 DIST portalocker-4.3.2.gh.tar.gz 304218 BLAKE2B ca36b16fc0fecc659a8e408bc4238a40b74085508836dc3e24e9919ea6d1b25aea0b41055b459fd1693085f2a597dd3f0a12cecd645a3780ea683ea941eecd7e SHA512 92bc28b6476f0cbd09ad8454e857978b4aed16d25bf9ed7f2472ff37916ae8101a462ea63692a615c1f414c9af64e7a29dc2eb26c80b9e59885350eb71bf7f81 DIST portalocker-4.4.0.gh.tar.gz 307397 BLAKE2B 2d1b6d2730aa9924b6f6e8cf79628b6d3fdc2795809c81690a7721cb6e51e40c375d4eab8df217120f129b00fc749e2b3be521bd114eb836bf30316d97bcde51 SHA512 b081870124affda5dc06393ef881208c2b08117f1c21d9036978ad6a2ee57c045ff235a2039b52841e235e4186e3fa84fad55783d5814dc0b75d9226922aa1f4 +DIST portalocker-4.4.1.gh.tar.gz 308022 BLAKE2B 53b7d9b218dd5d34a26b248beda6d527bcc2d4cac378c5106620985fd6abfacdc6ae3fed55eb4326a13e235ed4a730bf3a90f9dde7428ef7c33bedd8610eb21e SHA512 d92651bb9b9cf6f12b799ecb2ffccf3c33c2d0da33ccca53f73eefbc32289c3ffa340061488058fd8169433d5ea071c9321ac4f43c2517ce423efb91ba34f368 diff --git a/dev-python/portalocker/portalocker-4.4.1.ebuild b/dev-python/portalocker/portalocker-4.4.1.ebuild new file mode 100644 index 000000000000..b3a42ce7d36d --- /dev/null +++ b/dev-python/portalocker/portalocker-4.4.1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=uv-build +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="A library for Python file locking" +HOMEPAGE=" + https://github.com/WoLpH/portalocker/ + https://portalocker.readthedocs.io/ + https://pypi.org/project/portalocker/ +" +SRC_URI=" + https://github.com/WoLpH/${PN}/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND=" + test? ( + >=dev-python/fakeredis-2.31.0[${PYTHON_USEDEP}] + dev-python/redis[${PYTHON_USEDEP}] + >=dev-python/sphinx-6.0.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-{rerunfailures,timeout} ) +distutils_enable_tests pytest + +src_prepare() { + default + + # Disable code coverage in tests. + sed -i '/--cov/d' pyproject.toml || die +} + +pkg_postinst() { + optfeature "redis support" dev-python/redis +} diff --git a/dev-python/pyqt-builder/Manifest b/dev-python/pyqt-builder/Manifest index 42d3a7e0e9ef..d9bd1aaaab93 100644 --- a/dev-python/pyqt-builder/Manifest +++ b/dev-python/pyqt-builder/Manifest @@ -1,2 +1,3 @@ DIST pyqt_builder-1.19.1.tar.gz 5247679 BLAKE2B c86708891d26d760b4ce8cff535fcb52145c6eab18448b19d66c4039992cf4b4309f4feced07bba7bffdd734ea6e9c54e6e4de93f9dd5d7c269ea89cbab8a19e SHA512 2308c51f93c37b1d13f312e4f2475d26b22d374ef284925fead9eab4aa89b994770431aca45170ac2154b4813fff151798f113f56d4cbf6c6e544fb463104a6d DIST pyqt_builder-1.20.0.tar.gz 5249605 BLAKE2B 8c84936dbdc584bcff99ec183679024edf0043b0272d1d181ed70b4a6933df42435c5172f15a1dbc148419ad6bf7494fdd903b68e40454d22b5743712355b53b SHA512 e663a875e9ff8cae845b11f849bc9cb3cdbbfb60c85bd1b74b014741f18bfed959fd16912a3111b447749ff951754598d39cf627a6e5a56e1a75f0827bf658e2 +DIST pyqt_builder-1.20.1.tar.gz 5249945 BLAKE2B cd5b14392e1cad34e19a0d7acb15ad4309f70d93193e9ad1281bfb3dd85a8dd6d105a35720d7055d5705e015c33d7f99d7c031f6253027b83f2e053b80e0dd44 SHA512 685eb52843dfcdeb394345a99770989ec9a8d3755c25a8eef56f04ef18e86dff006afe2a90c2e5d15b383b0dda0df5a64c0efa6f64d24c214dfe09430108a504 diff --git a/dev-python/pyqt-builder/pyqt-builder-1.20.1.ebuild b/dev-python/pyqt-builder/pyqt-builder-1.20.1.ebuild new file mode 100644 index 000000000000..3f17f7a9fe49 --- /dev/null +++ b/dev-python/pyqt-builder/pyqt-builder-1.20.1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 pypi + +DESCRIPTION="The PEP 517 compliant PyQt build system" +HOMEPAGE="https://github.com/Python-PyQt/PyQt-builder/" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" + +RDEPEND=" + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/sip-6.7[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] +" + +src_prepare() { + distutils-r1_src_prepare + + # skip installing DLLs + rm -r pyqtbuild/bundle/dlls || die +} diff --git a/dev-python/sphinx-autodoc-typehints/Manifest b/dev-python/sphinx-autodoc-typehints/Manifest index 02fa5ffd12cb..b4b12dd2af4a 100644 --- a/dev-python/sphinx-autodoc-typehints/Manifest +++ b/dev-python/sphinx-autodoc-typehints/Manifest @@ -8,3 +8,5 @@ DIST sphinx_autodoc_typehints-3.13.8.tar.gz 97092 BLAKE2B 1481942fc699d784f1dbf8 DIST sphinx_autodoc_typehints-3.13.8.tar.gz.provenance 10282 BLAKE2B ced3a48168414a26151162b52808e87e8c7a546d18b88085838edabe6bf0b0dd18cb213aa6d4d63bbb6662141bb49934297e27de52bdb9e6bf64bd5c23cf6eec SHA512 e7963f83c115ee60b2ad8043d6f21f7e95fc4f185c173d7c79124d014955cfee4ebfd666333a2df6eccd7271c1e1c3cff6c48fb27ddb10a05bbab7609cbef5fd DIST sphinx_autodoc_typehints-3.13.9.tar.gz 97745 BLAKE2B 9ca4a81581ff875a6886937644cd6631a7ca60395884e0f38ee025c92fd2f25676a5c423811231ebfc45d7aab9a7dedf909dd8b02ca6c9430df497e5bdadf058 SHA512 1c1ae94cbf84ec4595437467d73bb92e7e1e147e3f29103b1916c0ce67913d18309fa35372df5f24bb08f61fb9057ad7308f65f8e49046b5a8781c69f793385a DIST sphinx_autodoc_typehints-3.13.9.tar.gz.provenance 10064 BLAKE2B 2cea9575b864d12bf2cc6ef0e1b70a2dfeda295179c33a97ed3cb9b39e46b6c79abd5fddf9890b25ce39c41659809b32f236a3986f670c7de233779cf22b5d49 SHA512 aca83e39274b1060c9be594ee10da94e547f0fe1d118763e9f303c14ea10a6e082332f53aceecbe9f019faf6d7e53c2bfed54fbf676dabf34772dee3ba508d61 +DIST sphinx_autodoc_typehints-3.17.1.tar.gz 569671 BLAKE2B 583924f2e4aabd97712a5e711d70dc4cdf92b939b70a30a57420f987a20468a1f39c0c2ecd0ae59895bcd977a9af5eeab8b1ed1e5565a284b2a2b1066c35d5a3 SHA512 7cd716785dd368adc08183a7e616a3ad7ab9789b03f959a472c71bf5c3fd3b028f08ed6074800f3f056d504766d72a593fa253565884f90eb6c3faf2527e164d +DIST sphinx_autodoc_typehints-3.17.1.tar.gz.provenance 10272 BLAKE2B c234b81565643cf1f3fd38c1208a0f0bc8d8d2386bf84ab63ec653d2e23f1ddff6068dd89621b38c7a23267e5907ba18ab0179460202184032533060011db666 SHA512 c3243c47ffe427d0bcb94fa5d55081681f38a35e9c8a5929c5f768fc95297bf4c0eba3e52cb4499c1f625b3f7535de0e65c1766c5b20f093f6e7331726c83546 diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.17.1.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.17.1.ebuild new file mode 100644 index 000000000000..035241172498 --- /dev/null +++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-3.17.1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/tox-dev/sphinx-autodoc-typehints +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Type hints support for the Sphinx autodoc extension" +HOMEPAGE=" + https://github.com/tox-dev/sphinx-autodoc-typehints/ + https://pypi.org/project/sphinx-autodoc-typehints/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/sphinx-9.0.4[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.16[${PYTHON_USEDEP}] + ' 3.{12..14}) +" +# skipping optional test dep on dev-python/nptyping as that package +# is horribly broken and on its way out +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + >=dev-python/attrs-25.4[${PYTHON_USEDEP}] + >=dev-python/numpydoc-1.10[${PYTHON_USEDEP}] + >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=() +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # Internet + tests/test_annotations.py::test_format_annotation + tests/test_resolver/test_stubs.py::test_sphinx_build_stub_types_produce_crossrefs + # requires sphinx_design + tests/test_live_example.py + # TODO + tests/_resolve/backfill/stubs/test_find.py::test_stub_path_reads_the_properties_of_a_module_proxy +) diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest index 72ff64a94acd..c145e350d5d0 100644 --- a/dev-python/sqlalchemy/Manifest +++ b/dev-python/sqlalchemy/Manifest @@ -1,7 +1,9 @@ DIST sqlalchemy-2.0.52.tar.gz 9945637 BLAKE2B 4af6f1485d26c94569babc99ba6cb3314f0bbc4267bc17ebefbb786390214110283b0a43a81cc38d275fcd852bbb74e77ed2167dce6a5ec9b144119eb0593206 SHA512 9341389b75b684b37f2f1bba8fde882c95c77a68e5ff15b8ab16b163db9c31088a884352999b750fbabadbd723cff093e971035159e77562d5cd843305258fdd DIST sqlalchemy-2.0.53.tar.gz 9966200 BLAKE2B b14be728d4ba7e6517b6e4af96127e3c5bde05218d77afa5bba16638f4270e85c69eded7bd4497c517afc2dbcc5db1baa1201c84d8354ac9a7de8e0f5cf3f98b SHA512 568035a5c37e337eee5606756e5c3bb3edff248cca4879144d690ff4215abc51d697eeb0ab7a3991ea933b65a639d2ae8812e9b325d4fd7d860a26513892609c DIST sqlalchemy-2.0.54.tar.gz 9969559 BLAKE2B b29973d44b49e8c98267d509246369e78c213a3d53280098c4ea14c6d2ae6161fc2bfb71bd2e4af32c39bc187efd0ae03668bad3963ca79187c3889521da4911 SHA512 d88af975c7fc7d4e1b0781e654ef003fb1de90f00e6a4168b167c2b8c6927732caea5bb9ec084451994d89e8808691bc18abf236d80f6e13158f6f1f0a406d1b +DIST sqlalchemy-2.0.55.tar.gz 9997689 BLAKE2B 9090e7fb3c307288e1afa3af4913b4d00d2d86af16c5ceb01cdbe0780cc3bc6ef6718ae92819a1faa5213d4ffddc54add659637f870bda5036417e8a0a6c3f1a SHA512 a98b66a99e390fa077b2da4e49a96e3e568944513e0525bf34c0e8f6889b598bf0c627c70a36fe66bc8791c665cb1997f52b04e4cfc14e79fc74a01112c30024 DIST sqlalchemy-2.1.0.tar.gz 10502427 BLAKE2B 74d6c2f44b52f504ea75fb33cc61a0bf063236e6a4b8c35046ba4cdea3284d81ce7b644c21b9add6d65cd9807f4ed0379533b501977324b8f0364cd117bf70d4 SHA512 785b08779e002640fc2abece92fde7f998d08ee49b1b2d85ca37421dfbf67670fbff29976c3b7a0ddb60d12462185c4bc5bf96e17f0d06a7740375c87eb76435 DIST sqlalchemy-2.1.1.tar.gz 10503203 BLAKE2B 18c76e58bb243bc9fff745f3c04435a4072088ee288aec87d3dc5cb1b6da9d556e6d32cab16d836611633e7316b03b0b960a0830213ba56528aa92d529b2e078 SHA512 5ad09e3c4f101818a7954f17eb665c03251a830ffda082c5feced050d6663b7426abdc9ea3f6801c92ec7d3120f072de18a0aa20aab8ac08bd3d8303f6dc8c32 DIST sqlalchemy-2.1.3.tar.gz 10525778 BLAKE2B 7093aecf1b69b410852a6926d0cb4e4c2e0b7b091c9eda4cd6e5a224dbdbe1a29f17ed350abfdf5d0565a2dcfa7f1a00ea31f3c5e553b70652b56be6fac8ad7b SHA512 abce5dac76e71c7bd059da30b0b61291f5fb1f49417fe1c02220ea4903b142a2b58ec2d2c288b65113420e0ddf9e7b09b89a38a8093686f9ee2d872b5e1d791d DIST sqlalchemy-2.1.4.tar.gz 10544216 BLAKE2B 70414f34f9b1007ca105873c2c7c1789f44656340a6ed6d9fbb28a276f6db0afef69e21fb90abd0f325d2f53a4475f45a7da87db670fc600ae904ab20ef66647 SHA512 fbdafec12fb50654ef73eec69a4bbe885a5fce15cf4a48a26ee322a7e758a6aacab5efb441cff0bbd921065b85dab45b327818c01a1dc856294cf7781a2c1e60 +DIST sqlalchemy-2.1.5.tar.gz 10569593 BLAKE2B 8c483c039900d5535af9ed430d918d9421b81627bcb29b4c7ac32ac1249ff75d08ed76e83c62034940a27a520ec9af049f4364ed21a3b247a5a1c145c0c98cb1 SHA512 2961597ee9bf72fa6cfd1a325a74d5ca1f52066483b6cf343a88c90bdd3084e0e87bcc877743528bbfd1808f11a37c37b4d6cb699a3478840879eb2a010a5b3a diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.55.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.55.ebuild new file mode 100644 index 000000000000..b46152f6c679 --- /dev/null +++ b/dev-python/sqlalchemy/sqlalchemy-2.0.55.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYPI_PN=SQLAlchemy +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="sqlite?" + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Python SQL toolkit and Object Relational Mapper" +HOMEPAGE=" + https://www.sqlalchemy.org/ + https://pypi.org/project/SQLAlchemy/ + https://github.com/sqlalchemy/sqlalchemy/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" +IUSE="examples +sqlite test" + +RDEPEND=" + >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] + test? ( + $(python_gen_impl_dep sqlite) + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + sed -i -e '/greenlet/d' setup.cfg || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_IGNORE=( + test/ext/mypy/test_mypy_plugin_py3k.py + test/typing/test_mypy.py + # hardcode call counts specific to Python versions + test/aaa_profiling + ) + local EPYTEST_DESELECT=( + # warning tests are unreliable + test/base/test_warnings.py + # TODO: flaky? xdist? + test/base/test_concurrency_py3k.py::TestAsyncioCompat::test_await_fallback_no_greenlet + ) + local sqlite_version=$(sqlite3 --version | cut -d' ' -f1) + if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution + test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync + "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]" + "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]" + "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]" + "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]" + "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]" + "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]" + ) + fi + + # upstream's test suite is horribly hacky; it relies on disabling + # the warnings plugin and turning warnings into errors; this also + # means that any DeprecationWarnings from third-party plugins cause + # everything to explode + epytest --reruns-delay=2 -m "not gc_intensive and not timing_intensive and not mypy" +} + +python_install_all() { + if use examples; then + docompress -x "/usr/share/doc/${PF}/examples" + dodoc -r examples + fi + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature "asyncio support" dev-python/greenlet + optfeature "MySQL support" \ + dev-python/mysqlclient \ + dev-python/pymysql + optfeature "postgresql support" dev-python/psycopg:2 +} diff --git a/dev-python/sqlalchemy/sqlalchemy-2.1.5.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.1.5.ebuild new file mode 100644 index 000000000000..d9cf5b3c5b56 --- /dev/null +++ b/dev-python/sqlalchemy/sqlalchemy-2.1.5.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYPI_PN=SQLAlchemy +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="sqlite?" + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Python SQL toolkit and Object Relational Mapper" +HOMEPAGE=" + https://www.sqlalchemy.org/ + https://pypi.org/project/SQLAlchemy/ + https://github.com/sqlalchemy/sqlalchemy/ +" + +LICENSE="MIT" +SLOT="0" +if [[ ${PV} != *_beta* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos ~x64-solaris" +fi +IUSE="examples +sqlite test" + +RDEPEND=" + >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] + test? ( + $(python_gen_impl_dep sqlite) + ) +" + +EPYTEST_PLUGINS=() +EPYTEST_RERUNS=5 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local EPYTEST_IGNORE=( + test/ext/mypy/test_mypy_plugin_py3k.py + test/typing/test_mypy.py + # hardcode call counts specific to Python versions + test/aaa_profiling + ) + local EPYTEST_DESELECT=( + # warning tests are unreliable + test/base/test_warnings.py + # TODO: flaky? xdist? + test/base/test_concurrency_py3k.py::TestAsyncioCompat::test_await_fallback_no_greenlet + ) + local sqlite_version=$(sqlite3 --version | cut -d' ' -f1) + case ${EPYTHON} in + python3.15) + EPYTEST_DESELECT+=( + # repr() changes + test/orm/declarative/test_dc_transforms.py::DCTransformsTest::test_basic_constructor_repr_base_cls + test/orm/declarative/test_dc_transforms_future_anno_sync.py::DCTransformsTest::test_basic_constructor_repr_base_cls + # exception message changes + test/engine/test_processors.py::PyDateProcessorTest::test_no_string + ) + ;; + esac + if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution + test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync + "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]" + "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]" + "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]" + "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]" + "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]" + "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]" + ) + fi + + # upstream's test suite is horribly hacky; it relies on disabling + # the warnings plugin and turning warnings into errors; this also + # means that any DeprecationWarnings from third-party plugins cause + # everything to explode + epytest --reruns-delay=2 -m "not gc_intensive and not timing_intensive and not mypy" +} + +python_install_all() { + if use examples; then + docompress -x "/usr/share/doc/${PF}/examples" + dodoc -r examples + fi + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature "asyncio support" dev-python/greenlet + optfeature "MySQL support" \ + dev-python/mysqlclient \ + dev-python/pymysql + optfeature "postgresql support" dev-python/psycopg:2 +} diff --git a/dev-python/superqt/Manifest b/dev-python/superqt/Manifest index 6476eafc0efb..51da8538a6e1 100644 --- a/dev-python/superqt/Manifest +++ b/dev-python/superqt/Manifest @@ -1,2 +1,4 @@ DIST superqt-0.8.2.tar.gz 110190 BLAKE2B 0dd0b44bd964d95a0dcdd2179e3ca83670cce904b67e1a656dfcdf1bbea40cc8243152409f562b9002c1e163a1bb71377ee1932fcaf69f7bc75a7654b056593a SHA512 8bcf19a48c90131c702c489bf8d7bfb68fb37607bf0e9fb2fade8834ef4ce604512861c265e5cbd1c7157235d98c46d960ba4431a76bf51918002fe83cf2fe79 DIST superqt-0.8.2.tar.gz.provenance 9583 BLAKE2B 509d8a87a3b8a09b72a6768dc01de01aba177f933706a87867596d06ec85ee0eb261ce1fe5ab5c50e6ab064434dfdc7530419127b05b8b9f66079329c134d170 SHA512 c1bb553c7c7d94154e74fa14aad05964047426f8b588eb5b69b2e4166ae522c9efd54c91a5ad683d3ac4a6f767b44bd1622767d9e495a7a5d8d0195b4a2b08ef +DIST superqt-0.9.0.tar.gz 111490 BLAKE2B c659e5ea5b1c15e453b60c1d59f048d0543840e5d13629ced477cc72cd9dfb1c46d9baeffac13dc57356185bcbaa0e529aef37d09d41d2d41be1756a5953cd20 SHA512 312851ba980209ea63e555fb84f44a6df32df63ec40872f8ba7beddc1c45d3b8023afd7601e50c8bfb376e02c9c4d52fc331dde6b57a72ec9c14c378022cfd43 +DIST superqt-0.9.0.tar.gz.provenance 9732 BLAKE2B 402fefbb4a8777fbc09871a0851497e284f5f72a3bd83077ce2732ef4cc740201d389dfc5a55ed73de29ba19d15f858b218aa8c70e7d98b2f0931ec176d08b0a SHA512 ac5ab1e3ef457a6ad70a89e181fe9fe229bc957eaf294b2c21d7e6e4fa7406eb29f537a2cfc53e3e5680e94c54b04f1fd4eaa82d938b6ffce25b0e97f4e8cf2b diff --git a/dev-python/superqt/superqt-0.9.0.ebuild b/dev-python/superqt/superqt-0.9.0.ebuild new file mode 100644 index 000000000000..334f9a7c94ae --- /dev/null +++ b/dev-python/superqt/superqt-0.9.0.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYPI_VERIFY_REPO=https://github.com/pyapp-kit/superqt +PYTHON_COMPAT=( python3_{13..14} ) + +inherit distutils-r1 pypi virtualx + +DESCRIPTION="Missing widgets and components for PyQt/PySide" +HOMEPAGE=" + https://github.com/pyapp-kit/superqt/ + https://pypi.org/project/superqt/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}] + >=dev-python/qtpy-2.4.0[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.12.0[${PYTHON_USEDEP}] +" + +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + dev-python/numpy[${PYTHON_USEDEP}] + ) +" + +EPYTEST_PLUGINS=( pytest-qt ) +: ${EPYTEST_TIMEOUT:=30} +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_test() { + local ALL_QT_APIS=() + local api + + for api in pyqt6 pyside6; do + has_version "dev-python/qtpy[${api},${PYTHON_USEDEP}]" || continue + ALL_QT_APIS+=( "${api}" ) + done + [[ -z ${ALL_QT_APIS[@]} ]] && die "No Qt6 implementation found?!" + + virtx distutils-r1_src_test +} + +python_test() { + local EPYTEST_IGNORE=( + # pint and pyconify not packaged + tests/test_quantity.py + tests/test_iconify.py + ) + local EPYTEST_DESELECT=() + + for api in "${ALL_QT_APIS[@]}"; do + case ${api} in + pyqt6) + EPYTEST_DESELECT=( + # crashing on assertions + tests/test_color_combo.py::test_q_color_combobox + ) + ;; + esac + + einfo "Testing with ${api}" + epytest -o "qt_api=${api}" + done +} -- cgit v1.3