diff --git a/ansiwrap-pr18-py311.patch b/ansiwrap-pr18-py311.patch deleted file mode 100644 index 4667962..0000000 --- a/ansiwrap-pr18-py311.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b7f0149d6063c095da5ccb74afc6262682a9ff92 Mon Sep 17 00:00:00 2001 -From: "Benjamin A. Beasley" -Date: Mon, 20 Jun 2022 09:27:40 -0400 -Subject: [PATCH] Fix tests on Python 3.11 (fix #18) - -random.sample() population must be a sequence ---- - test/test_ansiwrap.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/test/test_ansiwrap.py b/test/test_ansiwrap.py -index 13e7149..da97f0e 100644 ---- a/test/test_ansiwrap.py -+++ b/test/test_ansiwrap.py -@@ -20,8 +20,8 @@ - - # as an alternative to testing all lengths at all times, which is slow, - # choose a few other lengths at random --other_lengths = (random.sample(set(range(20, 120)).difference(LINE_LENGTHS), 2) + -- random.sample(set(range(120, 400)).difference(LINE_LENGTHS), 1)) -+other_lengths = (random.sample(sorted(set(range(20, 120)).difference(LINE_LENGTHS)), 2) + -+ random.sample(sorted(set(range(120, 400)).difference(LINE_LENGTHS)), 1)) - LINE_LENGTHS.extend(other_lengths) - - diff --git a/python-ansiwrap.changes b/python-ansiwrap.changes index 6ead794..3c1848a 100644 --- a/python-ansiwrap.changes +++ b/python-ansiwrap.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Jan 16 03:29:03 UTC 2024 - Steve Kowalik + +- Add patch support-python312.patch: + * Use importlib not imp, also includes changes from the previous patch. +- Drop patch ansiwrap-pr18-py311.patch, included in above. + ------------------------------------------------------------------- Sat Mar 18 12:30:50 UTC 2023 - Ben Greiner diff --git a/python-ansiwrap.spec b/python-ansiwrap.spec index 2f3b077..d0ac936 100644 --- a/python-ansiwrap.spec +++ b/python-ansiwrap.spec @@ -1,7 +1,7 @@ # # spec file for package python-ansiwrap # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,11 +21,10 @@ Version: 0.8.4 Release: 0 Summary: Textwrap, but savvy to ANSI colors and styles License: Apache-2.0 -Group: Development/Languages/Python URL: https://github.com/jonathaneunice/ansiwrap Source: https://files.pythonhosted.org/packages/source/a/ansiwrap/ansiwrap-%{version}.zip -# PATCH-FIX-UPSTREAM ansiwrap-pr18-py311.patch gh#jonathaneunice/ansiwrap#18 -Patch0: ansiwrap-pr18-py311.patch +# PATCH-FIX-UPSTREAM gh#jonathaneunice/ansiwrap#20 +Patch0: support-python312.patch BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module wheel} diff --git a/support-python312.patch b/support-python312.patch new file mode 100644 index 0000000..0912ffe --- /dev/null +++ b/support-python312.patch @@ -0,0 +1,54 @@ +From ab7b86c9c8a90206f969a006d9297a60ca931496 Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Mon, 20 Jun 2022 09:27:40 -0400 +Subject: [PATCH 1/2] Fix tests on Python 3.11 (fix #18) + +random.sample() population must be a sequence +--- + test/test_ansiwrap.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/test/test_ansiwrap.py b/test/test_ansiwrap.py +index 13e7149..bf7456e 100644 +--- a/test/test_ansiwrap.py ++++ b/test/test_ansiwrap.py +@@ -20,8 +20,8 @@ + + # as an alternative to testing all lengths at all times, which is slow, + # choose a few other lengths at random +-other_lengths = (random.sample(set(range(20, 120)).difference(LINE_LENGTHS), 2) + +- random.sample(set(range(120, 400)).difference(LINE_LENGTHS), 1)) ++other_lengths = (random.sample(list(set(range(20, 120)).difference(LINE_LENGTHS)), 2) + ++ random.sample(list(set(range(120, 400)).difference(LINE_LENGTHS)), 1)) + LINE_LENGTHS.extend(other_lengths) + + + +From f6393a1e96b2d904f1a0d860930eacb5440c49fb Mon Sep 17 00:00:00 2001 +From: "Benjamin A. Beasley" +Date: Thu, 29 Jun 2023 16:29:52 -0400 +Subject: [PATCH 2/2] Work around imp module removal in Python 3.12 + +--- + ansiwrap/core.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ansiwrap/core.py b/ansiwrap/core.py +index 88ff453..99d0f44 100644 +--- a/ansiwrap/core.py ++++ b/ansiwrap/core.py +@@ -3,12 +3,12 @@ + from ansiwrap.ansistate import ANSIState + import re + import sys +-import imp ++import importlib + + # import a copy of textwrap3 which we will viciously monkey-patch + # to use our version of len, not the built-in + import os +-a_textwrap = imp.load_module('a_textwrap', *imp.find_module('textwrap3')) ++a_textwrap = importlib.import_module('textwrap3') + + + __all__ = 'wrap fill shorten strip_color ansilen ansi_terminate_lines'.split()