git: 6343eafff60a - main - devel/py-rpcq: New port: RPC framework and message specification for Rigetti QCS

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 31 May 2022 03:18:08 UTC
The branch main has been updated by yuri:

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

commit 6343eafff60a1b0ed77e385e9b4a6381f4dccef0
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-05-31 02:19:03 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-05-31 03:18:02 +0000

    devel/py-rpcq: New port: RPC framework and message specification for Rigetti QCS
---
 devel/Makefile          |  1 +
 devel/py-rpcq/Makefile  | 31 +++++++++++++++++++++++++++++++
 devel/py-rpcq/distinfo  |  3 +++
 devel/py-rpcq/pkg-descr | 10 ++++++++++
 4 files changed, 45 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 479941aa1e3c..b55986f47874 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5252,6 +5252,7 @@
     SUBDIR += py-robotremoteserver
     SUBDIR += py-rope
     SUBDIR += py-rose
+    SUBDIR += py-rpcq
     SUBDIR += py-rply
     SUBDIR += py-rq
     SUBDIR += py-rq-scheduler
diff --git a/devel/py-rpcq/Makefile b/devel/py-rpcq/Makefile
new file mode 100644
index 000000000000..eed9e49ba6f6
--- /dev/null
+++ b/devel/py-rpcq/Makefile
@@ -0,0 +1,31 @@
+PORTNAME=	rpcq
+DISTVERSION=	3.10.0
+CATEGORIES=	devel python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	RPC framework and message specification for Rigetti QCS
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}msgpack>=0.6:devel/py-msgpack@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}python-rapidjson>0:devel/py-python-rapidjson@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pyzmq>=17:net/py-pyzmq@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}ruamel.yaml>0:devel/py-ruamel.yaml@${PY_FLAVOR}
+TEST_DEPENDS=	${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}pytest>=5.4.0:devel/py-pytest@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pytest-asyncio>0:devel/py-pytest-asyncio@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR}
+
+USES=		python:3.6+
+USE_PYTHON=	distutils autoplist
+
+NO_ARCH=	yes
+
+do-test: # fails to run, see https://github.com/rigetti/rpcq/issues/155
+	@cd ${WRKSRC} && ${PYTHON_CMD} -m pytest
+
+.include <bsd.port.mk>
diff --git a/devel/py-rpcq/distinfo b/devel/py-rpcq/distinfo
new file mode 100644
index 000000000000..b0d5691317f2
--- /dev/null
+++ b/devel/py-rpcq/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1653961167
+SHA256 (rpcq-3.10.0.tar.gz) = bf21780a1cb1e8676b988c44004d49a168d8937ce2a458c00beb37fa41023684
+SIZE (rpcq-3.10.0.tar.gz) = 44698
diff --git a/devel/py-rpcq/pkg-descr b/devel/py-rpcq/pkg-descr
new file mode 100644
index 000000000000..0728fc51795d
--- /dev/null
+++ b/devel/py-rpcq/pkg-descr
@@ -0,0 +1,10 @@
+The asynchronous RPC client-server framework and message specification
+for Rigetti Quantum Cloud Services (QCS).
+
+Implements an efficient transport protocol by using ZeroMQ (ZMQ)
+sockets and MessagePack (msgpack) serialization.
+
+Not intended to be a full-featured replacement for other frameworks
+like gRPC or Apache Thrift.
+
+WWW: https://github.com/rigetti/rpcq