aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2023-07-13 06:44:16 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2023-07-13 06:44:16 +0000
commit02c179d799fb0ed833d819f63ec299d5b62bcfa2 (patch)
treefe22e4e074e7dedf843a7cd46a8049b1266e0d3c
parent3f5d9130a42838f70bf1b01ab0cb4f355d34413c (diff)
misc/py-synced-collections: New port: Interact with persistent key-value stores using Pythonic abstractions
-rw-r--r--misc/Makefile1
-rw-r--r--misc/py-synced-collections/Makefile25
-rw-r--r--misc/py-synced-collections/distinfo3
-rw-r--r--misc/py-synced-collections/files/patch-pyproject.toml11
-rw-r--r--misc/py-synced-collections/pkg-descr7
5 files changed, 47 insertions, 0 deletions
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.