## START: Set by rpmautospec ## (rpmautospec version 0.7.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # Header only library %global debug_package %{nil} %global forgeurl https://github.com/maxbachmann/rapidfuzz-cpp Version: 3.2.0 %forgemeta Name: rapidfuzz-cpp Release: %{autorelease} License: MIT Summary: A fast string matching header-only library for C++ URL: %{forgeurl} Source: %{forgesource} Patch0: remove-march-native.patch BuildRequires: cmake BuildRequires: doxygen BuildRequires: gcc-c++ BuildRequires: catch-devel %global _description %{expand: RapidFuzz is a fast string matching library for Python and C++, which is using the string similarity calculations from FuzzyWuzzy. However there are two aspects that set RapidFuzz apart from FuzzyWuzzy: 1. It is MIT licensed so it can be used whichever License you might want to choose for your project, while you're forced to adopt the GPL license when using FuzzyWuzzy 2. It is mostly written in C++ and on top of this comes with a lot of Algorithmic improvements to make string matching even faster, while still providing the same results. This is the C++ component of RapidFuzz, the Python library is available in the python-rapidfuzz package.} %description %_description %package devel Summary: Development files for the RapidFuzz C++ library Provides: %{name}-static = %{version} %description devel %_description %prep %autosetup -p1 # Change the group name, mainly so that the manpage is named meaningfully sed -i 's/defgroup Fuzz Fuzz/defgroup rapidfuzz rapidfuzz/' rapidfuzz/fuzz.hpp # Enable man generation, but don't enable the links since it produces files # which aren't named specifically for rapidfuzz, such as "ratio" and # "partial_ratio". echo "GENERATE_MAN = YES" >> Doxyfile # There doesn't seem to be a reasonable way to comply with bundling guidelines # where there is arbitrary jquery and similar bundled in the HTML generated by # doxygen, so don't use it. echo "GENERATE_HTML = NO" >> Doxyfile %build %cmake -DRAPIDFUZZ_BUILD_TESTING=ON %cmake_build # Build the doxygen man doc doxygen %install %cmake_install mkdir -p %{buildroot}%{_mandir}/man3/ # Only install rapidfuzz.3, which is named specifically for this package, and # not the generic "citelist.3". cp doxygen/man/man3/rapidfuzz.3 %{buildroot}/%{_mandir}/man3/ %check %ctest %files devel %license LICENSE %doc README.md CHANGELOG.md %{_mandir}/man3/rapidfuzz.3* %{_includedir}/rapidfuzz %{_libdir}/cmake/rapidfuzz %changelog ## START: Generated by rpmautospec * Mon Dec 30 2024 Troy Curtis Jr - 3.2.0-1 - Update to 3.2.0 - Fixes: rhbz#2321632 - Enable running the tests now that catch2 v3 is in Fedora, and switch build to standard gcc. - Disable fuzzers now that the unit tests are available. * Mon Oct 21 2024 Tomáš Hrnčiar - 3.0.5-2 - Skip failing test fuzz_levenshtein_distance on i686 architecture * Tue Sep 24 2024 Tomáš Hrnčiar - 3.0.5-1 - Update to 3.0.5 - Fixes: rhbz#2255903 * Fri Jul 19 2024 Fedora Release Engineering - 2.2.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Mon Mar 18 2024 David Abdurachmanov - 2.2.3-3 - Remove -march=native * Mon Jan 22 2024 Fedora Release Engineering - 2.2.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Nov 29 2023 Tomáš Hrnčiar - 2.2.3-1 - Update to 2.2.3 * Fri Jul 21 2023 Fedora Release Engineering - 1.10.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Fri Jan 20 2023 Fedora Release Engineering - 1.10.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Mon Jan 16 2023 Troy Curtis Jr - 1.10.4-1 - Initial package. ## END: Generated by rpmautospec