git: f623d4219d4b - main - devel/py-madoka: add port: Memory-efficient CountMin Sketch key-value structure

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Sat, 27 Sep 2025 03:11:33 UTC
The branch main has been updated by tagattie:

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

commit f623d4219d4b63c3c2deb0ebe7face851af551f2
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2025-09-26 22:45:42 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2025-09-27 03:11:24 +0000

    devel/py-madoka: add port: Memory-efficient CountMin Sketch key-value structure
    
    Madoka is an implementation of a Count-Min sketch data structure for
    summarizing data streams. String-int pairs in a Madoka-Sketch may take
    less memory than in a standard Python dict, Counter, Redis.
    
    WWW: https://github.com/ikegami-yukino/madoka-python
---
 devel/Makefile            |  1 +
 devel/py-madoka/Makefile  | 30 ++++++++++++++++++++++++++++++
 devel/py-madoka/distinfo  |  3 +++
 devel/py-madoka/pkg-descr |  3 +++
 4 files changed, 37 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index a8859a2b7b34..c5a78a5b4465 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5242,6 +5242,7 @@
     SUBDIR += py-lxml5
     SUBDIR += py-mac-vendor-lookup
     SUBDIR += py-macholib
+    SUBDIR += py-madoka
     SUBDIR += py-magic
     SUBDIR += py-magnet2torrent
     SUBDIR += py-mailcap-fix
diff --git a/devel/py-madoka/Makefile b/devel/py-madoka/Makefile
new file mode 100644
index 000000000000..af2aea269abe
--- /dev/null
+++ b/devel/py-madoka/Makefile
@@ -0,0 +1,30 @@
+PORTNAME=	madoka
+DISTVERSION=	0.7.1
+CATEGORIES=	devel python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	tagattie@FreeBSD.org
+COMMENT=	Memory-efficient CountMin Sketch key-value structure
+WWW=		https://github.com/ikegami-yukino/madoka-python
+
+LICENSE=		BSD2CLAUSE BSD3CLAUSE
+LICENSE_COMB=		multi
+LICENSE_FILE_BSD2CLAUSE=${WRKSRC}/src/COPYING
+LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/LICENSE
+
+USES=		python
+USE_PYTHON=	autoplist distutils
+
+PORTDOCS=	CHANGES.rst README.rst
+
+OPTIONS_DEFINE=	DOCS
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/_madoka.*.so
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/devel/py-madoka/distinfo b/devel/py-madoka/distinfo
new file mode 100644
index 000000000000..f6796970eb28
--- /dev/null
+++ b/devel/py-madoka/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1758877316
+SHA256 (madoka-0.7.1.tar.gz) = e258baa84fc0a3764365993b8bf5e1b065383a6ca8c9f862fb3e3e709843fae7
+SIZE (madoka-0.7.1.tar.gz) = 81413
diff --git a/devel/py-madoka/pkg-descr b/devel/py-madoka/pkg-descr
new file mode 100644
index 000000000000..6d00770c3794
--- /dev/null
+++ b/devel/py-madoka/pkg-descr
@@ -0,0 +1,3 @@
+Madoka is an implementation of a Count-Min sketch data structure for
+summarizing data streams. String-int pairs in a Madoka-Sketch may take
+less memory than in a standard Python dict, Counter, Redis.