diff --git a/Fix-test_extract_class_dict-for-Python-313.patch b/Fix-test_extract_class_dict-for-Python-313.patch new file mode 100644 index 0000000..3f7684d --- /dev/null +++ b/Fix-test_extract_class_dict-for-Python-313.patch @@ -0,0 +1,18 @@ +diff --git a/tests/cloudpickle_test.py b/tests/cloudpickle_test.py +index 5aa4bac..af5ef3e 100644 +--- a/tests/cloudpickle_test.py ++++ b/tests/cloudpickle_test.py +@@ -110,7 +110,12 @@ def test_extract_class_dict(): + return "c" + + clsdict = _extract_class_dict(C) +- assert sorted(clsdict.keys()) == ["C_CONSTANT", "__doc__", "method_c"] ++ expected_keys = ["C_CONSTANT", "__doc__", "method_c"] ++ # New attribute in Python 3.13 beta 1 ++ # https://github.com/python/cpython/pull/118475 ++ if sys.version_info >= (3, 13): ++ expected_keys.insert(2, "__firstlineno__") ++ assert sorted(clsdict.keys()) == expected_keys + assert clsdict["C_CONSTANT"] == 43 + assert clsdict["__doc__"] is None + assert clsdict["method_c"](C()) == C().method_c() diff --git a/cloudpickle-2.2.1.tar.gz b/cloudpickle-2.2.1.tar.gz deleted file mode 100644 index c14338e..0000000 --- a/cloudpickle-2.2.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5 -size 60800 diff --git a/cloudpickle-3.0.0-gh.tar.gz b/cloudpickle-3.0.0-gh.tar.gz new file mode 100644 index 0000000..f3ced68 --- /dev/null +++ b/cloudpickle-3.0.0-gh.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49cc8581ce305630b1e179bc083069b21b45db4731e5e3f2ea6fc40b131e1c55 +size 59519 diff --git a/python-cloudpickle.changes b/python-cloudpickle.changes index 6737ad2..015f8e2 100644 --- a/python-cloudpickle.changes +++ b/python-cloudpickle.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Mon Sep 9 09:43:13 UTC 2024 - John Paul Adrian Glaubitz + +- Cherry-pick proposed patch from Fedora to fix testsuite with Python 3.13 + * Fix-test_extract_class_dict-for-Python-313.patch + +------------------------------------------------------------------- +Thu Aug 29 15:43:09 UTC 2024 - Ben Greiner + + Update to 3.0.0 + * Officially support Python 3.12 and drop support for Python 3.6 + and 3.7. Dropping support for older Python versions made it + possible to simplify the code base signficantly, hopefully + making it easier to contribute to and maintain the project. (PR + #515) + * Fix pickling of dataclasses and their instances. (issue #386, + PR #513) + * Any color you like as long as it's black. (PR #521) + * Drop setup.py and setuptools in favor of pyproject.toml and + flit. (PR #521) + ------------------------------------------------------------------- Tue Jul 9 10:27:54 UTC 2024 - Daniel Garcia diff --git a/python-cloudpickle.spec b/python-cloudpickle.spec index 2fa059e..fa4dc1c 100644 --- a/python-cloudpickle.spec +++ b/python-cloudpickle.spec @@ -18,13 +18,17 @@ %{?sle15_python_module_pythons} Name: python-cloudpickle -Version: 2.2.1 +Version: 3.0.0 Release: 0 Summary: Extended pickling support for Python objects License: BSD-3-Clause URL: https://github.com/cloudpipe/cloudpickle -Source: https://files.pythonhosted.org/packages/source/c/cloudpickle/cloudpickle-%{version}.tar.gz -BuildRequires: %{python_module setuptools} +Source: https://github.com/cloudpipe/cloudpickle/archive/refs/tags/v{%version}.tar.gz#/cloudpickle-%{version}-gh.tar.gz +# PATCH-FIX-UPSTREAM gh/cloudpipe/cloudpickle#534 - Fix test_extract_class_dict for Python 3.13 beta 1 +Patch: Fix-test_extract_class_dict-for-Python-313.patch +BuildRequires: %{python_module base >= 3.8} +BuildRequires: %{python_module flit-core} +BuildRequires: %{python_module pip} BuildRequires: fdupes BuildRequires: python-rpm-macros BuildArch: noarch @@ -33,6 +37,7 @@ BuildRequires: %{python_module curses} BuildRequires: %{python_module psutil} BuildRequires: %{python_module pytest} BuildRequires: %{python_module py} +BuildRequires: %{python_module setuptools if %python-base >= 3.12} BuildRequires: %{python_module tornado} %if 0%{?suse_version} > 1600 BuildRequires: %{python_module numpy >= 1.18.5} @@ -57,10 +62,10 @@ functions and classes defined interactively in the __main__ module. %autosetup -p1 -n cloudpickle-%{version} %build -%python_build +%pyproject_wheel %install -%python_install +%pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %check @@ -73,6 +78,6 @@ export PYTHONPATH=':./tests/cloudpickle_testpkg' %doc README.md %license LICENSE %{python_sitelib}/cloudpickle -%{python_sitelib}/cloudpickle-%{version}*-info +%{python_sitelib}/cloudpickle-%{version}.dist-info %changelog