git: d640ceb92ae9 - main - devel/py-gql: new port

From: Ronald Klop <ronald_at_FreeBSD.org>
Date: Fri, 29 Nov 2024 12:21:09 UTC
The branch main has been updated by ronald:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d640ceb92ae91f33694c4faa43bd9a24956a6487

commit d640ceb92ae91f33694c4faa43bd9a24956a6487
Author:     Derek Schrock <dereks@lifeofadishwasher.com>
AuthorDate: 2024-11-29 12:15:28 +0000
Commit:     Ronald Klop <ronald@FreeBSD.org>
CommitDate: 2024-11-29 12:20:37 +0000

    devel/py-gql: new port
    
    This is a GraphQL client for Python 3.8+. Plays nicely with graphene,
    graphql-core, graphql-js and any other GraphQL implementation compatible
    with the spec.
    This is required for devel/py-python-gitlab v4.11.0.
    
    PR:     281910
---
 devel/Makefile         |  1 +
 devel/py-gql/Makefile  | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++
 devel/py-gql/distinfo  |  3 +++
 devel/py-gql/pkg-descr |  3 +++
 4 files changed, 68 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 95d3ebdc698c..95a9fc41fd5f 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4934,6 +4934,7 @@
     SUBDIR += py-googleapis-common-protos
     SUBDIR += py-gptscript
     SUBDIR += py-gpxpy
+    SUBDIR += py-gql
     SUBDIR += py-graal
     SUBDIR += py-grab
     SUBDIR += py-graphene
diff --git a/devel/py-gql/Makefile b/devel/py-gql/Makefile
new file mode 100644
index 000000000000..c783eeac8bb4
--- /dev/null
+++ b/devel/py-gql/Makefile
@@ -0,0 +1,61 @@
+PORTNAME=	gql
+PORTVERSION=	3.5.0
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	dereks@lifeofadishwasher.com
+COMMENT=	GraphQL client for Python
+WWW=		https://github.com/graphql-python/gql
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}anyio>=3.0<5:devel/py-anyio@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}backoff>=1.11.1<3.0:devel/py-backoff@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}graphql-core>=3.2<3.3:devel/py-graphql-core@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}yarl>=1.6<2.0:www/py-yarl@${PY_FLAVOR}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}aiofiles>0:devel/py-aiofiles@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}parse>0:textproc/py-parse@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pytest-asyncio>0:devel/py-pytest-asyncio@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pytest-console-scripts>0:devel/py-pytest-console-scripts@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}vcrpy>0:devel/py-vcrpy@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	autoplist concurrent distutils
+
+NO_ARCH=	yes
+
+OPTIONS_DEFINE=		AIOHTTP BOTOCORE DOCS HTTPX REQUESTS WEBSOCKETS
+OPTIONS_DEFAULT=	AIOHTTP BOTOCORE HTTPX REQUESTS WEBSOCKETS
+
+AIOHTTP_DESC=		AIOHTTP Support
+BOTOCORE_DESC=		BOTOCORE Support
+HTTPX_DESC=		HTTPX Support
+REQUESTS_DESC=		Requests Support
+WEBSOCKETS_DESC=	Websockets Support
+
+AIOHTTP_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}aiohttp>=3.8.0<4:www/py-aiohttp@${PY_FLAVOR}
+
+BOTOCORE_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}botocore>=1.21<2:devel/py-botocore@${PY_FLAVOR}
+
+DOCS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}anyio>=3.0<5:devel/py-anyio@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}backoff>=1.11.1<3.0:devel/py-backoff@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}graphql-core>=3.2<3.3:devel/py-graphql-core@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}sphinx-argparse>0:textproc/py-sphinx-argparse@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}sphinx>=4.3.1,1:textproc/py-sphinx@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR}
+
+HTTPX_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}httpx>=0.23.1<1:www/py-httpx@${PY_FLAVOR}
+
+REQUESTS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}requests-toolbelt>=1.0.0<2:www/py-requests-toolbelt@${PY_FLAVOR} \
+			${PYTHON_PKGNAMEPREFIX}requests>=2.26<3:www/py-requests@${PY_FLAVOR}
+
+WEBSOCKETS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}websockets>=10:devel/py-websockets@${PY_FLAVOR}
+
+do-test:
+	@cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -v -rs -o addopts= tests -vv --run-online
+
+.include <bsd.port.mk>
diff --git a/devel/py-gql/distinfo b/devel/py-gql/distinfo
new file mode 100644
index 000000000000..b4505dc5323d
--- /dev/null
+++ b/devel/py-gql/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1727045509
+SHA256 (gql-3.5.0.tar.gz) = ccb9c5db543682b28f577069950488218ed65d4ac70bb03b6929aaadaf636de9
+SIZE (gql-3.5.0.tar.gz) = 179939
diff --git a/devel/py-gql/pkg-descr b/devel/py-gql/pkg-descr
new file mode 100644
index 000000000000..8569b19ce05c
--- /dev/null
+++ b/devel/py-gql/pkg-descr
@@ -0,0 +1,3 @@
+This is a GraphQL client for Python 3.8+. Plays nicely with graphene,
+graphql-core, graphql-js and any other GraphQL implementation compatible with
+the spec.