diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index 272eebfce1065e58c4505e444dbe55b709a223bc..8fe90f19562fad199209b695ad370d137b299f9d 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,7 +1,7 @@ -From 60ab4094d885067c50694d2f11cd640dc5c0f0c6 Mon Sep 17 00:00:00 2001 +From 3e43f06eaad8cdb48d30b4cbe23a881c6fa5c1ff Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 -Subject: [PATCH 1/2] matplotlibrc path search fix +Subject: [PATCH 1/4] matplotlibrc path search fix Signed-off-by: Elliott Sales de Andrade --- @@ -9,10 +9,10 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index 71c68a3d6b..88be8e97b0 100644 +index 77d25bbe33..9786447e23 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py -@@ -473,7 +473,8 @@ def get_cachedir(): +@@ -540,7 +540,8 @@ def get_cachedir(): @_logged_cached('matplotlib data path: %s') def get_data_path(): """Return the path to Matplotlib data.""" @@ -22,7 +22,7 @@ index 71c68a3d6b..88be8e97b0 100644 def matplotlib_fname(): -@@ -493,6 +494,7 @@ def matplotlib_fname(): +@@ -560,6 +561,7 @@ def matplotlib_fname(): is not defined) - On other platforms, - ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined @@ -30,7 +30,7 @@ index 71c68a3d6b..88be8e97b0 100644 - Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always exist. """ -@@ -511,6 +513,7 @@ def matplotlib_fname(): +@@ -578,6 +580,7 @@ def matplotlib_fname(): yield matplotlibrc yield os.path.join(matplotlibrc, 'matplotlibrc') yield os.path.join(get_configdir(), 'matplotlibrc') @@ -39,5 +39,5 @@ index 71c68a3d6b..88be8e97b0 100644 for fname in gen_candidates(): -- -2.31.1 +2.36.1 diff --git a/0002-Set-FreeType-version-to-2.10.4-and-update-tolerances.patch b/0002-Set-FreeType-version-to-2.12.1-and-update-tolerances.patch similarity index 60% rename from 0002-Set-FreeType-version-to-2.10.4-and-update-tolerances.patch rename to 0002-Set-FreeType-version-to-2.12.1-and-update-tolerances.patch index 758ae48f6ff73ef9f4295493a6146726d4f2a4bc..b1a282cbcbb5c426663c4002e3baaaff7eacf2f0 100644 --- a/0002-Set-FreeType-version-to-2.10.4-and-update-tolerances.patch +++ b/0002-Set-FreeType-version-to-2.12.1-and-update-tolerances.patch @@ -1,37 +1,36 @@ -From 7ca8afa7fa3e141464c1ef2b2c58b23b586bf310 Mon Sep 17 00:00:00 2001 +From c7f6a197992cfd989fddb858afcde5abcdecf70e Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 14 Feb 2020 06:05:42 -0500 -Subject: [PATCH 2/2] Set FreeType version to 2.10.4 and update tolerances. +Subject: [PATCH 2/4] Set FreeType version to 2.12.1 and update tolerances. Signed-off-by: Elliott Sales de Andrade --- lib/matplotlib/__init__.py | 2 +- lib/matplotlib/tests/test_axes.py | 4 ++-- - lib/matplotlib/tests/test_constrainedlayout.py | 2 +- - lib/matplotlib/tests/test_mathtext.py | 7 +++++-- + lib/matplotlib/tests/test_constrainedlayout.py | 6 +++--- lib/matplotlib/tests/test_polar.py | 2 +- lib/matplotlib/tests/test_tightlayout.py | 10 +++++----- - setupext.py | 9 ++++++++- - 7 files changed, 23 insertions(+), 13 deletions(-) + setupext.py | 15 +++++++++++++-- + 6 files changed, 25 insertions(+), 14 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index 88be8e97b0..22dc74181e 100644 +index 9786447e23..56266f0688 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py -@@ -1137,7 +1137,7 @@ default_test_modules = [ +@@ -1213,7 +1213,7 @@ default_test_modules = [ def _init_tests(): # The version of FreeType to install locally for running the # tests. This must match the value in `setupext.py` - LOCAL_FREETYPE_VERSION = '2.6.1' -+ LOCAL_FREETYPE_VERSION = '2.10.4' ++ LOCAL_FREETYPE_VERSION = '2.12.1' from matplotlib import ft2font if (ft2font.__freetype_version__ != LOCAL_FREETYPE_VERSION or diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 7950e5b830..046dbbe1b8 100644 +index 8d6466c749..c8604b8657 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py -@@ -6500,7 +6500,7 @@ def test_normal_axes(): +@@ -7210,7 +7210,7 @@ def test_normal_axes(): ] for nn, b in enumerate(bbaxis): targetbb = mtransforms.Bbox.from_bounds(*target[nn]) @@ -40,7 +39,7 @@ index 7950e5b830..046dbbe1b8 100644 target = [ [150.0, 119.999, 930.0, 11.111], -@@ -6518,7 +6518,7 @@ def test_normal_axes(): +@@ -7228,7 +7228,7 @@ def test_normal_axes(): target = [85.5138, 75.88888, 1021.11, 1017.11] targetbb = mtransforms.Bbox.from_bounds(*target) @@ -50,10 +49,10 @@ index 7950e5b830..046dbbe1b8 100644 # test that get_position roundtrips to get_window_extent axbb = ax.get_position().transformed(fig.transFigure).bounds diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py -index 117b221cc2..d009912dfa 100644 +index 64906b74c3..bfa53cd430 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py -@@ -429,7 +429,7 @@ def test_hidden_axes(): +@@ -431,7 +431,7 @@ def test_hidden_axes(): extents1 = np.copy(axs[0, 0].get_position().extents) np.testing.assert_allclose( @@ -62,42 +61,29 @@ index 117b221cc2..d009912dfa 100644 def test_colorbar_align(): -diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py -index b5fd906d2f..8e3801a231 100644 ---- a/lib/matplotlib/tests/test_mathtext.py -+++ b/lib/matplotlib/tests/test_mathtext.py -@@ -1,5 +1,6 @@ - import io - import os -+import platform - import re +@@ -637,7 +637,7 @@ def test_compressed1(): + fig.draw_without_rendering() - import numpy as np -@@ -189,7 +190,8 @@ def baseline_images(request, fontset, index, text): - @pytest.mark.parametrize( - 'fontset', ['cm', 'stix', 'stixsans', 'dejavusans', 'dejavuserif']) - @pytest.mark.parametrize('baseline_images', ['mathtext'], indirect=True) --@image_comparison(baseline_images=None) -+@image_comparison(baseline_images=None, -+ tol=0.011 if platform.machine() in ('ppc64le', 's390x') else 0) - def test_mathtext_rendering(baseline_images, fontset, index, text): - mpl.rcParams['mathtext.fontset'] = fontset - fig = plt.figure(figsize=(5.25, 0.75)) -@@ -213,7 +215,8 @@ def test_mathtext_rendering_lightweight(baseline_images, fontset, index, text): - @pytest.mark.parametrize( - 'fontset', ['cm', 'stix', 'stixsans', 'dejavusans', 'dejavuserif']) - @pytest.mark.parametrize('baseline_images', ['mathfont'], indirect=True) --@image_comparison(baseline_images=None, extensions=['png']) -+@image_comparison(baseline_images=None, extensions=['png'], -+ tol=0.011 if platform.machine() in ('ppc64le', 's390x') else 0) - def test_mathfont_rendering(baseline_images, fontset, index, text): - mpl.rcParams['mathtext.fontset'] = fontset - fig = plt.figure(figsize=(5.25, 0.75)) + pos = axs[0, 0].get_position() +- np.testing.assert_allclose(pos.x0, 0.2344, atol=1e-3) ++ np.testing.assert_allclose(pos.x0, 0.2344, atol=1e-2) + pos = axs[0, 1].get_position() + np.testing.assert_allclose(pos.x1, 0.7024, atol=1e-3) + +@@ -652,7 +652,7 @@ def test_compressed1(): + + pos = axs[0, 0].get_position() + np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3) +- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3) ++ np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-2) + pos = axs[1, 2].get_position() + np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3) + np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3) diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py -index c614eff027..daf4e26fb8 100644 +index c51508ae22..942ffcb521 100644 --- a/lib/matplotlib/tests/test_polar.py +++ b/lib/matplotlib/tests/test_polar.py -@@ -312,7 +312,7 @@ def test_get_tightbbox_polar(): +@@ -314,7 +314,7 @@ def test_get_tightbbox_polar(): fig.canvas.draw() bb = ax.get_tightbbox(fig.canvas.get_renderer()) assert_allclose( @@ -107,10 +93,10 @@ index c614eff027..daf4e26fb8 100644 @check_figures_equal(extensions=["png"]) diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py -index 23d363b508..e94c863477 100644 +index 1eb7b4b453..697eba3211 100644 --- a/lib/matplotlib/tests/test_tightlayout.py +++ b/lib/matplotlib/tests/test_tightlayout.py -@@ -172,12 +172,12 @@ def test_outward_ticks(): +@@ -173,12 +173,12 @@ def test_outward_ticks(): plt.tight_layout() # These values were obtained after visual checking that they correspond # to a tight layouting that did take the ticks into account. @@ -129,10 +115,10 @@ index 23d363b508..e94c863477 100644 diff --git a/setupext.py b/setupext.py -index d8d0b6b393..e44d3b046a 100644 +index 0387223b94..13096a812c 100644 --- a/setupext.py +++ b/setupext.py -@@ -167,12 +167,18 @@ _freetype_hashes = { +@@ -168,13 +168,23 @@ _freetype_hashes = { '955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a', '2.10.1': '3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110', @@ -142,17 +128,23 @@ index d8d0b6b393..e44d3b046a 100644 + '5eab795ebb23ac77001cfb68b7d4d50b5d6c7469247b0b01b2c953269f658dac', + '2.11.0': + 'a45c6b403413abd5706f3582f04c8339d26397c4304b78fa552f2215df64101f', + '2.11.1': +- 'f8db94d307e9c54961b39a1cc799a67d46681480696ed72ecf78d4473770f09b' ++ 'f8db94d307e9c54961b39a1cc799a67d46681480696ed72ecf78d4473770f09b', ++ '2.12.0': ++ '7940a46eeb0255baaa87c553d72778c4f8daa2b8888c8e2a05766a2a8686740c', ++ '2.12.1': ++ 'efe71fd4b8246f1b0b1b9bfca13cfff1c9ad85930340c27df469733bbb620938', } - # This is the version of FreeType to use when building a local - # version. It must match the value in - # lib/matplotlib.__init__.py and also needs to be changed below in the - # embedded windows build script (grep for "REMINDER" in this file) --LOCAL_FREETYPE_VERSION = '2.6.1' -+LOCAL_FREETYPE_VERSION = '2.10.4' - LOCAL_FREETYPE_HASH = _freetype_hashes.get(LOCAL_FREETYPE_VERSION, 'unknown') - - LOCAL_QHULL_VERSION = '2020.2' -@@ -565,6 +571,7 @@ class FreeType(SetupPackage): + # This is the version of FreeType to use when building a local version. It + # must match the value in lib/matplotlib.__init__.py, and the cache path in + # `.circleci/config.yml`. +-TESTING_VERSION_OF_FREETYPE = '2.6.1' ++TESTING_VERSION_OF_FREETYPE = '2.12.1' + if sys.platform.startswith('win') and platform.machine() == 'ARM64': + # older versions of freetype are not supported for win/arm64 + # Matplotlib tests will not pass +@@ -584,6 +594,7 @@ class FreeType(SetupPackage): ext.extra_objects.insert( 0, str(src_path / 'objs' / '.libs' / libfreetype)) ext.define_macros.append(('FREETYPE_BUILD_TYPE', 'local')) @@ -161,5 +153,5 @@ index d8d0b6b393..e44d3b046a 100644 def do_custom_build(self, env): # We're using a system freetype -- -2.31.1 +2.36.1 diff --git a/0003-Increase-a-few-test-tolerances-on-some-arches.patch b/0003-Increase-a-few-test-tolerances-on-some-arches.patch new file mode 100644 index 0000000000000000000000000000000000000000..471b77994b4c9a70f9453630ed40a4dffcfdf0a8 --- /dev/null +++ b/0003-Increase-a-few-test-tolerances-on-some-arches.patch @@ -0,0 +1,158 @@ +From 0939c27b1d47cabd19c09fc09f15ef4fb18331b4 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Tue, 24 Aug 2021 04:47:50 -0400 +Subject: [PATCH 3/4] Increase a few test tolerances on some arches. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/tests/test_axes.py | 6 ++++-- + lib/matplotlib/tests/test_backend_pgf.py | 2 +- + lib/matplotlib/tests/test_colorbar.py | 5 ++++- + lib/matplotlib/tests/test_contour.py | 3 ++- + lib/matplotlib/tests/test_image.py | 4 ++-- + lib/matplotlib/tests/test_lines.py | 4 +++- + lib/matplotlib/tests/test_mathtext.py | 7 +++++-- + 7 files changed, 21 insertions(+), 10 deletions(-) + +diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py +index c8604b8657..da72bb9415 100644 +--- a/lib/matplotlib/tests/test_axes.py ++++ b/lib/matplotlib/tests/test_axes.py +@@ -1031,7 +1031,8 @@ def test_imshow(): + ax.imshow("r", data=data) + + +-@image_comparison(['imshow_clip'], style='mpl20') ++@image_comparison(['imshow_clip'], style='mpl20', ++ tol=0 if platform.machine() == 'x86_64' else 1.24) + def test_imshow_clip(): + # As originally reported by Gellule Xg + # use former defaults to match existing baseline image +@@ -2340,7 +2341,8 @@ def test_contour_hatching(): + extend='both', alpha=0.5) + + +-@image_comparison(['contour_colorbar'], style='mpl20') ++@image_comparison(['contour_colorbar'], style='mpl20', ++ tol=0 if platform.machine() == 'x86_64' else 0.02) + def test_contour_colorbar(): + x, y, z = contour_dat() + +diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py +index 482bc073a7..ab16d9736c 100644 +--- a/lib/matplotlib/tests/test_backend_pgf.py ++++ b/lib/matplotlib/tests/test_backend_pgf.py +@@ -169,7 +169,7 @@ def test_pathclip(): + # test mixed mode rendering + @needs_pgf_xelatex + @pytest.mark.backend('pgf') +-@image_comparison(['pgf_mixedmode.pdf'], style='default') ++@image_comparison(['pgf_mixedmode.pdf'], style='default', tol=0.9) + def test_mixedmode(): + mpl.rcParams.update({'font.family': 'serif', 'pgf.rcfonts': False}) + Y, X = np.ogrid[-1:1:40j, -1:1:40j] +diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py +index 4336b761f6..7d3927408b 100644 +--- a/lib/matplotlib/tests/test_colorbar.py ++++ b/lib/matplotlib/tests/test_colorbar.py +@@ -1,3 +1,5 @@ ++import platform ++ + import numpy as np + import pytest + +@@ -233,7 +235,8 @@ def test_colorbar_single_ax_panchor_east(constrained): + assert ax.get_anchor() == 'E' + + +-@image_comparison(['contour_colorbar.png'], remove_text=True) ++@image_comparison(['contour_colorbar.png'], remove_text=True, ++ tol=0 if platform.machine() == 'x86_64' else 0.01) + def test_contour_colorbar(): + fig, ax = plt.subplots(figsize=(4, 2)) + data = np.arange(1200).reshape(30, 40) - 500 +diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py +index 8bf77f0d54..82c0b09ac3 100644 +--- a/lib/matplotlib/tests/test_contour.py ++++ b/lib/matplotlib/tests/test_contour.py +@@ -319,7 +319,8 @@ def test_contourf_log_extension(): + + + @image_comparison(['contour_addlines.png'], +- remove_text=True, style='mpl20', tol=0.03) ++ remove_text=True, style='mpl20', ++ tol=0.03 if platform.machine() == 'x86_64' else 0.15) + # tolerance is because image changed minutely when tick finding on + # colorbars was cleaned up... + def test_contour_addlines(): +diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py +index 46dbe4cfe8..268473c6c0 100644 +--- a/lib/matplotlib/tests/test_image.py ++++ b/lib/matplotlib/tests/test_image.py +@@ -1322,8 +1322,8 @@ def test_nonuniform_and_pcolor(): + ax.set(xlim=(0, 10)) + + +-@image_comparison(["rgba_antialias.png"], style="mpl20", +- remove_text=True) ++@image_comparison(["rgba_antialias.png"], style="mpl20", remove_text=True, ++ tol=0 if platform.machine() == 'x86_64' else 0.007) + def test_rgba_antialias(): + fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False, + sharey=False, constrained_layout=True) +diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py +index e7002df8a5..8738fd94a0 100644 +--- a/lib/matplotlib/tests/test_lines.py ++++ b/lib/matplotlib/tests/test_lines.py +@@ -3,6 +3,7 @@ Tests specific to the lines module. + """ + + import itertools ++import platform + import timeit + from types import SimpleNamespace + +@@ -165,7 +166,8 @@ def test_set_drawstyle(): + assert len(line.get_path().vertices) == len(x) + + +-@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20') ++@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20', ++ tol=0 if platform.machine() == 'x86_64' else 0.62) + def test_set_line_coll_dash_image(): + fig, ax = plt.subplots() + np.random.seed(0) +diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py +index 7f8b06fa0e..d7d5e687fe 100644 +--- a/lib/matplotlib/tests/test_mathtext.py ++++ b/lib/matplotlib/tests/test_mathtext.py +@@ -1,5 +1,6 @@ + import io + from pathlib import Path ++import platform + import re + import shlex + from xml.etree import ElementTree as ET +@@ -198,7 +199,8 @@ def baseline_images(request, fontset, index, text): + @pytest.mark.parametrize( + 'fontset', ['cm', 'stix', 'stixsans', 'dejavusans', 'dejavuserif']) + @pytest.mark.parametrize('baseline_images', ['mathtext'], indirect=True) +-@image_comparison(baseline_images=None) ++@image_comparison(baseline_images=None, ++ tol=0.011 if platform.machine() in ('ppc64le', 's390x') else 0) + def test_mathtext_rendering(baseline_images, fontset, index, text): + mpl.rcParams['mathtext.fontset'] = fontset + fig = plt.figure(figsize=(5.25, 0.75)) +@@ -239,7 +241,8 @@ def test_mathtext_rendering_lightweight(baseline_images, fontset, index, text): + @pytest.mark.parametrize( + 'fontset', ['cm', 'stix', 'stixsans', 'dejavusans', 'dejavuserif']) + @pytest.mark.parametrize('baseline_images', ['mathfont'], indirect=True) +-@image_comparison(baseline_images=None, extensions=['png']) ++@image_comparison(baseline_images=None, extensions=['png'], ++ tol=0.011 if platform.machine() in ('ppc64le', 's390x') else 0) + def test_mathfont_rendering(baseline_images, fontset, index, text): + mpl.rcParams['mathtext.fontset'] = fontset + fig = plt.figure(figsize=(5.25, 0.75)) +-- +2.36.1 + diff --git a/0004-Use-old-stride_windows-implementation-on-32-bit-x86.patch b/0004-Use-old-stride_windows-implementation-on-32-bit-x86.patch new file mode 100644 index 0000000000000000000000000000000000000000..c07882c3860730ac23c36ed117f25ed824c03437 --- /dev/null +++ b/0004-Use-old-stride_windows-implementation-on-32-bit-x86.patch @@ -0,0 +1,36 @@ +From 77d0ef4bac7e14da704556a6f1f99962b0864a6a Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Mon, 22 Aug 2022 18:43:28 -0400 +Subject: [PATCH 4/4] Use old stride_windows implementation on 32-bit x86 + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/mlab.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py +index 5e85a9c119..d75acf6d26 100644 +--- a/lib/matplotlib/mlab.py ++++ b/lib/matplotlib/mlab.py +@@ -52,6 +52,7 @@ Spectral functions + + import functools + from numbers import Number ++import sys + + import numpy as np + +@@ -252,7 +253,9 @@ def stride_windows(x, n, noverlap=None, axis=0): + + def _stride_windows(x, n, noverlap=0, axis=0): + # np>=1.20 provides sliding_window_view, and we only ever use axis=0. +- if hasattr(np.lib.stride_tricks, "sliding_window_view") and axis == 0: ++ if (sys.maxsize > 2**32 and # NumPy version on 32-bit OOMs. ++ hasattr(np.lib.stride_tricks, "sliding_window_view") and ++ axis == 0): + if noverlap >= n: + raise ValueError('noverlap must be less than n') + return np.lib.stride_tricks.sliding_window_view( +-- +2.36.1 + diff --git a/adapted-requires-package-version.patch b/adapted-requires-package-version.patch new file mode 100644 index 0000000000000000000000000000000000000000..c6c9fcdba15bf2f254bce7cd58c66f8072e2c82c --- /dev/null +++ b/adapted-requires-package-version.patch @@ -0,0 +1,28 @@ +diff --git a/setup.py b/setup.py +index d1f1de7..1d64d11 100644 +--- a/setup.py ++++ b/setup.py +@@ -303,12 +303,11 @@ setup( # Finally, pass this all along to setuptools to do the heavy lifting. + setup_requires=[ + "certifi>=2020.06.20", + "numpy>=1.19", +- "setuptools_scm>=7", ++ "setuptools_scm>=4", + ], + install_requires=[ +- "contourpy>=1.0.1", + "cycler>=0.10", +- "fonttools>=4.22.0", ++ "fonttools>=3.29.0", + "kiwisolver>=1.0.1", + "numpy>=1.19", + "packaging>=20.0", +@@ -317,7 +316,7 @@ setup( # Finally, pass this all along to setuptools to do the heavy lifting. + "python-dateutil>=2.7", + ] + ( + # Installing from a git checkout that is not producing a wheel. +- ["setuptools_scm>=7"] if ( ++ ["setuptools_scm>=4"] if ( + Path(__file__).with_name(".git").exists() and + os.environ.get("CIBUILDWHEEL", "0") != "1" + ) else [] diff --git a/matplotlib-3.4.3-with-freetype-2.10.4.tar.gz b/matplotlib-3.6.1-with-freetype-2.12.1.tar.gz similarity index 69% rename from matplotlib-3.4.3-with-freetype-2.10.4.tar.gz rename to matplotlib-3.6.1-with-freetype-2.12.1.tar.gz index ab2981d3a4818c6c6bf07809149ddefa29afa8df..e89c7dea6f24b0e3ccd3d00325aa481c9d492de0 100644 Binary files a/matplotlib-3.4.3-with-freetype-2.10.4.tar.gz and b/matplotlib-3.6.1-with-freetype-2.12.1.tar.gz differ diff --git a/matplotlib-3.4.3.tar.gz b/matplotlib-3.6.2.tar.gz similarity index 74% rename from matplotlib-3.4.3.tar.gz rename to matplotlib-3.6.2.tar.gz index 365f7f2ca90355fa95a1bd457428232c5e436db3..d7edd2fe9a5a76b33579257091e8f38d6a9727c3 100644 Binary files a/matplotlib-3.4.3.tar.gz and b/matplotlib-3.6.2.tar.gz differ diff --git a/setup.cfg b/mplsetup.cfg similarity index 78% rename from setup.cfg rename to mplsetup.cfg index 105071003726688af661ccd157a11decac4ef4dc..362e6ab90332a4e2f80601d0e5702f7202ac95e8 100644 --- a/setup.cfg +++ b/mplsetup.cfg @@ -6,6 +6,3 @@ system_qhull = True tests = True toolkits = True toolkits_tests = True - -[rc_options] -backend = GTKAgg diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 0419f18e60657d4641603696acfe6cae7492c480..a6423bcff62e5cb94954e7ed83dd31b8407c6c21 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,17 +1,22 @@ Name: python-matplotlib -Version: 3.4.3 -Release: 2 +Version: 3.6.2 +Release: 1 Summary: A comprehensive library for creating static, animated, and interactive visualizations License: Python and MIT and OFL-1.1 and Public Domain URL: https://github.com/matplotlib/matplotlib Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}/matplotlib-%{version}.tar.gz # The config file for python-matplotlib -Source1: setup.cfg -Source1000: https://github.com/QuLogic/mpl-images/archive/v3.4.3-with-freetype-2.10.4/matplotlib-3.4.3-with-freetype-2.10.4.tar.gz +Source1: mplsetup.cfg +Source1000: https://github.com/QuLogic/mpl-images/archive/v3.6.1-with-freetype-2.12.1/matplotlib-3.6.1-with-freetype-2.12.1.tar.gz Patch0001: 0001-matplotlibrc-path-search-fix.patch -Patch0002: 0002-Set-FreeType-version-to-2.10.4-and-update-tolerances.patch +Patch0002: 0002-Set-FreeType-version-to-2.12.1-and-update-tolerances.patch +Patch0003: 0003-Increase-a-few-test-tolerances-on-some-arches.patch +Patch0004: 0004-Use-old-stride_windows-implementation-on-32-bit-x86.patch +Patch0005: adapted-requires-package-version.patch + BuildRequires: freetype-devel libpng-devel qhull-devel texlive-cm xorg-x11-server-Xvfb zlib-devel BuildRequires: python3-certifi +BuildRequires: python3-numpy python3-pip python3-wheel python3-setuptools_scm ghostscript %description @@ -101,10 +106,14 @@ Test data for python3-matplotlib. %autosetup -n matplotlib-%{version} -N %patch0001 -p1 %patch0002 -p1 -gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-3.4.3-with-freetype-2.10.4/\([^/]\+\)/~lib/\1/tests/baseline_images/~' +%patch0005 -p1 +gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-3.6.1-with-freetype-2.12.1/\([^/]\+\)/~lib/\1/tests/baseline_images/~' # Copy setup.cfg to the builddir -cp -p %{SOURCE1} setup.cfg +cp -p %{SOURCE1} mplsetup.cfg + +%patch0003 -p1 +%patch0004 -p1 %build export http_proxy=http://127.0.0.1/ @@ -135,7 +144,6 @@ mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data %{buildroot}%{_datadir}/m %{python3_sitearch}/{pylab.py*,__pycache__/*} %exclude %{python3_sitearch}/matplotlib/tests/baseline_images/* %exclude %{python3_sitearch}/mpl_toolkits/tests/baseline_images/* -%exclude %{python3_sitearch}/matplotlib/backends/{backend_qt4*,__pycache__/backend_qt4*} %exclude %{python3_sitearch}/matplotlib/backends/{backend_qt5*,__pycache__/backend_qt5*} %exclude %{python3_sitearch}/matplotlib/backends/{backend_gtk*,__pycache__/backend_gtk*} %exclude %{python3_sitearch}/matplotlib/backends/{backend_tkagg.*,__pycache__/backend_tkagg.*} @@ -146,10 +154,6 @@ mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data %{buildroot}%{_datadir}/m %{python3_sitearch}/matplotlib/tests/baseline_images/ %{python3_sitearch}/mpl_toolkits/tests/baseline_images/ -%files -n python3-matplotlib-qt4 -%{python3_sitearch}/matplotlib/backends/{backend_qt4.*,__pycache__/backend_qt4.*} -%{python3_sitearch}/matplotlib/backends/{backend_qt4agg.*,__pycache__/backend_qt4agg.*} - %files -n python3-matplotlib-qt5 %{python3_sitearch}/matplotlib/backends/{backend_qt5.*,__pycache__/backend_qt5.*} %{python3_sitearch}/matplotlib/backends/{backend_qt5agg.*,__pycache__/backend_qt5agg.*} @@ -162,6 +166,9 @@ mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data %{buildroot}%{_datadir}/m %{python3_sitearch}/matplotlib/backends/{tkagg.*,__pycache__/tkagg.*,_tkagg.*} %changelog +* Thu Dec 01 2022 xu_ping - 3.6.2-1 +- Upgrade 3.6.2 to fix oscilloscope -h error + * Sat Mar 05 2022 chenchen - 3.4.3-2 - enable debuginfo