summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2022-06-06 08:14:20 +0200
committerMichał Górny <mgorny@gentoo.org>2022-09-18 15:46:47 +0200
commitcee9b5214a4f1e4cc33315b04aa1075a2d1d71e8 (patch)
tree8bd40aca4e1fba50a9a0bf0dd73651121e7ffc99
parentdev-cpp/rapidfuzz-cpp: new package, v1.6.0 (diff)
downloadgentoo-cee9b5214a4f1e4cc33315b04aa1075a2d1d71e8.tar.gz
gentoo-cee9b5214a4f1e4cc33315b04aa1075a2d1d71e8.tar.bz2
gentoo-cee9b5214a4f1e4cc33315b04aa1075a2d1d71e8.zip
dev-python/rapidfuzz: New package, v2.9.0
Bug: https://bugs.gentoo.org/871339 Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r--dev-python/rapidfuzz/Manifest1
-rw-r--r--dev-python/rapidfuzz/files/rapidfuzz-2.9.0-test-pandas.patch35
-rw-r--r--dev-python/rapidfuzz/metadata.xml12
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-2.9.0.ebuild47
4 files changed, 95 insertions, 0 deletions
diff --git a/dev-python/rapidfuzz/Manifest b/dev-python/rapidfuzz/Manifest
new file mode 100644
index 000000000000..3b7b068f2c6b
--- /dev/null
+++ b/dev-python/rapidfuzz/Manifest
@@ -0,0 +1 @@
+DIST rapidfuzz-2.9.0.tar.gz 780939 BLAKE2B c43dfd89d18dc1f5b4738930f1d0d9c4956f66479217b4400844b50636e2b0bb13f15d8b9a6edc0ce30fc943f35a44dad802ecf90107556ed2dee7f70fcc16ac SHA512 b8f83cc35e84a4ed95e2086eb7bfbc6e7e2e25a05accc965092b8b51012c79e86e2af15397577bb91aadfa9a257a62d6f3d6bb9bf928a9c767d53468904a12be
diff --git a/dev-python/rapidfuzz/files/rapidfuzz-2.9.0-test-pandas.patch b/dev-python/rapidfuzz/files/rapidfuzz-2.9.0-test-pandas.patch
new file mode 100644
index 000000000000..fa73c8f3ef3b
--- /dev/null
+++ b/dev-python/rapidfuzz/files/rapidfuzz-2.9.0-test-pandas.patch
@@ -0,0 +1,35 @@
+From 1df09fb54c466efddfc62ed630fddd5fb34cab3f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 18 Sep 2022 15:37:39 +0200
+Subject: [PATCH] tests: handle missing pandas gracefully
+
+Pandas is not yet ready for Python 3.11. Use pytest.importorskip()
+to skip that one regression test that requires it when it's not
+available to unblock rapidfuzz on py3.11 on Gentoo.
+---
+ tests/test_process.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_process.py b/tests/test_process.py
+index ca5afee..b786d2d 100644
+--- a/tests/test_process.py
++++ b/tests/test_process.py
+@@ -5,7 +5,6 @@ import unittest
+ import pytest
+
+ from rapidfuzz import process_py, process_cpp, fuzz
+-import pandas as pd
+
+
+ class process:
+@@ -298,6 +297,7 @@ class ProcessTest(unittest.TestCase):
+
+ def testIssue81(self):
+ # this mostly tests whether this segfaults due to incorrect ref counting
++ pd = pytest.importorskip("pandas")
+ choices = pd.Series(
+ ["test color brightness", "test lemon", "test lavender"],
+ index=[67478, 67479, 67480],
+--
+2.37.3
+
diff --git a/dev-python/rapidfuzz/metadata.xml b/dev-python/rapidfuzz/metadata.xml
new file mode 100644
index 000000000000..91cac0023d89
--- /dev/null
+++ b/dev-python/rapidfuzz/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">maxbachmann/RapidFuzz</remote-id>
+ <remote-id type="pypi">rapidfuzz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rapidfuzz/rapidfuzz-2.9.0.ebuild b/dev-python/rapidfuzz/rapidfuzz-2.9.0.ebuild
new file mode 100644
index 000000000000..d61dc5c429e4
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-2.9.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# custom wrapper over setuptools
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
+HOMEPAGE="
+ https://github.com/maxbachmann/RapidFuzz/
+ https://pypi.org/project/rapidfuzz/
+"
+SRC_URI="
+ mirror://pypi/${PN::1}/${PN}/${P}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ <dev-python/jarowinkler-2[${PYTHON_USEDEP}]
+"
+# all these are header-only libraries
+DEPEND="
+ >=dev-cpp/taskflow-3.0.0
+ >=dev-cpp/jarowinkler-cpp-1.0.0
+ >=dev-cpp/rapidfuzz-cpp-1.0.1
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/rapidfuzz_capi[${PYTHON_USEDEP}]
+ >=dev-python/scikit-build-0.13.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export RAPIDFUZZ_BUILD_EXTENSION=1
+
+PATCHES=(
+ "${FILESDIR}"/${P}-test-pandas.patch
+)