diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 67550fe..0000000 --- a/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -python-Levenshtein-0.10.1.tar.bz2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..477366a --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +python-Levenshtein-0.10.1.tar.bz2 +/python-Levenshtein-0.12.0.tar.gz +/Levenshtein-0.20.8.tar.gz +/python-Levenshtein-0.21.0.tar.gz +/Levenshtein-0.21.0.tar.gz +/Levenshtein-0.23.0.tar.gz +/Levenshtein-0.26.0.tar.gz +/Levenshtein-0.26.1.tar.gz +/Levenshtein-0.27.1.tar.gz +/Levenshtein-0.27.3.tar.gz diff --git a/Makefile b/Makefile deleted file mode 100644 index ff74265..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: python-Levenshtein -# $Id$ -NAME := python-Levenshtein -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/changelog b/changelog new file mode 100644 index 0000000..66c633e --- /dev/null +++ b/changelog @@ -0,0 +1,149 @@ +* Fri Jul 21 2023 Fedora Release Engineering - 0.12.0-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 13 2023 Python Maint - 0.12.0-24 +- Rebuilt for Python 3.12 + +* Fri Jan 20 2023 Fedora Release Engineering - 0.12.0-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 0.12.0-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 0.12.0-21 +- Rebuilt for Python 3.11 + +* Fri Jan 21 2022 Fedora Release Engineering - 0.12.0-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 0.12.0-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 0.12.0-18 +- Rebuilt for Python 3.10 + +* Wed Jan 27 2021 Fedora Release Engineering - 0.12.0-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 0.12.0-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 0.12.0-15 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 0.12.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Oct 03 2019 Miro Hrončok - 0.12.0-13 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Thu Aug 22 2019 Miro Hrončok - 0.12.0-12 +- Subpackage python2-Levenshtein has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Mon Aug 19 2019 Miro Hrončok - 0.12.0-11 +- Rebuilt for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 0.12.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 0.12.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 0.12.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 0.12.0-7 +- Rebuilt for Python 3.7 + +* Fri Feb 09 2018 Fedora Release Engineering - 0.12.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 0.12.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.12.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.12.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 0.12.0-2 +- Rebuild for Python 3.6 + +* Tue Sep 20 2016 Dominika Krejci - 0.12.0-1 +- Update to 0.12.0 +- Add Python 3 subpackage + +* Tue Jul 19 2016 Fedora Release Engineering - 0.10.1-23 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Feb 04 2016 Fedora Release Engineering - 0.10.1-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jun 18 2015 Fedora Release Engineering - 0.10.1-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 0.10.1-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Jun 30 2014 Toshio Kuratomi - 0.10.1-19 +- replace python-setuptools-devel BR with python-setuptools + +* Sat Jun 07 2014 Fedora Release Engineering - 0.10.1-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 0.10.1-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 0.10.1-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Jul 21 2012 Fedora Release Engineering - 0.10.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 0.10.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 0.10.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jul 21 2010 David Malcolm - 0.10.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Fri Feb 19 2010 Dwayne Bailey - 0.10.1-11 +- Proper fix to source URL + +* Thu Feb 18 2010 Dwayne Bailey - 0.10.1-10 +- Use python2-devel in BuildRequires +- Updated source URL + +* Sun Jul 26 2009 Fedora Release Engineering - 0.10.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Feb 26 2009 Fedora Release Engineering - 0.10.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.10.1-7 +- Rebuild for Python 2.6 + +* Tue Oct 21 2008 Dwayne Bailey - 0.10.1-6 +- Comments about location of source files +- Update genextdoc.py to v1.5 + +* Thu Mar 27 2008 Dwayne Bailey - 0.10.1-5 +- Build and package *egg-info +- Fix some rpmlint issues + +* Thu Feb 14 2008 Dwayne Bailey - 0.10.1-4 +- Add genextdoc.py as Source not Patch + +* Wed Jan 30 2008 Dwayne Bailey - 0.10.1-3 +- Some rpmlint fixes +- Fix document generation + +* Wed Jan 23 2008 Dwayne Bailey - 0.10.1-2 +- Add missing genextdoc.py to generate usage documentation + +* Wed Jan 23 2008 Dwayne Bailey - 0.10.1-1 +- Initial packaging diff --git a/import.log b/import.log deleted file mode 100644 index e848238..0000000 --- a/import.log +++ /dev/null @@ -1 +0,0 @@ -python-Levenshtein-0_10_1-6_fc9:HEAD:python-Levenshtein-0.10.1-6.fc9.src.rpm:1225343235 diff --git a/levenshtein-0.20.8-cython-0.29.patch b/levenshtein-0.20.8-cython-0.29.patch new file mode 100644 index 0000000..1d9a8e7 --- /dev/null +++ b/levenshtein-0.20.8-cython-0.29.patch @@ -0,0 +1,26 @@ +diff --git a/_custom_build/backend.py b/_custom_build/backend.py +index 08c3c06..43b0b22 100644 +--- a/_custom_build/backend.py ++++ b/_custom_build/backend.py +@@ -36,7 +36,7 @@ def _ninja_required(): + + return True + +-def get_requires_for_build_wheel(self, config_settings=None): ++def get_requires_for_build_wheel(config_settings=None): + packages = [] + if _cmake_required(): + packages.append('cmake') +diff --git a/pyproject.toml b/pyproject.toml +index 88df1c3..8ff41bb 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -2,7 +2,7 @@ + requires = [ + "setuptools", + "scikit-build>=0.13.0", +- "Cython>=3.0.0a11" ++ "Cython>=0.29.26" + ] + build-backend = "backend" + backend-path = ["_custom_build"] diff --git a/levenshtein-0.27.1-cython-cpp.patch b/levenshtein-0.27.1-cython-cpp.patch new file mode 100644 index 0000000..78710f3 --- /dev/null +++ b/levenshtein-0.27.1-cython-cpp.patch @@ -0,0 +1,12 @@ +diff -up a/src/Levenshtein/CMakeLists.txt b/src/Levenshtein/CMakeLists.txt +--- a/src/Levenshtein/CMakeLists.txt 2026-01-10 17:00:11.456685025 -0500 ++++ b/src/Levenshtein/CMakeLists.txt 2026-01-10 17:00:37.252954218 -0500 +@@ -9,7 +9,7 @@ function(create_cython_target _name) + MAIN_DEPENDENCY "${CMAKE_CURRENT_LIST_DIR}/${_name}.pyx" + VERBATIM + COMMAND +- Python::Interpreter -m cython "${CMAKE_CURRENT_LIST_DIR}/${_name}.pyx" ++ Python::Interpreter -m cython --cplus "${CMAKE_CURRENT_LIST_DIR}/${_name}.pyx" + --output-file "${CMAKE_CURRENT_BINARY_DIR}/${_name}.cxx") + + set(${_name} diff --git a/python-Levenshtein.spec b/python-Levenshtein.spec index 88656e3..61fdd25 100644 --- a/python-Levenshtein.spec +++ b/python-Levenshtein.spec @@ -1,87 +1,72 @@ -%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%global srcname Levenshtein -Name: python-Levenshtein +%global forgeurl https://github.com/rapidfuzz/%{srcname} +Version: 0.27.3 +%forgemeta + +Name: python-%{srcname} Summary: Python extension computing string distances and similarities -Version: 0.10.1 -Release: 9%{?dist} +Release: %{autorelease} -Group: Development/Libraries -License: GPLv2+ +License: GPL-2.0-or-later -# The original site: http://trific.ath.cx/python/levenshtein/ -# no longer exists so pointing to the pypi listing instead. -URL: http://pypi.python.org/pypi/python-Levenshtein/ +# 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} -# The wayback machine provides this link to the original source: -# http://web.archive.org/web/20060715051500/http://trific.ath.cx/Ftp/python/levenshtein/python-Levenshtein-0.10.1.tar.bz2 -# SHA1: d630141e003f47a43e0f8eacdcbf593bf9d15ed6 -# The sourceforge files are a mirror of these files. -Source: http://downloads.sourceforge.net/translate/python-Levenshtein-%{version}.tar.bz2 +Source0: %{forgesource} +Patch0: levenshtein-0.27.1-cython-cpp.patch -# The same applies to genextdoc.py see v 1.5: -# http://web.archive.org/web/20060717041205/http://trific.ath.cx/Ftp/python/genextdoc.py -# SHA1: 5c91974b102f42144529913ce181c1866451bcf6 -Source1: genextdoc.py -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: python3-devel +BuildRequires: python3-pytest +BuildRequires: rapidfuzz-cpp-static -BuildRequires: python-devel -BuildRequires: python-setuptools-devel - -%description +%global _description %{expand: Levenshtein computes Levenshtein distances, similarity ratios, generalized -medians and set medians of Strings and Unicodes. Because it's implemented -in C, it's much faster than corresponding Python library functions and -methods. +medians and set medians of Strings and Unicodes.} +%description %_description + +%package -n python3-%{srcname} + +Summary: %{summary} + +%description -n python3-%{srcname} %_description %prep -%setup -q -cp %{SOURCE1} . +%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 -CFLAGS="$RPM_OPT_FLAGS" %{__python} -c 'import setuptools; execfile("setup.py")' 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 -rm -rf $RPM_BUILD_ROOT -%{__python} -c 'import setuptools; execfile("setup.py")' install --skip-build --root $RPM_BUILD_ROOT -PYTHONPATH=$PYTHONPATH:$RPM_BUILD_ROOT/%{python_sitearch} %{__python} genextdoc.py Levenshtein +%pyproject_install +%pyproject_save_files %{srcname} -%clean -rm -rf $RPM_BUILD_ROOT +%check +%pyproject_check_import +%pytest + +%files -n python3-%{srcname} -f %{pyproject_files} +%doc README.md +%license LICENSE -%files -%defattr(-,root,root,-) -%doc README COPYING NEWS StringMatcher.py Levenshtein.html -%{python_sitearch}/*egg-info -%{python_sitearch}/Levenshtein.so %changelog -* Sun Jul 26 2009 Fedora Release Engineering - 0.10.1-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Thu Feb 26 2009 Fedora Release Engineering - 0.10.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.10.1-7 -- Rebuild for Python 2.6 - -* Tue Oct 21 2008 Dwayne Bailey - 0.10.1-6 -- Comments about location of source files -- Update genextdoc.py to v1.5 - -* Thu Mar 27 2008 Dwayne Bailey - 0.10.1-5 -- Build and package *egg-info -- Fix some rpmlint issues - -* Thu Feb 14 2008 Dwayne Bailey - 0.10.1-4 -- Add genextdoc.py as Source not Patch - -* Wed Jan 30 2008 Dwayne Bailey - 0.10.1-3 -- Some rpmlint fixes -- Fix document generation - -* Wed Jan 23 2008 Dwayne Bailey - 0.10.1-2 -- Add missing genextdoc.py to generate usage documentation - -* Wed Jan 23 2008 Dwayne Bailey - 0.10.1-1 -- Initial packaging +%{autochangelog} diff --git a/sources b/sources index 57ba7c9..d4344d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -af9b9c69c4563e211b11dc5184a93872 python-Levenshtein-0.10.1.tar.bz2 +SHA512 (Levenshtein-0.27.3.tar.gz) = 1102d6421066ea59c821416d80eec99044fd574659db2e063a5564249afddac097e740788b8d0f5c1c3c72c1a4d3ae94f027ac8609f5ad1cadde378aaee9bf43