The package rpms/python-matplotlib.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/python-matplotlib.git/commit/?id=037....
Change: -%ifarch i686 armv7hl
Thanks.
Full change: ============
commit 037e6aee2ba1e8e24a77bb949dc0c4c06c63296a Author: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Mon Jun 29 20:38:52 2020 -0400
Update to 3.3.0rc1.
diff --git a/.gitignore b/.gitignore index 9732d93..4df50f3 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,5 @@ matplotlib-1.0.0-without-gpc.tar.gz /matplotlib-3.2.1.tar.gz /matplotlib-3.2.2.tar.gz /matplotlib-3.2.2-with-freetype-2.10.1.tar.gz +/matplotlib-3.3.0rc1.tar.gz +/matplotlib-3.3.0rc1-with-freetype-2.10.1.tar.gz diff --git a/0001-Force-using-system-qhull.patch b/0001-Force-using-system-qhull.patch deleted file mode 100644 index 23c6c8d..0000000 --- a/0001-Force-using-system-qhull.patch +++ /dev/null @@ -1,37 +0,0 @@ -From ee5c28ea8cd17cbc04d5a9b79d5ce1326df93466 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade quantum.analyst@gmail.com -Date: Fri, 30 Mar 2018 03:15:51 -0400 -Subject: [PATCH] Force using system qhull. - -Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com ---- - setupext.py | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -diff --git a/setupext.py b/setupext.py -index 3e8b382cc..66a278b0c 100644 ---- a/setupext.py -+++ b/setupext.py -@@ -838,14 +838,12 @@ class Png(SetupPackage): - class Qhull(SetupPackage): - name = "qhull" - -+ def check(self): -+ self.__class__.found_external = True -+ return ' Using system copy.' -+ - def add_flags(self, ext): -- # Qhull doesn't distribute pkg-config info, so we have no way of -- # knowing whether a system install is recent enough. Thus, always use -- # the vendored version. -- ext.include_dirs.insert(0, 'extern') -- ext.sources.extend(sorted(glob.glob('extern/libqhull/*.c'))) -- if sysconfig.get_config_var('LIBM') == '-lm': -- ext.libraries.extend('m') -+ ext.libraries.append('qhull') - - - class TTConv(SetupPackage): --- -2.21.0 - diff --git a/0001-Use-packaged-jquery-and-jquery-ui.patch b/0001-Use-packaged-jquery-and-jquery-ui.patch deleted file mode 100644 index 801f520..0000000 --- a/0001-Use-packaged-jquery-and-jquery-ui.patch +++ /dev/null @@ -1,121 +0,0 @@ -From a3fec73e39558f1a8d41663fe05783889e735af4 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade quantum.analyst@gmail.com -Date: Sat, 2 Mar 2019 18:18:29 -0500 -Subject: [PATCH] Use packaged jquery and jquery-ui. - -Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com ---- - .../backends/web_backend/all_figures.html | 6 +-- - .../backends/web_backend/single_figure.html | 6 +-- - setup.py | 54 ------------------- - 3 files changed, 6 insertions(+), 60 deletions(-) - -diff --git a/lib/matplotlib/backends/web_backend/all_figures.html b/lib/matplotlib/backends/web_backend/all_figures.html -index 41f48dc6d..69097eb4f 100644 ---- a/lib/matplotlib/backends/web_backend/all_figures.html -+++ b/lib/matplotlib/backends/web_backend/all_figures.html -@@ -3,9 +3,9 @@ - <link rel="stylesheet" href="{{ prefix }}/_static/css/page.css" type="text/css"> - <link rel="stylesheet" href="{{ prefix }}/_static/css/boilerplate.css" type="text/css" /> - <link rel="stylesheet" href="{{ prefix }}/_static/css/fbm.css" type="text/css" /> -- <link rel="stylesheet" href="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.css" > -- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/external/jquery/jquery.js"></script> -- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.js"></script> -+ <link rel="stylesheet" href="/usr/share/javascript/jquery_ui/jquery-ui.min.css" > -+ <script src="/usr/share/javascript/jquery/latest/jquery.min.js"></script> -+ <script src="/usr/share/javascript/jquery_ui/jquery-ui.min.js"></script> - <script src="{{ prefix }}/_static/js/mpl_tornado.js"></script> - <script src="{{ prefix }}/js/mpl.js"></script> - -diff --git a/lib/matplotlib/backends/web_backend/single_figure.html b/lib/matplotlib/backends/web_backend/single_figure.html -index 4d5a366fb..c11c86618 100644 ---- a/lib/matplotlib/backends/web_backend/single_figure.html -+++ b/lib/matplotlib/backends/web_backend/single_figure.html -@@ -3,9 +3,9 @@ - <link rel="stylesheet" href="{{ prefix }}/_static/css/page.css" type="text/css"> - <link rel="stylesheet" href="{{ prefix }}/_static/css/boilerplate.css" type="text/css" /> - <link rel="stylesheet" href="{{ prefix }}/_static/css/fbm.css" type="text/css" /> -- <link rel="stylesheet" href="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.css" > -- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/external/jquery/jquery.js"></script> -- <script src="{{ prefix }}/_static/jquery-ui-1.12.1/jquery-ui.min.js"></script> -+ <link rel="stylesheet" href="/usr/share/javascript/jquery_ui/jquery-ui.min.css" > -+ <script src="/usr/share/javascript/jquery/latest/jquery.min.js"></script> -+ <script src="/usr/share/javascript/jquery_ui/jquery-ui.min.js"></script> - <script src="{{ prefix }}/_static/js/mpl_tornado.js"></script> - <script src="{{ prefix }}/js/mpl.js"></script> - <script> -diff --git a/setup.py b/setup.py -index bf03159fb..81c2f96d7 100644 ---- a/setup.py -+++ b/setup.py -@@ -28,8 +28,6 @@ from zipfile import ZipFile - - from setuptools import setup, find_packages, Extension - from setuptools.command.build_ext import build_ext as BuildExtCommand --from setuptools.command.develop import develop as DevelopCommand --from setuptools.command.install_lib import install_lib as InstallLibCommand - from setuptools.command.test import test as TestCommand - - # The setuptools version of sdist adds a setup.cfg file to the tree. -@@ -120,58 +118,6 @@ cmdclass['test'] = NoopTestCommand - cmdclass['build_ext'] = BuildExtraLibraries - - --def _download_jquery_to(dest): -- # Note: When bumping the jquery-ui version, also update the versions in -- # single_figure.html and all_figures.html. -- url = "https://jqueryui.com/resources/download/jquery-ui-1.12.1.zip" -- sha = "f8233674366ab36b2c34c577ec77a3d70cac75d2e387d8587f3836345c0f624d" -- name = Path(url).stem -- if (dest / name).exists(): -- return -- # If we are installing from an sdist, use the already downloaded jquery-ui. -- sdist_src = Path("lib/matplotlib/backends/web_backend", name) -- if sdist_src.exists(): -- shutil.copytree(sdist_src, dest / name) -- return -- if not (dest / name).exists(): -- dest.mkdir(parents=True, exist_ok=True) -- try: -- buff = download_or_cache(url, sha) -- except Exception: -- raise IOError( -- "Failed to download jquery-ui. Please download " -- "{url} and extract it to {dest}.".format(url=url, dest=dest)) -- with ZipFile(buff) as zf: -- zf.extractall(dest) -- -- --# Relying on versioneer's implementation detail. --class sdist_with_jquery(cmdclass['sdist']): -- def make_release_tree(self, base_dir, files): -- super().make_release_tree(base_dir, files) -- _download_jquery_to( -- Path(base_dir, "lib/matplotlib/backends/web_backend/")) -- -- --# Affects install and bdist_wheel. --class install_lib_with_jquery(InstallLibCommand): -- def run(self): -- super().run() -- _download_jquery_to( -- Path(self.install_dir, "matplotlib/backends/web_backend/")) -- -- --class develop_with_jquery(DevelopCommand): -- def run(self): -- super().run() -- _download_jquery_to(Path("lib/matplotlib/backends/web_backend/")) -- -- --cmdclass['sdist'] = sdist_with_jquery --cmdclass['install_lib'] = install_lib_with_jquery --cmdclass['develop'] = develop_with_jquery -- -- - # One doesn't normally see `if __name__ == '__main__'` blocks in a setup.py, - # however, this is needed on Windows to avoid creating infinite subprocesses - # when using multiprocessing. --- -2.25.4 - diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index 356a62c..906ab8f 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,27 +1,25 @@ -From 4431ff98f5f95a65378f4fa4b6e6fe02280911bf Mon Sep 17 00:00:00 2001 +From e56c8930052b4ac06f5ae58cac8d97dec728f314 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Wed, 27 Sep 2017 19:35:59 -0400 -Subject: [PATCH 1/4] matplotlibrc path search fix +Subject: [PATCH 1/6] matplotlibrc path search fix
Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com --- - lib/matplotlib/__init__.py | 31 ++++----------------------- - lib/matplotlib/tests/test_rcparams.py | 15 +++++++++---- - 2 files changed, 15 insertions(+), 31 deletions(-) + lib/matplotlib/__init__.py | 28 ++++------------------------ + 1 file changed, 4 insertions(+), 24 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index fa1caecda..d2bd48800 100644 +index e19ceabf9..809fff933 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py -@@ -654,34 +654,12 @@ def _get_data_path(): - "3.1", name="MATPLOTLIBDATA", obj_type="environment variable") - return path +@@ -536,33 +536,11 @@ def get_data_path(*, _from_rc=None):
+ @_logged_cached('(private) matplotlib data path: %s') + def _get_data_path(): - path = Path(__file__).with_name("mpl-data") + path = (Path(__file__).parent.parent.parent.parent.parent / + 'share/matplotlib/mpl-data') if path.is_dir(): - defaultParams['datapath'][0] = str(path) return str(path)
- cbook.warn_deprecated( @@ -50,62 +48,22 @@ index fa1caecda..d2bd48800 100644 raise RuntimeError('Could not find the matplotlib data files')
-@@ -712,8 +690,7 @@ def matplotlib_fname(): +@@ -583,6 +561,7 @@ def matplotlib_fname(): is not defined) - On other platforms, - ``$HOME/.matplotlib/matplotlibrc`` if ``$HOME`` is defined -- - Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always -- exist. -+ - Lastly, it looks in ``/etc/matplotlibrc``, which should always exist. ++ - ``/etc/matplotlibrc`` + - Lastly, it looks in ``$MATPLOTLIBDATA/matplotlibrc``, which should always + exist. """ - - def gen_candidates(): -@@ -726,7 +703,7 @@ def matplotlib_fname(): +@@ -597,6 +576,7 @@ def matplotlib_fname(): yield matplotlibrc yield os.path.join(matplotlibrc, 'matplotlibrc') yield os.path.join(get_configdir(), 'matplotlibrc') -- yield os.path.join(_get_data_path(), 'matplotlibrc') + yield '/etc/matplotlibrc' + yield os.path.join(_get_data_path(), 'matplotlibrc')
for fname in gen_candidates(): - if os.path.exists(fname) and not os.path.isdir(fname): -diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py -index 87dfbeceb..54885da47 100644 ---- a/lib/matplotlib/tests/test_rcparams.py -+++ b/lib/matplotlib/tests/test_rcparams.py -@@ -460,10 +460,17 @@ def test_rcparams_reset_after_fail(): - assert mpl.rcParams['text.usetex'] is False - - --def test_if_rctemplate_is_up_to_date(): -+@pytest.fixture -+def mplrc(): -+ # This is the Fedora-specific location. -+ return (Path(__file__).parent.parent.parent.parent.parent.parent.parent / -+ 'etc/matplotlibrc') -+ -+ -+def test_if_rctemplate_is_up_to_date(mplrc): - # This tests if the matplotlibrc.template file contains all valid rcParams. - deprecated = {*mpl._all_deprecated, *mpl._deprecated_remain_as_none} -- with cbook._get_data_path('matplotlibrc').open() as file: -+ with mplrc.open() as file: - rclines = file.readlines() - missing = {} - for k, v in mpl.defaultParams.items(): -@@ -483,10 +490,10 @@ def test_if_rctemplate_is_up_to_date(): - .format(missing.items())) - - --def test_if_rctemplate_would_be_valid(tmpdir): -+def test_if_rctemplate_would_be_valid(tmpdir, mplrc): - # This tests if the matplotlibrc.template file would result in a valid - # rc file if all lines are uncommented. -- with cbook._get_data_path('matplotlibrc').open() as file: -+ with mplrc.open() as file: - rclines = file.readlines() - newlines = [] - for line in rclines: -- 2.25.4
diff --git a/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch b/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch index 69e648e..1f41a15 100644 --- a/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch +++ b/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch @@ -1,22 +1,23 @@ -From c61647b9604ce6538fa28b807d094056b005258d Mon Sep 17 00:00:00 2001 +From e67b2eb6fb233085fb58e61217a946ea28f3649f Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Fri, 14 Feb 2020 06:05:42 -0500 -Subject: [PATCH 2/4] Set FreeType version to 2.10.1 and update tolerances. +Subject: [PATCH 2/6] Set FreeType version to 2.10.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 | 6 +++--- + lib/matplotlib/tests/test_axes.py | 4 ++-- lib/matplotlib/tests/test_constrainedlayout.py | 2 +- + lib/matplotlib/tests/test_polar.py | 2 +- lib/matplotlib/tests/test_tightlayout.py | 10 +++++----- setupext.py | 2 +- - 5 files changed, 11 insertions(+), 11 deletions(-) + 6 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index d2bd48800..ff06bf049 100644 +index 809fff933..3c8cd20e0 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py -@@ -1313,7 +1313,7 @@ default_test_modules = [ +@@ -1164,7 +1164,7 @@ default_test_modules = [ def _init_tests(): # The version of FreeType to install locally for running the # tests. This must match the value in `setupext.py` @@ -26,10 +27,10 @@ index d2bd48800..ff06bf049 100644 from matplotlib import ft2font if (ft2font.__freetype_version__ != LOCAL_FREETYPE_VERSION or diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 75636301d..b5bfc32c3 100644 +index 2a61b232f..107936d19 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py -@@ -6425,7 +6425,7 @@ def test_normal_axes(): +@@ -5934,7 +5934,7 @@ def test_normal_axes(): ] for nn, b in enumerate(bbaxis): targetbb = mtransforms.Bbox.from_bounds(*target[nn]) @@ -38,7 +39,7 @@ index 75636301d..b5bfc32c3 100644
target = [ [150.0, 119.999, 930.0, 11.111], -@@ -6443,7 +6443,7 @@ def test_normal_axes(): +@@ -5952,7 +5952,7 @@ def test_normal_axes():
target = [85.5138, 75.88888, 1021.11, 1017.11] targetbb = mtransforms.Bbox.from_bounds(*target) @@ -47,30 +48,34 @@ index 75636301d..b5bfc32c3 100644
# test that get_position roundtrips to get_window_extent axbb = ax.get_position().transformed(fig.transFigure).bounds -@@ -6568,7 +6568,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) -+ [107.7778, 29.2778, 539.7847, 450.7222], rtol=1) - - - @check_figures_equal(extensions=["png"]) diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py -index c91037eae..75311e70e 100644 +index 46e6b9663..593b3fb3e 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py -@@ -399,4 +399,4 @@ def test_hidden_axes(): +@@ -398,4 +398,4 @@ def test_hidden_axes(): extents1 = np.copy(axs[0, 0].get_position().extents)
- np.testing.assert_allclose(extents1, -- [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-5) -+ [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-2) + np.testing.assert_allclose( +- extents1, [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-5) ++ extents1, [0.045552, 0.548288, 0.47319, 0.982638], rtol=1e-2) +diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py +index 100954ac3..3594a9224 100644 +--- a/lib/matplotlib/tests/test_polar.py ++++ b/lib/matplotlib/tests/test_polar.py +@@ -311,7 +311,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 377dfb649..6e6d8afe2 100644 +index 9ad2e0a9a..7c9085a31 100644 --- a/lib/matplotlib/tests/test_tightlayout.py +++ b/lib/matplotlib/tests/test_tightlayout.py -@@ -172,12 +172,12 @@ def test_outward_ticks(): +@@ -171,12 +171,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. @@ -89,10 +94,10 @@ index 377dfb649..6e6d8afe2 100644
diff --git a/setupext.py b/setupext.py -index 09cd6bbd7..c3c96d4e0 100644 +index 4a838eedd..a084f881a 100644 --- a/setupext.py +++ b/setupext.py -@@ -152,7 +152,7 @@ _freetype_hashes = { +@@ -126,7 +126,7 @@ _freetype_hashes = { # version. It must match the value in # lib/matplotlib.__init__.py and also needs to be changed below in the # embedded windows build script (grep for "REMINDER" in this file) diff --git a/0003-Increase-default-tolerance-slightly-for-32-bit-syste.patch b/0003-Increase-default-tolerance-slightly-for-32-bit-syste.patch new file mode 100644 index 0000000..a837e04 --- /dev/null +++ b/0003-Increase-default-tolerance-slightly-for-32-bit-syste.patch @@ -0,0 +1,28 @@ +From a200118d059ec46d29ef2e5b71892d60d31a6103 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade quantum.analyst@gmail.com +Date: Sun, 28 Jun 2020 17:37:36 -0400 +Subject: [PATCH 3/6] Increase default tolerance slightly for 32-bit systems. + +Around 900 tests fail on 32-bit systems, but with rather small RMS. + +Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com +--- + lib/matplotlib/testing/decorators.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py +index cb6812d7e..207612d2a 100644 +--- a/lib/matplotlib/testing/decorators.py ++++ b/lib/matplotlib/testing/decorators.py +@@ -378,6 +378,8 @@ def image_comparison(baseline_images, extensions=None, tol=0, + extensions = ['png', 'pdf', 'svg'] + if savefig_kwarg is None: + savefig_kwarg = dict() # default no kwargs to savefig ++ if sys.maxsize <= 2**32: ++ tol += 0.06 + return _pytest_image_comparison( + baseline_images=baseline_images, extensions=extensions, tol=tol, + freetype_version=freetype_version, remove_text=remove_text, +-- +2.25.4 + diff --git a/0003-Increase-tolerances-for-non-x86_64-arches.patch b/0003-Increase-tolerances-for-non-x86_64-arches.patch deleted file mode 100644 index d1b485f..0000000 --- a/0003-Increase-tolerances-for-non-x86_64-arches.patch +++ /dev/null @@ -1,42 +0,0 @@ -From e952bc36999a141a5c026544bae0c52817d4edd9 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade quantum.analyst@gmail.com -Date: Tue, 23 Jan 2018 20:27:17 -0500 -Subject: [PATCH 3/4] Increase tolerances for non-x86_64 arches. - -Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com ---- - lib/matplotlib/tests/test_streamplot.py | 4 ++-- - lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index d2218f6f2..1afc60543 100644 ---- a/lib/matplotlib/tests/test_streamplot.py -+++ b/lib/matplotlib/tests/test_streamplot.py -@@ -63,8 +63,8 @@ def test_linewidth(): - linewidth=lw) - - --@image_comparison(['streamplot_masks_and_nans'], -- remove_text=True, style='mpl20', tol=0.04 if on_win else 0) -+@image_comparison(baseline_images=['streamplot_masks_and_nans'], -+ remove_text=True, style='mpl20', tol=0.04 if on_win else .01) - def test_masks_and_nans(): - X, Y, U, V = velocity_field() - mask = np.zeros(U.shape, dtype=bool) -diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py -index 9ed9a9280..56a3bd14a 100644 ---- a/lib/mpl_toolkits/tests/test_axes_grid1.py -+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py -@@ -343,7 +343,7 @@ def test_zooming_with_inverted_axes(): - - - @image_comparison(['anchored_direction_arrows.png'], -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.02) - def test_anchored_direction_arrows(): - fig, ax = plt.subplots() - ax.imshow(np.zeros((10, 10)), interpolation='nearest') --- -2.25.4 - diff --git a/0004-Increase-some-tolerances-for-32-bit-systems.patch b/0004-Increase-some-tolerances-for-32-bit-systems.patch deleted file mode 100644 index d7004b7..0000000 --- a/0004-Increase-some-tolerances-for-32-bit-systems.patch +++ /dev/null @@ -1,665 +0,0 @@ -From 928df2339ec6f8cc838f2b46c4bef4b10dc66c52 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade quantum.analyst@gmail.com -Date: Sat, 31 Mar 2018 00:15:14 -0400 -Subject: [PATCH 4/4] Increase some tolerances for 32-bit systems. - -Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com ---- - lib/matplotlib/testing/decorators.py | 2 +- - lib/matplotlib/tests/test_artist.py | 2 +- - lib/matplotlib/tests/test_axes.py | 48 +++++++++---------- - lib/matplotlib/tests/test_collections.py | 2 +- - lib/matplotlib/tests/test_colorbar.py | 10 ++-- - .../tests/test_constrainedlayout.py | 2 +- - lib/matplotlib/tests/test_contour.py | 6 +-- - lib/matplotlib/tests/test_cycles.py | 9 ++-- - lib/matplotlib/tests/test_figure.py | 3 +- - lib/matplotlib/tests/test_image.py | 2 +- - lib/matplotlib/tests/test_legend.py | 9 ++-- - lib/matplotlib/tests/test_mathtext.py | 4 +- - lib/matplotlib/tests/test_patches.py | 3 +- - lib/matplotlib/tests/test_patheffects.py | 2 +- - lib/matplotlib/tests/test_pickle.py | 2 +- - lib/matplotlib/tests/test_quiver.py | 2 +- - lib/matplotlib/tests/test_streamplot.py | 2 +- - lib/matplotlib/tests/test_transforms.py | 2 +- - lib/matplotlib/tests/test_units.py | 3 +- - .../tests/test_axisartist_floating_axes.py | 4 +- - ...test_axisartist_grid_helper_curvelinear.py | 7 ++- - lib/mpl_toolkits/tests/test_mplot3d.py | 4 +- - 22 files changed, 60 insertions(+), 70 deletions(-) - -diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py -index cd447976b..545bf2cfe 100644 ---- a/lib/matplotlib/testing/decorators.py -+++ b/lib/matplotlib/testing/decorators.py -@@ -269,7 +269,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol, - return decorator - - --def image_comparison(baseline_images, extensions=None, tol=0, -+def image_comparison(baseline_images, extensions=None, tol=0.1, - freetype_version=None, remove_text=False, - savefig_kwarg=None, - # Default of mpl_test_settings fixture and cleanup too. -diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py -index a598e822d..becc9b46d 100644 ---- a/lib/matplotlib/tests/test_artist.py -+++ b/lib/matplotlib/tests/test_artist.py -@@ -94,7 +94,7 @@ def test_collection_transform_of_none(): - assert isinstance(c._transOffset, mtransforms.IdentityTransform) - - --@image_comparison(["clip_path_clipping"], remove_text=True) -+@image_comparison(["clip_path_clipping"], remove_text=True, tol=0.28) - def test_clipping(): - exterior = mpath.Path.unit_rectangle().deepcopy() - exterior.vertices *= 4 -diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index b5bfc32c3..8bf3afb54 100644 ---- a/lib/matplotlib/tests/test_axes.py -+++ b/lib/matplotlib/tests/test_axes.py -@@ -563,7 +563,7 @@ def test_single_point(): - plt.plot('b', 'b', 'o', data=data) - - --@image_comparison(['single_date.png'], style='mpl20') -+@image_comparison(['single_date.png'], style='mpl20', tol=1.97) - def test_single_date(): - # use former defaults to match existing baseline image - plt.rcParams['axes.formatter.limits'] = -7, 7 -@@ -1097,7 +1097,7 @@ def test_fill_between_interpolate(): - - - @image_comparison(['fill_between_interpolate_decreasing'], -- style='mpl20', remove_text=True) -+ style='mpl20', remove_text=True, tol=0.78) - def test_fill_between_interpolate_decreasing(): - p = np.array([724.3, 700, 655]) - t = np.array([9.4, 7, 2.2]) -@@ -1212,7 +1212,7 @@ def test_pcolormesh_alpha(): - - - @image_comparison(['pcolormesh_datetime_axis.png'], -- remove_text=False, style='mpl20') -+ remove_text=False, style='mpl20', tol=0.19) - def test_pcolormesh_datetime_axis(): - fig = plt.figure() - fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1238,7 +1238,7 @@ def test_pcolormesh_datetime_axis(): - - - @image_comparison(['pcolor_datetime_axis.png'], -- remove_text=False, style='mpl20') -+ remove_text=False, style='mpl20', tol=0.19) - def test_pcolor_datetime_axis(): - fig = plt.figure() - fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1294,7 +1294,8 @@ def test_canonical(): - ax.plot([1, 2, 3]) - - --@image_comparison(['arc_angles.png'], remove_text=True, style='default') -+@image_comparison(['arc_angles.png'], remove_text=True, style='default', -+ tol=0.17) - def test_arc_angles(): - from matplotlib import patches - # Ellipse parameters -@@ -2769,7 +2770,7 @@ def test_boxplot_mod_artist_after_plotting(): - - - @image_comparison(['violinplot_vert_baseline.png', -- 'violinplot_vert_baseline.png']) -+ 'violinplot_vert_baseline.png'], tol=0.24) - def test_vert_violinplot_baseline(): - # First 9 digits of frac(sqrt(2)) - np.random.seed(414213562) -@@ -2786,7 +2787,7 @@ def test_vert_violinplot_baseline(): - showmedians=0, data=data) - - --@image_comparison(['violinplot_vert_showmeans.png']) -+@image_comparison(['violinplot_vert_showmeans.png'], tol=0.23) - def test_vert_violinplot_showmeans(): - ax = plt.axes() - # First 9 digits of frac(sqrt(3)) -@@ -2796,7 +2797,7 @@ def test_vert_violinplot_showmeans(): - showmedians=0) - - --@image_comparison(['violinplot_vert_showextrema.png']) -+@image_comparison(['violinplot_vert_showextrema.png'], tol=0.23) - def test_vert_violinplot_showextrema(): - ax = plt.axes() - # First 9 digits of frac(sqrt(5)) -@@ -2806,7 +2807,7 @@ def test_vert_violinplot_showextrema(): - showmedians=0) - - --@image_comparison(['violinplot_vert_showmedians.png']) -+@image_comparison(['violinplot_vert_showmedians.png'], tol=0.23) - def test_vert_violinplot_showmedians(): - ax = plt.axes() - # First 9 digits of frac(sqrt(7)) -@@ -2816,7 +2817,7 @@ def test_vert_violinplot_showmedians(): - showmedians=1) - - --@image_comparison(['violinplot_vert_showall.png']) -+@image_comparison(['violinplot_vert_showall.png'], tol=0.2) - def test_vert_violinplot_showall(): - ax = plt.axes() - # First 9 digits of frac(sqrt(11)) -@@ -2827,7 +2828,7 @@ def test_vert_violinplot_showall(): - quantiles=[[0.1, 0.9], [0.2, 0.8], [0.3, 0.7], [0.4, 0.6]]) - - --@image_comparison(['violinplot_vert_custompoints_10.png']) -+@image_comparison(['violinplot_vert_custompoints_10.png'], tol=0.22) - def test_vert_violinplot_custompoints_10(): - ax = plt.axes() - # First 9 digits of frac(sqrt(13)) -@@ -2837,7 +2838,7 @@ def test_vert_violinplot_custompoints_10(): - showmedians=0, points=10) - - --@image_comparison(['violinplot_vert_custompoints_200.png']) -+@image_comparison(['violinplot_vert_custompoints_200.png'], tol=0.22) - def test_vert_violinplot_custompoints_200(): - ax = plt.axes() - # First 9 digits of frac(sqrt(17)) -@@ -2847,7 +2848,7 @@ def test_vert_violinplot_custompoints_200(): - showmedians=0, points=200) - - --@image_comparison(['violinplot_horiz_baseline.png']) -+@image_comparison(['violinplot_horiz_baseline.png'], tol=0.2) - def test_horiz_violinplot_baseline(): - ax = plt.axes() - # First 9 digits of frac(sqrt(19)) -@@ -2857,7 +2858,7 @@ def test_horiz_violinplot_baseline(): - showextrema=0, showmedians=0) - - --@image_comparison(['violinplot_horiz_showmedians.png']) -+@image_comparison(['violinplot_horiz_showmedians.png'], tol=0.23) - def test_horiz_violinplot_showmedians(): - ax = plt.axes() - # First 9 digits of frac(sqrt(23)) -@@ -2867,7 +2868,7 @@ def test_horiz_violinplot_showmedians(): - showextrema=0, showmedians=1) - - --@image_comparison(['violinplot_horiz_showmeans.png']) -+@image_comparison(['violinplot_horiz_showmeans.png'], tol=0.25) - def test_horiz_violinplot_showmeans(): - ax = plt.axes() - # First 9 digits of frac(sqrt(29)) -@@ -2877,7 +2878,7 @@ def test_horiz_violinplot_showmeans(): - showextrema=0, showmedians=0) - - --@image_comparison(['violinplot_horiz_showextrema.png']) -+@image_comparison(['violinplot_horiz_showextrema.png'], tol=0.2) - def test_horiz_violinplot_showextrema(): - ax = plt.axes() - # First 9 digits of frac(sqrt(31)) -@@ -2887,7 +2888,7 @@ def test_horiz_violinplot_showextrema(): - showextrema=1, showmedians=0) - - --@image_comparison(['violinplot_horiz_showall.png']) -+@image_comparison(['violinplot_horiz_showall.png'], tol=0.19) - def test_horiz_violinplot_showall(): - ax = plt.axes() - # First 9 digits of frac(sqrt(37)) -@@ -2898,7 +2899,7 @@ def test_horiz_violinplot_showall(): - quantiles=[[0.1, 0.9], [0.2, 0.8], [0.3, 0.7], [0.4, 0.6]]) - - --@image_comparison(['violinplot_horiz_custompoints_10.png']) -+@image_comparison(['violinplot_horiz_custompoints_10.png'], tol=0.22) - def test_horiz_violinplot_custompoints_10(): - ax = plt.axes() - # First 9 digits of frac(sqrt(41)) -@@ -2908,7 +2909,7 @@ def test_horiz_violinplot_custompoints_10(): - showextrema=0, showmedians=0, points=10) - - --@image_comparison(['violinplot_horiz_custompoints_200.png']) -+@image_comparison(['violinplot_horiz_custompoints_200.png'], tol=0.22) - def test_horiz_violinplot_custompoints_200(): - ax = plt.axes() - # First 9 digits of frac(sqrt(43)) -@@ -3672,8 +3673,7 @@ def test_vertex_markers(): - ax.set_ylim([-1, 10]) - - --@image_comparison(['vline_hline_zorder', 'errorbar_zorder'], -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+@image_comparison(['vline_hline_zorder', 'errorbar_zorder']) - def test_eb_line_zorder(): - x = list(range(10)) - -@@ -4360,7 +4360,7 @@ def test_psd_noise(): - ax3.set_ylabel('') - - --@image_comparison(['csd_freqs.png'], remove_text=True, tol=0.002) -+@image_comparison(['csd_freqs.png'], remove_text=True, tol=0.21) - def test_csd_freqs(): - '''test axes.csd with sinusoidal stimuli''' - n = 10000 -@@ -5264,7 +5264,7 @@ def test_rc_spines(): - fig, ax = plt.subplots() - - --@image_comparison(['rc_grid.png'], savefig_kwarg={'dpi': 40}) -+@image_comparison(['rc_grid.png'], savefig_kwarg={'dpi': 40}, tol=0.2) - def test_rc_grid(): - fig = plt.figure() - rc_dict0 = { -@@ -5806,7 +5806,7 @@ def test_date_timezone_y(): - plt.plot_date([3] * 3, time_index, tz='UTC', xdate=False, ydate=True) - - --@image_comparison(['date_timezone_x_and_y.png']) -+@image_comparison(['date_timezone_x_and_y.png'], tol=3.05) - def test_date_timezone_x_and_y(): - # Tests issue 5575 - UTC = datetime.timezone.utc -diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py -index 3f5b3bf1a..773573918 100644 ---- a/lib/matplotlib/tests/test_collections.py -+++ b/lib/matplotlib/tests/test_collections.py -@@ -461,7 +461,7 @@ def test_EllipseCollection(): - ax.autoscale_view() - - --@image_comparison(['polycollection_close.png'], remove_text=True) -+@image_comparison(['polycollection_close.png'], remove_text=True, tol=0.45) - def test_polycollection_close(): - from mpl_toolkits.mplot3d import Axes3D - -diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py -index 6d1f39149..4d70f8506 100644 ---- a/lib/matplotlib/tests/test_colorbar.py -+++ b/lib/matplotlib/tests/test_colorbar.py -@@ -95,7 +95,7 @@ def _colorbar_extension_length(spacing): - - - @image_comparison(['colorbar_extensions_shape_uniform.png', -- 'colorbar_extensions_shape_proportional.png']) -+ 'colorbar_extensions_shape_proportional.png'], tol=0.16) - def test_colorbar_extension_shape(): - '''Test rectangular colorbar extensions.''' - # Create figures for uniform and proportionally spaced colorbars. -@@ -104,7 +104,7 @@ def test_colorbar_extension_shape(): - - - @image_comparison(['colorbar_extensions_uniform.png', -- 'colorbar_extensions_proportional.png']) -+ 'colorbar_extensions_proportional.png'], tol=0.25) - def test_colorbar_extension_length(): - '''Test variable length colorbar extensions.''' - # Create figures for uniform and proportionally spaced colorbars. -@@ -118,7 +118,7 @@ def test_colorbar_extension_length(): - 'cbar_sharing', - ], - extensions=['png'], remove_text=True, -- savefig_kwarg={'dpi': 40}) -+ savefig_kwarg={'dpi': 40}, tol=0.17) - def test_colorbar_positioning(): - data = np.arange(1200).reshape(30, 40) - levels = [0, 200, 400, 600, 800, 1000, 1200] -@@ -171,7 +171,7 @@ def test_colorbar_positioning(): - - - @image_comparison(['cbar_with_subplots_adjust.png'], remove_text=True, -- savefig_kwarg={'dpi': 40}) -+ savefig_kwarg={'dpi': 40}, tol=0.17) - def test_gridspec_make_colorbar(): - plt.figure() - data = np.arange(1200).reshape(30, 40) -@@ -226,7 +226,7 @@ def test_colorbarbase(): - ColorbarBase(ax, plt.cm.bone) - - --@image_comparison(['colorbar_closed_patch'], remove_text=True) -+@image_comparison(['colorbar_closed_patch'], remove_text=True, tol=0.22) - def test_colorbar_closed_patch(): - fig = plt.figure(figsize=(8, 6)) - ax1 = fig.add_axes([0.05, 0.85, 0.9, 0.1]) -diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py -index 75311e70e..64e7bcd25 100644 ---- a/lib/matplotlib/tests/test_constrainedlayout.py -+++ b/lib/matplotlib/tests/test_constrainedlayout.py -@@ -234,7 +234,7 @@ def test_constrained_layout12(): - ax.set_xlabel('x-label') - - --@image_comparison(['constrained_layout13.png'], tol=2.e-2) -+@image_comparison(['constrained_layout13.png'], tol=3e-2) - def test_constrained_layout13(): - 'Test that padding works.' - fig, axs = plt.subplots(2, 2, constrained_layout=True) -diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py -index 4aabd36a7..14a52920e 100644 ---- a/lib/matplotlib/tests/test_contour.py -+++ b/lib/matplotlib/tests/test_contour.py -@@ -162,7 +162,7 @@ def test_given_colors_levels_and_extends(): - - - @image_comparison(['contour_datetime_axis.png'], -- remove_text=False, style='mpl20') -+ remove_text=False, style='mpl20', tol=0.18) - def test_contour_datetime_axis(): - fig = plt.figure() - fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -188,7 +188,7 @@ def test_contour_datetime_axis(): - - - @image_comparison(['contour_test_label_transforms.png'], -- remove_text=True, style='mpl20') -+ remove_text=True, style='mpl20', tol=1.38) - def test_labels(): - # Adapted from pylab_examples example code: contour_demo.py - # see issues #2475, #2843, and #2818 for explanation -@@ -219,7 +219,7 @@ def test_labels(): - - @image_comparison(['contour_corner_mask_False.png', - 'contour_corner_mask_True.png'], -- remove_text=True) -+ remove_text=True, tol=0.19) - def test_corner_mask(): - n = 60 - mask_level = 0.95 -diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py -index ee67b4e41..3ae6e4ebc 100644 ---- a/lib/matplotlib/tests/test_cycles.py -+++ b/lib/matplotlib/tests/test_cycles.py -@@ -8,8 +8,7 @@ import pytest - from cycler import cycler - - --@image_comparison(['color_cycle_basic.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+@image_comparison(['color_cycle_basic.png'], remove_text=True) - def test_colorcycle_basic(): - fig, ax = plt.subplots() - ax.set_prop_cycle(cycler('color', ['r', 'g', 'y'])) -@@ -25,8 +24,7 @@ def test_colorcycle_basic(): - ax.legend(loc='upper left') - - --@image_comparison(['marker_cycle.png', 'marker_cycle.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+@image_comparison(['marker_cycle.png', 'marker_cycle.png'], remove_text=True) - def test_marker_cycle(): - fig, ax = plt.subplots() - ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) + -@@ -58,8 +56,7 @@ def test_marker_cycle(): - ax.legend(loc='upper left') - - --@image_comparison(['lineprop_cycle_basic.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+@image_comparison(['lineprop_cycle_basic.png'], remove_text=True) - def test_linestylecycle_basic(): - fig, ax = plt.subplots() - ax.set_prop_cycle(cycler('ls', ['-', '--', ':'])) -diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py -index b5ca0ed5b..272fd6101 100644 ---- a/lib/matplotlib/tests/test_figure.py -+++ b/lib/matplotlib/tests/test_figure.py -@@ -13,8 +13,7 @@ import numpy as np - import pytest - - --@image_comparison(['figure_align_labels'], -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+@image_comparison(['figure_align_labels']) - def test_align_labels(): - # Check the figure.align_labels() command - fig = plt.figure(tight_layout=True) -diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py -index 93cfbb260..6dcdac4dd 100644 ---- a/lib/matplotlib/tests/test_image.py -+++ b/lib/matplotlib/tests/test_image.py -@@ -928,7 +928,7 @@ def test_imshow_endianess(): - - - @image_comparison(['imshow_masked_interpolation'], -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), -+ tol=0.25, - remove_text=True, style='mpl20') - def test_imshow_masked_interpolation(): - -diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py -index 71499da44..42413a5c1 100644 ---- a/lib/matplotlib/tests/test_legend.py -+++ b/lib/matplotlib/tests/test_legend.py -@@ -105,8 +105,7 @@ def test_multiple_keys(): - (p2, p1): HandlerTuple(ndivide=None, pad=0)}) - - --@image_comparison(['rgba_alpha.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+@image_comparison(['rgba_alpha.png'], remove_text=True) - def test_alpha_rgba(): - import matplotlib.pyplot as plt - -@@ -116,8 +115,7 @@ def test_alpha_rgba(): - leg.legendPatch.set_facecolor([1, 0, 0, 0.5]) - - --@image_comparison(['rcparam_alpha.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+@image_comparison(['rcparam_alpha.png'], remove_text=True) - def test_alpha_rcparam(): - import matplotlib.pyplot as plt - -@@ -144,8 +142,7 @@ def test_fancy(): - ncol=2, shadow=True, title="My legend", numpoints=1) - - --@image_comparison(['framealpha'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+@image_comparison(['framealpha'], remove_text=True) - def test_framealpha(): - x = np.linspace(1, 100, 100) - y = x -diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py -index 508e29fa0..f6862e631 100644 ---- a/lib/matplotlib/tests/test_mathtext.py -+++ b/lib/matplotlib/tests/test_mathtext.py -@@ -172,7 +172,7 @@ def baseline_images(request, fontset, index): - ['cm', 'stix', 'stixsans', 'dejavusans', - 'dejavuserif']) - @pytest.mark.parametrize('baseline_images', ['mathtext'], indirect=True) --@image_comparison(baseline_images=None) -+@image_comparison(baseline_images=None, tol=0.31) - def test_mathtext_rendering(baseline_images, fontset, index, test, recwarn): - matplotlib.rcParams['mathtext.fontset'] = fontset - fig = plt.figure(figsize=(5.25, 0.75)) -@@ -186,7 +186,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test, recwarn): - ['cm', 'stix', 'stixsans', 'dejavusans', - 'dejavuserif']) - @pytest.mark.parametrize('baseline_images', ['mathfont'], indirect=True) --@image_comparison(baseline_images=None, extensions=['png']) -+@image_comparison(baseline_images=None, extensions=['png'], tol=0.3) - def test_mathfont_rendering(baseline_images, fontset, index, test, recwarn): - matplotlib.rcParams['mathtext.fontset'] = fontset - fig = plt.figure(figsize=(5.25, 0.75)) -diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py -index c0eda5542..62670dbbf 100644 ---- a/lib/matplotlib/tests/test_patches.py -+++ b/lib/matplotlib/tests/test_patches.py -@@ -257,8 +257,7 @@ def test_wedge_movement(): - assert getattr(w, attr) == new_v - - --# png needs tol>=0.06, pdf tol>=1.617 --@image_comparison(['wedge_range'], remove_text=True, tol=1.65 if on_win else 0) -+@image_comparison(['wedge_range'], remove_text=True) - def test_wedge_range(): - ax = plt.axes() - -diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py -index eddd1a3a1..f6993ec31 100644 ---- a/lib/matplotlib/tests/test_patheffects.py -+++ b/lib/matplotlib/tests/test_patheffects.py -@@ -115,7 +115,7 @@ def test_SimplePatchShadow_offset(): - assert pe._offset == (4, 5) - - --@image_comparison(['collection'], tol=0.02, style='mpl20') -+@image_comparison(['collection'], tol=0.084, style='mpl20') - def test_collection(): - x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100)) - data = np.sin(x) + np.cos(y) -diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py -index 0fad3cdf2..aab0b29c6 100644 ---- a/lib/matplotlib/tests/test_pickle.py -+++ b/lib/matplotlib/tests/test_pickle.py -@@ -41,7 +41,7 @@ def test_simple(): - - - @image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20', -- tol={'aarch64': 0.082}.get(platform.machine(), 0.0)) -+ tol=0.11) - def test_complete(): - fig = plt.figure('Figure with a label?', figsize=(10, 6)) - -diff --git a/lib/matplotlib/tests/test_quiver.py b/lib/matplotlib/tests/test_quiver.py -index 719c8fbc1..fd28062e1 100644 ---- a/lib/matplotlib/tests/test_quiver.py -+++ b/lib/matplotlib/tests/test_quiver.py -@@ -173,7 +173,7 @@ def test_quiver_key_xy(): - ax.quiverkey(q, X=x, Y=0.8, U=1, angle=angle, label='', color='b') - - --@image_comparison(['barbs_test_image.png'], remove_text=True) -+@image_comparison(['barbs_test_image.png'], remove_text=True, tol=0.11) - def test_barbs(): - x = np.linspace(-5, 5, 5) - X, Y = np.meshgrid(x, x) -diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index 1afc60543..aa12ab5ea 100644 ---- a/lib/matplotlib/tests/test_streamplot.py -+++ b/lib/matplotlib/tests/test_streamplot.py -@@ -40,7 +40,7 @@ def test_startpoints(): - - - @image_comparison(['streamplot_colormap'], -- tol=.04, remove_text=True, style='mpl20') -+ remove_text=True, style='mpl20') - def test_colormap(): - X, Y, U, V = velocity_field() - plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2, -diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py -index f35467ee7..b3ca0c020 100644 ---- a/lib/matplotlib/tests/test_transforms.py -+++ b/lib/matplotlib/tests/test_transforms.py -@@ -68,7 +68,7 @@ def test_external_transform_api(): - - - @image_comparison(['pre_transform_data'], -- tol=0.08, remove_text=True, style='mpl20') -+ tol=0.155, remove_text=True, style='mpl20') - def test_pre_transform_plotting(): - # a catch-all for as many as possible plot layouts which handle - # pre-transforming the data NOTE: The axis range is important in this -diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py -index f14425144..c1afffcaa 100644 ---- a/lib/matplotlib/tests/test_units.py -+++ b/lib/matplotlib/tests/test_units.py -@@ -73,8 +73,7 @@ def quantity_converter(): - - # Tests that the conversion machinery works properly for classes that - # work as a facade over numpy arrays (like pint) --@image_comparison(['plot_pint.png'], remove_text=False, style='mpl20', -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+@image_comparison(['plot_pint.png'], remove_text=False, style='mpl20') - def test_numpy_facade(quantity_converter): - # use former defaults to match existing baseline image - plt.rcParams['axes.formatter.limits'] = -7, 7 -diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py -index e69b63f99..0c2dd5660 100644 ---- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py -+++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py -@@ -18,7 +18,7 @@ def test_subplot(): - fig.add_subplot(ax) - - --@image_comparison(['curvelinear3.png'], style='default', tol=0.01) -+@image_comparison(['curvelinear3.png'], style='default', tol=0.02) - def test_curvelinear3(): - fig = plt.figure(figsize=(5, 5)) - -@@ -72,7 +72,7 @@ def test_curvelinear3(): - l.set_clip_path(ax1.patch) - - --@image_comparison(['curvelinear4.png'], style='default', tol=0.015) -+@image_comparison(['curvelinear4.png'], style='default', tol=0.055) - def test_curvelinear4(): - # Remove this line when this test image is regenerated. - plt.rcParams['text.kerning_factor'] = 6 -diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py -index 611908063..8add49b46 100644 ---- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py -+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py -@@ -16,8 +16,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \ - GridHelperCurveLinear - - --@image_comparison(['custom_transform.png'], style='default', -- tol={'aarch64': 0.034}.get(platform.machine(), 0.03)) -+@image_comparison(['custom_transform.png'], style='default', tol=0.035) - def test_custom_transform(): - class MyTransform(Transform): - input_dims = 2 -@@ -84,7 +83,7 @@ def test_custom_transform(): - - - @image_comparison(['polar_box.png'], style='default', -- tol={'aarch64': 0.04}.get(platform.machine(), 0.03)) -+ tol=0.08) - def test_polar_box(): - # Remove this line when this test image is regenerated. - plt.rcParams['text.kerning_factor'] = 6 -@@ -147,7 +146,7 @@ def test_polar_box(): - ax1.grid(True) - - --@image_comparison(['axis_direction.png'], style='default', tol=0.03) -+@image_comparison(['axis_direction.png'], style='default', tol=0.05) - def test_axis_direction(): - # Remove this line when this test image is regenerated. - plt.rcParams['text.kerning_factor'] = 6 -diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py -index 592096b74..69ac5a2b3 100644 ---- a/lib/mpl_toolkits/tests/test_mplot3d.py -+++ b/lib/mpl_toolkits/tests/test_mplot3d.py -@@ -280,7 +280,7 @@ def test_text3d(): - ax.set_zlabel('Z axis') - - --@image_comparison(['trisurf3d.png'], remove_text=True, tol=0.03) -+@image_comparison(['trisurf3d.png'], remove_text=True, tol=0.05) - def test_trisurf3d(): - n_angles = 36 - n_radii = 8 -@@ -756,7 +756,7 @@ class TestVoxels: - assert voxels[coord], "faces returned for absent voxel" - assert isinstance(poly, art3d.Poly3DCollection) - -- @image_comparison(['voxels-xyz.png'], tol=0.01) -+ @image_comparison(['voxels-xyz.png'], tol=0.02) - def test_xyz(self): - fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) - --- -2.25.4 - diff --git a/0004-Increase-some-tolerances-for-non-x86-arches.patch b/0004-Increase-some-tolerances-for-non-x86-arches.patch deleted file mode 100644 index c24bbf5..0000000 --- a/0004-Increase-some-tolerances-for-non-x86-arches.patch +++ /dev/null @@ -1,267 +0,0 @@ -From 91ef378043f12f16a9a1f03437d9f51220dff305 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade quantum.analyst@gmail.com -Date: Sat, 31 Mar 2018 00:33:37 -0400 -Subject: [PATCH 4/4] Increase some tolerances for non-x86 arches. - -Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com ---- - lib/matplotlib/tests/test_arrow_patches.py | 4 ++-- - lib/matplotlib/tests/test_axes.py | 4 ++-- - lib/matplotlib/tests/test_backends_interactive.py | 2 +- - lib/matplotlib/tests/test_collections.py | 2 +- - lib/matplotlib/tests/test_constrainedlayout.py | 3 ++- - lib/matplotlib/tests/test_cycles.py | 6 +++--- - lib/matplotlib/tests/test_figure.py | 2 +- - lib/matplotlib/tests/test_image.py | 2 +- - lib/matplotlib/tests/test_legend.py | 6 +++--- - lib/matplotlib/tests/test_pickle.py | 2 +- - lib/matplotlib/tests/test_streamplot.py | 2 +- - lib/matplotlib/tests/test_units.py | 4 ++-- - .../tests/test_axisartist_grid_helper_curvelinear.py | 4 ++-- - 13 files changed, 22 insertions(+), 21 deletions(-) - -diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py -index a9409e2c1..9627b3569 100644 ---- a/lib/matplotlib/tests/test_arrow_patches.py -+++ b/lib/matplotlib/tests/test_arrow_patches.py -@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test(): - - - @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), -+ tol=0.016, - savefig_kwarg=dict(dpi=100)) - def test_fancyarrow_dpi_cor_100dpi(): - """ -@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi(): - - - @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), -+ tol=0.019, - savefig_kwarg=dict(dpi=200)) - def test_fancyarrow_dpi_cor_200dpi(): - """ -diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index b5bfc32c3..a956412d1 100644 ---- a/lib/matplotlib/tests/test_axes.py -+++ b/lib/matplotlib/tests/test_axes.py -@@ -407,7 +407,7 @@ def test_annotate_default_arrow(): - assert ann.arrow_patch is not None - - --@image_comparison(['polar_axes'], style='default') -+@image_comparison(['polar_axes'], style='default', tol=0.01) - def test_polar_annotations(): - # you can specify the xypoint and the xytext in different - # positions and coordinate systems, and optionally turn on a -@@ -3673,7 +3673,7 @@ def test_vertex_markers(): - - - @image_comparison(['vline_hline_zorder', 'errorbar_zorder'], -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.02) - def test_eb_line_zorder(): - x = list(range(10)) - -diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py -index 7465bb919..8300ab627 100644 ---- a/lib/matplotlib/tests/test_backends_interactive.py -+++ b/lib/matplotlib/tests/test_backends_interactive.py -@@ -126,7 +126,7 @@ if not backend.startswith('qt5') and sys.platform == 'darwin': - # not resize incorrectly. - assert_equal(result.getvalue(), result_after.getvalue()) - """ --_test_timeout = 10 # Empirically, 1s is not enough on Travis. -+_test_timeout = 30 # Empirically, 1s is not enough on Travis. - - - @pytest.mark.parametrize("backend", _get_testable_interactive_backends()) -diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py -index 3f5b3bf1a..8c5549bad 100644 ---- a/lib/matplotlib/tests/test_collections.py -+++ b/lib/matplotlib/tests/test_collections.py -@@ -439,7 +439,7 @@ def test_barb_limits(): - - - @image_comparison(['EllipseCollection_test_image.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.012) - def test_EllipseCollection(): - # Test basic functionality - fig, ax = plt.subplots() -diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py -index 75311e70e..8de7b987d 100644 ---- a/lib/matplotlib/tests/test_constrainedlayout.py -+++ b/lib/matplotlib/tests/test_constrainedlayout.py -@@ -164,7 +164,8 @@ def test_constrained_layout9(): - fig.suptitle('Test Suptitle', fontsize=28) - - --@image_comparison(['constrained_layout10.png']) -+@image_comparison(['constrained_layout10.png'], -+ tol=0.01) - def test_constrained_layout10(): - 'Test for handling legend outside axis' - fig, axs = plt.subplots(2, 2, constrained_layout=True) -diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py -index ee67b4e41..c52a5b0f8 100644 ---- a/lib/matplotlib/tests/test_cycles.py -+++ b/lib/matplotlib/tests/test_cycles.py -@@ -9,7 +9,7 @@ from cycler import cycler - - - @image_comparison(['color_cycle_basic.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.008) - def test_colorcycle_basic(): - fig, ax = plt.subplots() - ax.set_prop_cycle(cycler('color', ['r', 'g', 'y'])) -@@ -26,7 +26,7 @@ def test_colorcycle_basic(): - - - @image_comparison(['marker_cycle.png', 'marker_cycle.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.008) - def test_marker_cycle(): - fig, ax = plt.subplots() - ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) + -@@ -59,7 +59,7 @@ def test_marker_cycle(): - - - @image_comparison(['lineprop_cycle_basic.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.009) - def test_linestylecycle_basic(): - fig, ax = plt.subplots() - ax.set_prop_cycle(cycler('ls', ['-', '--', ':'])) -diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py -index b5ca0ed5b..284cccb15 100644 ---- a/lib/matplotlib/tests/test_figure.py -+++ b/lib/matplotlib/tests/test_figure.py -@@ -14,7 +14,7 @@ import pytest - - - @image_comparison(['figure_align_labels'], -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.01) - def test_align_labels(): - # Check the figure.align_labels() command - fig = plt.figure(tight_layout=True) -diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py -index 93cfbb260..122c884da 100644 ---- a/lib/matplotlib/tests/test_image.py -+++ b/lib/matplotlib/tests/test_image.py -@@ -928,7 +928,7 @@ def test_imshow_endianess(): - - - @image_comparison(['imshow_masked_interpolation'], -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), -+ tol=0.006, - remove_text=True, style='mpl20') - def test_imshow_masked_interpolation(): - -diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py -index 71499da44..23cfcb873 100644 ---- a/lib/matplotlib/tests/test_legend.py -+++ b/lib/matplotlib/tests/test_legend.py -@@ -106,7 +106,7 @@ def test_multiple_keys(): - - - @image_comparison(['rgba_alpha.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.007) - def test_alpha_rgba(): - import matplotlib.pyplot as plt - -@@ -117,7 +117,7 @@ def test_alpha_rgba(): - - - @image_comparison(['rcparam_alpha.png'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.007) - def test_alpha_rcparam(): - import matplotlib.pyplot as plt - -@@ -145,7 +145,7 @@ def test_fancy(): - - - @image_comparison(['framealpha'], remove_text=True, -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.018) - def test_framealpha(): - x = np.linspace(1, 100, 100) - y = x -diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py -index 0fad3cdf2..4d2599607 100644 ---- a/lib/matplotlib/tests/test_pickle.py -+++ b/lib/matplotlib/tests/test_pickle.py -@@ -41,7 +41,7 @@ def test_simple(): - - - @image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20', -- tol={'aarch64': 0.082}.get(platform.machine(), 0.0)) -+ tol=0.082) - def test_complete(): - fig = plt.figure('Figure with a label?', figsize=(10, 6)) - -diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index 1afc60543..dcac38102 100644 ---- a/lib/matplotlib/tests/test_streamplot.py -+++ b/lib/matplotlib/tests/test_streamplot.py -@@ -49,7 +49,7 @@ def test_colormap(): - - - @image_comparison(['streamplot_linewidth'], remove_text=True, style='mpl20', -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.002) - def test_linewidth(): - X, Y, U, V = velocity_field() - speed = np.hypot(U, V) -diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py -index f14425144..fd8f26502 100644 ---- a/lib/matplotlib/tests/test_units.py -+++ b/lib/matplotlib/tests/test_units.py -@@ -74,7 +74,7 @@ def quantity_converter(): - # Tests that the conversion machinery works properly for classes that - # work as a facade over numpy arrays (like pint) - @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20', -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.003) - def test_numpy_facade(quantity_converter): - # use former defaults to match existing baseline image - plt.rcParams['axes.formatter.limits'] = -7, 7 -@@ -101,7 +101,7 @@ def test_numpy_facade(quantity_converter): - - # Tests gh-8908 - @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20', -- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) -+ tol=0.007) - def test_plot_masked_units(): - data = np.linspace(-5, 5) - data_masked = np.ma.array(data, mask=(data > -2) & (data < 2)) -diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py -index 611908063..be11d7c6b 100644 ---- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py -+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py -@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \ - - - @image_comparison(['custom_transform.png'], style='default', -- tol={'aarch64': 0.034}.get(platform.machine(), 0.03)) -+ tol=0.04) - def test_custom_transform(): - class MyTransform(Transform): - input_dims = 2 -@@ -84,7 +84,7 @@ def test_custom_transform(): - - - @image_comparison(['polar_box.png'], style='default', -- tol={'aarch64': 0.04}.get(platform.machine(), 0.03)) -+ tol=0.04) - def test_polar_box(): - # Remove this line when this test image is regenerated. - plt.rcParams['text.kerning_factor'] = 6 --- -2.25.4 - diff --git a/0004-Update-aarch64-tolerances.patch b/0004-Update-aarch64-tolerances.patch new file mode 100644 index 0000000..4010ba7 --- /dev/null +++ b/0004-Update-aarch64-tolerances.patch @@ -0,0 +1,223 @@ +From 954ebfd469a0979e0817db96760ea1f5542f2729 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade quantum.analyst@gmail.com +Date: Mon, 29 Jun 2020 03:49:29 -0400 +Subject: [PATCH 4/6] Update aarch64 tolerances. + +Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com +--- + lib/matplotlib/tests/test_backend_pgf.py | 6 +----- + lib/matplotlib/tests/test_collections.py | 4 +--- + lib/matplotlib/tests/test_contour.py | 4 +++- + lib/matplotlib/tests/test_figure.py | 2 +- + lib/matplotlib/tests/test_image.py | 2 +- + lib/matplotlib/tests/test_legend.py | 4 ++-- + lib/matplotlib/tests/test_patheffects.py | 2 +- + lib/matplotlib/tests/test_polar.py | 5 ++++- + lib/matplotlib/tests/test_streamplot.py | 4 +--- + lib/matplotlib/tests/test_units.py | 4 ++-- + lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +- + 11 files changed, 18 insertions(+), 21 deletions(-) + +diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py +index 2d125ad29..702cc6c35 100644 +--- a/lib/matplotlib/tests/test_backend_pgf.py ++++ b/lib/matplotlib/tests/test_backend_pgf.py +@@ -8,7 +8,6 @@ from tempfile import TemporaryDirectory + + import numpy as np + import pytest +-import platform + + import matplotlib as mpl + import matplotlib.pyplot as plt +@@ -179,10 +178,7 @@ def test_pathclip(): + # test mixed mode rendering + @needs_xelatex + @pytest.mark.backend('pgf') +-@image_comparison(['pgf_mixedmode.pdf'], style='default', +- tol={'aarch64': 1.086, 'x86_64': 1.086}.get( +- platform.machine(), 0.0 +- )) ++@image_comparison(['pgf_mixedmode.pdf'], style='default') + def test_mixedmode(): + rc_xelatex = {'font.family': 'serif', + 'pgf.rcfonts': False} +diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py +index 77f6e1884..d457fe372 100644 +--- a/lib/matplotlib/tests/test_collections.py ++++ b/lib/matplotlib/tests/test_collections.py +@@ -1,5 +1,4 @@ + import io +-import platform + from types import SimpleNamespace + + import numpy as np +@@ -334,8 +333,7 @@ def test_barb_limits(): + decimal=1) + + +-@image_comparison(['EllipseCollection_test_image.png'], remove_text=True, +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) ++@image_comparison(['EllipseCollection_test_image.png'], remove_text=True) + def test_EllipseCollection(): + # Test basic functionality + fig, ax = plt.subplots() +diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py +index 1a1c5f442..e233a2b79 100644 +--- a/lib/matplotlib/tests/test_contour.py ++++ b/lib/matplotlib/tests/test_contour.py +@@ -1,4 +1,5 @@ + import datetime ++import platform + import re + + import numpy as np +@@ -189,7 +190,8 @@ def test_contour_datetime_axis(): + + + @image_comparison(['contour_test_label_transforms.png'], +- remove_text=True, style='mpl20') ++ remove_text=True, style='mpl20', ++ tol={'aarch64': 0.08}.get(platform.machine(), 0)) + def test_labels(): + # Adapted from pylab_examples example code: contour_demo.py + # see issues #2475, #2843, and #2818 for explanation +diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py +index bb1623509..2340f2199 100644 +--- a/lib/matplotlib/tests/test_figure.py ++++ b/lib/matplotlib/tests/test_figure.py +@@ -22,7 +22,7 @@ import pytest + + + @image_comparison(['figure_align_labels'], +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) ++ tol={'aarch64': 0.01}.get(platform.machine(), 0)) + def test_align_labels(): + fig = plt.figure(tight_layout=True) + gs = gridspec.GridSpec(3, 3) +diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py +index b5fd6e6fe..d07b80bef 100644 +--- a/lib/matplotlib/tests/test_image.py ++++ b/lib/matplotlib/tests/test_image.py +@@ -861,7 +861,7 @@ def test_imshow_endianess(): + + + @image_comparison(['imshow_masked_interpolation'], +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), ++ tol={'aarch64': 0.01}.get(platform.machine(), 0), + remove_text=True, style='mpl20') + def test_imshow_masked_interpolation(): + +diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py +index df09a884b..b6ccb28dd 100644 +--- a/lib/matplotlib/tests/test_legend.py ++++ b/lib/matplotlib/tests/test_legend.py +@@ -105,7 +105,7 @@ def test_multiple_keys(): + + + @image_comparison(['rgba_alpha.png'], remove_text=True, +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) ++ tol={'aarch64': 0.01}.get(platform.machine(), 0)) + def test_alpha_rgba(): + fig, ax = plt.subplots(1, 1) + ax.plot(range(10), lw=5) +@@ -114,7 +114,7 @@ def test_alpha_rgba(): + + + @image_comparison(['rcparam_alpha.png'], remove_text=True, +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) ++ tol={'aarch64': 0.01}.get(platform.machine(), 0)) + def test_alpha_rcparam(): + fig, ax = plt.subplots(1, 1) + ax.plot(range(10), lw=5) +diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py +index d8c54e770..77b6ae314 100644 +--- a/lib/matplotlib/tests/test_patheffects.py ++++ b/lib/matplotlib/tests/test_patheffects.py +@@ -115,7 +115,7 @@ def test_SimplePatchShadow_offset(): + assert pe._offset == (4, 5) + + +-@image_comparison(['collection'], tol=0.02, style='mpl20') ++@image_comparison(['collection'], tol=0.03, style='mpl20') + def test_collection(): + x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100)) + data = np.sin(x) + np.cos(y) +diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py +index 3594a9224..7b5fd6af9 100644 +--- a/lib/matplotlib/tests/test_polar.py ++++ b/lib/matplotlib/tests/test_polar.py +@@ -1,3 +1,5 @@ ++import platform ++ + import numpy as np + from numpy.testing import assert_allclose + import pytest +@@ -7,7 +9,8 @@ from matplotlib import pyplot as plt + from matplotlib.testing.decorators import image_comparison, check_figures_equal + + +-@image_comparison(['polar_axes'], style='default') ++@image_comparison(['polar_axes'], style='default', ++ tol={'aarch64': 0.01}.get(platform.machine(), 0)) + def test_polar_annotations(): + # You can specify the xypoint and the xytext in different positions and + # coordinate systems, and optionally turn on a connecting line and mark the +diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py +index d2218f6f2..2e795c2a3 100644 +--- a/lib/matplotlib/tests/test_streamplot.py ++++ b/lib/matplotlib/tests/test_streamplot.py +@@ -1,5 +1,4 @@ + import sys +-import platform + + import numpy as np + from numpy.testing import assert_array_almost_equal +@@ -48,8 +47,7 @@ def test_colormap(): + plt.colorbar() + + +-@image_comparison(['streamplot_linewidth'], remove_text=True, style='mpl20', +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) ++@image_comparison(['streamplot_linewidth'], remove_text=True, style='mpl20') + def test_linewidth(): + X, Y, U, V = velocity_field() + speed = np.hypot(U, V) +diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py +index 25396ff0f..137b12aa9 100644 +--- a/lib/matplotlib/tests/test_units.py ++++ b/lib/matplotlib/tests/test_units.py +@@ -74,7 +74,7 @@ def quantity_converter(): + # Tests that the conversion machinery works properly for classes that + # work as a facade over numpy arrays (like pint) + @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20', +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) ++ tol={'aarch64': 0.01}.get(platform.machine(), 0)) + def test_numpy_facade(quantity_converter): + # use former defaults to match existing baseline image + plt.rcParams['axes.formatter.limits'] = -7, 7 +@@ -101,7 +101,7 @@ def test_numpy_facade(quantity_converter): + + # Tests gh-8908 + @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20', +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) ++ tol={'aarch64': 0.01}.get(platform.machine(), 0)) + def test_plot_masked_units(): + data = np.linspace(-5, 5) + data_masked = np.ma.array(data, mask=(data > -2) & (data < 2)) +diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py +index 0aa2c7600..30ea87445 100644 +--- a/lib/mpl_toolkits/tests/test_axes_grid1.py ++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py +@@ -331,7 +331,7 @@ def test_zooming_with_inverted_axes(): + + + @image_comparison(['anchored_direction_arrows.png'], +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) ++ tol={'aarch64': 0.01}.get(platform.machine(), 0)) + def test_anchored_direction_arrows(): + fig, ax = plt.subplots() + ax.imshow(np.zeros((10, 10)), interpolation='nearest') +-- +2.25.4 + diff --git a/0005-Increase-tolerance-for-ppc64le-and-s390x.patch b/0005-Increase-tolerance-for-ppc64le-and-s390x.patch new file mode 100644 index 0000000..75eb308 --- /dev/null +++ b/0005-Increase-tolerance-for-ppc64le-and-s390x.patch @@ -0,0 +1,219 @@ +From efd56e93d7e8f6a63d734f98c6110795dd914418 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade quantum.analyst@gmail.com +Date: Mon, 29 Jun 2020 17:29:56 -0400 +Subject: [PATCH 5/6] Increase tolerance for ppc64le and s390x. + +These are mostly the same as the aarch64 increased tolerances. + +Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com +--- + lib/matplotlib/tests/test_arrow_patches.py | 6 ++++-- + lib/matplotlib/tests/test_axes.py | 3 ++- + lib/matplotlib/tests/test_contour.py | 3 ++- + lib/matplotlib/tests/test_figure.py | 3 ++- + lib/matplotlib/tests/test_image.py | 3 ++- + lib/matplotlib/tests/test_legend.py | 9 ++++++--- + lib/matplotlib/tests/test_pickle.py | 3 ++- + lib/matplotlib/tests/test_polar.py | 3 ++- + lib/matplotlib/tests/test_units.py | 6 ++++-- + lib/mpl_toolkits/tests/test_axes_grid1.py | 3 ++- + .../tests/test_axisartist_grid_helper_curvelinear.py | 3 ++- + 11 files changed, 30 insertions(+), 15 deletions(-) + +diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py +index 2218a2e7f..037558c02 100644 +--- a/lib/matplotlib/tests/test_arrow_patches.py ++++ b/lib/matplotlib/tests/test_arrow_patches.py +@@ -67,7 +67,8 @@ def __prepare_fancyarrow_dpi_cor_test(): + + + @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True, +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), ++ tol={'aarch64': 0.02, 'ppc64le': 0.02, ++ 's390x': 0.02}.get(platform.machine(), 0), + savefig_kwarg=dict(dpi=100)) + def test_fancyarrow_dpi_cor_100dpi(): + """ +@@ -82,7 +83,8 @@ def test_fancyarrow_dpi_cor_100dpi(): + + + @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True, +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), ++ tol={'aarch64': 0.02, 'ppc64le': 0.02, ++ 's390x': 0.02}.get(platform.machine(), 0), + savefig_kwarg=dict(dpi=200)) + def test_fancyarrow_dpi_cor_200dpi(): + """ +diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py +index 107936d19..48cfdf582 100644 +--- a/lib/matplotlib/tests/test_axes.py ++++ b/lib/matplotlib/tests/test_axes.py +@@ -3705,7 +3705,8 @@ def test_vertex_markers(): + + + @image_comparison(['vline_hline_zorder', 'errorbar_zorder'], +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) ++ tol={'aarch64': 0.02, 'ppc64le': 0.02, ++ 's390x': 0.02}.get(platform.machine(), 0)) + def test_eb_line_zorder(): + x = list(range(10)) + +diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py +index e233a2b79..178c7abb3 100644 +--- a/lib/matplotlib/tests/test_contour.py ++++ b/lib/matplotlib/tests/test_contour.py +@@ -191,7 +191,8 @@ def test_contour_datetime_axis(): + + @image_comparison(['contour_test_label_transforms.png'], + remove_text=True, style='mpl20', +- tol={'aarch64': 0.08}.get(platform.machine(), 0)) ++ tol={'aarch64': 0.08, 'ppc64le': 0.08, ++ 's390x': 0.08}.get(platform.machine(), 0)) + def test_labels(): + # Adapted from pylab_examples example code: contour_demo.py + # see issues #2475, #2843, and #2818 for explanation +diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py +index 2340f2199..ff375e4bf 100644 +--- a/lib/matplotlib/tests/test_figure.py ++++ b/lib/matplotlib/tests/test_figure.py +@@ -22,7 +22,8 @@ import pytest + + + @image_comparison(['figure_align_labels'], +- tol={'aarch64': 0.01}.get(platform.machine(), 0)) ++ tol={'aarch64': 0.01, 'ppc64le': 0.01, ++ 's390x': 0.01}.get(platform.machine(), 0)) + def test_align_labels(): + fig = plt.figure(tight_layout=True) + gs = gridspec.GridSpec(3, 3) +diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py +index d07b80bef..a6cecc28c 100644 +--- a/lib/matplotlib/tests/test_image.py ++++ b/lib/matplotlib/tests/test_image.py +@@ -861,7 +861,8 @@ def test_imshow_endianess(): + + + @image_comparison(['imshow_masked_interpolation'], +- tol={'aarch64': 0.01}.get(platform.machine(), 0), ++ tol={'aarch64': 0.01, 'ppc64le': 0.01, ++ 's390x': 0.01}.get(platform.machine(), 0), + remove_text=True, style='mpl20') + def test_imshow_masked_interpolation(): + +diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py +index b6ccb28dd..24d267405 100644 +--- a/lib/matplotlib/tests/test_legend.py ++++ b/lib/matplotlib/tests/test_legend.py +@@ -105,7 +105,8 @@ def test_multiple_keys(): + + + @image_comparison(['rgba_alpha.png'], remove_text=True, +- tol={'aarch64': 0.01}.get(platform.machine(), 0)) ++ tol={'aarch64': 0.01, 'ppc64le': 0.01, ++ 's390x': 0.01}.get(platform.machine(), 0)) + def test_alpha_rgba(): + fig, ax = plt.subplots(1, 1) + ax.plot(range(10), lw=5) +@@ -114,7 +115,8 @@ def test_alpha_rgba(): + + + @image_comparison(['rcparam_alpha.png'], remove_text=True, +- tol={'aarch64': 0.01}.get(platform.machine(), 0)) ++ tol={'aarch64': 0.01, 'ppc64le': 0.01, ++ 's390x': 0.01}.get(platform.machine(), 0)) + def test_alpha_rcparam(): + fig, ax = plt.subplots(1, 1) + ax.plot(range(10), lw=5) +@@ -140,7 +142,8 @@ def test_fancy(): + + + @image_comparison(['framealpha'], remove_text=True, +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) ++ tol={'aarch64': 0.02, 'ppc64le': 0.02, ++ 's390x': 0.02}.get(platform.machine(), 0)) + def test_framealpha(): + x = np.linspace(1, 100, 100) + y = x +diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py +index 6a78526b5..864853bba 100644 +--- a/lib/matplotlib/tests/test_pickle.py ++++ b/lib/matplotlib/tests/test_pickle.py +@@ -41,7 +41,8 @@ def test_simple(): + + + @image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20', +- tol={'aarch64': 0.082}.get(platform.machine(), 0.0)) ++ tol={'aarch64': 0.082, 'ppc64le': 0.082, ++ 's390x': 0.082}.get(platform.machine(), 0)) + def test_complete(): + fig = plt.figure('Figure with a label?', figsize=(10, 6)) + +diff --git a/lib/matplotlib/tests/test_polar.py b/lib/matplotlib/tests/test_polar.py +index 7b5fd6af9..9f94f84cd 100644 +--- a/lib/matplotlib/tests/test_polar.py ++++ b/lib/matplotlib/tests/test_polar.py +@@ -10,7 +10,8 @@ from matplotlib.testing.decorators import image_comparison, check_figures_equal + + + @image_comparison(['polar_axes'], style='default', +- tol={'aarch64': 0.01}.get(platform.machine(), 0)) ++ tol={'aarch64': 0.01, 'ppc64le': 0.01, ++ 's390x': 0.01}.get(platform.machine(), 0)) + def test_polar_annotations(): + # You can specify the xypoint and the xytext in different positions and + # coordinate systems, and optionally turn on a connecting line and mark the +diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py +index 137b12aa9..b7b3197ac 100644 +--- a/lib/matplotlib/tests/test_units.py ++++ b/lib/matplotlib/tests/test_units.py +@@ -74,7 +74,8 @@ def quantity_converter(): + # Tests that the conversion machinery works properly for classes that + # work as a facade over numpy arrays (like pint) + @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20', +- tol={'aarch64': 0.01}.get(platform.machine(), 0)) ++ tol={'aarch64': 0.01, 'ppc64le': 0.01, ++ 's390x': 0.01}.get(platform.machine(), 0)) + def test_numpy_facade(quantity_converter): + # use former defaults to match existing baseline image + plt.rcParams['axes.formatter.limits'] = -7, 7 +@@ -101,7 +102,8 @@ def test_numpy_facade(quantity_converter): + + # Tests gh-8908 + @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20', +- tol={'aarch64': 0.01}.get(platform.machine(), 0)) ++ tol={'aarch64': 0.01, 'ppc64le': 0.01, ++ 's390x': 0.01}.get(platform.machine(), 0)) + def test_plot_masked_units(): + data = np.linspace(-5, 5) + data_masked = np.ma.array(data, mask=(data > -2) & (data < 2)) +diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py +index 30ea87445..fd8b9632f 100644 +--- a/lib/mpl_toolkits/tests/test_axes_grid1.py ++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py +@@ -331,7 +331,8 @@ def test_zooming_with_inverted_axes(): + + + @image_comparison(['anchored_direction_arrows.png'], +- tol={'aarch64': 0.01}.get(platform.machine(), 0)) ++ tol={'aarch64': 0.01, 'ppc64le': 0.01, ++ 's390x': 0.01}.get(platform.machine(), 0)) + def test_anchored_direction_arrows(): + fig, ax = plt.subplots() + ax.imshow(np.zeros((10, 10)), interpolation='nearest') +diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +index bed21a640..d9b3b9b8b 100644 +--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py ++++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +@@ -17,7 +17,8 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \ + + + @image_comparison(['custom_transform.png'], style='default', +- tol={'aarch64': 0.034}.get(platform.machine(), 0.03)) ++ tol={'aarch64': 0.034, 'ppc64le': 0.034, ++ 's390x': 0.034}.get(platform.machine(), 0.03)) + def test_custom_transform(): + class MyTransform(Transform): + input_dims = output_dims = 2 +-- +2.25.4 + diff --git a/0006-Fix-running-contour-s-test_internal_cpp_api-directly.patch b/0006-Fix-running-contour-s-test_internal_cpp_api-directly.patch new file mode 100644 index 0000000..3e2c756 --- /dev/null +++ b/0006-Fix-running-contour-s-test_internal_cpp_api-directly.patch @@ -0,0 +1,63 @@ +From 717fb2ce07ac66794df6b4e1833e14d2c8036233 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade quantum.analyst@gmail.com +Date: Mon, 29 Jun 2020 17:35:37 -0400 +Subject: [PATCH 6/6] Fix running contour's test_internal_cpp_api directly. + +The `matplotlib._contour` module is lazily loaded, so using it directly +(as done in this test) may fail if something else doesn't load it. This +test would fail if it was the first contour-related test run in a +process (if testing in parallel), or if just called as the only test, +i.e., this commit fixes: +``` +$ pytest -k test_internal_cpp_api lib/matplotlib/tests/test_contour.py +__________ test_internal_cpp_api[args0-TypeError-function takes exactly 6 arguments (0 given)] __________ + +args = (), cls = <class 'TypeError'>, message = 'function takes exactly 6 arguments (0 given)' + + @pytest.mark.parametrize("args, cls, message", [ + ((), TypeError, + 'function takes exactly 6 arguments (0 given)'), + ((1, 2, 3, 4, 5, 6), ValueError, + 'Expected 2-dimensional array, got 0'), + (([[0]], [[0]], [[]], None, True, 0), ValueError, + 'x, y and z must all be 2D arrays with the same dimensions'), + (([[0]], [[0]], [[0]], None, True, 0), ValueError, + 'x, y and z must all be at least 2x2 arrays'), + ((*[np.arange(4).reshape((2, 2))] * 3, [[0]], True, 0), ValueError, + 'If mask is set it must be a 2D array with the same dimensions as x.'), + ]) + def test_internal_cpp_api(args, cls, message): # Github issue 8197. + with pytest.raises(cls, match=re.escape(message)): +> mpl._contour.QuadContourGenerator(*args) +E AttributeError: module 'matplotlib' has no attribute '_contour' + +lib/matplotlib/tests/test_contour.py:269: AttributeError + +This is a corollary to b672f68f89fb0d3a90a15571f0c1810fe93724ce for tri. + +Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com +--- + lib/matplotlib/tests/test_contour.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py +index 178c7abb3..7c3337fea 100644 +--- a/lib/matplotlib/tests/test_contour.py ++++ b/lib/matplotlib/tests/test_contour.py +@@ -268,11 +268,13 @@ def test_contourf_symmetric_locator(): + 'If mask is set it must be a 2D array with the same dimensions as x.'), + ]) + def test_internal_cpp_api(args, cls, message): # Github issue 8197. ++ from matplotlib import _contour # noqa: ensure lazy-loaded module *is* loaded. + with pytest.raises(cls, match=re.escape(message)): + mpl._contour.QuadContourGenerator(*args) + + + def test_internal_cpp_api_2(): ++ from matplotlib import _contour # noqa: ensure lazy-loaded module *is* loaded. + arr = [[0, 1], [2, 3]] + qcg = mpl._contour.QuadContourGenerator(arr, arr, arr, None, True, 0) + with pytest.raises( +-- +2.25.4 + diff --git a/python-matplotlib.spec b/python-matplotlib.spec index cd37359..9588a6f 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -34,31 +34,23 @@ # Use the same directory of the main package for subpackage licence and docs %global _docdir_fmt %{name}
-#global rctag rc2 - # Updated test images for new FreeType. -%global mpl_images_version 3.2.2 +%global mpl_images_version 3.3.0rc1
# The version of FreeType in this Fedora branch. %global ftver 2.10.1
Name: python-matplotlib -Version: 3.2.2 -Release: 1%{?rctag:.%{rctag}}%{?dist} +Version: 3.3.0 +%global Version 3.3.0rc1 +Release: 0.1.rc1%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT URL: http://matplotlib.org -Source0: https://github.com/matplotlib/matplotlib/archive/v%%7Bversion%7D%%7B?rctag%7... +Source0: https://github.com/matplotlib/matplotlib/archive/v%%7BVersion%7D/matplotlib-... Source1: setup.cfg
-# Because the qhull package stopped shipping pkgconfig files. -# https://src.fedoraproject.org/rpms/qhull/pull-request/1 -Patch0001: 0001-Force-using-system-qhull.patch - -# Don't attempt to download jQuery and jQuery UI -Patch0002: 0001-Use-packaged-jquery-and-jquery-ui.patch - # Fedora-specific patches; see: # https://github.com/fedora-python/matplotlib/tree/fedora-patches # https://github.com/fedora-python/matplotlib/tree/fedora-patches-non-x86 @@ -68,12 +60,13 @@ Source1000: https://github.com/QuLogic/mpl-images/archive/v%%7Bmpl_images_vers Patch1001: 0001-matplotlibrc-path-search-fix.patch # Increase tolerances for new FreeType everywhere: Patch1002: 0002-Set-FreeType-version-to-%{ftver}-and-update-tolerances.patch -# Image tolerances for anything but x86_64: -Patch1003: 0003-Increase-tolerances-for-non-x86_64-arches.patch -# Image tolerances for 32-bit systems: i686 armv7hl -Patch1004: 0004-Increase-some-tolerances-for-32-bit-systems.patch -# Image tolerances for 64-bit (but not x86_64) systems: aarch64 ppc64(le) s390x -Patch1005: 0004-Increase-some-tolerances-for-non-x86-arches.patch + +# https://github.com/matplotlib/matplotlib/pull/17800 +Patch0001: 0003-Increase-default-tolerance-slightly-for-32-bit-syste.patch +Patch0002: 0004-Update-aarch64-tolerances.patch +Patch0003: 0005-Increase-tolerance-for-ppc64le-and-s390x.patch +# https://github.com/matplotlib/matplotlib/pull/17797 +Patch0004: 0006-Fix-running-contour-s-test_internal_cpp_api-directly.patch
BuildRequires: gcc BuildRequires: gcc-c++ @@ -195,6 +188,7 @@ BuildRequires: python3-pytest BuildRequires: python3-pytest-rerunfailures BuildRequires: python3-pytest-timeout BuildRequires: python3-pytest-xdist +BuildRequires: python3-pikepdf %endif Requires: python3-numpy Recommends: python3-pillow @@ -300,30 +294,23 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
%prep -%autosetup -n matplotlib-%{version}%{?rctag} -N -%patch0001 -p1 - -%patch0002 -p1 +%autosetup -n matplotlib-%{Version} -N
# Fedora-specific patches follow: %patch1001 -p1 # Updated test images for new FreeType. %patch1002 -p1 -gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/([^/]+)/~lib/\1/tests/baseline_images/~' -%ifnarch x86_64 -%patch1003 -p1 -%endif -%ifarch aarch64 ppc64 ppc64le s390x -%patch1005 -p1 -%endif -%ifarch i686 armv7hl -%patch1004 -p1 -%endif +gzip -dc %SOURCE1000 | tar xf - --transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/([^/]+)/~lib/\1/tests/baseline_images/~' rm -r extern/libqhull
# Copy setup.cfg to the builddir cp -p %{SOURCE1} setup.cfg
+%patch0001 -p1 +%patch0002 -p1 +%patch0003 -p1 +%patch0004 -p1 +
%build %set_build_flags @@ -348,10 +335,7 @@ export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD \ %{__python3} setup.py install -O1 --skip-build --root=%{buildroot} -chmod +x %{buildroot}%{python3_sitearch}/matplotlib/dates.py mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib -mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data/matplotlibrc \ - %{buildroot}%{_sysconfdir} mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data \ %{buildroot}%{_datadir}/matplotlib %if !%{with_bundled_fonts} @@ -370,11 +354,10 @@ export http_proxy=http://127.0.0.1/ # * wxagg is broken on ppc64le: # https://bugzilla.redhat.com/show_bug.cgi?id=1738752 MPLCONFIGDIR=$PWD \ -MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ PYTHONDONTWRITEBYTECODE=1 \ xvfb-run -a -s "-screen 0 640x480x24" \ - %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ + %{python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ -m 'not network' \ %ifarch ppc64le -k 'not test_invisible_Line_rendering and not Qt5Agg and not wxagg' @@ -383,16 +366,14 @@ PYTHONDONTWRITEBYTECODE=1 \ %endif # Run Qt5Agg tests separately to not conflict with Qt4 tests. MPLCONFIGDIR=$PWD \ -MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ PYTHONDONTWRITEBYTECODE=1 \ xvfb-run -a -s "-screen 0 640x480x24" \ - %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ + %{python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ -m 'not network' -k 'Qt5Agg' %endif
%files -n python3-matplotlib-data -%{_sysconfdir}/matplotlibrc %{_datadir}/matplotlib/mpl-data/ %if %{with_bundled_fonts} %exclude %{_datadir}/matplotlib/mpl-data/fonts/ @@ -470,6 +451,9 @@ PYTHONDONTWRITEBYTECODE=1 \
%changelog +* Mon Jun 29 2020 Elliott Sales de Andrade quantum.analyst@gmail.com - 3.3.0-0.1.rc1 +- Update to latest version + * Sat Jun 20 2020 Elliott Sales de Andrade quantum.analyst@gmail.com - 3.2.2-1 - Update to latest version
diff --git a/setup.cfg b/setup.cfg index 1ea1a4f..362e6ab 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,7 @@ +[libs] +system_freetype = True +system_qhull = True + [packages] tests = True toolkits = True diff --git a/sources b/sources index 5596ced..12cab17 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (matplotlib-3.2.2.tar.gz) = 4c9312e929357a7c73ead51fa1a679c04b2b9735edfe0f1a2d08a07ec4d94d67df4ff6e8c6d594665a3b270cd3033c48ea8f2aa50fb1e2746812f24c27181f59 -SHA512 (matplotlib-3.2.2-with-freetype-2.10.1.tar.gz) = 498fb1224f74c5254e3a2620d4d36571ed712a7ac261bcb4b2a548ea57d6b7431634dfad547b529d6fa1a3fab90e6b489150afe815485a3030d1e899edfd9be8 +SHA512 (matplotlib-3.3.0rc1.tar.gz) = f47e5473a152d87c5d2e707394f3ccf050b185e1f318ff7141e3ff0a013cb896ddbb6a1164d00b3201ea0d403c71a418c6c5dbaecd413bb9c5c28c8ff73affd0 +SHA512 (matplotlib-3.3.0rc1-with-freetype-2.10.1.tar.gz) = ed7448325e1e29bbb8abbef39944afb8c15250bc0c0ed2f8739156c83318bd5931012360779e1375bc7f020662739bb7a47c16822a1575439aee75579b526060
commit 02546b29b2e003426b62f0ccde344c29b45709a6 Author: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Sat Jun 20 05:02:11 2020 -0400
Make texlive dependencies more explicit.
diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 1b95427..cd37359 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -84,24 +84,50 @@ BuildRequires: qhull-devel BuildRequires: xorg-x11-server-Xvfb BuildRequires: zlib-devel
+BuildRequires: texlive-latex-bin +BuildRequires: texlive-tex-bin +BuildRequires: texlive-xetex-bin +# Search for documentclass and add the classes here. +BuildRequires: tex(article.cls) +BuildRequires: tex(minimal.cls) +# Search for inputenc and add any encodings used with it. +BuildRequires: tex(utf8.def) BuildRequires: tex(utf8x.def) +# Found with: rg -Io 'usepackage([.+])?{.+}' lib | rg -o '{.+}' | sort -u +# and then removing duplicates in one line, etc. BuildRequires: tex(avant.sty) +BuildRequires: tex(bm.sty) BuildRequires: tex(chancery.sty) BuildRequires: tex(charter.sty) +BuildRequires: tex(color.sty) BuildRequires: tex(courier.sty) +BuildRequires: tex(euler.sty) +BuildRequires: tex(fontenc.sty) +BuildRequires: tex(fontspec.sty) BuildRequires: tex(geometry.sty) +BuildRequires: tex(graphicx.sty) BuildRequires: tex(helvet.sty) +BuildRequires: tex(import.sty) BuildRequires: tex(inputenc.sty) BuildRequires: tex(mathpazo.sty) BuildRequires: tex(mathptmx.sty) +BuildRequires: tex(pgf.sty) BuildRequires: tex(preview.sty) +BuildRequires: tex(psfrag.sty) BuildRequires: tex(sfmath.sty) BuildRequires: tex(textcomp.sty) BuildRequires: tex(txfonts.sty) +BuildRequires: tex(type1cm.sty) BuildRequires: tex(type1ec.sty) +BuildRequires: tex(unicode-math.sty) +# See BakomaFonts._fontmap in lib/matplotlib/mathtext.py +BuildRequires: tex(cmb10.tfm) +BuildRequires: tex(cmex10.tfm) +BuildRequires: tex(cmmi10.tfm) +BuildRequires: tex(cmr10.tfm) BuildRequires: tex(cmss10.tfm) -BuildRequires: tex(cmss12.tfm) -BuildRequires: tex(ecrm1000.tfm) +BuildRequires: tex(cmsy10.tfm) +BuildRequires: tex(cmtt10.tfm)
%description Matplotlib is a Python 2D plotting library which produces publication
commit 107b5a1d517086a9f9cb7a5ee7fb3f9a10bb0d14 Author: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Sat Jun 20 04:48:13 2020 -0400
Sort texlive packages, by type, then name.
diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c258ee1..1b95427 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -84,15 +84,13 @@ BuildRequires: qhull-devel BuildRequires: xorg-x11-server-Xvfb BuildRequires: zlib-devel
+BuildRequires: tex(utf8x.def) BuildRequires: tex(avant.sty) -BuildRequires: tex(cmss10.tfm) -BuildRequires: tex(cmss12.tfm) +BuildRequires: tex(chancery.sty) +BuildRequires: tex(charter.sty) BuildRequires: tex(courier.sty) -BuildRequires: tex(ecrm1000.tfm) BuildRequires: tex(geometry.sty) BuildRequires: tex(helvet.sty) -BuildRequires: tex(chancery.sty) -BuildRequires: tex(charter.sty) BuildRequires: tex(inputenc.sty) BuildRequires: tex(mathpazo.sty) BuildRequires: tex(mathptmx.sty) @@ -101,7 +99,9 @@ BuildRequires: tex(sfmath.sty) BuildRequires: tex(textcomp.sty) BuildRequires: tex(txfonts.sty) BuildRequires: tex(type1ec.sty) -BuildRequires: tex(utf8x.def) +BuildRequires: tex(cmss10.tfm) +BuildRequires: tex(cmss12.tfm) +BuildRequires: tex(ecrm1000.tfm)
%description Matplotlib is a Python 2D plotting library which produces publication
commit 8d41fb77967ae4a4b7fa048c450905ae55529266 Author: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Sat Jun 20 04:28:59 2020 -0400
Remove old file exclusions.
diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 61f737b..c258ee1 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -402,15 +402,11 @@ PYTHONDONTWRITEBYTECODE=1 \ %exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk* %exclude %{python3_sitearch}/matplotlib/backends/_backend_tk.py %exclude %{python3_sitearch}/matplotlib/backends/backend_tk*.py -%exclude %{python3_sitearch}/matplotlib/backends/tkagg.py %exclude %{python3_sitearch}/matplotlib/backends/__pycache__/_backend_tk.* %exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_tk*.* -%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/_tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/backend_wx* -%exclude %{python3_sitearch}/matplotlib/backends/wx_compat.* %exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_wx* -%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/wx_compat.* %exclude %{_pkgdocdir}/*/
%files -n python3-matplotlib-test-data
commit d52452b8deba85aaefbee62f7c4fdb44bee9bcc1 Merge: 713ad40 ec400d3 Author: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Sat Jun 20 04:22:53 2020 -0400
Merge branch 'f32'
diff --cc python-matplotlib.spec index 2812a24,e9e0ef0..61f737b --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@@ -448,12 -429,9 +448,15 @@@ PYTHONDONTWRITEBYTECODE=1
%changelog + * Sat Jun 20 2020 Elliott Sales de Andrade quantum.analyst@gmail.com - 3.2.2-1 + - Update to latest version + +* Mon Jun 01 2020 Miro Hrončok mhroncok@redhat.com - 3.2.1-2 +- Only recommend texlive-dvipng (but require it if texlive is installed) (#1509657) + +* Mon May 25 2020 Miro Hrončok mhroncok@redhat.com - 3.2.1-1.1 +- Rebuilt for Python 3.9 + * Wed Mar 18 2020 Elliott Sales de Andrade quantum.analyst@gmail.com - 3.2.1-1 - Update to latest version
commit ec400d341feef0bdc3a52e05c24e150d796e90fa Author: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Sat Jun 20 03:52:08 2020 -0400
Update patches for non-x86.
diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index 8237365..356a62c 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,4 +1,4 @@ -From 45f0f90c1a4d55f13c6067ef1abaa821d30b9faf Mon Sep 17 00:00:00 2001 +From 4431ff98f5f95a65378f4fa4b6e6fe02280911bf Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Wed, 27 Sep 2017 19:35:59 -0400 Subject: [PATCH 1/4] matplotlibrc path search fix @@ -107,5 +107,5 @@ index 87dfbeceb..54885da47 100644 newlines = [] for line in rclines: -- -2.21.1 +2.25.4
diff --git a/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch b/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch index 1807548..69e648e 100644 --- a/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch +++ b/0002-Set-FreeType-version-to-2.10.1-and-update-tolerances.patch @@ -1,4 +1,4 @@ -From cff0aeead7f2e1b570613dbec8c67d0f715fc87e Mon Sep 17 00:00:00 2001 +From c61647b9604ce6538fa28b807d094056b005258d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Fri, 14 Feb 2020 06:05:42 -0500 Subject: [PATCH 2/4] Set FreeType version to 2.10.1 and update tolerances. @@ -26,10 +26,10 @@ index d2bd48800..ff06bf049 100644 from matplotlib import ft2font if (ft2font.__freetype_version__ != LOCAL_FREETYPE_VERSION or diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 93548b279..de146a527 100644 +index 75636301d..b5bfc32c3 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py -@@ -6405,7 +6405,7 @@ def test_normal_axes(): +@@ -6425,7 +6425,7 @@ def test_normal_axes(): ] for nn, b in enumerate(bbaxis): targetbb = mtransforms.Bbox.from_bounds(*target[nn]) @@ -38,7 +38,7 @@ index 93548b279..de146a527 100644
target = [ [150.0, 119.999, 930.0, 11.111], -@@ -6423,7 +6423,7 @@ def test_normal_axes(): +@@ -6443,7 +6443,7 @@ def test_normal_axes():
target = [85.5138, 75.88888, 1021.11, 1017.11] targetbb = mtransforms.Bbox.from_bounds(*target) @@ -47,7 +47,7 @@ index 93548b279..de146a527 100644
# test that get_position roundtrips to get_window_extent axbb = ax.get_position().transformed(fig.transFigure).bounds -@@ -6548,7 +6548,7 @@ def test_get_tightbbox_polar(): +@@ -6568,7 +6568,7 @@ def test_get_tightbbox_polar(): fig.canvas.draw() bb = ax.get_tightbbox(fig.canvas.get_renderer()) assert_allclose(bb.extents, @@ -102,5 +102,5 @@ index 09cd6bbd7..c3c96d4e0 100644
-- -2.21.1 +2.25.4
diff --git a/0003-Increase-tolerances-for-non-x86_64-arches.patch b/0003-Increase-tolerances-for-non-x86_64-arches.patch index 424bbc7..d1b485f 100644 --- a/0003-Increase-tolerances-for-non-x86_64-arches.patch +++ b/0003-Increase-tolerances-for-non-x86_64-arches.patch @@ -1,4 +1,4 @@ -From 8652868372a2a227091c457f1c711f2b6dd6af40 Mon Sep 17 00:00:00 2001 +From e952bc36999a141a5c026544bae0c52817d4edd9 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Tue, 23 Jan 2018 20:27:17 -0500 Subject: [PATCH 3/4] Increase tolerances for non-x86_64 arches. @@ -38,5 +38,5 @@ index 9ed9a9280..56a3bd14a 100644 fig, ax = plt.subplots() ax.imshow(np.zeros((10, 10)), interpolation='nearest') -- -2.21.1 +2.25.4
diff --git a/0004-Increase-some-tolerances-for-32-bit-systems.patch b/0004-Increase-some-tolerances-for-32-bit-systems.patch index a70e4b5..d7004b7 100644 --- a/0004-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0004-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,4 +1,4 @@ -From 9e7be0a26644ec35dde39fb332837baab80f91cb Mon Sep 17 00:00:00 2001 +From 928df2339ec6f8cc838f2b46c4bef4b10dc66c52 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Sat, 31 Mar 2018 00:15:14 -0400 Subject: [PATCH 4/4] Increase some tolerances for 32-bit systems. @@ -30,7 +30,7 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com 22 files changed, 60 insertions(+), 70 deletions(-)
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py -index 7d0941233..29df3f284 100644 +index cd447976b..545bf2cfe 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -269,7 +269,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol, @@ -56,7 +56,7 @@ index a598e822d..becc9b46d 100644 exterior = mpath.Path.unit_rectangle().deepcopy() exterior.vertices *= 4 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index de146a527..4d7a3ba47 100644 +index b5bfc32c3..8bf3afb54 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -563,7 +563,7 @@ def test_single_point(): @@ -68,7 +68,7 @@ index de146a527..4d7a3ba47 100644 def test_single_date(): # use former defaults to match existing baseline image plt.rcParams['axes.formatter.limits'] = -7, 7 -@@ -1093,7 +1093,7 @@ def test_fill_between_interpolate(): +@@ -1097,7 +1097,7 @@ def test_fill_between_interpolate():
@image_comparison(['fill_between_interpolate_decreasing'], @@ -77,7 +77,7 @@ index de146a527..4d7a3ba47 100644 def test_fill_between_interpolate_decreasing(): p = np.array([724.3, 700, 655]) t = np.array([9.4, 7, 2.2]) -@@ -1208,7 +1208,7 @@ def test_pcolormesh_alpha(): +@@ -1212,7 +1212,7 @@ def test_pcolormesh_alpha():
@image_comparison(['pcolormesh_datetime_axis.png'], @@ -86,7 +86,7 @@ index de146a527..4d7a3ba47 100644 def test_pcolormesh_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1234,7 +1234,7 @@ def test_pcolormesh_datetime_axis(): +@@ -1238,7 +1238,7 @@ def test_pcolormesh_datetime_axis():
@image_comparison(['pcolor_datetime_axis.png'], @@ -95,7 +95,7 @@ index de146a527..4d7a3ba47 100644 def test_pcolor_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1290,7 +1290,8 @@ def test_canonical(): +@@ -1294,7 +1294,8 @@ def test_canonical(): ax.plot([1, 2, 3])
@@ -105,7 +105,7 @@ index de146a527..4d7a3ba47 100644 def test_arc_angles(): from matplotlib import patches # Ellipse parameters -@@ -2749,7 +2750,7 @@ def test_boxplot_mod_artist_after_plotting(): +@@ -2769,7 +2770,7 @@ def test_boxplot_mod_artist_after_plotting():
@image_comparison(['violinplot_vert_baseline.png', @@ -114,7 +114,7 @@ index de146a527..4d7a3ba47 100644 def test_vert_violinplot_baseline(): # First 9 digits of frac(sqrt(2)) np.random.seed(414213562) -@@ -2766,7 +2767,7 @@ def test_vert_violinplot_baseline(): +@@ -2786,7 +2787,7 @@ def test_vert_violinplot_baseline(): showmedians=0, data=data)
@@ -123,7 +123,7 @@ index de146a527..4d7a3ba47 100644 def test_vert_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(3)) -@@ -2776,7 +2777,7 @@ def test_vert_violinplot_showmeans(): +@@ -2796,7 +2797,7 @@ def test_vert_violinplot_showmeans(): showmedians=0)
@@ -132,7 +132,7 @@ index de146a527..4d7a3ba47 100644 def test_vert_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(5)) -@@ -2786,7 +2787,7 @@ def test_vert_violinplot_showextrema(): +@@ -2806,7 +2807,7 @@ def test_vert_violinplot_showextrema(): showmedians=0)
@@ -141,7 +141,7 @@ index de146a527..4d7a3ba47 100644 def test_vert_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(7)) -@@ -2796,7 +2797,7 @@ def test_vert_violinplot_showmedians(): +@@ -2816,7 +2817,7 @@ def test_vert_violinplot_showmedians(): showmedians=1)
@@ -150,7 +150,7 @@ index de146a527..4d7a3ba47 100644 def test_vert_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(11)) -@@ -2807,7 +2808,7 @@ def test_vert_violinplot_showall(): +@@ -2827,7 +2828,7 @@ def test_vert_violinplot_showall(): quantiles=[[0.1, 0.9], [0.2, 0.8], [0.3, 0.7], [0.4, 0.6]])
@@ -159,7 +159,7 @@ index de146a527..4d7a3ba47 100644 def test_vert_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(13)) -@@ -2817,7 +2818,7 @@ def test_vert_violinplot_custompoints_10(): +@@ -2837,7 +2838,7 @@ def test_vert_violinplot_custompoints_10(): showmedians=0, points=10)
@@ -168,7 +168,7 @@ index de146a527..4d7a3ba47 100644 def test_vert_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(17)) -@@ -2827,7 +2828,7 @@ def test_vert_violinplot_custompoints_200(): +@@ -2847,7 +2848,7 @@ def test_vert_violinplot_custompoints_200(): showmedians=0, points=200)
@@ -177,7 +177,7 @@ index de146a527..4d7a3ba47 100644 def test_horiz_violinplot_baseline(): ax = plt.axes() # First 9 digits of frac(sqrt(19)) -@@ -2837,7 +2838,7 @@ def test_horiz_violinplot_baseline(): +@@ -2857,7 +2858,7 @@ def test_horiz_violinplot_baseline(): showextrema=0, showmedians=0)
@@ -186,7 +186,7 @@ index de146a527..4d7a3ba47 100644 def test_horiz_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(23)) -@@ -2847,7 +2848,7 @@ def test_horiz_violinplot_showmedians(): +@@ -2867,7 +2868,7 @@ def test_horiz_violinplot_showmedians(): showextrema=0, showmedians=1)
@@ -195,7 +195,7 @@ index de146a527..4d7a3ba47 100644 def test_horiz_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(29)) -@@ -2857,7 +2858,7 @@ def test_horiz_violinplot_showmeans(): +@@ -2877,7 +2878,7 @@ def test_horiz_violinplot_showmeans(): showextrema=0, showmedians=0)
@@ -204,7 +204,7 @@ index de146a527..4d7a3ba47 100644 def test_horiz_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(31)) -@@ -2867,7 +2868,7 @@ def test_horiz_violinplot_showextrema(): +@@ -2887,7 +2888,7 @@ def test_horiz_violinplot_showextrema(): showextrema=1, showmedians=0)
@@ -213,7 +213,7 @@ index de146a527..4d7a3ba47 100644 def test_horiz_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(37)) -@@ -2878,7 +2879,7 @@ def test_horiz_violinplot_showall(): +@@ -2898,7 +2899,7 @@ def test_horiz_violinplot_showall(): quantiles=[[0.1, 0.9], [0.2, 0.8], [0.3, 0.7], [0.4, 0.6]])
@@ -222,7 +222,7 @@ index de146a527..4d7a3ba47 100644 def test_horiz_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(41)) -@@ -2888,7 +2889,7 @@ def test_horiz_violinplot_custompoints_10(): +@@ -2908,7 +2909,7 @@ def test_horiz_violinplot_custompoints_10(): showextrema=0, showmedians=0, points=10)
@@ -231,7 +231,7 @@ index de146a527..4d7a3ba47 100644 def test_horiz_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(43)) -@@ -3652,8 +3653,7 @@ def test_vertex_markers(): +@@ -3672,8 +3673,7 @@ def test_vertex_markers(): ax.set_ylim([-1, 10])
@@ -241,7 +241,7 @@ index de146a527..4d7a3ba47 100644 def test_eb_line_zorder(): x = list(range(10))
-@@ -4340,7 +4340,7 @@ def test_psd_noise(): +@@ -4360,7 +4360,7 @@ def test_psd_noise(): ax3.set_ylabel('')
@@ -250,7 +250,7 @@ index de146a527..4d7a3ba47 100644 def test_csd_freqs(): '''test axes.csd with sinusoidal stimuli''' n = 10000 -@@ -5244,7 +5244,7 @@ def test_rc_spines(): +@@ -5264,7 +5264,7 @@ def test_rc_spines(): fig, ax = plt.subplots()
@@ -259,7 +259,7 @@ index de146a527..4d7a3ba47 100644 def test_rc_grid(): fig = plt.figure() rc_dict0 = { -@@ -5786,7 +5786,7 @@ def test_date_timezone_y(): +@@ -5806,7 +5806,7 @@ def test_date_timezone_y(): plt.plot_date([3] * 3, time_index, tz='UTC', xdate=False, ydate=True)
@@ -269,7 +269,7 @@ index de146a527..4d7a3ba47 100644 # Tests issue 5575 UTC = datetime.timezone.utc diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py -index 0983283ec..c4032f920 100644 +index 3f5b3bf1a..773573918 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -461,7 +461,7 @@ def test_EllipseCollection(): @@ -409,7 +409,7 @@ index ee67b4e41..3ae6e4ebc 100644 fig, ax = plt.subplots() ax.set_prop_cycle(cycler('ls', ['-', '--', ':'])) diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py -index a9e8dfade..98d90eea1 100644 +index b5ca0ed5b..272fd6101 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -13,8 +13,7 @@ import numpy as np @@ -492,7 +492,7 @@ index 508e29fa0..f6862e631 100644 matplotlib.rcParams['mathtext.fontset'] = fontset fig = plt.figure(figsize=(5.25, 0.75)) diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py -index 32ce5db1c..63abc712a 100644 +index c0eda5542..62670dbbf 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py @@ -257,8 +257,7 @@ def test_wedge_movement(): @@ -661,5 +661,5 @@ index 592096b74..69ac5a2b3 100644 fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
-- -2.21.1 +2.25.4
diff --git a/0004-Increase-some-tolerances-for-non-x86-arches.patch b/0004-Increase-some-tolerances-for-non-x86-arches.patch index e0cf48d..c24bbf5 100644 --- a/0004-Increase-some-tolerances-for-non-x86-arches.patch +++ b/0004-Increase-some-tolerances-for-non-x86-arches.patch @@ -1,4 +1,4 @@ -From 8b585994418d62cde4a525f4e6a14aeba42459f4 Mon Sep 17 00:00:00 2001 +From 91ef378043f12f16a9a1f03437d9f51220dff305 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Sat, 31 Mar 2018 00:33:37 -0400 Subject: [PATCH 4/4] Increase some tolerances for non-x86 arches. @@ -43,7 +43,7 @@ index a9409e2c1..9627b3569 100644 def test_fancyarrow_dpi_cor_200dpi(): """ diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index de146a527..8574a95d2 100644 +index b5bfc32c3..a956412d1 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -407,7 +407,7 @@ def test_annotate_default_arrow(): @@ -55,7 +55,7 @@ index de146a527..8574a95d2 100644 def test_polar_annotations(): # you can specify the xypoint and the xytext in different # positions and coordinate systems, and optionally turn on a -@@ -3653,7 +3653,7 @@ def test_vertex_markers(): +@@ -3673,7 +3673,7 @@ def test_vertex_markers():
@image_comparison(['vline_hline_zorder', 'errorbar_zorder'], @@ -65,12 +65,12 @@ index de146a527..8574a95d2 100644 x = list(range(10))
diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py -index ad23abe3f..7b9660f2b 100644 +index 7465bb919..8300ab627 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py -@@ -104,7 +104,7 @@ fig.canvas.mpl_connect("draw_event", lambda event: timer.start()) - - plt.show() +@@ -126,7 +126,7 @@ if not backend.startswith('qt5') and sys.platform == 'darwin': + # not resize incorrectly. + assert_equal(result.getvalue(), result_after.getvalue()) """ -_test_timeout = 10 # Empirically, 1s is not enough on Travis. +_test_timeout = 30 # Empirically, 1s is not enough on Travis. @@ -78,7 +78,7 @@ index ad23abe3f..7b9660f2b 100644
@pytest.mark.parametrize("backend", _get_testable_interactive_backends()) diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py -index 0983283ec..1b079aff1 100644 +index 3f5b3bf1a..8c5549bad 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -439,7 +439,7 @@ def test_barb_limits(): @@ -136,7 +136,7 @@ index ee67b4e41..c52a5b0f8 100644 fig, ax = plt.subplots() ax.set_prop_cycle(cycler('ls', ['-', '--', ':'])) diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py -index a9e8dfade..322acd41e 100644 +index b5ca0ed5b..284cccb15 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -14,7 +14,7 @@ import pytest @@ -263,5 +263,5 @@ index 611908063..be11d7c6b 100644 # Remove this line when this test image is regenerated. plt.rcParams['text.kerning_factor'] = 6 -- -2.21.1 +2.25.4
commit bea895839b20641d7fb2d48e3bc8e1416fc89d39 Author: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Sat Jun 20 03:06:07 2020 -0400
Update to latest version.
diff --git a/.gitignore b/.gitignore index 921a73c..9732d93 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,5 @@ matplotlib-1.0.0-without-gpc.tar.gz /matplotlib-3.2.0.tar.gz /matplotlib-3.2.0-with-freetype-2.10.1.tar.gz /matplotlib-3.2.1.tar.gz +/matplotlib-3.2.2.tar.gz +/matplotlib-3.2.2-with-freetype-2.10.1.tar.gz diff --git a/0001-Use-packaged-jquery-and-jquery-ui.patch b/0001-Use-packaged-jquery-and-jquery-ui.patch index 92ccaf2..801f520 100644 --- a/0001-Use-packaged-jquery-and-jquery-ui.patch +++ b/0001-Use-packaged-jquery-and-jquery-ui.patch @@ -1,4 +1,4 @@ -From 0ffab3ff58bee5346b9443a8b769d9786aba3b26 Mon Sep 17 00:00:00 2001 +From a3fec73e39558f1a8d41663fe05783889e735af4 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade quantum.analyst@gmail.com Date: Sat, 2 Mar 2019 18:18:29 -0500 Subject: [PATCH] Use packaged jquery and jquery-ui. @@ -7,8 +7,8 @@ Signed-off-by: Elliott Sales de Andrade quantum.analyst@gmail.com --- .../backends/web_backend/all_figures.html | 6 +-- .../backends/web_backend/single_figure.html | 6 +-- - setup.py | 53 ------------------- - 3 files changed, 6 insertions(+), 59 deletions(-) + setup.py | 54 ------------------- + 3 files changed, 6 insertions(+), 60 deletions(-)
diff --git a/lib/matplotlib/backends/web_backend/all_figures.html b/lib/matplotlib/backends/web_backend/all_figures.html index 41f48dc6d..69097eb4f 100644 @@ -45,10 +45,10 @@ index 4d5a366fb..c11c86618 100644 <script src="{{ prefix }}/js/mpl.js"></script> <script> diff --git a/setup.py b/setup.py -index 760e84af1..2b184749f 100644 +index bf03159fb..81c2f96d7 100644 --- a/setup.py +++ b/setup.py -@@ -26,8 +26,6 @@ from zipfile import ZipFile +@@ -28,8 +28,6 @@ from zipfile import ZipFile
from setuptools import setup, find_packages, Extension from setuptools.command.build_ext import build_ext as BuildExtCommand @@ -57,7 +57,7 @@ index 760e84af1..2b184749f 100644 from setuptools.command.test import test as TestCommand
# The setuptools version of sdist adds a setup.cfg file to the tree. -@@ -115,57 +113,6 @@ cmdclass['test'] = NoopTestCommand +@@ -120,58 +118,6 @@ cmdclass['test'] = NoopTestCommand cmdclass['build_ext'] = BuildExtraLibraries
@@ -79,8 +79,9 @@ index 760e84af1..2b184749f 100644 - try: - buff = download_or_cache(url, sha) - except Exception: -- raise IOError(f"Failed to download jquery-ui. Please download " -- f"{url} and extract it to {dest}.") +- raise IOError( +- "Failed to download jquery-ui. Please download " +- "{url} and extract it to {dest}.".format(url=url, dest=dest)) - with ZipFile(buff) as zf: - zf.extractall(dest) - @@ -116,5 +117,5 @@ index 760e84af1..2b184749f 100644 # however, this is needed on Windows to avoid creating infinite subprocesses # when using multiprocessing. -- -2.21.0 +2.25.4
diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 40c0be7..e9e0ef0 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -37,13 +37,13 @@ #global rctag rc2
# Updated test images for new FreeType. -%global mpl_images_version 3.2.0 +%global mpl_images_version 3.2.2
# The version of FreeType in this Fedora branch. %global ftver 2.10.1
Name: python-matplotlib -Version: 3.2.1 +Version: 3.2.2 Release: 1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT @@ -429,6 +429,9 @@ PYTHONDONTWRITEBYTECODE=1 \
%changelog +* Sat Jun 20 2020 Elliott Sales de Andrade quantum.analyst@gmail.com - 3.2.2-1 +- Update to latest version + * Wed Mar 18 2020 Elliott Sales de Andrade quantum.analyst@gmail.com - 3.2.1-1 - Update to latest version
diff --git a/sources b/sources index 864b76e..5596ced 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (matplotlib-3.2.1.tar.gz) = 2725ebb2e3665f3f110354efab6a6ec20721667acbaf1dc22a9396dbdca096edaabe79b0e602970b1c0769a5eb849cd815774af00a366f3d4e2f336bce06208e -SHA512 (matplotlib-3.2.0-with-freetype-2.10.1.tar.gz) = 5fefa148dae612b431bbf1430f93df20f3cfc06f01db072148893bf067f1fab5c9944575a3d1a587fe7d44b17fb755f4532bf61dfdb7fc64b2fd7821f9fa12ac +SHA512 (matplotlib-3.2.2.tar.gz) = 4c9312e929357a7c73ead51fa1a679c04b2b9735edfe0f1a2d08a07ec4d94d67df4ff6e8c6d594665a3b270cd3033c48ea8f2aa50fb1e2746812f24c27181f59 +SHA512 (matplotlib-3.2.2-with-freetype-2.10.1.tar.gz) = 498fb1224f74c5254e3a2620d4d36571ed712a7ac261bcb4b2a548ea57d6b7431634dfad547b529d6fa1a3fab90e6b489150afe815485a3030d1e899edfd9be8
arch-excludes@lists.fedoraproject.org