#37 Update to 3.7.0
Merged a year ago by qulogic. Opened a year ago by qulogic.
rpms/ qulogic/python-matplotlib mpl37  into  rawhide

file modified
+4
@@ -92,3 +92,7 @@ 

  /matplotlib-3.6.3.tar.gz

  /pgf_pdflatex.pdf

  /pgf_rcupdate2.pdf

+ /matplotlib-3.7.0rc1.tar.gz

+ /matplotlib-3.7.0rc1-with-freetype-2.12.1.tar.gz

+ /matplotlib-3.7.0.tar.gz

+ /matplotlib-3.7.0-with-freetype-2.12.1.tar.gz

@@ -1,7 +1,7 @@ 

- From 3e43f06eaad8cdb48d30b4cbe23a881c6fa5c1ff Mon Sep 17 00:00:00 2001

+ From ddfa1c59d9304eed3a70abcc98c6e1786ce3d751 Mon Sep 17 00:00:00 2001

  From: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  Date: Wed, 27 Sep 2017 19:35:59 -0400

- Subject: [PATCH 1/4] matplotlibrc path search fix

+ Subject: [PATCH 1/7] matplotlibrc path search fix

  

  Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  ---
@@ -9,10 +9,10 @@ 

   1 file changed, 4 insertions(+), 1 deletion(-)

  

  diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py

- index 77d25bbe33..9786447e23 100644

+ index b279c46516..27de76f0c4 100644

  --- a/lib/matplotlib/__init__.py

  +++ b/lib/matplotlib/__init__.py

- @@ -540,7 +540,8 @@ def get_cachedir():

+ @@ -566,7 +566,8 @@ def get_cachedir():

   @_logged_cached('matplotlib data path: %s')

   def get_data_path():

       """Return the path to Matplotlib data."""
@@ -22,7 +22,7 @@ 

   

   

   def matplotlib_fname():

- @@ -560,6 +561,7 @@ def matplotlib_fname():

+ @@ -586,6 +587,7 @@ def matplotlib_fname():

             is not defined)

       - On other platforms,

         - ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined
@@ -30,7 +30,7 @@ 

       - Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always

         exist.

       """

- @@ -578,6 +580,7 @@ def matplotlib_fname():

+ @@ -604,6 +606,7 @@ def matplotlib_fname():

               yield matplotlibrc

               yield os.path.join(matplotlibrc, 'matplotlibrc')

           yield os.path.join(get_configdir(), 'matplotlibrc')
@@ -39,5 +39,5 @@ 

   

       for fname in gen_candidates():

  -- 

- 2.36.1

+ 2.39.2

  

@@ -0,0 +1,26 @@ 

+ From a183eed4c8d341af938a49bb646a14f64df0c180 Mon Sep 17 00:00:00 2001

+ From: Elliott Sales de Andrade <quantum.analyst@gmail.com>

+ Date: Thu, 26 Jan 2023 06:40:06 -0500

+ Subject: [PATCH 2/7] Don't require oldest-supported-numpy

+ 

+ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>

+ ---

+  pyproject.toml | 2 +-

+  1 file changed, 1 insertion(+), 1 deletion(-)

+ 

+ diff --git a/pyproject.toml b/pyproject.toml

+ index 907b05a39b..81e3d80035 100644

+ --- a/pyproject.toml

+ +++ b/pyproject.toml

+ @@ -2,7 +2,7 @@

+  build-backend = "setuptools.build_meta"

+  requires = [

+      "certifi>=2020.06.20",

+ -    "oldest-supported-numpy",

+ +    "numpy",

+      "pybind11>=2.6",

+      "setuptools_scm>=7",

+  ]

+ -- 

+ 2.39.2

+ 

@@ -1,145 +0,0 @@ 

- From 0939c27b1d47cabd19c09fc09f15ef4fb18331b4 Mon Sep 17 00:00:00 2001

- From: Elliott Sales de Andrade <quantum.analyst@gmail.com>

- 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 <quantum.analyst@gmail.com>

- ---

-  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 <gellule.xg@free.fr>

-      # 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_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

- 

0003-Set-FreeType-version-to-2.12.1-and-update-tolerances.patch 0002-Set-FreeType-version-to-2.12.1-and-update-tolerances.patch
file renamed
+40 -19
@@ -1,23 +1,24 @@ 

- From c7f6a197992cfd989fddb858afcde5abcdecf70e Mon Sep 17 00:00:00 2001

+ From 13103ca6deedcc82a8c22cee56688c10e18ee30e Mon Sep 17 00:00:00 2001

  From: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  Date: Fri, 14 Feb 2020 06:05:42 -0500

- Subject: [PATCH 2/4] Set FreeType version to 2.12.1 and update tolerances.

+ Subject: [PATCH 3/7] Set FreeType version to 2.12.1 and update tolerances

  

  Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  ---

   lib/matplotlib/__init__.py                     |  2 +-

   lib/matplotlib/tests/test_axes.py              |  4 ++--

-  lib/matplotlib/tests/test_constrainedlayout.py |  6 +++---

+  lib/matplotlib/tests/test_constrainedlayout.py |  8 ++++----

+  lib/matplotlib/tests/test_legend.py            |  4 ++--

   lib/matplotlib/tests/test_polar.py             |  2 +-

   lib/matplotlib/tests/test_tightlayout.py       | 10 +++++-----

   setupext.py                                    | 15 +++++++++++++--

-  6 files changed, 25 insertions(+), 14 deletions(-)

+  7 files changed, 28 insertions(+), 17 deletions(-)

  

  diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py

- index 9786447e23..56266f0688 100644

+ index 27de76f0c4..179d7ed1ff 100644

  --- a/lib/matplotlib/__init__.py

  +++ b/lib/matplotlib/__init__.py

- @@ -1213,7 +1213,7 @@ default_test_modules = [

+ @@ -1284,7 +1284,7 @@ def is_interactive():

   def _init_tests():

       # The version of FreeType to install locally for running the

       # tests.  This must match the value in `setupext.py`
@@ -27,10 +28,10 @@ 

       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 8d6466c749..c8604b8657 100644

+ index 8bf6051b3e..2072056d9e 100644

  --- a/lib/matplotlib/tests/test_axes.py

  +++ b/lib/matplotlib/tests/test_axes.py

- @@ -7210,7 +7210,7 @@ def test_normal_axes():

+ @@ -7388,7 +7388,7 @@ def test_normal_axes():

       ]

       for nn, b in enumerate(bbaxis):

           targetbb = mtransforms.Bbox.from_bounds(*target[nn])
@@ -39,7 +40,7 @@ 

   

       target = [

           [150.0, 119.999, 930.0, 11.111],

- @@ -7228,7 +7228,7 @@ def test_normal_axes():

+ @@ -7406,7 +7406,7 @@ def test_normal_axes():

   

       target = [85.5138, 75.88888, 1021.11, 1017.11]

       targetbb = mtransforms.Bbox.from_bounds(*target)
@@ -49,7 +50,7 @@ 

       # 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 64906b74c3..bfa53cd430 100644

+ index b0833052ad..c087baa0d5 100644

  --- a/lib/matplotlib/tests/test_constrainedlayout.py

  +++ b/lib/matplotlib/tests/test_constrainedlayout.py

  @@ -431,7 +431,7 @@ def test_hidden_axes():
@@ -70,7 +71,7 @@ 

       pos = axs[0, 1].get_position()

       np.testing.assert_allclose(pos.x1, 0.7024, atol=1e-3)

   

- @@ -652,7 +652,7 @@ def test_compressed1():

+ @@ -652,10 +652,10 @@ def test_compressed1():

   

       pos = axs[0, 0].get_position()

       np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
@@ -78,12 +79,32 @@ 

  +    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)

+ -    np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)

+ +    np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-2)

+  

+  

+  @pytest.mark.parametrize('arg, state', [

+ diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py

+ index a8d7fd107d..cbca9e93e9 100644

+ --- a/lib/matplotlib/tests/test_legend.py

+ +++ b/lib/matplotlib/tests/test_legend.py

+ @@ -522,9 +522,9 @@ def test_figure_legend_outside():

+          fig.draw_without_rendering()

+  

+          assert_allclose(axs.get_window_extent().extents,

+ -                        axbb[nn])

+ +                        axbb[nn], rtol=1)

+          assert_allclose(leg.get_window_extent().extents,

+ -                        legbb[nn])

+ +                        legbb[nn], rtol=1)

+  

+  

+  @image_comparison(['legend_stackplot.png'])

  diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py

- index c51508ae22..942ffcb521 100644

+ index 1f8e6a75ba..ace40f5526 100644

  --- a/lib/matplotlib/tests/test_polar.py

  +++ b/lib/matplotlib/tests/test_polar.py

- @@ -314,7 +314,7 @@ def test_get_tightbbox_polar():

+ @@ -321,7 +321,7 @@ def test_get_tightbbox_polar():

       fig.canvas.draw()

       bb = ax.get_tightbbox(fig.canvas.get_renderer())

       assert_allclose(
@@ -93,7 +114,7 @@ 

   

   @check_figures_equal(extensions=["png"])

  diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py

- index 1eb7b4b453..697eba3211 100644

+ index 968f0da7b5..89caa81b98 100644

  --- a/lib/matplotlib/tests/test_tightlayout.py

  +++ b/lib/matplotlib/tests/test_tightlayout.py

  @@ -173,12 +173,12 @@ def test_outward_ticks():
@@ -115,10 +136,10 @@ 

   

   

  diff --git a/setupext.py b/setupext.py

- index 0387223b94..13096a812c 100644

+ index a898d642d6..26cd6fe277 100644

  --- a/setupext.py

  +++ b/setupext.py

- @@ -168,13 +168,23 @@ _freetype_hashes = {

+ @@ -176,13 +176,23 @@ _freetype_hashes = {

           '955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a',

       '2.10.1':

           '3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110',
@@ -144,7 +165,7 @@ 

   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):

+ @@ -597,6 +607,7 @@ class FreeType(SetupPackage):

               ext.extra_objects.insert(

                   0, str(src_path / 'objs' / '.libs' / libfreetype))

               ext.define_macros.append(('FREETYPE_BUILD_TYPE', 'local'))
@@ -153,5 +174,5 @@ 

       def do_custom_build(self, env):

           # We're using a system freetype

  -- 

- 2.36.1

+ 2.39.2

  

@@ -1,7 +1,7 @@ 

- From 77d0ef4bac7e14da704556a6f1f99962b0864a6a Mon Sep 17 00:00:00 2001

+ From b019c8ef0d18c67ddb0350b8821fcbe93ad2ee84 Mon Sep 17 00:00:00 2001

  From: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  Date: Mon, 22 Aug 2022 18:43:28 -0400

- Subject: [PATCH 4/4] Use old stride_windows implementation on 32-bit x86

+ Subject: [PATCH 4/7] Use old stride_windows implementation on 32-bit x86

  

  Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  ---
@@ -9,7 +9,7 @@ 

   1 file changed, 4 insertions(+), 1 deletion(-)

  

  diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py

- index 5e85a9c119..d75acf6d26 100644

+ index 059cf0f162..943eb18e6f 100644

  --- a/lib/matplotlib/mlab.py

  +++ b/lib/matplotlib/mlab.py

  @@ -52,6 +52,7 @@ Spectral functions
@@ -32,5 +32,5 @@ 

               raise ValueError('noverlap must be less than n')

           return np.lib.stride_tricks.sliding_window_view(

  -- 

- 2.36.1

+ 2.39.2

  

@@ -0,0 +1,39 @@ 

+ From 49484f456c93830c25dc7d4afe2110da8450a485 Mon Sep 17 00:00:00 2001

+ From: Elliott Sales de Andrade <quantum.analyst@gmail.com>

+ Date: Tue, 21 Feb 2023 20:52:42 -0500

+ Subject: [PATCH 6/7] Fix setting CSS with latest GTK4

+ 

+ In the upcoming 4.10 release, the type annotation was fixed [1]. There

+ may be some overrides added in PyGObject [2] to avoid this difference,

+ but we don't depend on a specific version of it to be able to rely on

+ that (and it's not released yet.) This code should work with the

+ override as well.

+ 

+ [1] https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5441

+ [2] https://gitlab.gnome.org/GNOME/pygobject/-/merge_requests/231

+ 

+ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>

+ ---

+  lib/matplotlib/backends/backend_gtk4.py | 6 +++++-

+  1 file changed, 5 insertions(+), 1 deletion(-)

+ 

+ diff --git a/lib/matplotlib/backends/backend_gtk4.py b/lib/matplotlib/backends/backend_gtk4.py

+ index 8628e14de0..3288192920 100644

+ --- a/lib/matplotlib/backends/backend_gtk4.py

+ +++ b/lib/matplotlib/backends/backend_gtk4.py

+ @@ -74,7 +74,11 @@ class FigureCanvasGTK4(_FigureCanvasGTK, Gtk.DrawingArea):

+          self.set_focusable(True)

+  

+          css = Gtk.CssProvider()

+ -        css.load_from_data(b".matplotlib-canvas { background-color: white; }")

+ +        style = '.matplotlib-canvas { background-color: white; }'

+ +        if Gtk.check_version(4, 9, 3) is None:

+ +            css.load_from_data(style, -1)

+ +        else:

+ +            css.load_from_data(style.encode('utf-8'))

+          style_ctx = self.get_style_context()

+          style_ctx.add_provider(css, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)

+          style_ctx.add_class("matplotlib-canvas")

+ -- 

+ 2.39.2

+ 

@@ -0,0 +1,27 @@ 

+ From 254394ebc1413a363a678ed589adcd30cc986e0c Mon Sep 17 00:00:00 2001

+ From: Elliott Sales de Andrade <quantum.analyst@gmail.com>

+ Date: Mon, 27 Feb 2023 22:19:23 -0500

+ Subject: [PATCH 7/7] TST: Increase test_set_line_coll_dash_image tolerance

+  slightly.

+ 

+ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>

+ ---

+  lib/matplotlib/tests/test_lines.py | 2 +-

+  1 file changed, 1 insertion(+), 1 deletion(-)

+ 

+ diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py

+ index 7eecf5675a..b75d3c01b2 100644

+ --- a/lib/matplotlib/tests/test_lines.py

+ +++ b/lib/matplotlib/tests/test_lines.py

+ @@ -185,7 +185,7 @@ def test_set_drawstyle():

+  

+  @image_comparison(

+      ['line_collection_dashes'], remove_text=True, style='mpl20',

+ -    tol=0.62 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)

+ +    tol=0.65 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)

+  def test_set_line_coll_dash_image():

+      fig, ax = plt.subplots()

+      np.random.seed(0)

+ -- 

+ 2.39.2

+ 

file modified
+21 -14
@@ -30,14 +30,14 @@ 

  %global _docdir_fmt %{name}

  

  # Updated test images for new FreeType.

- %global mpl_images_version 3.6.1

+ %global mpl_images_version 3.7.0

  

  # The version of FreeType in this Fedora branch.

  %global ftver 2.12.1

  

  Name:           python-matplotlib

- Version:        3.6.3

- %global Version 3.6.3

+ Version:        3.7.0

+ %global Version 3.7.0

  Release:        %autorelease

  Summary:        Python 2D plotting library

  # qt_editor backend is MIT
@@ -53,15 +53,19 @@ 

  Source1000:     https://github.com/QuLogic/mpl-images/archive/v%{mpl_images_version}-with-freetype-%{ftver}/matplotlib-%{mpl_images_version}-with-freetype-%{ftver}.tar.gz

  # Search in /etc/matplotlibrc:

  Patch1001:      0001-matplotlibrc-path-search-fix.patch

+ Patch1002:      0002-Don-t-require-oldest-supported-numpy.patch

  # Increase tolerances for new FreeType everywhere:

- Patch1002:      0002-Set-FreeType-version-to-%{ftver}-and-update-tolerances.patch

- Patch1003:      0003-Increase-a-few-test-tolerances-on-some-arches.patch

+ Patch1003:      0003-Set-FreeType-version-to-%{ftver}-and-update-tolerances.patch

  

  # https://github.com/matplotlib/matplotlib/pull/21190#issuecomment-1223271888

  Patch0001:      0004-Use-old-stride_windows-implementation-on-32-bit-x86.patch

  # https://github.com/matplotlib/matplotlib/pull/25068

  Source2000:     pgf_pdflatex.pdf

  Source2001:     pgf_rcupdate2.pdf

+ # https://github.com/matplotlib/matplotlib/pull/25280

+ Patch0002:      0006-Fix-setting-CSS-with-latest-GTK4.patch

+ # https://github.com/matplotlib/matplotlib/pull/25341

+ Patch0003:      0007-TST-Increase-test_set_line_coll_dash_image-tolerance.patch

  

  BuildRequires:  gcc

  BuildRequires:  gcc-c++
@@ -300,19 +304,22 @@ 

  

  # Fedora-specific patches follow:

  %patch1001 -p1

- # Updated test images for new FreeType.

  %patch1002 -p1

- gzip -dc %SOURCE1000 | tar xf - --transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/\([^/]\+\)/~lib/\1/tests/baseline_images/~'

+ # Updated test images for new FreeType.

+ %patch1003 -p1

+ gzip -dc %SOURCE1000 | tar xf - --transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/~~'

  

  # Copy mplsetup.cfg to the builddir

  cp -p %{SOURCE1} mplsetup.cfg

  

- %patch1003 -p1

- 

  # Backports or reported upstream

  %patch0001 -p1

  # https://github.com/matplotlib/matplotlib/pull/25068

  cp -a %SOURCE2000 %SOURCE2001 lib/matplotlib/tests/baseline_images/test_backend_pgf/

+ # https://github.com/matplotlib/matplotlib/pull/25280

+ %patch0002 -p1

+ # https://github.com/matplotlib/matplotlib/pull/25341

+ %patch0003 -p1

  

  

  %generate_buildrequires
@@ -327,7 +334,7 @@ 

  %if %{with html}

  # Need to make built matplotlib libs available for the sphinx extensions:

  MPLCONFIGDIR=$PWD \

- PYTHONPATH="%{pyprojec_site_lib}" \

+ PYTHONPATH="%{pyproject_site_lib}" \

      make -C doc html

  %endif

  # Ensure all example files are non-executable so that the -doc
@@ -378,7 +385,7 @@ 

           env %{pytest} -ra -n auto \

               -m 'not network' \

               -k 'not test_invisible_Line_rendering and not test_form_widget_get_with_datetime_and_date_fields' \

-              --pyargs matplotlib mpl_toolkits.tests

+              --pyargs matplotlib mpl_toolkits.axes_grid1 mpl_toolkits.axisartist mpl_toolkits.mplot3d

  %endif

  

  
@@ -401,13 +408,13 @@ 

  

  %files -n python3-matplotlib

  %license LICENSE/

- %doc README.rst

+ %doc README.md

  %{python3_sitearch}/matplotlib-*.dist-info/

  %{python3_sitearch}/matplotlib-*-nspkg.pth

  %{python3_sitearch}/matplotlib/

  %exclude %{python3_sitearch}/matplotlib/tests/baseline_images/*

  %{python3_sitearch}/mpl_toolkits/

- %exclude %{python3_sitearch}/mpl_toolkits/tests/baseline_images/*

+ %exclude %{python3_sitearch}/mpl_toolkits/*/tests/baseline_images/*

  %pycached %{python3_sitearch}/pylab.py

  %pycached %exclude %{python3_sitearch}/matplotlib/backends/backend_qt5*.py

  %pycached %exclude %{python3_sitearch}/matplotlib/backends/backend_gtk*.py
@@ -421,7 +428,7 @@ 

  

  %files -n python3-matplotlib-test-data

  %{python3_sitearch}/matplotlib/tests/baseline_images/

- %{python3_sitearch}/mpl_toolkits/tests/baseline_images/

+ %{python3_sitearch}/mpl_toolkits/*/tests/baseline_images/

  

  %files -n python3-matplotlib-qt5

  %pycached %{python3_sitearch}/matplotlib/backends/backend_qt5*.py

file modified
+2 -2
@@ -1,4 +1,4 @@ 

- SHA512 (matplotlib-3.6.3.tar.gz) = 844ca90bcc9953d3d1289a6d471180a3dadb49c75eb59858bbbfb67d4b1292b83b86b366f22ab12d9e97c980376d48b86e745607ec4e812a3010c6fec01398dc

- SHA512 (matplotlib-3.6.1-with-freetype-2.12.1.tar.gz) = 9210cfe8db2743519188d924dfd5f4ec4a0b5ae589b8a596f5a35b900234fa3a2fe81a047fc486ec69359259685438f4c19bb96a63ca0f544d2f48fbabb1326e

+ SHA512 (matplotlib-3.7.0.tar.gz) = 60207fb10394422b7a11faffb2775c23c377e6dd72ef9f3fde1099d50e1810c4be55cf814da74fd87faf49a628459472945bb901a4cbe73c9676df54b862ad5c

+ SHA512 (matplotlib-3.7.0-with-freetype-2.12.1.tar.gz) = 7c70aaba58d4fcc0bea4f8bc76de71e899c71ceca937ee983531ad79d5604568d8e370bd913bef96ab103903fbc1c5f9318eb5c589fbc33cb2d48b39a04bbb21

  SHA512 (pgf_pdflatex.pdf) = dc81cc2247f54a2aaf9507ce1db556d91170674796b564d32bfb4c23f38effab6543394cb6caee3c29a32639c9d848517b400d1cac8d20f90678367818a62aa1

  SHA512 (pgf_rcupdate2.pdf) = 8c0a71047871a055de01a4f0a90aeda9da27e53338d1e89cb20bd52bc54e40a1180df933de0f27c9116d3e983d03b0c47008bebfcf110cf282f8d1d19c026070

no initial comment

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci

x86_64, i686:

  • File not found: /builddir/build/BUILDROOT/python-matplotlib-3.7.0~rc1-1.fc38.x86_64/usr/share/doc/python-matplotlib/README.rst

aarch64, s390x:

  • test_set_line_coll_dash_image[svg] failed

ppc64le:

  • ERROR - TimeoutError: Lock error: Matplotlib failed to acquire the following...

First one, README was changed to .md; can skip or xfail the second; third is just flakiness due to parallel tests AFAIK, i don't think it failed when I did a scratch build myself.

rebased onto d8490b5

a year ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci
https://fedora.softwarefactory-project.io/zuul/buildset/860ecd1668d143bea8045f01fc48a538

rebased onto 91a5c92

a year ago

rebased onto 6053ff6

a year ago

Build succeeded.
https://fedora.softwarefactory-project.io/zuul/buildset/31ed4566fa4e4a17ab05166d3cb397e5

I've done a rebuild, and gone through the list and found only 7 issues, 5 of which are trivial and already fixed in (or I submitted to) their relevant upstreams.

tests/mixin_tests.py:9: in <module>
    from matplotlib.axes._subplots import SubplotBase
E   ModuleNotFoundError: No module named 'matplotlib.axes._subplots'
  • python-pyswarms imports from private location for some reason. This package is already broken, so I've only sent a PR upstream.
tests/utils/plotters/test_plotters.py:17: in <module>
    from matplotlib.axes._subplots import SubplotBase
E   ModuleNotFoundError: No module named 'matplotlib.axes._subplots'
_____________________________ test_geoaxes_subplot _____________________________
[gw1] linux -- Python 3.11.2 /usr/bin/python3

    def test_geoaxes_subplot():
        ax = plt.subplot(1, 1, 1, projection=ccrs.PlateCarree())
>       assert str(ax.__class__) == "<class 'cartopy.mpl.geoaxes.GeoAxesSubplot'>"
E       assert "<class 'cart...xes.GeoAxes'>" == "<class 'cart...AxesSubplot'>"
E         - <class 'cartopy.mpl.geoaxes.GeoAxesSubplot'>
E         ?                                    -------
E         + <class 'cartopy.mpl.geoaxes.GeoAxes'>

../../BUILDROOT/python-cartopy-0.21.1-2.fc39.x86_64/usr/lib64/python3.11/site-packages/cartopy/tests/mpl/test_axes.py:122: AssertionError
  • python-astropy has a new failure due to a warning change; it is fixed upstream but the existing build is broken, so I have not done anything in Fedora.
______________________________ test_contour_empty ______________________________

    def test_contour_empty():
        # Regression test for a bug that caused contour to crash if no contours
        # were present.

        fig = plt.figure()
        ax = WCSAxes(fig, [0.1, 0.1, 0.8, 0.8])
        fig.add_axes(ax)
>       with pytest.warns(
            UserWarning, match="No contour levels were found within the data range"
        ):
E       Failed: DID NOT WARN. No warnings of type (<class 'UserWarning'>,) were emitted.
E       The list of emitted warnings is: [].

astropy/visualization/wcsaxes/tests/test_misc.py:328: Failed
_______________________ test_plot_raw_traces[matplotlib] _______________________
mne/viz/tests/test_raw.py:529: in test_plot_raw_traces
    fig._fake_click((0.5, 0.98))  # click elsewhere (add vline)
mne/viz/_mpl_figure.py:2059: in _fake_click
    _fake_click(fig=fig, ax=ax, point=point, xform=xform,
mne/viz/utils.py:797: in _fake_click
    fig.canvas.callbacks.process(
/usr/lib64/python3.11/site-packages/matplotlib/cbook/__init__.py:304: in process
    func(*args, **kwargs)
mne/viz/_mpl_figure.py:744: in _buttonpress
    self._show_vline(event.xdata)  # butterfly / not on data trace
mne/viz/_mpl_figure.py:2018: in _show_vline
    self.mne.vline.set_xdata(xdata)
/usr/lib64/python3.11/site-packages/matplotlib/lines.py:1280: in set_xdata
    _api.warn_deprecated(
/usr/lib64/python3.11/site-packages/matplotlib/_api/deprecation.py:96: in warn_deprecated
    warn_external(warning, category=MatplotlibDeprecationWarning)
/usr/lib64/python3.11/site-packages/matplotlib/_api/__init__.py:388: in warn_external
    warnings.warn(message, category, stacklevel)
E   matplotlib._api.deprecation.MatplotlibDeprecationWarning: Setting data with a non sequence type is deprecated since 3.7 and will be remove two minor releases later
---------------------------- Captured stdout setup -----------------------------
Opening raw data file /builddir/build/BUILD/mne-python-1.3.1/mne/io/tests/data/test_raw.fif...
    Read a total of 3 projection items:
        PCA-v1 (1 x 102)  idle
        PCA-v2 (1 x 102)  idle
        PCA-v3 (1 x 102)  idle
    Range : 25800 ... 40199 =     42.956 ...    66.930 secs
Ready.
Reading 0 ... 14399  =      0.000 ...    23.974 secs...

and 2 slightly more complex problems
- python-pandas had some converter tests broken, but that is fixed in to-be-Matplotlib-3.7.1 and should be out soon.

  • python-xbout fails one test due to what I think is some subclassing changes, but I've reported it upstream
__________________ TestAnimate.test_animate_list_1d_multiline __________________

self = <xbout.tests.test_animate.TestAnimate object at 0x7fa5e0523d50>
create_test_file = (PosixPath('/tmp/pytest-of-mockbuild/pytest-0/test_data24'), <xarray.Dataset>
Dimensions:  (t: 6, x: 6, y: 12, z: 7)
C...:
    metadata:  {'BOUT_VERSION': 4.3, 'use_metric_3d': 0, 'NXPE': 3, 'NYPE': 3...
    options:   None
    geometry:  )

    def test_animate_list_1d_multiline(self, create_test_file):

        save_dir, ds = create_test_file

        animation = ds.isel(y=2, z=3).bout.animate_list(
            [["n", "T"], ds["T"].isel(x=2), ds["n"].isel(y=1, z=2)]
        )

        assert len(animation.blocks) == 4
        assert isinstance(animation.blocks[0], Line)
        assert isinstance(animation.blocks[1], Line)
        assert isinstance(animation.blocks[2], Pcolormesh)
        assert isinstance(animation.blocks[3], Line)

        # check there were actually 3 subplots
>       assert (
            len(
                [
                    x
                    for x in plt.gcf().get_axes()
                    if isinstance(x, matplotlib.axes.Subplot)
                ]
            )
            == 3
        )
E       AssertionError: assert 8 == 3
E        +  where 8 = len([<Axes: title={'center': 'T'}, xlabel='x', ylabel='T'>, <Axes: title={'center': 'T'}, xlabel='y', ylabel='z'>, <Axes: title={'center': 'n'}, xlabel='x', ylabel='n'>, <Axes: >, <Axes: ylabel='T'>, <Axes: >, ...])

xbout/tests/test_animate.py:199: AssertionError

So I think the damage is minimal here and I'm going to merge.

Pull-Request has been merged by qulogic

a year ago