commit:     7d8005c03542f78833c48741d7220c2fbf6733c8
Author:     Kyle Elbert <kcelbert <AT> gmail <DOT> com>
AuthorDate: Wed Jun 19 05:03:24 2024 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Wed Jun 19 05:05:07 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=7d8005c0

dev-python/cloudflare: add 3.0.0_beta10

Cloudflare 3 changed the case on the module so it can coexist with 2

Signed-off-by: Kyle Elbert <kcelbert <AT> gmail.com>

 dev-python/cloudflare/Manifest                     |  2 +
 .../cloudflare/cloudflare-3.0.0_beta10.ebuild      | 90 ++++++++++++++++++++++
 2 files changed, 92 insertions(+)

diff --git a/dev-python/cloudflare/Manifest b/dev-python/cloudflare/Manifest
index 84a9ae7ab..d8d975fef 100644
--- a/dev-python/cloudflare/Manifest
+++ b/dev-python/cloudflare/Manifest
@@ -1,2 +1,4 @@
 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-python-v3.0.0_beta10-prism.tar.gz 10658021 BLAKE2B 
930259e5e1b967ca056804ede3f40d40b57602640d8ae308cc466f38c10eacb95dfb639309ea0b3d2a79fb6c0da6f4cc9dedae08f9a356a4c52ff4bf458d193d
 SHA512 
60c8cb768cb18099c2f9384fd80ff34e2e2511b56433ca0aae02f4be949c2ac9ab72ea879c53aa1e7aaae284afe5547abb909dc733274d50154179a174429b53

diff --git a/dev-python/cloudflare/cloudflare-3.0.0_beta10.ebuild 
b/dev-python/cloudflare/cloudflare-3.0.0_beta10.ebuild
new file mode 100644
index 000000000..e9b2842da
--- /dev/null
+++ b/dev-python/cloudflare/cloudflare-3.0.0_beta10.ebuild
@@ -0,0 +1,90 @@
+# 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/v${PV}/${MYPN}-v${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-v${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 &
+       # 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
+}

Reply via email to