git: 9cc5069bdcd1 - main - science/py-qiskit-terra: New port: Terra submodule of the Quiskit framework for quantum computing

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 08 Aug 2022 22:17:08 UTC
The branch main has been updated by yuri:

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

commit 9cc5069bdcd1f3da51f5a63dbb31be7ca5ab92e4
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-08-08 19:48:15 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-08-08 22:17:01 +0000

    science/py-qiskit-terra: New port: Terra submodule of the Quiskit framework for quantum computing
---
 science/Makefile                  |   1 +
 science/py-qiskit-terra/Makefile  | 112 ++++++++++++++++++++++++++++++++++
 science/py-qiskit-terra/distinfo  | 123 ++++++++++++++++++++++++++++++++++++++
 science/py-qiskit-terra/pkg-descr |   6 ++
 4 files changed, 242 insertions(+)

diff --git a/science/Makefile b/science/Makefile
index ee9c6b98b0a7..3ed2a608ec9a 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -338,6 +338,7 @@
     SUBDIR += py-pyteomics
     SUBDIR += py-qcelemental
     SUBDIR += py-qcengine
+    SUBDIR += py-qiskit-terra
     SUBDIR += py-qspin
     SUBDIR += py-quantities
     SUBDIR += py-rmf
diff --git a/science/py-qiskit-terra/Makefile b/science/py-qiskit-terra/Makefile
new file mode 100644
index 000000000000..5edd8955bde3
--- /dev/null
+++ b/science/py-qiskit-terra/Makefile
@@ -0,0 +1,112 @@
+PORTNAME=	qiskit-terra
+DISTVERSION=	0.21.0rc1-58
+DISTVERSIONSUFFIX=	-g2bab09c1a
+CATEGORIES=	science python # quantum-computing
+#MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Terra submodule of the Quiskit framework for quantum computing
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+PY_DEPENDS=	${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}ply>=3.10:devel/py-ply@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}psutil>=5:sysutils/py-psutil@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}rustworkx>=0.11.0:math/py-rustworkx@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scipy>=1.5:science/py-scipy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sympy>=1.3:math/py-sympy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dill>=0.3:devel/py-dill@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dateutil>=2.8.0:devel/py-dateutil@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}stevedore>=3.0.0:devel/py-stevedore@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}symengine>=0.9:math/py-symengine@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tweedledum>=1.1:science/py-tweedledum@${PY_FLAVOR}
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools-rust>0:devel/py-setuptools-rust@${PY_FLAVOR} \
+		${PY_DEPENDS}
+RUN_DEPENDS=	${PY_DEPENDS}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}ddt>0:devel/py-ddt@${PY_FLAVOR} # no test requirements are listed in setup.py, see https://github.com/Qiskit/qiskit-terra/issues/8498
+
+USES=		cargo python:3.8+
+USE_PYTHON=	distutils autoplist pytest # tests fail to run through pytest, see https://github.com/Qiskit/qiskit-terra/issues/8500
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	Qiskit
+
+CARGO_CRATES=	ahash-0.7.6 \
+		autocfg-1.1.0 \
+		bitflags-1.3.2 \
+		cfg-if-1.0.0 \
+		crossbeam-channel-0.5.5 \
+		crossbeam-deque-0.8.1 \
+		crossbeam-epoch-0.9.9 \
+		crossbeam-utils-0.8.10 \
+		either-1.7.0 \
+		getrandom-0.2.7 \
+		hashbrown-0.12.3 \
+		hermit-abi-0.1.19 \
+		indexmap-1.9.1 \
+		indoc-1.0.6 \
+		libc-0.2.126 \
+		libm-0.2.2 \
+		lock_api-0.4.7 \
+		matrixmultiply-0.3.2 \
+		memoffset-0.6.5 \
+		ndarray-0.15.6 \
+		num-bigint-0.4.3 \
+		num-complex-0.4.2 \
+		num-integer-0.1.45 \
+		num-traits-0.2.15 \
+		num_cpus-1.13.1 \
+		numpy-0.16.2 \
+		once_cell-1.13.0 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.9.3 \
+		ppv-lite86-0.2.16 \
+		proc-macro2-1.0.40 \
+		pyo3-0.16.5 \
+		pyo3-build-config-0.16.5 \
+		pyo3-ffi-0.16.5 \
+		pyo3-macros-0.16.5 \
+		pyo3-macros-backend-0.16.5 \
+		quote-1.0.20 \
+		rand-0.8.5 \
+		rand_chacha-0.3.1 \
+		rand_core-0.6.3 \
+		rand_distr-0.4.3 \
+		rand_pcg-0.3.1 \
+		rawpointer-0.2.1 \
+		rayon-1.5.3 \
+		rayon-core-1.9.3 \
+		redox_syscall-0.2.13 \
+		scopeguard-1.1.0 \
+		smallvec-1.9.0 \
+		syn-1.0.98 \
+		target-lexicon-0.12.4 \
+		unicode-ident-1.0.2 \
+		unindent-0.1.9 \
+		version_check-0.9.4 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		windows-sys-0.36.1 \
+		windows_aarch64_msvc-0.36.1 \
+		windows_i686_gnu-0.36.1 \
+		windows_i686_msvc-0.36.1 \
+		windows_x86_64_gnu-0.36.1 \
+		windows_x86_64_msvc-0.36.1
+
+CARGO_BUILD=	no
+CARGO_INSTALL=	no
+CARGO_TEST=	no
+CARGO_TARGET_DIR=	${WRKSRC}/target
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+PLIST_FILES=	${PYTHON_SITELIBDIR}/qiskit/_accelerate${PYTHON_EXT_SUFFIX}.so
+
+post-patch: # project was renamed, see https://github.com/Qiskit/rustworkx/issues/656
+	@${FIND} ${WRKSRC} -name "*.py" | ${XARGS} ${REINPLACE_CMD} -i '' -e 's|retworkx|rustworkx|'
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/qiskit/_accelerate.cpython-${PYTHON_SUFFIX}.so
+
+.include <bsd.port.mk>
diff --git a/science/py-qiskit-terra/distinfo b/science/py-qiskit-terra/distinfo
new file mode 100644
index 000000000000..84e5c3ee4ea6
--- /dev/null
+++ b/science/py-qiskit-terra/distinfo
@@ -0,0 +1,123 @@
+TIMESTAMP = 1659982189
+SHA256 (rust/crates/ahash-0.7.6.crate) = fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47
+SIZE (rust/crates/ahash-0.7.6.crate) = 38030
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/crossbeam-channel-0.5.5.crate) = 4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c
+SIZE (rust/crates/crossbeam-channel-0.5.5.crate) = 90326
+SHA256 (rust/crates/crossbeam-deque-0.8.1.crate) = 6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e
+SIZE (rust/crates/crossbeam-deque-0.8.1.crate) = 20852
+SHA256 (rust/crates/crossbeam-epoch-0.9.9.crate) = 07db9d94cbd326813772c968ccd25999e5f8ae22f4f8d1b11effa37ef6ce281d
+SIZE (rust/crates/crossbeam-epoch-0.9.9.crate) = 46185
+SHA256 (rust/crates/crossbeam-utils-0.8.10.crate) = 7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83
+SIZE (rust/crates/crossbeam-utils-0.8.10.crate) = 40672
+SHA256 (rust/crates/either-1.7.0.crate) = 3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be
+SIZE (rust/crates/either-1.7.0.crate) = 15492
+SHA256 (rust/crates/getrandom-0.2.7.crate) = 4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6
+SIZE (rust/crates/getrandom-0.2.7.crate) = 28854
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/indexmap-1.9.1.crate) = 10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e
+SIZE (rust/crates/indexmap-1.9.1.crate) = 54114
+SHA256 (rust/crates/indoc-1.0.6.crate) = 05a0bd019339e5d968b37855180087b7b9d512c5046fbd244cf8c95687927d6e
+SIZE (rust/crates/indoc-1.0.6.crate) = 14312
+SHA256 (rust/crates/libc-0.2.126.crate) = 349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836
+SIZE (rust/crates/libc-0.2.126.crate) = 590481
+SHA256 (rust/crates/libm-0.2.2.crate) = 33a33a362ce288760ec6a508b94caaec573ae7d3bbbd91b87aa0bad4456839db
+SIZE (rust/crates/libm-0.2.2.crate) = 113226
+SHA256 (rust/crates/lock_api-0.4.7.crate) = 327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53
+SIZE (rust/crates/lock_api-0.4.7.crate) = 25371
+SHA256 (rust/crates/matrixmultiply-0.3.2.crate) = add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84
+SIZE (rust/crates/matrixmultiply-0.3.2.crate) = 49247
+SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
+SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/ndarray-0.15.6.crate) = adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32
+SIZE (rust/crates/ndarray-0.15.6.crate) = 275225
+SHA256 (rust/crates/num-bigint-0.4.3.crate) = f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f
+SIZE (rust/crates/num-bigint-0.4.3.crate) = 97799
+SHA256 (rust/crates/num-complex-0.4.2.crate) = 7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19
+SIZE (rust/crates/num-complex-0.4.2.crate) = 29341
+SHA256 (rust/crates/num-integer-0.1.45.crate) = 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9
+SIZE (rust/crates/num-integer-0.1.45.crate) = 22529
+SHA256 (rust/crates/num-traits-0.2.15.crate) = 578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd
+SIZE (rust/crates/num-traits-0.2.15.crate) = 49262
+SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
+SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
+SHA256 (rust/crates/numpy-0.16.2.crate) = 383ae168529a39fc97cbc1d9d4fa865377731a519bc27553ed96f50594de7c45
+SIZE (rust/crates/numpy-0.16.2.crate) = 51574
+SHA256 (rust/crates/once_cell-1.13.0.crate) = 18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1
+SIZE (rust/crates/once_cell-1.13.0.crate) = 31726
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
+SHA256 (rust/crates/parking_lot_core-0.9.3.crate) = 09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929
+SIZE (rust/crates/parking_lot_core-0.9.3.crate) = 32256
+SHA256 (rust/crates/ppv-lite86-0.2.16.crate) = eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872
+SIZE (rust/crates/ppv-lite86-0.2.16.crate) = 22245
+SHA256 (rust/crates/proc-macro2-1.0.40.crate) = dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7
+SIZE (rust/crates/proc-macro2-1.0.40.crate) = 40559
+SHA256 (rust/crates/pyo3-0.16.5.crate) = 1e6302e85060011447471887705bb7838f14aba43fcb06957d823739a496b3dc
+SIZE (rust/crates/pyo3-0.16.5.crate) = 363266
+SHA256 (rust/crates/pyo3-build-config-0.16.5.crate) = b5b65b546c35d8a3b1b2f0ddbac7c6a569d759f357f2b9df884f5d6b719152c8
+SIZE (rust/crates/pyo3-build-config-0.16.5.crate) = 28880
+SHA256 (rust/crates/pyo3-ffi-0.16.5.crate) = c275a07127c1aca33031a563e384ffdd485aee34ef131116fcd58e3430d1742b
+SIZE (rust/crates/pyo3-ffi-0.16.5.crate) = 60737
+SHA256 (rust/crates/pyo3-macros-0.16.5.crate) = 284fc4485bfbcc9850a6d661d627783f18d19c2ab55880b021671c4ba83e90f7
+SIZE (rust/crates/pyo3-macros-0.16.5.crate) = 8456
+SHA256 (rust/crates/pyo3-macros-backend-0.16.5.crate) = 53bda0f58f73f5c5429693c96ed57f7abdb38fdfc28ae06da4101a257adb7faf
+SIZE (rust/crates/pyo3-macros-backend-0.16.5.crate) = 49221
+SHA256 (rust/crates/quote-1.0.20.crate) = 3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804
+SIZE (rust/crates/quote-1.0.20.crate) = 28160
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
+SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
+SHA256 (rust/crates/rand_distr-0.4.3.crate) = 32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31
+SIZE (rust/crates/rand_distr-0.4.3.crate) = 58255
+SHA256 (rust/crates/rand_pcg-0.3.1.crate) = 59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e
+SIZE (rust/crates/rand_pcg-0.3.1.crate) = 11983
+SHA256 (rust/crates/rawpointer-0.2.1.crate) = 60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3
+SIZE (rust/crates/rawpointer-0.2.1.crate) = 7490
+SHA256 (rust/crates/rayon-1.5.3.crate) = bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d
+SIZE (rust/crates/rayon-1.5.3.crate) = 167246
+SHA256 (rust/crates/rayon-core-1.9.3.crate) = 258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f
+SIZE (rust/crates/rayon-core-1.9.3.crate) = 65300
+SHA256 (rust/crates/redox_syscall-0.2.13.crate) = 62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42
+SIZE (rust/crates/redox_syscall-0.2.13.crate) = 23759
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/smallvec-1.9.0.crate) = 2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1
+SIZE (rust/crates/smallvec-1.9.0.crate) = 28396
+SHA256 (rust/crates/syn-1.0.98.crate) = c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd
+SIZE (rust/crates/syn-1.0.98.crate) = 235451
+SHA256 (rust/crates/target-lexicon-0.12.4.crate) = c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1
+SIZE (rust/crates/target-lexicon-0.12.4.crate) = 23020
+SHA256 (rust/crates/unicode-ident-1.0.2.crate) = 15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7
+SIZE (rust/crates/unicode-ident-1.0.2.crate) = 34951
+SHA256 (rust/crates/unindent-0.1.9.crate) = 52fee519a3e570f7df377a06a1a7775cdbfb7aa460be7e08de2b1f0e69973a44
+SIZE (rust/crates/unindent-0.1.9.crate) = 8392
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/windows-sys-0.36.1.crate) = ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2
+SIZE (rust/crates/windows-sys-0.36.1.crate) = 3347053
+SHA256 (rust/crates/windows_aarch64_msvc-0.36.1.crate) = 9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47
+SIZE (rust/crates/windows_aarch64_msvc-0.36.1.crate) = 661960
+SHA256 (rust/crates/windows_i686_gnu-0.36.1.crate) = 180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6
+SIZE (rust/crates/windows_i686_gnu-0.36.1.crate) = 818115
+SHA256 (rust/crates/windows_i686_msvc-0.36.1.crate) = e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024
+SIZE (rust/crates/windows_i686_msvc-0.36.1.crate) = 724575
+SHA256 (rust/crates/windows_x86_64_gnu-0.36.1.crate) = 4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1
+SIZE (rust/crates/windows_x86_64_gnu-0.36.1.crate) = 790934
+SHA256 (rust/crates/windows_x86_64_msvc-0.36.1.crate) = c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680
+SIZE (rust/crates/windows_x86_64_msvc-0.36.1.crate) = 661999
+SHA256 (Qiskit-qiskit-terra-0.21.0rc1-58-g2bab09c1a_GH0.tar.gz) = a9ba5af6bf393344ce215ffda36a5fabc91cec2b577c9bd063f07fcf609c9281
+SIZE (Qiskit-qiskit-terra-0.21.0rc1-58-g2bab09c1a_GH0.tar.gz) = 11248211
diff --git a/science/py-qiskit-terra/pkg-descr b/science/py-qiskit-terra/pkg-descr
new file mode 100644
index 000000000000..b09607bb4692
--- /dev/null
+++ b/science/py-qiskit-terra/pkg-descr
@@ -0,0 +1,6 @@
+Qiskit [quiss-kit] is an open-source SDK for working with quantum computers
+at the level of pulses, circuits, and application modules.
+
+Qiskit Terra is one of Qiskit components.
+
+WWW: https://qiskit.org/