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}"
+}

Reply via email to