summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/rapidfuzz/Manifest1
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.9.4.ebuild67
2 files changed, 68 insertions, 0 deletions
diff --git a/dev-python/rapidfuzz/Manifest b/dev-python/rapidfuzz/Manifest
index 23397ab65723..ef5430669250 100644
--- a/dev-python/rapidfuzz/Manifest
+++ b/dev-python/rapidfuzz/Manifest
@@ -1 +1,2 @@
DIST rapidfuzz-3.9.3.tar.gz 1595645 BLAKE2B 1e7400ba3dea0a4c90939503d4f50e963d0241f40ce207d53ab4aa421f51ffa20ff574ad5363e4a21dc3482f764731dfe7726bfaaee873f3d9674efbd5dc3108 SHA512 730569e14bf512a2e90039a937006eb7d26ffb4dfb5e926e8277d1048b9a520fe970c9fa908d1f330eb37030b1053541845175eceac8b651863b59b76ec387f5
+DIST rapidfuzz-3.9.4.tar.gz 1595863 BLAKE2B ba835b6d1c5bc7da99ae7202ae469d9a1d069ea0351b732a701abbadfbe1539a389efb051cd58e462505ebcf6020b60ec6413d9f44bbfd63a0dc8419cded9722 SHA512 4494d86f17e7b4ae51639f1d2941d4e313c26739787f3a47261a5d5bf26da4091d918e1603e2199774edd5e1b91d67446b762a81e6b98496d67fbddb93effe21
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.9.4.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.9.4.ebuild
new file mode 100644
index 000000000000..000e71d2c36c
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-3.9.4.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# custom wrapper over setuptools
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
+HOMEPAGE="
+ https://github.com/rapidfuzz/RapidFuzz/
+ https://pypi.org/project/rapidfuzz/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# all these are header-only libraries
+DEPEND="
+ >=dev-cpp/taskflow-3.0.0
+ >=dev-cpp/rapidfuzz-cpp-3.0.5
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+ >=dev-python/scikit-build-0.16.2[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # sterilize build flags
+ sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
+ # remove bundled libraries
+ rm -r extern || die
+ # force recythonization
+ find src -name '*.cxx' -delete || die
+ # do not require exact taskflow version
+ sed -i -e '/Taskflow/s:3\.7\.0::' CMakeLists.txt || die
+
+ distutils-r1_src_prepare
+
+ export RAPIDFUZZ_BUILD_EXTENSION=1
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ # scikit-build is broken and reuses the same build
+ # https://github.com/scikit-build/scikit-build/issues/633
+ rm -r _skbuild || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}