git: 232f529c360a - main - devel/py-editdistance: Update to 0.6.2
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 30 Jan 2023 13:08:34 UTC
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=232f529c360aba352646cab542aee883610b6509 commit 232f529c360aba352646cab542aee883610b6509 Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2023-01-30 12:31:08 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2023-01-30 12:59:42 +0000 devel/py-editdistance: Update to 0.6.2 Changes: https://github.com/roy-ht/editdistance/releases --- devel/py-editdistance/Makefile | 8 ++++++-- devel/py-editdistance/distinfo | 6 +++--- devel/py-editdistance/files/bycython.pyx | 22 ++++++++++++++++++++++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/devel/py-editdistance/Makefile b/devel/py-editdistance/Makefile index 794bb8968b76..5d0596463c5e 100644 --- a/devel/py-editdistance/Makefile +++ b/devel/py-editdistance/Makefile @@ -1,5 +1,5 @@ PORTNAME= editdistance -PORTVERSION= 0.6.1 +PORTVERSION= 0.6.2 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -12,7 +12,11 @@ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE USES= python:3.6+ -USE_PYTHON= autoplist concurrent distutils +USE_PYTHON= autoplist concurrent cython distutils + +post-patch: +# https://github.com/roy-ht/editdistance/blob/master/editdistance/bycython.pyx + @${CP} ${FILESDIR}/bycython.pyx ${WRKSRC}/editdistance/bycython.pyx post-install: ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} + diff --git a/devel/py-editdistance/distinfo b/devel/py-editdistance/distinfo index 8558631fd34d..f9dbbfed507d 100644 --- a/devel/py-editdistance/distinfo +++ b/devel/py-editdistance/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1669057721 -SHA256 (editdistance-0.6.1.tar.gz) = 124a3ebe1934ed86c0bdb5deafcc67494604a7cc63bdbb587665b76c85648262 -SIZE (editdistance-0.6.1.tar.gz) = 29267 +TIMESTAMP = 1674589766 +SHA256 (editdistance-0.6.2.tar.gz) = 97a722f5e859ed4c26da269e71a11995f23ac9c880618b8a2028373eb74283be +SIZE (editdistance-0.6.2.tar.gz) = 31508 diff --git a/devel/py-editdistance/files/bycython.pyx b/devel/py-editdistance/files/bycython.pyx new file mode 100644 index 000000000000..d64a67a8e893 --- /dev/null +++ b/devel/py-editdistance/files/bycython.pyx @@ -0,0 +1,22 @@ +# distutils: language = c++ +# distutils: sources = editdistance/_editdistance.cpp + +from libc.stdlib cimport malloc, free +# from libc.stdint cimport int64_t + +cdef extern from "./_editdistance.h": + ctypedef int int64_t + unsigned int edit_distance(const int64_t *a, const unsigned int asize, const int64_t *b, const unsigned int bsize) + +cpdef unsigned int eval(object a, object b) except 0xffffffffffffffff: + cdef unsigned int i, dist + cdef int64_t *al = <int64_t *>malloc(len(a) * sizeof(int64_t)) + for i in range(len(a)): + al[i] = hash(a[i]) + cdef int64_t *bl = <int64_t *>malloc(len(b) * sizeof(int64_t)) + for i in range(len(b)): + bl[i] = hash(b[i]) + dist = edit_distance(al, len(a), bl, len(b)) + free(al) + free(bl) + return dist