Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Dec 2024 08:21:04 GMT
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 8afcce5e96f9 - main - devel/py-stringzilla: New port: SIMD-accelerated string search/sort/hashes/fingerprints/edit distances
Message-ID:  <202412190821.4BJ8L468001807@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuri:

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

commit 8afcce5e96f9ba5eae41240f69eb90144ceb31ec
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-12-19 07:54:20 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-12-19 08:00:55 +0000

    devel/py-stringzilla: New port: SIMD-accelerated string search/sort/hashes/fingerprints/edit distances
---
 devel/Makefile                            |  1 +
 devel/py-stringzilla/Makefile             | 31 +++++++++++++++++++++++++++++++
 devel/py-stringzilla/distinfo             |  3 +++
 devel/py-stringzilla/files/patch-setup.py | 11 +++++++++++
 devel/py-stringzilla/pkg-descr            |  7 +++++++
 5 files changed, 53 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 481e72746cfe..7c69ed2e6f0f 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5935,6 +5935,7 @@
     SUBDIR += py-strictyaml
     SUBDIR += py-stringbrewer
     SUBDIR += py-stringcase
+    SUBDIR += py-stringzilla
     SUBDIR += py-structlog
     SUBDIR += py-subprocess-tee
     SUBDIR += py-subversion
diff --git a/devel/py-stringzilla/Makefile b/devel/py-stringzilla/Makefile
new file mode 100644
index 000000000000..7a65a685c934
--- /dev/null
+++ b/devel/py-stringzilla/Makefile
@@ -0,0 +1,31 @@
+PORTNAME=	stringzilla
+DISTVERSIONPREFIX=	v
+DISTVERSION=	3.11.1
+CATEGORIES=	devel python
+#MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	SIMD-accelerated string search/sort/hashes/fingerprints/edit distances
+WWW=		https://ashvardanian.com/posts/stringzilla/ \
+		https://github.com/ashvardanian/stringzilla
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+ONLY_FOR_ARCHS=	aarch64 amd64 i386
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	ashvardanian
+GH_PROJECT=	StringZilla
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/stringzilla${PYTHON_EXT_SUFFIX}.so
+
+.include <bsd.port.mk>
diff --git a/devel/py-stringzilla/distinfo b/devel/py-stringzilla/distinfo
new file mode 100644
index 000000000000..d52040a096da
--- /dev/null
+++ b/devel/py-stringzilla/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1734594928
+SHA256 (ashvardanian-StringZilla-v3.11.1_GH0.tar.gz) = 44d2a38ddd610e6e22fc3ed83a5a453f9887b45746dd250d68c4d690b860c8f0
+SIZE (ashvardanian-StringZilla-v3.11.1_GH0.tar.gz) = 260094
diff --git a/devel/py-stringzilla/files/patch-setup.py b/devel/py-stringzilla/files/patch-setup.py
new file mode 100644
index 000000000000..0e50dd789a70
--- /dev/null
+++ b/devel/py-stringzilla/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig	2024-12-19 07:27:15 UTC
++++ setup.py
+@@ -118,7 +118,7 @@ def windows_settings() -> Tuple[List[str], List[str], 
+     return compile_args, link_args, macros_args
+ 
+ 
+-if sys.platform == "linux":
++if sys.platform == "linux" or sys.platform.startswith('freebsd'):
+     compile_args, link_args, macros_args = linux_settings()
+ 
+ elif sys.platform == "darwin":
diff --git a/devel/py-stringzilla/pkg-descr b/devel/py-stringzilla/pkg-descr
new file mode 100644
index 000000000000..ec4703ce1e73
--- /dev/null
+++ b/devel/py-stringzilla/pkg-descr
@@ -0,0 +1,7 @@
+StringZilla is the GodZilla of string libraries, using SIMD and SWAR to
+accelerate string operations on modern CPUs. It is up to 10x faster than the
+default and even other SIMD-accelerated string libraries in C, C++, Python,
+and other languages, while covering broad functionality. It accelerates exact
+and fuzzy string matching, edit distance computations, sorting,
+lazily-evaluated ranges to avoid memory allocations, and even random-string
+generators.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202412190821.4BJ8L468001807>