commit: 9925ed5c6c6bf4ceb1897ff2cc5445669c855019
Author: Kyle Elbert <kcelbert <AT> gmail <DOT> com>
AuthorDate: Tue Jun 25 00:39:02 2024 +0000
Commit: Kyle Elbert <kcelbert <AT> gmail <DOT> com>
CommitDate: Tue Jun 25 00:39:02 2024 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=9925ed5c
dev-python/cloudflare: add 3.0.1
Signed-off-by: Kyle Elbert <kcelbert <AT> gmail.com>
dev-python/cloudflare/Manifest | 2 +
dev-python/cloudflare/cloudflare-3.0.1.ebuild | 92 +++++++++++++++++++++++++++
2 files changed, 94 insertions(+)
diff --git a/dev-python/cloudflare/Manifest b/dev-python/cloudflare/Manifest
index d8d975fef..e4ef4c32e 100644
--- a/dev-python/cloudflare/Manifest
+++ b/dev-python/cloudflare/Manifest
@@ -1,4 +1,6 @@
DIST cloudflare-2.19.2.gh.tar.gz 145051 BLAKE2B
cd7c9d9352b055b115af443341dcc4d0a446aaf1ac7b7f8030dce0ff19da185b1effc9a679b8018920ade98cafaaf599af8aea8c57a924e59eb40670a3854b70
SHA512
eac9601f9cb9ea5dc140e48fb0f0e042396f6a7ec354f18b815d6c51094799dc3f25e1e69e78f87ec5c612f4304d15f779090962a8f96282d9b2fe8a9abfb690
DIST cloudflare-2.19.4.gh.tar.gz 151397 BLAKE2B
c91c95f52314c5177d823ef8f827ea2f76f6cc703260449aea12d54c1b77d061feca15d4bb845f84cfb4fd80789e5064e54d7530daf546d54d17054b9e0b4fda
SHA512
8ae11e73760c57b610abfe5e2c8fdc83c2e0b9e07340884925ec9ac3bf5b40b4edf39b2b8ce7330538369d7573146a2ddac195efb0efb4ff657f75fdacb31aed
DIST cloudflare-3.0.0_beta10.gh.tar.gz 1445435 BLAKE2B
1717f36194ce5e8a292f4026463d9b05b12808ee2c8fbbae7d4817523a4c37d13d2935eef58fe83cebe64c6e7684018154482ee3e51538e7a5724179a2b280c0
SHA512
c7150c0cc056869a600cb440f6cd68801d4032d401192e156101cdf82484ba9b3a03649a2c0569c42c396b653517ad19ec841c3baab067709b4736bcc15e9be6
+DIST cloudflare-3.0.1.gh.tar.gz 1455281 BLAKE2B
ed7268ee0936e0c537c6bf01b57e5020cde59ade37287a80c2ac5e67f70b6c53f8f69c8a6269d36eccedefebc4f4af9232997b5faccea5a51bf6e81a2b2ea7ba
SHA512
b68eaed168967dcbc46ca17c133ee526ef12a5b0e4295044201bc7fdfc4c7883e7f941490b5d2eb1fbd792072b9fbb1e0aaaa417973028d1131aa96c89285874
+DIST cloudflare-python-3.0.1-prism.tar.gz 10658240 BLAKE2B
ce8422410d7c28fefba8fd22a23075ea472ede1afe5ede1ed1baaae25be42c0a0a166a6b4c8c3d52b28b6b9431299ef2b5fa6e5d9f08ab3878216e4fbc58d52c
SHA512
581386b1137fb0cfcded2d2eca25227f6f395f67ea09c34836e815c412e1d1372fb7cb63fcf3ef39c7f8dd9982282aa8eaa412e1863318e131c38a2cf05704a5
DIST cloudflare-python-v3.0.0_beta10-prism.tar.gz 10658021 BLAKE2B
930259e5e1b967ca056804ede3f40d40b57602640d8ae308cc466f38c10eacb95dfb639309ea0b3d2a79fb6c0da6f4cc9dedae08f9a356a4c52ff4bf458d193d
SHA512
60c8cb768cb18099c2f9384fd80ff34e2e2511b56433ca0aae02f4be949c2ac9ab72ea879c53aa1e7aaae284afe5547abb909dc733274d50154179a174429b53
diff --git a/dev-python/cloudflare/cloudflare-3.0.1.ebuild
b/dev-python/cloudflare/cloudflare-3.0.1.ebuild
new file mode 100644
index 000000000..735c52bb8
--- /dev/null
+++ b/dev-python/cloudflare/cloudflare-3.0.1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..12} )
+DISTUTILS_USE_PEP517="hatchling"
+inherit distutils-r1
+DESCRIPTION="Python wrapper for the Cloudflare v4 API"
+HOMEPAGE="https://pypi.org/project/cloudflare/"
+if [ "${PV}" == 9999 ]; then
+ EGIT_REPO_URI="https://github.com/cloudflare/cloudflare-python"
+ inherit git-r3
+else
+ MYPV=$(ver_rs 3 -)
+ MYPV=${MYPV/beta/beta.}
+ MYPN="cloudflare-python"
+
SRC_URI="https://github.com/cloudflare/cloudflare-python/archive/refs/tags/v${MYPV}.tar.gz
-> ${P}.gh.tar.gz
+ test? (
https://github.com/Phoenix591/${MYPN}/releases/download/${PV}/${MYPN}-${PV}-prism.tar.gz
)"
+ #Prism archive generated by workflow
+ #
https://github.com/Phoenix591/cloudflare-python/blob/v3.0.0_beta10/.github/workflows/test-tar.yml
+ S="${WORKDIR}/${MYPN}-${MYPV}"
+ KEYWORDS="~amd64 ~arm64"
+fi
+LICENSE="MIT test? ( ISC Apache-2.0 MIT BSD CC0-1.0 0BSD )"
+# nodejs package and deps used to test
+SLOT="3"
+RDEPEND=" ${DEPEND}
+ >=dev-python/httpx-0.23.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.7.0[${PYTHON_USEDEP}]
+ >=dev-python/anyio-4.3.0[${PYTHON_USEDEP}]
+ >=dev-python/distro-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sniffio-1.3.1[${PYTHON_USEDEP}]
+ "
+
+BDEPEND="test? (
+ >=net-libs/nodejs-18.20.1
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/respx[${PYTHON_USEDEP}]
+ ${RDEPEND}
+)"
+
+distutils_enable_tests pytest
+RESTRICT="mirror" #mirror restricted only because overlay
+RESTRICT+=" !test? ( test )"
+
+src_unpack() {
+ unpack "${P}.gh.tar.gz"
+ use test && cd "${S}" && unpack "cloudflare-python-${PV}-prism.tar.gz"
+}
+
+#python_prepare_all() {
+# # don't install tests or examples
+# sed -i -e "s/'cli4', 'examples'/'cli4'/" \
+# -e "s#'CloudFlare/tests',##" \
+# setup.py || die
+# sed -i -e "/def
test_ips7_should_fail():/[email protected](reason='Now fails upstream')" \
+# -e "2s/^/import pytest/" \
+# CloudFlare/tests/test_cloudflare_calls.py || die
+# distutils-r1_python_prepare_all
+#}
+
+python_test() {
+ # these 2 tests fail in an ebuild environment for some reason
+ # help appreciated
+ local EPYTEST_DESELECT=(
+ tests/test_client.py::TestCloudflare::test_validate_headers
+ tests/test_client.py::TestAsyncCloudflare::test_validate_headers )
+
+ epytest
+}
+
+src_test() {
+ # Run prism mock api server, this is what needs nodejs
+ node --no-warnings node_modules/@stoplight/prism-cli/dist/index.js mock
\
+ "cloudflare-spec.yml" >prism.log &
+ local MOCK_PID=$!
+ # Wait for server to come online
+ echo -n "Waiting for mockserver"
+ while ! grep -q "✖ fatal\|Prism is listening" "prism.log" ; do
+ echo -n "."
+ sleep 0.5
+ done
+ if grep -q "✖ fatal" prism.log; then
+ die "Prism mock server failed"
+ fi
+ distutils-r1_src_test
+ kill "${MOCK_PID}"
+}