diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 477366a..0000000 --- a/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -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/changelog b/changelog deleted file mode 100644 index 66c633e..0000000 --- a/changelog +++ /dev/null @@ -1,149 +0,0 @@ -* 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/dead.package b/dead.package new file mode 100644 index 0000000..a72aec0 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +epel8-playground decommissioned : https://pagure.io/epel/issue/136 diff --git a/genextdoc.py b/genextdoc.py deleted file mode 100644 index 3be8725..0000000 --- a/genextdoc.py +++ /dev/null @@ -1,216 +0,0 @@ -#!/usr/bin/env python -# Simple Python extension module doc generator. -# @(#) $Id: genextdoc.py,v 1.1 2008/10/30 05:13:27 dwayne Exp $ -# Written by Yeti -# This program is in the public domain. -import re, sys, types, inspect -from cgi import escape as q - -args = sys.argv -args.pop(0) -if not args: - print 'Usage: genextdoc.py [--selfcontained] module_name' - sys.exit(0) - -selfcontained = False -if args[0].startswith('-') and 'selfcontained'.startswith(args[0].strip('-')): - selfcontained = True - args.pop(0) -if not args: sys.exit(0) -modname = args.pop(0) -plain_docs = args - -html_head = """\ - - - -%s %s - -""" - -html_foot = """\ - - -""" - -def split_para(doc): - p = [] - for x in doc.split('\n\n'): - x = x.strip() - if x.find('\n>>>') > -1: - h, t = x.split('\n>>>', 1) - p.append(h) - p.append('>>>' + t) - else: - p.append(x) - return p - -def get_doc(members): - try: doc = members['__doc__'] - except KeyError: pass - if doc: return doc - try: doc = 'Python module %s' % members['__name__'] - except KeyError: pass - if doc: return doc - else: return 'A Python module' - -def format_synopsis(synopsis, link=False, classname=None): - lst = synopsis.split('\n') - for i, s in zip(range(len(lst)), lst): - m = re.match(r'(?P\w+)(?P.*)', s) - args = re.sub(r'([a-zA-Z]\w+)', r'\1', m.group('args')) - func = m.group('func') - if link: - if classname: - func = '%s' % (classname, func, func) - else: - func = '%s' % (func, func) - lst[i] = func + args - return '
\n'.join(lst) - -def format_para(p): - if not p: return '' - doc = '' - if p.startswith('>>>'): doc += '
\n%s\n
\n' % q(p) - else: - if not re.search('^- ', p, re.M): doc += '

%s

\n' % q(p) - else: - p = re.split('(?m)^- ', p) - if p[0]: doc += '

%s

\n' % q(p[0].strip()) - del p[0] - doc += ('
    %s
\n' - % '\n'.join(['
  • %s
  • ' % q(p.strip()) for p in p])) - return doc - -def preprocess_routine(name, doc): - parts = split_para(doc) - if parts: summary = parts.pop(0) - else: summary = 'FIXME' - if parts and re.match(r'\w+\(.*\)', parts[0]): synopsis = parts.pop(0) - else: synopsis = name + '()' - return {'synopsis': synopsis, 'summary': summary, 'details': parts} - -def analyse(obj): - members = obj.__dict__ - if inspect.isclass(obj): - main_doc = preprocess_routine(obj.__name__, get_doc(members)) - bases = [x.__name__ for x in obj.__bases__] - else: - main_doc = split_para(get_doc(members)) - bases = [] - routines = {} - classes = {} - data = {} - for name, m in members.items(): - if name.startswith('__'): continue - try: - mro = list(inspect.getmro(m)) - if mro[0] != m: continue - except AttributeError: pass - if inspect.isroutine(m): - try: doc = m.__doc__ - except KeyError: pass - if not doc: doc = 'FIXME' - routines[name] = preprocess_routine(name, doc) - continue - if inspect.isclass(m): - classes[name] = analyse(m) - continue - t = type(m) - if t == types.IntType or t == types.StringType: - data[name] = repr(m) - else: - data[name] = m.__doc__ - return {'name': obj.__name__, 'doc': main_doc, 'routines': routines, - 'classes': classes, 'data': data, 'bases': bases} - -def format(tree, level, prefix=''): - name = tree['name'] - if prefix: fullname = '%s-%s' % (prefix, name) - else: fullname = name - ##### Main doc - doc = [] - if level > 1: - doc = ['' % (level, fullname)] - try: doc.append(format_synopsis(tree['doc']['synopsis'])) - except TypeError: - doc.append(name) - doc.append('\n' % level) - if tree.has_key('bases'): - doc.append('

    Bases: %s.

    \n' % ', '.join(tree['bases'])) - try: lst = [tree['doc']['summary']] + tree['doc']['details'] - except TypeError: lst = tree['doc'] - for p in lst: doc.append(format_para(p)) - ##### Table of contents - routines = tree['routines'].keys() - classes = tree['classes'].keys() - data = tree['data'].keys() - if routines: - routines.sort() - if level == 1: doc.append('

    Functions:

    \n') - else: doc.append('

    Methods:

    \n') - doc.append('
      \n') - for r in routines: - synopsis = tree['routines'][r]['synopsis'] - doc.append('
    • %s
    • \n' % format_synopsis(synopsis, True, - fullname)) - doc.append('
    \n') - if classes: - classes.sort() - doc.append('

    Classes:

    \n') - doc.append('
      \n') - for r in classes: - synopsis = tree['classes'][r]['doc']['synopsis'] - doc.append('
    • %s
    • \n' % format_synopsis(synopsis, True, - fullname)) - doc.append('
    \n') - if data: - data.sort() - doc.append('

    Data:

    \n') - doc.append('
      \n') - for r in data: - doc.append('
    • %s = %s
    • \n' % (r, q(tree['data'][r]))) - doc.append('
    \n') - ##### Functions - if routines: - if level == 1: doc.append('
    \n') - doc.append('
    \n') - for r in routines: - doc.append('
    ' % (fullname, r)) - rt = tree['routines'][r] - doc.append('%s
    \n
    ' % format_synopsis(rt['synopsis'])) - for p in [rt['summary']] + rt['details']: - doc.append(format_para(p)) - doc.append('
    \n') - doc.append('
    \n') - ##### Classes - if classes: - for r in classes: - doc.append('
    \n') - doc.append(format(tree['classes'][r], level+1, fullname)) - return ''.join(doc) - -exec 'import %s as __test__' % modname -doctree = analyse(__test__) -document = format(doctree, 1) -print modname + '.html' -fh = file(modname + '.html', 'w') -if selfcontained: fh.write(html_head % (modname, 'module API')) -fh.write(document) -if selfcontained: fh.write(html_foot) -fh.close() -for f in plain_docs: - try: fh = file(f, 'r') - except: continue - document = fh.read() - fh.close() - print f + '.xhtml' - fh = file(f + '.xhtml', 'w') - if selfcontained: fh.write(html_head % (modname, f)) - fh.write('

    %s %s

    \n\n' % (modname, f)) - fh.write('
    \n')
    -    fh.write(document)
    -    fh.write('
    \n') - if selfcontained: fh.write(html_foot) - fh.close() diff --git a/levenshtein-0.20.8-cython-0.29.patch b/levenshtein-0.20.8-cython-0.29.patch deleted file mode 100644 index 1d9a8e7..0000000 --- a/levenshtein-0.20.8-cython-0.29.patch +++ /dev/null @@ -1,26 +0,0 @@ -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 deleted file mode 100644 index 78710f3..0000000 --- a/levenshtein-0.27.1-cython-cpp.patch +++ /dev/null @@ -1,12 +0,0 @@ -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 deleted file mode 100644 index 61fdd25..0000000 --- a/python-Levenshtein.spec +++ /dev/null @@ -1,72 +0,0 @@ -%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} diff --git a/sources b/sources deleted file mode 100644 index d4344d7..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (Levenshtein-0.27.3.tar.gz) = 1102d6421066ea59c821416d80eec99044fd574659db2e063a5564249afddac097e740788b8d0f5c1c3c72c1a4d3ae94f027ac8609f5ad1cadde378aaee9bf43