Compare commits

...

95 Commits
f25 ... f31

Author SHA1 Message Date
Elliott Sales de Andrade
b0c798dbcb Update to latest version. 2020-02-14 04:24:14 -05:00
Elliott Sales de Andrade
1f37c6ab3a Update to 3.1.2. 2019-11-22 20:10:32 -05:00
Elliott Sales de Andrade
c533793071 Backport bool deprecation warning fix. 2019-09-06 21:15:41 -04:00
Miro Hrončok
e8c7e2c6d2 Revert "Temporarily skip the tests"
This reverts commit cb1f3493dc.
2019-08-18 20:58:48 +02:00
Miro Hrončok
cb1f3493dc Temporarily skip the tests 2019-08-18 20:43:21 +02:00
Miro Hrončok
3009a9a10c Rebuilt for Python 3.8 2019-08-18 20:19:46 +02:00
Miro Hrončok
685e53f794 BuildRequire glibc-langpack-en
This avoids:

    WARNING  matplotlib.testing:__init__.py:39 Could not set locale to
    English/United States. Some date-related tests may fail.
2019-08-13 11:28:10 +02:00
Elliott Sales de Andrade
c4446bc9c0 Skip wx test on ppc64le.
See https://bugzilla.redhat.com/show_bug.cgi?id=1738752.
2019-08-08 01:22:32 -04:00
Elliott Sales de Andrade
2441db0faa Backport patch for NumPy 1.17. 2019-08-07 21:51:04 -04:00
Elliott Sales de Andrade
9046bbb237 Update to 3.1.1 and FreeType 2.10.0. 2019-08-07 21:26:57 -04:00
Fedora Release Engineering
3652785c8e - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 14:28:02 +00:00
Zbigniew Jędrzejewski-Szmek
6ae3a9e1d1 Remove comment after %endif
RPM 4.15 complains.
2019-07-03 11:55:57 +02:00
Zbigniew Jędrzejewski-Szmek
831ec4cba0 Update Obsoletes to be later than the last python2 builds 2019-07-03 11:55:18 +02:00
Miro Hrončok
49e6227f01 Skip test_tinypages
tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_tinypages0')
    def test_tinypages(tmpdir):
        html_dir = pjoin(str(tmpdir), 'html')
        doctree_dir = pjoin(str(tmpdir), 'doctrees')
        # Build the pages with warnings turned into errors
        cmd = [sys.executable, '-msphinx', '-W', '-b', 'html', '-d', doctree_dir,
               pjoin(dirname(__file__), 'tinypages'), html_dir]
        proc = Popen(cmd, stdout=PIPE, stderr=PIPE, universal_newlines=True)
        out, err = proc.communicate()
        assert proc.returncode == 0, \
            "sphinx build failed with stdout:\n{}\nstderr:\n{}\n".format(out, err)
        if err:
            pytest.fail("sphinx build emitted the following warnings:\n{}"
>                       .format(err))
E           Failed: sphinx build emitted the following warnings:
E           /usr/lib/python3.7/site-packages/sphinx/util/docutils.py:311: RemovedInSphinx30Warning: function based directive support is now deprecated. Use class based directive instead.
E             RemovedInSphinx30Warning)
../../BUILDROOT/python-matplotlib-3.0.3-1.fc31.x86_64/usr/lib64/python3.7/site-packages/matplotlib/sphinxext/tests/test_tinypages.py:28: Failed
2019-04-23 13:33:26 +02:00
Miro Hrončok
120f1b74da Support pytest 4 2019-04-23 13:33:26 +02:00
Elliott Sales de Andrade
b5e6655ad8 Update to latest version. 2019-03-04 04:05:00 -05:00
Miro Hrončok
6e771d1530 https://fedoraproject.org/wiki/Changes/Python_Extension_Flags 2019-02-13 00:54:28 +01:00
Fedora Release Engineering
b1b97b1ed1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 07:42:18 +00:00
Elliott Sales de Andrade
17130085de Fix missing changelog. 2018-11-13 19:36:37 -05:00
Elliott Sales de Andrade
f171297f40 Update to latest version. 2018-11-10 04:33:30 -05:00
Elliott Sales de Andrade
af995aa143 Upload sources for 3.0.1. 2018-10-31 05:07:20 -04:00
Elliott Sales de Andrade
308245a86e Remove unused patch. 2018-10-31 04:51:30 -04:00
Elliott Sales de Andrade
7424178997 Update to 3.0.1. 2018-10-31 04:07:46 -04:00
Miro Hrončok
cc106d1c4a Obsolete old python-matplotlib-data* to prevent conflicts and provide an upgrade path 2018-09-21 12:29:49 +02:00
Elliott Sales de Andrade
7901631a85 Add correct license for bundled fonts. 2018-09-21 04:25:34 -04:00
Elliott Sales de Andrade
b4eba4ae21 Rename *data packages to avoid conflict with python2. 2018-09-19 14:47:47 -04:00
Elliott Sales de Andrade
b8683378dd Update changelog. 2018-09-19 14:46:05 -04:00
Elliott Sales de Andrade
9fde50abab Stop setting a default backend.
It will be picked automatically by Matplotlib.
2018-09-19 14:42:58 -04:00
Elliott Sales de Andrade
ed3fa9581d Remove unnecessary dependencies. 2018-09-19 04:39:50 -04:00
Elliott Sales de Andrade
c08eccf6ad Run Qt5 tests separately to not conflict with Qt4. 2018-09-19 03:23:05 -04:00
Elliott Sales de Andrade
a0fbf93967 Add patch to fix Qt4 backends. 2018-09-18 23:52:36 -04:00
Elliott Sales de Andrade
6f3ec368b4 Stop setting explicit backend during testing. 2018-09-18 22:01:33 -04:00
Elliott Sales de Andrade
d2fa0263b8 Update to final 3.0.0. 2018-09-18 04:51:42 -04:00
Elliott Sales de Andrade
c385e2c1a9 Update to 3.0.0rc2. 2018-08-29 00:38:38 -04:00
Elliott Sales de Andrade
6995ee3297 Update backend package splits.
There is a WX backend that was never split, and without its proper
dependencies. Also, there are new *Cairo backends in this version.
2018-08-28 03:17:29 -04:00
Elliott Sales de Andrade
19b5ff96fa Remove old Fedora FreeType support.
This will not be built on Fedora < 29.
2018-08-28 03:17:29 -04:00
Elliott Sales de Andrade
1dcb7afa2a Update to 3.0.0rc1. 2018-08-28 03:17:28 -04:00
Elliott Sales de Andrade
ee42f59462 Add explicit gcc/gcc-c++ BR. 2018-08-18 02:15:48 -04:00
Elliott Sales de Andrade
8293bc2589 Remove Python 2 subpackages. 2018-08-18 02:15:45 -04:00
Elliott Sales de Andrade
20e40c3953 Don't run test_nose_image_comparison in parallel.
These tests overwrite certain names that causes issues when testing in
parallel. These tests will be gone with Matplotlib 3.0, so I don't want
to spend much time fixing them. Just ignore them and run in serial
afterwards.
2018-08-17 23:59:22 -04:00
Elliott Sales de Andrade
a6c4a06cef Update to latest version. 2018-08-13 21:27:10 -04:00
Elliott Sales de Andrade
862f207d27 Add missing texlive-cm BR. 2018-07-20 18:19:21 -04:00
Elliott Sales de Andrade
6f741c4a02 Don't use unversioned Python in build. 2018-07-20 16:23:12 -04:00
Fedora Release Engineering
b89d120a97 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 00:55:43 +00:00
Miro Hrončok
1b8cd73b7e Fix the release tag 2018-06-22 16:52:47 +02:00
Lumir Balhar
69d38c5f1e Fix tolerances and a timeout to fix build with Python 3.7 2018-06-22 09:50:26 +02:00
Miro Hrončok
725edd957b Rebuilt for Python 3.7 2018-06-19 11:08:46 +02:00
Elliott Sales de Andrade
c48ca2e7fd Add python?-matplotlib-test-data subpackages. 2018-04-27 03:51:51 -04:00
Elliott Sales de Andrade
5c2bf08c46 Remove bytecode produced by pytest. 2018-04-17 02:36:20 -04:00
Elliott Sales de Andrade
7930b4df8d Remove old sources. 2018-04-17 02:21:12 -04:00
Dominik 'Rathann' Mierzejewski
ffa18cbcd2 add missed 2.2.2 source 2018-04-12 14:36:42 +02:00
Elliott Sales de Andrade
c0a5a7d07f Add support for Rawhide / FreeType 2.9. 2018-04-01 15:14:21 -04:00
Elliott Sales de Andrade
c1840d0738 Skip another test that uses mpl_toolkits on Py2. 2018-04-01 03:44:29 -04:00
Elliott Sales de Andrade
c89bd06dd9 Skip flaky slowness test. 2018-03-31 20:08:43 -04:00
Elliott Sales de Andrade
b11ac2671c Patch out the rctemplate tests properly. 2018-03-31 20:07:46 -04:00
Elliott Sales de Andrade
15844872fc Update to latest version. 2018-03-31 03:28:44 -04:00
Elliott Sales de Andrade
ad961d502c Run tests in parallel. 2018-03-13 17:47:17 -04:00
Elliott Sales de Andrade
bf010710f1 Use more python2- dependencies where available. 2018-03-13 17:42:07 -04:00
Elliott Sales de Andrade
f46b703e96 Trim trailing whitespace. 2018-03-13 17:40:02 -04:00
Elliott Sales de Andrade
da0bd4c413 Add changelog entry about cleanup. 2018-03-13 17:40:02 -04:00
Elliott Sales de Andrade
c409bffb3d Remove checks for non-Fedora systems. 2018-03-13 17:40:01 -04:00
Elliott Sales de Andrade
172edad3e8 Remove support for Fedora 26.
It doesn't appear to be getting built there and adds extra conditionals.
2018-03-13 05:25:32 -04:00
Elliott Sales de Andrade
c3e31d8c7e Remove old workaround.
The F27+ packages include the correct Requires now.
2018-03-13 05:23:20 -04:00
Karsten Hopp
bc53b538e3 update and fix spec file conditionals 2018-02-05 17:47:47 +01:00
Elliott Sales de Andrade
14e86457fd Add patch to link with libdl. 2018-01-24 15:09:42 -05:00
Elliott Sales de Andrade
8d6885671d Increase tolerances on non-x86 systems. 2018-01-24 03:07:15 -05:00
Elliott Sales de Andrade
b470c189c1 Also apply tolerance patch for 32-bit systems. 2018-01-24 03:07:15 -05:00
Elliott Sales de Andrade
75d0d8966b Add test images re-generated with FreeType 2.8. 2018-01-24 03:07:14 -05:00
Elliott Sales de Andrade
0326098544 Update to latest release. 2018-01-21 04:05:53 -05:00
Elliott Sales de Andrade
2d712efe1e Update to latest version. 2017-12-10 05:16:41 -05:00
Elliott Sales de Andrade
09769170a4 Add changelog for update. 2017-10-16 02:44:45 -04:00
Elliott Sales de Andrade
3f6380df61 Increase some tolerances for 32-bit systems. 2017-10-15 22:31:31 -04:00
Elliott Sales de Andrade
c9345fa6ce Simplify and update patches. 2017-10-15 18:16:56 -04:00
Elliott Sales de Andrade
4cf6018279 Use 24-bit screen for Xvfb.
Without this mode, the Qt5 test crashes.
2017-10-07 04:44:54 -04:00
Elliott Sales de Andrade
f28833ef2d Disable broken tests. 2017-10-07 03:15:09 -04:00
Elliott Sales de Andrade
58a05487aa Update to final 2.1.0 release. 2017-10-06 19:29:27 -04:00
Elliott Sales de Andrade
5ff9cbe460 Update to 2.1.0 rc1. 2017-10-02 23:20:12 -04:00
Elliott Sales de Andrade
730689d98e Update to Matplotlib 2.0.2. 2017-09-28 02:40:53 -04:00
Elliott Sales de Andrade
14e87c4546 Update to 2.0.1. 2017-09-28 02:36:10 -04:00
Elliott Sales de Andrade
e9a5a6f0c0 Remove outdated patches. 2017-09-27 19:58:07 -04:00
Fedora Release Engineering
68a10c0be2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 06:50:30 +00:00
Fedora Release Engineering
cf584d71bb - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 10:52:41 +00:00
Peter Robinson
c20c3de8d0 Fix NVR 2017-03-12 13:40:50 +00:00
Thomas Spura
33684553c0 Remove copyrighted file from tarball (gh-8034) 2017-03-08 22:51:19 +01:00
Fedora Release Engineering
0505957232 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 09:33:59 +00:00
Dan Horák
886c137f30 - Apply the 'aarch64' test tolerance patch on s390(x) also 2017-01-25 16:54:58 +01:00
Orion Poplawski
61b48deb75 Install tests via setup.cfg 2017-01-20 11:33:15 -07:00
Orion Poplawski
af22a586b1 Update to 2.0.0 final 2017-01-20 10:07:45 -07:00
Adam Williamson
2e2f0e7aa2 Bump to rc2, fix more big-endian issues, re-enable tests 2017-01-10 20:59:39 -08:00
Adam Williamson
cab430591a Fix another integer type issue which caused more issues on ppc64 2017-01-09 23:33:01 -08:00
Adam Williamson
cf0338c697 Fix int type conversion error that broke text rendering on ppc64 2017-01-08 18:22:45 -08:00
Charalampos Stratakis
08fc8aa374 Rebuild for Python 3.6 2016-12-14 00:52:43 +01:00
Dan Horák
82ec7425cf - disable tests on some alt-arches to unblock depending builds 2016-10-24 14:53:51 +02:00
Dominik 'Rathann' Mierzejewski
8c2171471b add missing runtime dependencies for python2 package 2016-09-26 15:50:02 +02:00
Dominik 'Rathann' Mierzejewski
b295321e02 Update to 2.0.0b4
- Drop upstreamed or obsolete patches
- python-cycler >= 0.10.0 is required
- move around Requires and BRs and sort more or less alphabetically
- don't ship baseline images for tests (like Debian)
- Require stix fonts only when they're not bundled
- disable HTML doc building for bootstrapping 2.0.x series
- relax image rendering tests tolerance due to freetype version differences
- disable some failing tests on aarch64 for now
2016-09-22 15:12:52 +02:00
20 changed files with 1831 additions and 730 deletions

34
.gitignore vendored
View File

@@ -9,3 +9,37 @@ matplotlib-1.0.0-without-gpc.tar.gz
/matplotlib-1.5.1-without-extern.tar.xz
/matplotlib-1.5.1.tar.gz
/matplotlib-1.5.2rc2.tar.gz
/matplotlib-2.0.0b4.tar.gz
/matplotlib-2.0.0rc2.tar.gz
/matplotlib-2.0.0.tar.gz
/matplotlib-2.0.0-without-copyrighted.tar.xz
/matplotlib-2.0.1.tar.gz
/matplotlib-2.0.2.tar.gz
/matplotlib-2.1.0rc1.tar.gz
/matplotlib-2.1.0.tar.gz
/matplotlib-2.1.1.tar.gz
/matplotlib-2.1.2.tar.gz
/matplotlib-2.1.2-with-freetype-2.8.tar.gz
/matplotlib-2.2.2.tar.gz
/matplotlib-2.2.2-with-freetype-2.8.tar.gz
/matplotlib-2.2.2-with-freetype-2.9.tar.gz
/matplotlib-2.2.3.tar.gz
/matplotlib-2.2.3-with-freetype-2.8.tar.gz
/matplotlib-2.2.3-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.0rc1.tar.gz
/matplotlib-3.0.0rc1-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.0rc2.tar.gz
/matplotlib-3.0.0rc2-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.0.tar.gz
/matplotlib-3.0.0-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.1.tar.gz
/matplotlib-3.0.1-with-freetype-2.9.1.tar.gz
/matplotlib-3.0.2.tar.gz
/matplotlib-3.0.3.tar.gz
/matplotlib-3.1.0rc1.tar.gz
/matplotlib-3.1.0.tar.gz
/matplotlib-3.1.0-with-freetype-2.10.0.tar.gz
/matplotlib-3.1.1.tar.gz
/matplotlib-3.1.1-with-freetype-2.10.0.tar.gz
/matplotlib-3.1.2.tar.gz
/matplotlib-3.1.3.tar.gz

View File

@@ -0,0 +1,36 @@
From f0dbd8d7b76ac217df3641d03997b393c476d77c Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Wed, 20 Nov 2019 15:58:04 -0500
Subject: [PATCH] Fix env override in WebAgg backend test.
It's only necessary to override DISPLAY, not throw away the rest of the
environment. Without the other environment variables, stuff like custom
PYTHONPATH break in this test.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/tests/test_backend_webagg.py | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/lib/matplotlib/tests/test_backend_webagg.py b/lib/matplotlib/tests/test_backend_webagg.py
index 220670aa4..997c36a3a 100644
--- a/lib/matplotlib/tests/test_backend_webagg.py
+++ b/lib/matplotlib/tests/test_backend_webagg.py
@@ -8,11 +8,9 @@ import pytest
def test_webagg_fallback(backend):
if backend == "nbagg":
pytest.importorskip("IPython")
- env = {}
- if os.name == "nt":
- env = dict(os.environ)
- else:
- env = {"DISPLAY": ""}
+ env = dict(os.environ)
+ if os.name != "nt":
+ env["DISPLAY"] = ""
env["MPLBACKEND"] = backend
--
2.21.0

View File

@@ -0,0 +1,37 @@
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

View File

@@ -0,0 +1,25 @@
From 5c714fede82e29bd42a3a6f20ec2898a9c37a0ed Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Fri, 22 Nov 2019 19:50:20 -0500
Subject: [PATCH] Skip webagg test if tornado is not available.
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/tests/test_backend_webagg.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/matplotlib/tests/test_backend_webagg.py b/lib/matplotlib/tests/test_backend_webagg.py
index 997c36a3a..5c6ddfa25 100644
--- a/lib/matplotlib/tests/test_backend_webagg.py
+++ b/lib/matplotlib/tests/test_backend_webagg.py
@@ -6,6 +6,7 @@ import pytest
@pytest.mark.parametrize("backend", ["webagg", "nbagg"])
def test_webagg_fallback(backend):
+ pytest.importorskip("tornado")
if backend == "nbagg":
pytest.importorskip("IPython")
env = dict(os.environ)
--
2.21.0

View File

@@ -0,0 +1,123 @@
From c2af74bf18d46d03ec34bfda32afe1a99511ac9f 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 | 56 -------------------
3 files changed, 6 insertions(+), 62 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 adabf1753..57d6b91b4 100644
--- a/setup.py
+++ b/setup.py
@@ -27,8 +27,6 @@ from zipfile import ZipFile
from setuptools import setup, 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.
@@ -124,60 +122,6 @@ cmdclass['test'] = NoopTestCommand
cmdclass['build_ext'] = BuildExtraLibraries
-def _download_jquery_to(dest):
- if os.path.exists(os.path.join(dest, "jquery-ui-1.12.1")):
- return
-
- # If we are installing from an sdist, use the already downloaded jquery-ui
- sdist_src = os.path.join(
- "lib/matplotlib/backends/web_backend", "jquery-ui-1.12.1")
- if os.path.exists(sdist_src):
- shutil.copytree(sdist_src, os.path.join(dest, "jquery-ui-1.12.1"))
- return
-
- # 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'
- if not os.path.exists(os.path.join(dest, "jquery-ui-1.12.1")):
- os.makedirs(dest, 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(sdist_with_jquery, self).make_release_tree(base_dir, files)
- _download_jquery_to(
- os.path.join(base_dir, "lib/matplotlib/backends/web_backend/"))
-
-
-# Affects install and bdist_wheel.
-class install_lib_with_jquery(InstallLibCommand):
- def run(self):
- super(install_lib_with_jquery, self).run()
- _download_jquery_to(
- os.path.join(self.install_dir, "matplotlib/backends/web_backend/"))
-
-
-class develop_with_jquery(DevelopCommand):
- def run(self):
- super(develop_with_jquery, self).run()
- _download_jquery_to("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.21.0

View File

@@ -0,0 +1,105 @@
From 9776757607af144c824d72920f8983efc35face3 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Wed, 27 Sep 2017 19:35:59 -0400
Subject: [PATCH 1/4] matplotlibrc path search fix
Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---
lib/matplotlib/__init__.py | 19 ++++---------------
lib/matplotlib/tests/test_rcparams.py | 18 ++++++++++++------
2 files changed, 16 insertions(+), 21 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index 825303171..7a4115491 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -624,18 +624,8 @@ def _get_data_path():
return path
def get_candidate_paths():
- yield Path(__file__).with_name('mpl-data')
- # setuptools' namespace_packages may hijack this init file
- # so need to try something known to be in Matplotlib, not basemap.
- import matplotlib.afm
- yield Path(matplotlib.afm.__file__).with_name('mpl-data')
- # py2exe zips pure python, so still need special check.
- if getattr(sys, 'frozen', None):
- yield Path(sys.executable).with_name('mpl-data')
- # Try again assuming we need to step up one more directory.
- yield Path(sys.executable).parent.with_name('mpl-data')
- # Try again assuming sys.path[0] is a dir not a exe.
- yield Path(sys.path[0]) / 'mpl-data'
+ yield (Path(__file__).parent.parent.parent.parent.parent /
+ 'share/matplotlib/mpl-data')
for path in get_candidate_paths():
if path.is_dir():
@@ -678,8 +668,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.
"""
def gen_candidates():
@@ -692,7 +681,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'
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 d8fe73ceb..c3aeb58ef 100644
--- a/lib/matplotlib/tests/test_rcparams.py
+++ b/lib/matplotlib/tests/test_rcparams.py
@@ -1,6 +1,7 @@
from collections import OrderedDict
import copy
import os
+from pathlib import Path
from unittest import mock
import warnings
@@ -457,11 +458,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}
- path_to_rc = os.path.join(mpl.get_data_path(), 'matplotlibrc')
- with open(path_to_rc, "r") as f:
+ with open(mplrc, "r") as f:
rclines = f.readlines()
missing = {}
for k, v in mpl.defaultParams.items():
@@ -484,11 +491,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.
- path_to_rc = os.path.join(mpl.get_data_path(), 'matplotlibrc')
- with open(path_to_rc, "r") as f:
+ with open(mplrc, "r") as f:
rclines = f.readlines()
newlines = []
for line in rclines:
--
2.21.1

View File

@@ -0,0 +1,114 @@
From 939fcad1ab9dc4986bd86842f616dc50cb6398e2 Mon Sep 17 00:00:00 2001
From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
Date: Sat, 4 May 2019 04:36:45 -0400
Subject: [PATCH 2/4] Set FreeType version to 2.10.0 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_constrainedlayout.py | 2 +-
lib/matplotlib/tests/test_tightlayout.py | 10 +++++-----
setupext.py | 5 ++++-
5 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index 7a4115491..1bf9d3e03 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -1361,7 +1361,7 @@ def _init_tests():
# The version of FreeType to install locally for running the
# tests. This must match the value in `setupext.py`
- LOCAL_FREETYPE_VERSION = '2.6.1'
+ LOCAL_FREETYPE_VERSION = '2.10.0'
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 356b9ad42..84a1956ee 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -6207,7 +6207,7 @@ def test_normal_axes():
]
for nn, b in enumerate(bbaxis):
targetbb = mtransforms.Bbox.from_bounds(*target[nn])
- assert_array_almost_equal(b.bounds, targetbb.bounds, decimal=2)
+ assert_array_almost_equal(b.bounds, targetbb.bounds, decimal=0)
target = [
[150.0, 119.999, 930.0, 11.111],
@@ -6225,7 +6225,7 @@ def test_normal_axes():
target = [85.5138, 75.88888, 1021.11, 1017.11]
targetbb = mtransforms.Bbox.from_bounds(*target)
- assert_array_almost_equal(bbtb.bounds, targetbb.bounds, decimal=2)
+ assert_array_almost_equal(bbtb.bounds, targetbb.bounds, decimal=0)
# test that get_position roundtrips to get_window_extent
axbb = ax.get_position().transformed(fig.transFigure).bounds
@@ -6350,7 +6350,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 8769fcec3..e9ae292f6 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -416,4 +416,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)
diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py
index 0b9469cb8..7963b82ff 100644
--- a/lib/matplotlib/tests/test_tightlayout.py
+++ b/lib/matplotlib/tests/test_tightlayout.py
@@ -186,12 +186,12 @@ def test_outward_ticks():
plt.tight_layout()
# These values were obtained after visual checking that they correspond
# to a tight layouting that did take the ticks into account.
- ans = [[[0.091, 0.607], [0.433, 0.933]],
- [[0.579, 0.607], [0.922, 0.933]],
- [[0.091, 0.140], [0.433, 0.466]],
- [[0.579, 0.140], [0.922, 0.466]]]
+ ans = [[[0.09, 0.61], [0.43, 0.93]],
+ [[0.58, 0.61], [0.92, 0.93]],
+ [[0.09, 0.14], [0.43, 0.47]],
+ [[0.58, 0.14], [0.92, 0.47]]]
for nn, ax in enumerate(fig.axes):
- assert_array_equal(np.round(ax.get_position().get_points(), 3),
+ assert_array_equal(np.round(ax.get_position().get_points(), 2),
ans[nn])
diff --git a/setupext.py b/setupext.py
index 3e8b382cc..2a3fc3ee7 100644
--- a/setupext.py
+++ b/setupext.py
@@ -135,12 +135,15 @@ _freetype_hashes = {
'2.7.1': '162ef25aa64480b1189cdb261228e6c5c44f212aac4b4621e28cf2157efb59f5',
'2.8': '33a28fabac471891d0523033e99c0005b95e5618dc8ffa7fa47f9dadcacb1c9b',
'2.8.1': '876711d064a6a1bd74beb18dd37f219af26100f72daaebd2d86cb493d7cd7ec6',
+ '2.9': 'bf380e4d7c4f3b5b1c1a7b2bf3abb967bda5e9ab480d0df656e0e08c5019c5e6',
+ '2.9.1': 'ec391504e55498adceb30baceebd147a6e963f636eb617424bcfc47a169898ce',
+ '2.10.0': '955e17244e9b38adb0c98df66abb50467312e6bb70eac07e49ce6bd1a20e809a',
}
# This is the version of FreeType to use when building a local
# 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)
-LOCAL_FREETYPE_VERSION = '2.6.1'
+LOCAL_FREETYPE_VERSION = '2.10.0'
LOCAL_FREETYPE_HASH = _freetype_hashes.get(LOCAL_FREETYPE_VERSION, 'unknown')
--
2.21.1

View File

@@ -0,0 +1,40 @@
From 83ec21942e1b7d80000d801595c57a653eefa243 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 | 2 +-
lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
index a712680cd..6007c9b9a 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -61,7 +61,7 @@ def test_linewidth():
@image_comparison(baseline_images=['streamplot_masks_and_nans'],
- tol=0.04 if on_win else 0,
+ tol=0.04 if on_win else 0.01,
remove_text=True, style='mpl20')
def test_masks_and_nans():
X, Y, U, V = velocity_field()
diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
index 95b1ae5a3..e054196b4 100644
--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
@@ -362,7 +362,7 @@ def test_zooming_with_inverted_axes():
@image_comparison(baseline_images=['anchored_direction_arrows'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.02,
extensions=['png'])
def test_anchored_direction_arrows():
fig, ax = plt.subplots()
--
2.21.1

View File

@@ -0,0 +1,658 @@
From d9fada8cc0ef89142222f4c163ec9dd155662cb6 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 | 3 +-
lib/matplotlib/tests/test_axes.py | 49 ++++++++++---------
lib/matplotlib/tests/test_collections.py | 2 +-
lib/matplotlib/tests/test_colorbar.py | 11 +++--
.../tests/test_constrainedlayout.py | 2 +-
lib/matplotlib/tests/test_contour.py | 8 +--
lib/matplotlib/tests/test_cycles.py | 3 --
lib/matplotlib/tests/test_figure.py | 3 +-
lib/matplotlib/tests/test_image.py | 2 +-
lib/matplotlib/tests/test_legend.py | 5 +-
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 | 1 -
.../tests/test_axisartist_floating_axes.py | 4 +-
...test_axisartist_grid_helper_curvelinear.py | 6 +--
lib/mpl_toolkits/tests/test_mplot3d.py | 4 +-
22 files changed, 59 insertions(+), 63 deletions(-)
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
index 04d5bcda8..70de0263b 100644
--- a/lib/matplotlib/testing/decorators.py
+++ b/lib/matplotlib/testing/decorators.py
@@ -341,7 +341,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 9bf15d0b9..5339dd2eb 100644
--- a/lib/matplotlib/tests/test_artist.py
+++ b/lib/matplotlib/tests/test_artist.py
@@ -94,7 +94,8 @@ def test_collection_transform_of_none():
assert isinstance(c._transOffset, mtransforms.IdentityTransform)
-@image_comparison(baseline_images=["clip_path_clipping"], remove_text=True)
+@image_comparison(baseline_images=["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 84a1956ee..50eb0e6a4 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -562,7 +562,7 @@ def test_single_point():
@image_comparison(baseline_images=['single_date'], extensions=['png'],
- style='mpl20')
+ style='mpl20', tol=1.97)
def test_single_date():
time1 = [721964.0]
data1 = [-65.54]
@@ -1079,7 +1079,7 @@ def test_fill_between_interpolate():
@image_comparison(baseline_images=['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])
@@ -1164,7 +1164,8 @@ def test_pcolormesh():
@image_comparison(baseline_images=['pcolormesh_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], 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)
@@ -1190,7 +1191,8 @@ def test_pcolormesh_datetime_axis():
@image_comparison(baseline_images=['pcolor_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], 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)
@@ -1247,7 +1249,7 @@ def test_canonical():
@image_comparison(baseline_images=['arc_angles'], remove_text=True,
- style='default', extensions=['png'])
+ style='default', extensions=['png'], tol=0.17)
def test_arc_angles():
from matplotlib import patches
# Ellipse parameters
@@ -2644,7 +2646,7 @@ def test_boxplot_mod_artist_after_plotting():
@image_comparison(baseline_images=['violinplot_vert_baseline',
'violinplot_vert_baseline'],
- extensions=['png'])
+ extensions=['png'], tol=0.24)
def test_vert_violinplot_baseline():
# First 9 digits of frac(sqrt(2))
np.random.seed(414213562)
@@ -2662,7 +2664,7 @@ def test_vert_violinplot_baseline():
@image_comparison(baseline_images=['violinplot_vert_showmeans'],
- extensions=['png'])
+ extensions=['png'], tol=0.23)
def test_vert_violinplot_showmeans():
ax = plt.axes()
# First 9 digits of frac(sqrt(3))
@@ -2673,7 +2675,7 @@ def test_vert_violinplot_showmeans():
@image_comparison(baseline_images=['violinplot_vert_showextrema'],
- extensions=['png'])
+ extensions=['png'], tol=0.23)
def test_vert_violinplot_showextrema():
ax = plt.axes()
# First 9 digits of frac(sqrt(5))
@@ -2684,7 +2686,7 @@ def test_vert_violinplot_showextrema():
@image_comparison(baseline_images=['violinplot_vert_showmedians'],
- extensions=['png'])
+ extensions=['png'], tol=0.23)
def test_vert_violinplot_showmedians():
ax = plt.axes()
# First 9 digits of frac(sqrt(7))
@@ -2695,7 +2697,7 @@ def test_vert_violinplot_showmedians():
@image_comparison(baseline_images=['violinplot_vert_showall'],
- extensions=['png'])
+ extensions=['png'], tol=0.2)
def test_vert_violinplot_showall():
ax = plt.axes()
# First 9 digits of frac(sqrt(11))
@@ -2706,7 +2708,7 @@ def test_vert_violinplot_showall():
@image_comparison(baseline_images=['violinplot_vert_custompoints_10'],
- extensions=['png'])
+ extensions=['png'], tol=0.22)
def test_vert_violinplot_custompoints_10():
ax = plt.axes()
# First 9 digits of frac(sqrt(13))
@@ -2717,7 +2719,7 @@ def test_vert_violinplot_custompoints_10():
@image_comparison(baseline_images=['violinplot_vert_custompoints_200'],
- extensions=['png'])
+ extensions=['png'], tol=0.22)
def test_vert_violinplot_custompoints_200():
ax = plt.axes()
# First 9 digits of frac(sqrt(17))
@@ -2728,7 +2730,7 @@ def test_vert_violinplot_custompoints_200():
@image_comparison(baseline_images=['violinplot_horiz_baseline'],
- extensions=['png'])
+ extensions=['png'], tol=0.2)
def test_horiz_violinplot_baseline():
ax = plt.axes()
# First 9 digits of frac(sqrt(19))
@@ -2739,7 +2741,7 @@ def test_horiz_violinplot_baseline():
@image_comparison(baseline_images=['violinplot_horiz_showmedians'],
- extensions=['png'])
+ extensions=['png'], tol=0.23)
def test_horiz_violinplot_showmedians():
ax = plt.axes()
# First 9 digits of frac(sqrt(23))
@@ -2750,7 +2752,7 @@ def test_horiz_violinplot_showmedians():
@image_comparison(baseline_images=['violinplot_horiz_showmeans'],
- extensions=['png'])
+ extensions=['png'], tol=0.25)
def test_horiz_violinplot_showmeans():
ax = plt.axes()
# First 9 digits of frac(sqrt(29))
@@ -2761,7 +2763,7 @@ def test_horiz_violinplot_showmeans():
@image_comparison(baseline_images=['violinplot_horiz_showextrema'],
- extensions=['png'])
+ extensions=['png'], tol=0.2)
def test_horiz_violinplot_showextrema():
ax = plt.axes()
# First 9 digits of frac(sqrt(31))
@@ -2772,7 +2774,7 @@ def test_horiz_violinplot_showextrema():
@image_comparison(baseline_images=['violinplot_horiz_showall'],
- extensions=['png'])
+ extensions=['png'], tol=0.19)
def test_horiz_violinplot_showall():
ax = plt.axes()
# First 9 digits of frac(sqrt(37))
@@ -2783,7 +2785,7 @@ def test_horiz_violinplot_showall():
@image_comparison(baseline_images=['violinplot_horiz_custompoints_10'],
- extensions=['png'])
+ extensions=['png'], tol=0.22)
def test_horiz_violinplot_custompoints_10():
ax = plt.axes()
# First 9 digits of frac(sqrt(41))
@@ -2794,7 +2796,7 @@ def test_horiz_violinplot_custompoints_10():
@image_comparison(baseline_images=['violinplot_horiz_custompoints_200'],
- extensions=['png'])
+ extensions=['png'], tol=0.22)
def test_horiz_violinplot_custompoints_200():
ax = plt.axes()
# First 9 digits of frac(sqrt(43))
@@ -3518,8 +3520,7 @@ def test_vertex_markers():
@image_comparison(baseline_images=['vline_hline_zorder',
- 'errorbar_zorder'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ 'errorbar_zorder'])
def test_eb_line_zorder():
x = list(range(10))
@@ -4199,7 +4200,7 @@ def test_psd_noise():
@image_comparison(baseline_images=['csd_freqs'], remove_text=True,
- extensions=['png'], tol=0.002)
+ extensions=['png'], tol=0.21)
def test_csd_freqs():
'''test axes.csd with sinusoidal stimuli'''
n = 10000
@@ -5117,7 +5118,7 @@ def test_rc_spines():
@image_comparison(baseline_images=['rc_grid'], extensions=['png'],
- savefig_kwarg={'dpi': 40})
+ savefig_kwarg={'dpi': 40}, tol=0.2)
def test_rc_grid():
fig = plt.figure()
rc_dict0 = {
@@ -5679,7 +5680,7 @@ def test_date_timezone_y():
@image_comparison(baseline_images=['date_timezone_x_and_y'],
- extensions=['png'])
+ extensions=['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 773093100..37356d5e0 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -466,7 +466,7 @@ def test_EllipseCollection():
@image_comparison(baseline_images=['polycollection_close'],
- extensions=['png'], remove_text=True)
+ extensions=['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 c65ad02c3..79deb249c 100644
--- a/lib/matplotlib/tests/test_colorbar.py
+++ b/lib/matplotlib/tests/test_colorbar.py
@@ -97,7 +97,7 @@ def _colorbar_extension_length(spacing):
@image_comparison(
baseline_images=['colorbar_extensions_shape_uniform',
'colorbar_extensions_shape_proportional'],
- extensions=['png'])
+ extensions=['png'], tol=0.16)
def test_colorbar_extension_shape():
'''Test rectangular colorbar extensions.'''
# Create figures for uniform and proportionally spaced colorbars.
@@ -107,7 +107,7 @@ def test_colorbar_extension_shape():
@image_comparison(baseline_images=['colorbar_extensions_uniform',
'colorbar_extensions_proportional'],
- extensions=['png'])
+ extensions=['png'], tol=0.25)
def test_colorbar_extension_length():
'''Test variable length colorbar extensions.'''
# Create figures for uniform and proportionally spaced colorbars.
@@ -121,7 +121,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]
@@ -175,7 +175,7 @@ def test_colorbar_positioning():
@image_comparison(baseline_images=['cbar_with_subplots_adjust'],
extensions=['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)
@@ -233,7 +233,8 @@ def test_colorbarbase():
@image_comparison(
baseline_images=['colorbar_closed_patch'],
- remove_text=True)
+ 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 e9ae292f6..0edfa1e27 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -246,7 +246,7 @@ def test_constrained_layout12():
ax.set_xlabel('x-label')
-@image_comparison(baseline_images=['constrained_layout13'], tol=2.e-2,
+@image_comparison(baseline_images=['constrained_layout13'], tol=3.e-2,
extensions=['png'])
def test_constrained_layout13():
'Test that padding works.'
diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
index d78dcb1ff..ad39426e2 100644
--- a/lib/matplotlib/tests/test_contour.py
+++ b/lib/matplotlib/tests/test_contour.py
@@ -226,7 +226,8 @@ def test_given_colors_levels_and_extends():
@image_comparison(baseline_images=['contour_datetime_axis'],
- extensions=['png'], remove_text=False, style='mpl20')
+ extensions=['png'], 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)
@@ -252,7 +253,8 @@ def test_contour_datetime_axis():
@image_comparison(baseline_images=['contour_test_label_transforms'],
- extensions=['png'], remove_text=True, style='mpl20')
+ extensions=['png'], 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
@@ -283,7 +285,7 @@ def test_labels():
@image_comparison(baseline_images=['contour_corner_mask_False',
'contour_corner_mask_True'],
- extensions=['png'], remove_text=True)
+ extensions=['png'], 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 1254f3c7c..de11f6103 100644
--- a/lib/matplotlib/tests/test_cycles.py
+++ b/lib/matplotlib/tests/test_cycles.py
@@ -9,7 +9,6 @@ from cycler import cycler
@image_comparison(baseline_images=['color_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'])
def test_colorcycle_basic():
fig, ax = plt.subplots()
@@ -27,7 +26,6 @@ def test_colorcycle_basic():
@image_comparison(baseline_images=['marker_cycle', 'marker_cycle'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
remove_text=True, extensions=['png'])
def test_marker_cycle():
fig, ax = plt.subplots()
@@ -61,7 +59,6 @@ def test_marker_cycle():
@image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'])
def test_linestylecycle_basic():
fig, ax = plt.subplots()
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
index 6ecb3edbe..47aff1b74 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(baseline_images=['figure_align_labels'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(baseline_images=['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 22cd78d46..b4d41f882 100644
--- a/lib/matplotlib/tests/test_image.py
+++ b/lib/matplotlib/tests/test_image.py
@@ -810,7 +810,7 @@ def test_imshow_endianess():
@image_comparison(baseline_images=['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 b4bcecde8..45228e16c 100644
--- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py
@@ -108,7 +108,6 @@ def test_multiple_keys():
@image_comparison(baseline_images=['rgba_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=True)
def test_alpha_rgba():
import matplotlib.pyplot as plt
@@ -120,7 +119,6 @@ def test_alpha_rgba():
@image_comparison(baseline_images=['rcparam_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=True)
def test_alpha_rcparam():
import matplotlib.pyplot as plt
@@ -148,8 +146,7 @@ def test_fancy():
ncol=2, shadow=True, title="My legend", numpoints=1)
-@image_comparison(baseline_images=['framealpha'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+@image_comparison(baseline_images=['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 bbb442638..b5d291c87 100644
--- a/lib/matplotlib/tests/test_mathtext.py
+++ b/lib/matplotlib/tests/test_mathtext.py
@@ -173,7 +173,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))
@@ -187,7 +187,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 31c240a60..979ab3ad0 100644
--- a/lib/matplotlib/tests/test_patches.py
+++ b/lib/matplotlib/tests/test_patches.py
@@ -259,9 +259,8 @@ def test_wedge_movement():
assert getattr(w, attr) == new_v
-# png needs tol>=0.06, pdf tol>=1.617
@image_comparison(baseline_images=['wedge_range'],
- remove_text=True, tol=1.65 if on_win else 0)
+ 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 6e80d8d98..0f158eb9e 100644
--- a/lib/matplotlib/tests/test_patheffects.py
+++ b/lib/matplotlib/tests/test_patheffects.py
@@ -119,7 +119,7 @@ def test_SimplePatchShadow_offset():
assert pe._offset == (4, 5)
-@image_comparison(baseline_images=['collection'], tol=0.02, style='mpl20')
+@image_comparison(baseline_images=['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 d8ee5ffa7..f43a7fd34 100644
--- a/lib/matplotlib/tests/test_pickle.py
+++ b/lib/matplotlib/tests/test_pickle.py
@@ -41,7 +41,7 @@ def test_simple():
@image_comparison(baseline_images=['multi_pickle'],
extensions=['png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.11,
style='mpl20')
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 eab049d91..c3708890b 100644
--- a/lib/matplotlib/tests/test_quiver.py
+++ b/lib/matplotlib/tests/test_quiver.py
@@ -155,7 +155,7 @@ def test_quiver_key_xy():
@image_comparison(baseline_images=['barbs_test_image'],
- extensions=['png'], remove_text=True)
+ extensions=['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 6007c9b9a..736105a56 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -40,7 +40,7 @@ def test_startpoints():
@image_comparison(baseline_images=['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 f36f480af..2b773b042 100644
--- a/lib/matplotlib/tests/test_transforms.py
+++ b/lib/matplotlib/tests/test_transforms.py
@@ -70,7 +70,7 @@ def test_external_transform_api():
@image_comparison(baseline_images=['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 7d0f38a70..a40d81a4f 100644
--- a/lib/matplotlib/tests/test_units.py
+++ b/lib/matplotlib/tests/test_units.py
@@ -73,7 +73,6 @@ def quantity_converter():
# Tests that the conversion machinery works properly for classes that
# work as a facade over numpy arrays (like pint)
@image_comparison(baseline_images=['plot_pint'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
extensions=['png'], remove_text=False, style='mpl20')
def test_numpy_facade(quantity_converter):
# Register the class
diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
index 7105a6480..a5fecba1b 100644
--- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
+++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py
@@ -19,7 +19,7 @@ def test_subplot():
@image_comparison(baseline_images=['curvelinear3'],
- extensions=['png'], style='default', tol=0.01)
+ extensions=['png'], style='default', tol=0.02)
def test_curvelinear3():
fig = plt.figure(figsize=(5, 5))
@@ -74,7 +74,7 @@ def test_curvelinear3():
@image_comparison(baseline_images=['curvelinear4'],
- extensions=['png'], style='default', tol=0.015)
+ extensions=['png'], style='default', tol=0.055)
def test_curvelinear4():
fig = plt.figure(figsize=(5, 5))
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 32e1c884d..2b38866c5 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(baseline_images=['custom_transform'],
- extensions=['png'], style='default', tol=0.03)
+ extensions=['png'], style='default', tol=0.035)
def test_custom_transform():
class MyTransform(Transform):
input_dims = 2
@@ -85,7 +85,7 @@ def test_custom_transform():
@image_comparison(baseline_images=['polar_box'],
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03),
+ tol=0.08,
extensions=['png'], style='default')
def test_polar_box():
fig = plt.figure(figsize=(5, 5))
@@ -147,7 +147,7 @@ def test_polar_box():
@image_comparison(baseline_images=['axis_direction'],
- extensions=['png'], style='default', tol=0.03)
+ extensions=['png'], style='default', tol=0.05)
def test_axis_direction():
fig = plt.figure(figsize=(5, 5))
diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
index 4bfb6f8ff..a6eee9ff6 100644
--- a/lib/mpl_toolkits/tests/test_mplot3d.py
+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
@@ -269,7 +269,7 @@ def test_text3d():
ax.set_zlabel('Z axis')
-@image_comparison(baseline_images=['trisurf3d'], remove_text=True, tol=0.03)
+@image_comparison(baseline_images=['trisurf3d'], remove_text=True, tol=0.05)
def test_trisurf3d():
n_angles = 36
n_radii = 8
@@ -778,7 +778,7 @@ class TestVoxels(object):
@image_comparison(
baseline_images=['voxels-xyz'],
extensions=['png'],
- tol=0.01
+ tol=0.02
)
def test_xyz(self):
fig, ax = plt.subplots(subplot_kw={"projection": "3d"})
--
2.21.1

View File

@@ -0,0 +1,266 @@
From 390e418a5da886ce1b4358f454342c6af311b00a 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 | 2 +-
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, 21 insertions(+), 21 deletions(-)
diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
index de596a9e0..9f12effa6 100644
--- a/lib/matplotlib/tests/test_arrow_patches.py
+++ b/lib/matplotlib/tests/test_arrow_patches.py
@@ -69,7 +69,7 @@ def __prepare_fancyarrow_dpi_cor_test():
@image_comparison(baseline_images=['fancyarrow_dpi_cor_100dpi'],
remove_text=True, extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.016,
savefig_kwarg=dict(dpi=100))
def test_fancyarrow_dpi_cor_100dpi():
"""
@@ -85,7 +85,7 @@ def test_fancyarrow_dpi_cor_100dpi():
@image_comparison(baseline_images=['fancyarrow_dpi_cor_200dpi'],
remove_text=True, extensions=['png'],
- 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 84a1956ee..eeafd816f 100644
--- a/lib/matplotlib/tests/test_axes.py
+++ b/lib/matplotlib/tests/test_axes.py
@@ -395,7 +395,7 @@ def test_annotate_default_arrow():
assert ann.arrow_patch is not None
-@image_comparison(baseline_images=['polar_axes'], style='default')
+@image_comparison(baseline_images=['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
@@ -3519,7 +3519,7 @@ def test_vertex_markers():
@image_comparison(baseline_images=['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 ad23abe3f..7b9660f2b 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()
"""
-_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 773093100..9cce4ed9f 100644
--- a/lib/matplotlib/tests/test_collections.py
+++ b/lib/matplotlib/tests/test_collections.py
@@ -442,7 +442,7 @@ def test_barb_limits():
@image_comparison(baseline_images=['EllipseCollection_test_image'],
extensions=['png'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.012,
remove_text=True)
def test_EllipseCollection():
# Test basic functionality
diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
index e9ae292f6..8e1fcb36f 100644
--- a/lib/matplotlib/tests/test_constrainedlayout.py
+++ b/lib/matplotlib/tests/test_constrainedlayout.py
@@ -173,7 +173,7 @@ def test_constrained_layout9():
@image_comparison(baseline_images=['constrained_layout10'],
- extensions=['png'])
+ extensions=['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 1254f3c7c..cea1522de 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(baseline_images=['color_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.008,
extensions=['png'])
def test_colorcycle_basic():
fig, ax = plt.subplots()
@@ -27,7 +27,7 @@ def test_colorcycle_basic():
@image_comparison(baseline_images=['marker_cycle', 'marker_cycle'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.008,
remove_text=True, extensions=['png'])
def test_marker_cycle():
fig, ax = plt.subplots()
@@ -61,7 +61,7 @@ def test_marker_cycle():
@image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.009,
extensions=['png'])
def test_linestylecycle_basic():
fig, ax = plt.subplots()
diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
index 6ecb3edbe..207659648 100644
--- a/lib/matplotlib/tests/test_figure.py
+++ b/lib/matplotlib/tests/test_figure.py
@@ -14,7 +14,7 @@ import pytest
@image_comparison(baseline_images=['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 22cd78d46..76149bce4 100644
--- a/lib/matplotlib/tests/test_image.py
+++ b/lib/matplotlib/tests/test_image.py
@@ -810,7 +810,7 @@ def test_imshow_endianess():
@image_comparison(baseline_images=['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 b4bcecde8..227b654cc 100644
--- a/lib/matplotlib/tests/test_legend.py
+++ b/lib/matplotlib/tests/test_legend.py
@@ -108,7 +108,7 @@ def test_multiple_keys():
@image_comparison(baseline_images=['rgba_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.007,
extensions=['png'], remove_text=True)
def test_alpha_rgba():
import matplotlib.pyplot as plt
@@ -120,7 +120,7 @@ def test_alpha_rgba():
@image_comparison(baseline_images=['rcparam_alpha'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.007,
extensions=['png'], remove_text=True)
def test_alpha_rcparam():
import matplotlib.pyplot as plt
@@ -149,7 +149,7 @@ def test_fancy():
@image_comparison(baseline_images=['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 d8ee5ffa7..607c13346 100644
--- a/lib/matplotlib/tests/test_pickle.py
+++ b/lib/matplotlib/tests/test_pickle.py
@@ -41,7 +41,7 @@ def test_simple():
@image_comparison(baseline_images=['multi_pickle'],
extensions=['png'], remove_text=True,
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.004,
style='mpl20')
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 6007c9b9a..96d43a3e3 100644
--- a/lib/matplotlib/tests/test_streamplot.py
+++ b/lib/matplotlib/tests/test_streamplot.py
@@ -49,7 +49,7 @@ def test_colormap():
@image_comparison(baseline_images=['streamplot_linewidth'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.002,
remove_text=True, style='mpl20')
def test_linewidth():
X, Y, U, V = velocity_field()
diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
index 7d0f38a70..ef21a166c 100644
--- a/lib/matplotlib/tests/test_units.py
+++ b/lib/matplotlib/tests/test_units.py
@@ -73,7 +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(baseline_images=['plot_pint'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.003,
extensions=['png'], remove_text=False, style='mpl20')
def test_numpy_facade(quantity_converter):
# Register the class
@@ -98,7 +98,7 @@ def test_numpy_facade(quantity_converter):
# Tests gh-8908
@image_comparison(baseline_images=['plot_masked_units'],
- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
+ tol=0.007,
extensions=['png'], remove_text=True, style='mpl20')
def test_plot_masked_units():
data = np.linspace(-5, 5)
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 32e1c884d..741d197b5 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(baseline_images=['custom_transform'],
- extensions=['png'], style='default', tol=0.03)
+ extensions=['png'], style='default', tol=0.04)
def test_custom_transform():
class MyTransform(Transform):
input_dims = 2
@@ -85,7 +85,7 @@ def test_custom_transform():
@image_comparison(baseline_images=['polar_box'],
- tol={'aarch64': 0.04}.get(platform.machine(), 0.03),
+ tol=0.04,
extensions=['png'], style='default')
def test_polar_box():
fig = plt.figure(figsize=(5, 5))
--
2.21.1

View File

@@ -1,36 +0,0 @@
--- a/lib/matplotlib/__init__.py 2016-04-04 12:54:26.427194940 +0200
+++ b/lib/matplotlib/__init__.py 2016-04-04 12:56:12.662590255 +0200
@@ -682,9 +682,12 @@
_file = _decode_filesystem_path(__file__)
path = os.sep.join([os.path.dirname(_file), 'mpl-data'])
+ path = '/usr/share/matplotlib/mpl-data'
if os.path.isdir(path):
return path
+ raise RuntimeError('Could not find the matplotlib data files')
+
# setuptools' namespace_packages may highjack this init file
# so need to try something known to be in matplotlib, not basemap
import matplotlib.afm
@@ -812,7 +815,7 @@
home, '.matplotlib', 'matplotlibrc')
return fname
- path = get_data_path() # guaranteed to exist or raise
+ path = '/etc' # guaranteed to exist or raise
fname = os.path.join(path, 'matplotlibrc')
if not os.path.exists(fname):
warnings.warn('Could not find matplotlibrc; using defaults')
--- a/lib/matplotlib/cbook.py 2016-05-20 14:14:52.000000000 +0200
+++ b/lib/matplotlib/cbook.py 2016-05-20 19:28:57.373601582 +0200
@@ -823,8 +823,7 @@ def get_sample_data(fname, asfileobj=Tru
if matplotlib.rcParams['examples.directory']:
root = matplotlib.rcParams['examples.directory']
else:
- root = os.path.join(os.path.dirname(__file__),
- "mpl-data", "sample_data")
+ root = os.path.join(matplotlib._get_data_path(), 'sample_data')
path = os.path.join(root, fname)
if asfileobj:

View File

@@ -1,19 +0,0 @@
Description: Try to use also StayPuft (a free font) for xkcd
Author: Sandro Tosi <morph@debian.org>
Origin: vendor
Bug: http://bugs.debian.org/720549
Forwarded: not-needed
Last-Update: 2013-10-06
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/lib/matplotlib/pyplot.py
+++ b/lib/matplotlib/pyplot.py
@@ -301,7 +301,7 @@ def xkcd(scale=1, length=100, randomness
from matplotlib import patheffects
context = rc_context()
try:
- rcParams['font.family'] = ['Humor Sans', 'Comic Sans MS']
+ rcParams['font.family'] = ['Humor Sans', 'Comic Sans MS', 'StayPuft']
rcParams['font.size'] = 14.0
rcParams['path.sketch'] = (scale, length, randomness)
rcParams['path.effects'] = [

View File

@@ -1,32 +0,0 @@
diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_image.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_image.py
--- matplotlib-1.5.1/lib/matplotlib/tests/test_image.py.tests 2016-05-23 14:04:41.000000000 +0200
+++ matplotlib-1.5.1/lib/matplotlib/tests/test_image.py 2016-06-02 00:28:37.076703843 +0200
@@ -186,7 +186,8 @@ def test_cursor_data():
event = MouseEvent('motion_notify_event', fig.canvas, xdisp, ydisp)
z = im.get_cursor_data(event)
- assert z is None, "Did not get None, got %d" % z
+ #0 instead of None on armv7hl
+ #assert z is None, "Did not get None, got %d" % z
# Hmm, something is wrong here... I get 0, not None...
# But, this works further down in the tests with extents flipped
@@ -224,14 +225,16 @@ def test_cursor_data():
event = MouseEvent('motion_notify_event', fig.canvas, xdisp, ydisp)
z = im.get_cursor_data(event)
- assert z is None, "Did not get None, got %d" % z
+ #0 instead of None on armv7hl
+ #assert z is None, "Did not get None, got %d" % z
x, y = 0.01, -0.01
xdisp, ydisp = ax.transData.transform_point([x, y])
event = MouseEvent('motion_notify_event', fig.canvas, xdisp, ydisp)
z = im.get_cursor_data(event)
- assert z is None, "Did not get None, got %d" % z
+ #0 instead of None on armv7hl
+ #assert z is None, "Did not get None, got %d" % z
@image_comparison(baseline_images=['image_clip'])

View File

@@ -1,167 +0,0 @@
diff -up matplotlib-1.5.2rc2/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests matplotlib-1.5.2rc2/lib/matplotlib/sphinxext/tests/test_tinypages.py
--- matplotlib-1.5.2rc2/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests 2016-05-27 04:19:34.000000000 +0200
+++ matplotlib-1.5.2rc2/lib/matplotlib/sphinxext/tests/test_tinypages.py 2016-06-18 00:51:20.449769054 +0200
@@ -1,6 +1,7 @@
""" Tests for tinypages build using sphinx extensions """
import shutil
+import sys
import tempfile
from os.path import (join as pjoin, dirname, isdir)
@@ -16,6 +17,8 @@ TINY_PAGES = pjoin(HERE, 'tinypages')
def setup():
# Check we have the sphinx-build command
+ if sys.version_info[0] >= 3:
+ raise SkipTest('sphinx-build works only with python 2.x')
try:
ret = call(['sphinx-build', '--help'], stdout=PIPE, stderr=PIPE)
except OSError:
diff -up matplotlib-1.5.2rc2/lib/matplotlib/tests/test_axes.py.tests matplotlib-1.5.2rc2/lib/matplotlib/tests/test_axes.py
--- matplotlib-1.5.2rc2/lib/matplotlib/tests/test_axes.py.tests 2016-05-27 04:19:34.000000000 +0200
+++ matplotlib-1.5.2rc2/lib/matplotlib/tests/test_axes.py 2016-06-18 01:07:54.058379133 +0200
@@ -5,6 +5,7 @@ import six
from six.moves import xrange
from itertools import chain
import io
+from distutils.version import LooseVersion
from nose.tools import assert_equal, assert_raises, assert_false, assert_true
from nose.plugins.skip import SkipTest
@@ -84,7 +85,7 @@ def test_formatter_ticker():
@image_comparison(baseline_images=["formatter_large_small"])
def test_formatter_large_small():
- if tuple(map(int, np.__version__.split('.'))) >= (1, 11, 0):
+ if LooseVersion(np.__version__) >= LooseVersion('1.11.0'):
raise KnownFailureTest("Fall out from a fixed numpy bug")
# github issue #617, pull #619
fig, ax = plt.subplots(1)
diff -up matplotlib-1.5.2rc2/lib/matplotlib/tests/test_bbox_tight.py.tests matplotlib-1.5.2rc2/lib/matplotlib/tests/test_bbox_tight.py
--- matplotlib-1.5.2rc2/lib/matplotlib/tests/test_bbox_tight.py.tests 2016-06-18 00:51:19.000000000 +0200
+++ matplotlib-1.5.2rc2/lib/matplotlib/tests/test_bbox_tight.py 2016-06-18 01:09:11.314805850 +0200
@@ -3,6 +3,7 @@ from __future__ import (absolute_import,
import six
from six.moves import xrange
+from distutils.version import LooseVersion
import numpy as np
@@ -91,7 +92,7 @@ def test_bbox_inches_tight_clipping():
remove_text=True, savefig_kwarg={'bbox_inches': 'tight'})
def test_bbox_inches_tight_raster():
"""Test rasterization with tight_layout"""
- if tuple(map(int, np.__version__.split('.'))) >= (1, 11, 0):
+ if LooseVersion(np.__version__) >= LooseVersion('1.11.0'):
raise KnownFailureTest("Fall out from a fixed numpy bug")
fig = plt.figure()
ax = fig.add_subplot(111)
diff -up matplotlib-1.5.2rc2/lib/matplotlib/tests/test_text.py.tests matplotlib-1.5.2rc2/lib/matplotlib/tests/test_text.py
--- matplotlib-1.5.2rc2/lib/matplotlib/tests/test_text.py.tests 2016-06-18 00:51:19.803773859 +0200
+++ matplotlib-1.5.2rc2/lib/matplotlib/tests/test_text.py 2016-06-18 00:51:20.450769046 +0200
@@ -18,91 +18,6 @@ from matplotlib.text import Annotation,
from matplotlib.backends.backend_agg import RendererAgg
-@image_comparison(baseline_images=['font_styles'])
-def test_font_styles():
- from matplotlib import _get_data_path
- data_path = _get_data_path()
-
- def find_matplotlib_font(**kw):
- prop = FontProperties(**kw)
- path = findfont(prop, directory=data_path)
- return FontProperties(fname=path)
-
- from matplotlib.font_manager import FontProperties, findfont
- warnings.filterwarnings(
- 'ignore',
- ('findfont: Font family \[u?\'Foo\'\] not found. Falling back to .'),
- UserWarning,
- module='matplotlib.font_manager')
-
- plt.figure()
- ax = plt.subplot(1, 1, 1)
-
- normalFont = find_matplotlib_font(
- family="sans-serif",
- style="normal",
- variant="normal",
- size=14)
- ax.annotate(
- "Normal Font",
- (0.1, 0.1),
- xycoords='axes fraction',
- fontproperties=normalFont)
-
- boldFont = find_matplotlib_font(
- family="Foo",
- style="normal",
- variant="normal",
- weight="bold",
- stretch=500,
- size=14)
- ax.annotate(
- "Bold Font",
- (0.1, 0.2),
- xycoords='axes fraction',
- fontproperties=boldFont)
-
- boldItemFont = find_matplotlib_font(
- family="sans serif",
- style="italic",
- variant="normal",
- weight=750,
- stretch=500,
- size=14)
- ax.annotate(
- "Bold Italic Font",
- (0.1, 0.3),
- xycoords='axes fraction',
- fontproperties=boldItemFont)
-
- lightFont = find_matplotlib_font(
- family="sans-serif",
- style="normal",
- variant="normal",
- weight=200,
- stretch=500,
- size=14)
- ax.annotate(
- "Light Font",
- (0.1, 0.4),
- xycoords='axes fraction',
- fontproperties=lightFont)
-
- condensedFont = find_matplotlib_font(
- family="sans-serif",
- style="normal",
- variant="normal",
- weight=500,
- stretch=100,
- size=14)
- ax.annotate(
- "Condensed Font",
- (0.1, 0.5),
- xycoords='axes fraction',
- fontproperties=condensedFont)
-
- ax.set_xticks([])
- ax.set_yticks([])
@image_comparison(baseline_images=['multiline'])
diff -up matplotlib-1.5.2rc2/tests.py.tests matplotlib-1.5.2rc2/tests.py
--- matplotlib-1.5.2rc2/tests.py.tests 2016-05-27 04:19:34.000000000 +0200
+++ matplotlib-1.5.2rc2/tests.py 2016-06-18 00:51:20.450769046 +0200
@@ -66,7 +66,7 @@ if __name__ == '__main__':
if '--no-network' in sys.argv:
from matplotlib.testing import disable_internet
disable_internet.turn_off_internet()
- extra_args.extend(['--eval-attr="not network"'])
+ extra_args.extend(['-a','!network'])
sys.argv.remove('--no-network')
run(extra_args)

View File

@@ -1,33 +0,0 @@
--- setupext.py.orig 2013-08-02 09:39:43.914247832 +0200
+++ setupext.py 2013-08-02 09:40:14.785304342 +0200
@@ -914,28 +914,13 @@ class LibAgg(SetupPackage):
self.__class__.found_external = True
try:
return self._check_for_pkg_config(
- 'libagg', 'agg2/agg_basics.h', min_version='PATCH')
+ 'libagg', 'agg2/agg_basics.h', min_version='2.5.0')
except CheckFailed as e:
self.__class__.found_external = False
return str(e) + ' Using local copy.'
def add_flags(self, ext):
- if self.found_external:
- pkg_config.setup_extension(ext, 'libagg')
- else:
- ext.include_dirs.append('extern/agg24/include')
- agg_sources = [
- 'agg_bezier_arc.cpp',
- 'agg_curves.cpp',
- 'agg_image_filters.cpp',
- 'agg_trans_affine.cpp',
- 'agg_vcgen_contour.cpp',
- 'agg_vcgen_dash.cpp',
- 'agg_vcgen_stroke.cpp',
- 'agg_vpgen_segmentator.cpp'
- ]
- ext.sources.extend(
- os.path.join('extern', 'agg24', 'src', x) for x in agg_sources)
+ pkg_config.setup_extension(ext, 'libagg', default_include_dirs=["/usr/include/agg2"])
class FreeType(SetupPackage):

View File

@@ -1,24 +0,0 @@
diff -up matplotlib-1.5.2rc2/setupext.py.qh matplotlib-1.5.2rc2/setupext.py
--- matplotlib-1.5.2rc2/setupext.py.qh 2016-06-04 00:09:22.605827942 +0200
+++ matplotlib-1.5.2rc2/setupext.py 2016-06-04 00:09:22.611827972 +0200
@@ -1018,7 +1018,7 @@ class Qhull(SetupPackage):
# present on this system, so check if the header files can be
# found.
include_dirs = [
- os.path.join(x, 'qhull') for x in get_include_dirs()]
+ os.path.join(x, 'libqhull') for x in get_include_dirs()]
if has_include_file(include_dirs, 'qhull_a.h'):
return 'Using system Qhull (version unknown, no pkg-config info)'
else:
diff -up matplotlib-1.5.2rc2/src/qhull_wrap.c.qh matplotlib-1.5.2rc2/src/qhull_wrap.c
--- matplotlib-1.5.2rc2/src/qhull_wrap.c.qh 2016-05-27 04:19:34.000000000 +0200
+++ matplotlib-1.5.2rc2/src/qhull_wrap.c 2016-06-04 00:09:22.608827957 +0200
@@ -7,7 +7,7 @@
*/
#include "Python.h"
#include "numpy/noprefix.h"
-#include "qhull/qhull_a.h"
+#include <libqhull/qhull_a.h>
#include <stdio.h>

View File

@@ -1,34 +0,0 @@
diff -up matplotlib-1.5.1/setupext.py.six matplotlib-1.5.1/setupext.py
--- matplotlib-1.5.1/setupext.py.six 2016-01-10 23:20:20.000000000 +0100
+++ matplotlib-1.5.1/setupext.py 2016-05-18 13:44:21.534494158 +0200
@@ -1026,6 +1026,18 @@ class Qhull(SetupPackage):
ext.sources.extend(glob.glob('extern/qhull/*.c'))
+class Six(SetupPackage):
+ name = "six"
+
+ def check(self):
+ try:
+ import six
+ except ImportError:
+ return 'not found. pip may install it below.'
+
+ return 'version %s' % six.__version__
+
+
class TTConv(SetupPackage):
name = "ttconv"
diff -up matplotlib-1.5.1/setup.py.six matplotlib-1.5.1/setup.py
--- matplotlib-1.5.1/setup.py.six 2016-01-10 23:20:20.000000000 +0100
+++ matplotlib-1.5.1/setup.py 2016-05-18 13:44:21.528494040 +0200
@@ -84,7 +84,7 @@ mpl_packages = [
setupext.Delaunay(),
setupext.QhullWrap(),
setupext.Tri(),
- setupext.Externals(),
+ setupext.Six(),
'Optional subpackages',
setupext.SampleData(),
setupext.Toolkits(),

View File

@@ -1,28 +1,15 @@
%if 0%{?fedora}
%global with_python3 1
%else
%global with_python3 0
%endif
%global __provides_exclude_from .*/site-packages/.*\\.so$
%global with_html 1
%global with_html 0
# It seems like there's some kind of weird occasional error where a
# build (often aarch64 or ppc64) will fail in one of the Stix font
# tests with a huge RMS difference, but if you run the same build again,
# you won't get the same error. Unless someone can figure out what's
# going on, we just have to keep re-running the build until it doesn't
# happen.
%global run_tests 1
# On RHEL 7 onwards, don't build with wx:
%if 0%{?rhel} >= 7
%global with_wx 0
%else
%global with_wx 1
%endif
# On Fedora 21 onwards, enable Qt5 backend:
%if 0%{?fedora}
%global with_qt5 1
%else
%global with_qt5 0
%endif
# the default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
# the default backend; one of GTK3Agg GTK3Cairo MacOSX Qt4Agg Qt5Agg TkAgg
# WXAgg Agg Cairo PS PDF SVG
%global backend TkAgg
%if "%{backend}" == "TkAgg"
@@ -33,6 +20,10 @@
% else
% if "%{backend}" == "Qt5Agg"
%global backend_subpackage qt5
% else
% if "%{backend}" == "WXAgg"
%global backend_subpackage wx
% endif
% endif
% endif
%endif
@@ -43,64 +34,57 @@
# Use the same directory of the main package for subpackage licence and docs
%global _docdir_fmt %{name}
%global rctag rc2
#global rctag rc2
# Updated test images for new FreeType.
%global mpl_images_version 3.1.1
# The version of FreeType in this Fedora branch.
%global ftver 2.10.0
Name: python-matplotlib
Version: 1.5.2
Release: 0.2%{?rctag:.%{rctag}}%{?dist}
Version: 3.1.3
Release: 1%{?rctag:.%{rctag}}%{?dist}
Summary: Python 2D plotting library
Group: Development/Libraries
# qt4_editor backend is MIT
License: Python and MIT
URL: http://matplotlib.org
Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}.tar.gz#/matplotlib-%{version}%{?rctag}.tar.gz
Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}/matplotlib-%{version}%{?rctag}.tar.gz
Source1: setup.cfg
#Patch0: %{name}-noagg.patch
# https://github.com/matplotlib/matplotlib/issues/6536
Patch2: 20_matplotlibrc_path_search_fix.patch
Patch5: 70_bts720549_try_StayPuft_for_xkcd.patch
# https://github.com/matplotlib/matplotlib/issues/6537
Patch6: python-matplotlib-use-system-six.patch
# https://github.com/matplotlib/matplotlib/pull/6558
# https://github.com/matplotlib/matplotlib/issues/6539
Patch7: python-matplotlib-disable-failing-tests.patch
# https://github.com/matplotlib/matplotlib/issues/6538
Patch8: python-matplotlib-disable-failing-tests-armv7hl.patch
Patch9: python-matplotlib-qhull.patch
# 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-v3.1.x
# https://github.com/fedora-python/matplotlib/tree/fedora-patches-non-x86-v3.1.x
# Updated test images for new FreeType.
Source1000: https://github.com/QuLogic/mpl-images/archive/v%{mpl_images_version}-with-freetype-%{ftver}/matplotlib-%{mpl_images_version}-with-freetype-%{ftver}.tar.gz
# Search in /etc/matplotlibrc:
Patch1001: 0001-matplotlibrc-path-search-fix.patch
# Increase tolerances for new FreeType everywhere:
Patch1002: 0002-Set-FreeType-version-to-2.10.0-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
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glibc-langpack-en
BuildRequires: freetype-devel
BuildRequires: libpng-devel
BuildRequires: qhull-devel
BuildRequires: python-six
BuildRequires: numpy
BuildRequires: pyparsing
BuildRequires: python-pycxx-devel
BuildRequires: python-dateutil
BuildRequires: python-setuptools
%if %{with_html}
BuildRequires: python-ipython-sphinx
BuildRequires: python-numpydoc
BuildRequires: python-scikit-image
BuildRequires: python2-cycler
%endif
%if %{run_tests}
BuildRequires: python-nose
BuildRequires: python2-cycler
BuildRequires: python2-mock
%if %{with_python3}
BuildRequires: python3-mock
BuildRequires: python3-nose
%endif
%endif
BuildRequires: python2-devel
BuildRequires: pytz
BuildRequires: texlive-cm
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: zlib-devel
Provides: bundled(agg) = 2.4
Provides: bundled(ttconv)
%description
Matplotlib is a python 2D plotting library which produces publication
quality figures in a variety of hardcopy formats and interactive
@@ -112,186 +96,70 @@ Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python2-matplotlib
Summary: Python 2D plotting library
%{?python_provide:%python_provide python2-matplotlib}
Requires: dejavu-sans-fonts
Requires: dvipng
Requires: python-six
Requires: numpy
Requires: pyparsing
Requires: python2-cycler
Requires: python-dateutil
Requires: pytz
%if 0%{?fedora} >= 18
Requires: stix-math-fonts
%else
Requires: stix-fonts
%endif
Requires: %{name}-data = %{version}-%{release}
%{?backend_subpackage:Requires: python2-matplotlib-%{backend_subpackage}%{?_isa} = %{version}-%{release}}
%description -n python2-matplotlib
Matplotlib is a python 2D plotting library which produces publication
quality figures in a variety of hardcopy formats and interactive
environments across platforms. matplotlib can be used in python
scripts, the python and ipython shell, web application servers, and
six graphical user interface toolkits.
Matplotlib tries to make easy things easy and hard things possible.
You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python2-matplotlib-qt4
%{?python_provide:%python_provide python2-matplotlib-qt4}
Summary: Qt4 backend for python-matplotlib
Group: Development/Libraries
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
Requires: python2-matplotlib-qt5
BuildRequires: PyQt4-devel
Requires: PyQt4
%description -n python2-matplotlib-qt4
%{summary}
%if %{with_qt5}
%package -n python2-matplotlib-qt5
%{?python_provide:%python_provide python2-matplotlib-qt5}
Summary: Qt5 backend for python-matplotlib
Group: Development/Libraries
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: python-qt5
Requires: python-qt5
%description -n python2-matplotlib-qt5
%{summary}
%endif # with_qt5
%package -n python2-matplotlib-gtk
%{?python_provide:%python_provide python2-matplotlib-gtk}
Summary: GTK backend for python-matplotlib
Group: Development/Libraries
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: gtk2-devel
BuildRequires: pygtk2-devel
BuildRequires: pycairo-devel
Requires: pycairo
Requires: pygtk2
%description -n python2-matplotlib-gtk
%{summary}
%package -n python2-matplotlib-gtk3
%{?python_provide:%python_provide python2-matplotlib-gtk3}
Summary: GTK3 backend for python-matplotlib
Group: Development/Libraries
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
# This should be converted to typelib(Gtk) when supported
BuildRequires: gtk3
BuildRequires: pygobject3-base
Requires: gtk3%{?_isa}
Requires: pygobject3-base%{?_isa}
%description -n python2-matplotlib-gtk3
%{summary}
%package -n python2-matplotlib-tk
%{?python_provide:%python_provide python2-matplotlib-tk}
Summary: Tk backend for python-matplotlib
Group: Development/Libraries
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: tcl-devel
BuildRequires: tkinter
BuildRequires: tk-devel
Requires: tkinter
%description -n python2-matplotlib-tk
%{summary}
%if %{with_wx}
%package -n python2-matplotlib-wx
%{?python_provide:%python_provide python2-matplotlib-wx}
Summary: wxPython backend for python-matplotlib
Group: Development/Libraries
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: wxPython-devel
Requires: wxPython
%description -n python2-matplotlib-wx
%{summary}
%endif # with_wx
%package -n python2-matplotlib-doc
%{?python_provide:%python_provide python2-matplotlib-doc}
Summary: Documentation files for python-matplotlib
Group: Documentation
Requires: python2-matplotlib%{?_isa} = %{version}-%{release}
%if %{with_html}
BuildRequires: python-sphinx
BuildRequires: tex(latex)
BuildRequires: tex-preview
BuildRequires: dvipng
BuildRequires: graphviz
%endif
%description -n python2-matplotlib-doc
%{summary}
%package -n python-matplotlib-data
%{?python_provide:%python_provide python-matplotlib-data}
%package -n python3-matplotlib-data
Summary: Data used by python-matplotlib
%if %{with_bundled_fonts}
Requires: python-matplotlib-data-fonts = %{version}-%{release}
%endif
BuildArch: noarch
%if %{with_bundled_fonts}
Requires: python3-matplotlib-data-fonts = %{version}-%{release}
%endif
Obsoletes: python-matplotlib-data < 3
%{?python_provide:%python_provide python3-matplotlib-data}
%description -n python-matplotlib-data
%description -n python3-matplotlib-data
%{summary}
%if %{with_bundled_fonts}
%package -n python-matplotlib-data-fonts
%{?python_provide:%python_provide python-matplotlib-data-fonts}
%package -n python3-matplotlib-data-fonts
Summary: Fonts used by python-matplotlib
Requires: python-matplotlib-data = %{version}-%{release}
# STIX and Computer Modern is OFL
# DejaVu is Bitstream Vera and Public Domain
License: OFL and Bitstream Vera and Public Domain
BuildArch: noarch
Requires: python3-matplotlib-data = %{version}-%{release}
Obsoletes: python-matplotlib-data-fonts < 3
%{?python_provide:%python_provide python3-matplotlib-data-fonts}
%description -n python-matplotlib-data-fonts
%description -n python3-matplotlib-data-fonts
%{summary}
%endif
%if %{with_python3}
%package -n python3-matplotlib
%{?python_provide:%python_provide python3-matplotlib}
Summary: Python 2D plotting library
Group: Development/Libraries
BuildRequires: python3-cairo
BuildRequires: python3-cycler >= 0.10.0
BuildRequires: python3-dateutil
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-gobject
BuildRequires: python3-kiwisolver
BuildRequires: python3-numpy
BuildRequires: python3-pycxx-devel
BuildRequires: python3-pillow
BuildRequires: python3-pyparsing
BuildRequires: python3-pytz
BuildRequires: python3-six
BuildRequires: python3-cycler
Requires: python3-six
Requires: python3-numpy
Requires: python3-cairo
Requires: python3-pyparsing
Requires: python3-cycler
Requires: python3-dateutil
Requires: python3-pytz
BuildRequires: python3-sphinx
Requires: dejavu-sans-fonts
Requires: dvipng
%if 0%{?fedora} >= 18
Requires: python3-matplotlib-data = %{version}-%{release}
Requires: python3-cairo
Requires: python3-cycler >= 0.10.0
Requires: python3-dateutil
Requires: python3-kiwisolver
Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release}
%if %{run_tests}
BuildRequires: python3-pytest
BuildRequires: python3-pytest-rerunfailures
BuildRequires: python3-pytest-timeout
BuildRequires: python3-pytest-xdist
%endif
Requires: python3-numpy
Recommends: python3-pillow
Requires: python3-pyparsing
%if !%{with_bundled_fonts}
Requires: stix-math-fonts
%else
Requires: stix-fonts
Provides: bundled(stix-math-fonts)
%endif
Requires: %{name}-data = %{version}-%{release}
Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python3-matplotlib}
%description -n python3-matplotlib
Matplotlib is a python 2D plotting library which produces publication
@@ -305,70 +173,118 @@ You can generate plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc, with just a few lines of code.
%package -n python3-matplotlib-qt4
%{?python_provide:%python_provide python3-matplotlib-qt4}
Summary: Qt4 backend for python3-matplotlib
Group: Development/Libraries
BuildRequires: python3-PyQt4-devel
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3-matplotlib-qt5
BuildRequires: python3-PyQt4-devel
Requires: python3-PyQt4
%{?python_provide:%python_provide python3-matplotlib-qt4}
%description -n python3-matplotlib-qt4
%{summary}
%if %{with_qt5}
%package -n python3-matplotlib-qt5
%{?python_provide:%python_provide python3-matplotlib-qt5}
Summary: Qt5 backend for python3-matplotlib
Group: Development/Libraries
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: python3-qt5
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3-qt5
%{?python_provide:%python_provide python3-matplotlib-qt5}
%description -n python3-matplotlib-qt5
%{summary}
%endif # with_qt5
# gtk2 never worked in Python 3 afaict, so no need for -gtk subpackage
%package -n python3-matplotlib-gtk3
%{?python_provide:%python_provide python3-matplotlib-gtk3}
Summary: GTK3 backend for python3-matplotlib
Group: Development/Libraries
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
# This should be converted to typelib(Gtk) when supported
BuildRequires: gtk3
BuildRequires: python3-gobject
Requires: gtk3%{?_isa}
Requires: python3-gobject%{?_isa}
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python3-matplotlib-gtk3}
%description -n python3-matplotlib-gtk3
%{summary}
%package -n python3-matplotlib-tk
%{?python_provide:%python_provide python3-matplotlib-tk}
Summary: Tk backend for python3-matplotlib
Group: Development/Libraries
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
BuildRequires: python3-tkinter
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3-tkinter
%{?python_provide:%python_provide python3-matplotlib-tk}
%description -n python3-matplotlib-tk
%{summary}
%package -n python3-matplotlib-wx
Summary: WX backend for python3-matplotlib
BuildRequires: python3-wxpython4
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
Requires: python3-wxpython4
%{?python_provide:%python_provide python3-matplotlib-wx}
%description -n python3-matplotlib-wx
%{summary}
%package -n python3-matplotlib-doc
Summary: Documentation files for python-matplotlib
%if %{with_html}
BuildRequires: dvipng
BuildRequires: graphviz
BuildRequires: python3-sphinx
BuildRequires: tex(latex)
BuildRequires: tex-preview
BuildRequires: js-jquery >= 3.2.1
BuildRequires: xstatic-jquery-ui-common
Requires: js-jquery >= 3.2.1
Requires: xstatic-jquery-ui-common
%endif
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python3-matplotlib-doc}
%description -n python3-matplotlib-doc
%{summary}
%package -n python3-matplotlib-test-data
Summary: Test data for python3-matplotlib
Requires: python3-matplotlib%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python3-matplotlib-test-data}
%description -n python3-matplotlib-test-data
%{summary}
%prep
%setup -q -n matplotlib-%{version}%{?rctag}
rm -r {extern/qhull,lib/matplotlib/externals}
%autosetup -n matplotlib-%{version}%{?rctag} -N
%patch0001 -p1
%patch0002 -p1
# 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
rm -r extern/libqhull
# Copy setup.cfg to the builddir
sed 's/\(backend = \).*/\1%{backend}/' >setup.cfg <%{SOURCE1}
cp -p %{SOURCE1} setup.cfg
# Keep this until next version, and increment if changing from
# USE_FONTCONFIG to False or True so that cache is regenerated
# if updated from a version enabling fontconfig to one not
# enabling it, or vice versa
if [ %{version} = 1.4.3 ]; then
sed -i 's/\(__version__ = 101\)/\1.1/' lib/matplotlib/font_manager.py
sed -i 's/\(__version__ = 200\)/\1.1/' lib/matplotlib/font_manager.py
fi
%if !%{with_bundled_fonts}
@@ -376,148 +292,75 @@ fi
sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py
%endif
%patch2 -p1
%patch5 -p1
for f in $(find . -type f -name '*.py' -print) ; do
if grep -q "matplotlib.externals" $f ; then
sed -i -e 's/from matplotlib.externals import six/import six/g' -e 's/from matplotlib.externals.six/from six/g' $f
fi
done
%patch6 -p1 -b .six
%patch7 -p1 -b .tests
%ifarch armv7hl
%patch8 -p1 -b .tests-armv7hl
%endif
%if 0%{?fedora} > 24
# Installation paths changed
%patch9 -p1 -b .qh
%endif
chmod -x lib/matplotlib/mpl-data/images/*.svg
%build
%set_build_flags
export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \
xvfb-run %{__python2} setup.py build
xvfb-run %{__python3} setup.py build
%if %{with_html}
# Need to make built matplotlib libs available for the sphinx extensions:
pushd doc
MPLCONFIGDIR=$PWD/.. \
MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data \
PYTHONPATH=`realpath ../build/lib.linux*` \
%{__python2} make.py html
%{__python3} make.py html
popd
%endif
# Ensure all example files are non-executable so that the -doc
# package doesn't drag in dependencies
find examples -name '*.py' -exec chmod a-x '{}' \;
%if %{with_python3}
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \
xvfb-run %{__python3} setup.py build
# documentation cannot be built with python3 due to syntax errors
# https://github.com/matplotlib/matplotlib/issues/5805
%endif
%install
export http_proxy=http://127.0.0.1/
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \
%{__python} setup.py install -O1 --skip-build --root=%{buildroot}
chmod +x %{buildroot}%{python2_sitearch}/matplotlib/dates.py
%{__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}%{python2_sitearch}/matplotlib/mpl-data/matplotlibrc \
mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data/matplotlibrc \
%{buildroot}%{_sysconfdir}
mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data \
mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data \
%{buildroot}%{_datadir}/matplotlib
%if !%{with_bundled_fonts}
rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts
%endif
%if %{with_python3}
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \
%{__python3} setup.py install -O1 --skip-build --root=%{buildroot}
chmod +x %{buildroot}%{python3_sitearch}/matplotlib/dates.py
rm -fr %{buildroot}%{python3_sitearch}/matplotlib/mpl-data
%endif
%if %{run_tests}
%check
# This should match the default backend
echo "backend : %{backend}" > matplotlibrc
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
PYTHONPATH=%{buildroot}%{python2_sitearch} \
xvfb-run -a %{__python2} tests.py --no-network --processes=$(getconf _NPROCESSORS_ONLN) --process-timeout=300
# These files confuse pytest, and we want to test the installed copy.
rm -rf build*/
%if %{with_python3}
export http_proxy=http://127.0.0.1/
# Skips:
# * test_invisible_Line_rendering: Checks for "slowness" that often fails on a
# heavily-loaded builder.
# * test_tinypages fails due to new Sphinx warning
# * wxagg is broken on ppc64le:
# https://bugzilla.redhat.com/show_bug.cgi?id=1738752
MPLCONFIGDIR=$PWD \
MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \
MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \
PYTHONPATH=%{buildroot}%{python3_sitearch} \
xvfb-run -a %{__python3} tests.py --no-network --processes=$(getconf _NPROCESSORS_ONLN) --process-timeout=300
PYTHONDONTWRITEBYTECODE=1 \
xvfb-run -a -s "-screen 0 640x480x24" \
%{__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'
%else
-k 'not test_invisible_Line_rendering and not Qt5Agg'
%endif
%endif # run_tests
%files -n python2-matplotlib
%license LICENSE/
%doc CONTRIBUTING.md
%doc CHANGELOG
%doc README.rst
%{python2_sitearch}/*egg-info
%{python2_sitearch}/matplotlib-*-nspkg.pth
%{python2_sitearch}/matplotlib/
%{python2_sitearch}/mpl_toolkits/
%{python2_sitearch}/pylab.py*
%exclude %{python2_sitearch}/matplotlib/backends/backend_qt4*
%exclude %{python2_sitearch}/matplotlib/backends/backend_qt5*
%exclude %{python2_sitearch}/matplotlib/backends/backend_gtk*
%exclude %{python2_sitearch}/matplotlib/backends/_gtkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/tkagg.*
%exclude %{python2_sitearch}/matplotlib/backends/_tkagg.so
%exclude %{python2_sitearch}/matplotlib/backends/backend_wx.*
%exclude %{python2_sitearch}/matplotlib/backends/backend_wxagg.*
%exclude %{_pkgdocdir}/*/
%files -n python2-matplotlib-qt4
%{python2_sitearch}/matplotlib/backends/backend_qt4.*
%{python2_sitearch}/matplotlib/backends/backend_qt4agg.*
%if %{with_qt5}
%files -n python2-matplotlib-qt5
%{python2_sitearch}/matplotlib/backends/backend_qt5.*
%{python2_sitearch}/matplotlib/backends/backend_qt5agg.*
%endif # with_qt5
%files -n python2-matplotlib-gtk
%{python2_sitearch}/matplotlib/backends/backend_gtk.py*
%{python2_sitearch}/matplotlib/backends/backend_gtkagg.py*
%{python2_sitearch}/matplotlib/backends/backend_gtkcairo.py*
%{python2_sitearch}/matplotlib/backends/_gtkagg.so
%files -n python2-matplotlib-gtk3
%{python2_sitearch}/matplotlib/backends/backend_gtk3*.py*
%files -n python2-matplotlib-tk
%{python2_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python2_sitearch}/matplotlib/backends/tkagg.py*
%{python2_sitearch}/matplotlib/backends/_tkagg.so
%if %{with_wx}
%files -n python2-matplotlib-wx
%{python2_sitearch}/matplotlib/backends/backend_wx.*
%{python2_sitearch}/matplotlib/backends/backend_wxagg.*
%endif # with_wx
%files -n python2-matplotlib-doc
%doc examples
%if %{with_html}
%doc doc/build/html/*
# 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) \
-m 'not network' -k 'Qt5Agg'
%endif
%files -n python-matplotlib-data
%files -n python3-matplotlib-data
%{_sysconfdir}/matplotlibrc
%{_datadir}/matplotlib/mpl-data/
%if %{with_bundled_fonts}
@@ -525,62 +368,224 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \
%endif
%if %{with_bundled_fonts}
%files -n python-matplotlib-data-fonts
%files -n python3-matplotlib-data-fonts
%{_datadir}/matplotlib/mpl-data/fonts/
%endif
%if %{with_python3}
%files -n python3-matplotlib-doc
%doc examples
%if %{with_html}
%doc doc/build/html/*
%endif
%files -n python3-matplotlib
%license LICENSE/
%doc CONTRIBUTING.md
%doc CHANGELOG
%doc README.rst
%{python3_sitearch}/*egg-info
%{python3_sitearch}/matplotlib-*-nspkg.pth
%{python3_sitearch}/matplotlib/
%exclude %{python3_sitearch}/matplotlib/tests/baseline_images/*
%{python3_sitearch}/mpl_toolkits/
%exclude %{python3_sitearch}/mpl_toolkits/tests/baseline_images/*
%{python3_sitearch}/pylab.py*
%{python3_sitearch}/__pycache__/*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4*.py
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4*
%exclude %{python3_sitearch}/matplotlib/backends/backend_qt5*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5*
%exclude %{python3_sitearch}/matplotlib/backends/backend_gtk*
#exclude #{python3_sitearch}/matplotlib/backends/backend_qt5*.py
#exclude #{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5*
%exclude %{python3_sitearch}/matplotlib/backends/backend_gtk*.py
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
%exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_tkagg.*
%exclude %{python3_sitearch}/matplotlib/backends/tkagg.*
%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
%{python3_sitearch}/matplotlib/tests/baseline_images/
%{python3_sitearch}/mpl_toolkits/tests/baseline_images/
%files -n python3-matplotlib-qt4
%{python3_sitearch}/matplotlib/backends/backend_qt4.*
%{python3_sitearch}/matplotlib/backends/backend_qt4.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4.*
%{python3_sitearch}/matplotlib/backends/backend_qt4agg.*
%{python3_sitearch}/matplotlib/backends/backend_qt4agg.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.*
%if %{with_qt5}
# This subpackage is empty because the Qt4 backend imports it, so we leave
# these files in the default package, and only use this one for dependencies.
%files -n python3-matplotlib-qt5
%{python3_sitearch}/matplotlib/backends/backend_qt5.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5.*
%{python3_sitearch}/matplotlib/backends/backend_qt5agg.*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.*
%endif # with_qt5
#{python3_sitearch}/matplotlib/backends/backend_qt5.py
#{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5.*
#{python3_sitearch}/matplotlib/backends/backend_qt5agg.py
#{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.*
%files -n python3-matplotlib-gtk3
%{python3_sitearch}/matplotlib/backends/backend_gtk*
%{python3_sitearch}/matplotlib/backends/backend_gtk*.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk*
%files -n python3-matplotlib-tk
%{python3_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_tkagg.*
%{python3_sitearch}/matplotlib/backends/tkagg.*
%{python3_sitearch}/matplotlib/backends/backend_tk*.py
%{python3_sitearch}/matplotlib/backends/_backend_tk.py
%{python3_sitearch}/matplotlib/backends/tkagg.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_tk*.*
%{python3_sitearch}/matplotlib/backends/__pycache__/_backend_tk.*
%{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.*
%{python3_sitearch}/matplotlib/backends/_tkagg.*
%endif
%files -n python3-matplotlib-wx
%{python3_sitearch}/matplotlib/backends/backend_wx*.py
%{python3_sitearch}/matplotlib/backends/wx_compat.py
%{python3_sitearch}/matplotlib/backends/__pycache__/backend_wx*
%{python3_sitearch}/matplotlib/backends/__pycache__/wx_compat.*
%changelog
* Fri Feb 14 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.1.3-1
- Update to latest version
* Fri Nov 22 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.1.2-1
- Update to latest version
* Fri Sep 06 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.1.1-2
- Backport bool deprecation fix for Python 3.8
* Sun Aug 18 2019 Miro Hrončok <mhroncok@redhat.com> - 3.1.1-1.1
- Rebuilt for Python 3.8
* Thu Aug 08 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.1.1-1
- Update to latest version
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-2.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Jul 3 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.0.3-2
- Update Obsoletes to be later than the last python2 builds (#1726490)
* Sat Mar 02 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.0.3-1
- Update to latest version
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Nov 13 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.0.2-1
- Update to latest version
* Wed Oct 31 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.0.1-1
- Update to latest version
* Fri Sep 21 2018 Miro Hrončok <mhroncok@redhat.com> - 3.0.0-2
- Obsolete old python-matplotlib-data* to prevent conflicts and provide an upgrade path
* Wed Sep 19 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.0.0-1
- Update to latest version
- Drop Python 2 subpackages
- Stop setting a default backend (allow Matplotlib to choose automatically)
* Mon Aug 13 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.2.3-1
- Update to latest version
* Fri Jul 20 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.2.2-4
- Don't use unversioned Python in build (#1605766)
- Add missing texlive-cm BR
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.2-3.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.2.2-3
- Rebuilt for Python 3.7
* Tue Apr 17 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.2.2-2
- Remove bytecode produced by pytest
- Add python?-matplotlib-test-data subpackages
* Sat Mar 31 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.2.2-1
- Update to latest release
- Run tests in parallel
* Tue Mar 13 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.1.2-3
- Cleanup spec file of old conditionals
- Use more python2- dependencies
* Mon Feb 05 2018 Karsten Hopp <karsten@redhat.com> - 2.1.2-2
- update and fix spec file conditionals
* Sun Jan 21 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.1.2-1
- Update to latest release
* Sun Dec 10 2017 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.1.1-1
- Update to latest release
* Mon Oct 16 2017 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.1.0-1
- Update to latest release
* Thu Sep 28 2017 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.0.2-1
- Update to latest release
* Thu Sep 28 2017 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.0.1-1
- Update to latest release
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-3.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-3.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sun Mar 12 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2.0.0-3
- Fix NVR
* Mon Mar 06 2017 Thomas Spura <tomspur@fedoraproject.org> - 2.0.0-2.2
- Remove copyrighted file from tarball (gh-8034)
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-2.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Jan 25 2017 Dan Horák <dan[at]danny.cz> - 2.0.0-2
- Apply the 'aarch64' test tolerance patch on s390(x) also
* Fri Jan 20 2017 Orion Poplawski <orion@cora.nwra.com> - 2.0.0-1
- Update to 2.0.0 final
* Tue Jan 10 2017 Adam Williamson <awilliam@redhat.com> - 2.0.0-0.7.rc2
- Update to 2.0.0rc2
- Fix more big-endian integer issues
- Apply the 'aarch64' test tolerance patch on ppc64 also (it's affected by same issues)
- Tweak the 'i686' test tolerance patch a bit (some errors are gone, some new ones)
- Re-enable test suite for all arches
- Note a remaining quasi-random test issue that causes build to fail sometimes
* Mon Jan 09 2017 Adam Williamson <awilliam@redhat.com> - 2.0.0-0.6.b4
- Fix another integer type issue which caused more issues on ppc64
* Sun Jan 08 2017 Adam Williamson <awilliam@redhat.com> - 2.0.0-0.5.b4
- Fix int type conversion error that broke text rendering on ppc64 (#1411070)
* Tue Dec 13 2016 Charalampos Stratakis <cstratak@redhat.com> - 2.0.0-0.4.b4
- Rebuild for Python 3.6
* Mon Oct 24 2016 Dan Horák <dan[at]danny.cz> - 2.0.0-0.3.b4
- disable tests on some alt-arches to unblock depending builds
* Mon Sep 26 2016 Dominik Mierzejewski <rpm@greysector.net> - 2.0.0-0.2.b4
- add missing runtime dependencies for python2 package
* Sat Sep 10 2016 Dominik Mierzejewski <rpm@greysector.net> - 2.0.0-0.1.b4
- Update to 2.0.0b4
- Drop upstreamed or obsolete patches
- python-cycler >= 0.10.0 is required
- move around Requires and BRs and sort more or less alphabetically
- don't ship baseline images for tests (like Debian)
- Require stix fonts only when they're not bundled
- disable HTML doc building for bootstrapping 2.0.x series
- relax image rendering tests tolerance due to freetype version differences
- disable some failing tests on aarch64 for now
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.2-0.2.rc2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
@@ -808,7 +813,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \
- fix build with new Tkinter which doesn't return an expected value in __version__
* Thu Sep 15 2011 Jef Spaleta <jspaleta@fedoraproject.org> - 1.0.1-13
- apply upstream bugfix for timezone formatting (Bug 735677)
- apply upstream bugfix for timezone formatting (Bug 735677)
* Fri May 20 2011 Orion Poplawski <orion@cora.nwra.com> - 1.0.1-12
- Add Requires dvipng (Bug 684836)
@@ -866,20 +871,20 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Thu Jul 8 2010 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 1.0.0-1
- New upstream release
- Remove undistributable file from bundled agg library
- New upstream release
- Remove undistributable file from bundled agg library
* Thu Jul 1 2010 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.99.3-1
- New upstream release
- New upstream release
* Thu May 27 2010 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.99.1.2-4
- Upstream patch to fix deprecated gtk tooltip warning.
- Upstream patch to fix deprecated gtk tooltip warning.
* Mon Apr 12 2010 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.99.1.2-2
- Bump to rebuild against numpy 1.3
- Bump to rebuild against numpy 1.3
* Thu Apr 1 2010 Jef Spaleta <jspaleta AT fedoraproject DOT org> - 0.99.1.2-1
- Bump to rebuild against numpy 1.4.0
- Bump to rebuild against numpy 1.4.0
* Fri Dec 11 2009 Jon Ciesla <limb@jcomserv.net> - 0.99.1.2
- Update to 0.99.1.2
@@ -940,7 +945,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \
- Rebuild for Tcl/Tk downgrade
* Sat Feb 10 2007 Jef Spaleta <jspaleta@gmail.com> 0.90.0-2
- Release bump for rebuild against new tk
- Release bump for rebuild against new tk
* Fri Feb 09 2007 Orion Poplawski <orion@cora.nwra.com> 0.90.0-1
- Update to 0.90.0
@@ -1002,7 +1007,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \
- New upstream version 0.84
* Tue Aug 02 2005 Orion Poplawski <orion@cora.nwra.com> 0.83.2-3
- bump release
- bump release
* Tue Aug 02 2005 Orion Poplawski <orion@cora.nwra.com> 0.83.2-2
- Add Requires: python-numeric, pytz, python-dateutil

View File

@@ -1,2 +1,4 @@
[rc_options]
backend = GTKAgg
[packages]
tests = True
toolkits = True
toolkits_tests = True

View File

@@ -1 +1,2 @@
495f6bdf126b40f63c316c9404349e40 matplotlib-1.5.2rc2.tar.gz
SHA512 (matplotlib-3.1.3.tar.gz) = d233a18449eac4c42ecc485d0df0c15e1e306f3945e5476b11b715d6bc190ca6f1c22e7d4b16d6c93c8a569e1c43b68b583339f0921f237a9920c7369854a09e
SHA512 (matplotlib-3.1.1-with-freetype-2.10.0.tar.gz) = 257546b047ff79302b616f1d37caa028a7b9abc1682cf10861e1347a3db9f437967abe24e11aee898ae11c6f163939d48bc5aeaec2894d6472b4326f8edaed8b