diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 5966c5a69cec3..5ba1ea37a83c2 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -6,3 +6,4 @@ DIST aws-cli-1.27.114.gh.tar.gz 2406530 BLAKE2B a566214d83d0238c74e306d82829bc9a DIST aws-cli-1.27.115.gh.tar.gz 2406947 BLAKE2B ef5ac62ef273d92b19d1ef2ea755b35f2353a3aea66e935e44408f11c84320701b7419cfbf36f3ed220d62f3ca3d95ee455b50db4fbed70da7cdef885401090b SHA512 878da56008e5c8cd8347571187713c0624dfedae58bcf02df2082560cdcd082721cd215c4e4bce0b82281bdc61979f4006dd3b860bde65adbf072b45ec89130b DIST aws-cli-1.27.116.gh.tar.gz 2408827 BLAKE2B 5b0f0df52ce6772a393f8e31f0161a516ff3abdb2f170ecda587ecc740058ed6b1085a223802374511c8bbd7064dbeeebe1df3282d03c4f48bdb7d93ab46301a SHA512 52ed834dc11e9aed8b50ee2d8a3d3c56a7f1748884323eaaf1337965d11f07867c0a97b5becb397536aee996e556caf57215208883d79684a6df500341414c1b DIST aws-cli-1.27.117.gh.tar.gz 2409982 BLAKE2B 8d445137069df013dc66e3e297be5359005602b9c70206780886ebe2395db04d4477ce52289bf1d8106de6665cdd874872a56eeb7af4ba524e2b80d7fdffbda0 SHA512 fd752e28eb7877f2e2586459a135ac2f0f8038a095ba26ac8f6937a624dd2d0c0c56380827f044b71ead9705af461977833d463993de89452f9e03e6b1d917b3 +DIST aws-cli-1.27.118.gh.tar.gz 2410453 BLAKE2B 75bf42c439c9fc0e16c1a3e919d4c6b8c9246c754eb0ba485c4ec193e6b4e0e3de60eff7c433937b31997ba7d26eef622a382b41d107139de36f5475ae083a6f SHA512 036262c1c3731a5f8b6704ad278ea53f3ae5810b18fd8d4b93ba26c1c17eba79180f8310a40427332e24a4f42ac47e2707ccd4e5d28b29ab4f4593d6820cc4d9 diff --git a/app-admin/awscli/awscli-1.27.118.ebuild b/app-admin/awscli/awscli-1.27.118.ebuild new file mode 100644 index 0000000000000..62c19f3a63fb4 --- /dev/null +++ b/app-admin/awscli/awscli-1.27.118.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..11} ) + +inherit bash-completion-r1 distutils-r1 multiprocessing + +MY_P=aws-cli-${PV} +DESCRIPTION="Universal Command Line Environment for AWS" +HOMEPAGE=" + https://github.com/aws/aws-cli/ + https://pypi.org/project/awscli/ +" +SRC_URI=" + https://github.com/aws/aws-cli/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +# botocore is x.(y+2).z +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)" +RDEPEND=" + >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}] + dev-python/colorama[${PYTHON_USEDEP}] + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/rsa[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + !app-admin/awscli-bin +" +BDEPEND=" + test? ( + dev-python/pytest-forked[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + # strip overzealous upper bounds on requirements + sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO + tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple + tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only + tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing + tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid + ) + + # integration tests require AWS credentials and Internet access + epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked +} + +python_install_all() { + newbashcomp bin/aws_bash_completer aws + + insinto /usr/share/zsh/site-functions + newins bin/aws_zsh_completer.sh _aws + + distutils-r1_python_install_all + + rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 0c72e0c46b17f..d6bba68cc1be6 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -6,3 +6,4 @@ DIST boto3-1.26.114.gh.tar.gz 637000 BLAKE2B 06f74ac214f4c2161ebe464e1c8fc42c74c DIST boto3-1.26.115.gh.tar.gz 637877 BLAKE2B 861cf3a197002bcfac3f1ca3428bd01f1a8e103462e0de83ed33bb7575de0056f4222195c70dcd0e40dcf3744467e8c017bfe361e589eaf641fec76d6d3eea94 SHA512 337e90d91bb9efcff89b410d5222dead7ce1d0f35257bebe0309cd5fa657facd1a0352bee0ea23d3b94ad852da03a182b7dabf4c2d854390fd227bd58fabc6d3 DIST boto3-1.26.116.gh.tar.gz 638605 BLAKE2B 946634bfaa4f0b4bd3689a11d8dc3e982dd8166c2b4409335bd1be58c356bbcbf2e5d22c7f319d29a549c69d4a14a3d2afb369c345c643cfa369fb3c9843e04f SHA512 2434fbf7ef2434365863ae8c67c16209a6537afb21697e24efd466146f6fe03566bec220943392139231d55aa570ba3d696a086fc087e4f9d1908da96794c77a DIST boto3-1.26.117.gh.tar.gz 639473 BLAKE2B fcb41a6f91de9f64778dcbdd9fe4cdf1f4e9aa57eb0b18f8712befd7e4e1ff7c54241b60ebe784ff25d0b61f8db5b00da0827b23bb64ef82487af859425e99f3 SHA512 a52fb6567f2407b862d0059510f47e9551236c867bc3bc8bc1b9a9e132188505efd6fc060cb32806478fe886dd9293141131df099df25a4c53bc405d729fad08 +DIST boto3-1.26.118.gh.tar.gz 639685 BLAKE2B 45ba98f4a1b72c45caef8f04e1b5f5fe5a35e8e8fd4248f77889f780e9909caebb3d5715d0de5bb5f25ee353352e0860745643ddee503ffb8d1f99c8e42658c6 SHA512 cd62f9a9b087db2b2805e672c9e938da230390980d2163e06549b03cc3f009dbdad1e80205c392c24af5c4d98cefe3f2354244e9e9d20d706a8c69e34caa07ea diff --git a/dev-python/boto3/boto3-1.26.118.ebuild b/dev-python/boto3/boto3-1.26.118.ebuild new file mode 100644 index 0000000000000..2a4a7643203e9 --- /dev/null +++ b/dev-python/boto3/boto3-1.26.118.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..11} ) + +inherit distutils-r1 multiprocessing + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +LICENSE="Apache-2.0" +SLOT="0" + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/boto/boto3" + inherit git-r3 + BOTOCORE_PV=${PV} +else + SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + + # botocore is x.(y+3).z + BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)" +fi + +RDEPEND=" + >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_python_prepare_all +} + +python_test() { + epytest tests/{functional,unit} -n "$(makeopts_jobs)" +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index d27080da23139..3b474a91b96ed 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -6,3 +6,4 @@ DIST botocore-1.29.114.gh.tar.gz 11388772 BLAKE2B 6c9ce892cccf2f85ba4bcd49b31309 DIST botocore-1.29.115.gh.tar.gz 11394187 BLAKE2B 621be4a22b7f06d520bcd630ed6e1a8721d11d5c7822f56f54907177d0773b69247b627a42cfbb1b8e053f54ea16f7238acc0d485379c1e071b6e917ea625596 SHA512 525d8f219cad541c4cc125c2d5eeb7595fba6192bda23e7bcc02a65e4ec413756ae3d8ab5bcb3185b5c837bc7214c22146e52716ff010cc396bc8d32cd98b956 DIST botocore-1.29.116.gh.tar.gz 11399292 BLAKE2B 47a53b2612804911465f6f56a78f79e389ac7bd2e29e3f45c60f25ec1e700df8956dac034d058974bb453623d5ed5edc416d07b45427cb1ef3c584b5ec4b97f3 SHA512 81636c104a0c4b4f04ebeb066171be206929d5eaf2c40e6f383e701a9dc917f84d4b2f9ef2d7a26b278960af7561316d289be4150eede9a56be20dbf606aa57c DIST botocore-1.29.117.gh.tar.gz 11408322 BLAKE2B f7b364805f6604abe8dff06015b68867dd1f0385bfa1f52a8f0f041387c28a29cc9ee54932841736db5abd3c39b6cce4c6f4aaa5d45f12483fa9064a98718bcf SHA512 b9eb2fd8650fc4baa465da4e559b83766c5d677121df541693a28602b6a780ea9a1177b92d758cb5e6524d01e8d345461b1c4a35987dfafd9441d9a4aa50c927 +DIST botocore-1.29.118.gh.tar.gz 11412916 BLAKE2B b70359e5082728993c231ce73932899eb5c748c27f565f5a99e422bb28cba7034712cd62fb56a3c1bf3fcb027e004443878b94a7d43861e16af87fc594bd542a SHA512 7db596dfb7d620889e5001b089529bfa5611e06a0035e8c67f649aebfc9b537de07e8ca33068e5d4545ae0a5ade0588dcac5ce84232d7fd3f1f13a429fb3078b diff --git a/dev-python/botocore/botocore-1.29.118.ebuild b/dev-python/botocore/botocore-1.29.118.ebuild new file mode 100644 index 0000000000000..491b6bbc21f2b --- /dev/null +++ b/dev-python/botocore/botocore-1.29.118.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..11} ) + +inherit distutils-r1 multiprocessing + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +LICENSE="Apache-2.0" +SLOT="0" + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/boto/botocore" + inherit git-r3 +else + SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + " + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +RDEPEND=" + dev-python/six[${PYTHON_USEDEP}] + =dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + # fails on unrelated warnings + tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME + tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME + # TODO + tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider + ) + + epytest tests/{functional,unit} -n "$(makeopts_jobs)" +} diff --git a/dev-python/importlib-metadata/Manifest b/dev-python/importlib-metadata/Manifest index e4d40bde7d54e..a13ef2130a74e 100644 --- a/dev-python/importlib-metadata/Manifest +++ b/dev-python/importlib-metadata/Manifest @@ -1,2 +1,3 @@ DIST importlib_metadata-6.0.1.tar.gz 49963 BLAKE2B 8f915035334965ae373977814d335b66028f85372f96a9815fe3e59ca346b60d64c16e147e8a9d1ce44e26b31851dcfbda84002fc1a0d93c0d154115f5acec4e SHA512 9ee241a8865d181fae103e643ae618f46541ba9aab299df32892739db991d78b4199df436f77d7c28aeb736e4c2cfb38301cb7133d8baff3c149f4421e0431a1 DIST importlib_metadata-6.5.0.tar.gz 53101 BLAKE2B a22b48f3ea927c9588fc15f4731c8ffd2a51fb3544c0c74ab48d44a3949f2d981c63aa3714914e02ac3a8035ca0a0e726f790672fbad9e39e3158e251d90f7c5 SHA512 c581ff46d601a239ba9e83114a18b1fc5c0245c215752b8313624fbef6b441eac7cebd4e021d09f12d26ba30715b99475eeeb66befc49bcd609f1b53b79f9bfd +DIST importlib_metadata-6.5.1.tar.gz 53080 BLAKE2B 9227d37e6e74e255cb93f3daecc4c1fbb34c4b7af5ab172f454aa514d41bcb061f96dd94757984da979192ec72e8fb7d8e02b688d834004ec077c8e0fdd05dfd SHA512 e7d0db1d16f31be3613aabae74d5fa2d75b122f622d87aa9e20e65662244f108af715f2cb2dcaeb43f9dccb1ad7c8a6f7f7ec1f17fbcd1ddd1b4c4febb9ef8e8 diff --git a/dev-python/importlib-metadata/importlib-metadata-6.5.1.ebuild b/dev-python/importlib-metadata/importlib-metadata-6.5.1.ebuild new file mode 100644 index 0000000000000..9c9a3496dc21a --- /dev/null +++ b/dev-python/importlib-metadata/importlib-metadata-6.5.1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# please keep this ebuild at EAPI 7 -- sys-apps/portage dep +EAPI=7 + +DISTUTILS_USE_PEP517=flit +# NB: this package extends beyond built-in importlib stuff in py3.8+ +# new entry_point API not yet included in cpython release +PYTHON_COMPAT=( pypy3 python3_{9..11} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Read metadata from Python packages" +HOMEPAGE=" + https://github.com/python/importlib_metadata/ + https://pypi.org/project/importlib-metadata/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +RDEPEND=" + dev-python/zipp[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pyfakefs[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/importlib-resources[${PYTHON_USEDEP}] + ' 3.8) + ) +" + +distutils_enable_tests unittest + +src_configure() { + grep -q 'build-backend = "setuptools' pyproject.toml || + die "Upstream changed build-backend, recheck" + # write a custom pyproject.toml to ease setuptools bootstrap + cat > pyproject.toml <<-EOF || die + [build-system] + requires = ["flit_core >=3.2,<4"] + build-backend = "flit_core.buildapi" + + [project] + name = "importlib_metadata" + version = "${PV}" + description = "Read metadata from Python packages" + EOF +} diff --git a/dev-python/peewee/Manifest b/dev-python/peewee/Manifest index 46f1cfb03bd17..bfdc50ac4435a 100644 --- a/dev-python/peewee/Manifest +++ b/dev-python/peewee/Manifest @@ -1,2 +1,3 @@ DIST peewee-3.16.0.gh.tar.gz 1085430 BLAKE2B 3acfbbc9d8cce7e4bd1c0027905f4ca44431f376a243adffbfadd4d3f15b4e729c4736076e8ec72c40261ca269c66d811afb6c25b9d075d5913a13869da4f4dd SHA512 f77a040831bd3189135196ede9748c92af9db21127839dfacd7712586273bdd22c688ca22bfa373805fa1b64f770b7cea850cba53e73f324f25ced1305830409 DIST peewee-3.16.1.gh.tar.gz 911668 BLAKE2B 6336d2edbf85b54dd98b3a67fc9507c626eee1d85293b12cf60d3a733d243d70a7df0583cd6024cb0550f8f31229702404692b0bf588e3c46e104ad64a095f37 SHA512 e89f1a2f25c2675403a560d3fa8eade833f9ef8b2fecfef00769a9633e99cb40feff7c4e1d2e9b001d4e6f50a8dae4594ffe22adfbe64a93035c47f673d5557c +DIST peewee-3.16.2.gh.tar.gz 912162 BLAKE2B d865a63fb0eeff064b6655029741291ebd002ffa428fe98f87b319874713064eed9500fb45e3710b7e1223ea2537408d51dc4a6f40b525467f074f225c05bf20 SHA512 7e507d9f2ace45c5ec482d657e7722812fae10eea9a23b12caf2611d3739bc6dc70800f21d606d5e854e3209dd6d2ff73b93f004515f6549c3bbc423bce650d8 diff --git a/dev-python/peewee/peewee-3.16.2.ebuild b/dev-python/peewee/peewee-3.16.2.ebuild new file mode 100644 index 0000000000000..db2b218c25a9d --- /dev/null +++ b/dev-python/peewee/peewee-3.16.2.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_REQ_USE="sqlite" + +inherit distutils-r1 + +DESCRIPTION="Small Python ORM" +HOMEPAGE=" + https://github.com/coleifer/peewee/ + https://pypi.org/project/peewee/ +" +SRC_URI=" + https://github.com/coleifer/${PN}/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~riscv ~x86" +IUSE="examples +native-extensions test" +RESTRICT="!test? ( test )" + +DEPEND=" + native-extensions? ( dev-db/sqlite:3= ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] +" + +distutils_enable_sphinx docs + +src_compile() { + if ! use native-extensions; then + local -x NO_SQLITE=1 + fi + + distutils-r1_src_compile +} + +python_test() { + "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}" +} + +python_install_all() { + use examples && DOCS=( examples/ ) + distutils-r1_python_install_all +} diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest index 9469efbd2a4f0..162ca56ff73f9 100644 --- a/dev-python/sqlalchemy/Manifest +++ b/dev-python/sqlalchemy/Manifest @@ -1,4 +1,5 @@ DIST SQLAlchemy-1.4.47.tar.gz 8559530 BLAKE2B 051e6f0114162f5525e756d8762281464020a3c4e1751df8432f76ce3281ea1004fbf842e92bdd310e3a736fc87d25db12a1566720c76bde7960d51c22a483da SHA512 702cbae848bc662b686db43b2d2dbd18b503b3aacac6f5960bcd260cc5bd7058536ff2207f1780cb8425c228a82796490088c3ec32f24637edd2cf1cdac7a8bb +DIST SQLAlchemy-2.0.10.tar.gz 9364115 BLAKE2B 0a058eb179e08fa04083eb75aeffff7a50b6e379ea9b5b31d568a88c8ceaa208c0df613d5b3054d477af25e65566b8d413a3be694744e96609f74ab5ac102365 SHA512 f672eec34851e85f1ba41778104a379a37f833804e549ed12cd5b2d5e3cdfb5578e05aa61a61264aee1985d03af19c81b950977ae2b458161dfc8320db371b69 DIST SQLAlchemy-2.0.4.tar.gz 9250723 BLAKE2B c3cec648a527e7beb349b2bbb6924a4e794a1fe4d1563ba7573afdc28ed24fce149c5b3c08fa419e85713b68080b2a805e1999e312f59ed7fae55f9aee6a966e SHA512 098004c594ff00a47a66850b0661f673e4d7a6f168fce72ca37a65ecfe04b3d291b9a6fb9393f7671c9a7c5c128ab6ba2035d18cef28736df1207e689cd8c412 DIST SQLAlchemy-2.0.7.tar.gz 9298301 BLAKE2B abedb2805cad489e68fdec383eaf1bc65ef92777230317911a9351fce7c9159f746629197f7443a37495c23cd8d3cdd1015d8417f00227f28b8af1468a8327ef SHA512 94f5c4262741986456a9de435a81d9df8d5eed16417cc8c07321cb28030c99ea347c33a2054f2961e3b794bd5f75da19b0879675e2c1106fc5030382895caf75 DIST SQLAlchemy-2.0.8.tar.gz 9314926 BLAKE2B bc54ba9be9f68cc2995bf5328cc5268e0890262efb162a94bd36713f3f3d2f1ddffa95b4d1d8ab140f865c2788d1a913f6c104f21809a695faa132686d77cf3c SHA512 66408768ff702b16ad1365931b254d72976313a3369a74e5a81326d83540ee274805b01d449010ea8e8750312e26dc91aad3b724c4cbdf037e7314b204f6908a diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.10.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.10.ebuild new file mode 100644 index 0000000000000..c5a01ac5dd420 --- /dev/null +++ b/dev-python/sqlalchemy/sqlalchemy-2.0.10.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 python3_{9..11} ) +PYTHON_REQ_USE="sqlite?" + +inherit distutils-r1 multiprocessing optfeature pypi + +MY_PN="SQLAlchemy" +DESCRIPTION="Python SQL toolkit and Object Relational Mapper" +HOMEPAGE=" + https://www.sqlalchemy.org/ + https://pypi.org/project/SQLAlchemy/ + https://github.com/sqlalchemy/sqlalchemy/ +" +SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")" +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="examples +sqlite test" + +RDEPEND=" + >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/cython[${PYTHON_USEDEP}] + test? ( + $(python_gen_impl_dep sqlite) + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +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 + # hardcode call counts specific to Python versions + test/aaa_profiling + ) + local EPYTEST_DESELECT=( + # warning tests are unreliable + test/base/test_warnings.py + # TODO + test/orm/test_versioning.py::ServerVersioningTest_sqlite+pysqlite_3_40_1::test_sql_expr_w_mods_bump + test/sql/test_resultset.py::CursorResultTest_sqlite+pysqlite_3_41_0::test_pickle_rows_other_process + ) + local sqlite_version=$(sqlite3 --version | cut -d' ' -f1) + [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=( + test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access + test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg + test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg + test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string + test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string + test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string + "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message" + "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single + test/base/test_utils.py::ImmutableDictTest::test_pep584 + ) + 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 + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p xdist -n "$(makeopts_jobs)" +} + +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 \ + dev-python/mysql-connector-python + optfeature "postgresql support" dev-python/psycopg:2 +} diff --git a/dev-python/tornado/Manifest b/dev-python/tornado/Manifest index 0b0cbf5cb2352..5ef7047ba7dc9 100644 --- a/dev-python/tornado/Manifest +++ b/dev-python/tornado/Manifest @@ -1,2 +1,3 @@ DIST tornado-6.2.tar.gz 504849 BLAKE2B 18fee464e043e20dcdd5677bc3a72949140a64ce353e09a21242fcade6d8b668517553c649d65e892d9c3fabacea96903d4e42b70676a62759900abc8f4a202f SHA512 157cbeee21bef29ac68b319329e7fc57db4c68dbb5a245e2171b7a28427ebbfe16b745e3bdbdec5912caae5eaa60c3cbbf8830c9c76fec5ffdf025e234468517 +DIST tornado-6.3.1.tar.gz 508547 BLAKE2B ed7d9085f75291d341574c610b23a9a24468238988e7bd726be6da4ed8cd5588c1df5e11a154f3c9843931d210198d3bd57d3999b4bdcdf13b3b78afec04df36 SHA512 e6b33d017448060d29e718cb4ed4f852f3f1a970ef6149fcf88900cf7a7f008b737cfdad3c217a6c43a5c7176aee0adb72c3c0055b6b3faac49acd34c3b74b90 DIST tornado-6.3.tar.gz 507992 BLAKE2B a894fbb62e4246be82b09856977758e8e55886b77917a4a23a6411a58b2b85ae1ae9113e70cc00bf0b0775566d0bda237ab3ba91ff18012c7c72f24dff587a9e SHA512 f25bbf1e489bb53ba5ed502a9241b3629a66a8bee3ba54d8bd96946e478ea06dfdf70e6f937da25c8240cb16cc5c9ff3011415503c7d03e2b1eeb2f7567d8209 diff --git a/dev-python/tornado/tornado-6.3.1.ebuild b/dev-python/tornado/tornado-6.3.1.ebuild new file mode 100644 index 0000000000000..ccbe90d682669 --- /dev/null +++ b/dev-python/tornado/tornado-6.3.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} pypy3 ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 pypi + +DESCRIPTION="Python web framework and asynchronous networking library" +HOMEPAGE=" + https://www.tornadoweb.org/ + https://github.com/tornadoweb/tornado/ + https://pypi.org/project/tornado/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="examples test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + ${RDEPEND} + $(python_gen_cond_dep ' + >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}] + ' 'python*') + ) +" + +src_prepare() { + # network-sandbox? ipv6? + sed -i -e 's:test_localhost:_&:' \ + tornado/test/netutil_test.py || die + + distutils-r1_src_prepare +} + +python_test() { + local -x ASYNC_TEST_TIMEOUT=60 + cd "${T}" || die + "${EPYTHON}" -m tornado.test.runtests --verbose || + die "tests failed under ${EPYTHON}" +} + +python_install_all() { + if use examples; then + docinto examples + dodoc -r demos/. + docompress -x /usr/share/doc/${PF}/examples + fi + distutils-r1_python_install_all +} diff --git a/dev-python/yarl/Manifest b/dev-python/yarl/Manifest index 48a96b4a6ade9..35a42dcf86fb5 100644 --- a/dev-python/yarl/Manifest +++ b/dev-python/yarl/Manifest @@ -1 +1,2 @@ DIST yarl-1.8.2.gh.tar.gz 109938 BLAKE2B 1f2cec38bb681f6a59f10253c75e74912d482cdbe0e639e3ba0a43b9d6ab7b7edc1558c9fffaffd7aad9fa905d884e856ff7f7b69dd103800ef62f7f05de90b5 SHA512 d5dcebcec06d520b48a1d879671a92371bd89eabb7be700c129fcc45e763ecc0370cbb5e88c7b9be05ecb3317370231293a8c076ed68d71a36fe953219dd27ea +DIST yarl-1.9.1.tar.gz 184455 BLAKE2B 0d4127129832493e4ffa8e2389048d77c7df222809a551bb4ab8583e26b2a4db8876bf62bee7079bd4d1f1b9b55b4875678db84fca38c30b3453bd4117bd461c SHA512 a583bea632b96ef1448a5f28a03c139e822ddc7f5ee8c545994c2746b92022b9ea4d3d8c7ded374a9f3aca1ee22eacd1a31bf96d690eae1775954175393679d0 diff --git a/dev-python/yarl/yarl-1.9.1.ebuild b/dev-python/yarl/yarl-1.9.1.ebuild new file mode 100644 index 0000000000000..8cc9f27c19142 --- /dev/null +++ b/dev-python/yarl/yarl-1.9.1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Yet another URL library" +HOMEPAGE=" + https://github.com/aio-libs/yarl/ + https://pypi.org/project/yarl/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +RDEPEND=" + >=dev-python/multidict-4.0[${PYTHON_USEDEP}] + >=dev-python/idna-2.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/cython +" + +distutils_enable_tests pytest +distutils_enable_sphinx docs \ + dev-python/alabaster + +src_configure() { + set -- cython -3 yarl/_quoting_c.pyx + echo "${*}" >&2 + "${@}" || die +} + +python_test() { + cd tests || die + epytest --override-ini=addopts= +} diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 09684781de2a9..cef9d71e55938 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -49,6 +49,23 @@ case ${EAPI} in *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac +# @ECLASS_VARIABLE: DISTUTILS_EXT +# @DEFAULT_UNSET +# @DESCRIPTION: +# Set this variable to a non-null value if the package (possibly +# optionally) builds Python extensions (loadable modules written in C, +# Cython, Rust, etc.). +# +# When enabled, the eclass: +# +# - adds PYTHON_DEPS to DEPEND (for cross-compilation support), unless +# DISTUTILS_OPTIONAL is used +# +# - adds `debug` flag to IUSE that controls assertions (i.e. -DNDEBUG) +# +# - calls `build_ext` command if setuptools build backend is used +# and there is potential benefit from parallel builds + # @ECLASS_VARIABLE: DISTUTILS_OPTIONAL # @DEFAULT_UNSET # @DESCRIPTION: @@ -310,6 +327,11 @@ _distutils_set_globals() { RDEPEND="${PYTHON_DEPS} ${rdep}" BDEPEND="${PYTHON_DEPS} ${bdep}" REQUIRED_USE=${PYTHON_REQUIRED_USE} + + if [[ ${DISTUTILS_EXT} ]]; then + DEPEND="${PYTHON_DEPS}" + IUSE="debug" + fi fi } _distutils_set_globals @@ -1433,12 +1455,14 @@ distutils-r1_python_compile() { # .pyx is added for Cython # # esetup.py does not respect SYSROOT, so skip it there - if [[ -z ${SYSROOT} && 1 -ne ${jobs} && 2 -eq $( - find '(' -name '*.c' -o -name '*.cc' -o -name '*.cpp' \ - -o -name '*.cxx' -o -name '*.c++' -o -name '*.m' \ - -o -name '*.mm' -o -name '*.pyx' ')' -printf '\n' | - head -n 2 | wc -l - ) ]]; then + if [[ -z ${SYSROOT} && ${DISTUTILS_EXT} && 1 -ne ${jobs} + && 2 -eq $( + find '(' -name '*.c' -o -name '*.cc' -o -name '*.cpp' \ + -o -name '*.cxx' -o -name '*.c++' -o -name '*.m' \ + -o -name '*.mm' -o -name '*.pyx' ')' -printf '\n' | + head -n 2 | wc -l + ) + ]]; then esetup.py build_ext -j "${jobs}" "${@}" fi else @@ -1750,6 +1774,10 @@ distutils-r1_run_phase() { local -x AR=${AR} CC=${CC} CPP=${CPP} CXX=${CXX} tc-export AR CC CPP CXX + if [[ ${DISTUTILS_EXT} ]]; then + local -x CPPFLAGS="${CPPFLAGS} $(usex debug '-UNDEBUG' '-DNDEBUG')" + fi + # How to build Python modules in different worlds... local ldopts case "${CHOST}" in @@ -2041,6 +2069,16 @@ _distutils-r1_post_python_install() { eerror "https://projects.gentoo.org/python/guide/qawarn.html#stray-top-level-files-in-site-packages" die "Failing install because of stray top-level files in site-packages" fi + + if [[ ! ${DISTUTILS_EXT} && ! ${_DISTUTILS_EXT_WARNED} ]]; then + if [[ $(find "${sitedir}" -name "*$(get_modname)" | head -n 1) ]] + then + eqawarn "Python extension modules (*$(get_modname)) found installed. Please set:" + eqawarn " DISTUTILS_EXT=1" + eqawarn "in the ebuild." + _DISTUTILS_EXT_WARNED=1 + fi + fi fi }