Compare commits

...

1 Commits
i10fe ... i10ce

4
.gitignore vendored

@ -1,2 +1,2 @@
SOURCES/matplotlib-3.8.4.tar.gz SOURCES/matplotlib-3.9.1-with-freetype-2.13.1.tar.gz
SOURCES/matplotlib-3.8.3-with-freetype-2.13.1.tar.gz SOURCES/matplotlib-3.9.1.tar.gz

@ -1,2 +1,2 @@
1e396f85cbd275522fa43fc41c1320cba421337e SOURCES/matplotlib-3.8.4.tar.gz a5dbd114859b0bd40258aa81c76d372d42921591 SOURCES/matplotlib-3.9.1-with-freetype-2.13.1.tar.gz
46dde66f5d993e2b9eb22821372618fadee0faec SOURCES/matplotlib-3.8.3-with-freetype-2.13.1.tar.gz b98c9e75d53c85a5c0340adc87da0a405966837f SOURCES/matplotlib-3.9.1.tar.gz

@ -1,7 +1,7 @@
From ce0e47a95ec43750080afa889b35ec26106a6a47 Mon Sep 17 00:00:00 2001 From 7aa7b4d240236c0660be400a7a9ef7d5837e6d47 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com> From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Wed, 27 Sep 2017 19:35:59 -0400 Date: Wed, 27 Sep 2017 19:35:59 -0400
Subject: [PATCH 1/5] matplotlibrc path search fix Subject: [PATCH 1/4] matplotlibrc path search fix
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com> 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(-) 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index 353406832c..26dd9372e1 100644 index 9e9325a27d..346e3d3454 100644
--- a/lib/matplotlib/__init__.py --- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py
@@ -582,7 +582,8 @@ def get_cachedir(): @@ -586,7 +586,8 @@ def get_cachedir():
@_logged_cached('matplotlib data path: %s') @_logged_cached('matplotlib data path: %s')
def get_data_path(): def get_data_path():
"""Return the path to Matplotlib data.""" """Return the path to Matplotlib data."""
@ -22,7 +22,7 @@ index 353406832c..26dd9372e1 100644
def matplotlib_fname(): def matplotlib_fname():
@@ -602,6 +603,7 @@ def matplotlib_fname(): @@ -606,6 +607,7 @@ def matplotlib_fname():
is not defined) is not defined)
- On other platforms, - On other platforms,
- ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined - ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined
@ -30,7 +30,7 @@ index 353406832c..26dd9372e1 100644
- Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always - Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always
exist. exist.
""" """
@@ -620,6 +622,7 @@ def matplotlib_fname(): @@ -624,6 +626,7 @@ def matplotlib_fname():
yield matplotlibrc yield matplotlibrc
yield os.path.join(matplotlibrc, 'matplotlibrc') yield os.path.join(matplotlibrc, 'matplotlibrc')
yield os.path.join(get_configdir(), 'matplotlibrc') yield os.path.join(get_configdir(), 'matplotlibrc')
@ -39,5 +39,5 @@ index 353406832c..26dd9372e1 100644
for fname in gen_candidates(): for fname in gen_candidates():
-- --
2.43.0 2.44.0

@ -1,7 +1,7 @@
From 05484ecf85b7f9ca67da454a4147098023626a81 Mon Sep 17 00:00:00 2001 From 6caae8127c121be0ad36e0e7b47518519543dffd Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com> From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Fri, 11 Aug 2023 02:36:06 -0400 Date: Fri, 11 Aug 2023 02:36:06 -0400
Subject: [PATCH 2/5] Unpin NumPy build requirement Subject: [PATCH 2/4] Unpin NumPy build requirement
This is so high simply to take advantage of the new This is so high simply to take advantage of the new
backwards-compatibility guarantee in NumPy 1.25, but Fedora will never backwards-compatibility guarantee in NumPy 1.25, but Fedora will never
@ -13,12 +13,12 @@ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
1 file changed, 1 insertion(+), 12 deletions(-) 1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml diff --git a/pyproject.toml b/pyproject.toml
index 44f56d8cc1..33ce124527 100644 index fe75b325dc..4c34fa395f 100644
--- a/pyproject.toml --- a/pyproject.toml
+++ b/pyproject.toml +++ b/pyproject.toml
@@ -5,18 +5,7 @@ requires = [ @@ -75,18 +75,7 @@ requires = [
"meson-python>=0.13.1",
"pybind11>=2.6", "pybind11>=2.6",
"setuptools>=64",
"setuptools_scm>=7", "setuptools_scm>=7",
- -
- # Comments on numpy build requirement range: - # Comments on numpy build requirement range:
@ -35,7 +35,7 @@ index 44f56d8cc1..33ce124527 100644
+ "numpy", + "numpy",
] ]
[tool.setuptools_scm] [tool.meson-python.args]
-- --
2.43.0 2.44.0

@ -1,38 +1,51 @@
From 1bbba2045f0722ccd97513037d49f2f656e349df Mon Sep 17 00:00:00 2001 From d2ce17b7096e9f83f9ba4ac37052fe5d2e07f223 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com> From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Fri, 14 Feb 2020 06:05:42 -0500 Date: Fri, 14 Feb 2020 06:05:42 -0500
Subject: [PATCH 3/5] Set FreeType version to 2.13.1 and update tolerances Subject: [PATCH 3/4] Set FreeType version to 2.13.1 and update tolerances
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com> Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
--- ---
extern/meson.build | 2 +-
lib/matplotlib/__init__.py | 2 +- lib/matplotlib/__init__.py | 2 +-
lib/matplotlib/tests/test_axes.py | 4 ++-- lib/matplotlib/tests/test_axes.py | 4 ++--
lib/matplotlib/tests/test_backend_pgf.py | 2 +- lib/matplotlib/tests/test_backend_pgf.py | 2 +-
.../tests/test_constrainedlayout.py | 10 ++++----- lib/matplotlib/tests/test_constrainedlayout.py | 10 +++++-----
lib/matplotlib/tests/test_legend.py | 4 ++-- lib/matplotlib/tests/test_legend.py | 4 ++--
lib/matplotlib/tests/test_polar.py | 2 +- lib/matplotlib/tests/test_polar.py | 2 +-
lib/matplotlib/tests/test_tightlayout.py | 10 ++++----- lib/matplotlib/tests/test_tightlayout.py | 10 +++++-----
setupext.py | 21 +++++++++++++++++-- 8 files changed, 18 insertions(+), 18 deletions(-)
8 files changed, 36 insertions(+), 19 deletions(-)
diff --git a/extern/meson.build b/extern/meson.build
index 662feb7872..df42b908af 100644
--- a/extern/meson.build
+++ b/extern/meson.build
@@ -14,7 +14,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.13.1'
freetype_proj = subproject(
f'freetype-@LOCAL_FREETYPE_VERSION@',
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index 26dd9372e1..81b77d455f 100644 index 346e3d3454..ebf5818417 100644
--- a/lib/matplotlib/__init__.py --- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py
@@ -1307,7 +1307,7 @@ def _val_or_rc(val, rc_name): @@ -1313,7 +1313,7 @@ def _val_or_rc(val, rc_name):
def _init_tests(): def _init_tests():
# The version of FreeType to install locally for running the # The version of FreeType to install locally for running the tests. This must match
# tests. This must match the value in `setupext.py` # the value in `meson.build`.
- LOCAL_FREETYPE_VERSION = '2.6.1' - LOCAL_FREETYPE_VERSION = '2.6.1'
+ LOCAL_FREETYPE_VERSION = '2.13.1' + LOCAL_FREETYPE_VERSION = '2.13.1'
from matplotlib import ft2font from matplotlib import ft2font
if (ft2font.__freetype_version__ != LOCAL_FREETYPE_VERSION or if (ft2font.__freetype_version__ != LOCAL_FREETYPE_VERSION or
diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
index 0372747009..9cee2dbd41 100644 index 0ed5a11c13..ee220f1854 100644
--- a/lib/matplotlib/tests/test_axes.py --- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py
@@ -7642,7 +7642,7 @@ def test_normal_axes(): @@ -7714,7 +7714,7 @@ def test_normal_axes():
] ]
for nn, b in enumerate(bbaxis): for nn, b in enumerate(bbaxis):
targetbb = mtransforms.Bbox.from_bounds(*target[nn]) targetbb = mtransforms.Bbox.from_bounds(*target[nn])
@ -41,7 +54,7 @@ index 0372747009..9cee2dbd41 100644
target = [ target = [
[150.0, 119.999, 930.0, 11.111], [150.0, 119.999, 930.0, 11.111],
@@ -7660,7 +7660,7 @@ def test_normal_axes(): @@ -7732,7 +7732,7 @@ def test_normal_axes():
target = [85.5138, 75.88888, 1021.11, 1017.11] target = [85.5138, 75.88888, 1021.11, 1017.11]
targetbb = mtransforms.Bbox.from_bounds(*target) targetbb = mtransforms.Bbox.from_bounds(*target)
@ -64,10 +77,10 @@ index 8a83515f16..26bc9d6c48 100644
mpl.rcParams.update({'font.family': 'serif', 'pgf.rcfonts': False}) mpl.rcParams.update({'font.family': 'serif', 'pgf.rcfonts': False})
Y, X = np.ogrid[-1:1:40j, -1:1:40j] 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 diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
index 6703dfe315..ea6a8d9630 100644 index 4dc4d9501e..47a4e80bb5 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py --- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -432,7 +432,7 @@ def test_hidden_axes(): @@ -435,7 +435,7 @@ def test_hidden_axes():
extents1 = np.copy(axs[0, 0].get_position().extents) extents1 = np.copy(axs[0, 0].get_position().extents)
np.testing.assert_allclose( np.testing.assert_allclose(
@ -76,7 +89,7 @@ index 6703dfe315..ea6a8d9630 100644
def test_colorbar_align(): def test_colorbar_align():
@@ -638,9 +638,9 @@ def test_compressed1(): @@ -641,9 +641,9 @@ def test_compressed1():
fig.draw_without_rendering() fig.draw_without_rendering()
pos = axs[0, 0].get_position() pos = axs[0, 0].get_position()
@ -88,7 +101,7 @@ index 6703dfe315..ea6a8d9630 100644
# wider than tall # wider than tall
fig, axs = plt.subplots(2, 3, layout='compressed', fig, axs = plt.subplots(2, 3, layout='compressed',
@@ -653,10 +653,10 @@ def test_compressed1(): @@ -656,10 +656,10 @@ def test_compressed1():
pos = axs[0, 0].get_position() pos = axs[0, 0].get_position()
np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3) np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
@ -102,10 +115,10 @@ index 6703dfe315..ea6a8d9630 100644
@pytest.mark.parametrize('arg, state', [ @pytest.mark.parametrize('arg, state', [
diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
index 759ac6aada..8140d4d69f 100644 index 0353f1408b..f5b341daaa 100644
--- a/lib/matplotlib/tests/test_legend.py --- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py
@@ -516,9 +516,9 @@ def test_figure_legend_outside(): @@ -520,9 +520,9 @@ def test_figure_legend_outside():
fig.draw_without_rendering() fig.draw_without_rendering()
assert_allclose(axs.get_window_extent().extents, assert_allclose(axs.get_window_extent().extents,
@ -116,9 +129,9 @@ index 759ac6aada..8140d4d69f 100644
+ legbb[nn], rtol=1) + legbb[nn], rtol=1)
@image_comparison(['legend_stackplot.png']) @image_comparison(['legend_stackplot.png'],
diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py
index 9a1c6be6fc..7df88e96b4 100644 index 6b3c08d2eb..5160112e37 100644
--- a/lib/matplotlib/tests/test_polar.py --- a/lib/matplotlib/tests/test_polar.py
+++ b/lib/matplotlib/tests/test_polar.py +++ b/lib/matplotlib/tests/test_polar.py
@@ -321,7 +321,7 @@ def test_get_tightbbox_polar(): @@ -321,7 +321,7 @@ def test_get_tightbbox_polar():
@ -131,72 +144,28 @@ index 9a1c6be6fc..7df88e96b4 100644
@check_figures_equal(extensions=["png"]) @check_figures_equal(extensions=["png"])
diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py
index 968f0da7b5..89caa81b98 100644 index 9c654f4d1f..9678e34a80 100644
--- a/lib/matplotlib/tests/test_tightlayout.py --- a/lib/matplotlib/tests/test_tightlayout.py
+++ b/lib/matplotlib/tests/test_tightlayout.py +++ b/lib/matplotlib/tests/test_tightlayout.py
@@ -173,12 +173,12 @@ def test_outward_ticks(): @@ -174,13 +174,13 @@ def test_outward_ticks():
plt.tight_layout()
# These values were obtained after visual checking that they correspond # These values were obtained after visual checking that they correspond
# to a tight layouting that did take the ticks into account. # to a tight layouting that did take the ticks into account.
- ans = [[[0.091, 0.607], [0.433, 0.933]], expected = [
- [[0.091, 0.607], [0.433, 0.933]],
- [[0.579, 0.607], [0.922, 0.933]], - [[0.579, 0.607], [0.922, 0.933]],
- [[0.091, 0.140], [0.433, 0.466]], - [[0.091, 0.140], [0.433, 0.466]],
- [[0.579, 0.140], [0.922, 0.466]]] - [[0.579, 0.140], [0.922, 0.466]],
+ ans = [[[0.09, 0.61], [0.43, 0.93]], + [[0.09, 0.61], [0.43, 0.93]],
+ [[0.58, 0.61], [0.92, 0.93]], + [[0.58, 0.61], [0.92, 0.93]],
+ [[0.09, 0.14], [0.43, 0.47]], + [[0.09, 0.14], [0.43, 0.47]],
+ [[0.58, 0.14], [0.92, 0.47]]] + [[0.58, 0.14], [0.92, 0.47]],
]
for nn, ax in enumerate(fig.axes): 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(), 3),
+ assert_array_equal(np.round(ax.get_position().get_points(), 2), + assert_array_equal(np.round(ax.get_position().get_points(), 2),
ans[nn]) expected[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 2.44.0

@ -1,7 +1,7 @@
From 59c900f49d605c1300c4bdaef23c94ad32a07e29 Mon Sep 17 00:00:00 2001 From 0aecbcfd5fd12c79f1f71998be9f86fc4108d91d Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com> From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Mon, 22 Aug 2022 18:43:28 -0400 Date: Mon, 22 Aug 2022 18:43:28 -0400
Subject: [PATCH 4/5] Use old stride_windows implementation on 32-bit x86 Subject: [PATCH 4/4] Use old stride_windows implementation on 32-bit x86
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com> Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
--- ---
@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
1 file changed, 35 insertions(+), 4 deletions(-) 1 file changed, 35 insertions(+), 4 deletions(-)
diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py
index 1948e6333e..158417a1c0 100644 index e1f08c0da5..5c0d56c74d 100644
--- a/lib/matplotlib/mlab.py --- a/lib/matplotlib/mlab.py
+++ b/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py
@@ -49,6 +49,7 @@ Spectral functions @@ -49,6 +49,7 @@ Spectral functions
@ -80,5 +80,5 @@ index 1948e6333e..158417a1c0 100644
resultY = resultY * window.reshape((-1, 1)) resultY = resultY * window.reshape((-1, 1))
resultY = np.fft.fft(resultY, n=pad_to, axis=0)[:numFreqs, :] resultY = np.fft.fft(resultY, n=pad_to, axis=0)[:numFreqs, :]
-- --
2.43.0 2.44.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

@ -1,11 +1,6 @@
## START: Set by rpmautospec ## START: Set by rpmautospec
## (rpmautospec version 0.6.3) ## (rpmautospec version 0.7.3)
## RPMAUTOSPEC: autorelease, autochangelog ## RPMAUTOSPEC: autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 1;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec ## END: Set by rpmautospec
%bcond_with html %bcond_with html
@ -36,26 +31,27 @@
% endif % endif
%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 # Use the same directory of the main package for subpackage licence and docs
%global _docdir_fmt %{name} %global _docdir_fmt %{name}
# Updated test images for new FreeType. # Updated test images for new FreeType.
%global mpl_images_version 3.8.3 %global mpl_images_version 3.9.1
# The version of FreeType in this Fedora branch. # The version of FreeType in this Fedora branch.
%global ftver 2.13.1 %global ftver 2.13.1
Name: python-matplotlib Name: python-matplotlib
Version: 3.8.4 Version: 3.9.1
%global Version %{version_no_tilde %{quote:%nil}} %global Version %{version_no_tilde %{quote:%nil}}
Release: %autorelease Release: 6%{?dist}
Summary: Python 2D plotting library Summary: Python 2D plotting library
# qt_editor backend is MIT # qt_editor backend is MIT
# ResizeObserver at end of lib/matplotlib/backends/web_backend/js/mpl.js is CC0 # ResizeObserver at end of lib/matplotlib/backends/web_backend/js/mpl.js is CC0
License: PSF-2.0 AND MIT AND CC0-1.0 License: PSF-2.0 AND MIT AND CC0-1.0
URL: https://matplotlib.org URL: https://matplotlib.org
Source0: %pypi_source matplotlib %{Version} Source0: %pypi_source matplotlib %{Version}
Source1: mplsetup.cfg
# Fedora-specific patches; see: # Fedora-specific patches; see:
# https://github.com/fedora-python/matplotlib/tree/fedora-patches # https://github.com/fedora-python/matplotlib/tree/fedora-patches
@ -70,8 +66,6 @@ Patch1003: 0003-Set-FreeType-version-to-%{ftver}-and-update-tolerances.patc
# https://github.com/matplotlib/matplotlib/pull/21190#issuecomment-1223271888 # https://github.com/matplotlib/matplotlib/pull/21190#issuecomment-1223271888
Patch0001: 0004-Use-old-stride_windows-implementation-on-32-bit-x86.patch 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
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gcc-c++ BuildRequires: gcc-c++
@ -79,7 +73,7 @@ BuildRequires: glibc-langpack-en
BuildRequires: freetype-devel BuildRequires: freetype-devel
BuildRequires: libpng-devel BuildRequires: libpng-devel
BuildRequires: qhull-devel BuildRequires: qhull-devel
BuildRequires: xorg-x11-server-Xvfb BuildRequires: wlheadless-run
BuildRequires: zlib-devel BuildRequires: zlib-devel
BuildRequires: ghostscript BuildRequires: ghostscript
@ -87,7 +81,7 @@ BuildRequires: ghostscript
%if 0%{?fedora} || (0%{?rhel} && 0%{?rhel} < 8) %if 0%{?fedora} || (0%{?rhel} && 0%{?rhel} < 8)
BuildRequires: ImageMagick BuildRequires: ImageMagick
%endif %endif
BuildRequires: inkscape ## BuildRequires: inkscape
BuildRequires: font(dejavusans) BuildRequires: font(dejavusans)
BuildRequires: font(notosanscjkjp) BuildRequires: font(notosanscjkjp)
@ -214,22 +208,11 @@ Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts, You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code. errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python3-matplotlib-qt5
Summary: Qt5 backend for python3-matplotlib
BuildRequires: python3dist(cairocffi)
BuildRequires: python3dist(pyqt5)
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3dist(cairocffi)
Requires: python3dist(pyqt5)
Obsoletes: python3-matplotlib-qt4 < 3.5.0-0
%description -n python3-matplotlib-qt5
%{summary}
%package -n python3-matplotlib-qt6 %package -n python3-matplotlib-qt6
Summary: Qt6 backend for python3-matplotlib Summary: Qt6 backend for python3-matplotlib
BuildRequires: python3dist(cairocffi) BuildRequires: python3dist(cairocffi)
BuildRequires: python3dist(pyqt6) BuildRequires: python3dist(pyqt6)
BuildRequires: python3-pyqt6
Requires: python3-matplotlib%{?_isa} = %{version}-%{release} Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3dist(cairocffi) Requires: python3dist(cairocffi)
Requires: python3dist(pyqt6) Requires: python3dist(pyqt6)
@ -291,6 +274,7 @@ BuildRequires: make
BuildRequires: python3dist(sphinx) BuildRequires: python3dist(sphinx)
BuildRequires: tex(latex) BuildRequires: tex(latex)
BuildRequires: tex-preview BuildRequires: tex-preview
BuildRequires: ipython
%endif %endif
Requires: python3-matplotlib%{?_isa} = %{version}-%{release} Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
@ -313,22 +297,19 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
# Updated test images for new FreeType. # Updated test images for new FreeType.
gzip -dc %SOURCE1000 | tar xf - --transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/~~' 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 # Backports or reported upstream
%autopatch -p1 -M 999 %autopatch -p1 -M 999
%generate_buildrequires %generate_buildrequires
%pyproject_buildrequires -r %pyproject_buildrequires -w %build_backend_args
%build %build
%set_build_flags %set_build_flags
export http_proxy=http://127.0.0.1/ export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD %pyproject_wheel MPLCONFIGDIR=$PWD %pyproject_wheel %build_backend_args
%if %{with html} %if %{with html}
# Need to make built matplotlib libs available for the sphinx extensions: # Need to make built matplotlib libs available for the sphinx extensions:
MPLCONFIGDIR=$PWD \ MPLCONFIGDIR=$PWD \
@ -346,7 +327,6 @@ export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD %pyproject_install MPLCONFIGDIR=$PWD %pyproject_install
# Delete unnecessary files. # 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/.gitignore
rm %{buildroot}%{python3_sitearch}/matplotlib/tests/tinypages/_static/.gitignore rm %{buildroot}%{python3_sitearch}/matplotlib/tests/tinypages/_static/.gitignore
@ -374,21 +354,17 @@ mktexfmt xelatex.fmt
%{py3_test_envvars} %{python3} -c 'import matplotlib.font_manager' %{py3_test_envvars} %{python3} -c 'import matplotlib.font_manager'
export http_proxy=http://127.0.0.1/ export http_proxy=http://127.0.0.1/
# Skips:
# * test_invisible_Line_rendering: Checks for "slowness" that often fails on a # This test checks for "slowness" that often fails on a heavily-loaded builder.
# heavily-loaded builder. k="${k-}${k+ and }not test_invisible_Line_rendering"
# * test_form_widget_get_with_datetime_and_date_fields is flaky. # This test is flaky.
MPLCONFIGDIR=$PWD \ k="${k-}${k+ and }not test_form_widget_get_with_datetime_and_date_fields"
%ifnarch %{ix86} %ifarch %{ix86}
xvfb-run -a -s "-screen 0 640x480x24" \ # This test won't work due to Xvfb not existing.
k="${k-}${k+ and }not test_cross_Qt_imports"
%endif %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 %endif
%files -n python3-matplotlib-data %files -n python3-matplotlib-data
%{_datadir}/matplotlib/mpl-data/ %{_datadir}/matplotlib/mpl-data/
%if %{with bundled_fonts} %if %{with bundled_fonts}
@ -429,9 +405,6 @@ MPLCONFIGDIR=$PWD \
%{python3_sitearch}/matplotlib/tests/baseline_images/ %{python3_sitearch}/matplotlib/tests/baseline_images/
%{python3_sitearch}/mpl_toolkits/*/tests/baseline_images/ %{python3_sitearch}/mpl_toolkits/*/tests/baseline_images/
%files -n python3-matplotlib-qt5
%pycached %{python3_sitearch}/matplotlib/backends/backend_qt5*.py
# This is handled by backend_qt*.py (no number), so the package exists only for # This is handled by backend_qt*.py (no number), so the package exists only for
# the dependencies. # the dependencies.
%files -n python3-matplotlib-qt6 %files -n python3-matplotlib-qt6
@ -454,39 +427,20 @@ MPLCONFIGDIR=$PWD \
%changelog %changelog
## START: Generated by rpmautospec * Sun Dec 29 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 3.9.1-6
* Thu Apr 04 2024 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.8.4-1 - Rebuilt for MSVSphere 10
- Update to latest version (#2273293)
* Thu Mar 14 2024 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.8.3-2
- Fix SPDX license expression
* Thu Mar 14 2024 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.8.3-1
- Update to latest version (#2264330)
* Mon Jan 29 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Nov 18 2023 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.8.2-1 ## START: Generated by rpmautospec
- Update to latest version (#2250372) * Tue Dec 17 2024 Kaleb S. KEITHLEY <kkeithle@redhat.com> - 3.9.1-4
- 3.9.1-0, again
* Wed Nov 01 2023 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.8.1-1
- Update to latest version (#2247356) * Tue Dec 17 2024 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 3.9.1-0
- bootstrap epel10
* Sat Sep 16 2023 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.8.0-1 - temporarily (or is it?) remove qt5 sub-package. Will epel10 get qt5?
- Update to latest version (#2230778) - temporarily remove test w/ xvfb-run until I can figure out the
proper replacement.
* Mon Aug 14 2023 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.8.0~rc1-1 - inkscape seems to not be needed. Or am I wrong about that? It builds
- Update to latest version (#2230778) without it as a BR. Will add it back when inkscape is built for EPEL10.
* Fri Aug 11 2023 Tom Callaway <spot@fedoraproject.org> - 3.7.2-4
- add upstream sphinx fix
* Fri Aug 11 2023 Tom Callaway <spot@fedoraproject.org> - 3.7.2-2 * Fri Aug 11 2023 Tom Callaway <spot@fedoraproject.org> - 3.7.2-2
- rebuild for new qhull - rebuild for new qhull

Loading…
Cancel
Save