Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
456f5ae5e9 | ||
|
|
ef6d83f8cb | ||
|
|
bf7f2e8c26 | ||
|
|
4a9aa8cc5f | ||
|
|
67cfdf16e6 | ||
|
|
babfa71d28 | ||
|
|
fb6bd19e9a | ||
|
|
3b30af1392 | ||
|
|
15ef8e9ff8 | ||
|
|
7c6d477c42 | ||
|
|
53105ce245 | ||
|
|
9ded60e8c1 | ||
|
|
2c247d43e1 | ||
|
|
72dc76a446 | ||
|
|
42d4911499 | ||
|
|
5d73432d40 | ||
|
|
b69289819e | ||
|
|
dabb8167f1 | ||
|
|
f02849f05b | ||
|
|
ed37137f1e | ||
|
|
4271371599 | ||
|
|
8b8c357ab9 | ||
|
|
b7a53bdd09 | ||
|
|
63d95ef5f2 | ||
|
|
db71fa5183 | ||
|
|
5211b69b49 | ||
|
|
ec553ec074 | ||
|
|
3d74b361b1 | ||
|
|
e7c8d98b41 | ||
|
|
51c7ba15fe | ||
|
|
aff8846c80 |
15
.gitignore
vendored
15
.gitignore
vendored
@@ -108,3 +108,18 @@ matplotlib-1.0.0-without-gpc.tar.gz
|
||||
/matplotlib-3.8.3.tar.gz
|
||||
/matplotlib-3.8.3-with-freetype-2.13.1.tar.gz
|
||||
/matplotlib-3.8.4.tar.gz
|
||||
/matplotlib-3.9.0.tar.gz
|
||||
/matplotlib-3.9.0-with-freetype-2.13.1.tar.gz
|
||||
/matplotlib-3.9.1.tar.gz
|
||||
/matplotlib-3.9.1-with-freetype-2.13.1.tar.gz
|
||||
/matplotlib-3.9.3.tar.gz
|
||||
/matplotlib-3.9.3-with-freetype-2.13.1.tar.gz
|
||||
/matplotlib-3.9.4.tar.gz
|
||||
/matplotlib-3.10.0.tar.gz
|
||||
/matplotlib-3.10.0-with-freetype-2.13.1.tar.gz
|
||||
/matplotlib-3.10.3.tar.gz
|
||||
/matplotlib-3.10.3-with-freetype-2.13.1.tar.gz
|
||||
/matplotlib-3.10.5.tar.gz
|
||||
/matplotlib-3.10.6.tar.gz
|
||||
/matplotlib-3.10.8.tar.gz
|
||||
/matplotlib-3.10.8-with-freetype-2.14.1.tar.gz
|
||||
|
||||
@@ -1,28 +1,18 @@
|
||||
From ce0e47a95ec43750080afa889b35ec26106a6a47 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
From 50c46d80a99b6bdbb61733b0eef69649f22701ab Mon Sep 17 00:00:00 2001
|
||||
From: Sandro Tosi <morph@debian.org>
|
||||
Date: Wed, 27 Sep 2017 19:35:59 -0400
|
||||
Subject: [PATCH 1/5] 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(-)
|
||||
lib/matplotlib/__init__.py | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||
index 353406832c..26dd9372e1 100644
|
||||
index 2786f9b7b9..79cccf0892 100644
|
||||
--- a/lib/matplotlib/__init__.py
|
||||
+++ b/lib/matplotlib/__init__.py
|
||||
@@ -582,7 +582,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():
|
||||
@@ -602,6 +603,7 @@ def matplotlib_fname():
|
||||
@@ -613,6 +613,7 @@ def matplotlib_fname():
|
||||
is not defined)
|
||||
- On other platforms,
|
||||
- ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined
|
||||
@@ -30,7 +20,7 @@ index 353406832c..26dd9372e1 100644
|
||||
- Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always
|
||||
exist.
|
||||
"""
|
||||
@@ -620,6 +622,7 @@ def matplotlib_fname():
|
||||
@@ -631,6 +632,7 @@ def matplotlib_fname():
|
||||
yield matplotlibrc
|
||||
yield os.path.join(matplotlibrc, 'matplotlibrc')
|
||||
yield os.path.join(get_configdir(), 'matplotlibrc')
|
||||
@@ -39,5 +29,5 @@ index 353406832c..26dd9372e1 100644
|
||||
|
||||
for fname in gen_candidates():
|
||||
--
|
||||
2.43.0
|
||||
2.52.0
|
||||
|
||||
|
||||
127
0002-Set-FreeType-version-to-2.14.1-and-update-tolerances.patch
Normal file
127
0002-Set-FreeType-version-to-2.14.1-and-update-tolerances.patch
Normal file
@@ -0,0 +1,127 @@
|
||||
From 4550b06f9de6c23d7b87a34d2bca1c9aaa594a3e 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/5] Set FreeType version to 2.14.1 and update tolerances
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
extern/meson.build | 2 +-
|
||||
lib/matplotlib/__init__.py | 2 +-
|
||||
lib/matplotlib/tests/test_axes.py | 4 ++--
|
||||
lib/matplotlib/tests/test_backend_pgf.py | 2 +-
|
||||
lib/matplotlib/tests/test_ft2font.py | 6 +++---
|
||||
lib/matplotlib/tests/test_legend.py | 4 ++--
|
||||
lib/matplotlib/tests/test_polar.py | 2 +-
|
||||
7 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/extern/meson.build b/extern/meson.build
|
||||
index 5463183a90..928eb6bd56 100644
|
||||
--- a/extern/meson.build
|
||||
+++ b/extern/meson.build
|
||||
@@ -13,7 +13,7 @@ else
|
||||
# must match the value in `lib/matplotlib.__init__.py`. Also update the docs
|
||||
# in `docs/devel/dependencies.rst`. Bump the cache key in
|
||||
# `.circleci/config.yml` when changing requirements.
|
||||
- LOCAL_FREETYPE_VERSION = '2.6.1'
|
||||
+ LOCAL_FREETYPE_VERSION = '2.14.1'
|
||||
|
||||
freetype_proj = subproject(
|
||||
f'freetype-@LOCAL_FREETYPE_VERSION@',
|
||||
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
|
||||
index 79cccf0892..04d716b54c 100644
|
||||
--- a/lib/matplotlib/__init__.py
|
||||
+++ b/lib/matplotlib/__init__.py
|
||||
@@ -1363,7 +1363,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 `meson.build`.
|
||||
- LOCAL_FREETYPE_VERSION = '2.6.1'
|
||||
+ LOCAL_FREETYPE_VERSION = '2.14.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 159fc70282..b304186fc9 100644
|
||||
--- a/lib/matplotlib/tests/test_axes.py
|
||||
+++ b/lib/matplotlib/tests/test_axes.py
|
||||
@@ -8084,7 +8084,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],
|
||||
@@ -8102,7 +8102,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 e218a81cdc..839ad724e1 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_ft2font.py b/lib/matplotlib/tests/test_ft2font.py
|
||||
index 6ba23bab34..0aee3222f1 100644
|
||||
--- a/lib/matplotlib/tests/test_ft2font.py
|
||||
+++ b/lib/matplotlib/tests/test_ft2font.py
|
||||
@@ -706,10 +706,10 @@ def test_ft2font_get_sfnt_table(font_name, header):
|
||||
|
||||
@pytest.mark.parametrize('left, right, unscaled, unfitted, default', [
|
||||
# These are all the same class.
|
||||
- ('A', 'A', 57, 248, 256), ('A', 'À', 57, 248, 256), ('A', 'Á', 57, 248, 256),
|
||||
- ('A', 'Â', 57, 248, 256), ('A', 'Ã', 57, 248, 256), ('A', 'Ä', 57, 248, 256),
|
||||
+ ('A', 'A', 57, 247, 256), ('A', 'À', 57, 247, 256), ('A', 'Á', 57, 247, 256),
|
||||
+ ('A', 'Â', 57, 247, 256), ('A', 'Ã', 57, 247, 256), ('A', 'Ä', 57, 247, 256),
|
||||
# And a few other random ones.
|
||||
- ('D', 'A', -36, -156, -128), ('T', '.', -243, -1056, -1024),
|
||||
+ ('D', 'A', -36, -156, -128), ('T', '.', -243, -1055, -1024),
|
||||
('X', 'C', -149, -647, -640), ('-', 'J', 114, 495, 512),
|
||||
])
|
||||
def test_ft2font_get_kerning(left, right, unscaled, unfitted, default):
|
||||
diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
|
||||
index eb3bfca7c2..c01be3aec0 100644
|
||||
--- a/lib/matplotlib/tests/test_legend.py
|
||||
+++ b/lib/matplotlib/tests/test_legend.py
|
||||
@@ -520,9 +520,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 844ab8cf3a..826a8a0c3a 100644
|
||||
--- a/lib/matplotlib/tests/test_polar.py
|
||||
+++ b/lib/matplotlib/tests/test_polar.py
|
||||
@@ -328,7 +328,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"])
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
From 05484ecf85b7f9ca67da454a4147098023626a81 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
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>
|
||||
---
|
||||
pyproject.toml | 13 +------------
|
||||
1 file changed, 1 insertion(+), 12 deletions(-)
|
||||
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 44f56d8cc1..33ce124527 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -5,18 +5,7 @@ requires = [
|
||||
"pybind11>=2.6",
|
||||
"setuptools>=64",
|
||||
"setuptools_scm>=7",
|
||||
-
|
||||
- # Comments on numpy build requirement range:
|
||||
- #
|
||||
- # 1. >=2.0.x is the numpy requirement for wheel builds for distribution
|
||||
- # on PyPI - building against 2.x yields wheels that are also
|
||||
- # ABI-compatible with numpy 1.x at runtime.
|
||||
- # 2. Note that building against numpy 1.x works fine too - users and
|
||||
- # redistributors can do this by installing the numpy version they like
|
||||
- # and disabling build isolation.
|
||||
- # 3. The <2.3 upper bound is for matching the numpy deprecation policy,
|
||||
- # it should not be loosened.
|
||||
- "numpy>=2.0.0rc1,<2.3",
|
||||
+ "numpy",
|
||||
]
|
||||
|
||||
[tool.setuptools_scm]
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -1,202 +0,0 @@
|
||||
From 1bbba2045f0722ccd97513037d49f2f656e349df 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.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_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.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 0372747009..9cee2dbd41 100644
|
||||
--- a/lib/matplotlib/tests/test_axes.py
|
||||
+++ b/lib/matplotlib/tests/test_axes.py
|
||||
@@ -7642,7 +7642,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],
|
||||
@@ -7660,7 +7660,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 8a83515f16..26bc9d6c48 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 9a1c6be6fc..7df88e96b4 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.1':
|
||||
+ '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.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
|
||||
@@ -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.43.0
|
||||
|
||||
38
0003-Unpin-meson-python-build-requirement.patch
Normal file
38
0003-Unpin-meson-python-build-requirement.patch
Normal file
@@ -0,0 +1,38 @@
|
||||
From ff0a79b707eb6603c0cb0bd3778c3c88fbacfac8 Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Fri, 13 Dec 2024 02:03:33 -0500
|
||||
Subject: [PATCH 3/5] Unpin meson-python build requirement
|
||||
|
||||
This is pinned to fix sdists, but we already have one and are building a
|
||||
wheel, which should be fine.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
pyproject.toml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/pyproject.toml b/pyproject.toml
|
||||
index 23c441b52c..f762c85d98 100644
|
||||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -48,7 +48,7 @@ requires-python = ">=3.10"
|
||||
[project.optional-dependencies]
|
||||
# Should be a copy of the build dependencies below.
|
||||
dev = [
|
||||
- "meson-python>=0.13.1,<0.17.0",
|
||||
+ "meson-python>=0.13.1",
|
||||
"pybind11>=2.13.2,!=2.13.3",
|
||||
"setuptools_scm>=7",
|
||||
# Not required by us but setuptools_scm without a version, cso _if_
|
||||
@@ -72,7 +72,7 @@ dev = [
|
||||
build-backend = "mesonpy"
|
||||
# Also keep in sync with optional dependencies above.
|
||||
requires = [
|
||||
- "meson-python>=0.13.1,<0.17.0",
|
||||
+ "meson-python>=0.13.1",
|
||||
"pybind11>=2.13.2,!=2.13.3",
|
||||
"setuptools_scm>=7",
|
||||
]
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From 59c900f49d605c1300c4bdaef23c94ad32a07e29 Mon Sep 17 00:00:00 2001
|
||||
From abf5f01b8fa262c71f7ccdf189c608f189028a44 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/5] Use old stride_windows implementation on 32-bit x86
|
||||
@@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
1 file changed, 35 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py
|
||||
index 1948e6333e..158417a1c0 100644
|
||||
index 8326ac186e..bdaa34b734 100644
|
||||
--- a/lib/matplotlib/mlab.py
|
||||
+++ b/lib/matplotlib/mlab.py
|
||||
@@ -49,6 +49,7 @@ Spectral functions
|
||||
@@ -80,5 +80,5 @@ index 1948e6333e..158417a1c0 100644
|
||||
resultY = resultY * window.reshape((-1, 1))
|
||||
resultY = np.fft.fft(resultY, n=pad_to, axis=0)[:numFreqs, :]
|
||||
--
|
||||
2.43.0
|
||||
2.52.0
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 7a5bbfe3bd5905a7daefac690ebdfd7403c8ef7a Mon Sep 17 00:00:00 2001
|
||||
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
Date: Tue, 12 Nov 2024 01:05:25 -0500
|
||||
Subject: [PATCH 5/5] Partially revert "TST: Fix minor issues in interactive
|
||||
backend test (#28838)"
|
||||
|
||||
This reverts commit 7c7f94c5f71e99f148255e3bb570fec25c8fe754.
|
||||
|
||||
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
||||
---
|
||||
lib/matplotlib/tests/test_backends_interactive.py | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py
|
||||
index 4e3c1bbc2b..903ae87cbb 100644
|
||||
--- a/lib/matplotlib/tests/test_backends_interactive.py
|
||||
+++ b/lib/matplotlib/tests/test_backends_interactive.py
|
||||
@@ -232,7 +232,10 @@ def _test_interactive_impl():
|
||||
result_after = io.BytesIO()
|
||||
fig.savefig(result_after, format='png')
|
||||
|
||||
- assert result.getvalue() == result_after.getvalue()
|
||||
+ if 'qt' not in backend and 'wx' not in backend:
|
||||
+ # FIXME: This should be enabled everywhere once Qt5 is fixed on macOS
|
||||
+ # to not resize incorrectly.
|
||||
+ assert result.getvalue() == result_after.getvalue()
|
||||
|
||||
|
||||
@pytest.mark.parametrize("env", _get_testable_interactive_backends())
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From f6edb2b275f8fb4daa047df0b12008eac53306f0 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/mpl_toolkits/mplot3d/tests/test_axes3d.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py b/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py
|
||||
index b3fcffcc6e..f400312859 100644
|
||||
--- a/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py
|
||||
+++ b/lib/mpl_toolkits/mplot3d/tests/test_axes3d.py
|
||||
@@ -2264,7 +2264,7 @@ def test_scatter_masked_color():
|
||||
len(super(type(path3d), path3d).get_facecolors())
|
||||
|
||||
|
||||
-@mpl3d_image_comparison(['surface3d_zsort_inf.png'], style='mpl20')
|
||||
+@mpl3d_image_comparison(['surface3d_zsort_inf.png'], style='mpl20', tol=0.055)
|
||||
def test_surface3d_zsort_inf():
|
||||
fig = plt.figure()
|
||||
ax = fig.add_subplot(projection='3d')
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
[libs]
|
||||
system_freetype = True
|
||||
system_qhull = True
|
||||
|
||||
[packages]
|
||||
tests = True
|
||||
toolkits = True
|
||||
toolkits_tests = True
|
||||
@@ -10,8 +10,8 @@
|
||||
%bcond_without wx
|
||||
%endif
|
||||
|
||||
# the default backend; one of GTK3Agg GTK3Cairo MacOSX Qt4Agg Qt5Agg TkAgg
|
||||
# WXAgg Agg Cairo PS PDF SVG
|
||||
# The default backend; one of GTK3Agg GTK3Cairo GTK4Agg GTK4Cairo MacOSX QtAgg
|
||||
# TkAgg WXAgg Agg Cairo PS PDF SVG
|
||||
%global backend TkAgg
|
||||
|
||||
%if "%{backend}" == "TkAgg"
|
||||
@@ -26,17 +26,19 @@
|
||||
% endif
|
||||
%endif
|
||||
|
||||
%global build_backend_args -Csetup-args="-Dsystem-freetype=true" -Csetup-args="-Dsystem-qhull=true" -Cinstall-args="--tags=data,python-runtime,runtime,tests"
|
||||
|
||||
# Use the same directory of the main package for subpackage licence and docs
|
||||
%global _docdir_fmt %{name}
|
||||
|
||||
# Updated test images for new FreeType.
|
||||
%global mpl_images_version 3.8.3
|
||||
%global mpl_images_version 3.10.8
|
||||
|
||||
# The version of FreeType in this Fedora branch.
|
||||
%global ftver 2.13.1
|
||||
%global ftver 2.14.1
|
||||
|
||||
Name: python-matplotlib
|
||||
Version: 3.8.4
|
||||
Version: 3.10.8
|
||||
%global Version %{version_no_tilde %{quote:%nil}}
|
||||
Release: %autorelease
|
||||
Summary: Python 2D plotting library
|
||||
@@ -45,7 +47,6 @@ Summary: Python 2D plotting library
|
||||
License: PSF-2.0 AND MIT AND CC0-1.0
|
||||
URL: https://matplotlib.org
|
||||
Source0: %pypi_source matplotlib %{Version}
|
||||
Source1: mplsetup.cfg
|
||||
|
||||
# Fedora-specific patches; see:
|
||||
# https://github.com/fedora-python/matplotlib/tree/fedora-patches
|
||||
@@ -53,15 +54,16 @@ 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
|
||||
# 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
|
||||
Patch1002: 0002-Set-FreeType-version-to-%{ftver}-and-update-tolerances.patch
|
||||
# We don't need to use older meson-python.
|
||||
Patch1003: 0003-Unpin-meson-python-build-requirement.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/26502
|
||||
Patch0002: 0005-TST-Increase-some-tolerances-for-non-x86-arches.patch
|
||||
|
||||
# Temporary fix for some tests.
|
||||
Patch0002: 0005-Partially-revert-TST-Fix-minor-issues-in-interactive.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
@@ -69,20 +71,25 @@ BuildRequires: glibc-langpack-en
|
||||
BuildRequires: freetype-devel
|
||||
BuildRequires: libpng-devel
|
||||
BuildRequires: qhull-devel
|
||||
BuildRequires: xorg-x11-server-Xvfb
|
||||
%ifnarch %{ix86}
|
||||
BuildRequires: xwayland-run
|
||||
%endif
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
%ifnarch %{ix86}
|
||||
BuildRequires: ghostscript
|
||||
# No ImageMagick for EL8/ELN/EL9
|
||||
%if 0%{?fedora} || (0%{?rhel} && 0%{?rhel} < 8)
|
||||
BuildRequires: ImageMagick
|
||||
%endif
|
||||
BuildRequires: inkscape
|
||||
%endif
|
||||
|
||||
BuildRequires: font(dejavusans)
|
||||
BuildRequires: font(notosanscjkjp)
|
||||
BuildRequires: font(wenquanyizenhei)
|
||||
|
||||
%ifnarch %{ix86}
|
||||
BuildRequires: texlive-collection-basic
|
||||
BuildRequires: texlive-collection-fontsrecommended
|
||||
BuildRequires: texlive-collection-latex
|
||||
@@ -131,6 +138,7 @@ BuildRequires: tex(cmr10.tfm)
|
||||
BuildRequires: tex(cmss10.tfm)
|
||||
BuildRequires: tex(cmsy10.tfm)
|
||||
BuildRequires: tex(cmtt10.tfm)
|
||||
%endif
|
||||
|
||||
%description
|
||||
Matplotlib is a Python 2D plotting library which produces publication
|
||||
@@ -143,25 +151,17 @@ 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.
|
||||
|
||||
%package -n python3-matplotlib-data
|
||||
Summary: Data used by python-matplotlib
|
||||
BuildArch: noarch
|
||||
%if %{with bundled_fonts}
|
||||
Requires: python3-matplotlib-data-fonts = %{version}-%{release}
|
||||
%endif
|
||||
Obsoletes: python-matplotlib-data < 3
|
||||
|
||||
%description -n python3-matplotlib-data
|
||||
%{summary}
|
||||
|
||||
%if %{with bundled_fonts}
|
||||
%package -n python3-matplotlib-data-fonts
|
||||
Summary: Fonts used by python-matplotlib
|
||||
# Carlogo, STIX and Computer Modern is OFL
|
||||
# DejaVu is Bitstream Vera and Public Domain
|
||||
License: OFL-1.1 and Bitstream-Vera and LicenseRef-Fedora-Public-Domain
|
||||
BuildArch: noarch
|
||||
Requires: python3-matplotlib-data = %{version}-%{release}
|
||||
License: OFL-1.1 AND Bitstream-Vera AND LicenseRef-Fedora-Public-Domain
|
||||
%if %{without bundled_fonts}
|
||||
Requires: stix-math-fonts
|
||||
%else
|
||||
Provides: bundled(stix-math-fonts)
|
||||
%endif
|
||||
Obsoletes: python-matplotlib-data-fonts < 3
|
||||
|
||||
%description -n python3-matplotlib-data-fonts
|
||||
@@ -171,27 +171,30 @@ Obsoletes: python-matplotlib-data-fonts < 3
|
||||
%package -n python3-matplotlib
|
||||
Summary: Python 2D plotting library
|
||||
BuildRequires: python3-devel
|
||||
%ifnarch %{ix86}
|
||||
BuildRequires: python3dist(pycairo)
|
||||
%endif
|
||||
BuildRequires: python3dist(pytz)
|
||||
BuildRequires: python3dist(sphinx)
|
||||
Requires: dejavu-sans-fonts
|
||||
Recommends: texlive-dvipng
|
||||
Requires: (texlive-dvipng if texlive-base)
|
||||
Requires: python3-matplotlib-data = %{version}-%{release}
|
||||
Requires: python3-matplotlib-data-fonts = %{version}-%{release}
|
||||
Requires: python3dist(pycairo)
|
||||
Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release}
|
||||
Recommends: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release}
|
||||
%if %{with check}
|
||||
BuildRequires: python3dist(pytest)
|
||||
BuildRequires: python3dist(pytest-rerunfailures)
|
||||
BuildRequires: python3dist(pytest-timeout)
|
||||
BuildRequires: python3dist(pytest-xdist)
|
||||
%ifnarch %{ix86}
|
||||
BuildRequires: python3dist(pikepdf)
|
||||
%endif
|
||||
%if %{without bundled_fonts}
|
||||
Requires: stix-math-fonts
|
||||
%else
|
||||
Provides: bundled(stix-math-fonts)
|
||||
%endif
|
||||
# Remove in F45.
|
||||
Provides: python3-matplotlib-data = %{version}-%{release}
|
||||
Obsoletes: python3-matplotlib-data < 3.11~~~
|
||||
Obsoletes: python-matplotlib-data < 3
|
||||
|
||||
%description -n python3-matplotlib
|
||||
Matplotlib is a Python 2D plotting library which produces publication
|
||||
@@ -207,7 +210,10 @@ errorcharts, scatterplots, etc, with just a few lines of code.
|
||||
%package -n python3-matplotlib-qt5
|
||||
Summary: Qt5 backend for python3-matplotlib
|
||||
BuildRequires: python3dist(cairocffi)
|
||||
%ifnarch %{ix86}
|
||||
BuildRequires: python3dist(pyqt5)
|
||||
BuildRequires: qt5-qtwayland
|
||||
%endif
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
Requires: python3dist(cairocffi)
|
||||
Requires: python3dist(pyqt5)
|
||||
@@ -219,7 +225,11 @@ Obsoletes: python3-matplotlib-qt4 < 3.5.0-0
|
||||
%package -n python3-matplotlib-qt6
|
||||
Summary: Qt6 backend for python3-matplotlib
|
||||
BuildRequires: python3dist(cairocffi)
|
||||
%ifnarch %{ix86}
|
||||
BuildRequires: python3dist(pyqt6)
|
||||
BuildRequires: python3-pyqt6
|
||||
BuildRequires: qt6-qtwayland
|
||||
%endif
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
Requires: python3dist(cairocffi)
|
||||
Requires: python3dist(pyqt6)
|
||||
@@ -229,9 +239,15 @@ Requires: python3dist(pyqt6)
|
||||
|
||||
%package -n python3-matplotlib-gtk3
|
||||
Summary: GTK3 backend for python3-matplotlib
|
||||
%ifnarch %{ix86}
|
||||
# For Cairo and xlib typelib files.
|
||||
BuildRequires: gobject-introspection
|
||||
# This should be converted to typelib(Gtk) when supported
|
||||
BuildRequires: gtk3
|
||||
BuildRequires: python3-gobject
|
||||
%endif
|
||||
# For Cairo and xlib typelib files.
|
||||
Requires: gobject-introspection
|
||||
Requires: gtk3%{?_isa}
|
||||
Requires: python3-gobject%{?_isa}
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
@@ -241,9 +257,15 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
|
||||
%package -n python3-matplotlib-gtk4
|
||||
Summary: GTK4 backend for python3-matplotlib
|
||||
%ifnarch %{ix86}
|
||||
# For Cairo and xlib typelib files.
|
||||
BuildRequires: gobject-introspection
|
||||
# This should be converted to typelib(Gtk) when supported
|
||||
BuildRequires: gtk4
|
||||
BuildRequires: python3-gobject
|
||||
%endif
|
||||
# For Cairo and xlib typelib files.
|
||||
Requires: gobject-introspection
|
||||
Requires: gtk4%{?_isa}
|
||||
Requires: python3-gobject%{?_isa}
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
@@ -253,8 +275,10 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
|
||||
%package -n python3-matplotlib-tk
|
||||
Summary: Tk backend for python3-matplotlib
|
||||
%ifnarch %{ix86}
|
||||
BuildRequires: python3-pillow-tk
|
||||
BuildRequires: python3-tkinter
|
||||
%endif
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
Requires: python3-pillow-tk
|
||||
Requires: python3-tkinter
|
||||
@@ -265,7 +289,9 @@ Requires: python3-tkinter
|
||||
%if %{with wx}
|
||||
%package -n python3-matplotlib-wx
|
||||
Summary: WX backend for python3-matplotlib
|
||||
%ifnarch %{ix86}
|
||||
BuildRequires: python3dist(wxpython)
|
||||
%endif
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
Requires: python3dist(wxpython)
|
||||
|
||||
@@ -281,6 +307,7 @@ BuildRequires: make
|
||||
BuildRequires: python3dist(sphinx)
|
||||
BuildRequires: tex(latex)
|
||||
BuildRequires: tex-preview
|
||||
BuildRequires: ipython
|
||||
%endif
|
||||
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
|
||||
@@ -303,22 +330,19 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
|
||||
# Updated test images for new FreeType.
|
||||
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
|
||||
|
||||
# Backports or reported upstream
|
||||
%autopatch -p1 -M 999
|
||||
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires -r
|
||||
%pyproject_buildrequires -p
|
||||
|
||||
|
||||
%build
|
||||
%set_build_flags
|
||||
export http_proxy=http://127.0.0.1/
|
||||
|
||||
MPLCONFIGDIR=$PWD %pyproject_wheel
|
||||
MPLCONFIGDIR=$PWD %pyproject_wheel %build_backend_args
|
||||
%if %{with html}
|
||||
# Need to make built matplotlib libs available for the sphinx extensions:
|
||||
MPLCONFIGDIR=$PWD \
|
||||
@@ -336,16 +360,12 @@ export http_proxy=http://127.0.0.1/
|
||||
MPLCONFIGDIR=$PWD %pyproject_install
|
||||
|
||||
# Delete unnecessary files.
|
||||
rm %{buildroot}%{python3_sitearch}/matplotlib/backends/web_backend/.{eslintrc.js,prettierignore,prettierrc}
|
||||
rm %{buildroot}%{python3_sitearch}/matplotlib/tests/tinypages/.gitignore
|
||||
rm %{buildroot}%{python3_sitearch}/matplotlib/tests/tinypages/_static/.gitignore
|
||||
|
||||
# Move files to Fedora-specific locations.
|
||||
mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib
|
||||
mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data \
|
||||
%{buildroot}%{_datadir}/matplotlib
|
||||
%if %{without bundled_fonts}
|
||||
rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts
|
||||
rm -rf %{buildroot}%{python3_sitearch}/matplotlib/mpl-data/fonts
|
||||
%endif
|
||||
|
||||
|
||||
@@ -354,40 +374,52 @@ rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts
|
||||
# These files confuse pytest, and we want to test the installed copy.
|
||||
rm -rf build*/
|
||||
|
||||
%ifnarch %{ix86}
|
||||
# We need to prime this LaTeX cache stuff, or it might fail while running tests
|
||||
# in parallel.
|
||||
mktexfmt latex.fmt
|
||||
mktexfmt lualatex.fmt
|
||||
mktexfmt pdflatex.fmt
|
||||
mktexfmt xelatex.fmt
|
||||
%endif
|
||||
# Also prime the font cache.
|
||||
%{py3_test_envvars} %{python3} -c 'import matplotlib.font_manager'
|
||||
|
||||
export http_proxy=http://127.0.0.1/
|
||||
# Skips:
|
||||
# * test_invisible_Line_rendering: Checks for "slowness" that often fails on a
|
||||
# heavily-loaded builder.
|
||||
# * test_form_widget_get_with_datetime_and_date_fields is flaky.
|
||||
MPLCONFIGDIR=$PWD \
|
||||
|
||||
# This test checks for "slowness" that often fails on a heavily-loaded builder.
|
||||
k="${k-}${k+ and }not test_invisible_Line_rendering"
|
||||
# This test is flaky.
|
||||
k="${k-}${k+ and }not test_form_widget_get_with_datetime_and_date_fields"
|
||||
|
||||
env MPLCONFIGDIR=$PWD \
|
||||
%{pytest} -ra -n auto \
|
||||
-m 'not network' -k "${k-}" \
|
||||
--pyargs matplotlib mpl_toolkits.axes_grid1 mpl_toolkits.axisartist mpl_toolkits.mplot3d
|
||||
%ifnarch %{ix86}
|
||||
xvfb-run -a -s "-screen 0 640x480x24" \
|
||||
# Skip GTK3Cairo tests that are broken in virtual display.
|
||||
k="${k-}${k+ and }not (test_interactive_thread_safety and gtk3cairo)"
|
||||
k="${k-}${k+ and }not (test_interactive_timers and gtk3cairo)"
|
||||
# These two segfault, resp. timeout in Python 3.14 Copr test environment
|
||||
k="${k-}${k+ and }not test_interactive_thread_safety"
|
||||
k="${k-}${k+ and }not test_figuremanager_cleans_own_mainloop"
|
||||
# Run backend tests with Wayland.
|
||||
wlheadless-run -- env MPLCONFIGDIR=$PWD GDK_BACKEND=wayland QT_QPA_PLATFORM=wayland \
|
||||
%{pytest} -vra -n auto \
|
||||
-m 'not network' -k "${k-}" \
|
||||
--pyargs matplotlib.tests.test_backend_gtk3 matplotlib.tests.test_backend_qt matplotlib.tests.test_backend_tk matplotlib.tests.test_backends_interactive
|
||||
# Run backend tests with XWayland.
|
||||
xwfb-run -- env MPLCONFIGDIR=$PWD \
|
||||
%{pytest} -ra -n auto \
|
||||
-m 'not network' -k "${k-}" \
|
||||
--pyargs matplotlib.tests.test_backend_gtk3 matplotlib.tests.test_backend_qt matplotlib.tests.test_backend_tk matplotlib.tests.test_backends_interactive
|
||||
%endif
|
||||
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.axes_grid1 mpl_toolkits.axisartist mpl_toolkits.mplot3d
|
||||
%endif
|
||||
|
||||
|
||||
%files -n python3-matplotlib-data
|
||||
%{_datadir}/matplotlib/mpl-data/
|
||||
%if %{with bundled_fonts}
|
||||
%exclude %{_datadir}/matplotlib/mpl-data/fonts/
|
||||
%endif
|
||||
|
||||
%if %{with bundled_fonts}
|
||||
%files -n python3-matplotlib-data-fonts
|
||||
%{_datadir}/matplotlib/mpl-data/fonts/
|
||||
%if %{with bundled_fonts}
|
||||
%{python3_sitearch}/matplotlib/mpl-data/fonts/
|
||||
%endif
|
||||
|
||||
%files -n python3-matplotlib-doc
|
||||
|
||||
4
sources
4
sources
@@ -1,2 +1,2 @@
|
||||
SHA512 (matplotlib-3.8.4.tar.gz) = d4c6a5b3484927dbae1b1203e9984b67d08c958c4a5136abaa805f1eb221146fb1211e5f20456e281d41fc09c94917a796ffacfdb185c58eeeb6d19e60c78b1a
|
||||
SHA512 (matplotlib-3.8.3-with-freetype-2.13.1.tar.gz) = 72b207fac6539cf9e64706cbd61be4bf2349be8d5f66083db1f014cdbdf049c48f2ce17a67ac0e646f668818cff6ffa9053fc31f2c2f4bc3f8e9f70272146d8f
|
||||
SHA512 (matplotlib-3.10.8.tar.gz) = 66d07fb0b13821e88f6e6fe9f9882542340c074198dce7d5f8bf5d65d1c64326ae7517ad38d6357491c54aedd8cd1b03f555ad6d9337754db5dbd43c6305ab3f
|
||||
SHA512 (matplotlib-3.10.8-with-freetype-2.14.1.tar.gz) = 03f5b406caced1e2a59f914a64808b146954ce2285551cb2314664f883a05cbc93a92a28f5c259817a77e048012542d09a0180a230591e40ccef297f477a1e5b
|
||||
|
||||
Reference in New Issue
Block a user