git: 2f2a9350b42d - main - devel/py-y-py: Add py-y-py 0.6.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Tue, 21 Mar 2023 19:23:58 UTC
The branch main has been updated by sunpoet:

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

commit 2f2a9350b42de70d5ade68c7c89922ff5e5adfec
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2023-03-21 18:35:17 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2023-03-21 19:19:53 +0000

    devel/py-y-py: Add py-y-py 0.6.0
    
    Ypy is a Python binding for Y-CRDT. It provides distributed data types that
    enable real-time collaboration between devices. Ypy can sync data with any other
    platform that has a Y-CRDT binding, allowing for seamless cross-domain
    communication. The library is a thin wrapper around Yrs, taking advantage of the
    safety and performance of Rust.
---
 devel/Makefile                |   1 +
 devel/py-y-py/Makefile        |  27 +++++++++++
 devel/py-y-py/Makefile.crates |  51 ++++++++++++++++++++
 devel/py-y-py/distinfo        | 105 ++++++++++++++++++++++++++++++++++++++++++
 devel/py-y-py/pkg-descr       |   5 ++
 5 files changed, 189 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 4b4ee30c2c5e..1ff62fd07e65 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5676,6 +5676,7 @@
     SUBDIR += py-xstatic-term.js
     SUBDIR += py-xstatic-tv4
     SUBDIR += py-xxhash
+    SUBDIR += py-y-py
     SUBDIR += py-yacs
     SUBDIR += py-yaml
     SUBDIR += py-yamllint
diff --git a/devel/py-y-py/Makefile b/devel/py-y-py/Makefile
new file mode 100644
index 000000000000..2a66837a589e
--- /dev/null
+++ b/devel/py-y-py/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	y-py
+PORTVERSION=	0.5.5
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI:pypi
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTFILES=	y_py-${PORTVERSION}.tar.gz:pypi
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Python bindings for the Y-CRDT built from yrs (Rust)
+WWW=		https://github.com/y-crdt/ypy
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}maturin>=0.13<0.14:devel/py-maturin@${PY_FLAVOR}
+
+USES=		cargo python:3.7+
+USE_PYTHON=	autoplist concurrent pep517
+
+CARGO_BUILD=	no
+CARGO_INSTALL=	no
+WRKSRC=		${WRKDIR}/y_py-${PORTVERSION}
+
+post-install:
+	${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
+
+.include <bsd.port.mk>
diff --git a/devel/py-y-py/Makefile.crates b/devel/py-y-py/Makefile.crates
new file mode 100644
index 000000000000..c622761cdf95
--- /dev/null
+++ b/devel/py-y-py/Makefile.crates
@@ -0,0 +1,51 @@
+CARGO_CRATES=	autocfg-1.1.0 \
+		bitflags-1.3.2 \
+		bumpalo-3.11.1 \
+		cfg-if-1.0.0 \
+		getrandom-0.1.16 \
+		indoc-1.0.7 \
+		js-sys-0.3.60 \
+		lib0-0.12.2 \
+		libc-0.2.138 \
+		lock_api-0.4.9 \
+		log-0.4.17 \
+		once_cell-1.16.0 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.9.5 \
+		ppv-lite86-0.2.17 \
+		proc-macro2-1.0.47 \
+		pyo3-0.16.6 \
+		pyo3-build-config-0.16.6 \
+		pyo3-ffi-0.16.6 \
+		pyo3-macros-0.16.6 \
+		pyo3-macros-backend-0.16.6 \
+		quote-1.0.21 \
+		rand-0.7.3 \
+		rand_chacha-0.2.2 \
+		rand_core-0.5.1 \
+		rand_hc-0.2.0 \
+		redox_syscall-0.2.16 \
+		scopeguard-1.1.0 \
+		smallstr-0.2.0 \
+		smallvec-1.10.0 \
+		syn-1.0.105 \
+		target-lexicon-0.12.5 \
+		thiserror-1.0.37 \
+		thiserror-impl-1.0.37 \
+		unicode-ident-1.0.5 \
+		unindent-0.1.10 \
+		wasi-0.9.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.83 \
+		wasm-bindgen-backend-0.2.83 \
+		wasm-bindgen-macro-0.2.83 \
+		wasm-bindgen-macro-support-0.2.83 \
+		wasm-bindgen-shared-0.2.83 \
+		windows-sys-0.42.0 \
+		windows_aarch64_gnullvm-0.42.0 \
+		windows_aarch64_msvc-0.42.0 \
+		windows_i686_gnu-0.42.0 \
+		windows_i686_msvc-0.42.0 \
+		windows_x86_64_gnu-0.42.0 \
+		windows_x86_64_gnullvm-0.42.0 \
+		windows_x86_64_msvc-0.42.0 \
+		yrs-0.12.2
diff --git a/devel/py-y-py/distinfo b/devel/py-y-py/distinfo
new file mode 100644
index 000000000000..84dceb57509d
--- /dev/null
+++ b/devel/py-y-py/distinfo
@@ -0,0 +1,105 @@
+TIMESTAMP = 1677770943
+SHA256 (y_py-0.5.5.tar.gz) = f222bab71d8d3df9a40b2e5ab3a767d734c6ce11998e9a30a02fb83ab3e090b3
+SIZE (y_py-0.5.5.tar.gz) = 50300
+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/bumpalo-3.11.1.crate) = 572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba
+SIZE (rust/crates/bumpalo-3.11.1.crate) = 81207
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/getrandom-0.1.16.crate) = 8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce
+SIZE (rust/crates/getrandom-0.1.16.crate) = 25077
+SHA256 (rust/crates/indoc-1.0.7.crate) = adab1eaa3408fb7f0c777a73e7465fd5656136fc93b670eb6df3c88c2c1344e3
+SIZE (rust/crates/indoc-1.0.7.crate) = 13716
+SHA256 (rust/crates/js-sys-0.3.60.crate) = 49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47
+SIZE (rust/crates/js-sys-0.3.60.crate) = 79257
+SHA256 (rust/crates/lib0-0.12.2.crate) = 988e5aa573db0f1f3fe56b635484cd96a880afd102404250e4703738cda66c6b
+SIZE (rust/crates/lib0-0.12.2.crate) = 19829
+SHA256 (rust/crates/libc-0.2.138.crate) = db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8
+SIZE (rust/crates/libc-0.2.138.crate) = 609081
+SHA256 (rust/crates/lock_api-0.4.9.crate) = 435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df
+SIZE (rust/crates/lock_api-0.4.9.crate) = 25685
+SHA256 (rust/crates/log-0.4.17.crate) = abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+SIZE (rust/crates/log-0.4.17.crate) = 38028
+SHA256 (rust/crates/once_cell-1.16.0.crate) = 86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860
+SIZE (rust/crates/once_cell-1.16.0.crate) = 32120
+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.5.crate) = 7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba
+SIZE (rust/crates/parking_lot_core-0.9.5.crate) = 32396
+SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
+SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
+SHA256 (rust/crates/proc-macro2-1.0.47.crate) = 5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725
+SIZE (rust/crates/proc-macro2-1.0.47.crate) = 41955
+SHA256 (rust/crates/pyo3-0.16.6.crate) = 0220c44442c9b239dd4357aa856ac468a4f5e1f0df19ddb89b2522952eb4c6ca
+SIZE (rust/crates/pyo3-0.16.6.crate) = 364587
+SHA256 (rust/crates/pyo3-build-config-0.16.6.crate) = 9c819d397859445928609d0ec5afc2da5204e0d0f73d6bf9e153b04e83c9cdc2
+SIZE (rust/crates/pyo3-build-config-0.16.6.crate) = 28891
+SHA256 (rust/crates/pyo3-ffi-0.16.6.crate) = ca882703ab55f54702d7bfe1189b41b0af10272389f04cae38fe4cd56c65f75f
+SIZE (rust/crates/pyo3-ffi-0.16.6.crate) = 60756
+SHA256 (rust/crates/pyo3-macros-0.16.6.crate) = 568749402955ad7be7bad9a09b8593851cd36e549ac90bfd44079cea500f3f21
+SIZE (rust/crates/pyo3-macros-0.16.6.crate) = 8453
+SHA256 (rust/crates/pyo3-macros-backend-0.16.6.crate) = 611f64e82d98f447787e82b8e7b0ebc681e1eb78fc1252668b2c605ffb4e1eb8
+SIZE (rust/crates/pyo3-macros-backend-0.16.6.crate) = 49252
+SHA256 (rust/crates/quote-1.0.21.crate) = bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179
+SIZE (rust/crates/quote-1.0.21.crate) = 28030
+SHA256 (rust/crates/rand-0.7.3.crate) = 6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03
+SIZE (rust/crates/rand-0.7.3.crate) = 112246
+SHA256 (rust/crates/rand_chacha-0.2.2.crate) = f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402
+SIZE (rust/crates/rand_chacha-0.2.2.crate) = 13267
+SHA256 (rust/crates/rand_core-0.5.1.crate) = 90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19
+SIZE (rust/crates/rand_core-0.5.1.crate) = 21116
+SHA256 (rust/crates/rand_hc-0.2.0.crate) = ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c
+SIZE (rust/crates/rand_hc-0.2.0.crate) = 11670
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/smallstr-0.2.0.crate) = 1e922794d168678729ffc7e07182721a14219c65814e66e91b839a272fe5ae4f
+SIZE (rust/crates/smallstr-0.2.0.crate) = 7521
+SHA256 (rust/crates/smallvec-1.10.0.crate) = a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0
+SIZE (rust/crates/smallvec-1.10.0.crate) = 31564
+SHA256 (rust/crates/syn-1.0.105.crate) = 60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908
+SIZE (rust/crates/syn-1.0.105.crate) = 237549
+SHA256 (rust/crates/target-lexicon-0.12.5.crate) = 9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d
+SIZE (rust/crates/target-lexicon-0.12.5.crate) = 23224
+SHA256 (rust/crates/thiserror-1.0.37.crate) = 10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e
+SIZE (rust/crates/thiserror-1.0.37.crate) = 18752
+SHA256 (rust/crates/thiserror-impl-1.0.37.crate) = 982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb
+SIZE (rust/crates/thiserror-impl-1.0.37.crate) = 15428
+SHA256 (rust/crates/unicode-ident-1.0.5.crate) = 6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3
+SIZE (rust/crates/unicode-ident-1.0.5.crate) = 35455
+SHA256 (rust/crates/unindent-0.1.10.crate) = 58ee9362deb4a96cef4d437d1ad49cffc9b9e92d202b6995674e928ce684f112
+SIZE (rust/crates/unindent-0.1.10.crate) = 7703
+SHA256 (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519
+SIZE (rust/crates/wasi-0.9.0+wasi-snapshot-preview1.crate) = 31521
+SHA256 (rust/crates/wasm-bindgen-0.2.83.crate) = eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268
+SIZE (rust/crates/wasm-bindgen-0.2.83.crate) = 169618
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.83.crate) = 4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142
+SIZE (rust/crates/wasm-bindgen-backend-0.2.83.crate) = 25620
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.83.crate) = 052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810
+SIZE (rust/crates/wasm-bindgen-macro-0.2.83.crate) = 12075
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.83.crate) = 07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.83.crate) = 18530
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.83.crate) = 1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f
+SIZE (rust/crates/wasm-bindgen-shared-0.2.83.crate) = 7194
+SHA256 (rust/crates/windows-sys-0.42.0.crate) = 5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7
+SIZE (rust/crates/windows-sys-0.42.0.crate) = 3006791
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.0.crate) = 41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e
+SIZE (rust/crates/windows_aarch64_gnullvm-0.42.0.crate) = 357917
+SHA256 (rust/crates/windows_aarch64_msvc-0.42.0.crate) = dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4
+SIZE (rust/crates/windows_aarch64_msvc-0.42.0.crate) = 659424
+SHA256 (rust/crates/windows_i686_gnu-0.42.0.crate) = fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7
+SIZE (rust/crates/windows_i686_gnu-0.42.0.crate) = 728570
+SHA256 (rust/crates/windows_i686_msvc-0.42.0.crate) = 84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246
+SIZE (rust/crates/windows_i686_msvc-0.42.0.crate) = 717477
+SHA256 (rust/crates/windows_x86_64_gnu-0.42.0.crate) = bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed
+SIZE (rust/crates/windows_x86_64_gnu-0.42.0.crate) = 692493
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.0.crate) = 09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028
+SIZE (rust/crates/windows_x86_64_gnullvm-0.42.0.crate) = 357906
+SHA256 (rust/crates/windows_x86_64_msvc-0.42.0.crate) = f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5
+SIZE (rust/crates/windows_x86_64_msvc-0.42.0.crate) = 659377
+SHA256 (rust/crates/yrs-0.12.2.crate) = a232e4e529a06548e97270e6ec00afd5f14dae517b8df3c2a1a3f3a4558b7326
+SIZE (rust/crates/yrs-0.12.2.crate) = 7745097
diff --git a/devel/py-y-py/pkg-descr b/devel/py-y-py/pkg-descr
new file mode 100644
index 000000000000..6495c0d63785
--- /dev/null
+++ b/devel/py-y-py/pkg-descr
@@ -0,0 +1,5 @@
+Ypy is a Python binding for Y-CRDT. It provides distributed data types that
+enable real-time collaboration between devices. Ypy can sync data with any other
+platform that has a Y-CRDT binding, allowing for seamless cross-domain
+communication. The library is a thin wrapper around Yrs, taking advantage of the
+safety and performance of Rust.