git: 3df1ab5ea198 - main - devel/py-pycrdt: Add py-pycrdt 0.7.1
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 14 Dec 2023 20:53:54 UTC
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=3df1ab5ea198a58c97ddf4fcabdc013502d9a6ca commit 3df1ab5ea198a58c97ddf4fcabdc013502d9a6ca Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2023-12-14 20:41:47 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2023-12-14 20:41:47 +0000 devel/py-pycrdt: Add py-pycrdt 0.7.1 Pycrdt is a Python CRDT library that provides bindings for Yrs, the Rust port of the Yjs framework. Conflict-free Replicated Data Types (CRDTs) allow creating shared documents that can automatically merge changes made concurrently on different "copies" of the data. When the data lives on different machines, they make it possible to build distributed systems that work with local data, leaving the synchronization and conflict resolution with remote data to the CRDT algorithm, which ensures that all data replicas eventually converge to the same state. --- devel/Makefile | 1 + devel/py-pycrdt/Makefile | 27 +++++++++ devel/py-pycrdt/Makefile.crates | 58 ++++++++++++++++++++ devel/py-pycrdt/distinfo | 119 ++++++++++++++++++++++++++++++++++++++++ devel/py-pycrdt/pkg-descr | 9 +++ 5 files changed, 214 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index 53c0f40c089b..6bdfb8d9d9c2 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -5283,6 +5283,7 @@ SUBDIR += py-pycompilation SUBDIR += py-pycomplete SUBDIR += py-pycparser + SUBDIR += py-pycrdt SUBDIR += py-pydantic SUBDIR += py-pydantic-core SUBDIR += py-pydantic-extra-types diff --git a/devel/py-pycrdt/Makefile b/devel/py-pycrdt/Makefile new file mode 100644 index 000000000000..9fe0f603c194 --- /dev/null +++ b/devel/py-pycrdt/Makefile @@ -0,0 +1,27 @@ +PORTNAME= pycrdt +PORTVERSION= 0.7.1 +CATEGORIES= devel python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTFILES= pycrdt-${PORTVERSION}${EXTRACT_SUFX} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Python bindings for Yrs +WWW= https://jupyter-server.github.io/pycrdt/ \ + https://github.com/jupyter-server/pycrdt + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}maturin>=1.2.3<2:devel/py-maturin@${PY_FLAVOR} + +USES= cargo python +USE_PYTHON= autoplist concurrent pep517 + +CARGO_BUILD= no +CARGO_INSTALL= no + +post-install: + ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} + + +.include <bsd.port.mk> diff --git a/devel/py-pycrdt/Makefile.crates b/devel/py-pycrdt/Makefile.crates new file mode 100644 index 000000000000..4af7e846d0a2 --- /dev/null +++ b/devel/py-pycrdt/Makefile.crates @@ -0,0 +1,58 @@ +CARGO_CRATES= atomic_refcell-0.1.13 \ + autocfg-1.1.0 \ + bitflags-1.3.2 \ + bumpalo-3.14.0 \ + cfg-if-1.0.0 \ + getrandom-0.1.16 \ + indoc-1.0.9 \ + itoa-1.0.10 \ + js-sys-0.3.66 \ + libc-0.2.150 \ + lock_api-0.4.11 \ + log-0.4.20 \ + memoffset-0.9.0 \ + once_cell-1.19.0 \ + parking_lot-0.12.1 \ + parking_lot_core-0.9.9 \ + ppv-lite86-0.2.17 \ + proc-macro2-1.0.70 \ + pyo3-0.19.2 \ + pyo3-build-config-0.19.2 \ + pyo3-ffi-0.19.2 \ + pyo3-macros-0.19.2 \ + pyo3-macros-backend-0.19.2 \ + quote-1.0.33 \ + rand-0.7.3 \ + rand_chacha-0.2.2 \ + rand_core-0.5.1 \ + rand_hc-0.2.0 \ + redox_syscall-0.4.1 \ + ryu-1.0.15 \ + scopeguard-1.2.0 \ + serde-1.0.193 \ + serde_derive-1.0.193 \ + serde_json-1.0.108 \ + smallstr-0.3.0 \ + smallvec-1.11.2 \ + syn-1.0.109 \ + syn-2.0.39 \ + target-lexicon-0.12.12 \ + thiserror-1.0.50 \ + thiserror-impl-1.0.50 \ + unicode-ident-1.0.12 \ + unindent-0.1.11 \ + wasi-0.9.0+wasi-snapshot-preview1 \ + wasm-bindgen-0.2.89 \ + wasm-bindgen-backend-0.2.89 \ + wasm-bindgen-macro-0.2.89 \ + wasm-bindgen-macro-support-0.2.89 \ + wasm-bindgen-shared-0.2.89 \ + windows-targets-0.48.5 \ + windows_aarch64_gnullvm-0.48.5 \ + windows_aarch64_msvc-0.48.5 \ + windows_i686_gnu-0.48.5 \ + windows_i686_msvc-0.48.5 \ + windows_x86_64_gnu-0.48.5 \ + windows_x86_64_gnullvm-0.48.5 \ + windows_x86_64_msvc-0.48.5 \ + yrs-0.17.2 diff --git a/devel/py-pycrdt/distinfo b/devel/py-pycrdt/distinfo new file mode 100644 index 000000000000..398a737f615d --- /dev/null +++ b/devel/py-pycrdt/distinfo @@ -0,0 +1,119 @@ +TIMESTAMP = 1702543600 +SHA256 (pycrdt-0.7.1.tar.gz) = 65ff21d4b5262683cd544129383bcfaf4f0bc6f735523e7a35f81f6943d589fd +SIZE (pycrdt-0.7.1.tar.gz) = 26192 +SHA256 (rust/crates/atomic_refcell-0.1.13.crate) = 41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c +SIZE (rust/crates/atomic_refcell-0.1.13.crate) = 11760 +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.14.0.crate) = 7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec +SIZE (rust/crates/bumpalo-3.14.0.crate) = 82400 +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.9.crate) = bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306 +SIZE (rust/crates/indoc-1.0.9.crate) = 13475 +SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c +SIZE (rust/crates/itoa-1.0.10.crate) = 10534 +SHA256 (rust/crates/js-sys-0.3.66.crate) = cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca +SIZE (rust/crates/js-sys-0.3.66.crate) = 80765 +SHA256 (rust/crates/libc-0.2.150.crate) = 89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c +SIZE (rust/crates/libc-0.2.150.crate) = 719359 +SHA256 (rust/crates/lock_api-0.4.11.crate) = 3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45 +SIZE (rust/crates/lock_api-0.4.11.crate) = 27487 +SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f +SIZE (rust/crates/log-0.4.20.crate) = 38307 +SHA256 (rust/crates/memoffset-0.9.0.crate) = 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c +SIZE (rust/crates/memoffset-0.9.0.crate) = 9033 +SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92 +SIZE (rust/crates/once_cell-1.19.0.crate) = 33046 +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.9.crate) = 4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e +SIZE (rust/crates/parking_lot_core-0.9.9.crate) = 32445 +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.70.crate) = 39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b +SIZE (rust/crates/proc-macro2-1.0.70.crate) = 44343 +SHA256 (rust/crates/pyo3-0.19.2.crate) = e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38 +SIZE (rust/crates/pyo3-0.19.2.crate) = 418228 +SHA256 (rust/crates/pyo3-build-config-0.19.2.crate) = 076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5 +SIZE (rust/crates/pyo3-build-config-0.19.2.crate) = 29206 +SHA256 (rust/crates/pyo3-ffi-0.19.2.crate) = e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9 +SIZE (rust/crates/pyo3-ffi-0.19.2.crate) = 66500 +SHA256 (rust/crates/pyo3-macros-0.19.2.crate) = dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1 +SIZE (rust/crates/pyo3-macros-0.19.2.crate) = 7173 +SHA256 (rust/crates/pyo3-macros-backend-0.19.2.crate) = 947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536 +SIZE (rust/crates/pyo3-macros-backend-0.19.2.crate) = 49962 +SHA256 (rust/crates/quote-1.0.33.crate) = 5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae +SIZE (rust/crates/quote-1.0.33.crate) = 28090 +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.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa +SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858 +SHA256 (rust/crates/ryu-1.0.15.crate) = 1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741 +SIZE (rust/crates/ryu-1.0.15.crate) = 46906 +SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 +SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619 +SHA256 (rust/crates/serde-1.0.193.crate) = 25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89 +SIZE (rust/crates/serde-1.0.193.crate) = 76863 +SHA256 (rust/crates/serde_derive-1.0.193.crate) = 43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3 +SIZE (rust/crates/serde_derive-1.0.193.crate) = 55692 +SHA256 (rust/crates/serde_json-1.0.108.crate) = 3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b +SIZE (rust/crates/serde_json-1.0.108.crate) = 146476 +SHA256 (rust/crates/smallstr-0.3.0.crate) = 63b1aefdf380735ff8ded0b15f31aab05daf1f70216c01c02a12926badd1df9d +SIZE (rust/crates/smallstr-0.3.0.crate) = 12221 +SHA256 (rust/crates/smallvec-1.11.2.crate) = 4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970 +SIZE (rust/crates/smallvec-1.11.2.crate) = 34801 +SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237 +SIZE (rust/crates/syn-1.0.109.crate) = 237611 +SHA256 (rust/crates/syn-2.0.39.crate) = 23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a +SIZE (rust/crates/syn-2.0.39.crate) = 244129 +SHA256 (rust/crates/target-lexicon-0.12.12.crate) = 14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a +SIZE (rust/crates/target-lexicon-0.12.12.crate) = 25156 +SHA256 (rust/crates/thiserror-1.0.50.crate) = f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2 +SIZE (rust/crates/thiserror-1.0.50.crate) = 19414 +SHA256 (rust/crates/thiserror-impl-1.0.50.crate) = 266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8 +SIZE (rust/crates/thiserror-impl-1.0.50.crate) = 15357 +SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b +SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168 +SHA256 (rust/crates/unindent-0.1.11.crate) = e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c +SIZE (rust/crates/unindent-0.1.11.crate) = 7700 +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.89.crate) = 0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e +SIZE (rust/crates/wasm-bindgen-0.2.89.crate) = 181935 +SHA256 (rust/crates/wasm-bindgen-backend-0.2.89.crate) = 1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826 +SIZE (rust/crates/wasm-bindgen-backend-0.2.89.crate) = 28205 +SHA256 (rust/crates/wasm-bindgen-macro-0.2.89.crate) = 0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2 +SIZE (rust/crates/wasm-bindgen-macro-0.2.89.crate) = 13906 +SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.89.crate) = f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283 +SIZE (rust/crates/wasm-bindgen-macro-support-0.2.89.crate) = 20008 +SHA256 (rust/crates/wasm-bindgen-shared-0.2.89.crate) = 7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f +SIZE (rust/crates/wasm-bindgen-shared-0.2.89.crate) = 7265 +SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c +SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8 +SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492 +SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc +SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483 +SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e +SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891 +SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406 +SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300 +SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e +SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc +SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486 +SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538 +SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412 +SHA256 (rust/crates/yrs-0.17.2.crate) = 68aea14c6c33f2edd8a5ff9415360cfa5b98d90cce30c5ee3be59a8419fb15a9 +SIZE (rust/crates/yrs-0.17.2.crate) = 212825 diff --git a/devel/py-pycrdt/pkg-descr b/devel/py-pycrdt/pkg-descr new file mode 100644 index 000000000000..0ba337acbc34 --- /dev/null +++ b/devel/py-pycrdt/pkg-descr @@ -0,0 +1,9 @@ +Pycrdt is a Python CRDT library that provides bindings for Yrs, the Rust port of +the Yjs framework. + +Conflict-free Replicated Data Types (CRDTs) allow creating shared documents that +can automatically merge changes made concurrently on different "copies" of the +data. When the data lives on different machines, they make it possible to build +distributed systems that work with local data, leaving the synchronization and +conflict resolution with remote data to the CRDT algorithm, which ensures that +all data replicas eventually converge to the same state.