Compare commits
10 Commits
4891712709
...
6c7a5c15b9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c7a5c15b9 | ||
|
|
462410c875 | ||
|
|
c203584c65 | ||
|
|
882bc42b3e | ||
|
|
264756a697 | ||
|
|
f3cb23da86 | ||
|
|
9781413524 | ||
|
|
f63cd55428 | ||
|
|
46033d17ec | ||
|
|
cecc92b27c |
43
0001-matplotlibrc-path-search-fix.patch
Normal file
43
0001-matplotlibrc-path-search-fix.patch
Normal file
@ -0,0 +1,43 @@
|
||||
From 3e43f06eaad8cdb48d30b4cbe23a881c6fa5c1ff 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
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/__init__.py | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||
index 77d25bbe33..9786447e23 100644
|
||||
--- a/lib/matplotlib/__init__.py
|
||||
+++ b/lib/matplotlib/__init__.py
|
||||
@@ -540,7 +540,8 @@ def get_cachedir():
|
||||
@_logged_cached('matplotlib data path: %s')
|
||||
def get_data_path():
|
||||
"""Return the path to Matplotlib data."""
|
||||
- return str(Path(__file__).with_name("mpl-data"))
|
||||
+ return str(Path(__file__).parent.parent.parent.parent.parent /
|
||||
+ 'share/matplotlib/mpl-data')
|
||||
|
||||
|
||||
def matplotlib_fname():
|
||||
@@ -560,6 +561,7 @@ def matplotlib_fname():
|
||||
is not defined)
|
||||
- On other platforms,
|
||||
- ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined
|
||||
+ - ``/etc/matplotlibrc``
|
||||
- Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always
|
||||
exist.
|
||||
"""
|
||||
@@ -578,6 +580,7 @@ def matplotlib_fname():
|
||||
yield matplotlibrc
|
||||
yield os.path.join(matplotlibrc, 'matplotlibrc')
|
||||
yield os.path.join(get_configdir(), 'matplotlibrc')
|
||||
+ yield '/etc/matplotlibrc'
|
||||
yield os.path.join(get_data_path(), 'matplotlibrc')
|
||||
|
||||
for fname in gen_candidates():
|
||||
--
|
||||
2.36.1
|
||||
|
||||
157
0002-Set-FreeType-version-to-2.12.1-and-update-tolerances.patch
Normal file
157
0002-Set-FreeType-version-to-2.12.1-and-update-tolerances.patch
Normal file
@ -0,0 +1,157 @@
|
||||
From c7f6a197992cfd989fddb858afcde5abcdecf70e 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.
|
||||
|
||||
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_polar.py | 2 +-
|
||||
lib/matplotlib/tests/test_tightlayout.py | 10 +++++-----
|
||||
setupext.py | 15 +++++++++++++--
|
||||
6 files changed, 25 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||
index 9786447e23..56266f0688 100644
|
||||
--- a/lib/matplotlib/__init__.py
|
||||
+++ b/lib/matplotlib/__init__.py
|
||||
@@ -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.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 8d6466c749..c8604b8657 100644
|
||||
--- a/lib/matplotlib/tests/test_axes.py
|
||||
+++ b/lib/matplotlib/tests/test_axes.py
|
||||
@@ -7210,7 +7210,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],
|
||||
@@ -7228,7 +7228,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 64906b74c3..bfa53cd430 100644
|
||||
--- a/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
|
||||
@@ -431,7 +431,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():
|
||||
@@ -637,7 +637,7 @@ 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)
|
||||
|
||||
@@ -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 c51508ae22..942ffcb521 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 1eb7b4b453..697eba3211 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 0387223b94..13096a812c 100644
|
||||
--- a/setupext.py
|
||||
+++ b/setupext.py
|
||||
@@ -168,13 +168,23 @@ _freetype_hashes = {
|
||||
'955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a',
|
||||
'2.10.1':
|
||||
'3a60d391fd579440561bf0e7f31af2222bc610ad6ce4d9d7bd2165bca8669110',
|
||||
+ '2.10.2':
|
||||
+ 'e09aa914e4f7a5d723ac381420949c55c0b90b15744adce5d1406046022186ab',
|
||||
+ '2.10.4':
|
||||
+ '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 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'))
|
||||
+ ext.libraries.append('brotlidec')
|
||||
|
||||
def do_custom_build(self, env):
|
||||
# We're using a system freetype
|
||||
--
|
||||
2.36.1
|
||||
|
||||
158
0003-Increase-a-few-test-tolerances-on-some-arches.patch
Normal file
158
0003-Increase-a-few-test-tolerances-on-some-arches.patch
Normal file
@ -0,0 +1,158 @@
|
||||
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_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
|
||||
|
||||
@ -0,0 +1,36 @@
|
||||
From 77d0ef4bac7e14da704556a6f1f99962b0864a6a 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
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
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
|
||||
|
||||
28
adapted-requires-package-version.patch
Normal file
28
adapted-requires-package-version.patch
Normal file
@ -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 []
|
||||
Binary file not shown.
Binary file not shown.
@ -1,7 +1,8 @@
|
||||
[libs]
|
||||
system_freetype = True
|
||||
system_qhull = True
|
||||
|
||||
[packages]
|
||||
tests = True
|
||||
toolkits = True
|
||||
toolkits_tests = True
|
||||
|
||||
[rc_options]
|
||||
backend = GTKAgg
|
||||
@ -1,109 +1,28 @@
|
||||
Name: python-matplotlib
|
||||
Version: 2.2.4
|
||||
Release: 2
|
||||
Version: 3.6.2
|
||||
Release: 1
|
||||
Summary: A comprehensive library for creating static, animated, and interactive visualizations
|
||||
License: Python and MIT
|
||||
URL: http://matplotlib.org
|
||||
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/v2.2.3-with-freetype-2.8/matplotlib-2.2.3-with-freetype-2.9.1.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.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
|
||||
The package produces publication-quality figures in a variety of hardcopy formats and interactive environments
|
||||
across platforms.
|
||||
|
||||
%package -n python2-matplotlib
|
||||
Summary: Plotting with Python
|
||||
BuildRequires: python2-numpy python2-pyparsing python2-dateutil python2-kiwisolver
|
||||
BuildRequires: python2-pyside python2-setuptools python2-six python2-sphinx python2-subprocess32
|
||||
BuildRequires: python2-devel python2-backports-functools_lru_cache python2-pillow python2-pytz
|
||||
Requires: dejavu-sans-fonts dvipng python2-numpy python2-pyparsing python2-cycler >= 0.10.0
|
||||
Requires: python2-dateutil python2-kiwisolver python2-backports-functools_lru_cache
|
||||
Requires: python-matplotlib-data = %{version}-%{release} python2-six python2-subprocess32
|
||||
Requires: python2-matplotlib-tk = %{version}-%{release} python2-pytz
|
||||
Provides: bundled(stix-math-fonts) bundled(agg) = 2.4 bundled(ttconv) bundled(js-jquery1) = 1.11.3
|
||||
Provides: bundled(js-jquery1-ui) = 1.11.4 bundled(texlive-helvetic)
|
||||
Recommends: python2-pillow
|
||||
%python_provide python2-matplotlib
|
||||
|
||||
%description -n python2-matplotlib
|
||||
The package produces publication-quality figures in a variety of hardcopy formats and interactive environments
|
||||
across platforms.
|
||||
|
||||
%package -n python2-matplotlib-qt4
|
||||
Summary: Qt4 backend for python-matplotlib
|
||||
BuildRequires: PyQt4-devel
|
||||
Requires: python2-PyQt4 python2-matplotlib = %{version}-%{release} python2-matplotlib-qt5
|
||||
%python_provide python2-matplotlib-qt4
|
||||
|
||||
%description -n python2-matplotlib-qt4
|
||||
The qt4 backend for python-matplotlib.
|
||||
|
||||
%package -n python2-matplotlib-qt5
|
||||
Summary: Qt5 backend for python-matplotlib
|
||||
BuildRequires: python2-qt5
|
||||
Requires: python2-qt5 python2-matplotlib = %{version}-%{release}
|
||||
%python_provide python2-matplotlib-qt5
|
||||
|
||||
%description -n python2-matplotlib-qt5
|
||||
The qt5 backend for python-matplotlib.
|
||||
|
||||
%package -n python2-matplotlib-gtk
|
||||
Summary: GTK backend for python-matplotlib
|
||||
BuildRequires: gtk2-devel pycairo-devel pygtk2-devel
|
||||
Requires: pycairo pygtk2 python2-matplotlib = %{version}-%{release}
|
||||
%python_provide python2-matplotlib-gtk
|
||||
|
||||
%description -n python2-matplotlib-gtk
|
||||
The gtk backend for python-matplotlib.
|
||||
|
||||
%package -n python2-matplotlib-gtk3
|
||||
Summary: GTK3 backend for python-matplotlib
|
||||
BuildRequires: gtk3 pygobject3-base
|
||||
Requires: gtk3 pygobject3-base python2-matplotlib = %{version}-%{release}
|
||||
%python_provide python2-matplotlib-gtk3
|
||||
|
||||
%description -n python2-matplotlib-gtk3
|
||||
The gtk3 backend for python-matplotlib.
|
||||
|
||||
%package -n python2-matplotlib-tk
|
||||
Summary: Tk backend for python-matplotlib
|
||||
BuildRequires: tcl-devel tkinter tk-devel
|
||||
Requires: python2-matplotlib = %{version}-%{release} tkinter
|
||||
%python_provide python2-matplotlib-tk
|
||||
|
||||
%description -n python2-matplotlib-tk
|
||||
The tk backend for python-matplotlib.
|
||||
|
||||
%package -n python2-matplotlib-wx
|
||||
Summary: wxPython backend for python-matplotlib
|
||||
BuildRequires: wxPython-devel
|
||||
Requires: python2-matplotlib = %{version}-%{release} python2-wxpython
|
||||
%python_provide python2-matplotlib-wx
|
||||
|
||||
%description -n python2-matplotlib-wx
|
||||
The wxPython backend for python-matplotlib.
|
||||
|
||||
%package -n python2-matplotlib-test-data
|
||||
Summary: Test data for python2-matplotlib
|
||||
Requires: python2-matplotlib = %{version}-%{release}
|
||||
%python_provide python2-matplotlib-test-data
|
||||
|
||||
%description -n python2-matplotlib-test-data
|
||||
Test data for python2-matplotlib.
|
||||
|
||||
%package -n python2-matplotlib-help
|
||||
Summary: Documentation files for python-matplotlib
|
||||
Requires: python2-matplotlib = %{version}-%{release}
|
||||
Provides: python2-matplotlib-doc = %{version}-%{release}
|
||||
Obsoletes: python2-matplotlib-doc < %{version}-%{release}
|
||||
%python_provide python2-matplotlib-help
|
||||
|
||||
%description -n python2-matplotlib-help
|
||||
Documentation files for python-matplotlib.
|
||||
|
||||
%package -n python-matplotlib-data
|
||||
Summary: Data used by python-matplotlib
|
||||
BuildArch: noarch
|
||||
@ -184,69 +103,39 @@ Requires: python3-matplotlib = %{version}-%{release}
|
||||
Test data for python3-matplotlib.
|
||||
|
||||
%prep
|
||||
%autosetup -n matplotlib-%{version} -p1 -N
|
||||
gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-2.2.3-with-freetype-2.9.1/\([^/]\+\)/~lib/\1/tests/baseline_images/~'
|
||||
rm -r extern/libqhull
|
||||
sed 's/\(backend = \).*/\1TkAgg/' >setup.cfg <%{SOURCE1}
|
||||
%autosetup -n matplotlib-%{version} -N
|
||||
%patch0001 -p1
|
||||
%patch0002 -p1
|
||||
%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} mplsetup.cfg
|
||||
|
||||
%patch0003 -p1
|
||||
%patch0004 -p1
|
||||
|
||||
%build
|
||||
export http_proxy=http://127.0.0.1/
|
||||
MPLCONFIGDIR=$PWD MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data xvfb-run %{__python2} setup.py build
|
||||
find examples -name '*.py' -exec chmod a-x '{}' \;
|
||||
MPLCONFIGDIR=$PWD MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data xvfb-run %{__python3} setup.py build
|
||||
|
||||
PLCONFIGDIR=$PWD %py3_build
|
||||
|
||||
%install
|
||||
export http_proxy=http://127.0.0.1/
|
||||
MPLCONFIGDIR=$PWD MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ %{__python2} setup.py install -O1 --skip-build --root=%{buildroot}
|
||||
chmod +x %{buildroot}%{python2_sitearch}/matplotlib/dates.py
|
||||
|
||||
MPLCONFIGDIR=$PWD %py3_install
|
||||
|
||||
mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib
|
||||
mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data/matplotlibrc %{buildroot}%{_sysconfdir}
|
||||
mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data %{buildroot}%{_datadir}/matplotlib
|
||||
MPLCONFIGDIR=$PWD MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ %{__python3} setup.py install -O1 --skip-build --root=%{buildroot}
|
||||
chmod +x %{buildroot}%{python3_sitearch}/matplotlib/dates.py
|
||||
rm -fr %{buildroot}%{python3_sitearch}/matplotlib/mpl-data
|
||||
mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data %{buildroot}%{_datadir}/matplotlib
|
||||
|
||||
%files -n python-matplotlib-data
|
||||
%{_sysconfdir}/matplotlibrc
|
||||
%{_datadir}/matplotlib/mpl-data/
|
||||
%exclude %{_datadir}/matplotlib/mpl-data/fonts/
|
||||
|
||||
%files -n python-matplotlib-data-fonts
|
||||
%{_datadir}/matplotlib/mpl-data/fonts/
|
||||
|
||||
%files -n python2-matplotlib
|
||||
%doc README.rst LICENSE/
|
||||
%{python2_sitearch}/{*egg-info,matplotlib-*-nspkg.pth,matplotlib/,mpl_toolkits/,pylab.py*}
|
||||
%exclude %{python2_sitearch}/matplotlib/tests/baseline_images/*
|
||||
%exclude %{python2_sitearch}/mpl_toolkits/tests/baseline_images/*
|
||||
%exclude %{python2_sitearch}/matplotlib/backends/{backend_qt4*,backend_qt5*,backend_gtk*,_gtkagg.*,backend_tkagg.*}
|
||||
%exclude %{python2_sitearch}/matplotlib/backends/{tkagg.*,_tkagg.so,backend_wx.*,backend_wxagg.*}
|
||||
%exclude %{_pkgdocdir}/{*,*/*}
|
||||
|
||||
%files -n python2-matplotlib-test-data
|
||||
%{python2_sitearch}/matplotlib/tests/baseline_images/
|
||||
%{python2_sitearch}/mpl_toolkits/tests/baseline_images/
|
||||
|
||||
%files -n python2-matplotlib-qt4
|
||||
%{python2_sitearch}/matplotlib/backends/{backend_qt4.*,backend_qt4agg.*}
|
||||
|
||||
%files -n python2-matplotlib-qt5
|
||||
%{python2_sitearch}/matplotlib/backends/{backend_qt5.*,backend_qt5agg.*}
|
||||
|
||||
%files -n python2-matplotlib-gtk
|
||||
%{python2_sitearch}/matplotlib/backends/{backend_gtk.py*,backend_gtkagg.py*,backend_gtkcairo.py*,_gtkagg.so}
|
||||
|
||||
%files -n python2-matplotlib-gtk3
|
||||
%{python2_sitearch}/matplotlib/backends/backend_gtk3*.py*
|
||||
|
||||
%files -n python2-matplotlib-tk
|
||||
%{python2_sitearch}/matplotlib/backends/{backend_tkagg.py*,tkagg.py*,_tkagg.so}
|
||||
|
||||
%files -n python2-matplotlib-wx
|
||||
%{python2_sitearch}/matplotlib/backends/{backend_wx.*,backend_wxagg.*}
|
||||
|
||||
%files -n python2-matplotlib-help
|
||||
%doc examples
|
||||
|
||||
%files -n python3-matplotlib
|
||||
%doc README.rst LICENSE/
|
||||
@ -255,7 +144,6 @@ rm -fr %{buildroot}%{python3_sitearch}/matplotlib/mpl-data
|
||||
%{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.*}
|
||||
@ -266,10 +154,6 @@ rm -fr %{buildroot}%{python3_sitearch}/matplotlib/mpl-data
|
||||
%{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.*}
|
||||
@ -282,5 +166,20 @@ rm -fr %{buildroot}%{python3_sitearch}/matplotlib/mpl-data
|
||||
%{python3_sitearch}/matplotlib/backends/{tkagg.*,__pycache__/tkagg.*,_tkagg.*}
|
||||
|
||||
%changelog
|
||||
* Thu Dec 01 2022 xu_ping <xuping33@h-partners.com> - 3.6.2-1
|
||||
- Upgrade 3.6.2 to fix oscilloscope -h error
|
||||
|
||||
* Sat Mar 05 2022 chenchen <chen_aka_jan@163.com> - 3.4.3-2
|
||||
- enable debuginfo
|
||||
|
||||
* Fri Jan 28 2022 SimpleUpdate Robot <tc@openeuler.org> - 3.4.3-1
|
||||
- Upgrade to version 3.4.3
|
||||
|
||||
* Wed Mar 10 2021 caodongxia <caodongxia@huawei.com> - 2.2.4-4
|
||||
- Fix the function-import matplotlib and import matplotlib.pyplot
|
||||
|
||||
* Fri Feb 19 2021 liyanan <liyanan32@huawei.com> - 2.2.4-3
|
||||
- remove python2 dependency
|
||||
|
||||
* Fri Mar 6 2020 chenli <chenli147@huawei.com> - 2.2.4-2
|
||||
- Init Package
|
||||
|
||||
4
python-matplotlib.yaml
Normal file
4
python-matplotlib.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
version_control: github
|
||||
src_repo: matplotlib/matplotlib
|
||||
tag_prefix: "^v"
|
||||
separator: "."
|
||||
Loading…
x
Reference in New Issue
Block a user