git: 02c179d799fb - main - misc/py-synced-collections: New port: Interact with persistent key-value stores using Pythonic abstractions

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 13 Jul 2023 06:46:53 UTC
The branch main has been updated by yuri:

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

commit 02c179d799fb0ed833d819f63ec299d5b62bcfa2
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-07-13 06:44:16 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-07-13 06:44:16 +0000

    misc/py-synced-collections: New port: Interact with persistent key-value stores using Pythonic abstractions
---
 misc/Makefile                                      |  1 +
 misc/py-synced-collections/Makefile                | 25 ++++++++++++++++++++++
 misc/py-synced-collections/distinfo                |  3 +++
 .../files/patch-pyproject.toml                     | 11 ++++++++++
 misc/py-synced-collections/pkg-descr               |  7 ++++++
 5 files changed, 47 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index dbe852ef7755..d4f478cfee4a 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -467,6 +467,7 @@
     SUBDIR += py-spdx-lookup
     SUBDIR += py-spdx-tools
     SUBDIR += py-spinners
+    SUBDIR += py-synced-collections
     SUBDIR += py-tes
     SUBDIR += py-tflearn
     SUBDIR += py-tflite
diff --git a/misc/py-synced-collections/Makefile b/misc/py-synced-collections/Makefile
new file mode 100644
index 000000000000..467ad4ef78ed
--- /dev/null
+++ b/misc/py-synced-collections/Makefile
@@ -0,0 +1,25 @@
+PORTNAME=	synced-collections
+DISTVERSION=	1.0.0
+CATEGORIES=	misc
+MASTER_SITES=	PYPI # some test files are missing in the PYPI tarball
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	${PORTNAME:S/-/_/}-${DISTVERSION}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Interact with persistent key-value stores using Pythonic abstractions
+WWW=		https://signac.io/
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist pytest # tests fail because of missing packages xx_test, unclear where tp report
+
+NO_ARCH=	yes
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+.include <bsd.port.mk>
diff --git a/misc/py-synced-collections/distinfo b/misc/py-synced-collections/distinfo
new file mode 100644
index 000000000000..ebd783b0faf2
--- /dev/null
+++ b/misc/py-synced-collections/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1689230043
+SHA256 (synced_collections-1.0.0.tar.gz) = c5c72df4074ce95625f155d8bc1ac608ba4d9fbb0fffde4da3c0e3a88a1e30bd
+SIZE (synced_collections-1.0.0.tar.gz) = 48819
diff --git a/misc/py-synced-collections/files/patch-pyproject.toml b/misc/py-synced-collections/files/patch-pyproject.toml
new file mode 100644
index 000000000000..f599cee878ad
--- /dev/null
+++ b/misc/py-synced-collections/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig	2023-07-13 06:36:28 UTC
++++ pyproject.toml
+@@ -3,7 +3,7 @@
+ # This software is licensed under the BSD 3-Clause License.
+ [build-system]
+ build-backend = "setuptools.build_meta"
+-requires = ["setuptools>=64.0.0"]
++requires = ["setuptools"]
+ 
+ [project]
+ name = "synced_collections"
diff --git a/misc/py-synced-collections/pkg-descr b/misc/py-synced-collections/pkg-descr
new file mode 100644
index 000000000000..197c929771ce
--- /dev/null
+++ b/misc/py-synced-collections/pkg-descr
@@ -0,0 +1,7 @@
+The synced_collections package provides Pythonic abstractions over various
+underlying data stores, presenting APIs that behave like standard built-in
+Python collections like dicts. synced_collections form the backbone of
+signac's data and metadata storage, but may be used just as easily outside
+of signac. For instance, users wishing to access a JSON file on disk like a
+dictionary and automatically persist all changes could use the
+synced_collections.JSONDict.