git: e8cdd73a4c86 - main - devel/py-rpds-py: Add py-rpds-py 0.7.1

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 09 Jul 2023 10:33:37 UTC
The branch main has been updated by sunpoet:

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

commit e8cdd73a4c868d7eeb5be97f84b793fbcc2d1198
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-07-09 10:10:28 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-07-09 10:10:28 +0000

    devel/py-rpds-py: Add py-rpds-py 0.7.1
    
    Python bindings to the Rust rpds crate.
    
    What's here is quite minimal (in transparency, it was written initially to
    support replacing pyrsistent in the referencing library). If you see something
    missing (which is very likely), a PR is definitely welcome to add it.
    
    Methods in general are named similarly to their rpds counterparts (rather than
    pyrsistent's conventions, though probably a full drop-in pyrsistent-compatible
    wrapper module is a good addition at some point).
---
 devel/Makefile                              |  1 +
 devel/py-rpds-py/Makefile                   | 27 +++++++++++
 devel/py-rpds-py/Makefile.crates            | 35 ++++++++++++++
 devel/py-rpds-py/distinfo                   | 73 +++++++++++++++++++++++++++++
 devel/py-rpds-py/files/patch-pyproject.toml |  9 ++++
 devel/py-rpds-py/pkg-descr                  |  9 ++++
 6 files changed, 154 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 8b52d18b73a7..7911cf1ea290 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5491,6 +5491,7 @@
     SUBDIR += py-rope
     SUBDIR += py-rose
     SUBDIR += py-rpcq
+    SUBDIR += py-rpds-py
     SUBDIR += py-rply
     SUBDIR += py-rq
     SUBDIR += py-rq-scheduler
diff --git a/devel/py-rpds-py/Makefile b/devel/py-rpds-py/Makefile
new file mode 100644
index 000000000000..fb0ee5affbb0
--- /dev/null
+++ b/devel/py-rpds-py/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	rpds-py
+PORTVERSION=	0.7.1
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTFILES=	rpds_py-${PORTVERSION}${EXTRACT_SUFX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Python bindings to Rust persistent data structures (rpds)
+WWW=		https://github.com/crate-py/rpds
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}maturin>=0.13:devel/py-maturin@${PY_FLAVOR}
+
+USES=		cargo dos2unix python
+USE_PYTHON=	autoplist concurrent pep517
+
+CARGO_BUILD=	no
+CARGO_INSTALL=	no
+WRKSRC=		${WRKDIR}/rpds_py-${PORTVERSION}
+
+post-install:
+	${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
+
+.include <bsd.port.mk>
diff --git a/devel/py-rpds-py/Makefile.crates b/devel/py-rpds-py/Makefile.crates
new file mode 100644
index 000000000000..8a41e08f74a4
--- /dev/null
+++ b/devel/py-rpds-py/Makefile.crates
@@ -0,0 +1,35 @@
+CARGO_CRATES=	archery-0.5.0 \
+		autocfg-1.1.0 \
+		bitflags-1.3.2 \
+		cfg-if-1.0.0 \
+		indoc-1.0.9 \
+		libc-0.2.147 \
+		lock_api-0.4.10 \
+		memoffset-0.8.0 \
+		once_cell-1.18.0 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.9.8 \
+		proc-macro2-1.0.63 \
+		pyo3-0.18.3 \
+		pyo3-build-config-0.18.3 \
+		pyo3-ffi-0.18.3 \
+		pyo3-macros-0.18.3 \
+		pyo3-macros-backend-0.18.3 \
+		quote-1.0.29 \
+		redox_syscall-0.3.5 \
+		rpds-0.13.0 \
+		scopeguard-1.1.0 \
+		smallvec-1.10.0 \
+		static_assertions-1.1.0 \
+		syn-1.0.109 \
+		target-lexicon-0.12.8 \
+		unicode-ident-1.0.9 \
+		unindent-0.1.11 \
+		windows-targets-0.48.1 \
+		windows_aarch64_gnullvm-0.48.0 \
+		windows_aarch64_msvc-0.48.0 \
+		windows_i686_gnu-0.48.0 \
+		windows_i686_msvc-0.48.0 \
+		windows_x86_64_gnu-0.48.0 \
+		windows_x86_64_gnullvm-0.48.0 \
+		windows_x86_64_msvc-0.48.0
diff --git a/devel/py-rpds-py/distinfo b/devel/py-rpds-py/distinfo
new file mode 100644
index 000000000000..b4ee3a24ca26
--- /dev/null
+++ b/devel/py-rpds-py/distinfo
@@ -0,0 +1,73 @@
+TIMESTAMP = 1688166022
+SHA256 (rpds_py-0.7.1.tar.gz) = d940b5644f14e49b1c6e7902b9ec8a0c7584109fbf380fa18115831a641927c8
+SIZE (rpds_py-0.7.1.tar.gz) = 15355
+SHA256 (rust/crates/archery-0.5.0.crate) = b6cd774058b1b415c4855d8b86436c04bf050c003156fe24bc326fb3fe75c343
+SIZE (rust/crates/archery-0.5.0.crate) = 21685
+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/indoc-1.0.9.crate) = bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306
+SIZE (rust/crates/indoc-1.0.9.crate) = 13475
+SHA256 (rust/crates/libc-0.2.147.crate) = b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3
+SIZE (rust/crates/libc-0.2.147.crate) = 686772
+SHA256 (rust/crates/lock_api-0.4.10.crate) = c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16
+SIZE (rust/crates/lock_api-0.4.10.crate) = 26713
+SHA256 (rust/crates/memoffset-0.8.0.crate) = d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1
+SIZE (rust/crates/memoffset-0.8.0.crate) = 8912
+SHA256 (rust/crates/once_cell-1.18.0.crate) = dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d
+SIZE (rust/crates/once_cell-1.18.0.crate) = 32969
+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.8.crate) = 93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447
+SIZE (rust/crates/parking_lot_core-0.9.8.crate) = 32383
+SHA256 (rust/crates/proc-macro2-1.0.63.crate) = 7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb
+SIZE (rust/crates/proc-macro2-1.0.63.crate) = 44867
+SHA256 (rust/crates/pyo3-0.18.3.crate) = e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109
+SIZE (rust/crates/pyo3-0.18.3.crate) = 420236
+SHA256 (rust/crates/pyo3-build-config-0.18.3.crate) = 9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3
+SIZE (rust/crates/pyo3-build-config-0.18.3.crate) = 29137
+SHA256 (rust/crates/pyo3-ffi-0.18.3.crate) = fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c
+SIZE (rust/crates/pyo3-ffi-0.18.3.crate) = 64474
+SHA256 (rust/crates/pyo3-macros-0.18.3.crate) = a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d
+SIZE (rust/crates/pyo3-macros-0.18.3.crate) = 7175
+SHA256 (rust/crates/pyo3-macros-backend-0.18.3.crate) = 97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918
+SIZE (rust/crates/pyo3-macros-backend-0.18.3.crate) = 48922
+SHA256 (rust/crates/quote-1.0.29.crate) = 573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105
+SIZE (rust/crates/quote-1.0.29.crate) = 28345
+SHA256 (rust/crates/redox_syscall-0.3.5.crate) = 567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29
+SIZE (rust/crates/redox_syscall-0.3.5.crate) = 23404
+SHA256 (rust/crates/rpds-0.13.0.crate) = 9bd6ce569b15c331b1e5fd8cf6adb0bf240678b5f0cdc4d0f41e11683f6feba9
+SIZE (rust/crates/rpds-0.13.0.crate) = 67994
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/smallvec-1.10.0.crate) = a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0
+SIZE (rust/crates/smallvec-1.10.0.crate) = 31564
+SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
+SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/target-lexicon-0.12.8.crate) = 1b1c7f239eb94671427157bd93b3694320f3668d4e1eff08c7285366fd777fac
+SIZE (rust/crates/target-lexicon-0.12.8.crate) = 24518
+SHA256 (rust/crates/unicode-ident-1.0.9.crate) = b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0
+SIZE (rust/crates/unicode-ident-1.0.9.crate) = 41978
+SHA256 (rust/crates/unindent-0.1.11.crate) = e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c
+SIZE (rust/crates/unindent-0.1.11.crate) = 7700
+SHA256 (rust/crates/windows-targets-0.48.1.crate) = 05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f
+SIZE (rust/crates/windows-targets-0.48.1.crate) = 6902
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.0.crate) = 91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.0.crate) = 366543
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.0.crate) = b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3
+SIZE (rust/crates/windows_aarch64_msvc-0.48.0.crate) = 671479
+SHA256 (rust/crates/windows_i686_gnu-0.48.0.crate) = 622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241
+SIZE (rust/crates/windows_i686_gnu-0.48.0.crate) = 741490
+SHA256 (rust/crates/windows_i686_msvc-0.48.0.crate) = 4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00
+SIZE (rust/crates/windows_i686_msvc-0.48.0.crate) = 730056
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.0.crate) = ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1
+SIZE (rust/crates/windows_x86_64_gnu-0.48.0.crate) = 703595
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.0.crate) = 7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.0.crate) = 366536
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.0.crate) = 1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a
+SIZE (rust/crates/windows_x86_64_msvc-0.48.0.crate) = 671422
diff --git a/devel/py-rpds-py/files/patch-pyproject.toml b/devel/py-rpds-py/files/patch-pyproject.toml
new file mode 100644
index 000000000000..3c0681dbc89c
--- /dev/null
+++ b/devel/py-rpds-py/files/patch-pyproject.toml
@@ -0,0 +1,9 @@
+--- pyproject.toml.orig	2023-03-20 19:29:29 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["maturin>=0.14,<0.15"]
++requires = ["maturin>=0.13"]
+ build-backend = "maturin"
+ 
+ [project]
diff --git a/devel/py-rpds-py/pkg-descr b/devel/py-rpds-py/pkg-descr
new file mode 100644
index 000000000000..528f9a78a3cb
--- /dev/null
+++ b/devel/py-rpds-py/pkg-descr
@@ -0,0 +1,9 @@
+Python bindings to the Rust rpds crate.
+
+What's here is quite minimal (in transparency, it was written initially to
+support replacing pyrsistent in the referencing library). If you see something
+missing (which is very likely), a PR is definitely welcome to add it.
+
+Methods in general are named similarly to their rpds counterparts (rather than
+pyrsistent's conventions, though probably a full drop-in pyrsistent-compatible
+wrapper module is a good addition at some point).