git: c4933243bf7c - main - science/py-dwave-gate: New port: DWave: Gate model library

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 28 Sep 2025 01:38:34 UTC
The branch main has been updated by yuri:

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

commit c4933243bf7c1b6969b78b7fd4e25b5e631acde2
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-09-27 19:05:02 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-09-28 01:38:24 +0000

    science/py-dwave-gate: New port: DWave: Gate model library
---
 science/Makefile                                 |  1 +
 science/py-dwave-gate/Makefile                   | 25 ++++++++++++++++++++++++
 science/py-dwave-gate/distinfo                   |  3 +++
 science/py-dwave-gate/files/example.py           |  3 +++
 science/py-dwave-gate/files/patch-pyproject.toml | 11 +++++++++++
 science/py-dwave-gate/pkg-descr                  |  2 ++
 6 files changed, 45 insertions(+)

diff --git a/science/Makefile b/science/Makefile
index 0fd8eb49e6d3..7a7615c8776f 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -321,6 +321,7 @@
     SUBDIR += py-dipy
     SUBDIR += py-dlib
     SUBDIR += py-dwave-cloud-client
+    SUBDIR += py-dwave-gate
     SUBDIR += py-dwave-greedy
     SUBDIR += py-dwave-hybrid
     SUBDIR += py-dwave-inspector
diff --git a/science/py-dwave-gate/Makefile b/science/py-dwave-gate/Makefile
new file mode 100644
index 000000000000..cd726d2113cb
--- /dev/null
+++ b/science/py-dwave-gate/Makefile
@@ -0,0 +1,25 @@
+PORTNAME=	dwave-gate
+DISTVERSION=	0.3.4
+CATEGORIES=	science python # quantum-computing
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	${PORTNAME:S/-/_/}-${DISTVERSION}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	DWave: Gate model library
+WWW=		https://github.com/dwavesystems/dwave-gate
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYNUMPY}
+
+USES=		python
+USE_PYTHON=	pep517 cython3 autoplist pytest
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+.include <bsd.port.mk>
diff --git a/science/py-dwave-gate/distinfo b/science/py-dwave-gate/distinfo
new file mode 100644
index 000000000000..aeb63b7147d2
--- /dev/null
+++ b/science/py-dwave-gate/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1758999333
+SHA256 (dwave_gate-0.3.4.tar.gz) = 17e193da453724c427448e3d7beeb8260c804404ac0ab43ed2d0abcbb0d55b5e
+SIZE (dwave_gate-0.3.4.tar.gz) = 367210
diff --git a/science/py-dwave-gate/files/example.py b/science/py-dwave-gate/files/example.py
new file mode 100644
index 000000000000..1148e23e9b0a
--- /dev/null
+++ b/science/py-dwave-gate/files/example.py
@@ -0,0 +1,3 @@
+from tabu import TabuSampler
+response = TabuSampler().sample_ising({'a': -0.5, 'b': 1.0}, {('a', 'b'): -1})
+print(response)
diff --git a/science/py-dwave-gate/files/patch-pyproject.toml b/science/py-dwave-gate/files/patch-pyproject.toml
new file mode 100644
index 000000000000..02f8f28f6143
--- /dev/null
+++ b/science/py-dwave-gate/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig	2025-09-27 18:57:44 UTC
++++ pyproject.toml
+@@ -3,7 +3,7 @@ requires = [
+     "setuptools>=46.4.0",       # PEP-420 support, PEP-517/518 support
+     "wheel>=0.30.0",            # limited python api support
+     "cython~=3.0",
+-    "numpy~=2.0",
++    "numpy",
+ ]
+ build-backend = "setuptools.build_meta"
+ 
diff --git a/science/py-dwave-gate/pkg-descr b/science/py-dwave-gate/pkg-descr
new file mode 100644
index 000000000000..929fb4be2268
--- /dev/null
+++ b/science/py-dwave-gate/pkg-descr
@@ -0,0 +1,2 @@
+dwave-gate is a software package for constructing, modifying and running quantum
+circuits on the provided state-vector simulator.