Update to latest version (#2230778)
This commit is contained in:
parent
e812a3aea3
commit
acd2786cac
2
.gitignore
vendored
2
.gitignore
vendored
@ -100,3 +100,5 @@ matplotlib-1.0.0-without-gpc.tar.gz
|
||||
/matplotlib-3.7.1-with-freetype-2.12.1.tar.gz
|
||||
/matplotlib-3.7.2.tar.gz
|
||||
/matplotlib-3.7.2-with-freetype-2.13.1.tar.gz
|
||||
/matplotlib-3.8.0rc1.tar.gz
|
||||
/matplotlib-3.8.0rc1-with-freetype-2.13.1.tar.gz
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 7f525ad4de95f9e9ec90a39498eefd22aadcedda Mon Sep 17 00:00:00 2001
|
||||
From 8316721d7a203dd5b170c56e0ceb541296d8f67a 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/5] matplotlibrc path search fix
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
@ -9,10 +9,10 @@ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||
index ae68094000..06fb76827d 100644
|
||||
index 1e3dab1b33..324b9bcabd 100644
|
||||
--- a/lib/matplotlib/__init__.py
|
||||
+++ b/lib/matplotlib/__init__.py
|
||||
@@ -570,7 +570,8 @@ def get_cachedir():
|
||||
@@ -582,7 +582,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 ae68094000..06fb76827d 100644
|
||||
|
||||
|
||||
def matplotlib_fname():
|
||||
@@ -590,6 +591,7 @@ def matplotlib_fname():
|
||||
@@ -602,6 +603,7 @@ def matplotlib_fname():
|
||||
is not defined)
|
||||
- On other platforms,
|
||||
- ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined
|
||||
@ -30,7 +30,7 @@ index ae68094000..06fb76827d 100644
|
||||
- Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always
|
||||
exist.
|
||||
"""
|
||||
@@ -608,6 +610,7 @@ def matplotlib_fname():
|
||||
@@ -620,6 +622,7 @@ def matplotlib_fname():
|
||||
yield matplotlibrc
|
||||
yield os.path.join(matplotlibrc, 'matplotlibrc')
|
||||
yield os.path.join(get_configdir(), 'matplotlibrc')
|
||||
|
@ -1,7 +1,11 @@
|
||||
From 4fc7594b7f3eb3a9b8c9b2ea53aa7230cc7305a9 Mon Sep 17 00:00:00 2001
|
||||
From 23f561e7b578806239bb3c68ed9ef02aa1e00ce4 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/4] Don't require oldest-supported-numpy
|
||||
Date: Fri, 11 Aug 2023 02:36:06 -0400
|
||||
Subject: [PATCH 2/5] Unpin NumPy build requirement
|
||||
|
||||
This is so high simply to take advantage of the new
|
||||
backwards-compatibility guarantee in NumPy 1.25, but Fedora will never
|
||||
run against a version different from the one it was built against.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
@ -9,14 +13,14 @@ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index e887bd0975..673981f236 100644
|
||||
index d2e2f769b7..d2e4153202 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>=1.25",
|
||||
+ "numpy",
|
||||
"pybind11>=2.6",
|
||||
"setuptools>=42",
|
@ -1,24 +1,25 @@
|
||||
From 3701d77ac6d708557ccc12dbbfe1ab114d36c319 Mon Sep 17 00:00:00 2001
|
||||
From d51586f7ab846719df9b4dfc2891178e53bf6d20 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/4] Set FreeType version to 2.13.1 and update tolerances
|
||||
Subject: [PATCH 3/5] Set FreeType version to 2.13.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 ++--
|
||||
.../tests/test_constrainedlayout.py | 8 +++----
|
||||
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 +++++++++++++++++--
|
||||
7 files changed, 34 insertions(+), 17 deletions(-)
|
||||
8 files changed, 36 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||
index 06fb76827d..0760141c77 100644
|
||||
index 324b9bcabd..133dc73548 100644
|
||||
--- a/lib/matplotlib/__init__.py
|
||||
+++ b/lib/matplotlib/__init__.py
|
||||
@@ -1288,7 +1288,7 @@ def is_interactive():
|
||||
@@ -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`
|
||||
@ -28,10 +29,10 @@ index 06fb76827d..0760141c77 100644
|
||||
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 cef1c76af6..f1b7a0e884 100644
|
||||
index ac9dd0787a..c9687914c8 100644
|
||||
--- a/lib/matplotlib/tests/test_axes.py
|
||||
+++ b/lib/matplotlib/tests/test_axes.py
|
||||
@@ -7433,7 +7433,7 @@ def test_normal_axes():
|
||||
@@ -7612,7 +7612,7 @@ def test_normal_axes():
|
||||
]
|
||||
for nn, b in enumerate(bbaxis):
|
||||
targetbb = mtransforms.Bbox.from_bounds(*target[nn])
|
||||
@ -40,7 +41,7 @@ index cef1c76af6..f1b7a0e884 100644
|
||||
|
||||
target = [
|
||||
[150.0, 119.999, 930.0, 11.111],
|
||||
@@ -7451,7 +7451,7 @@ def test_normal_axes():
|
||||
@@ -7630,7 +7630,7 @@ def test_normal_axes():
|
||||
|
||||
target = [85.5138, 75.88888, 1021.11, 1017.11]
|
||||
targetbb = mtransforms.Bbox.from_bounds(*target)
|
||||
@ -49,8 +50,21 @@ index cef1c76af6..f1b7a0e884 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_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 ee08c375c7..8d72db556b 100644
|
||||
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():
|
||||
@ -62,15 +76,18 @@ index ee08c375c7..8d72db556b 100644
|
||||
|
||||
|
||||
def test_colorbar_align():
|
||||
@@ -638,7 +638,7 @@ def test_compressed1():
|
||||
@@ -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-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()
|
||||
@ -85,10 +102,10 @@ index ee08c375c7..8d72db556b 100644
|
||||
|
||||
@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
|
||||
index 759ac6aada..8140d4d69f 100644
|
||||
--- a/lib/matplotlib/tests/test_legend.py
|
||||
+++ b/lib/matplotlib/tests/test_legend.py
|
||||
@@ -522,9 +522,9 @@ def test_figure_legend_outside():
|
||||
@@ -516,9 +516,9 @@ def test_figure_legend_outside():
|
||||
fig.draw_without_rendering()
|
||||
|
||||
assert_allclose(axs.get_window_extent().extents,
|
||||
@ -136,10 +153,10 @@ index 968f0da7b5..89caa81b98 100644
|
||||
|
||||
|
||||
diff --git a/setupext.py b/setupext.py
|
||||
index a898d642d6..b22d875d6f 100644
|
||||
index 9f78d88c87..6dc740e8f7 100644
|
||||
--- a/setupext.py
|
||||
+++ b/setupext.py
|
||||
@@ -176,13 +176,29 @@ _freetype_hashes = {
|
||||
@@ -176,14 +176,30 @@ _freetype_hashes = {
|
||||
'955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a',
|
||||
'2.10.1':
|
||||
'3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110',
|
||||
@ -165,16 +182,17 @@ index a898d642d6..b22d875d6f 100644
|
||||
}
|
||||
# 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`.
|
||||
# `.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.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
|
||||
@@ -597,6 +613,7 @@ class FreeType(SetupPackage):
|
||||
ext.extra_objects.insert(
|
||||
0, str(src_path / 'objs' / '.libs' / libfreetype))
|
||||
ext.define_macros.append(('FREETYPE_BUILD_TYPE', 'local'))
|
||||
@@ -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):
|
||||
|
@ -1,18 +1,18 @@
|
||||
From 5d12c697908d1103dc7fa2d915ad82d357975709 Mon Sep 17 00:00:00 2001
|
||||
From 559b5ed0f440480231d652313a5c5d1e64dfee44 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/5] Use old stride_windows implementation on 32-bit x86
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/mlab.py | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
lib/matplotlib/mlab.py | 39 +++++++++++++++++++++++++++++++++++----
|
||||
1 file changed, 35 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py
|
||||
index 059cf0f162..943eb18e6f 100644
|
||||
index 1948e6333e..158417a1c0 100644
|
||||
--- a/lib/matplotlib/mlab.py
|
||||
+++ b/lib/matplotlib/mlab.py
|
||||
@@ -52,6 +52,7 @@ Spectral functions
|
||||
@@ -49,6 +49,7 @@ Spectral functions
|
||||
|
||||
import functools
|
||||
from numbers import Number
|
||||
@ -20,17 +20,65 @@ index 059cf0f162..943eb18e6f 100644
|
||||
|
||||
import numpy as np
|
||||
|
||||
@@ -252,7 +253,9 @@ def stride_windows(x, n, noverlap=None, axis=0):
|
||||
@@ -210,6 +211,30 @@ def detrend_linear(y):
|
||||
return y - (b*x + a)
|
||||
|
||||
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(
|
||||
|
||||
+def _stride_windows(x, n, noverlap=0):
|
||||
+ if noverlap >= n:
|
||||
+ raise ValueError('noverlap must be less than n')
|
||||
+ if n < 1:
|
||||
+ raise ValueError('n cannot be less than 1')
|
||||
+
|
||||
+ x = np.asarray(x)
|
||||
+
|
||||
+ if n == 1 and noverlap == 0:
|
||||
+ return x[np.newaxis]
|
||||
+ if n > x.size:
|
||||
+ raise ValueError('n cannot be greater than the length of x')
|
||||
+
|
||||
+ # np.lib.stride_tricks.as_strided easily leads to memory corruption for
|
||||
+ # non integer shape and strides, i.e. noverlap or n. See #3845.
|
||||
+ noverlap = int(noverlap)
|
||||
+ n = int(n)
|
||||
+
|
||||
+ step = n - noverlap
|
||||
+ shape = (n, (x.shape[-1]-noverlap)//step)
|
||||
+ strides = (x.strides[0], step*x.strides[0])
|
||||
+ return np.lib.stride_tricks.as_strided(x, shape=shape, strides=strides)
|
||||
+
|
||||
+
|
||||
def _spectral_helper(x, y=None, NFFT=None, Fs=None, detrend_func=None,
|
||||
window=None, noverlap=None, pad_to=None,
|
||||
sides=None, scale_by_freq=None, mode=None):
|
||||
@@ -304,8 +329,11 @@ def _spectral_helper(x, y=None, NFFT=None, Fs=None, detrend_func=None,
|
||||
raise ValueError(
|
||||
"The window length must match the data's first dimension")
|
||||
|
||||
- result = np.lib.stride_tricks.sliding_window_view(
|
||||
- x, NFFT, axis=0)[::NFFT - noverlap].T
|
||||
+ if sys.maxsize > 2**32: # NumPy version on 32-bit OOMs.
|
||||
+ result = np.lib.stride_tricks.sliding_window_view(
|
||||
+ x, NFFT, axis=0)[::NFFT - noverlap].T
|
||||
+ else:
|
||||
+ result = _stride_windows(x, NFFT, noverlap=noverlap)
|
||||
result = detrend(result, detrend_func, axis=0)
|
||||
result = result * window.reshape((-1, 1))
|
||||
result = np.fft.fft(result, n=pad_to, axis=0)[:numFreqs, :]
|
||||
@@ -313,8 +341,11 @@ def _spectral_helper(x, y=None, NFFT=None, Fs=None, detrend_func=None,
|
||||
|
||||
if not same_data:
|
||||
# if same_data is False, mode must be 'psd'
|
||||
- resultY = np.lib.stride_tricks.sliding_window_view(
|
||||
- y, NFFT, axis=0)[::NFFT - noverlap].T
|
||||
+ if sys.maxsize > 2**32: # NumPy version on 32-bit OOMs.
|
||||
+ resultY = np.lib.stride_tricks.sliding_window_view(
|
||||
+ y, NFFT, axis=0)[::NFFT - noverlap].T
|
||||
+ else:
|
||||
+ resultY = _stride_windows(y, NFFT, noverlap=noverlap)
|
||||
resultY = detrend(resultY, detrend_func, axis=0)
|
||||
resultY = resultY * window.reshape((-1, 1))
|
||||
resultY = np.fft.fft(resultY, n=pad_to, axis=0)[:numFreqs, :]
|
||||
--
|
||||
2.41.0
|
||||
|
||||
|
@ -1,29 +0,0 @@
|
||||
diff -up matplotlib-3.7.2/doc/conf.py.orig matplotlib-3.7.2/doc/conf.py
|
||||
--- matplotlib-3.7.2/doc/conf.py.orig 2023-08-11 13:11:52.705650329 -0400
|
||||
+++ matplotlib-3.7.2/doc/conf.py 2023-08-11 13:13:04.662668088 -0400
|
||||
@@ -20,6 +20,8 @@ import sys
|
||||
from urllib.parse import urlsplit, urlunsplit
|
||||
import warnings
|
||||
|
||||
+import sphinx
|
||||
+
|
||||
import matplotlib
|
||||
|
||||
from datetime import timezone
|
||||
@@ -347,6 +349,9 @@ def add_html_cache_busting(app, pagename
|
||||
This adds the Matplotlib version as a query to the link reference in the
|
||||
HTML, if the path is not absolute (i.e., it comes from the `_static`
|
||||
directory) and doesn't already have a query.
|
||||
+
|
||||
+ .. note:: Sphinx 7.1 provides asset checksums; so this hook only runs on
|
||||
+ Sphinx 7.0 and earlier.
|
||||
"""
|
||||
from sphinx.builders.html import Stylesheet, JavaScript
|
||||
|
||||
@@ -723,4 +728,5 @@ def setup(app):
|
||||
else:
|
||||
bld_type = 'rel'
|
||||
app.add_config_value('releaselevel', bld_type, 'env')
|
||||
- app.connect('html-page-context', add_html_cache_busting, priority=1000)
|
||||
+ if sphinx.version_info[:2] < (7, 1):
|
||||
+ app.connect('html-page-context', add_html_cache_busting, priority=1000)
|
49
0005-TST-Increase-some-tolerances-for-non-x86-arches.patch
Normal file
49
0005-TST-Increase-some-tolerances-for-non-x86-arches.patch
Normal file
@ -0,0 +1,49 @@
|
||||
From 7381c07409a36b4d3af029fbf66048658d55aa5c Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Fri, 11 Aug 2023 05:13:38 -0400
|
||||
Subject: [PATCH 5/5] TST: Increase some tolerances for non-x86 arches
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/tests/test_axes.py | 2 +-
|
||||
lib/mpl_toolkits/mplot3d/tests/test_axes3d.py | 5 ++++-
|
||||
2 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
|
||||
index c9687914c8..3a6edde772 100644
|
||||
--- a/lib/matplotlib/tests/test_axes.py
|
||||
+++ b/lib/matplotlib/tests/test_axes.py
|
||||
@@ -2502,7 +2502,7 @@ def test_contour_hatching():
|
||||
|
||||
@image_comparison(
|
||||
['contour_colorbar'], style='mpl20',
|
||||
- tol=0.02 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
|
||||
+ tol=0.54 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
|
||||
def test_contour_colorbar():
|
||||
x, y, z = contour_dat()
|
||||
|
||||
diff --git a/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py b/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py
|
||||
index ad04b12526..644e2f2458 100644
|
||||
--- a/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py
|
||||
+++ b/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py
|
||||
@@ -1,5 +1,6 @@
|
||||
import functools
|
||||
import itertools
|
||||
+import platform
|
||||
|
||||
import pytest
|
||||
|
||||
@@ -217,7 +218,9 @@ def test_bar3d_lightsource():
|
||||
np.testing.assert_array_max_ulp(color, collection._facecolor3d[1::6], 4)
|
||||
|
||||
|
||||
-@mpl3d_image_comparison(['contour3d.png'], style='mpl20')
|
||||
+@mpl3d_image_comparison(
|
||||
+ ['contour3d.png'], style='mpl20',
|
||||
+ tol=0.002 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
|
||||
def test_contour3d():
|
||||
fig = plt.figure()
|
||||
ax = fig.add_subplot(projection='3d')
|
||||
--
|
||||
2.41.0
|
||||
|
@ -30,14 +30,14 @@
|
||||
%global _docdir_fmt %{name}
|
||||
|
||||
# Updated test images for new FreeType.
|
||||
%global mpl_images_version 3.7.2
|
||||
%global mpl_images_version 3.8.0rc1
|
||||
|
||||
# The version of FreeType in this Fedora branch.
|
||||
%global ftver 2.13.1
|
||||
|
||||
Name: python-matplotlib
|
||||
Version: 3.7.2
|
||||
%global Version 3.7.2
|
||||
Version: 3.8.0~rc1
|
||||
%global Version 3.8.0rc1
|
||||
Release: %autorelease
|
||||
Summary: Python 2D plotting library
|
||||
# qt_editor backend is MIT
|
||||
@ -53,16 +53,15 @@ Source1: mplsetup.cfg
|
||||
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
|
||||
# We don't need to use NumPy 1.25.
|
||||
Patch1002: 0002-Unpin-NumPy-build-requirement.patch
|
||||
# Increase tolerances for new FreeType everywhere:
|
||||
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
|
||||
|
||||
# Fix issue with Sphinx 7.1+
|
||||
# https://github.com/matplotlib/matplotlib/commit/a01fbaeba4bdefc2ff6782bac73a9a03b8a9bce7
|
||||
Patch0002: 0005-Disable-add_html_cache_busting-on-sphinx-7.1.patch
|
||||
# https://github.com/matplotlib/matplotlib/pull/26502
|
||||
Patch0002: 0005-TST-Increase-some-tolerances-for-non-x86-arches.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
@ -328,7 +327,7 @@ PYTHONPATH="%{pyproject_site_lib}" \
|
||||
%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 -name '*.py' -exec chmod a-x '{}' \;
|
||||
|
||||
|
||||
%install
|
||||
@ -390,7 +389,7 @@ MPLCONFIGDIR=$PWD \
|
||||
%endif
|
||||
|
||||
%files -n python3-matplotlib-doc
|
||||
%doc examples
|
||||
%doc galleries/examples
|
||||
%if %{with html}
|
||||
%doc doc/build/html/*
|
||||
%endif
|
||||
@ -399,7 +398,6 @@ MPLCONFIGDIR=$PWD \
|
||||
%license LICENSE/
|
||||
%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/
|
||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (matplotlib-3.7.2.tar.gz) = 3ddb223c869c01cf71ab65a628a3c996eed1ff8b2375c02e3158a5750652a5d8277a55706e50890c15c14c7a104db01f01b01ca8964f85b6ffec104fc273872d
|
||||
SHA512 (matplotlib-3.7.2-with-freetype-2.13.1.tar.gz) = 1a8bdaa0b6b3ec3d310aff96c04c99d9350534992592d8d3c99530ef63aa8a4289c5195a791139b9d69b8472eb010ee3d8a248fa8e8dc3941403387321db6e14
|
||||
SHA512 (matplotlib-3.8.0rc1.tar.gz) = c62283e5baa1a7f6ae9a60f82b1d5ffae5b20d230e48ea8db9c299f5559286ae59134fcaf8e96bdaba1a59f6707793e5a53ff45c78c2a30e16277fb3b2dd21de
|
||||
SHA512 (matplotlib-3.8.0rc1-with-freetype-2.13.1.tar.gz) = 4e2fa4f8433076929254007ada4c38c9fb24deba11f7e0e0af06e430882fe127198afd9d03ef6f33ee12dec37ef912bd27045697e47b74ed946644f7fe9c679e
|
||||
|
Loading…
Reference in New Issue
Block a user