python-matplotlib 3.8.3-5 (znver1) 2024-17683
9999

Status published
Submitter benbullard79 [@T] cox.net
Platform rolling
Repository main
URL https://abf.openmandriva.org/build_lists/414129
Packages
python-matplotlib-3.8.3-5.znver1.binary
python-matplotlib-3.8.3-5.znver1.source
python-matplotlib-cairo-3.8.3-5.znver1.binary
python-matplotlib-data-3.8.3-5.znver1.binary
python-matplotlib-data-fonts-3.8.3-5.znver1.binary
python-matplotlib-debuginfo-3.8.3-5.znver1.debuginfo
python-matplotlib-debugsource-3.8.3-5.znver1.binary
python-matplotlib-doc-3.8.3-5.znver1.binary
python-matplotlib-gtk-3.8.3-5.znver1.binary
python-matplotlib-qt5-3.8.3-5.znver1.binary
python-matplotlib-svg-3.8.3-5.znver1.binary
python-matplotlib-tk-3.8.3-5.znver1.binary
python-matplotlib-tk-debuginfo-3.8.3-5.znver1.debuginfo
python-matplotlib-wx-3.8.3-5.znver1.binary
Build Date 2024-04-03 01:40:12 +0000 UTC
Last Updated 2024-04-03 13:32:28.219729981 +0000 UTC
$ git diff --patch-with-stat --summary 5b9da628f25499775c0c3f9a7005f3bbf9989c41..01674935d338dcfbf3f4aa95352d00ad245e541d

 .abf.yml                                           |   2 +-
 ...e-version-to-2.10.4-and-update-tolerances.patch | 164 ------------
 ...e-version-to-2.13.2-and-update-tolerances.patch | 202 +++++++++++++++
 setup.cfg => mplsetup.cfg                          |   0
 python-matplotlib.spec                             | 287 +++++++++++----------
 5 files changed, 358 insertions(+), 297 deletions(-)
 delete mode 100644 0002-Set-FreeType-version-to-2.10.4-and-update-tolerances.patch
 create mode 100644 0003-Set-FreeType-version-to-2.13.2-and-update-tolerances.patch
 rename setup.cfg => mplsetup.cfg (100%)

diff --git a/.abf.yml b/.abf.yml
index fc4ca4a..940a705 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
 sources:
-  matplotlib-3.5.1.tar.gz: ee6435a98f23661df4a289b32cedfd2c604739a2
+  matplotlib-3.8.3.tar.gz: 74be3314e957ffaa78173a171c0f095d1735fd74
diff --git a/0002-Set-FreeType-version-to-2.10.4-and-update-tolerances.patch b/0002-Set-FreeType-version-to-2.10.4-and-update-tolerances.patch
deleted file mode 100644
index f96be94..0000000
--- a/0002-Set-FreeType-version-to-2.10.4-and-update-tolerances.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From 3e06485b38ce4059ac3019a521e6efa446a24d5d 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.11.0 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 |  2 +-
- lib/matplotlib/tests/test_mathtext.py          |  7 +++++--
- lib/matplotlib/tests/test_polar.py             |  2 +-
- lib/matplotlib/tests/test_tightlayout.py       | 10 +++++-----
- setupext.py                                    |  9 ++++++++-
- 7 files changed, 23 insertions(+), 13 deletions(-)
-
-diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
-index bc800e1322..10ff904c8e 100644
---- a/lib/matplotlib/__init__.py
-+++ b/lib/matplotlib/__init__.py
-@@ -1201,7 +1201,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.11.0'
- 
-     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 39b2478637..98878513b5 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -6594,7 +6594,7 @@ def test_normal_axes():
-     ]
-     for nn, b in enumerate(bbaxis):
-         targetbb = mtransforms.Bbox.from_bounds(*target[nn])
--        assert_array_almost_equal(b.bounds, targetbb.bounds, decimal=2)
-+        assert_array_almost_equal(b.bounds, targetbb.bounds, decimal=0)
- 
-     target = [
-         [150.0, 119.999, 930.0, 11.111],
-@@ -6612,7 +6612,7 @@ def test_normal_axes():
- 
-     target = [85.5138, 75.88888, 1021.11, 1017.11]
-     targetbb = mtransforms.Bbox.from_bounds(*target)
--    assert_array_almost_equal(bbtb.bounds, targetbb.bounds, decimal=2)
-+    assert_array_almost_equal(bbtb.bounds, targetbb.bounds, decimal=0)
- 
-     # 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 a717eace83..64b9262143 100644
---- a/lib/matplotlib/tests/test_constrainedlayout.py
-+++ b/lib/matplotlib/tests/test_constrainedlayout.py
-@@ -411,7 +411,7 @@ def test_hidden_axes():
-     extents1 = np.copy(axs[0, 0].get_position().extents)
- 
-     np.testing.assert_allclose(
--        extents1, [0.045552, 0.543288, 0.47819, 0.982638], rtol=1e-5)
-+        extents1, [0.045552, 0.543288, 0.47819, 0.982638], rtol=1e-2)
- 
- 
- def test_colorbar_align():
-diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
-index 80d989922c..c7cbd969b1 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
-@@ -191,7 +192,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))
-@@ -215,7 +217,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))
-diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py
-index 85aece5fce..9fea856af4 100644
---- a/lib/matplotlib/tests/test_polar.py
-+++ b/lib/matplotlib/tests/test_polar.py
-@@ -314,7 +314,7 @@ def test_get_tightbbox_polar():
-     fig.canvas.draw()
-     bb = ax.get_tightbbox(fig.canvas.get_renderer())
-     assert_allclose(
--        bb.extents, [107.7778,  29.2778, 539.7847, 450.7222], rtol=1e-03)
-+        bb.extents, [107.7778,  29.2778, 539.7847, 450.7222], rtol=1)
- 
- 
- @check_figures_equal(extensions=["png"])
-diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py
-index e9b01b160d..beab853489 100644
---- a/lib/matplotlib/tests/test_tightlayout.py
-+++ b/lib/matplotlib/tests/test_tightlayout.py
-@@ -172,12 +172,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.
--    ans = [[[0.091, 0.607], [0.433, 0.933]],
--           [[0.579, 0.607], [0.922, 0.933]],
--           [[0.091, 0.140], [0.433, 0.466]],
--           [[0.579, 0.140], [0.922, 0.466]]]
-+    ans = [[[0.09, 0.61], [0.43, 0.93]],
-+           [[0.58, 0.61], [0.92, 0.93]],
-+           [[0.09, 0.14], [0.43, 0.47]],
-+           [[0.58, 0.14], [0.92, 0.47]]]
-     for nn, ax in enumerate(fig.axes):
--        assert_array_equal(np.round(ax.get_position().get_points(), 3),
-+        assert_array_equal(np.round(ax.get_position().get_points(), 2),
-                            ans[nn])
- 
- 
-diff --git a/setupext.py b/setupext.py
-index e41ab98fe1..ff7f45d804 100644
---- a/setupext.py
-+++ b/setupext.py
-@@ -167,12 +167,18 @@ _freetype_hashes = {
-         '955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a',
-     '2.10.1':
-         '3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110',
-+    '2.10.2':
-+        'e09aa914e4f7a5d723ac381420949c55c0b90b15744adce5d1406046022186ab',
-+    '2.10.4':
-+        '5eab795ebb23ac77001cfb68b7d4d50b5d6c7469247b0b01b2c953269f658dac',
-+    '2.11.0':
-+        'a45c6b403413abd5706f3582f04c8339d26397c4304b78fa552f2215df64101f',
- }
- # 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). Also update the cache path in `.circleci/config.yml`.
--LOCAL_FREETYPE_VERSION = '2.6.1'
-+LOCAL_FREETYPE_VERSION = '2.11.0'
- LOCAL_FREETYPE_HASH = _freetype_hashes.get(LOCAL_FREETYPE_VERSION, 'unknown')
- 
- # Also update the cache path in `.circleci/config.yml`.
-@@ -581,6 +587,7 @@ class FreeType(SetupPackage):
-             ext.extra_objects.insert(
-                 0, str(src_path / 'objs' / '.libs' / libfreetype))
-             ext.define_macros.append(('FREETYPE_BUILD_TYPE', 'local'))
-+            ext.libraries.append('brotlidec')
- 
-     def do_custom_build(self, env):
-         # We're using a system freetype
--- 
-2.31.1
diff --git a/0003-Set-FreeType-version-to-2.13.2-and-update-tolerances.patch b/0003-Set-FreeType-version-to-2.13.2-and-update-tolerances.patch
new file mode 100644
index 0000000..5831f5d
--- /dev/null
+++ b/0003-Set-FreeType-version-to-2.13.2-and-update-tolerances.patch
@@ -0,0 +1,202 @@
+From a5490ca593e1515bddbc96491efd8d1ff5e372d6 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 3/5] Set FreeType version to 2.13.2 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_backend_pgf.py      |  2 +-
+ .../tests/test_constrainedlayout.py           | 10 ++++-----
+ lib/matplotlib/tests/test_legend.py           |  4 ++--
+ lib/matplotlib/tests/test_polar.py            |  2 +-
+ lib/matplotlib/tests/test_tightlayout.py      | 10 ++++-----
+ setupext.py                                   | 21 +++++++++++++++++--
+ 8 files changed, 36 insertions(+), 19 deletions(-)
+
+diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
+index 26dd9372e1..81b77d455f 100644
+--- a/lib/matplotlib/__init__.py
++++ b/lib/matplotlib/__init__.py
+@@ -1307,7 +1307,7 @@ def _val_or_rc(val, rc_name):
+ 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.13.2'
+ 
+     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 6c5dd712b7..0a70c37891 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -7623,7 +7623,7 @@ def test_normal_axes():
+     ]
+     for nn, b in enumerate(bbaxis):
+         targetbb = mtransforms.Bbox.from_bounds(*target[nn])
+-        assert_array_almost_equal(b.bounds, targetbb.bounds, decimal=2)
++        assert_array_almost_equal(b.bounds, targetbb.bounds, decimal=0)
+ 
+     target = [
+         [150.0, 119.999, 930.0, 11.111],
+@@ -7641,7 +7641,7 @@ def test_normal_axes():
+ 
+     target = [85.5138, 75.88888, 1021.11, 1017.11]
+     targetbb = mtransforms.Bbox.from_bounds(*target)
+-    assert_array_almost_equal(bbtb.bounds, targetbb.bounds, decimal=2)
++    assert_array_almost_equal(bbtb.bounds, targetbb.bounds, decimal=0)
+ 
+     # test that get_position roundtrips to get_window_extent
+     axbb = ax.get_position().transformed(fig.transFigure).bounds
+diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
+index a866916c58..a746cc2ca9 100644
+--- a/lib/matplotlib/tests/test_backend_pgf.py
++++ b/lib/matplotlib/tests/test_backend_pgf.py
+@@ -165,7 +165,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.87)
+ 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_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
+index 6703dfe315..ea6a8d9630 100644
+--- a/lib/matplotlib/tests/test_constrainedlayout.py
++++ b/lib/matplotlib/tests/test_constrainedlayout.py
+@@ -432,7 +432,7 @@ def test_hidden_axes():
+     extents1 = np.copy(axs[0, 0].get_position().extents)
+ 
+     np.testing.assert_allclose(
+-        extents1, [0.045552, 0.543288, 0.47819, 0.982638], rtol=1e-5)
++        extents1, [0.045552, 0.543288, 0.47819, 0.982638], rtol=1e-2)
+ 
+ 
+ def test_colorbar_align():
+@@ -638,9 +638,9 @@ def test_compressed1():
+     fig.draw_without_rendering()
+ 
+     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)
++    np.testing.assert_allclose(pos.x1, 0.7024, atol=1e-2)
+ 
+     # wider than tall
+     fig, axs = plt.subplots(2, 3, layout='compressed',
+@@ -653,10 +653,10 @@ 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)
++    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 759ac6aada..8140d4d69f 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -516,9 +516,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 9d6e78da2c..5f6ed538d1 100644
+--- a/lib/matplotlib/tests/test_polar.py
++++ b/lib/matplotlib/tests/test_polar.py
+@@ -321,7 +321,7 @@ def test_get_tightbbox_polar():
+     fig.canvas.draw()
+     bb = ax.get_tightbbox(fig.canvas.get_renderer())
+     assert_allclose(
+-        bb.extents, [107.7778,  29.2778, 539.7847, 450.7222], rtol=1e-03)
++        bb.extents, [107.7778,  29.2778, 539.7847, 450.7222], rtol=1)
+ 
+ 
+ @check_figures_equal(extensions=["png"])
+diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py
+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():
+     plt.tight_layout()
+     # These values were obtained after visual checking that they correspond
+     # to a tight layouting that did take the ticks into account.
+-    ans = [[[0.091, 0.607], [0.433, 0.933]],
+-           [[0.579, 0.607], [0.922, 0.933]],
+-           [[0.091, 0.140], [0.433, 0.466]],
+-           [[0.579, 0.140], [0.922, 0.466]]]
++    ans = [[[0.09, 0.61], [0.43, 0.93]],
++           [[0.58, 0.61], [0.92, 0.93]],
++           [[0.09, 0.14], [0.43, 0.47]],
++           [[0.58, 0.14], [0.92, 0.47]]]
+     for nn, ax in enumerate(fig.axes):
+-        assert_array_equal(np.round(ax.get_position().get_points(), 3),
++        assert_array_equal(np.round(ax.get_position().get_points(), 2),
+                            ans[nn])
+ 
+ 
+diff --git a/setupext.py b/setupext.py
+index 9f78d88c87..6dc740e8f7 100644
+--- a/setupext.py
++++ b/setupext.py
+@@ -176,14 +176,30 @@ _freetype_hashes = {
+         '955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a',
+     '2.10.1':
+         '3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110',
++    '2.10.2':
++        'e09aa914e4f7a5d723ac381420949c55c0b90b15744adce5d1406046022186ab',
++    '2.10.3':
++        '9dfb4e11efd6e460a87b1991a64bc69344ee7dc219d9b29e7faabc1c168ce8b0',
++    '2.10.4':
++        '5eab795ebb23ac77001cfb68b7d4d50b5d6c7469247b0b01b2c953269f658dac',
++    '2.11.0':
++        'a45c6b403413abd5706f3582f04c8339d26397c4304b78fa552f2215df64101f',
+     '2.11.1':
+-        'f8db94d307e9c54961b39a1cc799a67d46681480696ed72ecf78d4473770f09b'
++        'f8db94d307e9c54961b39a1cc799a67d46681480696ed72ecf78d4473770f09b',
++    '2.12.0':
++        '7940a46eeb0255baaa87c553d72778c4f8daa2b8888c8e2a05766a2a8686740c',
++    '2.12.1':
++        'efe71fd4b8246f1b0b1b9bfca13cfff1c9ad85930340c27df469733bbb620938',
++    '2.13.0':
++        'a7aca0e532a276ea8d85bd31149f0a74c33d19c8d287116ef8f5f8357b4f1f80',
++    '2.13.2':
++        '0b109c59914f25b4411a8de2a506fdd18fa8457eb86eca6c7b15c19110a92fa5',
+ }
+ # 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`. Also update the docs in
+ # `docs/devel/dependencies.rst`.
+-TESTING_VERSION_OF_FREETYPE = '2.6.1'
++TESTING_VERSION_OF_FREETYPE = '2.13.2'
+ if sys.platform.startswith('win') and platform.machine() == 'ARM64':
+     # older versions of freetype are not supported for win/arm64
+     # Matplotlib tests will not pass
+@@ -599,6 +615,7 @@ class FreeType(SetupPackage):
+                 name = ext.name.split('.')[-1]
+                 ext.extra_link_args.append(
+                     f'-Wl,-exported_symbol,_PyInit_{name}')
++            ext.libraries.append('brotlidec')
+ 
+     def do_custom_build(self, env):
+         # We're using a system freetype
+-- 
+2.41.0
+
diff --git a/setup.cfg b/mplsetup.cfg
similarity index 100%
rename from setup.cfg
rename to mplsetup.cfg
diff --git a/python-matplotlib.spec b/python-matplotlib.spec
index cd1f86a..6a03723 100644
--- a/python-matplotlib.spec
+++ b/python-matplotlib.spec
@@ -14,50 +14,53 @@
 
 Summary:	Python 2D plotting library
 Name:		python-%{module}
-Version:	3.5.1
-Release:	2
+Version:	3.8.3
+Release:	5
 Group:		Development/Python
 License:	Python license
-Url:		http://matplotlib.sourceforge.net/
+Url:		https://matplotlib.sourceforge.net/
 Source0:	https://github.com/matplotlib/matplotlib/archive/v%{version}/%{module}-%{version}.tar.gz
-Source1:	setup.cfg
+Source1:	mplsetup.cfg
 Patch1:		0001-matplotlibrc-path-search-fix.patch
-Patch2:		0002-Set-FreeType-version-to-2.10.4-and-update-tolerances.patch
-
-BuildRequires:	python-parsing
-BuildRequires:	python-setuptools
-BuildRequires:	ipython
-BuildRequires:	python-configobj
-BuildRequires:	python-pkg-resources
-BuildRequires:	python-cxx-devel
-BuildRequires:	python-dateutil
-BuildRequires:	python-pytz
-BuildRequires:	python-qt5
-BuildRequires:	python-qt5-devel
-BuildRequires:	python-pip
-BuildRequires:	qhull-devel
-BuildRequires:	tkinter
-BuildRequires:	python-numpy-devel >= 1.1.0
+Patch2:		0003-Set-FreeType-version-to-2.13.2-and-update-tolerances.patch
 BuildRequires:	pkgconfig(cairo)
 BuildRequires:	pkgconfig(freetype2)
 #BuildRequires:	pkgconfig(libagg)
-BuildRequires:  pkgconfig(libbrotlidec)
+BuildRequires:	pkgconfig(libbrotlidec)
 BuildRequires:	pkgconfig(libpng)
+BuildRequires:	pkgconfig(python3)
 BuildRequires:	pkgconfig(tcl)
 BuildRequires:	pkgconfig(tk)
 BuildRequires:	pkgconfig(zlib)
-BuildRequires:	pkgconfig(python3)
+BuildRequires:	python%{pyver}dist(configobj)
+BuildRequires:	python%{pyver}dist(ipython)
+BuildRequires:	python%{pyver}dist(numpy)
+BuildRequires:	python%{pyver}dist(pip)
+BuildRequires:	python%{pyver}dist(pybind11)
+BuildRequires:	python%{pyver}dist(pyparsing)
+BuildRequires:	python%{pyver}dist(pyqt5)
+BuildRequires:	python%{pyver}dist(python-dateutil)
+BuildRequires:	python%{pyver}dist(pytz)
+BuildRequires:	python%{pyver}dist(setuptools)
+# Without this dependency, matplotlib still builds fine, but
+# pretends its version is 0.0.0
+BuildRequires:	python%{pyver}dist(setuptools-scm)
+BuildRequires:	python-cxx-devel
+BuildRequires:	python-pkg-resources
+BuildRequires:	python-qt5
+BuildRequires:	qhull-devel
+BuildRequires:	tkinter
 %if %{with_html}
 BuildRequires:	graphviz
 BuildRequires:	texlive
-BuildRequires:	python-docutils
-BuildRequires:	python-sphinx
-BuildRequires:	python-numpydoc
+BuildRequires:	python%{pyver}dist(docutils)
+BuildRequires:	python%{pyver}dist(sphinx)
+BuildRequires:	python%{pyver}dist(numpydoc)
 %endif
-Requires:	python-configobj
-Requires:	python-dateutil
-Requires:	python3-numpy >= 1.1.0
-Requires:	python-pytz
+Requires:	python%{pyver}dist(configobj)
+Requires:	python%{pyver}dist(numpy)
+Requires:	python%{pyver}dist(python-dateutil)
+Requires:	python%{pyver}dist(pytz)
 Requires:	%{name}-data = %{version}-%{release}
 
 %if "%{backend}" == "TkAgg"
@@ -83,43 +86,94 @@ Matplotlib tries to make easy things easy and hard things possible.
 You can generate plots, histograms, power spectra, bar charts,
 errorcharts, scatterplots, etc, with just a few lines of code.
 
+%files
+%doc README.md
+%doc LICENSE/
+%{python_sitearch}/%{module}-*.*-info
+%{python_sitearch}/%{module}/
+%{python_sitearch}/mpl_toolkits/
+%{python_sitearch}/pylab.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_cairo.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_gtk3.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_gtk3agg.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_gtk3cairo.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_qt5.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_qt5agg.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_qt5cairo.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_svg.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_tkagg.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_wx.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_wxagg.py*
+%exclude %{py_platsitedir}/%{module}/backends/backend_wxcairo.py*
+%exclude %{py_platsitedir}/%{module}/backends/_tkagg*.so
+
+#-----------------------------------------------------------------------
+
 %package cairo
 Summary:	Cairo backend for matplotlib
 Group:		Development/Python
 Requires:	%{name} = %{version}-%{release}
-Requires:	python-cairo >= 1.2.0
+Requires:	python%{pyver}dist(pycairo)
 
 %description cairo
 This package contains the Cairo backend for matplotlib.
 
+%files cairo
+%{py_platsitedir}/%{module}/backends/backend_cairo.py*
+%{py_platsitedir}/%{module}/backends/backend_qt5cairo.py*
+
+#-----------------------------------------------------------------------
+
 %package gtk
-Summary:       GDK and GTK backends for matplotlib
-Group:         Development/Python
-Requires:      %{name} = %{version}-%{release}
+Summary:	GDK and GTK backends for matplotlib
+Group:		Development/Python
+Requires:	%{name} = %{version}-%{release}
 # absolutely broken
-#Requires:      pygtk2.0 >= 2.4.0
-Requires:      %{name}-cairo = %{version}-%{release}
+#Requires:	pygtk2.0 >= 2.4.0
+Requires:	%{name}-cairo = %{version}-%{release}
 
 %description gtk
 This package contains the GDK and GTK backends for matplotlib.
 
+%files gtk
+%{py_platsitedir}/%{module}/backends/backend_gtk3.py*
+%{py_platsitedir}/%{module}/backends/backend_gtk3agg.py*
+%{py_platsitedir}/%{module}/backends/backend_gtk3cairo.py*
+
+#-----------------------------------------------------------------------
+
 %package wx
-Summary:       WxWidgets backend for matplotlib
-Group:         Development/Python
-Requires:      %{name} = %{version}-%{release}
+Summary:	WxWidgets backend for matplotlib
+Group:		Development/Python
+Requires:	%{name} = %{version}-%{release}
 
 %description wx
 This package contains the WxWidgets backend for matplotlib.
 
+%files wx
+%{py_platsitedir}/%{module}/backends/backend_wx.py*
+%{py_platsitedir}/%{module}/backends/backend_wxagg.py*
+%{py_platsitedir}/%{module}/backends/backend_wxcairo.py*
+
+#-----------------------------------------------------------------------
+
 %package qt5
 Summary:	Qt backend for matplotlib
 Group:		Development/Python
 Requires:	%{name} = %{version}-%{release}
-Requires:	python-qt5
+Requires:	python-qt5-core
+Requires:	python-qt5-gui
+Requires:	python-qt5-widgets
 
 %description qt5
 This package contains the Qt5 backend for matplotlib.
 
+%files qt5
+%{py_platsitedir}/%{module}/backends/backend_qt5.py*
+%{py_platsitedir}/%{module}/backends/backend_qt5agg.py*
+
+#-----------------------------------------------------------------------
+
 %package svg
 Summary:	SVG backend for matplotlib
 Group:		Development/Python
@@ -128,6 +182,11 @@ Requires:	%{name} = %{version}-%{release}
 %description svg
 This package contains the SVG backend for matplotlib.
 
+%files svg
+%{py_platsitedir}/%{module}/backends/backend_svg.py*
+
+#-----------------------------------------------------------------------
+
 %package tk
 Summary:	Tk backend for matplotlib
 Group:		Development/Python
@@ -137,6 +196,12 @@ Requires:	tkinter
 %description tk
 This package contains the Tk backend for matplotlib.
 
+%files tk
+%{py_platsitedir}/%{module}/backends/backend_tkagg.py*
+%{py_platsitedir}/%{module}/backends/_tkagg*.so
+
+#-----------------------------------------------------------------------
+
 %package doc
 Summary:	Documentation for matplotlib
 Group:		Development/Python
@@ -145,33 +210,53 @@ BuildArch:	noarch
 %description doc
 This package contains documentation and sample code for matplotlib.
 
-%package        data
-Summary:        Data used by python-matplotlib
+%files doc
+%doc galleries/examples/
+%if %{with_html}
+%doc doc/build/html/*
+%endif
+
+#-----------------------------------------------------------------------
+
+%package data
+Summary:	Data used by python-%{module}
 %if %{with_bundled_fonts}
-Requires:       %{name}-data-fonts = %{version}-%{release}
+Requires:	%{name}-data-fonts = %{version}-%{release}
 %endif
-BuildArch:      noarch
+BuildArch:	noarch
 
-%description    data
+%description data
 %{summary}
 
+%files data
+%{_datadir}/matplotlib/mpl-data/
+%if %{with_bundled_fonts}
+%exclude %{_datadir}/matplotlib/mpl-data/fonts/
+%endif
+
+#-----------------------------------------------------------------------
+
 %if %{with_bundled_fonts}
-%package        data-fonts
-Summary:        Fonts used by python-matplotlib
-Requires:       %{name}-data = %{version}-%{release}
-BuildArch:      noarch
+%package data-fonts
+Summary:	Fonts used by python-%{module}
+Requires:	%{name}-data = %{version}-%{release}
+BuildArch:	noarch
 
-%description    data-fonts
+%description data-fonts
 %{summary}
+
+%files data-fonts
+%{_datadir}/matplotlib/mpl-data/fonts/
 %endif
 
+#-----------------------------------------------------------------------
+
 %prep
-%setup -q -n %{module}-%{version}
-%autopatch -p1
+%autosetup -p1 -n %{module}-%{version}
 
-# Copy setup.cfg to the builddir
+# Copy mplsetup.cfg to the builddir
 cp %{SOURCE1} .
-sed -i 's/\(backend = \).*/\1%{backend}/' setup.cfg
+sed -i 's/\(backend = \).*/\1%{backend}/' mplsetup.cfg
 
 %if !%{with_bundled_fonts}
 # Use fontconfig by default
@@ -181,38 +266,39 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py
 # Remove bundled libraries
 #rm -r extern/agg24-svn 
 
-
 chmod -x lib/matplotlib/mpl-data/images/*.svg
 
 %build
-PYTHONDONTWRITEBYTECODE=true \
-MPLCONFIGDIR=$PWD \
-MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \
-    python setup.py build build_ext -ldl -lfreetype
+export PYTHONDONTWRITEBYTECODE=true
+export MPLCONFIGDIR=$PWD
+export MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data
+%py_build
+#	python setup.py build build_ext -ldl -lfreetype
 
 %if %{with_html}
 # Need to make built matplotlib libs available for the sphinx extensions:
 pushd doc
-    MPLCONFIGDIR=$PWD/.. \
-    MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data \
-    PYTHONPATH=`realpath ../build/lib.linux*` \
-        %{__python} make.py html
+	MPLCONFIGDIR=$PWD/.. \
+	MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data \
+	PYTHONPATH=`realpath ../build/lib.linux*` \
+	%{__python} make.py html
 popd
 %endif
 # Ensure all example files are non-executable so that the -doc
 # package doesn't drag in dependencies
-find examples -name '*.py' -exec chmod a-x '{}' \;
+find galleries/examples -name '*.py' -exec chmod a-x '{}' \;
 
 %install
-PYTHONDONTWRITEBYTECODE=true \
-MPLCONFIGDIR=$PWD \
-MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \
-    %{__python3} setup.py install --skip-build --root=%{buildroot}
+export PYTHONDONTWRITEBYTECODE=true
+export MPLCONFIGDIR=$PWD
+export MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/
+%py_install
+#	%{__python3} setup.py install --skip-build --root=%{buildroot}
 
 chmod +x %{buildroot}%{python_sitearch}/matplotlib/dates.py
 mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib
 mv %{buildroot}%{python_sitearch}/matplotlib/mpl-data \
-   %{buildroot}%{_datadir}/matplotlib
+	%{buildroot}%{_datadir}/matplotlib
 %if !%{with_bundled_fonts}
 rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts
 %endif
@@ -230,69 +316,6 @@ echo "backend      : %{backend}" > matplotlibrc
 MPLCONFIGDIR=$PWD \
 MATPLOTLIBDATA=$RPM_BUILD_ROOT%{_datadir}/matplotlib/mpl-data \
 PYTHONPATH=$RPM_BUILD_ROOT%{python_sitearch} \
-     %{__python} -c "import matplotlib; matplotlib.test()"
+%{__python} -c "import matplotlib; matplotlib.test()"
 %endif # run_tests
 
-%files
-%doc README.rst
-%doc LICENSE/
-%{python_sitearch}/*egg-info
-%{python_sitearch}/matplotlib-*-nspkg.pth
-%{python_sitearch}/%{module}/
-%{python_sitearch}/mpl_toolkits/
-%{python_sitearch}/pylab.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_cairo.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_gtk3.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_gtk3agg.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_gtk3cairo.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_qt5.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_qt5agg.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_qt5cairo.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_svg.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_tkagg.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_wx.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_wxagg.py*
-%exclude %{py_platsitedir}/%{module}/backends/backend_wxcairo.py*
-%exclude %{py_platsitedir}/%{module}/backends/_tkagg*.so
-
-%files cairo
-%{py_platsitedir}/%{module}/backends/backend_cairo.py*
-%{py_platsitedir}/%{module}/backends/backend_qt5cairo.py*
-
-%files gtk
-%{py_platsitedir}/%{module}/backends/backend_gtk3.py*
-%{py_platsitedir}/%{module}/backends/backend_gtk3agg.py*
-%{py_platsitedir}/%{module}/backends/backend_gtk3cairo.py*
-
-%files wx
-%{py_platsitedir}/%{module}/backends/backend_wx.py*
-%{py_platsitedir}/%{module}/backends/backend_wxagg.py*
-%{py_platsitedir}/%{module}/backends/backend_wxcairo.py*
-
-%files qt5
-%{py_platsitedir}/%{module}/backends/backend_qt5.py*
-%{py_platsitedir}/%{module}/backends/backend_qt5agg.py*
-
-%files svg
-%{py_platsitedir}/%{module}/backends/backend_svg.py*
-
-%files tk
-%{py_platsitedir}/%{module}/backends/backend_tkagg.py*
-%{py_platsitedir}/%{module}/backends/_tkagg*.so
-
-%files doc
-%doc examples/
-%if %{with_html}
-%doc doc/build/html/*
-%endif
-
-%files data
-%{_datadir}/matplotlib/mpl-data/
-%if %{with_bundled_fonts}
-%exclude %{_datadir}/matplotlib/mpl-data/fonts/
-%endif
-
-%if %{with_bundled_fonts}
-%files data-fonts
-%{_datadir}/matplotlib/mpl-data/fonts/
-%endif
Not Available

369start [@T] proton.meNo Comment.190d 12hrs
369start [@T] proton.meNo Comment.190d 12hrs