72 lines
1.7 KiB
RPMSpec
72 lines
1.7 KiB
RPMSpec
%global srcname Levenshtein
|
|
|
|
%global forgeurl https://github.com/rapidfuzz/%{srcname}
|
|
Version: 0.27.3
|
|
%forgemeta
|
|
|
|
Name: python-%{srcname}
|
|
Summary: Python extension computing string distances and similarities
|
|
Release: %{autorelease}
|
|
|
|
License: GPL-2.0-or-later
|
|
|
|
# Levenshtein is the latest name of the package, though the python-Levenshtein repo
|
|
# is still being kept up-to-date in lock-step to this official upstream.
|
|
URL: %{forgeurl}
|
|
|
|
Source0: %{forgesource}
|
|
Patch0: levenshtein-0.27.1-cython-cpp.patch
|
|
|
|
BuildRequires: cmake
|
|
BuildRequires: gcc
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: python3-devel
|
|
BuildRequires: python3-pytest
|
|
BuildRequires: rapidfuzz-cpp-static
|
|
|
|
%global _description %{expand:
|
|
Levenshtein computes Levenshtein distances, similarity ratios, generalized
|
|
medians and set medians of Strings and Unicodes.}
|
|
|
|
%description %_description
|
|
|
|
%package -n python3-%{srcname}
|
|
|
|
Summary: %{summary}
|
|
|
|
%description -n python3-%{srcname} %_description
|
|
|
|
%prep
|
|
%autosetup -n %{srcname}-%{version} -p1
|
|
# Remove Cython's upper constraint
|
|
sed -i '/Cython>=3\.[0-9]\+\./s/,\s*<3\.[0-9]\+\.[0-9a-z]*[0-9]*//' pyproject.toml
|
|
|
|
# Open up the rapidfuzz version constraint.
|
|
sed -i 's/rapidfuzz 3.2.0/rapidfuzz 3.2...<4/' CMakeLists.txt
|
|
|
|
%generate_buildrequires
|
|
%pyproject_buildrequires
|
|
|
|
|
|
%build
|
|
# To avoid empty debugsourcefiles.list, we need to build the package
|
|
# with RelWithDebInfo
|
|
# Upstream issue: https://github.com/scikit-build/scikit-build-core/issues/915
|
|
export SKBUILD_CMAKE_BUILD_TYPE=RelWithDebInfo
|
|
%pyproject_wheel
|
|
|
|
%install
|
|
%pyproject_install
|
|
%pyproject_save_files %{srcname}
|
|
|
|
%check
|
|
%pyproject_check_import
|
|
%pytest
|
|
|
|
%files -n python3-%{srcname} -f %{pyproject_files}
|
|
%doc README.md
|
|
%license LICENSE
|
|
|
|
|
|
%changelog
|
|
%{autochangelog}
|