Merge updates from master

This commit is contained in:
Repository mirror & CI
2023-04-22 06:32:11 +00:00
17 changed files with 590 additions and 6 deletions

View File

@@ -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

View File

@@ -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
}

View File

@@ -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

View File

@@ -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)"
}

View File

@@ -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

View File

@@ -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/jmespath-2[${PYTHON_USEDEP}]
dev-python/python-dateutil[${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)"
}

View File

@@ -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

View File

@@ -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
}

View File

@@ -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

View File

@@ -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
}

View File

@@ -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

View File

@@ -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
}

View File

@@ -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

View File

@@ -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
}

View File

@@ -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

View File

@@ -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=
}

View File

@@ -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
}