public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
To: git-commits@fedoraproject.org
Subject: [rpms/python-matplotlib] rawhide: Update to latest version (#2488230)
Date: Tue, 21 Jul 2026 08:02:50 GMT [thread overview]
Message-ID: <178462097038.1.5278750689114963591.rpms-python-matplotlib-3b8e6a95d6d1@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/python-matplotlib
Branch : rawhide
Commit : 3b8e6a95d6d16f0f5ac7f7111f39b6c50122d151
Author : Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date : 2026-07-21T02:43:04-04:00
Stats : +59/-376 in 10 file(s)
URL : https://src.fedoraproject.org/rpms/python-matplotlib/c/3b8e6a95d6d16f0f5ac7f7111f39b6c50122d151?branch=rawhide
Log:
Update to latest version (#2488230)
---
diff --git a/.gitignore b/.gitignore
index 0bfad3b..bbca267 100644
--- a/.gitignore
+++ b/.gitignore
@@ -124,3 +124,5 @@ matplotlib-1.0.0-without-gpc.tar.gz
/matplotlib-3.10.8.tar.gz
/matplotlib-3.10.8-with-freetype-2.14.1.tar.gz
/matplotlib-3.10.9.tar.gz
+/matplotlib-3.11.0.tar.gz
+/matplotlib-3.11.1.tar.gz
diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch
index 9b54971..8ca7199 100644
--- a/0001-matplotlibrc-path-search-fix.patch
+++ b/0001-matplotlibrc-path-search-fix.patch
@@ -1,7 +1,7 @@
-From 9923f41efae1860369827d5938c9cd03de805a2e Mon Sep 17 00:00:00 2001
+From ceebac42f7c5f4e5fce786bba191a5e7ece3d411 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
+Subject: [PATCH 1/2] matplotlibrc path search fix
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
@@ -9,10 +9,10 @@ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
1 file changed, 2 insertions(+)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
-index 2786f9b7b9..79cccf0892 100644
+index 2a83cc1f10..97e279d4ae 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
-@@ -613,6 +613,7 @@ def matplotlib_fname():
+@@ -654,6 +654,7 @@ def matplotlib_fname():
is not defined)
- On other platforms,
- ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined
@@ -20,7 +20,7 @@ index 2786f9b7b9..79cccf0892 100644
- Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always
exist.
"""
-@@ -631,6 +632,7 @@ def matplotlib_fname():
+@@ -672,6 +673,7 @@ def matplotlib_fname():
yield matplotlibrc
yield os.path.join(matplotlibrc, 'matplotlibrc')
yield os.path.join(get_configdir(), 'matplotlibrc')
@@ -29,5 +29,5 @@ index 2786f9b7b9..79cccf0892 100644
for fname in gen_candidates():
--
-2.52.0
+2.54.0
diff --git a/0002-Reduce-required-libraqm-version.patch b/0002-Reduce-required-libraqm-version.patch
new file mode 100644
index 0000000..56aa373
--- /dev/null
+++ b/0002-Reduce-required-libraqm-version.patch
@@ -0,0 +1,26 @@
+From ecb3525caeb6df5557a103ed3fb219b6dec65f36 Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
+Date: Wed, 24 Jun 2026 13:15:47 -0400
+Subject: [PATCH 2/2] Reduce required libraqm version
+
+Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
+---
+ extern/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/extern/meson.build b/extern/meson.build
+index 08c15a1e36..cebe153603 100644
+--- a/extern/meson.build
++++ b/extern/meson.build
+@@ -25,7 +25,7 @@ else
+ endif
+
+ if get_option('system-libraqm')
+- libraqm_dep = dependency('raqm', version: '>=0.10.4')
++ libraqm_dep = dependency('raqm', version: '>=0.10.0')
+ else
+ subproject('harfbuzz',
+ default_options: [
+--
+2.54.0
+
diff --git a/0002-Set-FreeType-version-to-2.14.1-and-update-tolerances.patch b/0002-Set-FreeType-version-to-2.14.1-and-update-tolerances.patch
deleted file mode 100644
index 0efbf81..0000000
--- a/0002-Set-FreeType-version-to-2.14.1-and-update-tolerances.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From 964b447ac115c94ed91edd8066887390d0d0ed60 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 b9eb145b14..3a93369f22 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -8083,7 +8083,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],
-@@ -8101,7 +8101,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
-
diff --git a/0003-Unpin-build-requirements.patch b/0003-Unpin-build-requirements.patch
deleted file mode 100644
index bdf5dd6..0000000
--- a/0003-Unpin-build-requirements.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From c111ec4612f00cca5be9eba71d77833f0c6898d4 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 build requirements
-
-meson-python is pinned to fix sdists, but we already have one and are
-building a wheel, which should be fine.
-
-setuptools-scm is pinned to fix editable installs, which aren't used in
-Fedora.
-
-Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
----
- pyproject.toml | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/pyproject.toml b/pyproject.toml
-index 96b69829e6..f762c85d98 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -48,9 +48,9 @@ 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,<10",
-+ "setuptools_scm>=7",
- # Not required by us but setuptools_scm without a version, cso _if_
- # installed, then setuptools_scm 8 requires at least this version.
- # Unfortunately, we can't do a sort of minimum-if-instaled dependency, so
-@@ -72,9 +72,9 @@ 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,<10",
-+ "setuptools_scm>=7",
- ]
-
- [tool.meson-python.args]
---
-2.52.0
-
diff --git a/0004-Use-old-stride_windows-implementation-on-32-bit-x86.patch b/0004-Use-old-stride_windows-implementation-on-32-bit-x86.patch
deleted file mode 100644
index 8f564d6..0000000
--- a/0004-Use-old-stride_windows-implementation-on-32-bit-x86.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From a27a1f937fb42d4212fd07af500eec4be6ccbbf7 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
-
-Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
----
- lib/matplotlib/mlab.py | 39 +++++++++++++++++++++++++++++++++++----
- 1 file changed, 35 insertions(+), 4 deletions(-)
-
-diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py
-index 8326ac186e..bdaa34b734 100644
---- a/lib/matplotlib/mlab.py
-+++ b/lib/matplotlib/mlab.py
-@@ -49,6 +49,7 @@ Spectral functions
-
- import functools
- from numbers import Number
-+import sys
-
- import numpy as np
-
-@@ -210,6 +211,30 @@ def detrend_linear(y):
- return y - (b*x + a)
-
-
-+def _stride_windows(x, n, noverlap=0):
-+ if noverlap >= n:
-+ raise ValueError('noverlap must be less than n')
-+ if n < 1:
-+ raise ValueError('n cannot be less than 1')
-+
-+ x = np.asarray(x)
-+
-+ if n == 1 and noverlap == 0:
-+ return x[np.newaxis]
-+ if n > x.size:
-+ raise ValueError('n cannot be greater than the length of x')
-+
-+ # np.lib.stride_tricks.as_strided easily leads to memory corruption for
-+ # non integer shape and strides, i.e. noverlap or n. See #3845.
-+ noverlap = int(noverlap)
-+ n = int(n)
-+
-+ step = n - noverlap
-+ shape = (n, (x.shape[-1]-noverlap)//step)
-+ strides = (x.strides[0], step*x.strides[0])
-+ return np.lib.stride_tricks.as_strided(x, shape=shape, strides=strides)
-+
-+
- def _spectral_helper(x, y=None, NFFT=None, Fs=None, detrend_func=None,
- window=None, noverlap=None, pad_to=None,
- sides=None, scale_by_freq=None, mode=None):
-@@ -304,8 +329,11 @@ def _spectral_helper(x, y=None, NFFT=None, Fs=None, detrend_func=None,
- raise ValueError(
- "The window length must match the data's first dimension")
-
-- result = np.lib.stride_tricks.sliding_window_view(
-- x, NFFT, axis=0)[::NFFT - noverlap].T
-+ if sys.maxsize > 2**32: # NumPy version on 32-bit OOMs.
-+ result = np.lib.stride_tricks.sliding_window_view(
-+ x, NFFT, axis=0)[::NFFT - noverlap].T
-+ else:
-+ result = _stride_windows(x, NFFT, noverlap=noverlap)
- result = detrend(result, detrend_func, axis=0)
- result = result * window.reshape((-1, 1))
- result = np.fft.fft(result, n=pad_to, axis=0)[:numFreqs, :]
-@@ -313,8 +341,11 @@ def _spectral_helper(x, y=None, NFFT=None, Fs=None, detrend_func=None,
-
- if not same_data:
- # if same_data is False, mode must be 'psd'
-- resultY = np.lib.stride_tricks.sliding_window_view(
-- y, NFFT, axis=0)[::NFFT - noverlap].T
-+ if sys.maxsize > 2**32: # NumPy version on 32-bit OOMs.
-+ resultY = np.lib.stride_tricks.sliding_window_view(
-+ y, NFFT, axis=0)[::NFFT - noverlap].T
-+ else:
-+ resultY = _stride_windows(y, NFFT, noverlap=noverlap)
- resultY = detrend(resultY, detrend_func, axis=0)
- resultY = resultY * window.reshape((-1, 1))
- resultY = np.fft.fft(resultY, n=pad_to, axis=0)[:numFreqs, :]
---
-2.52.0
-
diff --git a/0005-Partially-revert-TST-Fix-minor-issues-in-interactive.patch b/0005-Partially-revert-TST-Fix-minor-issues-in-interactive.patch
deleted file mode 100644
index c355b64..0000000
--- a/0005-Partially-revert-TST-Fix-minor-issues-in-interactive.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 30ba8c34f00168385961dd924713b7fe8ef7605c 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 594681391e..38293e1003 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
-
diff --git a/0006-Fix-Python-3.15-compatibility-issues.patch b/0006-Fix-Python-3.15-compatibility-issues.patch
deleted file mode 100644
index 20ca19c..0000000
--- a/0006-Fix-Python-3.15-compatibility-issues.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 1355efe730108ce7b4e660c0725bb98cf0aacc0c Mon Sep 17 00:00:00 2001
-From: Lumir Balhar <lbalhar@redhat.com>
-Date: Tue, 31 Mar 2026 14:19:34 +0200
-Subject: [PATCH] Fix Python 3.15 compatibility issues
-
-Fix several test failures with Python 3.15:
-
-1. test_fork: Python 3.15 raises DeprecationWarning when using fork() in
- a multi-threaded process. Filter these warnings as the test properly
- handles fork safety.
-
-2. test_rcupdate: Increase tolerance for minor PGF rendering differences.
----
- lib/matplotlib/tests/test_backend_pgf.py | 2 +-
- lib/matplotlib/tests/test_font_manager.py | 3 +++
- 5 files changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 839ad72..a7a12f2 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -131,7 +131,7 @@ def test_rcupdate():
- 'pgf.preamble': ('\\usepackage[utf8x]{inputenc}'
- '\\usepackage[T1]{fontenc}'
- '\\usepackage{sfmath}')}]
-- tol = [0, 13.2] if _old_gs_version else [0, 0]
-+ tol = [0, 13.2] if _old_gs_version else [0, 5.0] # Increased tolerance for Python 3.15
- for i, rc_set in enumerate(rc_sets):
- with mpl.rc_context(rc_set):
- for substring, pkg in [('sfmath', 'sfmath'), ('utf8x', 'ucs')]:
-
-diff --git a/lib/matplotlib/tests/test_font_manager.py b/lib/matplotlib/tests/test_font_manager.py
-index d15b892..79e29e2 100644
---- a/lib/matplotlib/tests/test_font_manager.py
-+++ b/lib/matplotlib/tests/test_font_manager.py
-@@ -230,6 +230,9 @@ def _model_handler(_):
-
- @pytest.mark.skipif(not hasattr(os, "register_at_fork"),
- reason="Cannot register at_fork handlers")
-+# Python 3.15+ raises DeprecationWarning for fork in multi-threaded process
-+@pytest.mark.filterwarnings("ignore:.*multi-threaded.*fork.*:DeprecationWarning")
-+@pytest.mark.filterwarnings("ignore:.*multi-threaded.*fork.*:RuntimeWarning")
- def test_fork():
- _model_handler(0) # Make sure the font cache is filled.
- ctx = multiprocessing.get_context("fork")
---
-2.53.0
-
diff --git a/python-matplotlib.spec b/python-matplotlib.spec
index 9309998..b1038c9 100644
--- a/python-matplotlib.spec
+++ b/python-matplotlib.spec
@@ -11,6 +11,7 @@
%global build_backend_args %{shrink:
-Csetup-args="-Dsystem-freetype=true"
+ -Csetup-args="-Dsystem-libraqm=true"
-Csetup-args="-Dsystem-qhull=true"
-Cinstall-args="--tags=data,python-runtime,runtime,tests"
}
@@ -18,14 +19,15 @@
# Use the same directory of the main package for subpackage licence and docs
%global _docdir_fmt %{name}
+# Whether patching test images is necessary.
+%bcond patched_test_images 0
# Updated test images for new FreeType.
-%global mpl_images_version 3.10.8
-
+%global mpl_images_version 3.11.0
# The version of FreeType in this Fedora branch.
-%global ftver 2.14.1
+%global ftver 2.14.3
Name: python-matplotlib
-Version: 3.10.9
+Version: 3.11.1
%global Version %{version_no_tilde %{quote:%nil}}
Release: %autorelease
Summary: Python 2D plotting library
@@ -37,29 +39,25 @@ Source0: %pypi_source matplotlib %{Version}
# Fedora-specific patches; see:
# https://github.com/fedora-python/matplotlib/tree/fedora-patches
+%if %{with patched_test_images}
# Updated test images for new FreeType.
Source1000: https://github.com/QuLogic/mpl-images/archive/v%{mpl_images_version}-with-freetype-%{ftver}/matplotlib-%{mpl_images_version}-with-freetype-%{ftver}.tar.gz
+%endif
# Search in /etc/matplotlibrc:
Patch1001: 0001-matplotlibrc-path-search-fix.patch
+%if %{with patched_test_images}
# Increase tolerances for new FreeType everywhere:
Patch1002: 0002-Set-FreeType-version-to-%{ftver}-and-update-tolerances.patch
-# We don't need to use older meson-python/setuptools.
-Patch1003: 0003-Unpin-build-requirements.patch
-
-# https://github.com/matplotlib/matplotlib/pull/21190#issuecomment-1223271888
-Patch0001: 0004-Use-old-stride_windows-implementation-on-32-bit-x86.patch
-
-# Temporary fix for some tests.
-Patch0002: 0005-Partially-revert-TST-Fix-minor-issues-in-interactive.patch
-
-# Fix Python 3.15 compatibility issues
-# Upstream issue: https://github.com/matplotlib/matplotlib/issues/31429
-Patch0003: 0006-Fix-Python-3.15-compatibility-issues.patch
+%endif
+# libraqm is still 0.10.1
+# https://src.fedoraproject.org/rpms/libraqm/pull-request/8
+Patch1003: 0002-Reduce-required-libraqm-version.patch
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glibc-langpack-en
BuildRequires: freetype-devel
+BuildRequires: libraqm-devel
BuildRequires: qhull-devel
%ifnarch %{ix86}
BuildRequires: xwayland-run
@@ -193,12 +191,12 @@ errorcharts, scatterplots, etc, with just a few lines of code.
Summary: Qt5 backend for python3-matplotlib
BuildRequires: python3dist(cairocffi)
%ifnarch %{ix86}
-BuildRequires: python3dist(pyqt5)
+BuildRequires: python3-qt5
BuildRequires: qt5-qtwayland
%endif
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3dist(cairocffi)
-Requires: python3dist(pyqt5)
+Requires: python3-qt5
%description -n python3-matplotlib-qt5
%{summary}
@@ -307,9 +305,12 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
%autosetup -n matplotlib-%{Version} -N
# Fedora-specific patches follow:
+%pyproject_patch_dependency setuptools_scm:drop_upper
%autopatch -q -p1 -m 1000
+%if %{with patched_test_images}
# Updated test images for new FreeType.
gzip -dc %SOURCE1000 | tar xf - --transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/~~'
+%endif
# Backports or reported upstream
%autopatch -q -p1 -M 999
@@ -338,8 +339,8 @@ export http_proxy=http://127.0.0.1/
%pyproject_install
# Delete unnecessary files.
-rm %{buildroot}%{python3_sitearch}/matplotlib/tests/tinypages/.gitignore
-rm %{buildroot}%{python3_sitearch}/matplotlib/tests/tinypages/_static/.gitignore
+rm %{buildroot}%{python3_sitearch}/matplotlib/tests/data/tinypages/.gitignore
+rm %{buildroot}%{python3_sitearch}/matplotlib/tests/data/tinypages/_static/.gitignore
# Move files to Fedora-specific locations.
%if %{without bundled_fonts}
@@ -369,16 +370,9 @@ export http_proxy=http://127.0.0.1/
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"
-# test_auto_date_locator_intmult_tz fails with Python 3.15.0b1
-# reported: https://github.com/matplotlib/matplotlib/issues/31429#issuecomment-4508466829
-k="${k-}${k+ and }not test_auto_date_locator_intmult_tz"
-# test_pcolornearestunits and test_other_signal_before_sigint fail with Python 3.15.0b2
-k="${k-}${k+ and }not test_pcolornearestunits and not test_other_signal_before_sigint"
-
-%ifarch s390x
-# See https://src.fedoraproject.org/rpms/python-contourpy/c/c9e9d71643
-k="${k-}${k+ and }not (test_contour and algorithm)"
-%endif
+# Needs update for latest TeX Live.
+# https://github.com/matplotlib/matplotlib/pull/31785
+k="${k-}${k+ and }not test_rcupdate"
env MPLCONFIGDIR=$PWD \
%{pytest} -ra -n auto \
diff --git a/sources b/sources
index 666e95b..ffcc826 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-SHA512 (matplotlib-3.10.9.tar.gz) = 432b234e78e416d779cb1c5c7924f2e68997d9da8a204e7bd5b199aeaafdc900a93e492a464d21daccb11124c01567437c440c4d3ddbf3f772834e4217460a1f
-SHA512 (matplotlib-3.10.8-with-freetype-2.14.1.tar.gz) = 03f5b406caced1e2a59f914a64808b146954ce2285551cb2314664f883a05cbc93a92a28f5c259817a77e048012542d09a0180a230591e40ccef297f477a1e5b
+SHA512 (matplotlib-3.11.1.tar.gz) = 9300ac294f151c478cc8fc38d94931d1431f4083adeac6061c78a100abbbaa8145cd826dab9275319ae91ddb617a4fa4cd2bff1320832941181f707b43ba872a
reply other threads:[~2026-07-21 8:02 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178462097038.1.5278750689114963591.rpms-python-matplotlib-3b8e6a95d6d1@fedoraproject.org \
--to=quantum.analyst@gmail.com \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox