From 25f5d4286c6902087a04ee0eacda71769d9a5db0 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 30 Jun 2005 21:40:07 +0000 Subject: [PATCH 001/240] auto-import python-matplotlib-0.82-2 on branch devel from python-matplotlib-0.82-2.src.rpm --- .cvsignore | 1 + python-matplotlib.spec | 51 ++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 53 insertions(+) create mode 100644 python-matplotlib.spec diff --git a/.cvsignore b/.cvsignore index e69de29..a9cb264 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +matplotlib-0.82.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec new file mode 100644 index 0000000..1f71b84 --- /dev/null +++ b/python-matplotlib.spec @@ -0,0 +1,51 @@ +Name: python-matplotlib +Version: 0.82 +Release: 2%{?dist} +Summary: Python plotting library + +Group: Development/Libraries +License: Python Software Foundation License +URL: http://sourceforge.net/projects/matplotlib +Source0: http://dl.sf.net/matplotlib/matplotlib-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel +BuildRequires: python-numeric, pygtk2-devel, gtk2-devel + +%description +Matplotlib is a pure python plotting library with the goal of making +publication quality plots using a syntax familiar to matlab users. The +library uses Numeric for handling large data sets and supports a variety +of output backends + +%prep +%setup -q -n matplotlib-%{version} + +%build +%{__python} setup.py build + +%install +rm -rf $RPM_BUILD_ROOT +%{__python} setup.py install --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files -f INSTALLED_FILES +%defattr(-,root,root,-) +%doc README license/LICENSE license/LICENSE_enthought.txt +%doc license/LICENSE_PAINT license/LICENSE_PIL license/PYTZ_LICENSE.txt +%doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS +%doc NUMARRAY_ISSUES PKG-INFO TODO +%dir %{_libdir}/python2.4/site-packages/matplotlib +%dir %{_datadir}/matplotlib + +%changelog +* Thu Jun 30 2005 Orion Poplawski 0.82-2 +- Rename to python-matplotlib +- Remove unneeded Requires: python +- Add private directories to %files + +* Tue Jun 28 2005 Orion Poplawski 0.82-1 +- Initial package for Fedora Extras diff --git a/sources b/sources index e69de29..bd310da 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +a5ef59a9eed934708eedef5a0125d8d8 matplotlib-0.82.tar.gz From 5c67a305d2a2b4d4043dba9659a0531182c83ebe Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 1 Jul 2005 16:15:16 +0000 Subject: [PATCH 002/240] - Use %{python_sitearch} --- python-matplotlib.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 1f71b84..4a78749 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,6 +1,8 @@ +%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} + Name: python-matplotlib Version: 0.82 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -38,10 +40,13 @@ rm -rf $RPM_BUILD_ROOT %doc license/LICENSE_PAINT license/LICENSE_PIL license/PYTZ_LICENSE.txt %doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS %doc NUMARRAY_ISSUES PKG-INFO TODO -%dir %{_libdir}/python2.4/site-packages/matplotlib +%dir %{python_sitearch}/matplotlib %dir %{_datadir}/matplotlib %changelog +* Fri Jul 01 2005 Orion Poplawski 0.82-3 +- Use %{python_sitearch} + * Thu Jun 30 2005 Orion Poplawski 0.82-2 - Rename to python-matplotlib - Remove unneeded Requires: python From df8fffe75427ea39085431771c57f1ef1c2bf244 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 28 Jul 2005 20:19:50 +0000 Subject: [PATCH 003/240] - BuildRequires: pytz, python-dateutil - use upstream - Don't use INSTALLED_FILES, list dirs - Fix execute permissions --- python-matplotlib.spec | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 4a78749..4811b03 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.82 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -13,6 +13,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel BuildRequires: python-numeric, pygtk2-devel, gtk2-devel +BuildRequires: pytz, python-dateutil %description Matplotlib is a pure python plotting library with the goal of making @@ -28,22 +29,29 @@ of output backends %install rm -rf $RPM_BUILD_ROOT -%{__python} setup.py install --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES +%{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT +chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py +chmod -x $RPM_BUILD_ROOT%{_datadir}/matplotlib/*.svg %clean rm -rf $RPM_BUILD_ROOT - -%files -f INSTALLED_FILES +%files %defattr(-,root,root,-) %doc README license/LICENSE license/LICENSE_enthought.txt -%doc license/LICENSE_PAINT license/LICENSE_PIL license/PYTZ_LICENSE.txt +%doc license/LICENSE_PAINT license/LICENSE_PIL %doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS %doc NUMARRAY_ISSUES PKG-INFO TODO -%dir %{python_sitearch}/matplotlib -%dir %{_datadir}/matplotlib +%{python_sitearch}/matplotlib/ +%{python_sitearch}/pylab.py* +%{_datadir}/matplotlib/ %changelog +* Tue Jul 05 2005 Orion Poplawski 0.82-4 +- BuildRequires: pytz, python-dateutil - use upstream +- Don't use INSTALLED_FILES, list dirs +- Fix execute permissions + * Fri Jul 01 2005 Orion Poplawski 0.82-3 - Use %{python_sitearch} From 87eb208f8eda73acbfb252bc2d3c7f4b9aab4655 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 28 Jul 2005 20:39:21 +0000 Subject: [PATCH 004/240] - New upstream version matplotlib 0.83.1 --- python-matplotlib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 4811b03..41bc5c9 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.82 -Release: 4%{?dist} +Version: 0.83.1 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -47,6 +47,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/matplotlib/ %changelog +* Thu Jul 28 2005 Orion Poplawski 0.83.1-1 +- New upstream version matplotlib 0.83.1 + * Tue Jul 05 2005 Orion Poplawski 0.82-4 - BuildRequires: pytz, python-dateutil - use upstream - Don't use INSTALLED_FILES, list dirs From c3b72da3b2f4a9b568833136bec690277cef62e7 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 28 Jul 2005 20:40:00 +0000 Subject: [PATCH 005/240] New source --- .cvsignore | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.cvsignore b/.cvsignore index a9cb264..a9aa2b5 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.82.tar.gz +matplotlib-0.83.1.tar.gz diff --git a/sources b/sources index bd310da..db4310c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a5ef59a9eed934708eedef5a0125d8d8 matplotlib-0.82.tar.gz +6142d63cafd8a4a2ed0c94d772c68611 matplotlib-0.83.1.tar.gz From 634341f4c8e159d5c9204728fe0ea38fcf8a9243 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 28 Jul 2005 20:54:42 +0000 Subject: [PATCH 006/240] Botched tag --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 41bc5c9..1b91748 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.83.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -47,6 +47,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/matplotlib/ %changelog +* Thu Jul 28 2005 Orion Poplawski 0.83.1-2 +- Bump rel to fix botched tag + * Thu Jul 28 2005 Orion Poplawski 0.83.1-1 - New upstream version matplotlib 0.83.1 From f217e721af15f6966dca0f4259104cc202a43616 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 28 Jul 2005 23:06:28 +0000 Subject: [PATCH 007/240] Escape macros in changelog --- python-matplotlib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 1b91748..bca5cae 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -59,7 +59,7 @@ rm -rf $RPM_BUILD_ROOT - Fix execute permissions * Fri Jul 01 2005 Orion Poplawski 0.82-3 -- Use %{python_sitearch} +- Use %%{python_sitearch} * Thu Jun 30 2005 Orion Poplawski 0.82-2 - Rename to python-matplotlib From daf5031fac7eec5b03d26ebce888969209eaa7c7 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 1 Aug 2005 20:40:06 +0000 Subject: [PATCH 008/240] - New upstream version matplotlib 0.83.2 --- python-matplotlib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index bca5cae..778f1ef 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.83.1 -Release: 2%{?dist} +Version: 0.83.2 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -47,6 +47,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/matplotlib/ %changelog +* Fri Jul 29 2005 Orion Poplawski 0.83.2-1 +- New upstream version matplotlib 0.83.2 + * Thu Jul 28 2005 Orion Poplawski 0.83.1-2 - Bump rel to fix botched tag From 53d60f262b29a730fd122c4157504adab897f98a Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 1 Aug 2005 20:49:18 +0000 Subject: [PATCH 009/240] New source --- .cvsignore | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.cvsignore b/.cvsignore index a9aa2b5..2117fd6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.83.1.tar.gz +matplotlib-0.83.2.tar.gz diff --git a/sources b/sources index db4310c..6baaac4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6142d63cafd8a4a2ed0c94d772c68611 matplotlib-0.83.1.tar.gz +c5d7c39eeeeafd88a419194fba93a6cb matplotlib-0.83.2.tar.gz From ff18059e59622365ef47064b4b3e5d6da1d1d9d7 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 2 Aug 2005 21:37:29 +0000 Subject: [PATCH 010/240] Add Requires: python-numeric, pytz, python-dateutil --- python-matplotlib.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 778f1ef..9c7eaef 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.83.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -12,8 +12,9 @@ Source0: http://dl.sf.net/matplotlib/matplotlib-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel -BuildRequires: python-numeric, pygtk2-devel, gtk2-devel -BuildRequires: pytz, python-dateutil +BuildRequires: pygtk2-devel, gtk2-devel +BuildRequires: python-numeric, pytz, python-dateutil +Requires: python-numeric, pytz, python-dateutil %description Matplotlib is a pure python plotting library with the goal of making @@ -47,6 +48,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/matplotlib/ %changelog +* Tue Aug 02 2005 Orion Poplawski 0.83.2-2 +- Add Requires: python-numeric, pytz, python-dateutil + * Fri Jul 29 2005 Orion Poplawski 0.83.2-1 - New upstream version matplotlib 0.83.2 From 4ba8ff1ff9186ae5dc50ecdab4dad974009f738a Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 2 Aug 2005 21:47:45 +0000 Subject: [PATCH 011/240] bump release --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 9c7eaef..2537abd 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.83.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -48,6 +48,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/matplotlib/ %changelog +* Tue Aug 02 2005 Orion Poplawski 0.83.2-3 +- bump release + * Tue Aug 02 2005 Orion Poplawski 0.83.2-2 - Add Requires: python-numeric, pytz, python-dateutil From d22666d50949e22f3ed2d1a72b9f1285889fa8f9 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 19 Sep 2005 22:23:25 +0000 Subject: [PATCH 012/240] New upstream version 0.84 --- .cvsignore | 2 +- python-matplotlib.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 2117fd6..0cddc1f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.83.2.tar.gz +matplotlib-0.84.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 2537abd..25c231b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.83.2 -Release: 3%{?dist} +Version: 0.84 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -48,6 +48,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/matplotlib/ %changelog +* Mon Sep 19 2005 Orion Poplawski 0.84-1 +- New upstream version 0.84 + * Tue Aug 02 2005 Orion Poplawski 0.83.2-3 - bump release diff --git a/sources b/sources index 6baaac4..f7f5602 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c5d7c39eeeeafd88a419194fba93a6cb matplotlib-0.83.2.tar.gz +9d7a9831f64a7c376b98333604e38cc1 matplotlib-0.84.tar.gz From 111a53d7432254826094e841265d58cfd07768d0 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Sun, 20 Nov 2005 17:25:38 +0000 Subject: [PATCH 013/240] New upstream version 0.85 --- .cvsignore | 2 +- python-matplotlib.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 0cddc1f..640f374 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.84.tar.gz +matplotlib-0.85.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 25c231b..0361017 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.84 +Version: 0.85 Release: 1%{?dist} Summary: Python plotting library @@ -48,6 +48,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/matplotlib/ %changelog +* Sun Nov 20 2005 Orion Poplawski 0.85-1 +- New upstream version 0.85 + * Mon Sep 19 2005 Orion Poplawski 0.84-1 - New upstream version 0.84 diff --git a/sources b/sources index f7f5602..5225eea 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9d7a9831f64a7c376b98333604e38cc1 matplotlib-0.84.tar.gz +4890ef6bd7a1a83acf579d4cbb6d237c matplotlib-0.85.tar.gz From 6883dbf62652fca8e464a5143e051c6c005918ed Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 23 Dec 2005 00:03:38 +0000 Subject: [PATCH 014/240] Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 0361017..153a3b8 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.85 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -48,6 +48,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/matplotlib/ %changelog +* Thu Dec 22 2005 Orion Poplawski 0.85-2 +- Rebuild + * Sun Nov 20 2005 Orion Poplawski 0.85-1 - New upstream version 0.85 From 899948a65fd406e2f720d5b34ea540e4809e2326 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 10 Jan 2006 22:41:42 +0000 Subject: [PATCH 015/240] Update to 0.86 --- .cvsignore | 2 +- python-matplotlib.spec | 10 ++++++---- sources | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.cvsignore b/.cvsignore index 640f374..71b06d9 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.85.tar.gz +matplotlib-0.86.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 153a3b8..e910c98 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.85 -Release: 2%{?dist} +Version: 0.86 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -24,6 +24,7 @@ of output backends %prep %setup -q -n matplotlib-%{version} +chmod -x images/*.svg %build %{__python} setup.py build @@ -32,7 +33,6 @@ of output backends rm -rf $RPM_BUILD_ROOT %{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py -chmod -x $RPM_BUILD_ROOT%{_datadir}/matplotlib/*.svg %clean rm -rf $RPM_BUILD_ROOT @@ -45,9 +45,11 @@ rm -rf $RPM_BUILD_ROOT %doc NUMARRAY_ISSUES PKG-INFO TODO %{python_sitearch}/matplotlib/ %{python_sitearch}/pylab.py* -%{_datadir}/matplotlib/ %changelog +* Tue Jan 10 2006 Orion Poplawski 0.86-1 +- Update to 0.86 + * Thu Dec 22 2005 Orion Poplawski 0.85-2 - Rebuild diff --git a/sources b/sources index 5225eea..82f2a12 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4890ef6bd7a1a83acf579d4cbb6d237c matplotlib-0.85.tar.gz +4770cbcddabcbab72d48fbb237ed5d8c matplotlib-0.86.tar.gz From ea640f8f04e7d14ffd845e5ffd5673545b3c8905 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 28 Feb 2006 18:50:06 +0000 Subject: [PATCH 016/240] Update to 0.87 --- .cvsignore | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.cvsignore b/.cvsignore index 71b06d9..8e73111 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.86.tar.gz +matplotlib-0.87.tar.gz diff --git a/sources b/sources index 82f2a12..ce1e406 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4770cbcddabcbab72d48fbb237ed5d8c matplotlib-0.86.tar.gz +4ffff13865b37e8e39719d266419c976 matplotlib-0.87.tar.gz From b64d991dd90e601c6644728bfb1d41003a6b35a8 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 28 Feb 2006 18:51:47 +0000 Subject: [PATCH 017/240] patch to keep Numeric as the default numerix package --- matplotlib-0.87-matplotlibrc.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 matplotlib-0.87-matplotlibrc.patch diff --git a/matplotlib-0.87-matplotlibrc.patch b/matplotlib-0.87-matplotlibrc.patch new file mode 100644 index 0000000..dba47ac --- /dev/null +++ b/matplotlib-0.87-matplotlibrc.patch @@ -0,0 +1,13 @@ +--- matplotlib-0.87/setup.py.orig 2006-02-14 11:11:32.000000000 -0700 ++++ matplotlib-0.87/setup.py 2006-02-27 15:19:28.000000000 -0700 +@@ -258,8 +258,8 @@ + + # packagers: set rc['numerix'] and rc['backend'] here to override the auto + # defaults, eg +-#rc['numerix'] = numpy +-#rc['backend'] = GTKAgg ++rc['numerix'] = 'Numeric' ++rc['backend'] = 'GTKAgg' + if sys.platform=='win32': + rc = dict(backend='TkAgg', numerix='Numeric') + template = file('matplotlibrc.template').read() From 8217450a706791e8eaa432d2e56418c1b7e2dc61 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 28 Feb 2006 18:52:43 +0000 Subject: [PATCH 018/240] - Update to 0.87 - Add BR numpy and python-numarray - Add patch to keep Numeric as the default numerix package - Add BR tkinter and tk-devel for TkInter backend - Make separate package for Tk backend --- python-matplotlib.spec | 59 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 54 insertions(+), 5 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index e910c98..ff6106d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.86 +Version: 0.87 Release: 1%{?dist} Summary: Python plotting library @@ -9,21 +9,35 @@ Group: Development/Libraries License: Python Software Foundation License URL: http://sourceforge.net/projects/matplotlib Source0: http://dl.sf.net/matplotlib/matplotlib-%{version}.tar.gz +Patch0: matplotlib-0.87-matplotlibrc.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel -BuildRequires: pygtk2-devel, gtk2-devel -BuildRequires: python-numeric, pytz, python-dateutil +BuildRequires: pygtk2-devel, gtk2-devel, tkinter, tk-devel +BuildRequires: python-numeric, pytz, python-dateutil, numpy, python-numarray Requires: python-numeric, pytz, python-dateutil + %description Matplotlib is a pure python plotting library with the goal of making publication quality plots using a syntax familiar to matlab users. The library uses Numeric for handling large data sets and supports a variety of output backends + +%package tk +Summary: Tk backend for python-matplotlib +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: tkinter + +%description tk +%{summary} + + %prep %setup -q -n matplotlib-%{version} +%patch -p1 -b .matplotlibrc chmod -x images/*.svg %build @@ -43,10 +57,45 @@ rm -rf $RPM_BUILD_ROOT %doc license/LICENSE_PAINT license/LICENSE_PIL %doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS %doc NUMARRAY_ISSUES PKG-INFO TODO -%{python_sitearch}/matplotlib/ -%{python_sitearch}/pylab.py* +%dir %{python_sitearch}/matplotlib +%{python_sitearch}/matplotlib/*.py +%{python_sitearch}/matplotlib/*.pyc +%ghost %{python_sitearch}/matplotlib/*.pyo +%{python_sitearch}/matplotlib/*.so +%dir %{python_sitearch}/matplotlib/backends +%{python_sitearch}/matplotlib/backends/*.py +%{python_sitearch}/matplotlib/backends/*.pyc +%ghost %{python_sitearch}/matplotlib/backends/*.pyo +%{python_sitearch}/matplotlib/backends/*.so +%{python_sitearch}/matplotlib/enthought/ +%{python_sitearch}/matplotlib/ft2font.so +%{python_sitearch}/matplotlib/mpl-data/ +%{python_sitearch}/matplotlib/numerix/ +%{python_sitearch}/matplotlib/toolkits/ +%{python_sitearch}/pylab.py +%{python_sitearch}/pylab.pyc +%ghost %{python_sitearch}/pylab.pyo +%exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.* +%exclude %{python_sitearch}/matplotlib/backends/tkagg.* +%exclude %{python_sitearch}/matplotlib/backends/_tkagg.so + +%files tk +%{python_sitearch}/matplotlib/backends/backend_tkagg.py +%{python_sitearch}/matplotlib/backends/backend_tkagg.pyc +%{python_sitearch}/matplotlib/backends/tkagg.py +%{python_sitearch}/matplotlib/backends/tkagg.pyc +%ghost %{python_sitearch}/matplotlib/backends/backend_tkagg.pyo +%ghost %{python_sitearch}/matplotlib/backends/tkagg.pyo +%{python_sitearch}/matplotlib/backends/_tkagg.so %changelog +* Fri Feb 24 2006 Orion Poplawski 0.87-1 +- Update to 0.87 +- Add BR numpy and python-numarray +- Add patch to keep Numeric as the default numerix package +- Add BR tkinter and tk-devel for TkInter backend +- Make separate package for Tk backend + * Tue Jan 10 2006 Orion Poplawski 0.86-1 - Update to 0.86 From 31c351b56c0aa4308f1a8186389aa37cf96aec40 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 7 Mar 2006 19:53:22 +0000 Subject: [PATCH 019/240] Update to 0.87.1 Add pycairo >= 1.0.2 requires (FC5+ only) --- .cvsignore | 2 +- python-matplotlib.spec | 7 ++++++- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 8e73111..5dd31ae 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.87.tar.gz +matplotlib-0.87.1.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index ff6106d..208debc 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.87 +Version: 0.87.1 Release: 1%{?dist} Summary: Python plotting library @@ -16,6 +16,7 @@ BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel BuildRequires: pygtk2-devel, gtk2-devel, tkinter, tk-devel BuildRequires: python-numeric, pytz, python-dateutil, numpy, python-numarray Requires: python-numeric, pytz, python-dateutil +Requires: pycairo >= 1.0.2 %description @@ -89,6 +90,10 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/matplotlib/backends/_tkagg.so %changelog +* Tue Mar 7 2006 Orion Poplawski 0.87.1-1 +- Update to 0.87.1 +- Add pycairo >= 1.0.2 requires (FC5+ only) + * Fri Feb 24 2006 Orion Poplawski 0.87-1 - Update to 0.87 - Add BR numpy and python-numarray diff --git a/sources b/sources index ce1e406..04285f2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4ffff13865b37e8e39719d266419c976 matplotlib-0.87.tar.gz +bc605e5346128a0e2b9c5b0d602ecec8 matplotlib-0.87.1.tar.gz From ccda7c8dee20b832eff19eb0a74c77c61fa1fbef Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 16 Mar 2006 16:29:16 +0000 Subject: [PATCH 020/240] Update to 0.87.2 --- .cvsignore | 2 +- python-matplotlib.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 5dd31ae..97698dd 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.87.1.tar.gz +matplotlib-0.87.2.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 208debc..63ad4db 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.87.1 +Version: 0.87.2 Release: 1%{?dist} Summary: Python plotting library @@ -90,6 +90,9 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/matplotlib/backends/_tkagg.so %changelog +* Tue Mar 7 2006 Orion Poplawski 0.87.2-1 +- Update to 0.87.2 + * Tue Mar 7 2006 Orion Poplawski 0.87.1-1 - Update to 0.87.1 - Add pycairo >= 1.0.2 requires (FC5+ only) diff --git a/sources b/sources index 04285f2..5b6820e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bc605e5346128a0e2b9c5b0d602ecec8 matplotlib-0.87.1.tar.gz +74dde3c3e33797f56ebd6ca578090f8e matplotlib-0.87.2.tar.gz From 54692bdea6fb5da2b555086563707b28c5a6c328 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 15 May 2006 15:31:06 +0000 Subject: [PATCH 021/240] Rebuild for new numpy --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 63ad4db..a61d17e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.87.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -90,6 +90,9 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/matplotlib/backends/_tkagg.so %changelog +* Mon May 15 2006 Orion Poplawski 0.87.2-2 +- Rebuild for new numpy + * Tue Mar 7 2006 Orion Poplawski 0.87.2-1 - Update to 0.87.2 From 644f5c067d026c0017265e0a6e79ca790feade7b Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 3 Jul 2006 21:30:23 +0000 Subject: [PATCH 022/240] Update to 0.87.3 --- .cvsignore | 2 +- python-matplotlib.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index 97698dd..47f6356 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.87.2.tar.gz +matplotlib-0.87.3.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index a61d17e..2aa32ce 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.87.2 -Release: 2%{?dist} +Version: 0.87.3 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -89,7 +89,11 @@ rm -rf $RPM_BUILD_ROOT %ghost %{python_sitearch}/matplotlib/backends/tkagg.pyo %{python_sitearch}/matplotlib/backends/_tkagg.so + %changelog +* Wed Jun 7 2006 Orion Poplawski 0.87.3-1 +- Update to 0.87.3 + * Mon May 15 2006 Orion Poplawski 0.87.2-2 - Rebuild for new numpy diff --git a/sources b/sources index 5b6820e..cf560b3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -74dde3c3e33797f56ebd6ca578090f8e matplotlib-0.87.2.tar.gz +9e961e90be07701ab6a99aa8cdc6b831 matplotlib-0.87.3.tar.gz From ee9ff45a3e021cf4ff28af0c15ec27fc1877d15a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 27 Aug 2006 21:02:42 +0000 Subject: [PATCH 023/240] http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild --- needs.rebuild | 1 + 1 file changed, 1 insertion(+) create mode 100644 needs.rebuild diff --git a/needs.rebuild b/needs.rebuild new file mode 100644 index 0000000..815fd29 --- /dev/null +++ b/needs.rebuild @@ -0,0 +1 @@ +http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild From 145fd38ec7089308137b68b9a514ae560cacf30b Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 15 Sep 2006 21:34:02 +0000 Subject: [PATCH 024/240] Update to 0.87.5 --- .cvsignore | 2 +- needs.rebuild | 1 - python-matplotlib.spec | 36 +++++++++++------------------------- sources | 2 +- 4 files changed, 13 insertions(+), 28 deletions(-) delete mode 100644 needs.rebuild diff --git a/.cvsignore b/.cvsignore index 47f6356..e1a96d7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.87.3.tar.gz +matplotlib-0.87.5.tar.gz diff --git a/needs.rebuild b/needs.rebuild deleted file mode 100644 index 815fd29..0000000 --- a/needs.rebuild +++ /dev/null @@ -1 +0,0 @@ -http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 2aa32ce..448a6c8 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.87.3 +Version: 0.87.5 Release: 1%{?dist} Summary: Python plotting library @@ -58,39 +58,25 @@ rm -rf $RPM_BUILD_ROOT %doc license/LICENSE_PAINT license/LICENSE_PIL %doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS %doc NUMARRAY_ISSUES PKG-INFO TODO -%dir %{python_sitearch}/matplotlib -%{python_sitearch}/matplotlib/*.py -%{python_sitearch}/matplotlib/*.pyc -%ghost %{python_sitearch}/matplotlib/*.pyo -%{python_sitearch}/matplotlib/*.so -%dir %{python_sitearch}/matplotlib/backends -%{python_sitearch}/matplotlib/backends/*.py -%{python_sitearch}/matplotlib/backends/*.pyc -%ghost %{python_sitearch}/matplotlib/backends/*.pyo -%{python_sitearch}/matplotlib/backends/*.so -%{python_sitearch}/matplotlib/enthought/ -%{python_sitearch}/matplotlib/ft2font.so -%{python_sitearch}/matplotlib/mpl-data/ -%{python_sitearch}/matplotlib/numerix/ -%{python_sitearch}/matplotlib/toolkits/ -%{python_sitearch}/pylab.py -%{python_sitearch}/pylab.pyc -%ghost %{python_sitearch}/pylab.pyo +%{python_sitearch}/matplotlib/ +%{python_sitearch}/pylab.py* %exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.* %exclude %{python_sitearch}/matplotlib/backends/tkagg.* %exclude %{python_sitearch}/matplotlib/backends/_tkagg.so %files tk -%{python_sitearch}/matplotlib/backends/backend_tkagg.py -%{python_sitearch}/matplotlib/backends/backend_tkagg.pyc -%{python_sitearch}/matplotlib/backends/tkagg.py -%{python_sitearch}/matplotlib/backends/tkagg.pyc -%ghost %{python_sitearch}/matplotlib/backends/backend_tkagg.pyo -%ghost %{python_sitearch}/matplotlib/backends/tkagg.pyo +%{python_sitearch}/matplotlib/backends/backend_tkagg.py* +%{python_sitearch}/matplotlib/backends/tkagg.py* %{python_sitearch}/matplotlib/backends/_tkagg.so %changelog +* Thu Sep 7 2006 Orion Poplawski 0.87.5-1 +- Update to 0.87.5 + +* Thu Jul 27 2006 Orion Poplawski 0.87.4-1 +- Update to 0.87.4 + * Wed Jun 7 2006 Orion Poplawski 0.87.3-1 - Update to 0.87.3 diff --git a/sources b/sources index cf560b3..3d90d59 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9e961e90be07701ab6a99aa8cdc6b831 matplotlib-0.87.3.tar.gz +af3015ceae28ab385dbe9f30c6d2f83e matplotlib-0.87.5.tar.gz From e197124cb42b226bac8fe39d4abd73d3dc6b5eeb Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 6 Oct 2006 17:32:24 +0000 Subject: [PATCH 025/240] Update to 0.87.6 --- .cvsignore | 2 +- python-matplotlib.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index e1a96d7..9291b86 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.87.5.tar.gz +matplotlib-0.87.6.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 448a6c8..5cfd663 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.87.5 +Version: 0.87.6 Release: 1%{?dist} Summary: Python plotting library @@ -71,6 +71,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Oct 6 2006 Orion Poplawski 0.87.6-1 +- Update to 0.87.6 + * Thu Sep 7 2006 Orion Poplawski 0.87.5-1 - Update to 0.87.5 diff --git a/sources b/sources index 3d90d59..c6bd3ca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -af3015ceae28ab385dbe9f30c6d2f83e matplotlib-0.87.5.tar.gz +30c30e10d2338c56ae5b31f0adf325f5 matplotlib-0.87.6.tar.gz From 4172d14025f1c0853bba6dfd1500e4519a220b18 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 21 Nov 2006 15:36:32 +0000 Subject: [PATCH 026/240] - Update to 0.87.7 and fix up the defaults to use numpy - Force build of tkagg backend without X server - Use src.rpm from Jef Spaleta, closes bug 216578 --- .cvsignore | 2 +- ...ch => matplotlib-0.87.7-matplotlibrc.patch | 2 +- matplotlib-0.87.7-tkagg-check.patch | 22 +++++++++++++++++++ python-matplotlib.spec | 13 ++++++++--- sources | 2 +- 5 files changed, 35 insertions(+), 6 deletions(-) rename matplotlib-0.87-matplotlibrc.patch => matplotlib-0.87.7-matplotlibrc.patch (94%) create mode 100644 matplotlib-0.87.7-tkagg-check.patch diff --git a/.cvsignore b/.cvsignore index 9291b86..bbb78ba 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.87.6.tar.gz +matplotlib-0.87.7.tar.gz diff --git a/matplotlib-0.87-matplotlibrc.patch b/matplotlib-0.87.7-matplotlibrc.patch similarity index 94% rename from matplotlib-0.87-matplotlibrc.patch rename to matplotlib-0.87.7-matplotlibrc.patch index dba47ac..a172ebe 100644 --- a/matplotlib-0.87-matplotlibrc.patch +++ b/matplotlib-0.87.7-matplotlibrc.patch @@ -6,7 +6,7 @@ # defaults, eg -#rc['numerix'] = numpy -#rc['backend'] = GTKAgg -+rc['numerix'] = 'Numeric' ++rc['numerix'] = 'numpy' +rc['backend'] = 'GTKAgg' if sys.platform=='win32': rc = dict(backend='TkAgg', numerix='Numeric') diff --git a/matplotlib-0.87.7-tkagg-check.patch b/matplotlib-0.87.7-tkagg-check.patch new file mode 100644 index 0000000..b07b4be --- /dev/null +++ b/matplotlib-0.87.7-tkagg-check.patch @@ -0,0 +1,22 @@ +--- matplotlib-0.87.7/setup.py.fix 2006-11-20 19:49:56.000000000 -0900 ++++ matplotlib-0.87.7/setup.py 2006-11-20 19:51:03.000000000 -0900 +@@ -251,16 +251,9 @@ + print 'Tkinter present but import failed' + BUILD_TKAGG = 0 + else: +- try: +- tk = Tkinter.Tk() +- tk.withdraw() +- except Tkinter.TclError: +- print 'Tkinter present, but window failed to open' +- BUILD_TKAGG = 0 +- else: +- BUILD_AGG = 1 +- build_tkagg(ext_modules, packages, NUMERIX) +- rc['backend'] = 'TkAgg' ++ BUILD_AGG = 1 ++ build_tkagg(ext_modules, packages, NUMERIX) ++ rc['backend'] = 'TkAgg' + + if BUILD_WXAGG: + try: diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 5cfd663..2c3449b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.87.6 +Version: 0.87.7 Release: 1%{?dist} Summary: Python plotting library @@ -9,7 +9,8 @@ Group: Development/Libraries License: Python Software Foundation License URL: http://sourceforge.net/projects/matplotlib Source0: http://dl.sf.net/matplotlib/matplotlib-%{version}.tar.gz -Patch0: matplotlib-0.87-matplotlibrc.patch +Patch0: matplotlib-0.87.7-matplotlibrc.patch +Patch1: matplotlib-0.87.7-tkagg-check.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel @@ -38,7 +39,8 @@ Requires: tkinter %prep %setup -q -n matplotlib-%{version} -%patch -p1 -b .matplotlibrc +%patch0 -p1 -b .matplotlibrc +%patch1 -p1 -b setup.py chmod -x images/*.svg %build @@ -71,6 +73,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Nov 21 2006 Orion Poplawski 0.87.7-1 +- Update to 0.87.7 and fix up the defaults to use numpy +- Force build of tkagg backend without X server +- Use src.rpm from Jef Spaleta, closes bug 216578 + * Fri Oct 6 2006 Orion Poplawski 0.87.6-1 - Update to 0.87.6 diff --git a/sources b/sources index c6bd3ca..ac7a0f0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -30c30e10d2338c56ae5b31f0adf325f5 matplotlib-0.87.6.tar.gz +cca3d3a644c1a84d6dcf4af8a9856b7b matplotlib-0.87.7.tar.gz From 1887561de2ea6c7023a14e49ae28eff56402f166 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 29 Nov 2006 23:22:01 +0000 Subject: [PATCH 027/240] Fix pycairo requirement --- python-matplotlib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 2c3449b..e3e5c33 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -17,7 +17,7 @@ BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel BuildRequires: pygtk2-devel, gtk2-devel, tkinter, tk-devel BuildRequires: python-numeric, pytz, python-dateutil, numpy, python-numarray Requires: python-numeric, pytz, python-dateutil -Requires: pycairo >= 1.0.2 +Requires: pycairo >= 1.2.0 %description From 5ca800e2a082ef398837ae3a1d34b2d533b39c44 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 5 Dec 2006 18:37:51 +0000 Subject: [PATCH 028/240] - Force build of gtk/gtkagg backends in mock (bug #218153) - Change Requires from python-numeric to numpy (bug #218154) --- matplotlib-0.87.7-pygtk-check.patch | 25 +++++++++++++++++++++++++ python-matplotlib.spec | 12 +++++++++--- 2 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 matplotlib-0.87.7-pygtk-check.patch diff --git a/matplotlib-0.87.7-pygtk-check.patch b/matplotlib-0.87.7-pygtk-check.patch new file mode 100644 index 0000000..48f836f --- /dev/null +++ b/matplotlib-0.87.7-pygtk-check.patch @@ -0,0 +1,25 @@ +--- matplotlib-0.87.7/setup.py.pygtk 2006-12-05 11:13:58.000000000 -0700 ++++ matplotlib-0.87.7/setup.py 2006-12-05 11:31:22.000000000 -0700 +@@ -207,8 +207,9 @@ + print 'GTK requires pygtk' + BUILD_GTK = 0 + except RuntimeError: +- print 'pygtk present but import failed' +- BUILD_GTK = 0 ++ BUILD_GTK = 1 ++ build_gdk(ext_modules, packages, NUMERIX) ++ rc['backend'] = 'GTK' + else: + version = (2,2,0) + if gtk.pygtk_version < version: +@@ -228,7 +229,9 @@ + BUILD_GTKAGG=0 + except RuntimeError: + print 'pygtk present but import failed' +- BUILD_GTKAGG = 0 ++ BUILD_GTKAGG = 1 ++ build_gtkagg(ext_modules, packages, NUMERIX) ++ rc['backend'] = 'GTKAgg' + else: + version = (2,2,0) + if gtk.pygtk_version < version: diff --git a/python-matplotlib.spec b/python-matplotlib.spec index e3e5c33..48556dd 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.87.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -11,12 +11,13 @@ URL: http://sourceforge.net/projects/matplotlib Source0: http://dl.sf.net/matplotlib/matplotlib-%{version}.tar.gz Patch0: matplotlib-0.87.7-matplotlibrc.patch Patch1: matplotlib-0.87.7-tkagg-check.patch +Patch2: matplotlib-0.87.7-pygtk-check.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel BuildRequires: pygtk2-devel, gtk2-devel, tkinter, tk-devel BuildRequires: python-numeric, pytz, python-dateutil, numpy, python-numarray -Requires: python-numeric, pytz, python-dateutil +Requires: numpy, pytz, python-dateutil Requires: pycairo >= 1.2.0 @@ -40,7 +41,8 @@ Requires: tkinter %prep %setup -q -n matplotlib-%{version} %patch0 -p1 -b .matplotlibrc -%patch1 -p1 -b setup.py +%patch1 -p1 -b .tkagg +%patch2 -p1 -b .pygtk chmod -x images/*.svg %build @@ -73,6 +75,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Dec 5 2006 Orion Poplawski 0.87.7-2 +- Force build of gtk/gtkagg backends in mock (bug #218153) +- Change Requires from python-numeric to numpy (bug #218154) + * Tue Nov 21 2006 Orion Poplawski 0.87.7-1 - Update to 0.87.7 and fix up the defaults to use numpy - Force build of tkagg backend without X server From f319b1c04cfda856b52a94da481c574290a7c0c7 Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Tue, 12 Dec 2006 05:26:51 +0000 Subject: [PATCH 029/240] release bump for rebuild against python 2.5 in devel tree --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 48556dd..51b8d9e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.87.7 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -75,6 +75,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Dec 11 2006 Jef Spaleta 0.87.7-3 +- Release bump for rebuild against python 2.5 in devel tree + * Tue Dec 5 2006 Orion Poplawski 0.87.7-2 - Force build of gtk/gtkagg backends in mock (bug #218153) - Change Requires from python-numeric to numpy (bug #218154) From a019183ab9491c14565885b75e1ba3b8be0e3d2e Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 10 Jan 2007 00:07:07 +0000 Subject: [PATCH 030/240] Add examples to %docs --- python-matplotlib.spec | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 51b8d9e..4356e5e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.87.7 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -61,7 +61,7 @@ rm -rf $RPM_BUILD_ROOT %doc README license/LICENSE license/LICENSE_enthought.txt %doc license/LICENSE_PAINT license/LICENSE_PIL %doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS -%doc NUMARRAY_ISSUES PKG-INFO TODO +%doc NUMARRAY_ISSUES PKG-INFO TODO examples %{python_sitearch}/matplotlib/ %{python_sitearch}/pylab.py* %exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.* @@ -75,14 +75,17 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Mon Dec 11 2006 Jef Spaleta 0.87.7-3 +* Tue Jan 5 2007 Orion Poplawski 0.87.7-4 +- Add examples to %docs + +* Mon Dec 11 2006 Jef Spaleta 0.87.7-3 - Release bump for rebuild against python 2.5 in devel tree -* Tue Dec 5 2006 Orion Poplawski 0.87.7-2 +* Tue Dec 5 2006 Orion Poplawski 0.87.7-2 - Force build of gtk/gtkagg backends in mock (bug #218153) - Change Requires from python-numeric to numpy (bug #218154) -* Tue Nov 21 2006 Orion Poplawski 0.87.7-1 +* Tue Nov 21 2006 Orion Poplawski 0.87.7-1 - Update to 0.87.7 and fix up the defaults to use numpy - Force build of tkagg backend without X server - Use src.rpm from Jef Spaleta, closes bug 216578 From 5550f6f7b00827ba95c2dd2c2627d464023d1bc6 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 9 Feb 2007 21:49:38 +0000 Subject: [PATCH 031/240] Update to 0.90.0 --- .cvsignore | 2 +- python-matplotlib.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.cvsignore b/.cvsignore index bbb78ba..5436205 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.87.7.tar.gz +matplotlib-0.90.0.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 4356e5e..ae2af02 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.87.7 -Release: 4%{?dist} +Version: 0.90.0 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -75,6 +75,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Feb 09 2007 Orion Poplawski 0.90.0-1 +- Update to 0.90.0 + * Tue Jan 5 2007 Orion Poplawski 0.87.7-4 - Add examples to %docs diff --git a/sources b/sources index ac7a0f0..93263df 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cca3d3a644c1a84d6dcf4af8a9856b7b matplotlib-0.87.7.tar.gz +31ea12395826080b5be9c1e292cda6f1 matplotlib-0.90.0.tar.gz From 0346b9d0bb7d9dd5da20efa05e1ae3bbe0416141 Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Sat, 10 Feb 2007 19:34:19 +0000 Subject: [PATCH 032/240] - Release bump for rebuild against new tk --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index ae2af02..576616e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.90.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -75,6 +75,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat Feb 10 2007 Jef Spaleta 0.90.0-2 +- Release bump for rebuild against new tk + * Fri Feb 09 2007 Orion Poplawski 0.90.0-1 - Update to 0.90.0 From 32df714ed8fa8aafa92af981c1bcadc31ad99074 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 14 Feb 2007 16:41:26 +0000 Subject: [PATCH 033/240] Rebuild for Tcl/Tk downgrade --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 576616e..2636c9e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.90.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -75,6 +75,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Feb 14 2007 Orion Poplawski 0.90.0-2 +- Rebuild for Tcl/Tk downgrade + * Sat Feb 10 2007 Jef Spaleta 0.90.0-2 - Release bump for rebuild against new tk From bb617decf4e54f68ecf4f87a028501538c36da80 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 4 Jun 2007 17:35:30 +0000 Subject: [PATCH 034/240] Update to 0.90.1 --- .cvsignore | 2 +- matplotlib-0.87.7-pygtk-check.patch | 25 -------------- matplotlib-0.87.7-tkagg-check.patch | 22 ------------ matplotlib-0.90.1-setup.patch | 53 +++++++++++++++++++++++++++++ python-matplotlib.spec | 17 ++++----- sources | 2 +- 6 files changed, 64 insertions(+), 57 deletions(-) delete mode 100644 matplotlib-0.87.7-pygtk-check.patch delete mode 100644 matplotlib-0.87.7-tkagg-check.patch create mode 100644 matplotlib-0.90.1-setup.patch diff --git a/.cvsignore b/.cvsignore index 5436205..a5f1d71 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.90.0.tar.gz +matplotlib-0.90.1.tar.gz diff --git a/matplotlib-0.87.7-pygtk-check.patch b/matplotlib-0.87.7-pygtk-check.patch deleted file mode 100644 index 48f836f..0000000 --- a/matplotlib-0.87.7-pygtk-check.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- matplotlib-0.87.7/setup.py.pygtk 2006-12-05 11:13:58.000000000 -0700 -+++ matplotlib-0.87.7/setup.py 2006-12-05 11:31:22.000000000 -0700 -@@ -207,8 +207,9 @@ - print 'GTK requires pygtk' - BUILD_GTK = 0 - except RuntimeError: -- print 'pygtk present but import failed' -- BUILD_GTK = 0 -+ BUILD_GTK = 1 -+ build_gdk(ext_modules, packages, NUMERIX) -+ rc['backend'] = 'GTK' - else: - version = (2,2,0) - if gtk.pygtk_version < version: -@@ -228,7 +229,9 @@ - BUILD_GTKAGG=0 - except RuntimeError: - print 'pygtk present but import failed' -- BUILD_GTKAGG = 0 -+ BUILD_GTKAGG = 1 -+ build_gtkagg(ext_modules, packages, NUMERIX) -+ rc['backend'] = 'GTKAgg' - else: - version = (2,2,0) - if gtk.pygtk_version < version: diff --git a/matplotlib-0.87.7-tkagg-check.patch b/matplotlib-0.87.7-tkagg-check.patch deleted file mode 100644 index b07b4be..0000000 --- a/matplotlib-0.87.7-tkagg-check.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- matplotlib-0.87.7/setup.py.fix 2006-11-20 19:49:56.000000000 -0900 -+++ matplotlib-0.87.7/setup.py 2006-11-20 19:51:03.000000000 -0900 -@@ -251,16 +251,9 @@ - print 'Tkinter present but import failed' - BUILD_TKAGG = 0 - else: -- try: -- tk = Tkinter.Tk() -- tk.withdraw() -- except Tkinter.TclError: -- print 'Tkinter present, but window failed to open' -- BUILD_TKAGG = 0 -- else: -- BUILD_AGG = 1 -- build_tkagg(ext_modules, packages, NUMERIX) -- rc['backend'] = 'TkAgg' -+ BUILD_AGG = 1 -+ build_tkagg(ext_modules, packages, NUMERIX) -+ rc['backend'] = 'TkAgg' - - if BUILD_WXAGG: - try: diff --git a/matplotlib-0.90.1-setup.patch b/matplotlib-0.90.1-setup.patch new file mode 100644 index 0000000..0c2624b --- /dev/null +++ b/matplotlib-0.90.1-setup.patch @@ -0,0 +1,53 @@ +--- matplotlib-0.90.1/setup.py.tkagg 2007-06-04 10:34:46.000000000 -0600 ++++ matplotlib-0.90.1/setup.py 2007-06-04 10:54:44.000000000 -0600 +@@ -28,13 +28,13 @@ + # it. It makes very nice antialiased output and also supports alpha + # blending + BUILD_AGG = 1 +-BUILD_GTKAGG = 'auto' +-BUILD_GTK = 'auto' ++BUILD_GTKAGG = 1 ++BUILD_GTK = 1 + + # build TK GUI with Agg renderer ; requires Tkinter Python extension + # and Tk includes + # Use False or 0 if you don't want to build +-BUILD_TKAGG = 'auto' ++BUILD_TKAGG = 1 + + # build wxPython extension code to efficiently blit agg into wx. Only + # needed for wxpython <2.8 if you plan on doing animations +@@ -226,11 +226,11 @@ + + havegtk.gotit = None + +-if BUILD_GTK and havegtk(): ++if BUILD_GTK: + build_gdk(ext_modules, packages, NUMERIX) + rc['backend'] = 'GTK' + +-if BUILD_GTKAGG and havegtk(): ++if BUILD_GTKAGG: + BUILD_AGG = 1 + build_gtkagg(ext_modules, packages, NUMERIX) + rc['backend'] = 'GTKAgg' +@@ -245,16 +245,9 @@ + print 'Tkinter present but import failed' + BUILD_TKAGG = 0 + else: +- try: +- tk = Tkinter.Tk() +- tk.withdraw() +- except Tkinter.TclError: +- print 'Tkinter present, but window failed to open' +- BUILD_TKAGG = 0 +- else: +- BUILD_AGG = 1 +- build_tkagg(ext_modules, packages, NUMERIX) +- rc['backend'] = 'TkAgg' ++ BUILD_AGG = 1 ++ build_tkagg(ext_modules, packages, NUMERIX) ++ rc['backend'] = 'TkAgg' + + if BUILD_WXAGG: + try: diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 2636c9e..b75b06f 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,17 +1,16 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.90.0 -Release: 3%{?dist} +Version: 0.90.1 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries License: Python Software Foundation License URL: http://sourceforge.net/projects/matplotlib -Source0: http://dl.sf.net/matplotlib/matplotlib-%{version}.tar.gz +Source0: http://downloads.sourceforge.net/matplotlib/matplotlib-%{version}.tar.gz Patch0: matplotlib-0.87.7-matplotlibrc.patch -Patch1: matplotlib-0.87.7-tkagg-check.patch -Patch2: matplotlib-0.87.7-pygtk-check.patch +Patch1: matplotlib-0.90.1-setup.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel @@ -41,9 +40,8 @@ Requires: tkinter %prep %setup -q -n matplotlib-%{version} %patch0 -p1 -b .matplotlibrc -%patch1 -p1 -b .tkagg -%patch2 -p1 -b .pygtk -chmod -x images/*.svg +%patch1 -p1 -b .setup +chmod -x lib/matplotlib/mpl-data/images/*.svg %build %{__python} setup.py build @@ -75,6 +73,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Jun 04 2007 Orion Poplawski 0.90.1-1 +- Update to 0.90.1 + * Wed Feb 14 2007 Orion Poplawski 0.90.0-2 - Rebuild for Tcl/Tk downgrade diff --git a/sources b/sources index 93263df..1491e92 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -31ea12395826080b5be9c1e292cda6f1 matplotlib-0.90.0.tar.gz +e1344bd72660e7c9c0b7540a72cc45b8 matplotlib-0.90.1.tar.gz From d53984287ecf08637f2ade92262dd0052e64c7a0 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 23 Aug 2007 16:07:50 +0000 Subject: [PATCH 035/240] - Update license tag to Python - Rebuild for BuildID --- python-matplotlib.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index b75b06f..c4e5798 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,11 +2,11 @@ Name: python-matplotlib Version: 0.90.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries -License: Python Software Foundation License +License: Python URL: http://sourceforge.net/projects/matplotlib Source0: http://downloads.sourceforge.net/matplotlib/matplotlib-%{version}.tar.gz Patch0: matplotlib-0.87.7-matplotlibrc.patch @@ -73,6 +73,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Aug 23 2007 Orion Poplawski 0.90.1-2 +- Update license tag to Python +- Rebuild for BuildID + * Mon Jun 04 2007 Orion Poplawski 0.90.1-1 - Update to 0.90.1 From 96119e78b766cb6f2691cde38616f863a2f44edc Mon Sep 17 00:00:00 2001 From: alexlan Date: Fri, 4 Jan 2008 05:15:38 +0000 Subject: [PATCH 036/240] - Rebuild for new Tcl 8.5 --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c4e5798..4f98afd 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.90.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -73,6 +73,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jan 3 2008 Alex Lancaster - 0.90.1-3 +- Rebuild for new Tcl 8.5 + * Thu Aug 23 2007 Orion Poplawski 0.90.1-2 - Update license tag to Python - Rebuild for BuildID From d1a8b707e39a4102fe69c892c87dce3bccac8dc0 Mon Sep 17 00:00:00 2001 From: alexlan Date: Sat, 5 Jan 2008 01:25:40 +0000 Subject: [PATCH 037/240] - Support for Python Eggs for F9+ --- python-matplotlib.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 4f98afd..375acaa 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.90.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -60,6 +60,10 @@ rm -rf $RPM_BUILD_ROOT %doc license/LICENSE_PAINT license/LICENSE_PIL %doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS %doc NUMARRAY_ISSUES PKG-INFO TODO examples +%doc Sane/CHANGES Sane/demo*.py Sane/sanedoc.txt +%if 0%{?fedora} >= 9 +%{python_sitearch}/*egg-info +%endif %{python_sitearch}/matplotlib/ %{python_sitearch}/pylab.py* %exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.* @@ -73,6 +77,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Jan 4 2008 Alex Lancaster - 0.90.1-4 +- Support for Python Eggs for F9+ + * Thu Jan 3 2008 Alex Lancaster - 0.90.1-3 - Rebuild for new Tcl 8.5 From 1ba7111ea4d9e46eafcd8f17c87d1e4b7350e314 Mon Sep 17 00:00:00 2001 From: alexlan Date: Sat, 5 Jan 2008 01:43:15 +0000 Subject: [PATCH 038/240] - Fixed typo in spec. --- python-matplotlib.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 375acaa..82504d2 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.90.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -60,7 +60,6 @@ rm -rf $RPM_BUILD_ROOT %doc license/LICENSE_PAINT license/LICENSE_PIL %doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS %doc NUMARRAY_ISSUES PKG-INFO TODO examples -%doc Sane/CHANGES Sane/demo*.py Sane/sanedoc.txt %if 0%{?fedora} >= 9 %{python_sitearch}/*egg-info %endif @@ -77,6 +76,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Jan 4 2008 Alex Lancaster - 0.90.1-5 +- Fixed typo in spec. + * Fri Jan 4 2008 Alex Lancaster - 0.90.1-4 - Support for Python Eggs for F9+ From 4b93d98283601310e74564669d7bbd2b13b8050f Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 19 Feb 2008 07:26:16 +0000 Subject: [PATCH 039/240] - Autorebuild for GCC 4.3 --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 82504d2..029148d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.90.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -76,6 +76,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Feb 19 2008 Fedora Release Engineering - 0.90.1-6 +- Autorebuild for GCC 4.3 + * Fri Jan 4 2008 Alex Lancaster - 0.90.1-5 - Fixed typo in spec. From 1437e01b55aea7ab95861dc3f44edfce54d94d86 Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Fri, 21 Mar 2008 20:19:00 +0000 Subject: [PATCH 040/240] - New upstream version - Adding Fedora specific setup.cfg from included template - removed numarry and numerics build requirements --- python-matplotlib.spec | 19 +++++----- setup.cfg | 81 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+), 8 deletions(-) create mode 100644 setup.cfg diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 029148d..7d3e40f 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,21 +1,20 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.90.1 -Release: 6%{?dist} +Version: 0.91.2 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries License: Python URL: http://sourceforge.net/projects/matplotlib Source0: http://downloads.sourceforge.net/matplotlib/matplotlib-%{version}.tar.gz -Patch0: matplotlib-0.87.7-matplotlibrc.patch -Patch1: matplotlib-0.90.1-setup.patch +Source1: setup.cfg BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel BuildRequires: pygtk2-devel, gtk2-devel, tkinter, tk-devel -BuildRequires: python-numeric, pytz, python-dateutil, numpy, python-numarray +BuildRequires: pytz, python-dateutil, numpy Requires: numpy, pytz, python-dateutil Requires: pycairo >= 1.2.0 @@ -39,11 +38,10 @@ Requires: tkinter %prep %setup -q -n matplotlib-%{version} -%patch0 -p1 -b .matplotlibrc -%patch1 -p1 -b .setup chmod -x lib/matplotlib/mpl-data/images/*.svg %build +cp %{SOURCE1} ./setup.cfg %{__python} setup.py build %install @@ -59,7 +57,7 @@ rm -rf $RPM_BUILD_ROOT %doc README license/LICENSE license/LICENSE_enthought.txt %doc license/LICENSE_PAINT license/LICENSE_PIL %doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS -%doc NUMARRAY_ISSUES PKG-INFO TODO examples +%doc PKG-INFO TODO examples %if 0%{?fedora} >= 9 %{python_sitearch}/*egg-info %endif @@ -76,6 +74,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Mar 21 2008 Jef Spaleta - 0.91.2-1 +- New upstream version +- Adding Fedora specific setup.cfg from included template +- removed numarry and numerics build requirements + * Tue Feb 19 2008 Fedora Release Engineering - 0.90.1-6 - Autorebuild for GCC 4.3 diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..fdeb182 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,81 @@ +# Rename this file to setup.cfg to modify matplotlib's +# build options. + +[egg_info] +tag_svn_revision = 1 + +[status] +# To suppress display of the dependencies and their versions +# at the top of the build log, uncomment the following line: +#suppress = True +# +# Uncomment to insert lots of diagnostic prints in extension code +#verbose = True + +[provide_packages] +# By default, matplotlib checks for a few dependencies and +# installs them if missing. This feature can be turned off +# by uncommenting the following lines. Acceptible values are: +# True: install, overwrite an existing installation +# False: do not install +# auto: install only if the package is unavailable. This +# is the default behavior +# +## Date/timezone support: +#pytz = False +#dateutil = False +# +## Experimental config package support: +enthought.traits = False +configobj = False + +[gui_support] +# Matplotlib supports multiple GUI toolkits, including Cocoa, +# GTK, Fltk, Qt, Qt4, Tk, and WX. Support for many of these +# toolkits requires AGG, the Anti-Grain Geometry library, which +# is provided by matplotlib and built by default. +# +# Some backends are written in pure Python, and others require +# extension code to be compiled. By default, matplotlib checks +# for these GUI toolkits during installation and, if present, +# compiles the required extensions to support the toolkit. GTK +# support requires the GTK runtime environment and PyGTK. Wx +# support requires wxWidgets and wxPython. Tk support requires +# Tk and Tkinter. The other GUI toolkits do not require any +# extension code, and can be used as long as the libraries are +# installed on your system. +# +# You can uncomment any the following lines if you know you do +# not want to use the GUI toolkit. Acceptible values are: +# True: build the extension. Exits with a warning if the +# required dependencies are not available +# False: do not build the extension +# auto: build if the required dependencies are available, +# otherwise skip silently. This is the default +# behavior +# +gtk = True +gtkagg = True +tkagg = True +wxagg = False + +[rc_options] +# User-configurable options +# +# Default backend, one of: Agg, Cairo, CocoaAgg, GTK, GTKAgg, +# GTKCairo, FltkAgg, Pdf, Ps, QtAgg, Qt4Agg, SVG, TkAgg, WX, WXAgg. +# +# The Agg, Ps, Pdf and SVG backends do not require external +# dependencies. Do not choose GTK, GTKAgg, GTKCairo, TkAgg or WXAgg if +# you have disabled the relevent extension modules. Agg will be used +# by default. +# +backend = GTKAgg +# +# The numerix module was historically used to provide +# compatibility between the Numeric, numarray, and NumPy array +# packages. Now that NumPy has emerge as the universal array +# package for python, numerix is not really necessary and is +# maintained to provide backward compatibility. Do not change +# this unless you have a compelling reason to do so. +numerix = numpy From 1f8c99bdef67216949de852395eaa2c3f2d4507d Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Fri, 21 Mar 2008 20:22:36 +0000 Subject: [PATCH 041/240] Updating source file --- .cvsignore | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.cvsignore b/.cvsignore index a5f1d71..2f13839 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.90.1.tar.gz +matplotlib-0.91.2.tar.gz diff --git a/sources b/sources index 1491e92..e3ae071 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e1344bd72660e7c9c0b7540a72cc45b8 matplotlib-0.90.1.tar.gz +7abe21ca9e26df4a44f3208d6007fe16 matplotlib-0.91.2.tar.gz From 61aa382649590487f2f60616f3ce9de457acf004 Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Mon, 24 Mar 2008 19:31:26 +0000 Subject: [PATCH 042/240] - gcc43 cleanups --- matplotlib-gcc43.patch | 63 ++++++++++++++++++++++++++++++++++++++++++ python-matplotlib.spec | 7 ++++- 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 matplotlib-gcc43.patch diff --git a/matplotlib-gcc43.patch b/matplotlib-gcc43.patch new file mode 100644 index 0000000..7bbc66b --- /dev/null +++ b/matplotlib-gcc43.patch @@ -0,0 +1,63 @@ +diff -u -r matplotlib-0.91.2-old/ttconv/pprdrv.h matplotlib-0.91.2/ttconv/pprdrv.h +--- matplotlib-0.91.2-old/ttconv/pprdrv.h 2007-11-29 17:36:53.000000000 -0900 ++++ matplotlib-0.91.2/ttconv/pprdrv.h 2008-03-21 13:58:01.000000000 -0800 +@@ -20,7 +20,7 @@ + */ + + #include +-#include ++#include + + /* + * Encapsulates all of the output to write to an arbitrary output +diff -u -r matplotlib-0.91.2-old/ttconv/pprdrv_tt2.cpp matplotlib-0.91.2/ttconv/pprdrv_tt2.cpp +--- matplotlib-0.91.2-old/ttconv/pprdrv_tt2.cpp 2007-11-29 17:36:53.000000000 -0900 ++++ matplotlib-0.91.2/ttconv/pprdrv_tt2.cpp 2008-03-21 16:04:49.000000000 -0800 +@@ -31,10 +31,11 @@ + */ + + #include "global_defines.h" +-#include +-#include +-#include +-#include ++#include ++#include ++#include ++#include ++#include + #include "pprdrv.h" + #include "truetype.h" + #include +diff -u -r matplotlib-0.91.2-old/ttconv/pprdrv_tt.cpp matplotlib-0.91.2/ttconv/pprdrv_tt.cpp +--- matplotlib-0.91.2-old/ttconv/pprdrv_tt.cpp 2007-11-29 17:36:53.000000000 -0900 ++++ matplotlib-0.91.2/ttconv/pprdrv_tt.cpp 2008-03-21 15:57:42.000000000 -0800 +@@ -23,9 +23,9 @@ + */ + + #include "global_defines.h" +-#include +-#include +-#include ++#include ++#include ++#include + #include "pprdrv.h" + #include "truetype.h" + #include +diff -u -r matplotlib-0.91.2-old/ttconv/ttutil.cpp matplotlib-0.91.2/ttconv/ttutil.cpp +--- matplotlib-0.91.2-old/ttconv/ttutil.cpp 2007-11-29 17:36:53.000000000 -0900 ++++ matplotlib-0.91.2/ttconv/ttutil.cpp 2008-03-24 11:25:06.000000000 -0800 +@@ -8,9 +8,9 @@ + /* (c) Frank Siegert 1996 */ + + #include "global_defines.h" +-#include +-#include +-#include ++#include ++#include ++#include + #include "pprdrv.h" + + #if DEBUG_TRUETYPE diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 7d3e40f..bf9d7c3 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.91.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -10,6 +10,7 @@ License: Python URL: http://sourceforge.net/projects/matplotlib Source0: http://downloads.sourceforge.net/matplotlib/matplotlib-%{version}.tar.gz Source1: setup.cfg +Patch0: matplotlib-gcc43.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel @@ -38,6 +39,7 @@ Requires: tkinter %prep %setup -q -n matplotlib-%{version} +%patch0 -p1 chmod -x lib/matplotlib/mpl-data/images/*.svg %build @@ -74,6 +76,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Mar 21 2008 Jef Spaleta - 0.91.2-2 +- gcc43 cleanups + * Fri Mar 21 2008 Jef Spaleta - 0.91.2-1 - New upstream version - Adding Fedora specific setup.cfg from included template From 36a86160e02c59380e2801162e4b4aabbe774c13 Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Tue, 1 Jul 2008 20:53:17 +0000 Subject: [PATCH 043/240] - Latest upstream release --- .cvsignore | 2 +- python-matplotlib.spec | 12 ++++++++---- sources | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.cvsignore b/.cvsignore index 2f13839..377ff3e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.91.2.tar.gz +matplotlib-0.98.1.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index bf9d7c3..f700bf0 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.91.2 -Release: 2%{?dist} +Version: 0.98.1 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -39,7 +39,7 @@ Requires: tkinter %prep %setup -q -n matplotlib-%{version} -%patch0 -p1 +#%patch0 -p1 chmod -x lib/matplotlib/mpl-data/images/*.svg %build @@ -56,7 +56,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) -%doc README license/LICENSE license/LICENSE_enthought.txt +%doc README.txt license/LICENSE license/LICENSE_enthought.txt %doc license/LICENSE_PAINT license/LICENSE_PIL %doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS %doc PKG-INFO TODO examples @@ -64,6 +64,7 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/*egg-info %endif %{python_sitearch}/matplotlib/ +%{python_sitearch}/mpl_toolkits/ %{python_sitearch}/pylab.py* %exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.* %exclude %{python_sitearch}/matplotlib/backends/tkagg.* @@ -76,6 +77,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Jul 1 2008 Jef Spaleta - 0.98.1-1 +- Latest upstream release + * Fri Mar 21 2008 Jef Spaleta - 0.91.2-2 - gcc43 cleanups diff --git a/sources b/sources index e3ae071..659318d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7abe21ca9e26df4a44f3208d6007fe16 matplotlib-0.91.2.tar.gz +1f673f82eb4f7422c1e45545f8e083d4 matplotlib-0.98.1.tar.gz From e9f8234a67c1b688547c4b14955e7e9c0ee7039a Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Thu, 7 Aug 2008 01:19:40 +0000 Subject: [PATCH 044/240] - Latest upstream release --- .cvsignore | 2 +- python-matplotlib.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index 377ff3e..7d5a499 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.98.1.tar.gz +matplotlib-0.98.3.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index f700bf0..43d2a6e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,7 +1,7 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.98.1 +Version: 0.98.3 Release: 1%{?dist} Summary: Python plotting library @@ -77,6 +77,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Aug 6 2008 Jef Spaleta - 0.98.3-1 +- Latest upstream release + * Fri Jul 1 2008 Jef Spaleta - 0.98.1-1 - Latest upstream release diff --git a/sources b/sources index 659318d..c3df974 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1f673f82eb4f7422c1e45545f8e083d4 matplotlib-0.98.1.tar.gz +d6b579f52705df584650fb6f61302f92 matplotlib-0.98.3.tar.gz From 9009b116df3dc7a3888694e093fa1883769ce54e Mon Sep 17 00:00:00 2001 From: Ignacio Vazquez-Abrams Date: Sat, 29 Nov 2008 15:36:09 +0000 Subject: [PATCH 045/240] Rebuild for Python 2.6 --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 43d2a6e..1afc885 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.98.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -77,6 +77,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.98.3-2 +- Rebuild for Python 2.6 + * Wed Aug 6 2008 Jef Spaleta - 0.98.3-1 - Latest upstream release From 0ec477d6d618ef68de92cc43ca7624006f0290dc Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Tue, 23 Dec 2008 07:50:29 +0000 Subject: [PATCH 046/240] - Latest upstream release - Strip out included fonts --- .cvsignore | 2 +- python-matplotlib.spec | 11 ++++++++--- sources | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.cvsignore b/.cvsignore index 7d5a499..0efc128 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.98.3.tar.gz +matplotlib-0.98.5.2.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 1afc885..38e8a89 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.98.3 -Release: 2%{?dist} +Version: 0.98.5.2 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -50,6 +50,7 @@ cp %{SOURCE1} ./setup.cfg rm -rf $RPM_BUILD_ROOT %{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py +rm -rf $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/fonts %clean rm -rf $RPM_BUILD_ROOT @@ -58,7 +59,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %doc README.txt license/LICENSE license/LICENSE_enthought.txt %doc license/LICENSE_PAINT license/LICENSE_PIL -%doc API_CHANGES CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS +%doc CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS %doc PKG-INFO TODO examples %if 0%{?fedora} >= 9 %{python_sitearch}/*egg-info @@ -77,6 +78,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Dec 22 2008 Jef Spaleta - 0.98.5-1 +- Latest upstream release +- Strip out included fonts + * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.98.3-2 - Rebuild for Python 2.6 diff --git a/sources b/sources index c3df974..c0beef0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d6b579f52705df584650fb6f61302f92 matplotlib-0.98.3.tar.gz +3e8210ec8bb71a18962ec8b43688509c matplotlib-0.98.5.2.tar.gz From 3566db3f264d9a90b13a91fb332d111ea3215d6f Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Wed, 24 Dec 2008 01:29:32 +0000 Subject: [PATCH 047/240] - Add dep on DejaVu Sans font for default font support --- python-matplotlib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 38e8a89..b66fd2b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.98.5.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -18,7 +18,7 @@ BuildRequires: pygtk2-devel, gtk2-devel, tkinter, tk-devel BuildRequires: pytz, python-dateutil, numpy Requires: numpy, pytz, python-dateutil Requires: pycairo >= 1.2.0 - +Requires: dejavu-fonts-sans %description Matplotlib is a pure python plotting library with the goal of making @@ -78,6 +78,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Dec 23 2008 Jef Spaleta - 0.98.5-2 +- Add dep on DejaVu Sans font for default font support + * Mon Dec 22 2008 Jef Spaleta - 0.98.5-1 - Latest upstream release - Strip out included fonts From 81520ceee1e5072abb95c0779a6a9efffd0dae45 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Thu, 26 Feb 2009 22:17:12 +0000 Subject: [PATCH 048/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index b66fd2b..01b46f9 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.98.5.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -78,6 +78,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Feb 26 2009 Fedora Release Engineering - 0.98.5.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Tue Dec 23 2008 Jef Spaleta - 0.98.5-2 - Add dep on DejaVu Sans font for default font support From 7cfd478d8384f49985fd8ba22e7ddbb781ccd8ea Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Fri, 6 Mar 2009 19:57:23 +0000 Subject: [PATCH 049/240] - Fixed font dep after font guideline change --- python-matplotlib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 01b46f9..d5e2fef 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.98.5.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -18,7 +18,7 @@ BuildRequires: pygtk2-devel, gtk2-devel, tkinter, tk-devel BuildRequires: pytz, python-dateutil, numpy Requires: numpy, pytz, python-dateutil Requires: pycairo >= 1.2.0 -Requires: dejavu-fonts-sans +Requires: dejavu-sans-fonts %description Matplotlib is a pure python plotting library with the goal of making @@ -78,6 +78,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Mar 06 2009 Jef Spaleta - 0.98.5-4 +- Fixed font dep after font guideline change + * Thu Feb 26 2009 Fedora Release Engineering - 0.98.5.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild From 8e942f943db0ec3dc74a5e0212b5d08f5f1ab260 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Sun, 26 Jul 2009 20:38:59 +0000 Subject: [PATCH 050/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index d5e2fef..d62af1d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.98.5.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -78,6 +78,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sun Jul 26 2009 Fedora Release Engineering - 0.98.5.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Fri Mar 06 2009 Jef Spaleta - 0.98.5-4 - Fixed font dep after font guideline change From 25dcdf930448e4d1d947eb7462431b4a6dc9831b Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 23:31:57 +0000 Subject: [PATCH 051/240] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 9d1da73..60696ad 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := python-matplotlib SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 18886006d659921e7e01aeda94db8768795f105b Mon Sep 17 00:00:00 2001 From: Jon Ciesla Date: Fri, 11 Dec 2009 16:49:00 +0000 Subject: [PATCH 052/240] Update to 0.99.1.2 --- .cvsignore | 2 +- python-matplotlib.spec | 10 +++++++--- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.cvsignore b/.cvsignore index 0efc128..a1e8b48 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.98.5.2.tar.gz +matplotlib-0.99.1.2.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index d62af1d..654ab74 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.98.5.2 -Release: 5%{?dist} +Version: 0.99.1.2 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -38,7 +38,8 @@ Requires: tkinter %prep -%setup -q -n matplotlib-%{version} +#%setup -q -n matplotlib-%{version} +%setup -q -n matplotlib-0.99.1.1 #%patch0 -p1 chmod -x lib/matplotlib/mpl-data/images/*.svg @@ -78,6 +79,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Dec 11 2009 Jon Ciesla - 0.99.1.2 +- Update to 0.99.1.2 + * Sun Jul 26 2009 Fedora Release Engineering - 0.98.5.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild diff --git a/sources b/sources index c0beef0..5c53526 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3e8210ec8bb71a18962ec8b43688509c matplotlib-0.98.5.2.tar.gz +952e2c992e4a762b8538171f51c9140a matplotlib-0.99.1.2.tar.gz From 5fb5eb72576698bb67da923dd118cb731b8c0353 Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Thu, 1 Apr 2010 22:39:55 +0000 Subject: [PATCH 053/240] - Bump to rebuild against numpy 1.4.0 --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 654ab74..e8cf532 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.99.1.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -79,6 +79,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Apr 1 2010 Jef Spaleta - 0.99.1.2-1 +- Bump to rebuild against numpy 1.4.0 + * Fri Dec 11 2009 Jon Ciesla - 0.99.1.2 - Update to 0.99.1.2 From 75838bcea216cb3c551bd68762585fae2b45a5e2 Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Tue, 13 Apr 2010 04:51:58 +0000 Subject: [PATCH 054/240] - Bump to rebuild against numpy 1.3 --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index e8cf532..245b87d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.99.1.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -79,6 +79,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Apr 12 2010 Jef Spaleta - 0.99.1.2-2 +- Bump to rebuild against numpy 1.3 + * Thu Apr 1 2010 Jef Spaleta - 0.99.1.2-1 - Bump to rebuild against numpy 1.4.0 From 8e35b281dba607adf11af3919895c12803e51235 Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Thu, 27 May 2010 17:54:31 +0000 Subject: [PATCH 055/240] - Upstream patch to fix deprecated gtk tooltip warning. --- matplotlib_gtk_tooltip.patch | 81 ++++++++++++++++++++++++++++++++++++ python-matplotlib.spec | 7 +++- 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 matplotlib_gtk_tooltip.patch diff --git a/matplotlib_gtk_tooltip.patch b/matplotlib_gtk_tooltip.patch new file mode 100644 index 0000000..e4c6091 --- /dev/null +++ b/matplotlib_gtk_tooltip.patch @@ -0,0 +1,81 @@ +--- lib/matplotlib/backends/backend_gtk.py 2010/02/18 14:54:30 8141 ++++ lib/matplotlib/backends/backend_gtk.py 2010/03/20 22:49:25 8203 +@@ -17,6 +17,8 @@ + % (gtk.pygtk_version + pygtk_version_required)) + del pygtk_version_required + ++_new_tooltip_api = (gtk.pygtk_version[1] >= 12) ++ + import matplotlib + from matplotlib import verbose + from matplotlib._pylab_helpers import Gcf +@@ -448,7 +450,7 @@ + # diong a blanket catch here, but an not sure what a + # better way is - JDH + verbose.report('Could not load matplotlib icon: %s' % sys.exc_info()[1]) +- ++ + self.vbox = gtk.VBox() + self.window.add(self.vbox) + self.vbox.show() +@@ -618,7 +620,8 @@ + + def _init_toolbar2_4(self): + basedir = os.path.join(matplotlib.rcParams['datapath'],'images') +- self.tooltips = gtk.Tooltips() ++ if not _new_tooltip_api: ++ self.tooltips = gtk.Tooltips() + + for text, tooltip_text, image_file, callback in self.toolitems: + if text is None: +@@ -630,7 +633,10 @@ + tbutton = gtk.ToolButton(image, text) + self.insert(tbutton, -1) + tbutton.connect('clicked', getattr(self, callback)) +- tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private') ++ if _new_tooltip_api: ++ tbutton.set_tooltip_text(tooltip_text) ++ else: ++ tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private') + + toolitem = gtk.SeparatorToolItem() + self.insert(toolitem, -1) +@@ -760,7 +766,8 @@ + def _create_toolitems_2_4(self): + # use the GTK+ 2.4 GtkToolbar API + iconSize = gtk.ICON_SIZE_SMALL_TOOLBAR +- self.tooltips = gtk.Tooltips() ++ if not _new_tooltip_api: ++ self.tooltips = gtk.Tooltips() + + for text, tooltip_text, image_num, callback, callback_arg, scroll \ + in self.toolitems: +@@ -778,15 +785,22 @@ + tbutton.connect('clicked', getattr(self, callback)) + if scroll: + tbutton.connect('scroll_event', getattr(self, callback)) +- tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private') ++ if _new_tooltip_api: ++ tbutton.set_tooltip_text(tooltip_text) ++ else: ++ tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private') + + # Axes toolitem, is empty at start, update() adds a menu if >=2 axes + self.axes_toolitem = gtk.ToolItem() + self.insert(self.axes_toolitem, 0) +- self.axes_toolitem.set_tooltip ( +- self.tooltips, +- tip_text='Select axes that controls affect', +- tip_private = 'Private') ++ if _new_tooltip_api: ++ self.axes_toolitem.set_tooltip_text( ++ 'Select axes that controls affect') ++ else: ++ self.axes_toolitem.set_tooltip ( ++ self.tooltips, ++ tip_text='Select axes that controls affect', ++ tip_private = 'Private') + + align = gtk.Alignment (xalign=0.5, yalign=0.5, xscale=0.0, yscale=0.0) + self.axes_toolitem.add(align) + diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 245b87d..c853042 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 0.99.1.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -11,6 +11,7 @@ URL: http://sourceforge.net/projects/matplotlib Source0: http://downloads.sourceforge.net/matplotlib/matplotlib-%{version}.tar.gz Source1: setup.cfg Patch0: matplotlib-gcc43.patch +Patch1: matplotlib_gtk_tooltip.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel @@ -41,6 +42,7 @@ Requires: tkinter #%setup -q -n matplotlib-%{version} %setup -q -n matplotlib-0.99.1.1 #%patch0 -p1 +%patch1 -p0 chmod -x lib/matplotlib/mpl-data/images/*.svg %build @@ -79,6 +81,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu May 27 2010 Jef Spaleta - 0.99.1.2-4 +- Upstream patch to fix deprecated gtk tooltip warning. + * Mon Apr 12 2010 Jef Spaleta - 0.99.1.2-2 - Bump to rebuild against numpy 1.3 From 8ff61b63f9c3858a17fe618b16ee5752d24d194a Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Fri, 2 Jul 2010 00:05:06 +0000 Subject: [PATCH 056/240] - New upstream release --- .cvsignore | 2 +- python-matplotlib.spec | 11 +++++++---- sources | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.cvsignore b/.cvsignore index a1e8b48..69ffcc8 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.99.1.2.tar.gz +matplotlib-0.99.3.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c853042..22f9658 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,8 +1,8 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.99.1.2 -Release: 4%{?dist} +Version: 0.99.3 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -39,8 +39,8 @@ Requires: tkinter %prep -#%setup -q -n matplotlib-%{version} -%setup -q -n matplotlib-0.99.1.1 +%setup -q -n matplotlib-%{version} +#%setup -q -n matplotlib-0.99.3 #%patch0 -p1 %patch1 -p0 chmod -x lib/matplotlib/mpl-data/images/*.svg @@ -81,6 +81,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jul 1 2010 Jef Spaleta - 0.99.3-1 +- New upstream release + * Thu May 27 2010 Jef Spaleta - 0.99.1.2-4 - Upstream patch to fix deprecated gtk tooltip warning. diff --git a/sources b/sources index 5c53526..55b17ee 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -952e2c992e4a762b8538171f51c9140a matplotlib-0.99.1.2.tar.gz +c21a367dea3b98660adbb898a2f53dbc matplotlib-0.99.3.tar.gz From e8b7d4f3da92e1b0c8cdd01a1d30d2232ad536f9 Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Sun, 11 Jul 2010 01:24:21 +0000 Subject: [PATCH 057/240] - New upstream release - Remove undistributable file from bundled agg library --- .cvsignore | 2 +- generate-tarball.sh | 17 +++++++++++++++++ python-matplotlib.spec | 14 +++++++++++--- sources | 2 +- 4 files changed, 30 insertions(+), 5 deletions(-) create mode 100755 generate-tarball.sh diff --git a/.cvsignore b/.cvsignore index 69ffcc8..7048a9b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -matplotlib-0.99.3.tar.gz +matplotlib-1.0.0-without-gpc.tar.gz diff --git a/generate-tarball.sh b/generate-tarball.sh new file mode 100755 index 0000000..c1cafe4 --- /dev/null +++ b/generate-tarball.sh @@ -0,0 +1,17 @@ +#! /bin/sh + +version=$1 + +[ -z $version ] && exit 1 + +dir=matplotlib-${version} +file=matplotlib-${version}.tar.gz +result=matplotlib-${version}-without-gpc.tar.gz + +rm -rf matplotlib-${version} +tar xzf $file + +rm matplotlib-${version}/agg24/include/agg_conv_gpc.h + +rm -f $result +tar czf $result $dir diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 22f9658..c57e855 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,14 +1,18 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} Name: python-matplotlib -Version: 0.99.3 +Version: 1.0.0 Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries License: Python URL: http://sourceforge.net/projects/matplotlib -Source0: http://downloads.sourceforge.net/matplotlib/matplotlib-%{version}.tar.gz +#Modified Sources to remove the one undistributable file +#See generate-tarball.sh in fedora cvs repository for logic +#sha1sum matplotlib-1.0.0-without-gpc.tar.gz +#c3c2cb82ee122b36977f636948bb4a79b15c03ba matplotlib-1.0.0-without-gpc.tar.gz +Source0: http://downloads.sourceforge.net/matplotlib/matplotlib-%{version}-without-gpc.tar.gz Source1: setup.cfg Patch0: matplotlib-gcc43.patch Patch1: matplotlib_gtk_tooltip.patch @@ -42,7 +46,7 @@ Requires: tkinter %setup -q -n matplotlib-%{version} #%setup -q -n matplotlib-0.99.3 #%patch0 -p1 -%patch1 -p0 +#%patch1 -p0 chmod -x lib/matplotlib/mpl-data/images/*.svg %build @@ -81,6 +85,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jul 8 2010 Jef Spaleta - 1.0.0-1 +- New upstream release +- Remove undistributable file from bundled agg library + * Thu Jul 1 2010 Jef Spaleta - 0.99.3-1 - New upstream release diff --git a/sources b/sources index 55b17ee..2c82007 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c21a367dea3b98660adbb898a2f53dbc matplotlib-0.99.3.tar.gz +b5478c7027e49d7c8e91bd8ddb5f2955 matplotlib-1.0.0-without-gpc.tar.gz From 3d8aca5cf322c9505fe9c6e388ed129b957003cd Mon Sep 17 00:00:00 2001 From: dmalcolm Date: Thu, 22 Jul 2010 04:41:43 +0000 Subject: [PATCH 058/240] - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c57e855..0917986 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 1.0.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -85,6 +85,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jul 22 2010 David Malcolm - 1.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + * Thu Jul 8 2010 Jef Spaleta - 1.0.0-1 - New upstream release - Remove undistributable file from bundled agg library From 22c9c0ba1905f6f24619ea4f65574143e8718103 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 10:30:00 +0000 Subject: [PATCH 059/240] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- 2 files changed, 21 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 60696ad..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: python-matplotlib -# $Id$ -NAME := python-matplotlib -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) From 7d37cb09bbbd9cfb92f39505de3171351da29838 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 8 Feb 2011 23:04:15 -0600 Subject: [PATCH 060/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 0917986..bdd13f4 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -2,7 +2,7 @@ Name: python-matplotlib Version: 1.0.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -85,6 +85,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Feb 08 2011 Fedora Release Engineering - 1.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Thu Jul 22 2010 David Malcolm - 1.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild From eb0ae8e8e85c94af5abc69ea11e72370138faab1 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Fri, 18 Feb 2011 11:09:44 +0100 Subject: [PATCH 061/240] - update to new version - filter private *.so files --- .gitignore | 1 + generate-tarball.sh | 2 ++ python-matplotlib.spec | 25 +++++++++++++++++++------ sources | 2 +- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 7048a9b..e753a9b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ matplotlib-1.0.0-without-gpc.tar.gz +/matplotlib-1.0.1-without-gpc.tar.gz diff --git a/generate-tarball.sh b/generate-tarball.sh index c1cafe4..0ecc6d3 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -8,6 +8,8 @@ dir=matplotlib-${version} file=matplotlib-${version}.tar.gz result=matplotlib-${version}-without-gpc.tar.gz +wget -vc http://downloads.sourceforge.net/matplotlib/$file + rm -rf matplotlib-${version} tar xzf $file diff --git a/python-matplotlib.spec b/python-matplotlib.spec index bdd13f4..231c4c6 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,8 +1,15 @@ -%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%if ! (0%{?rhel} > 5) +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%endif + +%{?filter_setup: +%filter_provides_in %{python_sitearch}/.*\.so$ +%filter_setup +} Name: python-matplotlib -Version: 1.0.0 -Release: 3%{?dist} +Version: 1.0.1 +Release: 1%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -10,9 +17,9 @@ License: Python URL: http://sourceforge.net/projects/matplotlib #Modified Sources to remove the one undistributable file #See generate-tarball.sh in fedora cvs repository for logic -#sha1sum matplotlib-1.0.0-without-gpc.tar.gz -#c3c2cb82ee122b36977f636948bb4a79b15c03ba matplotlib-1.0.0-without-gpc.tar.gz -Source0: http://downloads.sourceforge.net/matplotlib/matplotlib-%{version}-without-gpc.tar.gz +#sha1sum matplotlib-1.0.1-without-gpc.tar.gz +#a8ccbf4c4b9b90c773380cac83e792673837d3de matplotlib-1.0.1-without-gpc.tar.gz +Source0: matplotlib-%{version}-without-gpc.tar.gz Source1: setup.cfg Patch0: matplotlib-gcc43.patch Patch1: matplotlib_gtk_tooltip.patch @@ -79,12 +86,18 @@ rm -rf $RPM_BUILD_ROOT %exclude %{python_sitearch}/matplotlib/backends/_tkagg.so %files tk +%defattr(-,root,root,-) %{python_sitearch}/matplotlib/backends/backend_tkagg.py* %{python_sitearch}/matplotlib/backends/tkagg.py* %{python_sitearch}/matplotlib/backends/_tkagg.so %changelog +* Fri Feb 18 2011 Thomas Spura - 1.0.1-1 +- update to new bugfix version (#678489) +- set file attributes in tk subpackage +- filter private *.so + * Tue Feb 08 2011 Fedora Release Engineering - 1.0.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild diff --git a/sources b/sources index 2c82007..ab14ade 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b5478c7027e49d7c8e91bd8ddb5f2955 matplotlib-1.0.0-without-gpc.tar.gz +b4d61df73ffa715f5009063a4ba78745 matplotlib-1.0.1-without-gpc.tar.gz From 838673b84ebb8e039cac3739b0bcd8616ec34392 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Sat, 19 Feb 2011 12:39:52 +0000 Subject: [PATCH 062/240] Build and package html docs in -doc subpackage. Move examples to -doc subpackage. --- .gitignore | 1 + python-matplotlib.spec | 53 ++++++++++++++++++++++++++++++++++++++---- sources | 1 + 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index e753a9b..bad64c2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ matplotlib-1.0.0-without-gpc.tar.gz /matplotlib-1.0.1-without-gpc.tar.gz +/mpl_sampledata-1.0.1.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 231c4c6..7940fd0 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -9,7 +9,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -20,7 +20,8 @@ URL: http://sourceforge.net/projects/matplotlib #sha1sum matplotlib-1.0.1-without-gpc.tar.gz #a8ccbf4c4b9b90c773380cac83e792673837d3de matplotlib-1.0.1-without-gpc.tar.gz Source0: matplotlib-%{version}-without-gpc.tar.gz -Source1: setup.cfg +Source1: http://downloads.sourceforge.net/mpl_sampledata-%{version}.tar.gz +Source2: setup.cfg Patch0: matplotlib-gcc43.patch Patch1: matplotlib_gtk_tooltip.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -48,18 +49,52 @@ Requires: tkinter %description tk %{summary} +%package doc +Summary: Documentation files for python-matplotlib +Group: Documentation +Requires: %{name} = %{version}-%{release} +BuildRequires: python-sphinx +BuildRequires: tex(latex) +BuildRequires: dvipng +BuildRequires: PyQt4 +BuildRequires: python-basemap +# Some of the docs don't build as python-xlwt is needed. However the review +# request isn't yet complete for this package. See: +# https://bugzilla.redhat.com/show_bug.cgi?id=613766 +# BuildRequires: python-xlwt + +%description doc +%{summary} + %prep -%setup -q -n matplotlib-%{version} +%setup -q -n matplotlib-%{version} -b1 #%setup -q -n matplotlib-0.99.3 #%patch0 -p1 #%patch1 -p0 chmod -x lib/matplotlib/mpl-data/images/*.svg +# 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 '{}' \; + %build -cp %{SOURCE1} ./setup.cfg +cp %{SOURCE2} ./setup.cfg %{__python} setup.py build +# Build html documentation +%global py_ver %(echo `python -c "import sys; sys.stdout.write(sys.version[:3])"`) +%global sampledatadir %{_builddir}/mpl_sampledata-%{version} +%global libpath %{_builddir}/matplotlib-%{version}/build/lib.linux-%{_arch}-%{py_ver} +pushd doc +echo "examples.download : False" >> matplotlibrc +echo "examples.directory : %{sampledatadir}" >> matplotlibrc +# This really does need to be ran twice +echo $PYTHONPATH +export PYTHONPATH=%{libpath} +%{__python} make.py html && %{__python} make.py html +popd + %install rm -rf $RPM_BUILD_ROOT %{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT @@ -74,7 +109,7 @@ rm -rf $RPM_BUILD_ROOT %doc README.txt license/LICENSE license/LICENSE_enthought.txt %doc license/LICENSE_PAINT license/LICENSE_PIL %doc CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS -%doc PKG-INFO TODO examples +%doc PKG-INFO TODO %if 0%{?fedora} >= 9 %{python_sitearch}/*egg-info %endif @@ -91,8 +126,16 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/matplotlib/backends/tkagg.py* %{python_sitearch}/matplotlib/backends/_tkagg.so +%files doc +%doc doc/build/html +%doc examples %changelog +* Sat Feb 19 2011 Jonathan G. Underwood - 1.0.1-2 +- Build and package HTML documentation in -doc sub-package +- Move examples to -doc sub-package +- Make examples non-executable + * Fri Feb 18 2011 Thomas Spura - 1.0.1-1 - update to new bugfix version (#678489) - set file attributes in tk subpackage diff --git a/sources b/sources index ab14ade..01d6c2d 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ b4d61df73ffa715f5009063a4ba78745 matplotlib-1.0.1-without-gpc.tar.gz +24ee8b490f707a60ed5aaf7259f6bc40 mpl_sampledata-1.0.1.tar.gz From a706a1d6d8a3e5c3326d6fe5ac8b72fc3a197104 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Mon, 21 Feb 2011 22:11:02 +0000 Subject: [PATCH 063/240] Add conditional for optionally building doc sub-package --- python-matplotlib.spec | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 7940fd0..f8f9281 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -7,9 +7,16 @@ %filter_setup } +# We include capability for building a doc subpackage for +# documentation. However, building the documentation requires python-basemap, +# and python-basemap requires python-matplotlib to build, so we have a +# circular dependence, and so we need to be able to turn off building of the +# documents +%global withdocs 1 + Name: python-matplotlib Version: 1.0.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -49,6 +56,7 @@ Requires: tkinter %description tk %{summary} +%if %{withdocs} %package doc Summary: Documentation files for python-matplotlib Group: Documentation @@ -65,7 +73,7 @@ BuildRequires: python-basemap %description doc %{summary} - +%endif %prep %setup -q -n matplotlib-%{version} -b1 @@ -83,6 +91,7 @@ cp %{SOURCE2} ./setup.cfg %{__python} setup.py build # Build html documentation +%if %{withdocs} %global py_ver %(echo `python -c "import sys; sys.stdout.write(sys.version[:3])"`) %global sampledatadir %{_builddir}/mpl_sampledata-%{version} %global libpath %{_builddir}/matplotlib-%{version}/build/lib.linux-%{_arch}-%{py_ver} @@ -94,6 +103,7 @@ echo $PYTHONPATH export PYTHONPATH=%{libpath} %{__python} make.py html && %{__python} make.py html popd +%endif %install rm -rf $RPM_BUILD_ROOT @@ -126,11 +136,16 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/matplotlib/backends/tkagg.py* %{python_sitearch}/matplotlib/backends/_tkagg.so +%if %{withdocs} %files doc %doc doc/build/html %doc examples +%endif %changelog +* Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-3 +- Add conditional for optionally building doc sub-package + * Sat Feb 19 2011 Jonathan G. Underwood - 1.0.1-2 - Build and package HTML documentation in -doc sub-package - Move examples to -doc sub-package From f48deece5cbf140597fb216adbcfc719ce8e6ffd Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Mon, 21 Feb 2011 22:59:54 +0000 Subject: [PATCH 064/240] Build docs with low res images. Requires matplotlib-1.0.1-plot_directive.patch --- matplotlib-1.0.1-plot_directive.patch | 12 ++++++++++++ python-matplotlib.spec | 6 +++++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 matplotlib-1.0.1-plot_directive.patch diff --git a/matplotlib-1.0.1-plot_directive.patch b/matplotlib-1.0.1-plot_directive.patch new file mode 100644 index 0000000..a292292 --- /dev/null +++ b/matplotlib-1.0.1-plot_directive.patch @@ -0,0 +1,12 @@ +diff -uNr matplotlib-1.0.1.orig/lib/matplotlib/sphinxext/plot_directive.py matplotlib-1.0.1/lib/matplotlib/sphinxext/plot_directive.py +--- matplotlib-1.0.1.orig/lib/matplotlib/sphinxext/plot_directive.py 2011-01-23 05:42:08.000000000 +0900 ++++ matplotlib-1.0.1/lib/matplotlib/sphinxext/plot_directive.py 2011-01-23 05:44:48.000000000 +0900 +@@ -346,7 +346,7 @@ + del options['nofigs'] + + formats = setup.config.plot_formats +- if type(formats) == str: ++ if type(formats) == str or type(formats) == unicode: + formats = eval(formats) + + fname = os.path.basename(plot_path) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index f8f9281..5f34159 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -31,6 +31,7 @@ Source1: http://downloads.sourceforge.net/mpl_sampledata-%{version}.tar.gz Source2: setup.cfg Patch0: matplotlib-gcc43.patch Patch1: matplotlib_gtk_tooltip.patch +Patch2: matplotlib-1.0.1-plot_directive.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel @@ -80,6 +81,7 @@ BuildRequires: python-basemap #%setup -q -n matplotlib-0.99.3 #%patch0 -p1 #%patch1 -p0 +%patch2 -p1 chmod -x lib/matplotlib/mpl-data/images/*.svg # Ensure all example files are non-executable so that the -doc package doesn't @@ -101,7 +103,7 @@ echo "examples.directory : %{sampledatadir}" >> matplotlibrc # This really does need to be ran twice echo $PYTHONPATH export PYTHONPATH=%{libpath} -%{__python} make.py html && %{__python} make.py html +%{__python} make.py --small html && %{__python} make.py --small html popd %endif @@ -145,6 +147,8 @@ rm -rf $RPM_BUILD_ROOT %changelog * Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-3 - Add conditional for optionally building doc sub-package +- Add flag to build low res images for documentation +- Add matplotlib-1.0.1-plot_directive.patch to fix build of low res images * Sat Feb 19 2011 Jonathan G. Underwood - 1.0.1-2 - Build and package HTML documentation in -doc sub-package From fd9734a7cb24f7abb0908d9e6d78b960300c356b Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Mon, 21 Feb 2011 23:03:53 +0000 Subject: [PATCH 065/240] Remove unused patches --- matplotlib-0.87.7-matplotlibrc.patch | 13 ----- matplotlib-0.90.1-setup.patch | 53 ------------------ matplotlib-gcc43.patch | 63 ---------------------- matplotlib_gtk_tooltip.patch | 81 ---------------------------- python-matplotlib.spec | 10 ++-- 5 files changed, 3 insertions(+), 217 deletions(-) delete mode 100644 matplotlib-0.87.7-matplotlibrc.patch delete mode 100644 matplotlib-0.90.1-setup.patch delete mode 100644 matplotlib-gcc43.patch delete mode 100644 matplotlib_gtk_tooltip.patch diff --git a/matplotlib-0.87.7-matplotlibrc.patch b/matplotlib-0.87.7-matplotlibrc.patch deleted file mode 100644 index a172ebe..0000000 --- a/matplotlib-0.87.7-matplotlibrc.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- matplotlib-0.87/setup.py.orig 2006-02-14 11:11:32.000000000 -0700 -+++ matplotlib-0.87/setup.py 2006-02-27 15:19:28.000000000 -0700 -@@ -258,8 +258,8 @@ - - # packagers: set rc['numerix'] and rc['backend'] here to override the auto - # defaults, eg --#rc['numerix'] = numpy --#rc['backend'] = GTKAgg -+rc['numerix'] = 'numpy' -+rc['backend'] = 'GTKAgg' - if sys.platform=='win32': - rc = dict(backend='TkAgg', numerix='Numeric') - template = file('matplotlibrc.template').read() diff --git a/matplotlib-0.90.1-setup.patch b/matplotlib-0.90.1-setup.patch deleted file mode 100644 index 0c2624b..0000000 --- a/matplotlib-0.90.1-setup.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- matplotlib-0.90.1/setup.py.tkagg 2007-06-04 10:34:46.000000000 -0600 -+++ matplotlib-0.90.1/setup.py 2007-06-04 10:54:44.000000000 -0600 -@@ -28,13 +28,13 @@ - # it. It makes very nice antialiased output and also supports alpha - # blending - BUILD_AGG = 1 --BUILD_GTKAGG = 'auto' --BUILD_GTK = 'auto' -+BUILD_GTKAGG = 1 -+BUILD_GTK = 1 - - # build TK GUI with Agg renderer ; requires Tkinter Python extension - # and Tk includes - # Use False or 0 if you don't want to build --BUILD_TKAGG = 'auto' -+BUILD_TKAGG = 1 - - # build wxPython extension code to efficiently blit agg into wx. Only - # needed for wxpython <2.8 if you plan on doing animations -@@ -226,11 +226,11 @@ - - havegtk.gotit = None - --if BUILD_GTK and havegtk(): -+if BUILD_GTK: - build_gdk(ext_modules, packages, NUMERIX) - rc['backend'] = 'GTK' - --if BUILD_GTKAGG and havegtk(): -+if BUILD_GTKAGG: - BUILD_AGG = 1 - build_gtkagg(ext_modules, packages, NUMERIX) - rc['backend'] = 'GTKAgg' -@@ -245,16 +245,9 @@ - print 'Tkinter present but import failed' - BUILD_TKAGG = 0 - else: -- try: -- tk = Tkinter.Tk() -- tk.withdraw() -- except Tkinter.TclError: -- print 'Tkinter present, but window failed to open' -- BUILD_TKAGG = 0 -- else: -- BUILD_AGG = 1 -- build_tkagg(ext_modules, packages, NUMERIX) -- rc['backend'] = 'TkAgg' -+ BUILD_AGG = 1 -+ build_tkagg(ext_modules, packages, NUMERIX) -+ rc['backend'] = 'TkAgg' - - if BUILD_WXAGG: - try: diff --git a/matplotlib-gcc43.patch b/matplotlib-gcc43.patch deleted file mode 100644 index 7bbc66b..0000000 --- a/matplotlib-gcc43.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff -u -r matplotlib-0.91.2-old/ttconv/pprdrv.h matplotlib-0.91.2/ttconv/pprdrv.h ---- matplotlib-0.91.2-old/ttconv/pprdrv.h 2007-11-29 17:36:53.000000000 -0900 -+++ matplotlib-0.91.2/ttconv/pprdrv.h 2008-03-21 13:58:01.000000000 -0800 -@@ -20,7 +20,7 @@ - */ - - #include --#include -+#include - - /* - * Encapsulates all of the output to write to an arbitrary output -diff -u -r matplotlib-0.91.2-old/ttconv/pprdrv_tt2.cpp matplotlib-0.91.2/ttconv/pprdrv_tt2.cpp ---- matplotlib-0.91.2-old/ttconv/pprdrv_tt2.cpp 2007-11-29 17:36:53.000000000 -0900 -+++ matplotlib-0.91.2/ttconv/pprdrv_tt2.cpp 2008-03-21 16:04:49.000000000 -0800 -@@ -31,10 +31,11 @@ - */ - - #include "global_defines.h" --#include --#include --#include --#include -+#include -+#include -+#include -+#include -+#include - #include "pprdrv.h" - #include "truetype.h" - #include -diff -u -r matplotlib-0.91.2-old/ttconv/pprdrv_tt.cpp matplotlib-0.91.2/ttconv/pprdrv_tt.cpp ---- matplotlib-0.91.2-old/ttconv/pprdrv_tt.cpp 2007-11-29 17:36:53.000000000 -0900 -+++ matplotlib-0.91.2/ttconv/pprdrv_tt.cpp 2008-03-21 15:57:42.000000000 -0800 -@@ -23,9 +23,9 @@ - */ - - #include "global_defines.h" --#include --#include --#include -+#include -+#include -+#include - #include "pprdrv.h" - #include "truetype.h" - #include -diff -u -r matplotlib-0.91.2-old/ttconv/ttutil.cpp matplotlib-0.91.2/ttconv/ttutil.cpp ---- matplotlib-0.91.2-old/ttconv/ttutil.cpp 2007-11-29 17:36:53.000000000 -0900 -+++ matplotlib-0.91.2/ttconv/ttutil.cpp 2008-03-24 11:25:06.000000000 -0800 -@@ -8,9 +8,9 @@ - /* (c) Frank Siegert 1996 */ - - #include "global_defines.h" --#include --#include --#include -+#include -+#include -+#include - #include "pprdrv.h" - - #if DEBUG_TRUETYPE diff --git a/matplotlib_gtk_tooltip.patch b/matplotlib_gtk_tooltip.patch deleted file mode 100644 index e4c6091..0000000 --- a/matplotlib_gtk_tooltip.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- lib/matplotlib/backends/backend_gtk.py 2010/02/18 14:54:30 8141 -+++ lib/matplotlib/backends/backend_gtk.py 2010/03/20 22:49:25 8203 -@@ -17,6 +17,8 @@ - % (gtk.pygtk_version + pygtk_version_required)) - del pygtk_version_required - -+_new_tooltip_api = (gtk.pygtk_version[1] >= 12) -+ - import matplotlib - from matplotlib import verbose - from matplotlib._pylab_helpers import Gcf -@@ -448,7 +450,7 @@ - # diong a blanket catch here, but an not sure what a - # better way is - JDH - verbose.report('Could not load matplotlib icon: %s' % sys.exc_info()[1]) -- -+ - self.vbox = gtk.VBox() - self.window.add(self.vbox) - self.vbox.show() -@@ -618,7 +620,8 @@ - - def _init_toolbar2_4(self): - basedir = os.path.join(matplotlib.rcParams['datapath'],'images') -- self.tooltips = gtk.Tooltips() -+ if not _new_tooltip_api: -+ self.tooltips = gtk.Tooltips() - - for text, tooltip_text, image_file, callback in self.toolitems: - if text is None: -@@ -630,7 +633,10 @@ - tbutton = gtk.ToolButton(image, text) - self.insert(tbutton, -1) - tbutton.connect('clicked', getattr(self, callback)) -- tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private') -+ if _new_tooltip_api: -+ tbutton.set_tooltip_text(tooltip_text) -+ else: -+ tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private') - - toolitem = gtk.SeparatorToolItem() - self.insert(toolitem, -1) -@@ -760,7 +766,8 @@ - def _create_toolitems_2_4(self): - # use the GTK+ 2.4 GtkToolbar API - iconSize = gtk.ICON_SIZE_SMALL_TOOLBAR -- self.tooltips = gtk.Tooltips() -+ if not _new_tooltip_api: -+ self.tooltips = gtk.Tooltips() - - for text, tooltip_text, image_num, callback, callback_arg, scroll \ - in self.toolitems: -@@ -778,15 +785,22 @@ - tbutton.connect('clicked', getattr(self, callback)) - if scroll: - tbutton.connect('scroll_event', getattr(self, callback)) -- tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private') -+ if _new_tooltip_api: -+ tbutton.set_tooltip_text(tooltip_text) -+ else: -+ tbutton.set_tooltip(self.tooltips, tooltip_text, 'Private') - - # Axes toolitem, is empty at start, update() adds a menu if >=2 axes - self.axes_toolitem = gtk.ToolItem() - self.insert(self.axes_toolitem, 0) -- self.axes_toolitem.set_tooltip ( -- self.tooltips, -- tip_text='Select axes that controls affect', -- tip_private = 'Private') -+ if _new_tooltip_api: -+ self.axes_toolitem.set_tooltip_text( -+ 'Select axes that controls affect') -+ else: -+ self.axes_toolitem.set_tooltip ( -+ self.tooltips, -+ tip_text='Select axes that controls affect', -+ tip_private = 'Private') - - align = gtk.Alignment (xalign=0.5, yalign=0.5, xscale=0.0, yscale=0.0) - self.axes_toolitem.add(align) - diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 5f34159..d8d5e2c 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -29,9 +29,7 @@ URL: http://sourceforge.net/projects/matplotlib Source0: matplotlib-%{version}-without-gpc.tar.gz Source1: http://downloads.sourceforge.net/mpl_sampledata-%{version}.tar.gz Source2: setup.cfg -Patch0: matplotlib-gcc43.patch -Patch1: matplotlib_gtk_tooltip.patch -Patch2: matplotlib-1.0.1-plot_directive.patch +Patch0: matplotlib-1.0.1-plot_directive.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel @@ -78,10 +76,7 @@ BuildRequires: python-basemap %prep %setup -q -n matplotlib-%{version} -b1 -#%setup -q -n matplotlib-0.99.3 -#%patch0 -p1 -#%patch1 -p0 -%patch2 -p1 +%patch0 -p1 chmod -x lib/matplotlib/mpl-data/images/*.svg # Ensure all example files are non-executable so that the -doc package doesn't @@ -149,6 +144,7 @@ rm -rf $RPM_BUILD_ROOT - Add conditional for optionally building doc sub-package - Add flag to build low res images for documentation - Add matplotlib-1.0.1-plot_directive.patch to fix build of low res images +- Remove unused patches * Sat Feb 19 2011 Jonathan G. Underwood - 1.0.1-2 - Build and package HTML documentation in -doc sub-package From fa5fd50bfcfc1b5ea6917d1e84e2a63de14b5304 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Mon, 21 Feb 2011 23:54:27 +0000 Subject: [PATCH 066/240] Enable wxPython backend --- python-matplotlib.spec | 22 +++++++++++++++++++++- setup.cfg | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index d8d5e2c..bd20ca3 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -16,7 +16,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -55,6 +55,16 @@ Requires: tkinter %description tk %{summary} +%package wx +Summary: wxPython backend for python-matplotlib +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: wxPython +BuildRequires: wxPython-devel + +%description wx +%{summary} + %if %{withdocs} %package doc Summary: Documentation files for python-matplotlib @@ -126,6 +136,8 @@ rm -rf $RPM_BUILD_ROOT %exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.* %exclude %{python_sitearch}/matplotlib/backends/tkagg.* %exclude %{python_sitearch}/matplotlib/backends/_tkagg.so +%exclude %{python_sitearch}/matplotlib/backends/backend_wx.* +%exclude %{python_sitearch}/matplotlib/backends/backend_wxagg.* %files tk %defattr(-,root,root,-) @@ -133,6 +145,11 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/matplotlib/backends/tkagg.py* %{python_sitearch}/matplotlib/backends/_tkagg.so +%files wx +%defattr(-,root,root,-) +%{python_sitearch}/matplotlib/backends/backend_wx.py* +%{python_sitearch}/matplotlib/backends/backend_wxagg.py* + %if %{withdocs} %files doc %doc doc/build/html @@ -140,6 +157,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-4 +- Enable wxPython backend + * Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-3 - Add conditional for optionally building doc sub-package - Add flag to build low res images for documentation diff --git a/setup.cfg b/setup.cfg index fdeb182..76a43fb 100644 --- a/setup.cfg +++ b/setup.cfg @@ -57,7 +57,7 @@ configobj = False gtk = True gtkagg = True tkagg = True -wxagg = False +wxagg = True [rc_options] # User-configurable options From f26192de70b50c15aa3dc91deefc99dac2c97cb2 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Tue, 22 Feb 2011 00:43:45 +0000 Subject: [PATCH 067/240] Make -doc sub-package noarch --- python-matplotlib.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index bd20ca3..0099f37 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -69,6 +69,7 @@ BuildRequires: wxPython-devel %package doc Summary: Documentation files for python-matplotlib Group: Documentation +BuildArch: noarch Requires: %{name} = %{version}-%{release} BuildRequires: python-sphinx BuildRequires: tex(latex) @@ -159,6 +160,7 @@ rm -rf $RPM_BUILD_ROOT %changelog * Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-4 - Enable wxPython backend +- Make -doc sub-package noarch * Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-3 - Add conditional for optionally building doc sub-package From a48cf833ac4c27aadb5fd1fdbe73c83515788b0f Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Tue, 22 Feb 2011 11:24:05 +0000 Subject: [PATCH 068/240] Add default attr to doc sub-package file list --- python-matplotlib.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 0099f37..2b1a15c 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -16,7 +16,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -153,11 +153,15 @@ rm -rf $RPM_BUILD_ROOT %if %{withdocs} %files doc +%defattr(-,root,root,-) %doc doc/build/html %doc examples %endif %changelog +* Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-5 +- Add default attr to doc sub-package file list + * Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-4 - Enable wxPython backend - Make -doc sub-package noarch From ab4076906b23d372d081b9dd5be647f7f67a7630 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Tue, 22 Feb 2011 11:25:49 +0000 Subject: [PATCH 069/240] No longer designate -doc subpackage as noarch --- python-matplotlib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 2b1a15c..ab7e40a 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -69,7 +69,6 @@ BuildRequires: wxPython-devel %package doc Summary: Documentation files for python-matplotlib Group: Documentation -BuildArch: noarch Requires: %{name} = %{version}-%{release} BuildRequires: python-sphinx BuildRequires: tex(latex) @@ -161,6 +160,7 @@ rm -rf $RPM_BUILD_ROOT %changelog * Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-5 - Add default attr to doc sub-package file list +- No longer designate -doc subpackage as noarch * Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-4 - Enable wxPython backend From 06e45f00873e1002a8abc05edba2d88e85192d0d Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Tue, 22 Feb 2011 11:27:52 +0000 Subject: [PATCH 070/240] Add arch specific Requires for tk, wx and doc sub-packages --- python-matplotlib.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index ab7e40a..c7b4fe2 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -49,7 +49,7 @@ of output backends %package tk Summary: Tk backend for python-matplotlib Group: Development/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: tkinter %description tk @@ -58,7 +58,7 @@ Requires: tkinter %package wx Summary: wxPython backend for python-matplotlib Group: Development/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: wxPython BuildRequires: wxPython-devel @@ -69,7 +69,7 @@ BuildRequires: wxPython-devel %package doc Summary: Documentation files for python-matplotlib Group: Documentation -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} BuildRequires: python-sphinx BuildRequires: tex(latex) BuildRequires: dvipng @@ -161,6 +161,7 @@ rm -rf $RPM_BUILD_ROOT * Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-5 - Add default attr to doc sub-package file list - No longer designate -doc subpackage as noarch +- Add arch specific Requires for tk, wx and doc sub-packages * Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-4 - Enable wxPython backend From 680c73ce28a4833de8cb32d779780a479fed9b41 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Fri, 25 Feb 2011 15:24:34 +0000 Subject: [PATCH 071/240] Spec file cleanups to silence some rpmlint warnings --- python-matplotlib.spec | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c7b4fe2..bb5be7b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -16,7 +16,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -27,9 +27,9 @@ URL: http://sourceforge.net/projects/matplotlib #sha1sum matplotlib-1.0.1-without-gpc.tar.gz #a8ccbf4c4b9b90c773380cac83e792673837d3de matplotlib-1.0.1-without-gpc.tar.gz Source0: matplotlib-%{version}-without-gpc.tar.gz -Source1: http://downloads.sourceforge.net/mpl_sampledata-%{version}.tar.gz +Source1: http://downloads.sourceforge.net/matplotlib/mpl_sampledata-%{version}.tar.gz Source2: setup.cfg -Patch0: matplotlib-1.0.1-plot_directive.patch +Patch0: matplotlib-1.0.1-plot_directive.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel @@ -41,9 +41,9 @@ Requires: dejavu-sans-fonts %description Matplotlib is a pure python plotting library with the goal of making -publication quality plots using a syntax familiar to matlab users. The -library uses Numeric for handling large data sets and supports a variety -of output backends +publication quality plots using a syntax familiar to Matlab users. The +library uses numpy for handling large data sets and supports a variety +of output back-ends. %package tk @@ -70,11 +70,11 @@ BuildRequires: wxPython-devel Summary: Documentation files for python-matplotlib Group: Documentation Requires: %{name}%{?_isa} = %{version}-%{release} -BuildRequires: python-sphinx -BuildRequires: tex(latex) -BuildRequires: dvipng +BuildRequires: python-sphinx +BuildRequires: tex(latex) +BuildRequires: dvipng BuildRequires: PyQt4 -BuildRequires: python-basemap +BuildRequires: python-basemap # Some of the docs don't build as python-xlwt is needed. However the review # request isn't yet complete for this package. See: # https://bugzilla.redhat.com/show_bug.cgi?id=613766 @@ -158,6 +158,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Fri Feb 25 2011 Jonathan G. Underwood - 1.0.1-6 +- Spec file cleanups to silence some rpmlint warnings + * Mon Feb 21 2011 Jonathan G. Underwood - 1.0.1-5 - Add default attr to doc sub-package file list - No longer designate -doc subpackage as noarch @@ -270,7 +273,7 @@ rm -rf $RPM_BUILD_ROOT - Update to 0.90.0 * Tue Jan 5 2007 Orion Poplawski 0.87.7-4 -- Add examples to %docs +- Add examples to %%docs * Mon Dec 11 2006 Jef Spaleta 0.87.7-3 - Release bump for rebuild against python 2.5 in devel tree @@ -351,7 +354,7 @@ rm -rf $RPM_BUILD_ROOT * Thu Jun 30 2005 Orion Poplawski 0.82-2 - Rename to python-matplotlib - Remove unneeded Requires: python -- Add private directories to %files +- Add private directories to %%files * Tue Jun 28 2005 Orion Poplawski 0.82-1 - Initial package for Fedora Extras From 0e79a43bbfeaad7cd1c5f63a439f0ed89a0c9114 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Fri, 25 Feb 2011 17:07:26 +0000 Subject: [PATCH 072/240] Remove a debugging echo statement from the spec file Fix some line endings and permissions in -doc sub-package --- python-matplotlib.spec | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index bb5be7b..5e3bf62 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -16,7 +16,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -93,6 +93,9 @@ chmod -x lib/matplotlib/mpl-data/images/*.svg # drag in dependencies find examples -name '*.py' -exec chmod a-x '{}' \; +# Fix line ending in this example file +sed -i 's/\r//' examples/api/font_family_rc.py + %build cp %{SOURCE2} ./setup.cfg %{__python} setup.py build @@ -106,9 +109,11 @@ pushd doc echo "examples.download : False" >> matplotlibrc echo "examples.directory : %{sampledatadir}" >> matplotlibrc # This really does need to be ran twice -echo $PYTHONPATH export PYTHONPATH=%{libpath} %{__python} make.py --small html && %{__python} make.py --small html +rm -f html/.buildinfo +chmod -x html/pyplots/make.py +sed -i 's/\r//' html/_sources/devel/add_new_projection.txt popd %endif @@ -158,6 +163,10 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Fri Feb 25 2011 Jonathan G. Underwood - 1.0.1-7 +- Remove a debugging echo statement from the spec file +- Fix some line endings and permissions in -doc sub-package + * Fri Feb 25 2011 Jonathan G. Underwood - 1.0.1-6 - Spec file cleanups to silence some rpmlint warnings From 51417023efb602739a4b658ec1713d9506b9ac67 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Fri, 25 Feb 2011 17:58:00 +0000 Subject: [PATCH 073/240] Fix spec file typos so package builds --- python-matplotlib.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 5e3bf62..0ae1e34 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -16,7 +16,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -111,9 +111,10 @@ echo "examples.directory : %{sampledatadir}" >> matplotlibrc # This really does need to be ran twice export PYTHONPATH=%{libpath} %{__python} make.py --small html && %{__python} make.py --small html -rm -f html/.buildinfo -chmod -x html/pyplots/make.py -sed -i 's/\r//' html/_sources/devel/add_new_projection.txt +rm -f build/html/.buildinfo +chmod -x build/html/pyplots/make.py +sed -i 's/\r//' build/html/_sources/devel/add_new_projection.txt +sed -i 's/\r//' build/html/examples/api/font_family_rc.py popd %endif @@ -163,6 +164,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Sat Feb 26 2011 Jonathan G. Underwood - 1.0.1-8 +- Fix spec file typos so package builds + * Fri Feb 25 2011 Jonathan G. Underwood - 1.0.1-7 - Remove a debugging echo statement from the spec file - Fix some line endings and permissions in -doc sub-package From c7aa1a060f4cfa1c225ceb1d22338d9d100efd7e Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Sat, 26 Feb 2011 15:21:11 +0000 Subject: [PATCH 074/240] Bump and rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 0ae1e34..48cf10e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -16,7 +16,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -164,6 +164,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Sat Feb 26 2011 Jonathan G. Underwood - 1.0.1-9 +- Bump and rebuild + * Sat Feb 26 2011 Jonathan G. Underwood - 1.0.1-8 - Fix spec file typos so package builds From 664c62f2eeb928ccb6a081c8dfe144970dbd4c18 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Sat, 26 Feb 2011 15:54:02 +0000 Subject: [PATCH 075/240] Spec file cleanups for readability --- python-matplotlib.spec | 70 +++++++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 28 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 48cf10e..ee882c7 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -8,15 +8,15 @@ } # We include capability for building a doc subpackage for -# documentation. However, building the documentation requires python-basemap, -# and python-basemap requires python-matplotlib to build, so we have a -# circular dependence, and so we need to be able to turn off building of the -# documents -%global withdocs 1 +# documentation. However, building the html documentation requires +# python-basemap, and python-basemap requires python-matplotlib to build, so +# we have a circular dependence, and so we need to be able to turn off +# building of the html documents +%global withhtmldocs 1 Name: python-matplotlib Version: 1.0.1 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -27,13 +27,15 @@ URL: http://sourceforge.net/projects/matplotlib #sha1sum matplotlib-1.0.1-without-gpc.tar.gz #a8ccbf4c4b9b90c773380cac83e792673837d3de matplotlib-1.0.1-without-gpc.tar.gz Source0: matplotlib-%{version}-without-gpc.tar.gz +%if %{withhtmldocs} Source1: http://downloads.sourceforge.net/matplotlib/mpl_sampledata-%{version}.tar.gz +%endif Source2: setup.cfg +# This patch taken from upstream SVN and will not be needed for releases later than 1.0.1 Patch0: matplotlib-1.0.1-plot_directive.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel -BuildRequires: pygtk2-devel, gtk2-devel, tkinter, tk-devel +BuildRequires: pygtk2-devel, gtk2-devel BuildRequires: pytz, python-dateutil, numpy Requires: numpy, pytz, python-dateutil Requires: pycairo >= 1.2.0 @@ -50,6 +52,7 @@ of output back-ends. Summary: Tk backend for python-matplotlib Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} +BuildRequires: tkinter, tk-devel Requires: tkinter %description tk @@ -65,11 +68,11 @@ BuildRequires: wxPython-devel %description wx %{summary} -%if %{withdocs} %package doc Summary: Documentation files for python-matplotlib Group: Documentation Requires: %{name}%{?_isa} = %{version}-%{release} +%if %{withhtmldocs} BuildRequires: python-sphinx BuildRequires: tex(latex) BuildRequires: dvipng @@ -79,37 +82,38 @@ BuildRequires: python-basemap # request isn't yet complete for this package. See: # https://bugzilla.redhat.com/show_bug.cgi?id=613766 # BuildRequires: python-xlwt +%endif %description doc %{summary} -%endif %prep +%if %{withhtmldocs} %setup -q -n matplotlib-%{version} -b1 +%else +%setup -q -n matplotlib-%{version} +%endif + %patch0 -p1 chmod -x lib/matplotlib/mpl-data/images/*.svg -# 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 '{}' \; - -# Fix line ending in this example file -sed -i 's/\r//' examples/api/font_family_rc.py - -%build cp %{SOURCE2} ./setup.cfg -%{__python} setup.py build -# Build html documentation -%if %{withdocs} -%global py_ver %(echo `python -c "import sys; sys.stdout.write(sys.version[:3])"`) -%global sampledatadir %{_builddir}/mpl_sampledata-%{version} -%global libpath %{_builddir}/matplotlib-%{version}/build/lib.linux-%{_arch}-%{py_ver} +%if %{withhtmldocs} pushd doc echo "examples.download : False" >> matplotlibrc -echo "examples.directory : %{sampledatadir}" >> matplotlibrc +echo "examples.directory : %{_builddir}/mpl_sampledata-%{version}" >> matplotlibrc +popd +%endif + +%build +%{__python} setup.py build + +%if %{withhtmldocs} +pushd doc +%global py_ver %(echo `python -c "import sys; sys.stdout.write(sys.version[:3])"`) +export PYTHONPATH=%{_builddir}/matplotlib-%{version}/build/lib.linux-%{_arch}-%{py_ver} # This really does need to be ran twice -export PYTHONPATH=%{libpath} %{__python} make.py --small html && %{__python} make.py --small html rm -f build/html/.buildinfo chmod -x build/html/pyplots/make.py @@ -118,6 +122,13 @@ sed -i 's/\r//' build/html/examples/api/font_family_rc.py 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 '{}' \; + +# Fix line ending in this example file +sed -i 's/\r//' examples/api/font_family_rc.py + %install rm -rf $RPM_BUILD_ROOT %{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT @@ -156,14 +167,17 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/matplotlib/backends/backend_wx.py* %{python_sitearch}/matplotlib/backends/backend_wxagg.py* -%if %{withdocs} %files doc %defattr(-,root,root,-) -%doc doc/build/html %doc examples +%if %{withhtmldocs} +%doc doc/build/html %endif %changelog +* Sat Feb 26 2011 Jonathan G. Underwood - 1.0.1-10 +- Spec file cleanups for readability + * Sat Feb 26 2011 Jonathan G. Underwood - 1.0.1-9 - Bump and rebuild From 43d2ec145e0ca7c65ab5a0fd4b049b633e00eb35 Mon Sep 17 00:00:00 2001 From: "Jonathan G. Underwood" Date: Sat, 26 Feb 2011 19:15:31 +0000 Subject: [PATCH 076/240] Set PYTHONPATH during html doc building using find to prevent broken builds --- python-matplotlib.spec | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index ee882c7..f18b93f 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -11,12 +11,15 @@ # documentation. However, building the html documentation requires # python-basemap, and python-basemap requires python-matplotlib to build, so # we have a circular dependence, and so we need to be able to turn off -# building of the html documents +# building of the html documents. Note that when building the html docs, +# python-basemap will pull in the existing python-matplotlib from the +# repos. So, it's important to set PYTHONPATH to use the newly built modules +# from this package. %global withhtmldocs 1 Name: python-matplotlib Version: 1.0.1 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -111,8 +114,8 @@ popd %if %{withhtmldocs} pushd doc -%global py_ver %(echo `python -c "import sys; sys.stdout.write(sys.version[:3])"`) -export PYTHONPATH=%{_builddir}/matplotlib-%{version}/build/lib.linux-%{_arch}-%{py_ver} +# Set PYTHONPATH in order to use the just built modules +export PYTHONPATH=`find %{_builddir} -name lib.linux*` # This really does need to be ran twice %{__python} make.py --small html && %{__python} make.py --small html rm -f build/html/.buildinfo @@ -175,6 +178,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Sat Feb 26 2011 Jonathan G. Underwood - 1.0.1-11 +- Set PYTHONPATH during html doc building using find to prevent broken builds + * Sat Feb 26 2011 Jonathan G. Underwood - 1.0.1-10 - Spec file cleanups for readability From e461fe631eeb21c447d78ecf9ffba4755f9639c6 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 20 May 2011 16:44:50 -0600 Subject: [PATCH 077/240] Add Requires dvipng (Bug 684836) Build against system agg (Bug 612807) Use system pyparsing (Bug 702160) --- matplotlib-1.0.1-noagg.patch | 82 ++++++++++++++++++++++++++++++++++++ python-matplotlib.spec | 21 ++++++++- 2 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 matplotlib-1.0.1-noagg.patch diff --git a/matplotlib-1.0.1-noagg.patch b/matplotlib-1.0.1-noagg.patch new file mode 100644 index 0000000..687f8b2 --- /dev/null +++ b/matplotlib-1.0.1-noagg.patch @@ -0,0 +1,82 @@ +diff -up matplotlib-1.0.1/MANIFEST.in.noagg matplotlib-1.0.1/MANIFEST.in +--- matplotlib-1.0.1/MANIFEST.in.noagg 2010-07-06 19:41:55.000000000 -0600 ++++ matplotlib-1.0.1/MANIFEST.in 2011-05-20 15:45:38.337580769 -0600 +@@ -18,6 +18,5 @@ recursive-include examples * + recursive-include doc * + recursive-include src *.cpp *.c *.h *.m + recursive-include CXX *.cxx *.hxx *.c *.h +-recursive-include agg24 * + recursive-include lib * + recursive-include ttconv *.cpp *.h +diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py +--- matplotlib-1.0.1/setupext.py.noagg 2010-07-06 19:41:55.000000000 -0600 ++++ matplotlib-1.0.1/setupext.py 2011-05-20 16:11:56.977764688 -0600 +@@ -104,7 +104,6 @@ BUILT_GDK = False + BUILT_PATH = False + BUILT_TRI = False + +-AGG_VERSION = 'agg24' + TCL_TK_CACHE = None + + # for nonstandard installation/build with --prefix variable +@@ -551,7 +550,8 @@ def add_agg_flags(module): + # before adding the freetype flags since -z comes later + add_base_flags(module) + add_numpy_flags(module) +- module.include_dirs.extend(['src', '%s/include'%AGG_VERSION, '.']) ++ module.include_dirs.extend(['src', '/usr/include/agg2', '.']) ++ module.libraries.append('agg') + + # put these later for correct link order + module.libraries.extend(std_libs) +@@ -1251,17 +1251,7 @@ def build_agg(ext_modules, packages): + global BUILT_AGG + if BUILT_AGG: return # only build it if you you haven't already + +- agg = ( +- 'agg_trans_affine.cpp', +- 'agg_bezier_arc.cpp', +- 'agg_curves.cpp', +- 'agg_vcgen_dash.cpp', +- 'agg_vcgen_stroke.cpp', +- 'agg_image_filters.cpp', +- ) +- +- deps = ['%s/src/%s'%(AGG_VERSION, name) for name in agg] +- deps.extend(['src/mplutils.cpp', 'src/agg_py_transforms.cpp']) ++ deps = ['src/mplutils.cpp', 'src/agg_py_transforms.cpp'] + deps.extend(glob.glob('CXX/*.cxx')) + deps.extend(glob.glob('CXX/*.c')) + temp_copy('src/_backend_agg.cpp', 'src/backend_agg.cpp') +@@ -1284,15 +1274,7 @@ def build_path(ext_modules, packages): + global BUILT_PATH + if BUILT_PATH: return # only build it if you you haven't already + +- agg = ( +- 'agg_curves.cpp', +- 'agg_bezier_arc.cpp', +- 'agg_trans_affine.cpp', +- 'agg_vcgen_stroke.cpp', +- ) +- +- deps = ['%s/src/%s'%(AGG_VERSION, name) for name in agg] +- deps.extend(glob.glob('CXX/*.cxx')) ++ deps = glob.glob('CXX/*.cxx') + deps.extend(glob.glob('CXX/*.c')) + + temp_copy('src/_path.cpp', 'src/path.cpp') +@@ -1317,14 +1299,8 @@ def build_image(ext_modules, packages): + global BUILT_IMAGE + if BUILT_IMAGE: return # only build it if you you haven't already + +- agg = ('agg_trans_affine.cpp', +- 'agg_image_filters.cpp', +- 'agg_bezier_arc.cpp', +- ) +- + temp_copy('src/_image.cpp', 'src/image.cpp') + deps = ['src/image.cpp', 'src/mplutils.cpp'] +- deps.extend(['%s/src/%s'%(AGG_VERSION,name) for name in agg]) + deps.extend(glob.glob('CXX/*.cxx')) + deps.extend(glob.glob('CXX/*.c')) + diff --git a/python-matplotlib.spec b/python-matplotlib.spec index f18b93f..08b87ea 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -19,7 +19,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -36,13 +36,18 @@ Source1: http://downloads.sourceforge.net/matplotlib/mpl_sampledata-%{ver Source2: setup.cfg # This patch taken from upstream SVN and will not be needed for releases later than 1.0.1 Patch0: matplotlib-1.0.1-plot_directive.patch +Patch1: matplotlib-1.0.1-noagg.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel BuildRequires: pygtk2-devel, gtk2-devel BuildRequires: pytz, python-dateutil, numpy +BuildRequires: agg-devel +BuildRequires: pyparsing Requires: numpy, pytz, python-dateutil Requires: pycairo >= 1.2.0 Requires: dejavu-sans-fonts +Requires: dvipng +Requires: pyparsing %description Matplotlib is a pure python plotting library with the goal of making @@ -96,8 +101,15 @@ BuildRequires: python-basemap %else %setup -q -n matplotlib-%{version} %endif - %patch0 -p1 + +# Remove bundled libraries +rm -r agg24 lib/matplotlib//pyparsing.py + +# Remove references to bundled libraries +%patch1 -p1 -b .noagg +sed -i -e s/matplotlib\.pyparsing/pyparsing/g lib/matplotlib/*.py + chmod -x lib/matplotlib/mpl-data/images/*.svg cp %{SOURCE2} ./setup.cfg @@ -178,6 +190,11 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Fri May 20 2011 Orion Poplawski - 1.0.1-12 +- Add Requires dvipng (Bug 684836) +- Build against system agg (Bug 612807) +- Use system pyparsing (Bug 702160) + * Sat Feb 26 2011 Jonathan G. Underwood - 1.0.1-11 - Set PYTHONPATH during html doc building using find to prevent broken builds From aacc15245c75114917c7e2a4811594cd8d0b654a Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Thu, 15 Sep 2011 14:47:56 -0800 Subject: [PATCH 078/240] apply upstream bugfix for timezone formatting (Bug 735677) --- python-matplotlib.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 08b87ea..65aea7d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -19,7 +19,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -37,6 +37,7 @@ Source2: setup.cfg # This patch taken from upstream SVN and will not be needed for releases later than 1.0.1 Patch0: matplotlib-1.0.1-plot_directive.patch Patch1: matplotlib-1.0.1-noagg.patch +Patch2: 0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel BuildRequires: pygtk2-devel, gtk2-devel @@ -102,6 +103,7 @@ BuildRequires: python-basemap %setup -q -n matplotlib-%{version} %endif %patch0 -p1 +%patch2 -p1 # Remove bundled libraries rm -r agg24 lib/matplotlib//pyparsing.py @@ -190,6 +192,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Thu Sep 15 2011 Jef Spaleta - 1.0.1-13 +- apply upstream bugfix for timezone formatting (Bug 735677) + * Fri May 20 2011 Orion Poplawski - 1.0.1-12 - Add Requires dvipng (Bug 684836) - Build against system agg (Bug 612807) From 15f4723084f30960c4774f6cdd65bfb9aa1e577f Mon Sep 17 00:00:00 2001 From: Jef Spaleta Date: Thu, 15 Sep 2011 14:48:08 -0800 Subject: [PATCH 079/240] apply upstream bugfix for timezone formatting (Bug 735677) --- ...-timezone-info-in-plot_date-xaxis_da.patch | 188 ++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch diff --git a/0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch b/0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch new file mode 100644 index 0000000..12f47cc --- /dev/null +++ b/0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch @@ -0,0 +1,188 @@ +--- a/lib/matplotlib/axes.py ++++ b/lib/matplotlib/axes.py +@@ -2679,18 +2679,20 @@ class Axes(martist.Artist): + def xaxis_date(self, tz=None): + """Sets up x-axis ticks and labels that treat the x data as dates. + +- *tz* is the time zone to use in labeling dates. Defaults to rc value. ++ *tz* is a timezone string or :class:`tzinfo` instance. ++ Defaults to rc value. + """ + # should be enough to inform the unit conversion interface +- # dates are comng in +- self.xaxis.axis_date() ++ # dates are coming in ++ self.xaxis.axis_date(tz) + + def yaxis_date(self, tz=None): + """Sets up y-axis ticks and labels that treat the y data as dates. + +- *tz* is the time zone to use in labeling dates. Defaults to rc value. ++ *tz* is a timezone string or :class:`tzinfo` instance. ++ Defaults to rc value. + """ +- self.yaxis.axis_date() ++ self.yaxis.axis_date(tz) + + def format_xdata(self, x): + """ +@@ -3808,7 +3810,7 @@ class Axes(martist.Artist): + *fmt*: string + The plot format string. + +- *tz*: [ None | timezone string ] ++ *tz*: [ None | timezone string | :class:`tzinfo` instance] + The time zone to use in labeling dates. If *None*, defaults to rc + value. + +diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py +index 85e078c..a825d8e 100644 +--- a/lib/matplotlib/axis.py ++++ b/lib/matplotlib/axis.py +@@ -1249,21 +1249,21 @@ class Axis(artist.Artist): + def update_units(self, data): + """ + introspect *data* for units converter and update the +- axis.converter instance if necessary. Return *True* is *data* is +- registered for unit conversion ++ axis.converter instance if necessary. Return *True* ++ if *data* is registered for unit conversion. + """ + + converter = munits.registry.get_converter(data) +- if converter is None: return False ++ if converter is None: ++ return False + + neednew = self.converter!=converter + self.converter = converter + default = self.converter.default_units(data, self) +- #print 'update units: default="%s", units=%s"'%(default, self.units) ++ #print 'update units: default=%s, units=%s'%(default, self.units) + if default is not None and self.units is None: + self.set_units(default) + +- + if neednew: + self._update_axisinfo() + return True +@@ -1484,14 +1484,21 @@ class Axis(artist.Artist): + self.major.locator.zoom(direction) + + +- def axis_date(self): ++ def axis_date(self, tz=None): + """ + Sets up x-axis ticks and labels that treat the x data as dates. ++ *tz* is a :class:`tzinfo` instance or a timezone string. ++ This timezone is used to create date labels. + """ ++ # By providing a sample datetime instance with the desired ++ # timezone, the registered converter can be selected, ++ # and the "units" attribute, which is the timezone, can ++ # be set. + import datetime +- # should be enough to inform the unit conversion interface +- # dates are comng in +- self.update_units(datetime.date(2009,1,1)) ++ if isinstance(tz, (str, unicode)): ++ import pytz ++ tz = pytz.timezone(tz) ++ self.update_units(datetime.datetime(2009,1,1,0,0,0,0,tz)) + + + class XAxis(Axis): +diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py +index 7a2f9f3..9018315 100644 +--- a/lib/matplotlib/dates.py ++++ b/lib/matplotlib/dates.py +@@ -1104,15 +1104,26 @@ def weeks(w): + + + class DateConverter(units.ConversionInterface): +- """The units are equivalent to the timezone.""" ++ """ ++ Converter for datetime.date and datetime.datetime data, ++ or for date/time data represented as it would be converted ++ by :func:`date2num`. ++ ++ The 'unit' tag for such data is None or a tzinfo instance. ++ """ + + @staticmethod + def axisinfo(unit, axis): +- 'return the unit AxisInfo' +- # make sure that the axis does not start at 0 ++ """ ++ Return the :class:`~matplotlib.units.AxisInfo` for *unit*. ++ ++ *unit* is a tzinfo instance or None. ++ The *axis* argument is required but not used. ++ """ ++ tz = unit + +- majloc = AutoDateLocator(tz=unit) +- majfmt = AutoDateFormatter(majloc, tz=unit) ++ majloc = AutoDateLocator(tz=tz) ++ majfmt = AutoDateFormatter(majloc, tz=tz) + datemin = datetime.date(2000, 1, 1) + datemax = datetime.date(2010, 1, 1) + +@@ -1121,12 +1132,28 @@ class DateConverter(units.ConversionInterface): + + @staticmethod + def convert(value, unit, axis): +- if units.ConversionInterface.is_numlike(value): return value ++ """ ++ If *value* is not already a number or sequence of numbers, ++ convert it with :func:`date2num`. ++ ++ The *unit* and *axis* arguments are not used. ++ """ ++ if units.ConversionInterface.is_numlike(value): ++ return value + return date2num(value) + + @staticmethod + def default_units(x, axis): +- 'Return the default unit for *x* or None' ++ 'Return the tzinfo instance of *x* or of its first element, or None' ++ try: ++ x = x[0] ++ except (TypeError, IndexError): ++ pass ++ ++ try: ++ return x.tzinfo ++ except AttributeError: ++ pass + return None + + +diff --git a/lib/matplotlib/units.py b/lib/matplotlib/units.py +index 700363a..59b570e 100644 +--- a/lib/matplotlib/units.py ++++ b/lib/matplotlib/units.py +@@ -7,8 +7,8 @@ objects, eg a list of datetime objects, as well as for objects that + are unit aware. We don't assume any particular units implementation, + rather a units implementation must provide a ConversionInterface, and + the register with the Registry converter dictionary. For example, +-here is a complete implementation which support plotting with native +-datetime objects ++here is a complete implementation which supports plotting with native ++datetime objects:: + + + import matplotlib.units as units +@@ -48,7 +48,7 @@ from matplotlib.cbook import iterable, is_numlike, is_string_like + class AxisInfo: + 'information to support default axis labeling and tick labeling, and default limits' + def __init__(self, majloc=None, minloc=None, +- majfmt=None, minfmt=None, label=None, ++ majfmt=None, minfmt=None, label=None, + default_limits=None): + """ + majloc and minloc: TickLocators for the major and minor ticks +-- +1.7.6.2 + From 5446c87d151fa496e0430a4be99217aed5532a21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Mon, 31 Oct 2011 15:24:03 +0100 Subject: [PATCH 080/240] fix build with new Tkinter which doesn't return an expected value in __version__ --- matplotlib-1.0.1-tkinter.patch | 12 ++++++++++++ python-matplotlib.spec | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 matplotlib-1.0.1-tkinter.patch diff --git a/matplotlib-1.0.1-tkinter.patch b/matplotlib-1.0.1-tkinter.patch new file mode 100644 index 0000000..1b92e72 --- /dev/null +++ b/matplotlib-1.0.1-tkinter.patch @@ -0,0 +1,12 @@ +diff -up matplotlib-1.0.1/setupext.py.tkinter matplotlib-1.0.1/setupext.py +--- matplotlib-1.0.1/setupext.py.tkinter 2011-10-31 14:58:44.000000000 +0100 ++++ matplotlib-1.0.1/setupext.py 2011-10-31 14:59:14.000000000 +0100 +@@ -829,7 +829,7 @@ def check_for_tk(): + + if gotit: + print_status("Tkinter", "Tkinter: %s, Tk: %s, Tcl: %s" % +- (Tkinter.__version__.split()[-2], Tkinter.TkVersion, Tkinter.TclVersion)) ++ (Tkinter.__version__, Tkinter.TkVersion, Tkinter.TclVersion)) + else: + print_status("Tkinter", "no") + if explanation is not None: diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 65aea7d..5291f6b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -19,7 +19,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -38,6 +38,8 @@ Source2: setup.cfg Patch0: matplotlib-1.0.1-plot_directive.patch Patch1: matplotlib-1.0.1-noagg.patch Patch2: 0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch +# fix build when Tkinter doesn't return an expected value in __version__ (FTBFS) +Patch3: matplotlib-1.0.1-tkinter.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel BuildRequires: pygtk2-devel, gtk2-devel @@ -104,6 +106,7 @@ BuildRequires: python-basemap %endif %patch0 -p1 %patch2 -p1 +%patch3 -p1 -b .tkinter # Remove bundled libraries rm -r agg24 lib/matplotlib//pyparsing.py @@ -192,6 +195,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Mon Oct 31 2011 Dan Horák - 1.0.1-14 +- fix build with new Tkinter which doesn't return an expected value in __version__ + * Thu Sep 15 2011 Jef Spaleta - 1.0.1-13 - apply upstream bugfix for timezone formatting (Bug 735677) From 04e2e0f5633ab1776598ba0d4fcea6af9de3fd3b Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 6 Dec 2011 00:56:12 -0500 Subject: [PATCH 081/240] Rebuild for new libpng --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 5291f6b..fad9d58 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -19,7 +19,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -195,6 +195,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Tue Dec 06 2011 Adam Jackson - 1.0.1-15 +- Rebuild for new libpng + * Mon Oct 31 2011 Dan Horák - 1.0.1-14 - fix build with new Tkinter which doesn't return an expected value in __version__ From 313dac93e1db40205d312165d9b1aec6aa096225 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 6 Dec 2011 15:10:01 -0500 Subject: [PATCH 082/240] fix egg-info conditional for RHEL --- python-matplotlib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index fad9d58..45c4edb 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -19,7 +19,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 15%{?dist} +Release: 16%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -164,7 +164,7 @@ rm -rf $RPM_BUILD_ROOT %doc license/LICENSE_PAINT license/LICENSE_PIL %doc CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS %doc PKG-INFO TODO -%if 0%{?fedora} >= 9 +%if 0%{?fedora} >= 9 || 0%{?rhel} >= 6 %{python_sitearch}/*egg-info %endif %{python_sitearch}/matplotlib/ @@ -195,6 +195,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Tue Dec 6 2011 David Malcolm - 1.0.1-16 +- fix egg-info conditional for RHEL + * Tue Dec 06 2011 Adam Jackson - 1.0.1-15 - Rebuild for new libpng From 630c235008578cc387f03acb55f23d190b787fc2 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 6 Dec 2011 16:55:19 -0500 Subject: [PATCH 083/240] fix the build against libpng 1.5 --- python-matplotlib.spec | 12 ++++- use-png-accessor-functions.patch | 79 ++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 use-png-accessor-functions.patch diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 45c4edb..efdf300 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -19,7 +19,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 16%{?dist} +Release: 17%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -40,6 +40,12 @@ Patch1: matplotlib-1.0.1-noagg.patch Patch2: 0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch # fix build when Tkinter doesn't return an expected value in __version__ (FTBFS) Patch3: matplotlib-1.0.1-tkinter.patch + +# Fix building against libpng 1.5 +# Based on: +# https://github.com/matplotlib/matplotlib/commit/45c46672648e3b4a277bf7ff42b3baf56a98bcec +Patch4: use-png-accessor-functions.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel BuildRequires: pygtk2-devel, gtk2-devel @@ -107,6 +113,7 @@ BuildRequires: python-basemap %patch0 -p1 %patch2 -p1 %patch3 -p1 -b .tkinter +%patch4 -p1 # Remove bundled libraries rm -r agg24 lib/matplotlib//pyparsing.py @@ -195,6 +202,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Tue Dec 6 2011 David Malcolm - 1.0.1-17 +- fix the build against libpng 1.5 + * Tue Dec 6 2011 David Malcolm - 1.0.1-16 - fix egg-info conditional for RHEL diff --git a/use-png-accessor-functions.patch b/use-png-accessor-functions.patch new file mode 100644 index 0000000..60d5b0c --- /dev/null +++ b/use-png-accessor-functions.patch @@ -0,0 +1,79 @@ +diff -up matplotlib-1.0.1/CHANGELOG.png15 matplotlib-1.0.1/CHANGELOG +diff -up matplotlib-1.0.1/doc/users/installing.rst.png15 matplotlib-1.0.1/doc/users/installing.rst +--- matplotlib-1.0.1/doc/users/installing.rst.png15 2010-07-06 21:41:46.000000000 -0400 ++++ matplotlib-1.0.1/doc/users/installing.rst 2011-12-06 16:29:05.824621532 -0500 +@@ -138,7 +138,7 @@ libraries themselves. + array support for python (`download + `__) + +-libpng 1.1 (or later) ++libpng 1.2 (or later) + library for loading and saving :term:`PNG` files (`download + `__). libpng requires + zlib. If you are a windows user, you can ignore this since we +diff -up matplotlib-1.0.1/src/_png.cpp.png15 matplotlib-1.0.1/src/_png.cpp +--- matplotlib-1.0.1/src/_png.cpp.png15 2010-10-12 12:14:42.000000000 -0400 ++++ matplotlib-1.0.1/src/_png.cpp 2011-12-06 16:29:05.825621532 -0500 +@@ -350,10 +350,10 @@ _png_module::read_png(const Py::Tuple& a + png_set_sig_bytes(png_ptr, 8); + png_read_info(png_ptr, info_ptr); + +- png_uint_32 width = info_ptr->width; +- png_uint_32 height = info_ptr->height; ++ png_uint_32 width = png_get_image_width(png_ptr, info_ptr); ++ png_uint_32 height = png_get_image_height(png_ptr, info_ptr); + +- int bit_depth = info_ptr->bit_depth; ++ int bit_depth = png_get_bit_depth(png_ptr, info_ptr); + + // Unpack 1, 2, and 4-bit images + if (bit_depth < 8) +@@ -361,7 +361,7 @@ _png_module::read_png(const Py::Tuple& a + + // If sig bits are set, shift data + png_color_8p sig_bit; +- if ((info_ptr->color_type != PNG_COLOR_TYPE_PALETTE) && ++ if ((png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_PALETTE) && + png_get_sBIT(png_ptr, info_ptr, &sig_bit)) + { + png_set_shift(png_ptr, sig_bit); +@@ -374,13 +374,13 @@ _png_module::read_png(const Py::Tuple& a + } + + // Convert palletes to full RGB +- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) ++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) + { + png_set_palette_to_rgb(png_ptr); + } + + // If there's an alpha channel convert gray to RGB +- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) ++ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) + { + png_set_gray_to_rgb(png_ptr); + } +@@ -408,11 +408,11 @@ _png_module::read_png(const Py::Tuple& a + npy_intp dimensions[3]; + dimensions[0] = height; //numrows + dimensions[1] = width; //numcols +- if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA) ++ if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA) + { + dimensions[2] = 4; //RGBA images + } +- else if (info_ptr->color_type & PNG_COLOR_MASK_COLOR) ++ else if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_COLOR) + { + dimensions[2] = 3; //RGB images + } +@@ -421,7 +421,8 @@ _png_module::read_png(const Py::Tuple& a + dimensions[2] = 1; //Greyscale images + } + //For gray, return an x by y array, not an x by y by 1 +- int num_dims = (info_ptr->color_type & PNG_COLOR_MASK_COLOR) ? 3 : 2; ++ int num_dims = (png_get_color_type(png_ptr, info_ptr) ++ & PNG_COLOR_MASK_COLOR) ? 3 : 2; + + double max_value = (1 << ((bit_depth < 8) ? 8 : bit_depth)) - 1; + PyArrayObject *A = (PyArrayObject *) PyArray_SimpleNew( From 70576db6a2d7e94f214198f967c44804691a7c85 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Tue, 6 Dec 2011 17:04:00 -0500 Subject: [PATCH 084/240] add link to upstream libpng 1.5 issue --- python-matplotlib.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index efdf300..a02e940 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -42,6 +42,7 @@ Patch2: 0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch Patch3: matplotlib-1.0.1-tkinter.patch # Fix building against libpng 1.5 +# https://github.com/matplotlib/matplotlib/issues/234 # Based on: # https://github.com/matplotlib/matplotlib/commit/45c46672648e3b4a277bf7ff42b3baf56a98bcec Patch4: use-png-accessor-functions.patch From 887890bd4a9f807145513f7f9234519ed6e6680d Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 13 Jan 2012 19:52:36 -0600 Subject: [PATCH 085/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index a02e940..f9cc4e6 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -19,7 +19,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 17%{?dist} +Release: 18%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -203,6 +203,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Sat Jan 14 2012 Fedora Release Engineering - 1.0.1-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Tue Dec 6 2011 David Malcolm - 1.0.1-17 - fix the build against libpng 1.5 From 05e0e0bf4c4b06f2a1f00082280b005eaf08e8b3 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 28 Feb 2012 13:45:09 -0600 Subject: [PATCH 086/240] - Rebuilt for c++ ABI breakage --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index f9cc4e6..ac66200 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -19,7 +19,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 18%{?dist} +Release: 19%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -203,6 +203,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Tue Feb 28 2012 Fedora Release Engineering - 1.0.1-19 +- Rebuilt for c++ ABI breakage + * Sat Jan 14 2012 Fedora Release Engineering - 1.0.1-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild From 2114656575e644ca49500c4987041d5b114b2f2f Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Wed, 18 Apr 2012 16:25:06 -0400 Subject: [PATCH 087/240] 1.0.1-20: remove wx support for rhel >= 7 * Wed Apr 18 2012 David Malcolm - 1.0.1-20 - remove wx support for rhel >= 7 --- disable-wx-in-setup.cfg.patch | 12 ++++++++++++ python-matplotlib.spec | 24 +++++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 disable-wx-in-setup.cfg.patch diff --git a/disable-wx-in-setup.cfg.patch b/disable-wx-in-setup.cfg.patch new file mode 100644 index 0000000..46520bf --- /dev/null +++ b/disable-wx-in-setup.cfg.patch @@ -0,0 +1,12 @@ +diff -up matplotlib-1.0.1/setup.cfg.disable-wx-in-setup.cfg matplotlib-1.0.1/setup.cfg +--- matplotlib-1.0.1/setup.cfg.disable-wx-in-setup.cfg 2012-04-18 15:54:40.408040980 -0400 ++++ matplotlib-1.0.1/setup.cfg 2012-04-18 15:54:40.412040931 -0400 +@@ -57,7 +57,7 @@ configobj = False + gtk = True + gtkagg = True + tkagg = True +-wxagg = True ++wxagg = False + + [rc_options] + # User-configurable options diff --git a/python-matplotlib.spec b/python-matplotlib.spec index ac66200..29958cd 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -17,9 +17,16 @@ # from this package. %global withhtmldocs 1 +# On RHEL 7 onwards, don't build the wx: +%if 0%{?rhel} >= 7 +%global with_wx 0 +%else +%global with_wx 1 +%endif + Name: python-matplotlib Version: 1.0.1 -Release: 19%{?dist} +Release: 20%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -47,6 +54,9 @@ Patch3: matplotlib-1.0.1-tkinter.patch # https://github.com/matplotlib/matplotlib/commit/45c46672648e3b4a277bf7ff42b3baf56a98bcec Patch4: use-png-accessor-functions.patch +# Conditionally applied, when disabling wx support: +Patch5: disable-wx-in-setup.cfg.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel BuildRequires: pygtk2-devel, gtk2-devel @@ -76,6 +86,7 @@ Requires: tkinter %description tk %{summary} +%if 0%{with_wx} %package wx Summary: wxPython backend for python-matplotlib Group: Development/Libraries @@ -85,6 +96,7 @@ BuildRequires: wxPython-devel %description wx %{summary} +%endif # if 0%{with_wx} %package doc Summary: Documentation files for python-matplotlib @@ -126,6 +138,10 @@ sed -i -e s/matplotlib\.pyparsing/pyparsing/g lib/matplotlib/*.py chmod -x lib/matplotlib/mpl-data/images/*.svg cp %{SOURCE2} ./setup.cfg +%if !0%{with_wx} +# Patch the new copy of setup.cfg to remove wx support: +%patch5 -p1 +%endif %if %{withhtmldocs} pushd doc @@ -190,10 +206,13 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/matplotlib/backends/tkagg.py* %{python_sitearch}/matplotlib/backends/_tkagg.so +%if 0%{with_wx} %files wx %defattr(-,root,root,-) %{python_sitearch}/matplotlib/backends/backend_wx.py* %{python_sitearch}/matplotlib/backends/backend_wxagg.py* +%endif # if 0%{with_wx} + %files doc %defattr(-,root,root,-) @@ -203,6 +222,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Wed Apr 18 2012 David Malcolm - 1.0.1-20 +- remove wx support for rhel >= 7 + * Tue Feb 28 2012 Fedora Release Engineering - 1.0.1-19 - Rebuilt for c++ ABI breakage From 8a5f96fc9dcee709c965ab26f26bb36e88d76c12 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 21 Jul 2012 02:08:31 -0500 Subject: [PATCH 088/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 29958cd..f028c06 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -26,7 +26,7 @@ Name: python-matplotlib Version: 1.0.1 -Release: 20%{?dist} +Release: 21%{?dist} Summary: Python plotting library Group: Development/Libraries @@ -222,6 +222,9 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Sat Jul 21 2012 Fedora Release Engineering - 1.0.1-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Wed Apr 18 2012 David Malcolm - 1.0.1-20 - remove wx support for rhel >= 7 From cfeed650349e572ba31030f6cdd923c51066d119 Mon Sep 17 00:00:00 2001 From: pcpa Date: Tue, 27 Nov 2012 18:01:54 -0200 Subject: [PATCH 089/240] Update to matplotlib 1.2.0 (#837156) --- ...-timezone-info-in-plot_date-xaxis_da.patch | 188 ---------- disable-wx-in-setup.cfg.patch | 12 - matplotlib-1.0.1-plot_directive.patch | 12 - matplotlib-1.0.1-tkinter.patch | 12 - ...agg.patch => python-matplotlib-noagg.patch | 27 +- python-matplotlib-tk.patch | 35 ++ python-matplotlib.spec | 336 ++++++++++-------- setup.cfg | 81 ----- use-png-accessor-functions.patch | 79 ---- 9 files changed, 237 insertions(+), 545 deletions(-) delete mode 100644 0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch delete mode 100644 disable-wx-in-setup.cfg.patch delete mode 100644 matplotlib-1.0.1-plot_directive.patch delete mode 100644 matplotlib-1.0.1-tkinter.patch rename matplotlib-1.0.1-noagg.patch => python-matplotlib-noagg.patch (69%) create mode 100644 python-matplotlib-tk.patch delete mode 100644 setup.cfg delete mode 100644 use-png-accessor-functions.patch diff --git a/0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch b/0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch deleted file mode 100644 index 12f47cc..0000000 --- a/0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch +++ /dev/null @@ -1,188 +0,0 @@ ---- a/lib/matplotlib/axes.py -+++ b/lib/matplotlib/axes.py -@@ -2679,18 +2679,20 @@ class Axes(martist.Artist): - def xaxis_date(self, tz=None): - """Sets up x-axis ticks and labels that treat the x data as dates. - -- *tz* is the time zone to use in labeling dates. Defaults to rc value. -+ *tz* is a timezone string or :class:`tzinfo` instance. -+ Defaults to rc value. - """ - # should be enough to inform the unit conversion interface -- # dates are comng in -- self.xaxis.axis_date() -+ # dates are coming in -+ self.xaxis.axis_date(tz) - - def yaxis_date(self, tz=None): - """Sets up y-axis ticks and labels that treat the y data as dates. - -- *tz* is the time zone to use in labeling dates. Defaults to rc value. -+ *tz* is a timezone string or :class:`tzinfo` instance. -+ Defaults to rc value. - """ -- self.yaxis.axis_date() -+ self.yaxis.axis_date(tz) - - def format_xdata(self, x): - """ -@@ -3808,7 +3810,7 @@ class Axes(martist.Artist): - *fmt*: string - The plot format string. - -- *tz*: [ None | timezone string ] -+ *tz*: [ None | timezone string | :class:`tzinfo` instance] - The time zone to use in labeling dates. If *None*, defaults to rc - value. - -diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py -index 85e078c..a825d8e 100644 ---- a/lib/matplotlib/axis.py -+++ b/lib/matplotlib/axis.py -@@ -1249,21 +1249,21 @@ class Axis(artist.Artist): - def update_units(self, data): - """ - introspect *data* for units converter and update the -- axis.converter instance if necessary. Return *True* is *data* is -- registered for unit conversion -+ axis.converter instance if necessary. Return *True* -+ if *data* is registered for unit conversion. - """ - - converter = munits.registry.get_converter(data) -- if converter is None: return False -+ if converter is None: -+ return False - - neednew = self.converter!=converter - self.converter = converter - default = self.converter.default_units(data, self) -- #print 'update units: default="%s", units=%s"'%(default, self.units) -+ #print 'update units: default=%s, units=%s'%(default, self.units) - if default is not None and self.units is None: - self.set_units(default) - -- - if neednew: - self._update_axisinfo() - return True -@@ -1484,14 +1484,21 @@ class Axis(artist.Artist): - self.major.locator.zoom(direction) - - -- def axis_date(self): -+ def axis_date(self, tz=None): - """ - Sets up x-axis ticks and labels that treat the x data as dates. -+ *tz* is a :class:`tzinfo` instance or a timezone string. -+ This timezone is used to create date labels. - """ -+ # By providing a sample datetime instance with the desired -+ # timezone, the registered converter can be selected, -+ # and the "units" attribute, which is the timezone, can -+ # be set. - import datetime -- # should be enough to inform the unit conversion interface -- # dates are comng in -- self.update_units(datetime.date(2009,1,1)) -+ if isinstance(tz, (str, unicode)): -+ import pytz -+ tz = pytz.timezone(tz) -+ self.update_units(datetime.datetime(2009,1,1,0,0,0,0,tz)) - - - class XAxis(Axis): -diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py -index 7a2f9f3..9018315 100644 ---- a/lib/matplotlib/dates.py -+++ b/lib/matplotlib/dates.py -@@ -1104,15 +1104,26 @@ def weeks(w): - - - class DateConverter(units.ConversionInterface): -- """The units are equivalent to the timezone.""" -+ """ -+ Converter for datetime.date and datetime.datetime data, -+ or for date/time data represented as it would be converted -+ by :func:`date2num`. -+ -+ The 'unit' tag for such data is None or a tzinfo instance. -+ """ - - @staticmethod - def axisinfo(unit, axis): -- 'return the unit AxisInfo' -- # make sure that the axis does not start at 0 -+ """ -+ Return the :class:`~matplotlib.units.AxisInfo` for *unit*. -+ -+ *unit* is a tzinfo instance or None. -+ The *axis* argument is required but not used. -+ """ -+ tz = unit - -- majloc = AutoDateLocator(tz=unit) -- majfmt = AutoDateFormatter(majloc, tz=unit) -+ majloc = AutoDateLocator(tz=tz) -+ majfmt = AutoDateFormatter(majloc, tz=tz) - datemin = datetime.date(2000, 1, 1) - datemax = datetime.date(2010, 1, 1) - -@@ -1121,12 +1132,28 @@ class DateConverter(units.ConversionInterface): - - @staticmethod - def convert(value, unit, axis): -- if units.ConversionInterface.is_numlike(value): return value -+ """ -+ If *value* is not already a number or sequence of numbers, -+ convert it with :func:`date2num`. -+ -+ The *unit* and *axis* arguments are not used. -+ """ -+ if units.ConversionInterface.is_numlike(value): -+ return value - return date2num(value) - - @staticmethod - def default_units(x, axis): -- 'Return the default unit for *x* or None' -+ 'Return the tzinfo instance of *x* or of its first element, or None' -+ try: -+ x = x[0] -+ except (TypeError, IndexError): -+ pass -+ -+ try: -+ return x.tzinfo -+ except AttributeError: -+ pass - return None - - -diff --git a/lib/matplotlib/units.py b/lib/matplotlib/units.py -index 700363a..59b570e 100644 ---- a/lib/matplotlib/units.py -+++ b/lib/matplotlib/units.py -@@ -7,8 +7,8 @@ objects, eg a list of datetime objects, as well as for objects that - are unit aware. We don't assume any particular units implementation, - rather a units implementation must provide a ConversionInterface, and - the register with the Registry converter dictionary. For example, --here is a complete implementation which support plotting with native --datetime objects -+here is a complete implementation which supports plotting with native -+datetime objects:: - - - import matplotlib.units as units -@@ -48,7 +48,7 @@ from matplotlib.cbook import iterable, is_numlike, is_string_like - class AxisInfo: - 'information to support default axis labeling and tick labeling, and default limits' - def __init__(self, majloc=None, minloc=None, -- majfmt=None, minfmt=None, label=None, -+ majfmt=None, minfmt=None, label=None, - default_limits=None): - """ - majloc and minloc: TickLocators for the major and minor ticks --- -1.7.6.2 - diff --git a/disable-wx-in-setup.cfg.patch b/disable-wx-in-setup.cfg.patch deleted file mode 100644 index 46520bf..0000000 --- a/disable-wx-in-setup.cfg.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up matplotlib-1.0.1/setup.cfg.disable-wx-in-setup.cfg matplotlib-1.0.1/setup.cfg ---- matplotlib-1.0.1/setup.cfg.disable-wx-in-setup.cfg 2012-04-18 15:54:40.408040980 -0400 -+++ matplotlib-1.0.1/setup.cfg 2012-04-18 15:54:40.412040931 -0400 -@@ -57,7 +57,7 @@ configobj = False - gtk = True - gtkagg = True - tkagg = True --wxagg = True -+wxagg = False - - [rc_options] - # User-configurable options diff --git a/matplotlib-1.0.1-plot_directive.patch b/matplotlib-1.0.1-plot_directive.patch deleted file mode 100644 index a292292..0000000 --- a/matplotlib-1.0.1-plot_directive.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr matplotlib-1.0.1.orig/lib/matplotlib/sphinxext/plot_directive.py matplotlib-1.0.1/lib/matplotlib/sphinxext/plot_directive.py ---- matplotlib-1.0.1.orig/lib/matplotlib/sphinxext/plot_directive.py 2011-01-23 05:42:08.000000000 +0900 -+++ matplotlib-1.0.1/lib/matplotlib/sphinxext/plot_directive.py 2011-01-23 05:44:48.000000000 +0900 -@@ -346,7 +346,7 @@ - del options['nofigs'] - - formats = setup.config.plot_formats -- if type(formats) == str: -+ if type(formats) == str or type(formats) == unicode: - formats = eval(formats) - - fname = os.path.basename(plot_path) diff --git a/matplotlib-1.0.1-tkinter.patch b/matplotlib-1.0.1-tkinter.patch deleted file mode 100644 index 1b92e72..0000000 --- a/matplotlib-1.0.1-tkinter.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up matplotlib-1.0.1/setupext.py.tkinter matplotlib-1.0.1/setupext.py ---- matplotlib-1.0.1/setupext.py.tkinter 2011-10-31 14:58:44.000000000 +0100 -+++ matplotlib-1.0.1/setupext.py 2011-10-31 14:59:14.000000000 +0100 -@@ -829,7 +829,7 @@ def check_for_tk(): - - if gotit: - print_status("Tkinter", "Tkinter: %s, Tk: %s, Tcl: %s" % -- (Tkinter.__version__.split()[-2], Tkinter.TkVersion, Tkinter.TclVersion)) -+ (Tkinter.__version__, Tkinter.TkVersion, Tkinter.TclVersion)) - else: - print_status("Tkinter", "no") - if explanation is not None: diff --git a/matplotlib-1.0.1-noagg.patch b/python-matplotlib-noagg.patch similarity index 69% rename from matplotlib-1.0.1-noagg.patch rename to python-matplotlib-noagg.patch index 687f8b2..9ca49e8 100644 --- a/matplotlib-1.0.1-noagg.patch +++ b/python-matplotlib-noagg.patch @@ -1,17 +1,7 @@ -diff -up matplotlib-1.0.1/MANIFEST.in.noagg matplotlib-1.0.1/MANIFEST.in ---- matplotlib-1.0.1/MANIFEST.in.noagg 2010-07-06 19:41:55.000000000 -0600 -+++ matplotlib-1.0.1/MANIFEST.in 2011-05-20 15:45:38.337580769 -0600 -@@ -18,6 +18,5 @@ recursive-include examples * - recursive-include doc * - recursive-include src *.cpp *.c *.h *.m - recursive-include CXX *.cxx *.hxx *.c *.h --recursive-include agg24 * - recursive-include lib * - recursive-include ttconv *.cpp *.h -diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py ---- matplotlib-1.0.1/setupext.py.noagg 2010-07-06 19:41:55.000000000 -0600 -+++ matplotlib-1.0.1/setupext.py 2011-05-20 16:11:56.977764688 -0600 -@@ -104,7 +104,6 @@ BUILT_GDK = False +diff -up matplotlib-1.2.0/setupext.py.orig matplotlib-1.2.0/setupext.py +--- matplotlib-1.2.0/setupext.py.orig 2012-11-23 14:49:21.295712608 -0200 ++++ matplotlib-1.2.0/setupext.py 2012-11-23 14:49:31.508712999 -0200 +@@ -96,7 +96,6 @@ BUILT_GDK = False BUILT_PATH = False BUILT_TRI = False @@ -19,7 +9,7 @@ diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py TCL_TK_CACHE = None # for nonstandard installation/build with --prefix variable -@@ -551,7 +550,8 @@ def add_agg_flags(module): +@@ -621,7 +620,8 @@ def add_agg_flags(module): # before adding the freetype flags since -z comes later add_base_flags(module) add_numpy_flags(module) @@ -29,7 +19,7 @@ diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py # put these later for correct link order module.libraries.extend(std_libs) -@@ -1251,17 +1251,7 @@ def build_agg(ext_modules, packages): +@@ -1220,17 +1220,7 @@ def build_agg(ext_modules, packages): global BUILT_AGG if BUILT_AGG: return # only build it if you you haven't already @@ -48,11 +38,12 @@ diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py deps.extend(glob.glob('CXX/*.cxx')) deps.extend(glob.glob('CXX/*.c')) temp_copy('src/_backend_agg.cpp', 'src/backend_agg.cpp') -@@ -1284,15 +1274,7 @@ def build_path(ext_modules, packages): +@@ -1253,16 +1243,7 @@ def build_path(ext_modules, packages): global BUILT_PATH if BUILT_PATH: return # only build it if you you haven't already - agg = ( +- 'agg_vcgen_contour.cpp', - 'agg_curves.cpp', - 'agg_bezier_arc.cpp', - 'agg_trans_affine.cpp', @@ -65,7 +56,7 @@ diff -up matplotlib-1.0.1/setupext.py.noagg matplotlib-1.0.1/setupext.py deps.extend(glob.glob('CXX/*.c')) temp_copy('src/_path.cpp', 'src/path.cpp') -@@ -1317,14 +1299,8 @@ def build_image(ext_modules, packages): +@@ -1287,14 +1268,8 @@ def build_image(ext_modules, packages): global BUILT_IMAGE if BUILT_IMAGE: return # only build it if you you haven't already diff --git a/python-matplotlib-tk.patch b/python-matplotlib-tk.patch new file mode 100644 index 0000000..1048019 --- /dev/null +++ b/python-matplotlib-tk.patch @@ -0,0 +1,35 @@ +diff -up matplotlib-1.2.0/setupext.py.orig matplotlib-1.2.0/setupext.py +--- matplotlib-1.2.0/setupext.py.orig 2012-11-23 14:50:48.954715965 -0200 ++++ matplotlib-1.2.0/setupext.py 2012-11-23 14:55:53.731727636 -0200 +@@ -898,12 +898,12 @@ def parse_tcl_config(tcl_lib_dir, tk_lib + + tcl_poss = [tcl_lib_dir, + os.path.normpath(os.path.join(tcl_lib_dir, '..')), +- "/usr/lib/tcl"+str(Tkinter.TclVersion), +- "/usr/lib"] ++ "@@libdir@@/tcl"+str(Tkinter.TclVersion), ++ "@@lib@@"] + tk_poss = [tk_lib_dir, + os.path.normpath(os.path.join(tk_lib_dir, '..')), +- "/usr/lib/tk"+str(Tkinter.TkVersion), +- "/usr/lib"] ++ "@@libdir@@/tk"+str(Tkinter.TkVersion), ++ "@@libdir@@"] + for ptcl, ptk in zip(tcl_poss, tk_poss): + tcl_config = os.path.join(ptcl, "tclConfig.sh") + tk_config = os.path.join(ptk, "tkConfig.sh") +@@ -974,10 +974,10 @@ def guess_tcl_config(tcl_lib_dir, tk_lib + return tcl_lib, tcl_inc, 'tcl' + tk_ver, tk_lib, tk_inc, 'tk' + tk_ver + + def hardcoded_tcl_config(): +- tcl_inc = "/usr/local/include" +- tk_inc = "/usr/local/include" +- tcl_lib = "/usr/local/lib" +- tk_lib = "/usr/local/lib" ++ tcl_inc = "/usr/include" ++ tk_inc = "/usr/include" ++ tcl_lib = "@@libdir@@" ++ tk_lib = "@@libdir@@" + return tcl_lib, tcl_inc, 'tcl', tk_lib, tk_inc, 'tk' + + def add_tk_flags(module): diff --git a/python-matplotlib.spec b/python-matplotlib.spec index f028c06..bc43a83 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,196 +1,190 @@ -%if ! (0%{?rhel} > 5) -%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} -%endif - -%{?filter_setup: -%filter_provides_in %{python_sitearch}/.*\.so$ -%filter_setup -} - -# We include capability for building a doc subpackage for -# documentation. However, building the html documentation requires -# python-basemap, and python-basemap requires python-matplotlib to build, so -# we have a circular dependence, and so we need to be able to turn off -# building of the html documents. Note that when building the html docs, -# python-basemap will pull in the existing python-matplotlib from the -# repos. So, it's important to set PYTHONPATH to use the newly built modules -# from this package. -%global withhtmldocs 1 - -# On RHEL 7 onwards, don't build the wx: -%if 0%{?rhel} >= 7 -%global with_wx 0 +%if 0%{?fedora} >= 18 +%global with_python3 1 +%global basepy3dir %(echo ../`basename %{py3dir}`) %else -%global with_wx 1 +%global with_python3 0 %endif +%global __provides_exclude_from .*/site-packages/.*\\.so$ +%global with_html 1 Name: python-matplotlib -Version: 1.0.1 -Release: 21%{?dist} -Summary: Python plotting library - +Version: 1.2.0 +Release: 3%{?dist} +Summary: Python 2D plotting library Group: Development/Libraries License: Python -URL: http://sourceforge.net/projects/matplotlib +URL: http://matplotlib.org #Modified Sources to remove the one undistributable file #See generate-tarball.sh in fedora cvs repository for logic -#sha1sum matplotlib-1.0.1-without-gpc.tar.gz -#a8ccbf4c4b9b90c773380cac83e792673837d3de matplotlib-1.0.1-without-gpc.tar.gz +#sha1sum matplotlib-1.2.0-without-gpc.tar.gz +#92ada4ef4e7374d67e46e30bfb08c3fed068d680 matplotlib-1.2.0-without-gpc.tar.gz Source0: matplotlib-%{version}-without-gpc.tar.gz -%if %{withhtmldocs} -Source1: http://downloads.sourceforge.net/matplotlib/mpl_sampledata-%{version}.tar.gz -%endif -Source2: setup.cfg -# This patch taken from upstream SVN and will not be needed for releases later than 1.0.1 -Patch0: matplotlib-1.0.1-plot_directive.patch -Patch1: matplotlib-1.0.1-noagg.patch -Patch2: 0001-Bugfix-propagate-timezone-info-in-plot_date-xaxis_da.patch -# fix build when Tkinter doesn't return an expected value in __version__ (FTBFS) -Patch3: matplotlib-1.0.1-tkinter.patch -# Fix building against libpng 1.5 -# https://github.com/matplotlib/matplotlib/issues/234 -# Based on: -# https://github.com/matplotlib/matplotlib/commit/45c46672648e3b4a277bf7ff42b3baf56a98bcec -Patch4: use-png-accessor-functions.patch +Patch0: %{name}-noagg.patch +Patch1: %{name}-tk.patch -# Conditionally applied, when disabling wx support: -Patch5: disable-wx-in-setup.cfg.patch - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: python-devel, freetype-devel, libpng-devel, zlib-devel -BuildRequires: pygtk2-devel, gtk2-devel -BuildRequires: pytz, python-dateutil, numpy BuildRequires: agg-devel +BuildRequires: freetype-devel +BuildRequires: gtk2-devel +BuildRequires: libpng-devel +BuildRequires: numpy +BuildRequires: pycairo-devel BuildRequires: pyparsing -Requires: numpy, pytz, python-dateutil -Requires: pycairo >= 1.2.0 +BuildRequires: python-dateutil +BuildRequires: python2-devel +BuildRequires: pytz +BuildRequires: zlib-devel Requires: dejavu-sans-fonts Requires: dvipng +Requires: numpy +Requires: pycairo Requires: pyparsing +Requires: python-dateutil +Requires: pytz %description -Matplotlib is a pure python plotting library with the goal of making -publication quality plots using a syntax familiar to Matlab users. The -library uses numpy for handling large data sets and supports a variety -of output back-ends. +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 tk Summary: Tk backend for python-matplotlib Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} -BuildRequires: tkinter, tk-devel +BuildRequires: tcl-devel +BuildRequires: tkinter +BuildRequires: tk-devel Requires: tkinter %description tk %{summary} -%if 0%{with_wx} -%package wx -Summary: wxPython backend for python-matplotlib -Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: wxPython -BuildRequires: wxPython-devel - -%description wx -%{summary} -%endif # if 0%{with_wx} - %package doc Summary: Documentation files for python-matplotlib Group: Documentation Requires: %{name}%{?_isa} = %{version}-%{release} -%if %{withhtmldocs} +%if %{with_html} BuildRequires: python-sphinx BuildRequires: tex(latex) BuildRequires: dvipng -BuildRequires: PyQt4 -BuildRequires: python-basemap -# Some of the docs don't build as python-xlwt is needed. However the review -# request isn't yet complete for this package. See: -# https://bugzilla.redhat.com/show_bug.cgi?id=613766 -# BuildRequires: python-xlwt %endif %description doc %{summary} -%prep -%if %{withhtmldocs} -%setup -q -n matplotlib-%{version} -b1 -%else -%setup -q -n matplotlib-%{version} +%if %{with_python3} +%package -n python3-matplotlib +Summary: Python 2D plotting library +Group: Development/Libraries +BuildRequires: python3-cairo +BuildRequires: python3-dateutil +BuildRequires: python3-devel +BuildRequires: python3-gobject +BuildRequires: python3-numpy +BuildRequires: python3-pyparsing +BuildRequires: python3-pytz +BuildRequires: python3-six +Requires: python3-numpy +Requires: python3-cairo +Requires: python3-pyparsing +Requires: python3-dateutil +Requires: python3-pytz + +%description -n python3-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 python3-matplotlib-tk +Summary: Tk backend for python3-matplotlib +Group: Development/Libraries +Requires: python3-matplotlib%{?_isa} = %{version}-%{release} +BuildRequires: python3-tkinter +Requires: python3-tkinter + +%description -n python3-matplotlib-tk +%{summary} %endif -%patch0 -p1 -%patch2 -p1 -%patch3 -p1 -b .tkinter -%patch4 -p1 + +%prep +%setup -q -n matplotlib-%{version} # Remove bundled libraries -rm -r agg24 lib/matplotlib//pyparsing.py +rm -r agg24 lib/matplotlib/pyparsing_py?.py # Remove references to bundled libraries -%patch1 -p1 -b .noagg -sed -i -e s/matplotlib\.pyparsing/pyparsing/g lib/matplotlib/*.py +%patch0 -p1 -b .noagg +sed -i -e s/matplotlib\.pyparsing_py./pyparsing/g lib/matplotlib/*.py + +# Correct tcl/tk detection +%patch1 -p1 -b .tk +sed -i -e 's|@@@libdir@@@|%{_libdir}|' setupext.py chmod -x lib/matplotlib/mpl-data/images/*.svg -cp %{SOURCE2} ./setup.cfg -%if !0%{with_wx} -# Patch the new copy of setup.cfg to remove wx support: -%patch5 -p1 -%endif - -%if %{withhtmldocs} -pushd doc -echo "examples.download : False" >> matplotlibrc -echo "examples.directory : %{_builddir}/mpl_sampledata-%{version}" >> matplotlibrc -popd +%if %{?with_python3} +rm -rf %{py3dir} +cp -a . %{py3dir} %endif %build -%{__python} setup.py build - -%if %{withhtmldocs} +%{__python2} setup.py build +%if %{with_html} +# Need to make built matplotlib libs available for the sphinx extensions: pushd doc -# Set PYTHONPATH in order to use the just built modules -export PYTHONPATH=`find %{_builddir} -name lib.linux*` -# This really does need to be ran twice -%{__python} make.py --small html && %{__python} make.py --small html -rm -f build/html/.buildinfo -chmod -x build/html/pyplots/make.py -sed -i 's/\r//' build/html/_sources/devel/add_new_projection.txt -sed -i 's/\r//' build/html/examples/api/font_family_rc.py + export PYTHONPATH=`realpath ../build/lib.linux*` + %{__python2} 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} +pushd %{py3dir} + %{__python3} setup.py build + # documentation cannot be built with python3 due to syntax errors + # and building with python 2 exits with cryptic error messages 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 '{}' \; - -# Fix line ending in this example file -sed -i 's/\r//' examples/api/font_family_rc.py - %install -rm -rf $RPM_BUILD_ROOT %{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py rm -rf $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/fonts -%clean -rm -rf $RPM_BUILD_ROOT +%if %{with_python3} +pushd %{py3dir} + %{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT + chmod +x $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/dates.py + rm -rf $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data/fonts + rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py +popd +%endif %files -%defattr(-,root,root,-) -%doc README.txt license/LICENSE license/LICENSE_enthought.txt -%doc license/LICENSE_PAINT license/LICENSE_PIL -%doc CHANGELOG CXX INSTALL INTERACTIVE KNOWN_BUGS -%doc PKG-INFO TODO -%if 0%{?fedora} >= 9 || 0%{?rhel} >= 6 +%doc README.txt +%doc lib/dateutil_py2/LICENSE +%doc lib/matplotlib/mpl-data/fonts/ttf/LICENSE_STIX +%doc lib/pytz/LICENSE.txt +%doc CHANGELOG +%doc CXX +%doc INSTALL +%doc PKG-INFO +%doc TODO %{python_sitearch}/*egg-info -%endif %{python_sitearch}/matplotlib/ %{python_sitearch}/mpl_toolkits/ %{python_sitearch}/pylab.py* @@ -201,30 +195,86 @@ rm -rf $RPM_BUILD_ROOT %exclude %{python_sitearch}/matplotlib/backends/backend_wxagg.* %files tk -%defattr(-,root,root,-) %{python_sitearch}/matplotlib/backends/backend_tkagg.py* %{python_sitearch}/matplotlib/backends/tkagg.py* %{python_sitearch}/matplotlib/backends/_tkagg.so -%if 0%{with_wx} -%files wx -%defattr(-,root,root,-) -%{python_sitearch}/matplotlib/backends/backend_wx.py* -%{python_sitearch}/matplotlib/backends/backend_wxagg.py* -%endif # if 0%{with_wx} - - %files doc -%defattr(-,root,root,-) %doc examples -%if %{withhtmldocs} -%doc doc/build/html +%if %{with_html} +%doc doc/build/html/* +%endif + +%if %{with_python3} +%files -n python3-matplotlib +%doc %{basepy3dir}/README.txt +%doc %{basepy3dir}/lib/dateutil_py3/LICENSE +%doc %{basepy3dir}/lib/matplotlib/mpl-data/fonts/ttf/LICENSE_STIX +%doc %{basepy3dir}/lib/pytz/LICENSE.txt +%doc %{basepy3dir}/CHANGELOG +%doc %{basepy3dir}/CXX +%doc %{basepy3dir}/INSTALL +%doc %{basepy3dir}/PKG-INFO +%doc %{basepy3dir}/TODO +%{python3_sitearch}/*egg-info +%{python3_sitearch}/matplotlib/ +%{python3_sitearch}/mpl_toolkits/ +%{python3_sitearch}/pylab.py* +%{python3_sitearch}/__pycache__/* +%exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.* +%exclude %{python3_sitearch}/matplotlib/backends/tkagg.* +%exclude %{python3_sitearch}/matplotlib/backends/_tkagg.* + +%files -n python3-matplotlib-tk +%{python3_sitearch}/matplotlib/backends/backend_tkagg.py* +%{python3_sitearch}/matplotlib/backends/tkagg.* +%{python3_sitearch}/matplotlib/backends/_tkagg.* %endif %changelog +* Tue Nov 27 2012 pcpa - 1.2.0-3 +- Enable python 3 in fc18 as build requires are now available (#879731) + +* Thu Nov 22 2012 pcpa - 1.2.0-2 +- Build python3 only on f19 or newer (#837156) +- Build requires python3-six if building python3 support (#837156) + +* Thu Nov 22 2012 pcpa - 1.2.0-1 +- Update to version 1.2.0 +- Revert to regenerate tarball with generate-tarball.sh (#837156) +- Assume update to 1.2.0 is for recent releases +- Remove %%defattr +- Remove %%clean +- Use simpler approach to build html documentation +- Do not use custom/outdated setup.cfg +- Put one BuildRequires per line +- Enable python3 support +- Cleanup spec as wx backend is no longer supported +- Use default agg backend +- Fix bogus dates in changelog by assuming only week day was wrong + +* Fri Aug 17 2012 Jerry James - 1.1.1-1 +- Update to version 1.1.1. +- Remove obsolete spec file elements +- Fix sourceforge URLs +- Allow sample data to have a different version number than the sources +- Don't bother removing problematic file since we remove entire agg24 directory +- Fix building with pygtk in the absence of an X server +- Don't install license text for bundled software that we don't bundle + * Sat Jul 21 2012 Fedora Release Engineering - 1.0.1-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild +* Tue Jul 3 2012 pcpa - 1.1.0-1 +- Update to version 1.1.0. +- Do not regenerate upstream tarball but remove problematic file in %%prep. +- Remove non longer applicable/required patch0. +- Rediff/rename -noagg patch. +- Remove propagate-timezone-info-in-plot_date-xaxis_da patch already applied. +- Remove tkinter patch now with critical code in a try block. +- Remove png 1.5 patch as upstream is now png 1.5 aware. +- Update file list. + * Wed Apr 18 2012 David Malcolm - 1.0.1-20 - remove wx support for rhel >= 7 @@ -345,7 +395,7 @@ rm -rf $RPM_BUILD_ROOT * Wed Aug 6 2008 Jef Spaleta - 0.98.3-1 - Latest upstream release -* Fri Jul 1 2008 Jef Spaleta - 0.98.1-1 +* Tue Jul 1 2008 Jef Spaleta - 0.98.1-1 - Latest upstream release * Fri Mar 21 2008 Jef Spaleta - 0.91.2-2 @@ -384,7 +434,7 @@ rm -rf $RPM_BUILD_ROOT * Fri Feb 09 2007 Orion Poplawski 0.90.0-1 - Update to 0.90.0 -* Tue Jan 5 2007 Orion Poplawski 0.87.7-4 +* Fri Jan 5 2007 Orion Poplawski 0.87.7-4 - Add examples to %%docs * Mon Dec 11 2006 Jef Spaleta 0.87.7-3 diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 76a43fb..0000000 --- a/setup.cfg +++ /dev/null @@ -1,81 +0,0 @@ -# Rename this file to setup.cfg to modify matplotlib's -# build options. - -[egg_info] -tag_svn_revision = 1 - -[status] -# To suppress display of the dependencies and their versions -# at the top of the build log, uncomment the following line: -#suppress = True -# -# Uncomment to insert lots of diagnostic prints in extension code -#verbose = True - -[provide_packages] -# By default, matplotlib checks for a few dependencies and -# installs them if missing. This feature can be turned off -# by uncommenting the following lines. Acceptible values are: -# True: install, overwrite an existing installation -# False: do not install -# auto: install only if the package is unavailable. This -# is the default behavior -# -## Date/timezone support: -#pytz = False -#dateutil = False -# -## Experimental config package support: -enthought.traits = False -configobj = False - -[gui_support] -# Matplotlib supports multiple GUI toolkits, including Cocoa, -# GTK, Fltk, Qt, Qt4, Tk, and WX. Support for many of these -# toolkits requires AGG, the Anti-Grain Geometry library, which -# is provided by matplotlib and built by default. -# -# Some backends are written in pure Python, and others require -# extension code to be compiled. By default, matplotlib checks -# for these GUI toolkits during installation and, if present, -# compiles the required extensions to support the toolkit. GTK -# support requires the GTK runtime environment and PyGTK. Wx -# support requires wxWidgets and wxPython. Tk support requires -# Tk and Tkinter. The other GUI toolkits do not require any -# extension code, and can be used as long as the libraries are -# installed on your system. -# -# You can uncomment any the following lines if you know you do -# not want to use the GUI toolkit. Acceptible values are: -# True: build the extension. Exits with a warning if the -# required dependencies are not available -# False: do not build the extension -# auto: build if the required dependencies are available, -# otherwise skip silently. This is the default -# behavior -# -gtk = True -gtkagg = True -tkagg = True -wxagg = True - -[rc_options] -# User-configurable options -# -# Default backend, one of: Agg, Cairo, CocoaAgg, GTK, GTKAgg, -# GTKCairo, FltkAgg, Pdf, Ps, QtAgg, Qt4Agg, SVG, TkAgg, WX, WXAgg. -# -# The Agg, Ps, Pdf and SVG backends do not require external -# dependencies. Do not choose GTK, GTKAgg, GTKCairo, TkAgg or WXAgg if -# you have disabled the relevent extension modules. Agg will be used -# by default. -# -backend = GTKAgg -# -# The numerix module was historically used to provide -# compatibility between the Numeric, numarray, and NumPy array -# packages. Now that NumPy has emerge as the universal array -# package for python, numerix is not really necessary and is -# maintained to provide backward compatibility. Do not change -# this unless you have a compelling reason to do so. -numerix = numpy diff --git a/use-png-accessor-functions.patch b/use-png-accessor-functions.patch deleted file mode 100644 index 60d5b0c..0000000 --- a/use-png-accessor-functions.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff -up matplotlib-1.0.1/CHANGELOG.png15 matplotlib-1.0.1/CHANGELOG -diff -up matplotlib-1.0.1/doc/users/installing.rst.png15 matplotlib-1.0.1/doc/users/installing.rst ---- matplotlib-1.0.1/doc/users/installing.rst.png15 2010-07-06 21:41:46.000000000 -0400 -+++ matplotlib-1.0.1/doc/users/installing.rst 2011-12-06 16:29:05.824621532 -0500 -@@ -138,7 +138,7 @@ libraries themselves. - array support for python (`download - `__) - --libpng 1.1 (or later) -+libpng 1.2 (or later) - library for loading and saving :term:`PNG` files (`download - `__). libpng requires - zlib. If you are a windows user, you can ignore this since we -diff -up matplotlib-1.0.1/src/_png.cpp.png15 matplotlib-1.0.1/src/_png.cpp ---- matplotlib-1.0.1/src/_png.cpp.png15 2010-10-12 12:14:42.000000000 -0400 -+++ matplotlib-1.0.1/src/_png.cpp 2011-12-06 16:29:05.825621532 -0500 -@@ -350,10 +350,10 @@ _png_module::read_png(const Py::Tuple& a - png_set_sig_bytes(png_ptr, 8); - png_read_info(png_ptr, info_ptr); - -- png_uint_32 width = info_ptr->width; -- png_uint_32 height = info_ptr->height; -+ png_uint_32 width = png_get_image_width(png_ptr, info_ptr); -+ png_uint_32 height = png_get_image_height(png_ptr, info_ptr); - -- int bit_depth = info_ptr->bit_depth; -+ int bit_depth = png_get_bit_depth(png_ptr, info_ptr); - - // Unpack 1, 2, and 4-bit images - if (bit_depth < 8) -@@ -361,7 +361,7 @@ _png_module::read_png(const Py::Tuple& a - - // If sig bits are set, shift data - png_color_8p sig_bit; -- if ((info_ptr->color_type != PNG_COLOR_TYPE_PALETTE) && -+ if ((png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_PALETTE) && - png_get_sBIT(png_ptr, info_ptr, &sig_bit)) - { - png_set_shift(png_ptr, sig_bit); -@@ -374,13 +374,13 @@ _png_module::read_png(const Py::Tuple& a - } - - // Convert palletes to full RGB -- if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) -+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) - { - png_set_palette_to_rgb(png_ptr); - } - - // If there's an alpha channel convert gray to RGB -- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) -+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) - { - png_set_gray_to_rgb(png_ptr); - } -@@ -408,11 +408,11 @@ _png_module::read_png(const Py::Tuple& a - npy_intp dimensions[3]; - dimensions[0] = height; //numrows - dimensions[1] = width; //numcols -- if (info_ptr->color_type & PNG_COLOR_MASK_ALPHA) -+ if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_ALPHA) - { - dimensions[2] = 4; //RGBA images - } -- else if (info_ptr->color_type & PNG_COLOR_MASK_COLOR) -+ else if (png_get_color_type(png_ptr, info_ptr) & PNG_COLOR_MASK_COLOR) - { - dimensions[2] = 3; //RGB images - } -@@ -421,7 +421,8 @@ _png_module::read_png(const Py::Tuple& a - dimensions[2] = 1; //Greyscale images - } - //For gray, return an x by y array, not an x by y by 1 -- int num_dims = (info_ptr->color_type & PNG_COLOR_MASK_COLOR) ? 3 : 2; -+ int num_dims = (png_get_color_type(png_ptr, info_ptr) -+ & PNG_COLOR_MASK_COLOR) ? 3 : 2; - - double max_value = (1 << ((bit_depth < 8) ? 8 : bit_depth)) - 1; - PyArrayObject *A = (PyArrayObject *) PyArray_SimpleNew( From 5e8c5cddc33de777532adc17362080b86e226d3e Mon Sep 17 00:00:00 2001 From: pcpa Date: Tue, 27 Nov 2012 18:24:48 -0200 Subject: [PATCH 090/240] Update metadata after fedpkg new-sources --- .gitignore | 1 + sources | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index bad64c2..baa33c7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ matplotlib-1.0.0-without-gpc.tar.gz /matplotlib-1.0.1-without-gpc.tar.gz /mpl_sampledata-1.0.1.tar.gz +/matplotlib-1.2.0-without-gpc.tar.gz diff --git a/sources b/sources index 01d6c2d..e6ddc26 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -b4d61df73ffa715f5009063a4ba78745 matplotlib-1.0.1-without-gpc.tar.gz -24ee8b490f707a60ed5aaf7259f6bc40 mpl_sampledata-1.0.1.tar.gz +2add984c264ecdfc4a212f914736b78c matplotlib-1.2.0-without-gpc.tar.gz From 03883d02e861fc1f233270b6feecd0b1375692ea Mon Sep 17 00:00:00 2001 From: pcpa Date: Tue, 27 Nov 2012 20:04:23 -0200 Subject: [PATCH 091/240] Obsolete python-matplotlib-wx for clean updates. The python-matplotlib-wx package was only two python files (sans pyc & pyo), that actually now are merged in the main package. This is a packaging issue that should be corrected by also adding extra backend subpackages, but those need extra packages in fedora. There are actually several other backends that were in the main package, but the ones with .so files are split (main package and tk backend). --- python-matplotlib.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index bc43a83..a1698a4 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -9,7 +9,7 @@ Name: python-matplotlib Version: 1.2.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -41,6 +41,7 @@ Requires: pycairo Requires: pyparsing Requires: python-dateutil Requires: pytz +Obsoletes: %{name}-wx < %{version}-%{release} %description Matplotlib is a python 2D plotting library which produces publication @@ -232,6 +233,9 @@ popd %endif %changelog +* Tue Nov 27 2012 pcpa - 1.2.0-4 +- Obsolete python-matplotlib-wx for clean updates. + * Tue Nov 27 2012 pcpa - 1.2.0-3 - Enable python 3 in fc18 as build requires are now available (#879731) From f2d3f53a8d369dbea91f0cc72c1597ffa0996a5c Mon Sep 17 00:00:00 2001 From: pcpa Date: Tue, 4 Dec 2012 23:31:08 -0200 Subject: [PATCH 092/240] Correct wrong dependency of main package on the tk backend. - Reinstantiate wx backend for python2.x. - Run setup.py under xvfb-run to detect and default to gtk backend (#883502) - Split qt4 backend subpackage and add proper requires for it. - Correct wrong regex in tcl libdir patch. --- python-matplotlib-tk.patch | 2 +- python-matplotlib.spec | 69 ++++++++++++++++++++++++++++++++++---- 2 files changed, 63 insertions(+), 8 deletions(-) diff --git a/python-matplotlib-tk.patch b/python-matplotlib-tk.patch index 1048019..1a07f53 100644 --- a/python-matplotlib-tk.patch +++ b/python-matplotlib-tk.patch @@ -8,7 +8,7 @@ diff -up matplotlib-1.2.0/setupext.py.orig matplotlib-1.2.0/setupext.py - "/usr/lib/tcl"+str(Tkinter.TclVersion), - "/usr/lib"] + "@@libdir@@/tcl"+str(Tkinter.TclVersion), -+ "@@lib@@"] ++ "@@libdir@@"] tk_poss = [tk_lib_dir, os.path.normpath(os.path.join(tk_lib_dir, '..')), - "/usr/lib/tk"+str(Tkinter.TkVersion), diff --git a/python-matplotlib.spec b/python-matplotlib.spec index a1698a4..cd15932 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -9,7 +9,7 @@ Name: python-matplotlib Version: 1.2.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -29,19 +29,21 @@ BuildRequires: gtk2-devel BuildRequires: libpng-devel BuildRequires: numpy BuildRequires: pycairo-devel +BuildRequires: pygtk2-devel BuildRequires: pyparsing BuildRequires: python-dateutil BuildRequires: python2-devel BuildRequires: pytz +BuildRequires: xorg-x11-server-Xvfb BuildRequires: zlib-devel Requires: dejavu-sans-fonts Requires: dvipng Requires: numpy Requires: pycairo +Requires: pygtk2 Requires: pyparsing Requires: python-dateutil Requires: pytz -Obsoletes: %{name}-wx < %{version}-%{release} %description Matplotlib is a python 2D plotting library which produces publication @@ -54,6 +56,16 @@ 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 qt4 +Summary: Qt4 backend for python-matplotlib +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +BuildRequires: PyQt4-devel +Requires: PyQt4 + +%description qt4 +%{summary} + %package tk Summary: Tk backend for python-matplotlib Group: Development/Libraries @@ -66,6 +78,16 @@ Requires: tkinter %description tk %{summary} +%package wx +Summary: wxPython backend for python-matplotlib +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +BuildRequires: wxPython-devel +Requires: wxPython + +%description wx +%{summary} + %package doc Summary: Documentation files for python-matplotlib Group: Documentation @@ -108,6 +130,16 @@ Matplotlib tries to make easy things easy and hard things possible. You can generate plots, histograms, power spectra, bar charts, errorcharts, scatterplots, etc, with just a few lines of code. +%package -n python3-matplotlib-qt4 +Summary: Qt4 backend for python3-matplotlib +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +BuildRequires: python3-PyQt4-devel +Requires: python3-PyQt4 + +%description -n python3-matplotlib-qt4 +%{summary} + %package -n python3-matplotlib-tk Summary: Tk backend for python3-matplotlib Group: Development/Libraries @@ -131,7 +163,7 @@ sed -i -e s/matplotlib\.pyparsing_py./pyparsing/g lib/matplotlib/*.py # Correct tcl/tk detection %patch1 -p1 -b .tk -sed -i -e 's|@@@libdir@@@|%{_libdir}|' setupext.py +sed -i -e 's|@@libdir@@|%{_libdir}|' setupext.py chmod -x lib/matplotlib/mpl-data/images/*.svg @@ -141,7 +173,7 @@ cp -a . %{py3dir} %endif %build -%{__python2} setup.py build +xvfb-run %{__python2} setup.py build %if %{with_html} # Need to make built matplotlib libs available for the sphinx extensions: pushd doc @@ -155,20 +187,20 @@ find examples -name '*.py' -exec chmod a-x '{}' \; %if %{with_python3} pushd %{py3dir} - %{__python3} setup.py build + xvfb-run %{__python3} setup.py build # documentation cannot be built with python3 due to syntax errors # and building with python 2 exits with cryptic error messages popd %endif %install -%{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT +xvfb-run %{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py rm -rf $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/fonts %if %{with_python3} pushd %{py3dir} - %{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT + xvfb-run %{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT chmod +x $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/dates.py rm -rf $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data/fonts rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py @@ -189,17 +221,27 @@ popd %{python_sitearch}/matplotlib/ %{python_sitearch}/mpl_toolkits/ %{python_sitearch}/pylab.py* +%exclude %{python_sitearch}/matplotlib/backends/backend_qt4.* +%exclude %{python_sitearch}/matplotlib/backends/backend_qt4agg.* %exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.* %exclude %{python_sitearch}/matplotlib/backends/tkagg.* %exclude %{python_sitearch}/matplotlib/backends/_tkagg.so %exclude %{python_sitearch}/matplotlib/backends/backend_wx.* %exclude %{python_sitearch}/matplotlib/backends/backend_wxagg.* +%files qt4 +%{python_sitearch}/matplotlib/backends/backend_qt4.* +%{python_sitearch}/matplotlib/backends/backend_qt4agg.* + %files tk %{python_sitearch}/matplotlib/backends/backend_tkagg.py* %{python_sitearch}/matplotlib/backends/tkagg.py* %{python_sitearch}/matplotlib/backends/_tkagg.so +%files wx +%{python_sitearch}/matplotlib/backends/backend_wx.* +%{python_sitearch}/matplotlib/backends/backend_wxagg.* + %files doc %doc examples %if %{with_html} @@ -222,10 +264,17 @@ popd %{python3_sitearch}/mpl_toolkits/ %{python3_sitearch}/pylab.py* %{python3_sitearch}/__pycache__/* +%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4.* +%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4agg.* +%exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/_tkagg.* +%files -n python3-matplotlib-qt4 +%{python_sitearch}/matplotlib/backends/backend_qt4.* +%{python_sitearch}/matplotlib/backends/backend_qt4agg.* + %files -n python3-matplotlib-tk %{python3_sitearch}/matplotlib/backends/backend_tkagg.py* %{python3_sitearch}/matplotlib/backends/tkagg.* @@ -233,6 +282,12 @@ popd %endif %changelog +* Tue Dec 04 2012 pcpa - 1.2.0-5 +- Reinstantiate wx backend for python2.x. +- Run setup.py under xvfb-run to detect and default to gtk backend (#883502) +- Split qt4 backend subpackage and add proper requires for it. +- Correct wrong regex in tcl libdir patch. + * Tue Nov 27 2012 pcpa - 1.2.0-4 - Obsolete python-matplotlib-wx for clean updates. From bce7fc710194751a5ae1c45d481a2d3554a07dcb Mon Sep 17 00:00:00 2001 From: pcpa Date: Wed, 5 Dec 2012 00:16:10 -0200 Subject: [PATCH 093/240] Do not run install under xvfb-run, it causes koji build to fail. --- python-matplotlib.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index cd15932..150f3bf 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -194,13 +194,13 @@ popd %endif %install -xvfb-run %{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT +%{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py rm -rf $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/fonts %if %{with_python3} pushd %{py3dir} - xvfb-run %{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT + %{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT chmod +x $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/dates.py rm -rf $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data/fonts rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py From 11c0529c894ec57dd0ef3607076cb4074be6be69 Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Thu, 3 Jan 2013 15:16:14 -0500 Subject: [PATCH 094/240] remove wx support for rhel >= 7 --- python-matplotlib.spec | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 150f3bf..ae713b7 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -7,9 +7,17 @@ %global __provides_exclude_from .*/site-packages/.*\\.so$ %global with_html 1 +# On RHEL 7 onwards, don't build with wx: +%if 0%{?rhel} >= 7 +%global with_wx 0 +%else +%global with_wx 1 +%endif + + Name: python-matplotlib Version: 1.2.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -78,6 +86,7 @@ Requires: tkinter %description tk %{summary} +%if %{with_wx} %package wx Summary: wxPython backend for python-matplotlib Group: Development/Libraries @@ -87,6 +96,7 @@ Requires: wxPython %description wx %{summary} +%endif # with_wx %package doc Summary: Documentation files for python-matplotlib @@ -238,9 +248,11 @@ popd %{python_sitearch}/matplotlib/backends/tkagg.py* %{python_sitearch}/matplotlib/backends/_tkagg.so +%if %{with_wx} %files wx %{python_sitearch}/matplotlib/backends/backend_wx.* %{python_sitearch}/matplotlib/backends/backend_wxagg.* +%endif # with_wx %files doc %doc examples @@ -282,6 +294,9 @@ popd %endif %changelog +* Thu Jan 3 2013 David Malcolm - 1.2.0-6 +- remove wx support for rhel >= 7 + * Tue Dec 04 2012 pcpa - 1.2.0-5 - Reinstantiate wx backend for python2.x. - Run setup.py under xvfb-run to detect and default to gtk backend (#883502) From eb9a122389b7ec7e33d9816fa669d7cb1f04521a Mon Sep 17 00:00:00 2001 From: pcpa Date: Wed, 16 Jan 2013 13:59:10 -0200 Subject: [PATCH 095/240] Use fontconfig by default (#885307) --- python-matplotlib-fontconfig.patch | 12 ++++++++++++ python-matplotlib.spec | 10 +++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 python-matplotlib-fontconfig.patch diff --git a/python-matplotlib-fontconfig.patch b/python-matplotlib-fontconfig.patch new file mode 100644 index 0000000..6b9676b --- /dev/null +++ b/python-matplotlib-fontconfig.patch @@ -0,0 +1,12 @@ +diff -up matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig matplotlib-1.2.0/lib/matplotlib/font_manager.py +--- matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig 2013-01-16 13:42:53.917687221 -0200 ++++ matplotlib-1.2.0/lib/matplotlib/font_manager.py 2013-01-16 13:43:13.987687989 -0200 +@@ -62,7 +62,7 @@ try: + except ImportError: + import pickle + +-USE_FONTCONFIG = False ++USE_FONTCONFIG = True + + verbose = matplotlib.verbose + diff --git a/python-matplotlib.spec b/python-matplotlib.spec index ae713b7..79193f8 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -17,7 +17,7 @@ Name: python-matplotlib Version: 1.2.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -30,6 +30,8 @@ Source0: matplotlib-%{version}-without-gpc.tar.gz Patch0: %{name}-noagg.patch Patch1: %{name}-tk.patch +# http://sourceforge.net/mailarchive/message.php?msg_id=30202451 +Patch2: %{name}-fontconfig.patch BuildRequires: agg-devel BuildRequires: freetype-devel @@ -175,6 +177,9 @@ sed -i -e s/matplotlib\.pyparsing_py./pyparsing/g lib/matplotlib/*.py %patch1 -p1 -b .tk sed -i -e 's|@@libdir@@|%{_libdir}|' setupext.py +# Use fontconfig by default +%patch2 -p1 -b .fontconfig + chmod -x lib/matplotlib/mpl-data/images/*.svg %if %{?with_python3} @@ -294,6 +299,9 @@ popd %endif %changelog +* Wed Jan 16 2013 pcpa - 1.2.0-7 +- Use fontconfig by default (#885307) + * Thu Jan 3 2013 David Malcolm - 1.2.0-6 - remove wx support for rhel >= 7 From b58a0f66d32e94144c51272fc40257b5be95baec Mon Sep 17 00:00:00 2001 From: pcpa Date: Wed, 16 Jan 2013 18:49:17 -0200 Subject: [PATCH 096/240] Address side effects of using fontconfig by default --- python-matplotlib-fontconfig.patch | 35 ++++++++++++++++++++++++++++-- python-matplotlib.spec | 8 ++++++- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/python-matplotlib-fontconfig.patch b/python-matplotlib-fontconfig.patch index 6b9676b..97e7baa 100644 --- a/python-matplotlib-fontconfig.patch +++ b/python-matplotlib-fontconfig.patch @@ -1,6 +1,6 @@ diff -up matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig matplotlib-1.2.0/lib/matplotlib/font_manager.py ---- matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig 2013-01-16 13:42:53.917687221 -0200 -+++ matplotlib-1.2.0/lib/matplotlib/font_manager.py 2013-01-16 13:43:13.987687989 -0200 +--- matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig 2013-01-16 16:10:23.104026087 -0200 ++++ matplotlib-1.2.0/lib/matplotlib/font_manager.py 2013-01-16 18:44:12.691379520 -0200 @@ -62,7 +62,7 @@ try: except ImportError: import pickle @@ -10,3 +10,34 @@ diff -up matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig matplotlib-1.2.0/l verbose = matplotlib.verbose +@@ -771,7 +771,7 @@ class FontProperties(object): + return float(self._size) + except ValueError: + pass +- default_size = fontManager.get_default_size() ++ default_size = FontManager.get_default_size() + return default_size * font_scalings.get(self._size) + + def get_file(self): +@@ -991,7 +991,10 @@ class FontManager: + self.afmfiles = findSystemFonts(paths, fontext='afm') + \ + findSystemFonts(fontext='afm') + self.afmlist = createFontList(self.afmfiles, fontext='afm') +- self.defaultFont['afm'] = self.afmfiles[0] ++ try: ++ self.defaultFont['afm'] = self.afmfiles[0] ++ except IndexError: ++ self.defaultFont['afm'] = None + + self.ttf_lookup_cache = {} + self.afm_lookup_cache = {} +@@ -1002,7 +1005,8 @@ class FontManager: + """ + return self.__default_weight + +- def get_default_size(self): ++ @staticmethod ++ def get_default_size(): + """ + Return the default font size. + """ diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 79193f8..566aade 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -17,7 +17,7 @@ Name: python-matplotlib Version: 1.2.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -31,6 +31,8 @@ Source0: matplotlib-%{version}-without-gpc.tar.gz Patch0: %{name}-noagg.patch Patch1: %{name}-tk.patch # http://sourceforge.net/mailarchive/message.php?msg_id=30202451 +# https://github.com/matplotlib/matplotlib/pull/1666 +# https://bugzilla.redhat.com/show_bug.cgi?id=896182 Patch2: %{name}-fontconfig.patch BuildRequires: agg-devel @@ -299,6 +301,10 @@ popd %endif %changelog +* Wed Jan 16 2013 pcpa - 1.2.0-8 +- Update fontconfig patch to apply issue found by upstream +- Update fontconfig patch to apply issue with missing afm fonts (#896182) + * Wed Jan 16 2013 pcpa - 1.2.0-7 - Use fontconfig by default (#885307) From c89b645d96fd83157d7083c7b08473bc1e3a1f26 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 14 Feb 2013 13:50:08 -0600 Subject: [PATCH 097/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 566aade..4a9f4e2 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -17,7 +17,7 @@ Name: python-matplotlib Version: 1.2.0 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -301,6 +301,9 @@ popd %endif %changelog +* Thu Feb 14 2013 Fedora Release Engineering - 1.2.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Wed Jan 16 2013 pcpa - 1.2.0-8 - Update fontconfig patch to apply issue found by upstream - Update fontconfig patch to apply issue with missing afm fonts (#896182) From b2c1943ea5b777ed1b23cc080cdcdcf569934c90 Mon Sep 17 00:00:00 2001 From: pcpa Date: Thu, 28 Mar 2013 16:13:18 -0300 Subject: [PATCH 098/240] Correct rhbz #908717, #912843 and #928326 --- python-matplotlib-fontconfig.patch | 25 +++++++++++++++++++++++-- python-matplotlib.spec | 6 +++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/python-matplotlib-fontconfig.patch b/python-matplotlib-fontconfig.patch index 97e7baa..c6ad339 100644 --- a/python-matplotlib-fontconfig.patch +++ b/python-matplotlib-fontconfig.patch @@ -1,6 +1,6 @@ diff -up matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig matplotlib-1.2.0/lib/matplotlib/font_manager.py ---- matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig 2013-01-16 16:10:23.104026087 -0200 -+++ matplotlib-1.2.0/lib/matplotlib/font_manager.py 2013-01-16 18:44:12.691379520 -0200 +--- matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig 2013-02-24 22:50:54.932678576 -0300 ++++ matplotlib-1.2.0/lib/matplotlib/font_manager.py 2013-02-24 22:54:29.627686797 -0300 @@ -62,7 +62,7 @@ try: except ImportError: import pickle @@ -41,3 +41,24 @@ diff -up matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig matplotlib-1.2.0/l """ Return the default font size. """ +@@ -1282,7 +1286,7 @@ if USE_FONTCONFIG and sys.platform != 'w + return file + return None + +- _fc_match_regex = re.compile(r'\sfile:\s+"([^"]*)"') ++ _fc_match_regex = re.compile(br'\sfile:\s+"([^"]*)"') + _fc_match_cache = {} + + def findfont(prop, fontext='ttf'): +diff -up matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc.orig matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc +--- matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc.orig 2013-02-24 22:55:55.684690093 -0300 ++++ matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc 2013-02-24 22:57:00.146692561 -0300 +@@ -198,7 +198,7 @@ text.hinting_factor : 8 # Specifies the + #mathtext.it : serif:italic + #mathtext.bf : serif:bold + #mathtext.sf : sans +-#mathtext.fontset : cm # Should be 'cm' (Computer Modern), 'stix', ++mathtext.fontset : stix # Should be 'cm' (Computer Modern), 'stix', + # 'stixsans' or 'custom' + #mathtext.fallback_to_cm : True # When True, use symbols from the Computer Modern + # fonts when a symbol can not be found in one of diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 4a9f4e2..51bd2c4 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -17,7 +17,7 @@ Name: python-matplotlib Version: 1.2.0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -301,6 +301,10 @@ popd %endif %changelog +* Thu Mar 28 2013 pcpa - 1.2.0-10 +- Use stix fonts avoid problems with missing cm fonts (#908717) +- Correct type mismatch in python3 font_manager (#912843, #928326) + * Thu Feb 14 2013 Fedora Release Engineering - 1.2.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild From ab00be2ba0145190de124391f54087e0c79624b7 Mon Sep 17 00:00:00 2001 From: pcpa Date: Tue, 2 Apr 2013 13:20:33 -0300 Subject: [PATCH 099/240] Make stix-fonts a requires of matplotlib (#928326) --- python-matplotlib.spec | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 51bd2c4..1de0af8 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -17,7 +17,7 @@ Name: python-matplotlib Version: 1.2.0 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -56,6 +56,11 @@ Requires: pygtk2 Requires: pyparsing Requires: python-dateutil Requires: pytz +%if 0%{?fedora} >= 18 +BuildRequires: stix-math-fonts +%else +BuildRequires: stix-fonts +%endif %description Matplotlib is a python 2D plotting library which produces publication @@ -132,6 +137,11 @@ Requires: python3-cairo Requires: python3-pyparsing Requires: python3-dateutil Requires: python3-pytz +%if 0%{?fedora} >= 18 +BuildRequires: stix-math-fonts +%else +BuildRequires: stix-fonts +%endif %description -n python3-matplotlib Matplotlib is a python 2D plotting library which produces publication @@ -301,6 +311,9 @@ popd %endif %changelog +* Tue Apr 2 2013 pcpa - 1.2.0-11 +- Make stix-fonts a requires of matplotlib (#928326) + * Thu Mar 28 2013 pcpa - 1.2.0-10 - Use stix fonts avoid problems with missing cm fonts (#908717) - Correct type mismatch in python3 font_manager (#912843, #928326) From adaf51ea57919933c7d793d4e0d0f2359a11f7d7 Mon Sep 17 00:00:00 2001 From: pcpa Date: Tue, 2 Apr 2013 13:26:23 -0300 Subject: [PATCH 100/240] Stix-fonts are a requires, not build requires --- python-matplotlib.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 1de0af8..9dc1e31 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -57,9 +57,9 @@ Requires: pyparsing Requires: python-dateutil Requires: pytz %if 0%{?fedora} >= 18 -BuildRequires: stix-math-fonts +Requires: stix-math-fonts %else -BuildRequires: stix-fonts +Requires: stix-fonts %endif %description @@ -138,9 +138,9 @@ Requires: python3-pyparsing Requires: python3-dateutil Requires: python3-pytz %if 0%{?fedora} >= 18 -BuildRequires: stix-math-fonts +Requires: stix-math-fonts %else -BuildRequires: stix-fonts +Requires: stix-fonts %endif %description -n python3-matplotlib From 83a27676aab89f926447bb4e25a6375db09fa4d1 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Wed, 3 Apr 2013 02:24:20 +0200 Subject: [PATCH 101/240] Decode output of subprocess to utf-8 or regex will fail (#928326) --- python-matplotlib-fontconfig.patch | 38 +++++++++++++++--------------- python-matplotlib.spec | 5 +++- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/python-matplotlib-fontconfig.patch b/python-matplotlib-fontconfig.patch index c6ad339..d9318e5 100644 --- a/python-matplotlib-fontconfig.patch +++ b/python-matplotlib-fontconfig.patch @@ -1,7 +1,7 @@ -diff -up matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig matplotlib-1.2.0/lib/matplotlib/font_manager.py ---- matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig 2013-02-24 22:50:54.932678576 -0300 -+++ matplotlib-1.2.0/lib/matplotlib/font_manager.py 2013-02-24 22:54:29.627686797 -0300 -@@ -62,7 +62,7 @@ try: +diff -ur matplotlib-1.2.0.orig/lib/matplotlib/font_manager.py matplotlib-1.2.0/lib/matplotlib/font_manager.py +--- matplotlib-1.2.0.orig/lib/matplotlib/font_manager.py 2012-10-31 01:11:14.000000000 +0100 ++++ matplotlib-1.2.0/lib/matplotlib/font_manager.py 2013-04-03 01:50:34.433802284 +0200 +@@ -62,7 +62,7 @@ except ImportError: import pickle @@ -10,7 +10,7 @@ diff -up matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig matplotlib-1.2.0/l verbose = matplotlib.verbose -@@ -771,7 +771,7 @@ class FontProperties(object): +@@ -771,7 +771,7 @@ return float(self._size) except ValueError: pass @@ -19,7 +19,7 @@ diff -up matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig matplotlib-1.2.0/l return default_size * font_scalings.get(self._size) def get_file(self): -@@ -991,7 +991,10 @@ class FontManager: +@@ -991,7 +991,10 @@ self.afmfiles = findSystemFonts(paths, fontext='afm') + \ findSystemFonts(fontext='afm') self.afmlist = createFontList(self.afmfiles, fontext='afm') @@ -31,7 +31,7 @@ diff -up matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig matplotlib-1.2.0/l self.ttf_lookup_cache = {} self.afm_lookup_cache = {} -@@ -1002,7 +1005,8 @@ class FontManager: +@@ -1002,7 +1005,8 @@ """ return self.__default_weight @@ -41,19 +41,19 @@ diff -up matplotlib-1.2.0/lib/matplotlib/font_manager.py.orig matplotlib-1.2.0/l """ Return the default font size. """ -@@ -1282,7 +1286,7 @@ if USE_FONTCONFIG and sys.platform != 'w +@@ -1276,7 +1280,7 @@ + except OSError: + return None + if pipe.returncode == 0: +- for match in _fc_match_regex.finditer(output): ++ for match in _fc_match_regex.finditer(output.decode("utf-8")): + file = match.group(1) + if os.path.splitext(file)[1][1:] in fontexts: return file - return None - -- _fc_match_regex = re.compile(r'\sfile:\s+"([^"]*)"') -+ _fc_match_regex = re.compile(br'\sfile:\s+"([^"]*)"') - _fc_match_cache = {} - - def findfont(prop, fontext='ttf'): -diff -up matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc.orig matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc ---- matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc.orig 2013-02-24 22:55:55.684690093 -0300 -+++ matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc 2013-02-24 22:57:00.146692561 -0300 -@@ -198,7 +198,7 @@ text.hinting_factor : 8 # Specifies the +diff -ur matplotlib-1.2.0.orig/lib/matplotlib/mpl-data/matplotlibrc matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc +--- matplotlib-1.2.0.orig/lib/matplotlib/mpl-data/matplotlibrc 2012-11-08 17:39:20.000000000 +0100 ++++ matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc 2013-04-03 01:50:03.693755542 +0200 +@@ -198,7 +198,7 @@ #mathtext.it : serif:italic #mathtext.bf : serif:bold #mathtext.sf : sans diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 9dc1e31..b8949aa 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -17,7 +17,7 @@ Name: python-matplotlib Version: 1.2.0 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -311,6 +311,9 @@ popd %endif %changelog +* Wed Apr 3 2013 Thomas Spura - 1.2.0-12 +- Decode output of subprocess to utf-8 or regex will fail (#928326) + * Tue Apr 2 2013 pcpa - 1.2.0-11 - Make stix-fonts a requires of matplotlib (#928326) From c4143b65b05ee2a94b9eea2ed45122f0815af266 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Wed, 10 Apr 2013 15:54:13 +0200 Subject: [PATCH 102/240] use python3 version in python3-matplotlib-qt4 (#915727) --- python-matplotlib.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index b8949aa..08d60c3 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -17,7 +17,7 @@ Name: python-matplotlib Version: 1.2.0 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -301,8 +301,8 @@ popd %exclude %{python3_sitearch}/matplotlib/backends/_tkagg.* %files -n python3-matplotlib-qt4 -%{python_sitearch}/matplotlib/backends/backend_qt4.* -%{python_sitearch}/matplotlib/backends/backend_qt4agg.* +%{python3_sitearch}/matplotlib/backends/backend_qt4.* +%{python3_sitearch}/matplotlib/backends/backend_qt4agg.* %files -n python3-matplotlib-tk %{python3_sitearch}/matplotlib/backends/backend_tkagg.py* @@ -311,6 +311,10 @@ popd %endif %changelog +* Wed Mar 27 2013 Thomas Spura - 1.2.0-13 +- use python3 version in python3-matplotlib-qt4 (#915727) +- delete installed dateutil and pytz + * Wed Apr 3 2013 Thomas Spura - 1.2.0-12 - Decode output of subprocess to utf-8 or regex will fail (#928326) From 90bbb1ede9cddcaf3ef40f7f7f82642721f36553 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Wed, 10 Apr 2013 15:58:13 +0200 Subject: [PATCH 103/240] include __pycache__ files in correct subpackages on python3 --- python-matplotlib.spec | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 08d60c3..751eba1 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -294,26 +294,34 @@ popd %{python3_sitearch}/pylab.py* %{python3_sitearch}/__pycache__/* %exclude %{python3_sitearch}/matplotlib/backends/backend_qt4.* +%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4.* %exclude %{python3_sitearch}/matplotlib/backends/backend_qt4agg.* +%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.* %exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.* -%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/__pycache__/tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/_tkagg.* +%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/_tkagg.* %files -n python3-matplotlib-qt4 %{python3_sitearch}/matplotlib/backends/backend_qt4.* +%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4.* %{python3_sitearch}/matplotlib/backends/backend_qt4agg.* +%{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.* %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/__pycache__/tkagg.* %{python3_sitearch}/matplotlib/backends/_tkagg.* %endif %changelog -* Wed Mar 27 2013 Thomas Spura - 1.2.0-13 +* Wed Apr 10 2013 Thomas Spura - 1.2.0-13 - use python3 version in python3-matplotlib-qt4 (#915727) -- delete installed dateutil and pytz +- include __pycache__ files in correct subpackages on python3 * Wed Apr 3 2013 Thomas Spura - 1.2.0-12 - Decode output of subprocess to utf-8 or regex will fail (#928326) From e5fc5ec3922eae054bee283e2c75a22a9c33d866 Mon Sep 17 00:00:00 2001 From: Jon Ciesla Date: Mon, 10 Jun 2013 08:13:13 -0500 Subject: [PATCH 104/240] agg rebuild. --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 751eba1..c74a222 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -17,7 +17,7 @@ Name: python-matplotlib Version: 1.2.0 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -319,6 +319,9 @@ popd %endif %changelog +* Mon Jun 10 2013 Jon Ciesla - 1.2.0-14 +- agg rebuild. + * Wed Apr 10 2013 Thomas Spura - 1.2.0-13 - use python3 version in python3-matplotlib-qt4 (#915727) - include __pycache__ files in correct subpackages on python3 From 0a7be6ae467325a428a78d45666b49dcc65adf09 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sun, 4 Aug 2013 03:23:38 -0500 Subject: [PATCH 105/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c74a222..13cab6d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -17,7 +17,7 @@ Name: python-matplotlib Version: 1.2.0 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Python 2D plotting library Group: Development/Libraries License: Python @@ -319,6 +319,9 @@ popd %endif %changelog +* Sun Aug 04 2013 Fedora Release Engineering - 1.2.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Mon Jun 10 2013 Jon Ciesla - 1.2.0-14 - agg rebuild. From 81fc2e8024bc7fb167580890573f181ac5c25ee4 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Fri, 2 Aug 2013 10:31:00 +0200 Subject: [PATCH 106/240] update to new version - use xz to compress sources - drop fontconfig patch (upstream) - drop tk patch (upstream solved build issue differently) - redo use system agg patch - delete bundled python-pycxx headers - fix requires of python3-matplotlib-qt (fixes #988412) --- .gitignore | 1 + generate-tarball.sh | 4 +- python-matplotlib-fontconfig.patch | 64 -------------------- python-matplotlib-noagg.patch | 93 ++++++++---------------------- python-matplotlib-system-cxx.patch | 22 +++++++ python-matplotlib-tk.patch | 35 ----------- python-matplotlib.spec | 59 ++++++++++--------- sources | 2 +- 8 files changed, 78 insertions(+), 202 deletions(-) delete mode 100644 python-matplotlib-fontconfig.patch create mode 100644 python-matplotlib-system-cxx.patch delete mode 100644 python-matplotlib-tk.patch diff --git a/.gitignore b/.gitignore index baa33c7..ffda3d0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ matplotlib-1.0.0-without-gpc.tar.gz /matplotlib-1.0.1-without-gpc.tar.gz /mpl_sampledata-1.0.1.tar.gz /matplotlib-1.2.0-without-gpc.tar.gz +/matplotlib-1.3.0-without-gpc.tar.xz diff --git a/generate-tarball.sh b/generate-tarball.sh index 0ecc6d3..550baee 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -6,7 +6,7 @@ version=$1 dir=matplotlib-${version} file=matplotlib-${version}.tar.gz -result=matplotlib-${version}-without-gpc.tar.gz +result=matplotlib-${version}-without-gpc.tar.xz wget -vc http://downloads.sourceforge.net/matplotlib/$file @@ -16,4 +16,4 @@ tar xzf $file rm matplotlib-${version}/agg24/include/agg_conv_gpc.h rm -f $result -tar czf $result $dir +tar cJf $result $dir diff --git a/python-matplotlib-fontconfig.patch b/python-matplotlib-fontconfig.patch deleted file mode 100644 index d9318e5..0000000 --- a/python-matplotlib-fontconfig.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff -ur matplotlib-1.2.0.orig/lib/matplotlib/font_manager.py matplotlib-1.2.0/lib/matplotlib/font_manager.py ---- matplotlib-1.2.0.orig/lib/matplotlib/font_manager.py 2012-10-31 01:11:14.000000000 +0100 -+++ matplotlib-1.2.0/lib/matplotlib/font_manager.py 2013-04-03 01:50:34.433802284 +0200 -@@ -62,7 +62,7 @@ - except ImportError: - import pickle - --USE_FONTCONFIG = False -+USE_FONTCONFIG = True - - verbose = matplotlib.verbose - -@@ -771,7 +771,7 @@ - return float(self._size) - except ValueError: - pass -- default_size = fontManager.get_default_size() -+ default_size = FontManager.get_default_size() - return default_size * font_scalings.get(self._size) - - def get_file(self): -@@ -991,7 +991,10 @@ - self.afmfiles = findSystemFonts(paths, fontext='afm') + \ - findSystemFonts(fontext='afm') - self.afmlist = createFontList(self.afmfiles, fontext='afm') -- self.defaultFont['afm'] = self.afmfiles[0] -+ try: -+ self.defaultFont['afm'] = self.afmfiles[0] -+ except IndexError: -+ self.defaultFont['afm'] = None - - self.ttf_lookup_cache = {} - self.afm_lookup_cache = {} -@@ -1002,7 +1005,8 @@ - """ - return self.__default_weight - -- def get_default_size(self): -+ @staticmethod -+ def get_default_size(): - """ - Return the default font size. - """ -@@ -1276,7 +1280,7 @@ - except OSError: - return None - if pipe.returncode == 0: -- for match in _fc_match_regex.finditer(output): -+ for match in _fc_match_regex.finditer(output.decode("utf-8")): - file = match.group(1) - if os.path.splitext(file)[1][1:] in fontexts: - return file -diff -ur matplotlib-1.2.0.orig/lib/matplotlib/mpl-data/matplotlibrc matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc ---- matplotlib-1.2.0.orig/lib/matplotlib/mpl-data/matplotlibrc 2012-11-08 17:39:20.000000000 +0100 -+++ matplotlib-1.2.0/lib/matplotlib/mpl-data/matplotlibrc 2013-04-03 01:50:03.693755542 +0200 -@@ -198,7 +198,7 @@ - #mathtext.it : serif:italic - #mathtext.bf : serif:bold - #mathtext.sf : sans --#mathtext.fontset : cm # Should be 'cm' (Computer Modern), 'stix', -+mathtext.fontset : stix # Should be 'cm' (Computer Modern), 'stix', - # 'stixsans' or 'custom' - #mathtext.fallback_to_cm : True # When True, use symbols from the Computer Modern - # fonts when a symbol can not be found in one of diff --git a/python-matplotlib-noagg.patch b/python-matplotlib-noagg.patch index 9ca49e8..d5a4ae3 100644 --- a/python-matplotlib-noagg.patch +++ b/python-matplotlib-noagg.patch @@ -1,73 +1,26 @@ -diff -up matplotlib-1.2.0/setupext.py.orig matplotlib-1.2.0/setupext.py ---- matplotlib-1.2.0/setupext.py.orig 2012-11-23 14:49:21.295712608 -0200 -+++ matplotlib-1.2.0/setupext.py 2012-11-23 14:49:31.508712999 -0200 -@@ -96,7 +96,6 @@ BUILT_GDK = False - BUILT_PATH = False - BUILT_TRI = False +--- setupext.py.orig 2013-08-02 09:39:43.914247832 +0200 ++++ setupext.py 2013-08-02 09:40:14.785304342 +0200 +@@ -749,22 +749,7 @@ + return str(e) + ' Using local copy.' --AGG_VERSION = 'agg24' - TCL_TK_CACHE = None + def add_flags(self, ext): +- if self.found_external: +- pkg_config.setup_extension(ext, 'libagg') +- else: +- ext.include_dirs.append('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('agg24', 'src', x) for x in agg_sources) ++ pkg_config.setup_extension(ext, 'libagg', default_include_dirs=["/usr/include/agg2"]) - # for nonstandard installation/build with --prefix variable -@@ -621,7 +620,8 @@ def add_agg_flags(module): - # before adding the freetype flags since -z comes later - add_base_flags(module) - add_numpy_flags(module) -- module.include_dirs.extend(['src', '%s/include'%AGG_VERSION, '.']) -+ module.include_dirs.extend(['src', '/usr/include/agg2', '.']) -+ module.libraries.append('agg') - - # put these later for correct link order - module.libraries.extend(std_libs) -@@ -1220,17 +1220,7 @@ def build_agg(ext_modules, packages): - global BUILT_AGG - if BUILT_AGG: return # only build it if you you haven't already - -- agg = ( -- 'agg_trans_affine.cpp', -- 'agg_bezier_arc.cpp', -- 'agg_curves.cpp', -- 'agg_vcgen_dash.cpp', -- 'agg_vcgen_stroke.cpp', -- 'agg_image_filters.cpp', -- ) -- -- deps = ['%s/src/%s'%(AGG_VERSION, name) for name in agg] -- deps.extend(['src/mplutils.cpp', 'src/agg_py_transforms.cpp']) -+ deps = ['src/mplutils.cpp', 'src/agg_py_transforms.cpp'] - deps.extend(glob.glob('CXX/*.cxx')) - deps.extend(glob.glob('CXX/*.c')) - temp_copy('src/_backend_agg.cpp', 'src/backend_agg.cpp') -@@ -1253,16 +1243,7 @@ def build_path(ext_modules, packages): - global BUILT_PATH - if BUILT_PATH: return # only build it if you you haven't already - -- agg = ( -- 'agg_vcgen_contour.cpp', -- 'agg_curves.cpp', -- 'agg_bezier_arc.cpp', -- 'agg_trans_affine.cpp', -- 'agg_vcgen_stroke.cpp', -- ) -- -- deps = ['%s/src/%s'%(AGG_VERSION, name) for name in agg] -- deps.extend(glob.glob('CXX/*.cxx')) -+ deps = glob.glob('CXX/*.cxx') - deps.extend(glob.glob('CXX/*.c')) - - temp_copy('src/_path.cpp', 'src/path.cpp') -@@ -1287,14 +1268,8 @@ def build_image(ext_modules, packages): - global BUILT_IMAGE - if BUILT_IMAGE: return # only build it if you you haven't already - -- agg = ('agg_trans_affine.cpp', -- 'agg_image_filters.cpp', -- 'agg_bezier_arc.cpp', -- ) -- - temp_copy('src/_image.cpp', 'src/image.cpp') - deps = ['src/image.cpp', 'src/mplutils.cpp'] -- deps.extend(['%s/src/%s'%(AGG_VERSION,name) for name in agg]) - deps.extend(glob.glob('CXX/*.cxx')) - deps.extend(glob.glob('CXX/*.c')) + class FreeType(SetupPackage): diff --git a/python-matplotlib-system-cxx.patch b/python-matplotlib-system-cxx.patch new file mode 100644 index 0000000..c27922e --- /dev/null +++ b/python-matplotlib-system-cxx.patch @@ -0,0 +1,22 @@ +diff --git a/setupext.py b/setupext.py +index 7b629b6..8131bb1 100644 +--- a/setupext.py ++++ b/setupext.py +@@ -674,16 +674,9 @@ class CXX(SetupPackage): + name = 'pycxx' + + def check(self): +- if sys.version_info[0] >= 3: +- # There is no version of PyCXX in the wild that will work +- # with Python 3.x +- self.__class__.found_external = False +- return ("Official versions of PyCXX are not compatible with " +- "Python 3.x. Using local copy") +- + self.__class__.found_external = True + old_stdout = sys.stdout +- sys.stdout = io.BytesIO() ++ #sys.stdout = io.BytesIO() + try: + import CXX + except ImportError: diff --git a/python-matplotlib-tk.patch b/python-matplotlib-tk.patch deleted file mode 100644 index 1a07f53..0000000 --- a/python-matplotlib-tk.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -up matplotlib-1.2.0/setupext.py.orig matplotlib-1.2.0/setupext.py ---- matplotlib-1.2.0/setupext.py.orig 2012-11-23 14:50:48.954715965 -0200 -+++ matplotlib-1.2.0/setupext.py 2012-11-23 14:55:53.731727636 -0200 -@@ -898,12 +898,12 @@ def parse_tcl_config(tcl_lib_dir, tk_lib - - tcl_poss = [tcl_lib_dir, - os.path.normpath(os.path.join(tcl_lib_dir, '..')), -- "/usr/lib/tcl"+str(Tkinter.TclVersion), -- "/usr/lib"] -+ "@@libdir@@/tcl"+str(Tkinter.TclVersion), -+ "@@libdir@@"] - tk_poss = [tk_lib_dir, - os.path.normpath(os.path.join(tk_lib_dir, '..')), -- "/usr/lib/tk"+str(Tkinter.TkVersion), -- "/usr/lib"] -+ "@@libdir@@/tk"+str(Tkinter.TkVersion), -+ "@@libdir@@"] - for ptcl, ptk in zip(tcl_poss, tk_poss): - tcl_config = os.path.join(ptcl, "tclConfig.sh") - tk_config = os.path.join(ptk, "tkConfig.sh") -@@ -974,10 +974,10 @@ def guess_tcl_config(tcl_lib_dir, tk_lib - return tcl_lib, tcl_inc, 'tcl' + tk_ver, tk_lib, tk_inc, 'tk' + tk_ver - - def hardcoded_tcl_config(): -- tcl_inc = "/usr/local/include" -- tk_inc = "/usr/local/include" -- tcl_lib = "/usr/local/lib" -- tk_lib = "/usr/local/lib" -+ tcl_inc = "/usr/include" -+ tk_inc = "/usr/include" -+ tcl_lib = "@@libdir@@" -+ tk_lib = "@@libdir@@" - return tcl_lib, tcl_inc, 'tcl', tk_lib, tk_inc, 'tk' - - def add_tk_flags(module): diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 13cab6d..48773b8 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -16,24 +16,21 @@ Name: python-matplotlib -Version: 1.2.0 -Release: 15%{?dist} +Version: 1.3.0 +Release: 1%{?dist} Summary: Python 2D plotting library Group: Development/Libraries -License: Python +# qt4_editor backend is MIT +License: Python and MIT URL: http://matplotlib.org #Modified Sources to remove the one undistributable file #See generate-tarball.sh in fedora cvs repository for logic #sha1sum matplotlib-1.2.0-without-gpc.tar.gz #92ada4ef4e7374d67e46e30bfb08c3fed068d680 matplotlib-1.2.0-without-gpc.tar.gz -Source0: matplotlib-%{version}-without-gpc.tar.gz +Source0: matplotlib-%{version}-without-gpc.tar.xz Patch0: %{name}-noagg.patch -Patch1: %{name}-tk.patch -# http://sourceforge.net/mailarchive/message.php?msg_id=30202451 -# https://github.com/matplotlib/matplotlib/pull/1666 -# https://bugzilla.redhat.com/show_bug.cgi?id=896182 -Patch2: %{name}-fontconfig.patch +Patch1: %{name}-system-cxx.patch BuildRequires: agg-devel BuildRequires: freetype-devel @@ -43,7 +40,9 @@ BuildRequires: numpy BuildRequires: pycairo-devel BuildRequires: pygtk2-devel BuildRequires: pyparsing +BuildRequires: python-pycxx-devel BuildRequires: python-dateutil +BuildRequires: python-setuptools BuildRequires: python2-devel BuildRequires: pytz BuildRequires: xorg-x11-server-Xvfb @@ -127,8 +126,10 @@ Group: Development/Libraries BuildRequires: python3-cairo BuildRequires: python3-dateutil BuildRequires: python3-devel +BuildRequires: python3-setuptools BuildRequires: python3-gobject BuildRequires: python3-numpy +BuildRequires: python3-pycxx-devel BuildRequires: python3-pyparsing BuildRequires: python3-pytz BuildRequires: python3-six @@ -157,7 +158,7 @@ errorcharts, scatterplots, etc, with just a few lines of code. %package -n python3-matplotlib-qt4 Summary: Qt4 backend for python3-matplotlib Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python3-matplotlib%{?_isa} = %{version}-%{release} BuildRequires: python3-PyQt4-devel Requires: python3-PyQt4 @@ -179,18 +180,11 @@ Requires: python3-tkinter %setup -q -n matplotlib-%{version} # Remove bundled libraries -rm -r agg24 lib/matplotlib/pyparsing_py?.py +rm -r agg24 CXX # Remove references to bundled libraries -%patch0 -p1 -b .noagg -sed -i -e s/matplotlib\.pyparsing_py./pyparsing/g lib/matplotlib/*.py - -# Correct tcl/tk detection -%patch1 -p1 -b .tk -sed -i -e 's|@@libdir@@|%{_libdir}|' setupext.py - -# Use fontconfig by default -%patch2 -p1 -b .fontconfig +%patch0 -b .noagg +%patch1 -p1 -b .cxx chmod -x lib/matplotlib/mpl-data/images/*.svg @@ -235,16 +229,14 @@ popd %endif %files -%doc README.txt -%doc lib/dateutil_py2/LICENSE -%doc lib/matplotlib/mpl-data/fonts/ttf/LICENSE_STIX -%doc lib/pytz/LICENSE.txt +%doc README.rst +%doc LICENSE/ %doc CHANGELOG -%doc CXX %doc INSTALL %doc PKG-INFO %doc TODO %{python_sitearch}/*egg-info +%{python_sitearch}/matplotlib-*-nspkg.pth %{python_sitearch}/matplotlib/ %{python_sitearch}/mpl_toolkits/ %{python_sitearch}/pylab.py* @@ -279,16 +271,14 @@ popd %if %{with_python3} %files -n python3-matplotlib -%doc %{basepy3dir}/README.txt -%doc %{basepy3dir}/lib/dateutil_py3/LICENSE -%doc %{basepy3dir}/lib/matplotlib/mpl-data/fonts/ttf/LICENSE_STIX -%doc %{basepy3dir}/lib/pytz/LICENSE.txt +%doc %{basepy3dir}/README.rst +%doc %{basepy3dir}/LICENSE/ %doc %{basepy3dir}/CHANGELOG -%doc %{basepy3dir}/CXX %doc %{basepy3dir}/INSTALL %doc %{basepy3dir}/PKG-INFO %doc %{basepy3dir}/TODO %{python3_sitearch}/*egg-info +%{python3_sitearch}/matplotlib-*-nspkg.pth %{python3_sitearch}/matplotlib/ %{python3_sitearch}/mpl_toolkits/ %{python3_sitearch}/pylab.py* @@ -319,6 +309,15 @@ popd %endif %changelog +* Fri Aug 2 2013 Thomas Spura - 1.3.0-1 +- update to new version +- use xz to compress sources +- drop fontconfig patch (upstream) +- drop tk patch (upstream solved build issue differently) +- redo use system agg patch +- delete bundled python-pycxx headers +- fix requires of python3-matplotlib-qt (fixes #988412) + * Sun Aug 04 2013 Fedora Release Engineering - 1.2.0-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild diff --git a/sources b/sources index e6ddc26..eea051c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2add984c264ecdfc4a212f914736b78c matplotlib-1.2.0-without-gpc.tar.gz +54c01e06ccdb213bde4ce39881016aec matplotlib-1.3.0-without-gpc.tar.xz From 674876c696e069b088b09b7655c7770ecf109d38 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Wed, 7 Aug 2013 15:58:02 +0200 Subject: [PATCH 107/240] Fix Changelog date entry --- python-matplotlib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 48773b8..4502e65 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -309,7 +309,7 @@ popd %endif %changelog -* Fri Aug 2 2013 Thomas Spura - 1.3.0-1 +* Fri Aug 7 2013 Thomas Spura - 1.3.0-1 - update to new version - use xz to compress sources - drop fontconfig patch (upstream) From 14b1524911f47c747935d654cd589f396c1c0c3e Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Wed, 7 Aug 2013 15:59:17 +0200 Subject: [PATCH 108/240] Also fix day of last changelog entry --- python-matplotlib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 4502e65..43c348f 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -309,7 +309,7 @@ popd %endif %changelog -* Fri Aug 7 2013 Thomas Spura - 1.3.0-1 +* Wed Aug 7 2013 Thomas Spura - 1.3.0-1 - update to new version - use xz to compress sources - drop fontconfig patch (upstream) From f7ffbd877f5aefb0cc7fb97b4105d454c44b787f Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Thu, 8 Aug 2013 11:29:07 +0200 Subject: [PATCH 109/240] BR: python-numpydoc when building html docs --- python-matplotlib.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 43c348f..875151d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -43,6 +43,9 @@ BuildRequires: pyparsing BuildRequires: python-pycxx-devel BuildRequires: python-dateutil BuildRequires: python-setuptools +%if %{with_html} +BuildRequires: python-numpydoc +%endif BuildRequires: python2-devel BuildRequires: pytz BuildRequires: xorg-x11-server-Xvfb From be26c9bf2148e18ed6a4d52213c4f2de9e4c8edf Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Sat, 25 Jan 2014 17:06:52 +0100 Subject: [PATCH 110/240] Update to 1.3.1 and use GTKAgg backend bugs closed: #1030396, #982793, #1049624 --- .gitignore | 1 + python-matplotlib-system-cxx.patch | 15 ++++----------- python-matplotlib.spec | 29 +++++++++++++++++++++++++++-- sources | 2 +- 4 files changed, 33 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index ffda3d0..dc5638d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ matplotlib-1.0.0-without-gpc.tar.gz /mpl_sampledata-1.0.1.tar.gz /matplotlib-1.2.0-without-gpc.tar.gz /matplotlib-1.3.0-without-gpc.tar.xz +/matplotlib-1.3.1-without-gpc.tar.xz diff --git a/python-matplotlib-system-cxx.patch b/python-matplotlib-system-cxx.patch index c27922e..7e21bd6 100644 --- a/python-matplotlib-system-cxx.patch +++ b/python-matplotlib-system-cxx.patch @@ -1,8 +1,6 @@ -diff --git a/setupext.py b/setupext.py -index 7b629b6..8131bb1 100644 ---- a/setupext.py -+++ b/setupext.py -@@ -674,16 +674,9 @@ class CXX(SetupPackage): +--- setupext.py.orig 2014-01-25 15:06:39.460916454 +0100 ++++ setupext.py 2014-01-25 15:06:53.080946205 +0100 +@@ -768,12 +768,6 @@ name = 'pycxx' def check(self): @@ -12,11 +10,6 @@ index 7b629b6..8131bb1 100644 - self.__class__.found_external = False - return ("Official versions of PyCXX are not compatible with " - "Python 3.x. Using local copy") -- + self.__class__.found_external = True old_stdout = sys.stdout -- sys.stdout = io.BytesIO() -+ #sys.stdout = io.BytesIO() - try: - import CXX - except ImportError: diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 875151d..11b1f66 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -6,6 +6,7 @@ %endif %global __provides_exclude_from .*/site-packages/.*\\.so$ %global with_html 1 +%global run_tests 0 # On RHEL 7 onwards, don't build with wx: %if 0%{?rhel} >= 7 @@ -16,7 +17,7 @@ Name: python-matplotlib -Version: 1.3.0 +Version: 1.3.1 Release: 1%{?dist} Summary: Python 2D plotting library Group: Development/Libraries @@ -28,6 +29,7 @@ URL: http://matplotlib.org #sha1sum matplotlib-1.2.0-without-gpc.tar.gz #92ada4ef4e7374d67e46e30bfb08c3fed068d680 matplotlib-1.2.0-without-gpc.tar.gz Source0: matplotlib-%{version}-without-gpc.tar.xz +Source1: setup.cfg Patch0: %{name}-noagg.patch Patch1: %{name}-system-cxx.patch @@ -182,12 +184,18 @@ Requires: python3-tkinter %prep %setup -q -n matplotlib-%{version} +# Copy setup.cfg to the builddir +cp %{SOURCE1} . + +# Use fontconfig by default +sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py + # Remove bundled libraries rm -r agg24 CXX # Remove references to bundled libraries %patch0 -b .noagg -%patch1 -p1 -b .cxx +%patch1 -b .cxx chmod -x lib/matplotlib/mpl-data/images/*.svg @@ -231,6 +239,17 @@ pushd %{py3dir} popd %endif +%if %{run_tests} +%check +PYTHON_PATH=$RPM_BUILD_ROOT%{python_sitearch} \ + %{__python} -c "import matplotlib; matplotlib.test()" + +%if %{with_python3} +PYTHON_PATH=$RPM_BUILD_ROOT%{python3_sitearch} \ + %{__python3} -c "import matplotlib; matplotlib.test()" +%endif +%endif # run_tests + %files %doc README.rst %doc LICENSE/ @@ -312,6 +331,12 @@ popd %endif %changelog +* Sat Jan 25 2014 Thomas Spura - 1.3.1-1 +- update to 1.3.1 +- use GTKAgg as backend (#1030396, #982793, #1049624) +- use fontconfig +- add %%check for local testing (testing requires a display) + * Wed Aug 7 2013 Thomas Spura - 1.3.0-1 - update to new version - use xz to compress sources diff --git a/sources b/sources index eea051c..2f154c1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -54c01e06ccdb213bde4ce39881016aec matplotlib-1.3.0-without-gpc.tar.xz +832170ea532d5f7ca227ea04f044291e matplotlib-1.3.1-without-gpc.tar.xz From b69e56e8d0641c0eca920635816a0dd01639640e Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Sat, 25 Jan 2014 17:22:54 +0100 Subject: [PATCH 111/240] Also actually add setup.cfg --- setup.cfg | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 setup.cfg diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..c8f8c20 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,2 @@ +[rc_options] +backend = GTKAgg From 12e8a6231d6c6b542ca23100532d381c41eb1327 Mon Sep 17 00:00:00 2001 From: pcpa Date: Tue, 28 Jan 2014 14:50:22 -0200 Subject: [PATCH 112/240] Cconditionally to bundle fonts (#1047559) --- 20_matplotlibrc_path_search_fix.patch | 29 +++++ 40_bts608939_draw_markers_description.patch | 14 +++ 50_bts608942_spaces_in_param_args.patch | 49 ++++++++ 60_deal_with_no_writable_dirs.patch | 111 ++++++++++++++++++ 70_bts720549_try_StayPuft_for_xkcd.patch | 19 ++++ python-matplotlib.spec | 120 +++++++++++++++++--- 6 files changed, 328 insertions(+), 14 deletions(-) create mode 100644 20_matplotlibrc_path_search_fix.patch create mode 100644 40_bts608939_draw_markers_description.patch create mode 100644 50_bts608942_spaces_in_param_args.patch create mode 100644 60_deal_with_no_writable_dirs.patch create mode 100644 70_bts720549_try_StayPuft_for_xkcd.patch diff --git a/20_matplotlibrc_path_search_fix.patch b/20_matplotlibrc_path_search_fix.patch new file mode 100644 index 0000000..ecb0b2f --- /dev/null +++ b/20_matplotlibrc_path_search_fix.patch @@ -0,0 +1,29 @@ +Description: Fixes the path to search for matplotlibrc file +Forwarded: not-needed +Author: Sandro Tosi + +--- a/lib/matplotlib/__init__.py ++++ b/lib/matplotlib/__init__.py +@@ -607,10 +607,12 @@ def _get_data_path(): + raise RuntimeError('Path in environment MATPLOTLIBDATA not a directory') + return path + +- 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 +@@ -727,7 +729,7 @@ def matplotlib_fname(): + _get_xdg_config_dir()) + 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') diff --git a/40_bts608939_draw_markers_description.patch b/40_bts608939_draw_markers_description.patch new file mode 100644 index 0000000..e093ac7 --- /dev/null +++ b/40_bts608939_draw_markers_description.patch @@ -0,0 +1,14 @@ +Description: minor glitch in draw_markers() description +Author: Jakub Wilk + +--- a/doc/api/api_changes.rst ++++ b/doc/api/api_changes.rst +@@ -919,7 +919,7 @@ New methods: + + * :meth:`draw_markers(self, gc, marker_path, marker_trans, path, + trans, rgbFace) +- ` + + * :meth:`draw_path_collection(self, master_transform, cliprect, + clippath, clippath_trans, paths, all_transforms, offsets, diff --git a/50_bts608942_spaces_in_param_args.patch b/50_bts608942_spaces_in_param_args.patch new file mode 100644 index 0000000..af50e15 --- /dev/null +++ b/50_bts608942_spaces_in_param_args.patch @@ -0,0 +1,49 @@ +Description: don't separate param and its argument with a space + +--- a/lib/mpl_toolkits/axes_grid1/axes_divider.py ++++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py +@@ -201,12 +201,12 @@ class Divider(object): + def locate(self, nx, ny, nx1=None, ny1=None, axes=None, renderer=None): + """ + +- :param nx, nx1: Integers specifying the column-position of the ++ :param nx,nx1: Integers specifying the column-position of the + cell. When nx1 is None, a single nx-th column is + specified. Otherwise location of columns spanning between nx + to nx1 (but excluding nx1-th column) is specified. + +- :param ny, ny1: same as nx and nx1, but for row positions. ++ :param ny,ny1: same as nx and nx1, but for row positions. + """ + + +@@ -253,12 +253,12 @@ class Divider(object): + (:class:`mpl_toolkits.axes_grid.axes_divider.AxesLocator`) for + specified cell. + +- :param nx, nx1: Integers specifying the column-position of the ++ :param nx,nx1: Integers specifying the column-position of the + cell. When nx1 is None, a single nx-th column is + specified. Otherwise location of columns spanning between nx + to nx1 (but excluding nx1-th column) is specified. + +- :param ny, ny1: same as nx and nx1, but for row positions. ++ :param ny,ny1: same as nx and nx1, but for row positions. + """ + return AxesLocator(self, nx, ny, nx1, ny1) + +@@ -299,12 +299,12 @@ class AxesLocator(object): + """ + :param axes_divider: An instance of AxesDivider class. + +- :param nx, nx1: Integers specifying the column-position of the ++ :param nx,nx1: Integers specifying the column-position of the + cell. When nx1 is None, a single nx-th column is + specified. Otherwise location of columns spanning between nx + to nx1 (but excluding nx1-th column) is is specified. + +- :param ny, ny1: same as nx and nx1, but for row positions. ++ :param ny,ny1: same as nx and nx1, but for row positions. + """ + self._axes_divider = axes_divider + diff --git a/60_deal_with_no_writable_dirs.patch b/60_deal_with_no_writable_dirs.patch new file mode 100644 index 0000000..2ef1ab4 --- /dev/null +++ b/60_deal_with_no_writable_dirs.patch @@ -0,0 +1,111 @@ +Description: deal with the case where there are no writable directories. +Author: Michael Droettboom +Bug-Debian: http://bugs.debian.org/719384 +Origin: https://github.com/mdboom/matplotlib/commit/1e8d592ed0439ac6fe8fc08d5efe522799acf4fe +Reviewed-By: Anton Gladky +Last-Update: 2013-09-29 + +--- matplotlib-1.3.0.orig/lib/matplotlib/font_manager.py ++++ matplotlib-1.3.0/lib/matplotlib/font_manager.py +@@ -1324,6 +1324,8 @@ if USE_FONTCONFIG and sys.platform != 'w + return result + + else: ++ _fmcache = None ++ + if not 'TRAVIS' in os.environ: + cachedir = get_cachedir() + if cachedir is not None: +@@ -1331,8 +1333,6 @@ else: + _fmcache = os.path.join(cachedir, 'fontList.py3k.cache') + else: + _fmcache = os.path.join(cachedir, 'fontList.cache') +- else: +- _fmcache = None + + fontManager = None + +--- matplotlib-1.3.0.orig/lib/matplotlib/__init__.py ++++ matplotlib-1.3.0/lib/matplotlib/__init__.py +@@ -518,7 +518,11 @@ def _get_xdg_config_dir(): + base directory spec + `_. + """ +- return os.environ.get('XDG_CONFIG_HOME', os.path.join(get_home(), '.config')) ++ home = get_home() ++ if home is None: ++ return None ++ else: ++ return os.environ.get('XDG_CONFIG_HOME', os.path.join(home, '.config')) + + + def _get_xdg_cache_dir(): +@@ -527,7 +531,11 @@ def _get_xdg_cache_dir(): + base directory spec + `_. + """ +- return os.environ.get('XDG_CACHE_HOME', os.path.join(get_home(), '.cache')) ++ home = get_home() ++ if home is None: ++ return None ++ else: ++ return os.environ.get('XDG_CACHE_HOME', os.path.join(home, '.cache')) + + + def _get_config_or_cache_dir(xdg_base): +@@ -543,22 +551,28 @@ def _get_config_or_cache_dir(xdg_base): + return _create_tmp_config_dir() + return configdir + ++ p = None + h = get_home() +- p = os.path.join(h, '.matplotlib') +- if (sys.platform.startswith('linux') and +- not os.path.exists(p)): +- p = os.path.join(xdg_base, 'matplotlib') +- +- if os.path.exists(p): +- if not _is_writable_dir(p): +- return _create_tmp_config_dir() +- else: +- try: +- mkdirs(p) +- except OSError: +- return _create_tmp_config_dir() ++ if h is not None: ++ p = os.path.join(h, '.matplotlib') ++ if (sys.platform.startswith('linux') and ++ not os.path.exists(p) and ++ xdg_base is not None): ++ p = os.path.join(xdg_base, 'matplotlib') ++ ++ if p is not None: ++ if os.path.exists(p): ++ if _is_writable_dir(p): ++ return p ++ else: ++ try: ++ mkdirs(p) ++ except OSError: ++ pass ++ else: ++ return p + +- return p ++ return _create_tmp_config_dir() + + + def _get_configdir(): +@@ -716,9 +730,11 @@ def matplotlib_fname(): + if configdir is not None: + fname = os.path.join(configdir, 'matplotlibrc') + if os.path.exists(fname): ++ home = get_home() + if (sys.platform.startswith('linux') and ++ home is not None and + fname == os.path.join( +- get_home(), '.matplotlib', 'matplotlibrc')): ++ home, '.matplotlib', 'matplotlibrc')): + warnings.warn( + "Found matplotlib configuration in ~/.matplotlib/. " + "To conform with the XDG base directory standard, " diff --git a/70_bts720549_try_StayPuft_for_xkcd.patch b/70_bts720549_try_StayPuft_for_xkcd.patch new file mode 100644 index 0000000..04a4797 --- /dev/null +++ b/70_bts720549_try_StayPuft_for_xkcd.patch @@ -0,0 +1,19 @@ +Description: Try to use also StayPuft (a free font) for xkcd +Author: Sandro Tosi +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 +@@ -289,7 +289,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'] = [ diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 11b1f66..a6bc91b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -6,7 +6,7 @@ %endif %global __provides_exclude_from .*/site-packages/.*\\.so$ %global with_html 1 -%global run_tests 0 +%global run_tests 1 # On RHEL 7 onwards, don't build with wx: %if 0%{?rhel} >= 7 @@ -15,10 +15,12 @@ %global with_wx 1 %endif +# https://fedorahosted.org/fpc/ticket/381 +%global with_bundled_fonts 1 Name: python-matplotlib Version: 1.3.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -33,6 +35,11 @@ Source1: setup.cfg Patch0: %{name}-noagg.patch Patch1: %{name}-system-cxx.patch +Patch2: 20_matplotlibrc_path_search_fix.patch +Patch3: 40_bts608939_draw_markers_description.patch +Patch4: 50_bts608942_spaces_in_param_args.patch +Patch5: 60_deal_with_no_writable_dirs.patch +Patch6: 70_bts720549_try_StayPuft_for_xkcd.patch BuildRequires: agg-devel BuildRequires: freetype-devel @@ -48,6 +55,12 @@ BuildRequires: python-setuptools %if %{with_html} BuildRequires: python-numpydoc %endif +%if %{run_tests} +BuildRequires: python-nose +%if %{with_python3} +BuildRequires: python3-nose +%endif +%endif BuildRequires: python2-devel BuildRequires: pytz BuildRequires: xorg-x11-server-Xvfb @@ -65,6 +78,7 @@ Requires: stix-math-fonts %else Requires: stix-fonts %endif +Requires: %{name}-data = %{version}-%{release} %description Matplotlib is a python 2D plotting library which produces publication @@ -124,6 +138,27 @@ BuildRequires: dvipng %description doc %{summary} +%package data +Summary: Data used by python-matplotlib +Requires: %{name} = %{version}-%{release} +%if %{with_bundled_fonts} +Requires: %{name}-data-fonts = %{version}-%{release} +%endif +BuildArch: noarch + +%description data +%{summary} + +%if %{with_bundled_fonts} +%package data-fonts +Summary: Fonts used by python-matplotlib +Requires: %{name}-data = %{version}-%{release} +BuildArch: noarch + +%description data-fonts +%{summary} +%endif + %if %{with_python3} %package -n python3-matplotlib Summary: Python 2D plotting library @@ -148,6 +183,7 @@ Requires: stix-math-fonts %else Requires: stix-fonts %endif +Requires: %{name}-data = %{version}-%{release} %description -n python3-matplotlib Matplotlib is a python 2D plotting library which produces publication @@ -187,8 +223,18 @@ Requires: python3-tkinter # Copy setup.cfg to the builddir cp %{SOURCE1} . +# 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.3.1 ]; then + sed -i 's/\(__version__ = 101\)/\1.1/' lib/matplotlib/font_manager.py +fi + +%if !%{with_bundled_fonts} # Use fontconfig by default sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py +%endif # Remove bundled libraries rm -r agg24 CXX @@ -196,6 +242,11 @@ rm -r agg24 CXX # Remove references to bundled libraries %patch0 -b .noagg %patch1 -b .cxx +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 chmod -x lib/matplotlib/mpl-data/images/*.svg @@ -205,12 +256,16 @@ cp -a . %{py3dir} %endif %build -xvfb-run %{__python2} setup.py build +MPLCONFIGDIR=$PWD \ +MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \ + xvfb-run %{__python2} setup.py build %if %{with_html} # Need to make built matplotlib libs available for the sphinx extensions: pushd doc - export PYTHONPATH=`realpath ../build/lib.linux*` - %{__python2} make.py html + MPLCONFIGDIR=$PWD/.. \ + MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data \ + PYTHONPATH=`realpath ../build/lib.linux*` \ + %{__python2} make.py html popd %endif # Ensure all example files are non-executable so that the -doc @@ -219,34 +274,53 @@ find examples -name '*.py' -exec chmod a-x '{}' \; %if %{with_python3} pushd %{py3dir} - xvfb-run %{__python3} setup.py build + MPLCONFIGDIR=$PWD \ + MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \ + xvfb-run %{__python3} setup.py build # documentation cannot be built with python3 due to syntax errors # and building with python 2 exits with cryptic error messages popd %endif %install -%{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT +MPLCONFIGDIR=$PWD \ +MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \ + %{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py -rm -rf $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/fonts +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} $RPM_BUILD_ROOT%{_datadir}/matplotlib +mv $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/matplotlibrc \ + $RPM_BUILD_ROOT%{_sysconfdir} +mv $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data \ + $RPM_BUILD_ROOT%{_datadir}/matplotlib +%if !%{with_bundled_fonts} +rm -rf $RPM_BUILD_ROOT%{_datadir}/matplotlib/mpl-data/fonts +%endif %if %{with_python3} pushd %{py3dir} - %{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT + MPLCONFIGDIR=$PWD/.. \ + MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data/ \ + %{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT chmod +x $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/dates.py - rm -rf $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data/fonts + rm -fr $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py popd %endif %if %{run_tests} %check -PYTHON_PATH=$RPM_BUILD_ROOT%{python_sitearch} \ - %{__python} -c "import matplotlib; matplotlib.test()" +# This should match the default backend +echo "backend : GTKAgg" > matplotlibrc +MPLCONFIGDIR=$PWD \ +MATPLOTLIBDATA=$RPM_BUILD_ROOT%{_datadir}/matplotlib/mpl-data \ +PYTHONPATH=$RPM_BUILD_ROOT%{python_sitearch} \ + xvfb-run %{__python} -c "import matplotlib; matplotlib.test()" %if %{with_python3} -PYTHON_PATH=$RPM_BUILD_ROOT%{python3_sitearch} \ - %{__python3} -c "import matplotlib; matplotlib.test()" +MPLCONFIGDIR=$PWD \ +MATPLOTLIBDATA=$RPM_BUILD_ROOT%{_datadir}/matplotlib/mpl-data \ +PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ + xvfb-run %{__python3} -c "import matplotlib; matplotlib.test()" %endif %endif # run_tests @@ -291,6 +365,18 @@ PYTHON_PATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %doc doc/build/html/* %endif +%files data +%{_sysconfdir}/matplotlibrc +%{_datadir}/matplotlib/mpl-data/ +%if %{with_bundled_fonts} +%exclude %{_datadir}/matplotlib/mpl-data/fonts/ +%endif + +%if %{with_bundled_fonts} +%files data-fonts +%{_datadir}/matplotlib/mpl-data/fonts/ +%endif + %if %{with_python3} %files -n python3-matplotlib %doc %{basepy3dir}/README.rst @@ -331,6 +417,12 @@ PYTHON_PATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %endif %changelog +* Mon Jan 27 2014 pcpa - 1.3.1-2 +- Correct environment for and enable %%check +- Install system wide matplotlibrc under /etc +- Do not duplicate mpl-data for python2 and python3 packages +- Conditionally bundle data fonts (https://fedorahosted.org/fpc/ticket/381) + * Sat Jan 25 2014 Thomas Spura - 1.3.1-1 - update to 1.3.1 - use GTKAgg as backend (#1030396, #982793, #1049624) From 8736c81a323edc17f18b09998b3f12bd678e033f Mon Sep 17 00:00:00 2001 From: pcpa Date: Tue, 28 Jan 2014 16:05:45 -0200 Subject: [PATCH 113/240] Disable check because it randomly fails in koji build --- python-matplotlib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index a6bc91b..90c4213 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -6,7 +6,7 @@ %endif %global __provides_exclude_from .*/site-packages/.*\\.so$ %global with_html 1 -%global run_tests 1 +%global run_tests 0 # On RHEL 7 onwards, don't build with wx: %if 0%{?rhel} >= 7 From 7731b0f8b420c8641ab5c18ba4eb68fcf5813f05 Mon Sep 17 00:00:00 2001 From: pcpa Date: Tue, 11 Feb 2014 12:17:25 -0200 Subject: [PATCH 114/240] Make TkAgg the default backend --- python-matplotlib.spec | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 90c4213..9abb6e1 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -15,12 +15,16 @@ %global with_wx 1 %endif +# the default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo +# CocoaAgg MacOSX Qt4Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG +%global backend TkAgg + # https://fedorahosted.org/fpc/ticket/381 %global with_bundled_fonts 1 Name: python-matplotlib Version: 1.3.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -80,6 +84,15 @@ Requires: stix-fonts %endif Requires: %{name}-data = %{version}-%{release} +# GTKAgg does not require extra subpackages, but does not work with python3 +%if "%{backend}" == "TkAgg" +Requires: %{name}-tk%{?_isa} = %{version}-%{release} +%else +% if "%{backend}" == "Qt4Agg" +Requires: %{name}-qt4%{?_isa} = %{version}-%{release} +% endif +%endif + %description Matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive @@ -140,7 +153,6 @@ BuildRequires: dvipng %package data Summary: Data used by python-matplotlib -Requires: %{name} = %{version}-%{release} %if %{with_bundled_fonts} Requires: %{name}-data-fonts = %{version}-%{release} %endif @@ -184,6 +196,13 @@ Requires: stix-math-fonts Requires: stix-fonts %endif Requires: %{name}-data = %{version}-%{release} +%if "%{backend}" == "TkAgg" +Requires: python3-matplotlib-tk%{?_isa} = %{version}-%{release} +%else +% if "%{backend}" == "Qt4Agg" +Requires: python3-matplotlib-qt4%{?_isa} = %{version}-%{release} +% endif +%endif %description -n python3-matplotlib Matplotlib is a python 2D plotting library which produces publication @@ -222,6 +241,7 @@ Requires: python3-tkinter # Copy setup.cfg to the builddir cp %{SOURCE1} . +sed -i 's/\(backend = \).*/\1%{backend}/' setup.cfg # Keep this until next version, and increment if changing from # USE_FONTCONFIG to False or True so that cache is regenerated @@ -310,7 +330,7 @@ popd %if %{run_tests} %check # This should match the default backend -echo "backend : GTKAgg" > matplotlibrc +echo "backend : %{backend}" > matplotlibrc MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=$RPM_BUILD_ROOT%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=$RPM_BUILD_ROOT%{python_sitearch} \ @@ -417,6 +437,10 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %endif %changelog +* Tue Feb 11 2014 pcpa - 1.3.1-3 +- Make TkAgg the default backend +- Remove python2 dependency from -data subpackage + * Mon Jan 27 2014 pcpa - 1.3.1-2 - Correct environment for and enable %%check - Install system wide matplotlibrc under /etc From 68e041327a7df3646d98232b0a3799ef7899cb3f Mon Sep 17 00:00:00 2001 From: Slavek Kabrda Date: Fri, 16 May 2014 13:40:58 +0200 Subject: [PATCH 115/240] Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 9abb6e1..a74e3c6 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -24,7 +24,7 @@ Name: python-matplotlib Version: 1.3.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -437,6 +437,9 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %endif %changelog +* Wed May 14 2014 Bohuslav Kabrda - 1.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + * Tue Feb 11 2014 pcpa - 1.3.1-3 - Make TkAgg the default backend - Remove python2 dependency from -data subpackage From d42870f60f655411929ffa771c276b93824886e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= Date: Wed, 21 May 2014 12:33:05 +0200 Subject: [PATCH 116/240] - Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index a74e3c6..e83f554 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -24,7 +24,7 @@ Name: python-matplotlib Version: 1.3.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -437,6 +437,9 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %endif %changelog +* Wed May 21 2014 Jaroslav Škarvada - 1.3.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 + * Wed May 14 2014 Bohuslav Kabrda - 1.3.1-4 - Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 From 3b5c19b1c108478e2d5aea7b17a1e03aa6a2e445 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 16:20:47 -0500 Subject: [PATCH 117/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index e83f554..40d3433 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -24,7 +24,7 @@ Name: python-matplotlib Version: 1.3.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -437,6 +437,9 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %endif %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 1.3.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Wed May 21 2014 Jaroslav Škarvada - 1.3.1-5 - Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 From 3d4898c537b5d2edc460b6f233d19238db96b9ec Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 17 Aug 2014 21:24:49 +0000 Subject: [PATCH 118/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 40d3433..26ddd00 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -24,7 +24,7 @@ Name: python-matplotlib Version: 1.3.1 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -437,6 +437,9 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %endif %changelog +* Sun Aug 17 2014 Fedora Release Engineering - 1.3.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Sat Jun 07 2014 Fedora Release Engineering - 1.3.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From dd3b8abfa9603fe23444f79a054c3dd1c95b8a2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 24 Feb 2015 22:17:01 -0500 Subject: [PATCH 119/240] Pull in changes from https://github.com/QuLogic/rpmbuild-specs --- 20_matplotlibrc_path_search_fix.patch | 6 +- 40_bts608939_draw_markers_description.patch | 2 +- 50_bts608942_spaces_in_param_args.patch | 7 +- 60_deal_with_no_writable_dirs.patch | 111 -------------------- 70_bts720549_try_StayPuft_for_xkcd.patch | 2 +- python-matplotlib-noagg.patch | 13 ++- python-matplotlib-system-cxx.patch | 13 ++- python-matplotlib.spec | 104 ++++++++++++++---- 8 files changed, 113 insertions(+), 145 deletions(-) delete mode 100644 60_deal_with_no_writable_dirs.patch diff --git a/20_matplotlibrc_path_search_fix.patch b/20_matplotlibrc_path_search_fix.patch index ecb0b2f..41246c4 100644 --- a/20_matplotlibrc_path_search_fix.patch +++ b/20_matplotlibrc_path_search_fix.patch @@ -4,7 +4,7 @@ Author: Sandro Tosi --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py -@@ -607,10 +607,12 @@ def _get_data_path(): +@@ -658,10 +658,12 @@ def _get_data_path(): raise RuntimeError('Path in environment MATPLOTLIBDATA not a directory') return path @@ -18,8 +18,8 @@ Author: Sandro Tosi # setuptools' namespace_packages may highjack this init file # so need to try something known to be in matplotlib, not basemap import matplotlib.afm -@@ -727,7 +729,7 @@ def matplotlib_fname(): - _get_xdg_config_dir()) +@@ -786,7 +788,7 @@ def matplotlib_fname(): + home, '.matplotlib', 'matplotlibrc') return fname - path = get_data_path() # guaranteed to exist or raise diff --git a/40_bts608939_draw_markers_description.patch b/40_bts608939_draw_markers_description.patch index e093ac7..99fa033 100644 --- a/40_bts608939_draw_markers_description.patch +++ b/40_bts608939_draw_markers_description.patch @@ -3,7 +3,7 @@ Author: Jakub Wilk --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst -@@ -919,7 +919,7 @@ New methods: +@@ -1143,7 +1143,7 @@ New methods: * :meth:`draw_markers(self, gc, marker_path, marker_trans, path, trans, rgbFace) diff --git a/50_bts608942_spaces_in_param_args.patch b/50_bts608942_spaces_in_param_args.patch index af50e15..123388d 100644 --- a/50_bts608942_spaces_in_param_args.patch +++ b/50_bts608942_spaces_in_param_args.patch @@ -16,8 +16,9 @@ Description: don't separate param and its argument with a space + :param ny,ny1: same as nx and nx1, but for row positions. """ - -@@ -253,12 +253,12 @@ class Divider(object): + figW, figH = self._fig.get_size_inches() + +@@ -250,12 +250,12 @@ class Divider(object): (:class:`mpl_toolkits.axes_grid.axes_divider.AxesLocator`) for specified cell. @@ -32,7 +33,7 @@ Description: don't separate param and its argument with a space """ return AxesLocator(self, nx, ny, nx1, ny1) -@@ -299,12 +299,12 @@ class AxesLocator(object): +@@ -298,12 +298,12 @@ class AxesLocator(object): """ :param axes_divider: An instance of AxesDivider class. diff --git a/60_deal_with_no_writable_dirs.patch b/60_deal_with_no_writable_dirs.patch deleted file mode 100644 index 2ef1ab4..0000000 --- a/60_deal_with_no_writable_dirs.patch +++ /dev/null @@ -1,111 +0,0 @@ -Description: deal with the case where there are no writable directories. -Author: Michael Droettboom -Bug-Debian: http://bugs.debian.org/719384 -Origin: https://github.com/mdboom/matplotlib/commit/1e8d592ed0439ac6fe8fc08d5efe522799acf4fe -Reviewed-By: Anton Gladky -Last-Update: 2013-09-29 - ---- matplotlib-1.3.0.orig/lib/matplotlib/font_manager.py -+++ matplotlib-1.3.0/lib/matplotlib/font_manager.py -@@ -1324,6 +1324,8 @@ if USE_FONTCONFIG and sys.platform != 'w - return result - - else: -+ _fmcache = None -+ - if not 'TRAVIS' in os.environ: - cachedir = get_cachedir() - if cachedir is not None: -@@ -1331,8 +1333,6 @@ else: - _fmcache = os.path.join(cachedir, 'fontList.py3k.cache') - else: - _fmcache = os.path.join(cachedir, 'fontList.cache') -- else: -- _fmcache = None - - fontManager = None - ---- matplotlib-1.3.0.orig/lib/matplotlib/__init__.py -+++ matplotlib-1.3.0/lib/matplotlib/__init__.py -@@ -518,7 +518,11 @@ def _get_xdg_config_dir(): - base directory spec - `_. - """ -- return os.environ.get('XDG_CONFIG_HOME', os.path.join(get_home(), '.config')) -+ home = get_home() -+ if home is None: -+ return None -+ else: -+ return os.environ.get('XDG_CONFIG_HOME', os.path.join(home, '.config')) - - - def _get_xdg_cache_dir(): -@@ -527,7 +531,11 @@ def _get_xdg_cache_dir(): - base directory spec - `_. - """ -- return os.environ.get('XDG_CACHE_HOME', os.path.join(get_home(), '.cache')) -+ home = get_home() -+ if home is None: -+ return None -+ else: -+ return os.environ.get('XDG_CACHE_HOME', os.path.join(home, '.cache')) - - - def _get_config_or_cache_dir(xdg_base): -@@ -543,22 +551,28 @@ def _get_config_or_cache_dir(xdg_base): - return _create_tmp_config_dir() - return configdir - -+ p = None - h = get_home() -- p = os.path.join(h, '.matplotlib') -- if (sys.platform.startswith('linux') and -- not os.path.exists(p)): -- p = os.path.join(xdg_base, 'matplotlib') -- -- if os.path.exists(p): -- if not _is_writable_dir(p): -- return _create_tmp_config_dir() -- else: -- try: -- mkdirs(p) -- except OSError: -- return _create_tmp_config_dir() -+ if h is not None: -+ p = os.path.join(h, '.matplotlib') -+ if (sys.platform.startswith('linux') and -+ not os.path.exists(p) and -+ xdg_base is not None): -+ p = os.path.join(xdg_base, 'matplotlib') -+ -+ if p is not None: -+ if os.path.exists(p): -+ if _is_writable_dir(p): -+ return p -+ else: -+ try: -+ mkdirs(p) -+ except OSError: -+ pass -+ else: -+ return p - -- return p -+ return _create_tmp_config_dir() - - - def _get_configdir(): -@@ -716,9 +730,11 @@ def matplotlib_fname(): - if configdir is not None: - fname = os.path.join(configdir, 'matplotlibrc') - if os.path.exists(fname): -+ home = get_home() - if (sys.platform.startswith('linux') and -+ home is not None and - fname == os.path.join( -- get_home(), '.matplotlib', 'matplotlibrc')): -+ home, '.matplotlib', 'matplotlibrc')): - warnings.warn( - "Found matplotlib configuration in ~/.matplotlib/. " - "To conform with the XDG base directory standard, " diff --git a/70_bts720549_try_StayPuft_for_xkcd.patch b/70_bts720549_try_StayPuft_for_xkcd.patch index 04a4797..0edeed5 100644 --- a/70_bts720549_try_StayPuft_for_xkcd.patch +++ b/70_bts720549_try_StayPuft_for_xkcd.patch @@ -8,7 +8,7 @@ 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 -@@ -289,7 +289,7 @@ def xkcd(scale=1, length=100, randomness +@@ -301,7 +301,7 @@ def xkcd(scale=1, length=100, randomness from matplotlib import patheffects context = rc_context() try: diff --git a/python-matplotlib-noagg.patch b/python-matplotlib-noagg.patch index d5a4ae3..51bac9c 100644 --- a/python-matplotlib-noagg.patch +++ b/python-matplotlib-noagg.patch @@ -1,13 +1,20 @@ --- setupext.py.orig 2013-08-02 09:39:43.914247832 +0200 +++ setupext.py 2013-08-02 09:40:14.785304342 +0200 -@@ -749,22 +749,7 @@ +@@ -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('agg24/include') +- ext.include_dirs.append('extern/agg24/include') - agg_sources = [ - 'agg_bezier_arc.cpp', - 'agg_curves.cpp', @@ -19,7 +26,7 @@ - 'agg_vpgen_segmentator.cpp' - ] - ext.sources.extend( -- os.path.join('agg24', 'src', x) for x in agg_sources) +- os.path.join('extern', 'agg24', 'src', x) for x in agg_sources) + pkg_config.setup_extension(ext, 'libagg', default_include_dirs=["/usr/include/agg2"]) diff --git a/python-matplotlib-system-cxx.patch b/python-matplotlib-system-cxx.patch index 7e21bd6..ea05840 100644 --- a/python-matplotlib-system-cxx.patch +++ b/python-matplotlib-system-cxx.patch @@ -1,15 +1,18 @@ --- setupext.py.orig 2014-01-25 15:06:39.460916454 +0100 +++ setupext.py 2014-01-25 15:06:53.080946205 +0100 -@@ -768,12 +768,6 @@ +@@ -841,15 +841,6 @@ name = 'pycxx' def check(self): -- if sys.version_info[0] >= 3: +- if PY3: - # There is no version of PyCXX in the wild that will work -- # with Python 3.x +- # with Python 3.x and matplotlib, since they lack support +- # for the buffer object. - self.__class__.found_external = False -- return ("Official versions of PyCXX are not compatible with " -- "Python 3.x. Using local copy") +- return ("Official versions of PyCXX are not compatible " +- "with matplotlib on Python 3.x, since they lack " +- "support for the buffer object. Using local " +- "copy") self.__class__.found_external = True old_stdout = sys.stdout diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 26ddd00..c2902ca 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -15,26 +15,30 @@ %global with_wx 1 %endif +# On Fedora 21 onwards, enable Qt5 backend: +%if 0%{?fedora} >= 21 +%global with_qt5 1 +%else +%global with_qt5 0 +%endif + # the default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo -# CocoaAgg MacOSX Qt4Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG +# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG %global backend TkAgg # https://fedorahosted.org/fpc/ticket/381 %global with_bundled_fonts 1 Name: python-matplotlib -Version: 1.3.1 -Release: 7%{?dist} +Version: 1.4.3 +Release: 2%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT License: Python and MIT URL: http://matplotlib.org -#Modified Sources to remove the one undistributable file -#See generate-tarball.sh in fedora cvs repository for logic -#sha1sum matplotlib-1.2.0-without-gpc.tar.gz -#92ada4ef4e7374d67e46e30bfb08c3fed068d680 matplotlib-1.2.0-without-gpc.tar.gz -Source0: matplotlib-%{version}-without-gpc.tar.xz +#Modified Sources to remove the bundled libraries +Source0: matplotlib-%{version}-without-extern.tar.xz Source1: setup.cfg Patch0: %{name}-noagg.patch @@ -42,13 +46,14 @@ Patch1: %{name}-system-cxx.patch Patch2: 20_matplotlibrc_path_search_fix.patch Patch3: 40_bts608939_draw_markers_description.patch Patch4: 50_bts608942_spaces_in_param_args.patch -Patch5: 60_deal_with_no_writable_dirs.patch -Patch6: 70_bts720549_try_StayPuft_for_xkcd.patch +Patch5: 70_bts720549_try_StayPuft_for_xkcd.patch BuildRequires: agg-devel BuildRequires: freetype-devel BuildRequires: gtk2-devel BuildRequires: libpng-devel +BuildRequires: qhull-devel +BuildRequires: python-six BuildRequires: numpy BuildRequires: pycairo-devel BuildRequires: pygtk2-devel @@ -71,6 +76,7 @@ BuildRequires: xorg-x11-server-Xvfb BuildRequires: zlib-devel Requires: dejavu-sans-fonts Requires: dvipng +Requires: python-six Requires: numpy Requires: pycairo Requires: pygtk2 @@ -90,6 +96,12 @@ Requires: %{name}-tk%{?_isa} = %{version}-%{release} %else % if "%{backend}" == "Qt4Agg" Requires: %{name}-qt4%{?_isa} = %{version}-%{release} +% else +% if %{with_qt5} +% if "%{backend}" == "Qt5Agg" +Requires: %{name}-qt5%{?_isa} = %{version}-%{release} +% endif +% endif % endif %endif @@ -114,6 +126,18 @@ Requires: PyQt4 %description qt4 %{summary} +%if %{with_qt5} +%package qt5 +Summary: Qt5 backend for python-matplotlib +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +BuildRequires: python-qt5 +Requires: python-qt5 + +%description qt5 +%{summary} +%endif # with_qt5 + %package tk Summary: Tk backend for python-matplotlib Group: Development/Libraries @@ -185,6 +209,7 @@ BuildRequires: python3-pycxx-devel BuildRequires: python3-pyparsing BuildRequires: python3-pytz BuildRequires: python3-six +Requires: python3-six Requires: python3-numpy Requires: python3-cairo Requires: python3-pyparsing @@ -201,6 +226,12 @@ Requires: python3-matplotlib-tk%{?_isa} = %{version}-%{release} %else % if "%{backend}" == "Qt4Agg" Requires: python3-matplotlib-qt4%{?_isa} = %{version}-%{release} +% else +% if %{with_qt5} +% if "%{backend}" == "Qt5Agg" +Requires: python3-matplotlib-qt5%{?_isa} = %{version}-%{release} +% endif +% endif % endif %endif @@ -225,6 +256,18 @@ Requires: python3-PyQt4 %description -n python3-matplotlib-qt4 %{summary} +%if %{with_qt5} +%package -n python3-matplotlib-qt5 +Summary: Qt5 backend for python3-matplotlib +Group: Development/Libraries +Requires: python3-matplotlib%{?_isa} = %{version}-%{release} +BuildRequires: python3-qt5 +Requires: python3-qt5 + +%description -n python3-matplotlib-qt5 +%{summary} +%endif # with_qt5 + %package -n python3-matplotlib-tk Summary: Tk backend for python3-matplotlib Group: Development/Libraries @@ -247,7 +290,7 @@ sed -i 's/\(backend = \).*/\1%{backend}/' setup.cfg # 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.3.1 ]; then +if [ %{version} = 1.4.3 ]; then sed -i 's/\(__version__ = 101\)/\1.1/' lib/matplotlib/font_manager.py fi @@ -256,9 +299,6 @@ fi sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %endif -# Remove bundled libraries -rm -r agg24 CXX - # Remove references to bundled libraries %patch0 -b .noagg %patch1 -b .cxx @@ -266,7 +306,6 @@ rm -r agg24 CXX %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 chmod -x lib/matplotlib/mpl-data/images/*.svg @@ -350,7 +389,6 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %doc CHANGELOG %doc INSTALL %doc PKG-INFO -%doc TODO %{python_sitearch}/*egg-info %{python_sitearch}/matplotlib-*-nspkg.pth %{python_sitearch}/matplotlib/ @@ -358,6 +396,8 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %{python_sitearch}/pylab.py* %exclude %{python_sitearch}/matplotlib/backends/backend_qt4.* %exclude %{python_sitearch}/matplotlib/backends/backend_qt4agg.* +%exclude %{python_sitearch}/matplotlib/backends/backend_qt5.* +%exclude %{python_sitearch}/matplotlib/backends/backend_qt5agg.* %exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.* %exclude %{python_sitearch}/matplotlib/backends/tkagg.* %exclude %{python_sitearch}/matplotlib/backends/_tkagg.so @@ -368,6 +408,12 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %{python_sitearch}/matplotlib/backends/backend_qt4.* %{python_sitearch}/matplotlib/backends/backend_qt4agg.* +%if %{with_qt5} +%files qt5 +%{python_sitearch}/matplotlib/backends/backend_qt5.* +%{python_sitearch}/matplotlib/backends/backend_qt5agg.* +%endif # with_qt5 + %files tk %{python_sitearch}/matplotlib/backends/backend_tkagg.py* %{python_sitearch}/matplotlib/backends/tkagg.py* @@ -404,7 +450,6 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %doc %{basepy3dir}/CHANGELOG %doc %{basepy3dir}/INSTALL %doc %{basepy3dir}/PKG-INFO -%doc %{basepy3dir}/TODO %{python3_sitearch}/*egg-info %{python3_sitearch}/matplotlib-*-nspkg.pth %{python3_sitearch}/matplotlib/ @@ -415,12 +460,15 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4.* %exclude %{python3_sitearch}/matplotlib/backends/backend_qt4agg.* %exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.* +%exclude %{python3_sitearch}/matplotlib/backends/backend_qt5.* +%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5.* +%exclude %{python3_sitearch}/matplotlib/backends/backend_qt5agg.* +%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.* %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/__pycache__/tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/_tkagg.* -%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/_tkagg.* %files -n python3-matplotlib-qt4 %{python3_sitearch}/matplotlib/backends/backend_qt4.* @@ -428,6 +476,14 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %{python3_sitearch}/matplotlib/backends/backend_qt4agg.* %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.* +%if %{with_qt5} +%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 + %files -n python3-matplotlib-tk %{python3_sitearch}/matplotlib/backends/backend_tkagg.py* %{python3_sitearch}/matplotlib/backends/__pycache__/backend_tkagg.* @@ -437,6 +493,18 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %endif %changelog +* Tue Feb 17 2015 Elliott Sales de Andrade - 1.4.3-2 +- Disable Qt5 backend on Fedora <21 and RHEL + +* Tue Feb 17 2015 Elliott Sales de Andrade - 1.4.3-1 +- New upstream release +- Add Qt5 backend + +* Tue Jan 13 2015 Elliott Sales de Andrade - 1.4.2-1 +- Bump to new upstream release +- Add qhull-devel to BR +- Add six to Requires + * Sun Aug 17 2014 Fedora Release Engineering - 1.3.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 98dd5e3da26a0f2f7ea0bfec5c1dc0647655fc2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 24 Feb 2015 22:25:45 -0500 Subject: [PATCH 120/240] New sources --- .gitignore | 2 ++ generate-tarball.sh | 6 +++--- sources | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index dc5638d..e3e16a5 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ matplotlib-1.0.0-without-gpc.tar.gz /matplotlib-1.2.0-without-gpc.tar.gz /matplotlib-1.3.0-without-gpc.tar.xz /matplotlib-1.3.1-without-gpc.tar.xz +/matplotlib-1.4.3-without-gpc.tar.xz +/matplotlib-1.4.3-without-extern.tar.xz diff --git a/generate-tarball.sh b/generate-tarball.sh index 550baee..c35ec62 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -6,14 +6,14 @@ version=$1 dir=matplotlib-${version} file=matplotlib-${version}.tar.gz -result=matplotlib-${version}-without-gpc.tar.xz +result=matplotlib-${version}-without-extern.tar.xz -wget -vc http://downloads.sourceforge.net/matplotlib/$file +test -f $file || wget -v http://downloads.sourceforge.net/matplotlib/$file rm -rf matplotlib-${version} tar xzf $file -rm matplotlib-${version}/agg24/include/agg_conv_gpc.h +rm -r matplotlib-${version}/extern/{agg24,CXX,qhull} rm -f $result tar cJf $result $dir diff --git a/sources b/sources index 2f154c1..f62bf06 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -832170ea532d5f7ca227ea04f044291e matplotlib-1.3.1-without-gpc.tar.xz +cddc881f019f5cdcc6bb9f469fbb6e66 matplotlib-1.4.3-without-extern.tar.xz From 76883b8317c758b716f69e3e32fd1a8928aeaaa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 24 Feb 2015 23:07:34 -0500 Subject: [PATCH 121/240] Add dependency on python-scikit-image, dot, tex-preview It seems to be used in documentation generation. --- python-matplotlib.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c2902ca..8da96c8 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -63,6 +63,7 @@ BuildRequires: python-dateutil BuildRequires: python-setuptools %if %{with_html} BuildRequires: python-numpydoc +BuildRequires: python-scikit-image %endif %if %{run_tests} BuildRequires: python-nose @@ -169,7 +170,9 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %if %{with_html} BuildRequires: python-sphinx BuildRequires: tex(latex) +BuildRequires: tex-preview BuildRequires: dvipng +BuildRequires: graphviz %endif %description doc From 8c9cc20e2a7eaf2b6e7f93895ef117927f6790b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 24 Feb 2015 23:07:46 -0500 Subject: [PATCH 122/240] Use %license --- python-matplotlib.spec | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 8da96c8..4110883 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -29,9 +29,12 @@ # https://fedorahosted.org/fpc/ticket/381 %global with_bundled_fonts 1 +# Use the same directory of the main package for subpackage licence and docs +%global _docdir_fmt %{name} + Name: python-matplotlib Version: 1.4.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -387,10 +390,9 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %endif # run_tests %files +%license LICENSE/ %doc README.rst -%doc LICENSE/ %doc CHANGELOG -%doc INSTALL %doc PKG-INFO %{python_sitearch}/*egg-info %{python_sitearch}/matplotlib-*-nspkg.pth @@ -406,6 +408,7 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %exclude %{python_sitearch}/matplotlib/backends/_tkagg.so %exclude %{python_sitearch}/matplotlib/backends/backend_wx.* %exclude %{python_sitearch}/matplotlib/backends/backend_wxagg.* +%exclude %{_pkgdocdir}/*/ %files qt4 %{python_sitearch}/matplotlib/backends/backend_qt4.* @@ -448,10 +451,9 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %if %{with_python3} %files -n python3-matplotlib +%license %{basepy3dir}/LICENSE/ %doc %{basepy3dir}/README.rst -%doc %{basepy3dir}/LICENSE/ %doc %{basepy3dir}/CHANGELOG -%doc %{basepy3dir}/INSTALL %doc %{basepy3dir}/PKG-INFO %{python3_sitearch}/*egg-info %{python3_sitearch}/matplotlib-*-nspkg.pth @@ -472,6 +474,7 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %exclude %{python3_sitearch}/matplotlib/backends/tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/_tkagg.* +%exclude %{_pkgdocdir}/*/ %files -n python3-matplotlib-qt4 %{python3_sitearch}/matplotlib/backends/backend_qt4.* @@ -496,11 +499,14 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %endif %changelog +* Tue Feb 24 2015 Zbigniew Jędrzejewski-Szmek - 1.4.3-3 +- Use %%license, add skimage to build requirements + * Tue Feb 17 2015 Elliott Sales de Andrade - 1.4.3-2 - Disable Qt5 backend on Fedora <21 and RHEL * Tue Feb 17 2015 Elliott Sales de Andrade - 1.4.3-1 -- New upstream release +- New upstream release (#1134007) - Add Qt5 backend * Tue Jan 13 2015 Elliott Sales de Andrade - 1.4.2-1 From 732ad8bbfe0b555bfc9ab214db1a889c83f55284 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 25 Feb 2015 20:41:46 -0500 Subject: [PATCH 123/240] Simplify ifdeffery a bit --- python-matplotlib.spec | 42 +++++++++++++++--------------------------- 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 4110883..eb35710 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -26,6 +26,18 @@ # CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG %global backend TkAgg +%if "%{backend}" == "TkAgg" +%global backend_subpackage tk +%else +% if "%{backend}" == "Qt4Agg" +%global backend_subpackage qt4 +% else +% if "%{backend}" == "Qt5Agg" +%global backend_subpackage qt5 +% endif +% endif +%endif + # https://fedorahosted.org/fpc/ticket/381 %global with_bundled_fonts 1 @@ -94,20 +106,7 @@ Requires: stix-fonts %endif Requires: %{name}-data = %{version}-%{release} -# GTKAgg does not require extra subpackages, but does not work with python3 -%if "%{backend}" == "TkAgg" -Requires: %{name}-tk%{?_isa} = %{version}-%{release} -%else -% if "%{backend}" == "Qt4Agg" -Requires: %{name}-qt4%{?_isa} = %{version}-%{release} -% else -% if %{with_qt5} -% if "%{backend}" == "Qt5Agg" -Requires: %{name}-qt5%{?_isa} = %{version}-%{release} -% endif -% endif -% endif -%endif +%{?backend_subpackage:Requires: %{name}-%{backend_subpackage}%{?_isa} = %{version}-%{release}} %description Matplotlib is a python 2D plotting library which produces publication @@ -227,19 +226,8 @@ Requires: stix-math-fonts Requires: stix-fonts %endif Requires: %{name}-data = %{version}-%{release} -%if "%{backend}" == "TkAgg" -Requires: python3-matplotlib-tk%{?_isa} = %{version}-%{release} -%else -% if "%{backend}" == "Qt4Agg" -Requires: python3-matplotlib-qt4%{?_isa} = %{version}-%{release} -% else -% if %{with_qt5} -% if "%{backend}" == "Qt5Agg" -Requires: python3-matplotlib-qt5%{?_isa} = %{version}-%{release} -% endif -% endif -% endif -%endif + +Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release} %description -n python3-matplotlib Matplotlib is a python 2D plotting library which produces publication From 9c2074e497c1c422ee0352f1a33fecad8ea0625d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 25 Feb 2015 21:33:05 -0500 Subject: [PATCH 124/240] Split out more backend subpackages --- python-matplotlib.spec | 87 +++++++++++++++++++++++++++++++++--------- 1 file changed, 69 insertions(+), 18 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index eb35710..b7a9f37 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.4.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -65,13 +65,10 @@ Patch5: 70_bts720549_try_StayPuft_for_xkcd.patch BuildRequires: agg-devel BuildRequires: freetype-devel -BuildRequires: gtk2-devel BuildRequires: libpng-devel BuildRequires: qhull-devel BuildRequires: python-six BuildRequires: numpy -BuildRequires: pycairo-devel -BuildRequires: pygtk2-devel BuildRequires: pyparsing BuildRequires: python-pycxx-devel BuildRequires: python-dateutil @@ -94,8 +91,6 @@ Requires: dejavu-sans-fonts Requires: dvipng Requires: python-six Requires: numpy -Requires: pycairo -Requires: pygtk2 Requires: pyparsing Requires: python-dateutil Requires: pytz @@ -141,6 +136,32 @@ Requires: python-qt5 %{summary} %endif # with_qt5 +%package gtk +Summary: GTK backend for python-matplotlib +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +BuildRequires: gtk2-devel +BuildRequires: pygtk2-devel +BuildRequires: pycairo-devel +Requires: pycairo +Requires: pygtk2 + +%description gtk +%{summary} + +%package gtk3 +Summary: GTK3 backend for python-matplotlib +Group: Development/Libraries +Requires: %{name}%{?_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 gtk3 +%{summary} + %package tk Summary: Tk backend for python-matplotlib Group: Development/Libraries @@ -262,6 +283,20 @@ Requires: python3-qt5 %{summary} %endif # with_qt5 +# gtk2 never worked in Python 3 afaict, so no need for -gtk subpackage +%package -n 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} + +%description -n python3-matplotlib-gtk3 +%{summary} + %package -n python3-matplotlib-tk Summary: Tk backend for python3-matplotlib Group: Development/Libraries @@ -387,10 +422,10 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %{python_sitearch}/matplotlib/ %{python_sitearch}/mpl_toolkits/ %{python_sitearch}/pylab.py* -%exclude %{python_sitearch}/matplotlib/backends/backend_qt4.* -%exclude %{python_sitearch}/matplotlib/backends/backend_qt4agg.* -%exclude %{python_sitearch}/matplotlib/backends/backend_qt5.* -%exclude %{python_sitearch}/matplotlib/backends/backend_qt5agg.* +%exclude %{python_sitearch}/matplotlib/backends/backend_qt4* +%exclude %{python_sitearch}/matplotlib/backends/backend_qt5* +%exclude %{python_sitearch}/matplotlib/backends/backend_gtk* +%exclude %{python_sitearch}/matplotlib/backends/_gtkagg.* %exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.* %exclude %{python_sitearch}/matplotlib/backends/tkagg.* %exclude %{python_sitearch}/matplotlib/backends/_tkagg.so @@ -408,6 +443,15 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %{python_sitearch}/matplotlib/backends/backend_qt5agg.* %endif # with_qt5 +%files gtk +%{python_sitearch}/matplotlib/backends/backend_gtk.py* +%{python_sitearch}/matplotlib/backends/backend_gtkagg.py* +%{python_sitearch}/matplotlib/backends/backend_gtkcairo.py* +%{python_sitearch}/matplotlib/backends/_gtkagg.so + +%files gtk3 +%{python_sitearch}/matplotlib/backends/backend_gtk3*.py* + %files tk %{python_sitearch}/matplotlib/backends/backend_tkagg.py* %{python_sitearch}/matplotlib/backends/tkagg.py* @@ -449,14 +493,12 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %{python3_sitearch}/mpl_toolkits/ %{python3_sitearch}/pylab.py* %{python3_sitearch}/__pycache__/* -%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4.* -%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4.* -%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4agg.* -%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.* -%exclude %{python3_sitearch}/matplotlib/backends/backend_qt5.* -%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5.* -%exclude %{python3_sitearch}/matplotlib/backends/backend_qt5agg.* -%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.* +%exclude %{python3_sitearch}/matplotlib/backends/backend_qt4* +%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/__pycache__/backend_gtk* %exclude %{python3_sitearch}/matplotlib/backends/backend_tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/__pycache__/backend_tkagg.* %exclude %{python3_sitearch}/matplotlib/backends/tkagg.* @@ -478,6 +520,10 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.* %endif # with_qt5 +%files -n python3-matplotlib-gtk3 +%{python3_sitearch}/matplotlib/backends/backend_gtk* +%{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.* @@ -487,6 +533,11 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %endif %changelog +* Wed Feb 25 2015 Zbigniew Jędrzejewski-Szmek - 1.4.3-4 +- Split out python-matplotlib-gtk, python-matplotlib-gtk3, + python3-matplotlib-gtk3 subpackages (#1067373) +- Add missing requirements on gtk + * Tue Feb 24 2015 Zbigniew Jędrzejewski-Szmek - 1.4.3-3 - Use %%license, add skimage to build requirements From 9411cfc02ebaf389bb54f013634b75ab2aa77bce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 25 Feb 2015 23:25:06 -0500 Subject: [PATCH 125/240] Use one dir for Python 2 and 3 builds Because of __pycache__ and .so suffix in Python 3, nothing should conflict. --- python-matplotlib.spec | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index b7a9f37..bf6d50e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -312,8 +312,7 @@ Requires: python3-tkinter %setup -q -n matplotlib-%{version} # Copy setup.cfg to the builddir -cp %{SOURCE1} . -sed -i 's/\(backend = \).*/\1%{backend}/' setup.cfg +sed 's/\(backend = \).*/\1%{backend}/' >setup.cfg <%{SOURCE1} # Keep this until next version, and increment if changing from # USE_FONTCONFIG to False or True so that cache is regenerated @@ -338,11 +337,6 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py chmod -x lib/matplotlib/mpl-data/images/*.svg -%if %{?with_python3} -rm -rf %{py3dir} -cp -a . %{py3dir} -%endif - %build MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \ @@ -361,13 +355,11 @@ popd find examples -name '*.py' -exec chmod a-x '{}' \; %if %{with_python3} -pushd %{py3dir} - MPLCONFIGDIR=$PWD \ - MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \ - xvfb-run %{__python3} setup.py build - # documentation cannot be built with python3 due to syntax errors - # and building with python 2 exits with cryptic error messages -popd +MPLCONFIGDIR=$PWD \ +MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \ + xvfb-run %{__python3} setup.py build +# documentation cannot be built with python3 due to syntax errors +# and building with python 2 exits with cryptic error messages %endif %install @@ -385,14 +377,12 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/matplotlib/mpl-data/fonts %endif %if %{with_python3} -pushd %{py3dir} - MPLCONFIGDIR=$PWD/.. \ - MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data/ \ - %{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT - chmod +x $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/dates.py - rm -fr $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data - rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py -popd +MPLCONFIGDIR=$PWD/.. \ +MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data/ \ + %{__python3} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT +chmod +x $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/dates.py +rm -fr $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data +rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py %endif %if %{run_tests} @@ -483,10 +473,10 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %if %{with_python3} %files -n python3-matplotlib -%license %{basepy3dir}/LICENSE/ -%doc %{basepy3dir}/README.rst -%doc %{basepy3dir}/CHANGELOG -%doc %{basepy3dir}/PKG-INFO +%license LICENSE/ +%doc README.rst +%doc CHANGELOG +%doc PKG-INFO %{python3_sitearch}/*egg-info %{python3_sitearch}/matplotlib-*-nspkg.pth %{python3_sitearch}/matplotlib/ From b9a2f5516d5ca26f88c48d282e6e37b5be0103ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 25 Feb 2015 23:26:38 -0500 Subject: [PATCH 126/240] Modernize macro usage --- python-matplotlib.spec | 88 +++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index bf6d50e..215b7d8 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -365,24 +365,24 @@ MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \ %install MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \ - %{__python} setup.py install -O1 --skip-build --root=$RPM_BUILD_ROOT -chmod +x $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/dates.py -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} $RPM_BUILD_ROOT%{_datadir}/matplotlib -mv $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data/matplotlibrc \ - $RPM_BUILD_ROOT%{_sysconfdir} -mv $RPM_BUILD_ROOT%{python_sitearch}/matplotlib/mpl-data \ - $RPM_BUILD_ROOT%{_datadir}/matplotlib + %{__python} setup.py install -O1 --skip-build --root=%{buildroot} +chmod +x %{buildroot}%{python2_sitearch}/matplotlib/dates.py +mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib +mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data/matplotlibrc \ + %{buildroot}%{_sysconfdir} +mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data \ + %{buildroot}%{_datadir}/matplotlib %if !%{with_bundled_fonts} -rm -rf $RPM_BUILD_ROOT%{_datadir}/matplotlib/mpl-data/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=$RPM_BUILD_ROOT -chmod +x $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/dates.py -rm -fr $RPM_BUILD_ROOT%{python3_sitearch}/matplotlib/mpl-data -rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py + %{__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 +rm -f %{buildroot}%{python3_sitearch}/six.py %endif %if %{run_tests} @@ -390,14 +390,14 @@ rm -f $RPM_BUILD_ROOT%{python3_sitearch}/six.py # This should match the default backend echo "backend : %{backend}" > matplotlibrc MPLCONFIGDIR=$PWD \ -MATPLOTLIBDATA=$RPM_BUILD_ROOT%{_datadir}/matplotlib/mpl-data \ -PYTHONPATH=$RPM_BUILD_ROOT%{python_sitearch} \ +MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ +PYTHONPATH=%{buildroot}%{python2_sitearch} \ xvfb-run %{__python} -c "import matplotlib; matplotlib.test()" %if %{with_python3} MPLCONFIGDIR=$PWD \ -MATPLOTLIBDATA=$RPM_BUILD_ROOT%{_datadir}/matplotlib/mpl-data \ -PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ +MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ +PYTHONPATH=%{buildroot}%{python3_sitearch} \ xvfb-run %{__python3} -c "import matplotlib; matplotlib.test()" %endif %endif # run_tests @@ -407,50 +407,50 @@ PYTHONPATH=$RPM_BUILD_ROOT%{python3_sitearch} \ %doc README.rst %doc CHANGELOG %doc PKG-INFO -%{python_sitearch}/*egg-info -%{python_sitearch}/matplotlib-*-nspkg.pth -%{python_sitearch}/matplotlib/ -%{python_sitearch}/mpl_toolkits/ -%{python_sitearch}/pylab.py* -%exclude %{python_sitearch}/matplotlib/backends/backend_qt4* -%exclude %{python_sitearch}/matplotlib/backends/backend_qt5* -%exclude %{python_sitearch}/matplotlib/backends/backend_gtk* -%exclude %{python_sitearch}/matplotlib/backends/_gtkagg.* -%exclude %{python_sitearch}/matplotlib/backends/backend_tkagg.* -%exclude %{python_sitearch}/matplotlib/backends/tkagg.* -%exclude %{python_sitearch}/matplotlib/backends/_tkagg.so -%exclude %{python_sitearch}/matplotlib/backends/backend_wx.* -%exclude %{python_sitearch}/matplotlib/backends/backend_wxagg.* +%{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 qt4 -%{python_sitearch}/matplotlib/backends/backend_qt4.* -%{python_sitearch}/matplotlib/backends/backend_qt4agg.* +%{python2_sitearch}/matplotlib/backends/backend_qt4.* +%{python2_sitearch}/matplotlib/backends/backend_qt4agg.* %if %{with_qt5} %files qt5 -%{python_sitearch}/matplotlib/backends/backend_qt5.* -%{python_sitearch}/matplotlib/backends/backend_qt5agg.* +%{python2_sitearch}/matplotlib/backends/backend_qt5.* +%{python2_sitearch}/matplotlib/backends/backend_qt5agg.* %endif # with_qt5 %files gtk -%{python_sitearch}/matplotlib/backends/backend_gtk.py* -%{python_sitearch}/matplotlib/backends/backend_gtkagg.py* -%{python_sitearch}/matplotlib/backends/backend_gtkcairo.py* -%{python_sitearch}/matplotlib/backends/_gtkagg.so +%{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 gtk3 -%{python_sitearch}/matplotlib/backends/backend_gtk3*.py* +%{python2_sitearch}/matplotlib/backends/backend_gtk3*.py* %files tk -%{python_sitearch}/matplotlib/backends/backend_tkagg.py* -%{python_sitearch}/matplotlib/backends/tkagg.py* -%{python_sitearch}/matplotlib/backends/_tkagg.so +%{python2_sitearch}/matplotlib/backends/backend_tkagg.py* +%{python2_sitearch}/matplotlib/backends/tkagg.py* +%{python2_sitearch}/matplotlib/backends/_tkagg.so %if %{with_wx} %files wx -%{python_sitearch}/matplotlib/backends/backend_wx.* -%{python_sitearch}/matplotlib/backends/backend_wxagg.* +%{python2_sitearch}/matplotlib/backends/backend_wx.* +%{python2_sitearch}/matplotlib/backends/backend_wxagg.* %endif # with_wx %files doc From b7fd65cd9ff77ed98687ba2d04f56372fac3015c Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Sat, 2 May 2015 16:58:37 +0200 Subject: [PATCH 127/240] Rebuilt for GCC 5 C++11 ABI change --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 215b7d8..046db35 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.4.3 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -523,6 +523,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Sat May 02 2015 Kalev Lember - 1.4.3-5 +- Rebuilt for GCC 5 C++11 ABI change + * Wed Feb 25 2015 Zbigniew Jędrzejewski-Szmek - 1.4.3-4 - Split out python-matplotlib-gtk, python-matplotlib-gtk3, python3-matplotlib-gtk3 subpackages (#1067373) From 13ef95ae8f95a35b95b29c37c0c0b8fe8ba4a226 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 18 Jun 2015 19:53:45 +0000 Subject: [PATCH 128/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 046db35..3569f4a 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.4.3 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -523,6 +523,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Thu Jun 18 2015 Fedora Release Engineering - 1.4.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Sat May 02 2015 Kalev Lember - 1.4.3-5 - Rebuilt for GCC 5 C++11 ABI change From 13c730c10ea950cf554d97dcbfe125b2753ff11c Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 10 Nov 2015 16:21:49 +0000 Subject: [PATCH 129/240] - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 3569f4a..b65991a 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.4.3 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -523,6 +523,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Tue Nov 10 2015 Fedora Release Engineering - 1.4.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + * Thu Jun 18 2015 Fedora Release Engineering - 1.4.3-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From 5ddd160fd3cb2c4582b5897012d4f40d396319ff Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Thu, 10 Sep 2015 08:53:36 +0200 Subject: [PATCH 130/240] Pick upstream patch for fixing the gdk backend #1231748 --- matplotlib-1.4.3-cbook.restrict_dict.patch | 32 ++++++++++++++++++++++ python-matplotlib.spec | 7 ++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 matplotlib-1.4.3-cbook.restrict_dict.patch diff --git a/matplotlib-1.4.3-cbook.restrict_dict.patch b/matplotlib-1.4.3-cbook.restrict_dict.patch new file mode 100644 index 0000000..08347b0 --- /dev/null +++ b/matplotlib-1.4.3-cbook.restrict_dict.patch @@ -0,0 +1,32 @@ +From 2e445c2c4f66f1e0de9779a3fd966aaf8d8ed2c5 Mon Sep 17 00:00:00 2001 +From: Thomas A Caswell +Date: Sun, 17 May 2015 23:45:44 -0400 +Subject: [PATCH] Merge pull request #4439 from tswsl1989/restrict_dict_gdk + +FIX : Import cbook.restrict_dict into backend_gdk +--- + lib/matplotlib/backends/backend_gdk.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/matplotlib/backends/backend_gdk.py b/lib/matplotlib/backends/backend_gdk.py +index fc705fe..024c27e 100644 +--- a/lib/matplotlib/backends/backend_gdk.py ++++ b/lib/matplotlib/backends/backend_gdk.py +@@ -26,7 +26,7 @@ def fn_name(): return sys._getframe(1).f_code.co_name + from matplotlib._pylab_helpers import Gcf + from matplotlib.backend_bases import RendererBase, GraphicsContextBase, \ + FigureManagerBase, FigureCanvasBase +-from matplotlib.cbook import is_string_like ++from matplotlib.cbook import is_string_like, restrict_dict + from matplotlib.figure import Figure + from matplotlib.mathtext import MathTextParser + from matplotlib.transforms import Affine2D +@@ -477,7 +477,7 @@ def _print_image(self, filename, format, *args, **kwargs): + + # set the default quality, if we are writing a JPEG. + # http://www.pygtk.org/docs/pygtk/class-gdkpixbuf.html#method-gdkpixbuf--save +- options = cbook.restrict_dict(kwargs, ['quality']) ++ options = restrict_dict(kwargs, ['quality']) + if format in ['jpg','jpeg']: + if 'quality' not in options: + options['quality'] = rcParams['savefig.jpeg_quality'] diff --git a/python-matplotlib.spec b/python-matplotlib.spec index b65991a..eb8bd91 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.4.3 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -62,6 +62,7 @@ Patch2: 20_matplotlibrc_path_search_fix.patch Patch3: 40_bts608939_draw_markers_description.patch Patch4: 50_bts608942_spaces_in_param_args.patch Patch5: 70_bts720549_try_StayPuft_for_xkcd.patch +Patch6: matplotlib-1.4.3-cbook.restrict_dict.patch BuildRequires: agg-devel BuildRequires: freetype-devel @@ -334,6 +335,7 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 chmod -x lib/matplotlib/mpl-data/images/*.svg @@ -523,6 +525,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Sun Nov 15 2015 Thomas Spura - 1.4.3-8 +- Pick upstream patch for fixing the gdk backend #1231748 + * Tue Nov 10 2015 Fedora Release Engineering - 1.4.3-7 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 From a9a2c962504afda303d874312659651a1f4fd389 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Sun, 15 Nov 2015 14:16:29 +0100 Subject: [PATCH 131/240] Replace tabs with spaces --- python-matplotlib.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index eb8bd91..a8dd2ad 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -4,7 +4,7 @@ %else %global with_python3 0 %endif -%global __provides_exclude_from .*/site-packages/.*\\.so$ +%global __provides_exclude_from .*/site-packages/.*\\.so$ %global with_html 1 %global run_tests 0 @@ -96,9 +96,9 @@ Requires: pyparsing Requires: python-dateutil Requires: pytz %if 0%{?fedora} >= 18 -Requires: stix-math-fonts +Requires: stix-math-fonts %else -Requires: stix-fonts +Requires: stix-fonts %endif Requires: %{name}-data = %{version}-%{release} @@ -243,9 +243,9 @@ Requires: python3-pyparsing Requires: python3-dateutil Requires: python3-pytz %if 0%{?fedora} >= 18 -Requires: stix-math-fonts +Requires: stix-math-fonts %else -Requires: stix-fonts +Requires: stix-fonts %endif Requires: %{name}-data = %{version}-%{release} From a0ff1b7b0d26b73fc34f35968796650c4b295419 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Sun, 15 Nov 2015 14:45:49 +0100 Subject: [PATCH 132/240] Add python2 subpackages and use python_provide --- python-matplotlib.spec | 107 ++++++++++++++++++++++++++--------------- 1 file changed, 68 insertions(+), 39 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index a8dd2ad..db769ed 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -88,6 +88,21 @@ BuildRequires: python2-devel BuildRequires: pytz BuildRequires: xorg-x11-server-Xvfb BuildRequires: zlib-devel + +%description +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 +Summary: Python 2D plotting library +%{?python_provide:%python_provide python2-matplotlib} Requires: dejavu-sans-fonts Requires: dvipng Requires: python-six @@ -103,8 +118,7 @@ Requires: stix-fonts Requires: %{name}-data = %{version}-%{release} %{?backend_subpackage:Requires: %{name}-%{backend_subpackage}%{?_isa} = %{version}-%{release}} - -%description +%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 @@ -115,82 +129,89 @@ 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 qt4 +%package -n python2-matplotlib-qt4 +%{?python_provide:%python_provide python2-matplotlib-qt4} Summary: Qt4 backend for python-matplotlib Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} BuildRequires: PyQt4-devel Requires: PyQt4 -%description qt4 +%description -n python2-matplotlib-qt4 %{summary} %if %{with_qt5} -%package qt5 +%package -n python2-matplotlib-qt5 +%{?python_provide:%python_provide python2-matplotlib-qt5} Summary: Qt5 backend for python-matplotlib Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} BuildRequires: python-qt5 Requires: python-qt5 -%description qt5 +%description -n python2-matplotlib-qt5 %{summary} %endif # with_qt5 -%package gtk +%package -n python2-matplotlib-gtk +%{?python_provide:%python_provide python2-matplotlib-gtk} Summary: GTK backend for python-matplotlib Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} BuildRequires: gtk2-devel BuildRequires: pygtk2-devel BuildRequires: pycairo-devel Requires: pycairo Requires: pygtk2 -%description gtk +%description -n python2-matplotlib-gtk %{summary} -%package gtk3 +%package -n python2-matplotlib-gtk3 +%{?python_provide:%python_provide python2-matplotlib-gtk3} Summary: GTK3 backend for python-matplotlib Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} +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 gtk3 +%description -n python2-matplotlib-gtk3 %{summary} -%package tk +%package -n python2-matplotlib-tk +%{?python_provide:%python_provide python2-matplotlib-tk} Summary: Tk backend for python-matplotlib Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} BuildRequires: tcl-devel BuildRequires: tkinter BuildRequires: tk-devel Requires: tkinter -%description tk +%description -n python2-matplotlib-tk %{summary} %if %{with_wx} -%package wx +%package -n python2-matplotlib-wx +%{?python_provide:%python_provide python2-matplotlib-wx} Summary: wxPython backend for python-matplotlib Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python-matplotlib%{?_isa} = %{version}-%{release} BuildRequires: wxPython-devel Requires: wxPython -%description wx +%description -n python2-matplotlib-wx %{summary} %endif # with_wx -%package doc +%package -n python2-matplotlib-doc +%{?python_provide:%python_provide python2-matplotlib-doc} Summary: Documentation files for python-matplotlib Group: Documentation -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} %if %{with_html} BuildRequires: python-sphinx BuildRequires: tex(latex) @@ -199,31 +220,34 @@ BuildRequires: dvipng BuildRequires: graphviz %endif -%description doc +%description -n python2-matplotlib-doc %{summary} -%package data +%package -n python-matplotlib-data +%{?python_provide:%python_provide python-matplotlib-data} Summary: Data used by python-matplotlib %if %{with_bundled_fonts} -Requires: %{name}-data-fonts = %{version}-%{release} +Requires: python-matplotlib-data-fonts = %{version}-%{release} %endif BuildArch: noarch -%description data +%description -n python-matplotlib-data %{summary} %if %{with_bundled_fonts} -%package data-fonts +%package -n python-matplotlib-data-fonts +%{?python_provide:%python_provide python-matplotlib-data-fonts} Summary: Fonts used by python-matplotlib -Requires: %{name}-data = %{version}-%{release} +Requires: python-matplotlib-data = %{version}-%{release} BuildArch: noarch -%description data-fonts +%description -n python-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 @@ -263,6 +287,7 @@ 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 Requires: python3-matplotlib%{?_isa} = %{version}-%{release} @@ -274,6 +299,7 @@ Requires: python3-PyQt4 %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} @@ -286,6 +312,7 @@ Requires: python3-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} @@ -299,6 +326,7 @@ Requires: python3-gobject%{?_isa} %{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} @@ -404,7 +432,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %endif # run_tests -%files +%files -n python2-matplotlib %license LICENSE/ %doc README.rst %doc CHANGELOG @@ -425,43 +453,43 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %exclude %{python2_sitearch}/matplotlib/backends/backend_wxagg.* %exclude %{_pkgdocdir}/*/ -%files qt4 +%files -n python2-matplotlib-qt4 %{python2_sitearch}/matplotlib/backends/backend_qt4.* %{python2_sitearch}/matplotlib/backends/backend_qt4agg.* %if %{with_qt5} -%files qt5 +%files -n python2-matplotlib-qt5 %{python2_sitearch}/matplotlib/backends/backend_qt5.* %{python2_sitearch}/matplotlib/backends/backend_qt5agg.* %endif # with_qt5 -%files gtk +%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 gtk3 +%files -n python2-matplotlib-gtk3 %{python2_sitearch}/matplotlib/backends/backend_gtk3*.py* -%files tk +%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 wx +%files -n python2-matplotlib-wx %{python2_sitearch}/matplotlib/backends/backend_wx.* %{python2_sitearch}/matplotlib/backends/backend_wxagg.* %endif # with_wx -%files doc +%files -n python2-matplotlib-doc %doc examples %if %{with_html} %doc doc/build/html/* %endif -%files data +%files -n python-matplotlib-data %{_sysconfdir}/matplotlibrc %{_datadir}/matplotlib/mpl-data/ %if %{with_bundled_fonts} @@ -469,7 +497,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %if %{with_bundled_fonts} -%files data-fonts +%files -n python-matplotlib-data-fonts %{_datadir}/matplotlib/mpl-data/fonts/ %endif @@ -527,6 +555,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %changelog * Sun Nov 15 2015 Thomas Spura - 1.4.3-8 - Pick upstream patch for fixing the gdk backend #1231748 +- Add python2 subpackages and use python_provide * Tue Nov 10 2015 Fedora Release Engineering - 1.4.3-7 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 From 69fbdf849b85b0ae04b7ca9e10a12f08b6dab128 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Thu, 7 Jan 2016 10:50:10 +0100 Subject: [PATCH 133/240] regenerate tarball to exclude lena image (#1295174) --- generate-tarball.sh | 3 ++- python-matplotlib.spec | 5 ++++- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/generate-tarball.sh b/generate-tarball.sh index c35ec62..1776a3d 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -13,7 +13,8 @@ test -f $file || wget -v http://downloads.sourceforge.net/matplotlib/$file rm -rf matplotlib-${version} tar xzf $file -rm -r matplotlib-${version}/extern/{agg24,CXX,qhull} +rm -vr matplotlib-${version}/extern/{agg24,CXX,qhull} +rm -vr matplotlib-${version}/lib/matplotlib/mpl-data/sample_data/lena.* rm -f $result tar cJf $result $dir diff --git a/python-matplotlib.spec b/python-matplotlib.spec index db769ed..bcb8e5e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.4.3 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -553,6 +553,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Thu Jan 07 2016 Thomas Spura - 1.4.3-9 +- regenerate tarball to exclude lena image (#1295174) + * Sun Nov 15 2015 Thomas Spura - 1.4.3-8 - Pick upstream patch for fixing the gdk backend #1231748 - Add python2 subpackages and use python_provide diff --git a/sources b/sources index f62bf06..635ad63 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cddc881f019f5cdcc6bb9f469fbb6e66 matplotlib-1.4.3-without-extern.tar.xz +c16111ce7d6c799a2b557699f40eb709 matplotlib-1.4.3-without-extern.tar.xz From 108153e46cc34cc5d94c290470e6807fd758c7cc Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Thu, 7 Jan 2016 19:14:44 +0100 Subject: [PATCH 134/240] Fix requiring the correct backend from the main package --- python-matplotlib.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index bcb8e5e..09b19f4 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -117,7 +117,7 @@ Requires: stix-fonts %endif Requires: %{name}-data = %{version}-%{release} -%{?backend_subpackage:Requires: %{name}-%{backend_subpackage}%{?_isa} = %{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 @@ -555,6 +555,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %changelog * Thu Jan 07 2016 Thomas Spura - 1.4.3-9 - regenerate tarball to exclude lena image (#1295174) +- Fix requiring the correct backend from the main package * Sun Nov 15 2015 Thomas Spura - 1.4.3-8 - Pick upstream patch for fixing the gdk backend #1231748 From e065ba8c72e84179e346107d8a12c08c4f3da6d1 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Thu, 7 Jan 2016 19:16:00 +0100 Subject: [PATCH 135/240] Bump release --- python-matplotlib.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 09b19f4..06b8a83 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.4.3 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -553,9 +553,11 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Thu Jan 07 2016 Thomas Spura - 1.4.3-10 +- Fix requiring the correct backend from the main package + * Thu Jan 07 2016 Thomas Spura - 1.4.3-9 - regenerate tarball to exclude lena image (#1295174) -- Fix requiring the correct backend from the main package * Sun Nov 15 2015 Thomas Spura - 1.4.3-8 - Pick upstream patch for fixing the gdk backend #1231748 From 96f1b73a8584f211c3c79b3947ed89907a5aa76e Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Tue, 12 Jan 2016 17:30:33 +0100 Subject: [PATCH 136/240] Fix another requires of the main package --- python-matplotlib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 06b8a83..6a52765 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.4.3 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -199,7 +199,7 @@ Requires: tkinter %{?python_provide:%python_provide python2-matplotlib-wx} Summary: wxPython backend for python-matplotlib Group: Development/Libraries -Requires: python-matplotlib%{?_isa} = %{version}-%{release} +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} BuildRequires: wxPython-devel Requires: wxPython @@ -553,6 +553,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Tue Jan 12 2016 Thomas Spura - 1.4.3-11 +- Fix another requires of the main package + * Thu Jan 07 2016 Thomas Spura - 1.4.3-10 - Fix requiring the correct backend from the main package From c901c6602bc51eb2fb43abd402f50221f4503e66 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 4 Feb 2016 20:08:25 +0000 Subject: [PATCH 137/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 6a52765..a85214e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.4.3 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -553,6 +553,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Thu Feb 04 2016 Fedora Release Engineering - 1.4.3-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Tue Jan 12 2016 Thomas Spura - 1.4.3-11 - Fix another requires of the main package From cfae272b51786154ad3f8b612eb8bf820e0fb714 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Mon, 4 Apr 2016 12:29:44 +0200 Subject: [PATCH 138/240] Use github sources in generate-tarball --- generate-tarball.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/generate-tarball.sh b/generate-tarball.sh index 1776a3d..5163b18 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -6,9 +6,10 @@ version=$1 dir=matplotlib-${version} file=matplotlib-${version}.tar.gz +file=v${version}.tar.gz result=matplotlib-${version}-without-extern.tar.xz -test -f $file || wget -v http://downloads.sourceforge.net/matplotlib/$file +test -f $file || wget -v https://github.com/matplotlib/matplotlib/archive/$file rm -rf matplotlib-${version} tar xzf $file From 95c4d0eaf5b699df9bae93a25d28b0bfc8b6075b Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Mon, 4 Apr 2016 12:33:40 +0200 Subject: [PATCH 139/240] Use bundled version of agg This was discussed in bug #1276806 and the agg package (which is incompatible to matplotlib's version anyway) will be retired. --- generate-tarball.sh | 2 +- python-matplotlib.spec | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/generate-tarball.sh b/generate-tarball.sh index 5163b18..4b9e934 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -14,7 +14,7 @@ test -f $file || wget -v https://github.com/matplotlib/matplotlib/archive/$file rm -rf matplotlib-${version} tar xzf $file -rm -vr matplotlib-${version}/extern/{agg24,CXX,qhull} +rm -vr matplotlib-${version}/extern/qhull rm -vr matplotlib-${version}/lib/matplotlib/mpl-data/sample_data/lena.* rm -f $result diff --git a/python-matplotlib.spec b/python-matplotlib.spec index a85214e..1849178 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -89,6 +89,8 @@ BuildRequires: pytz BuildRequires: xorg-x11-server-Xvfb BuildRequires: zlib-devel +Provides: bundled(agg) = 2.4 + %description Matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive From 8e6fb6a0470a2943e95b0fbc3902e91abc2bc284 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Mon, 4 Apr 2016 12:40:34 +0200 Subject: [PATCH 140/240] Require the qt5 subpackage from the qt4 subpackage (#1219556) --- python-matplotlib.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 1849178..6579cb0 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.4.3 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -136,6 +136,7 @@ errorcharts, scatterplots, etc, with just a few lines of code. Summary: Qt4 backend for python-matplotlib Group: Development/Libraries Requires: python2-matplotlib%{?_isa} = %{version}-%{release} +Requires: python2-matplotlib-qt5 BuildRequires: PyQt4-devel Requires: PyQt4 @@ -293,6 +294,7 @@ errorcharts, scatterplots, etc, with just a few lines of code. Summary: Qt4 backend for python3-matplotlib Group: Development/Libraries Requires: python3-matplotlib%{?_isa} = %{version}-%{release} +Requires: python3-matplotlib-qt5 BuildRequires: python3-PyQt4-devel Requires: python3-PyQt4 @@ -555,6 +557,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Mon Apr 04 2016 Thomas Spura - 1.4.3-13 +- Require the qt5 subpackage from the qt4 subpackage (#1219556) + * Thu Feb 04 2016 Fedora Release Engineering - 1.4.3-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 760f924558b42fddfcc3efbbce91ccd67db71329 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Mon, 4 Apr 2016 13:26:01 +0200 Subject: [PATCH 141/240] update to 1.5.1 (#1276806) Further fixes/changes: - Add missing requires of dvipng to python3-matplotlib (#1270202) - use bundled agg (#1276806) - Drop cxx patch (was dropped upstream) - Regenerate search path patch2 --- 20_matplotlibrc_path_search_fix.patch | 17 +++---- 40_bts608939_draw_markers_description.patch | 14 ------ 50_bts608942_spaces_in_param_args.patch | 50 --------------------- matplotlib-1.4.3-cbook.restrict_dict.patch | 32 ------------- python-matplotlib-system-cxx.patch | 18 -------- python-matplotlib.spec | 34 +++++++------- 6 files changed, 23 insertions(+), 142 deletions(-) delete mode 100644 40_bts608939_draw_markers_description.patch delete mode 100644 50_bts608942_spaces_in_param_args.patch delete mode 100644 matplotlib-1.4.3-cbook.restrict_dict.patch delete mode 100644 python-matplotlib-system-cxx.patch diff --git a/20_matplotlibrc_path_search_fix.patch b/20_matplotlibrc_path_search_fix.patch index 41246c4..b4d708a 100644 --- a/20_matplotlibrc_path_search_fix.patch +++ b/20_matplotlibrc_path_search_fix.patch @@ -1,14 +1,9 @@ -Description: Fixes the path to search for matplotlibrc file -Forwarded: not-needed -Author: Sandro Tosi - ---- a/lib/matplotlib/__init__.py -+++ b/lib/matplotlib/__init__.py -@@ -658,10 +658,12 @@ def _get_data_path(): - raise RuntimeError('Path in environment MATPLOTLIBDATA not a directory') - return path +--- 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 @@ -- path = os.sep.join([os.path.dirname(__file__), 'mpl-data']) + _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 @@ -18,7 +13,7 @@ Author: Sandro Tosi # setuptools' namespace_packages may highjack this init file # so need to try something known to be in matplotlib, not basemap import matplotlib.afm -@@ -786,7 +788,7 @@ def matplotlib_fname(): +@@ -812,7 +815,7 @@ home, '.matplotlib', 'matplotlibrc') return fname diff --git a/40_bts608939_draw_markers_description.patch b/40_bts608939_draw_markers_description.patch deleted file mode 100644 index 99fa033..0000000 --- a/40_bts608939_draw_markers_description.patch +++ /dev/null @@ -1,14 +0,0 @@ -Description: minor glitch in draw_markers() description -Author: Jakub Wilk - ---- a/doc/api/api_changes.rst -+++ b/doc/api/api_changes.rst -@@ -1143,7 +1143,7 @@ New methods: - - * :meth:`draw_markers(self, gc, marker_path, marker_trans, path, - trans, rgbFace) -- ` - - * :meth:`draw_path_collection(self, master_transform, cliprect, - clippath, clippath_trans, paths, all_transforms, offsets, diff --git a/50_bts608942_spaces_in_param_args.patch b/50_bts608942_spaces_in_param_args.patch deleted file mode 100644 index 123388d..0000000 --- a/50_bts608942_spaces_in_param_args.patch +++ /dev/null @@ -1,50 +0,0 @@ -Description: don't separate param and its argument with a space - ---- a/lib/mpl_toolkits/axes_grid1/axes_divider.py -+++ b/lib/mpl_toolkits/axes_grid1/axes_divider.py -@@ -201,12 +201,12 @@ class Divider(object): - def locate(self, nx, ny, nx1=None, ny1=None, axes=None, renderer=None): - """ - -- :param nx, nx1: Integers specifying the column-position of the -+ :param nx,nx1: Integers specifying the column-position of the - cell. When nx1 is None, a single nx-th column is - specified. Otherwise location of columns spanning between nx - to nx1 (but excluding nx1-th column) is specified. - -- :param ny, ny1: same as nx and nx1, but for row positions. -+ :param ny,ny1: same as nx and nx1, but for row positions. - """ - - figW, figH = self._fig.get_size_inches() - -@@ -250,12 +250,12 @@ class Divider(object): - (:class:`mpl_toolkits.axes_grid.axes_divider.AxesLocator`) for - specified cell. - -- :param nx, nx1: Integers specifying the column-position of the -+ :param nx,nx1: Integers specifying the column-position of the - cell. When nx1 is None, a single nx-th column is - specified. Otherwise location of columns spanning between nx - to nx1 (but excluding nx1-th column) is specified. - -- :param ny, ny1: same as nx and nx1, but for row positions. -+ :param ny,ny1: same as nx and nx1, but for row positions. - """ - return AxesLocator(self, nx, ny, nx1, ny1) - -@@ -298,12 +298,12 @@ class AxesLocator(object): - """ - :param axes_divider: An instance of AxesDivider class. - -- :param nx, nx1: Integers specifying the column-position of the -+ :param nx,nx1: Integers specifying the column-position of the - cell. When nx1 is None, a single nx-th column is - specified. Otherwise location of columns spanning between nx - to nx1 (but excluding nx1-th column) is is specified. - -- :param ny, ny1: same as nx and nx1, but for row positions. -+ :param ny,ny1: same as nx and nx1, but for row positions. - """ - self._axes_divider = axes_divider - diff --git a/matplotlib-1.4.3-cbook.restrict_dict.patch b/matplotlib-1.4.3-cbook.restrict_dict.patch deleted file mode 100644 index 08347b0..0000000 --- a/matplotlib-1.4.3-cbook.restrict_dict.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 2e445c2c4f66f1e0de9779a3fd966aaf8d8ed2c5 Mon Sep 17 00:00:00 2001 -From: Thomas A Caswell -Date: Sun, 17 May 2015 23:45:44 -0400 -Subject: [PATCH] Merge pull request #4439 from tswsl1989/restrict_dict_gdk - -FIX : Import cbook.restrict_dict into backend_gdk ---- - lib/matplotlib/backends/backend_gdk.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/matplotlib/backends/backend_gdk.py b/lib/matplotlib/backends/backend_gdk.py -index fc705fe..024c27e 100644 ---- a/lib/matplotlib/backends/backend_gdk.py -+++ b/lib/matplotlib/backends/backend_gdk.py -@@ -26,7 +26,7 @@ def fn_name(): return sys._getframe(1).f_code.co_name - from matplotlib._pylab_helpers import Gcf - from matplotlib.backend_bases import RendererBase, GraphicsContextBase, \ - FigureManagerBase, FigureCanvasBase --from matplotlib.cbook import is_string_like -+from matplotlib.cbook import is_string_like, restrict_dict - from matplotlib.figure import Figure - from matplotlib.mathtext import MathTextParser - from matplotlib.transforms import Affine2D -@@ -477,7 +477,7 @@ def _print_image(self, filename, format, *args, **kwargs): - - # set the default quality, if we are writing a JPEG. - # http://www.pygtk.org/docs/pygtk/class-gdkpixbuf.html#method-gdkpixbuf--save -- options = cbook.restrict_dict(kwargs, ['quality']) -+ options = restrict_dict(kwargs, ['quality']) - if format in ['jpg','jpeg']: - if 'quality' not in options: - options['quality'] = rcParams['savefig.jpeg_quality'] diff --git a/python-matplotlib-system-cxx.patch b/python-matplotlib-system-cxx.patch deleted file mode 100644 index ea05840..0000000 --- a/python-matplotlib-system-cxx.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- setupext.py.orig 2014-01-25 15:06:39.460916454 +0100 -+++ setupext.py 2014-01-25 15:06:53.080946205 +0100 -@@ -841,15 +841,6 @@ - name = 'pycxx' - - def check(self): -- if PY3: -- # There is no version of PyCXX in the wild that will work -- # with Python 3.x and matplotlib, since they lack support -- # for the buffer object. -- self.__class__.found_external = False -- return ("Official versions of PyCXX are not compatible " -- "with matplotlib on Python 3.x, since they lack " -- "support for the buffer object. Using local " -- "copy") - - self.__class__.found_external = True - old_stdout = sys.stdout diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 6579cb0..6536aa9 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -45,8 +45,8 @@ %global _docdir_fmt %{name} Name: python-matplotlib -Version: 1.4.3 -Release: 13%{?dist} +Version: 1.5.1 +Release: 1%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -56,13 +56,9 @@ URL: http://matplotlib.org Source0: matplotlib-%{version}-without-extern.tar.xz Source1: setup.cfg -Patch0: %{name}-noagg.patch -Patch1: %{name}-system-cxx.patch +#Patch0: %{name}-noagg.patch Patch2: 20_matplotlibrc_path_search_fix.patch -Patch3: 40_bts608939_draw_markers_description.patch -Patch4: 50_bts608942_spaces_in_param_args.patch Patch5: 70_bts720549_try_StayPuft_for_xkcd.patch -Patch6: matplotlib-1.4.3-cbook.restrict_dict.patch BuildRequires: agg-devel BuildRequires: freetype-devel @@ -90,6 +86,7 @@ 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 @@ -269,6 +266,8 @@ Requires: python3-cairo Requires: python3-pyparsing Requires: python3-dateutil Requires: python3-pytz +Requires: dejavu-sans-fonts +Requires: dvipng %if 0%{?fedora} >= 18 Requires: stix-math-fonts %else @@ -360,14 +359,8 @@ fi sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %endif -# Remove references to bundled libraries -%patch0 -b .noagg -%patch1 -b .cxx %patch2 -p1 -%patch3 -p1 -%patch4 -p1 %patch5 -p1 -%patch6 -p1 chmod -x lib/matplotlib/mpl-data/images/*.svg @@ -438,9 +431,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %files -n python2-matplotlib %license LICENSE/ -%doc README.rst +%doc CONTRIBUTING.md %doc CHANGELOG -%doc PKG-INFO +%doc README.rst %{python2_sitearch}/*egg-info %{python2_sitearch}/matplotlib-*-nspkg.pth %{python2_sitearch}/matplotlib/ @@ -508,9 +501,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %if %{with_python3} %files -n python3-matplotlib %license LICENSE/ -%doc README.rst +%doc CONTRIBUTING.md %doc CHANGELOG -%doc PKG-INFO +%doc README.rst %{python3_sitearch}/*egg-info %{python3_sitearch}/matplotlib-*-nspkg.pth %{python3_sitearch}/matplotlib/ @@ -557,6 +550,13 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Mon Apr 04 2016 Thomas Spura - 1.5.1-1 +- update to 1.5.1 (#1276806) +- Add missing requires of dvipng to python3-matplotlib (#1270202) +- use bundled agg (#1276806) +- Drop cxx patch (was dropped upstream) +- Regenerate search path patch2 + * Mon Apr 04 2016 Thomas Spura - 1.4.3-13 - Require the qt5 subpackage from the qt4 subpackage (#1219556) From 8314ea342f2b2fb277384aa2112e8a8840a1be55 Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Mon, 4 Apr 2016 13:30:10 +0200 Subject: [PATCH 142/240] Upload sources for 1.5.1 --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e3e16a5..e693a7b 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ matplotlib-1.0.0-without-gpc.tar.gz /matplotlib-1.3.1-without-gpc.tar.xz /matplotlib-1.4.3-without-gpc.tar.xz /matplotlib-1.4.3-without-extern.tar.xz +/matplotlib-1.5.1-without-extern.tar.xz diff --git a/sources b/sources index 635ad63..23bbedc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c16111ce7d6c799a2b557699f40eb709 matplotlib-1.4.3-without-extern.tar.xz +f111778585a8f65e5e9464b6084d556b matplotlib-1.5.1-without-extern.tar.xz From ae3945e8015ae24830da431d7c6e027ba4ec22ab Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Mon, 4 Apr 2016 14:11:36 +0200 Subject: [PATCH 143/240] Add BR: python-ipython-sphinx for building docs --- python-matplotlib.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 6536aa9..e2c35c3 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -71,6 +71,7 @@ BuildRequires: python-pycxx-devel BuildRequires: python-dateutil BuildRequires: python-setuptools %if %{with_html} +BuildRequires: python-ipython-sphinx BuildRequires: python-numpydoc BuildRequires: python-scikit-image %endif From 632ebab3f1635ad416f983caeea78d8ca0d2497d Mon Sep 17 00:00:00 2001 From: Jon Ciesla Date: Tue, 5 Apr 2016 12:21:34 -0400 Subject: [PATCH 144/240] BR fixes. --- python-matplotlib.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index e2c35c3..77d3ba9 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.5.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -60,7 +60,6 @@ Source1: setup.cfg Patch2: 20_matplotlibrc_path_search_fix.patch Patch5: 70_bts720549_try_StayPuft_for_xkcd.patch -BuildRequires: agg-devel BuildRequires: freetype-devel BuildRequires: libpng-devel BuildRequires: qhull-devel @@ -74,6 +73,7 @@ BuildRequires: python-setuptools BuildRequires: python-ipython-sphinx BuildRequires: python-numpydoc BuildRequires: python-scikit-image +BuildRequires: python2-cycler %endif %if %{run_tests} BuildRequires: python-nose @@ -261,6 +261,7 @@ BuildRequires: python3-pycxx-devel BuildRequires: python3-pyparsing BuildRequires: python3-pytz BuildRequires: python3-six +BuildRequires: python3-cycler Requires: python3-six Requires: python3-numpy Requires: python3-cairo @@ -551,6 +552,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Tue Apr 05 2016 Jon Ciesla - 1.5.1-2 +- Drop agg-devel BR, fix sphinx build with python*cycler BR + * Mon Apr 04 2016 Thomas Spura - 1.5.1-1 - update to 1.5.1 (#1276806) - Add missing requires of dvipng to python3-matplotlib (#1270202) From ecfdac6c7055859ca4634c2ecfddd6341698b0f0 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 6 Apr 2016 20:49:35 -0600 Subject: [PATCH 145/240] Add requires python-cycler --- python-matplotlib.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 77d3ba9..b8ee577 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.5.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -108,6 +108,7 @@ Requires: dvipng Requires: python-six Requires: numpy Requires: pyparsing +Requires: python2-cycler Requires: python-dateutil Requires: pytz %if 0%{?fedora} >= 18 @@ -266,6 +267,7 @@ Requires: python3-six Requires: python3-numpy Requires: python3-cairo Requires: python3-pyparsing +Requires: python3-cycler Requires: python3-dateutil Requires: python3-pytz Requires: dejavu-sans-fonts @@ -552,6 +554,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Wed Apr 6 2016 Orion Poplawski - 1.5.1-3 +- Add requires python-cycler + * Tue Apr 05 2016 Jon Ciesla - 1.5.1-2 - Drop agg-devel BR, fix sphinx build with python*cycler BR From 267dd5c6f490737706bc357a32b278cb21b0b646 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= Date: Sat, 30 Apr 2016 19:18:22 +0200 Subject: [PATCH 146/240] Rebuild for qhull-2015.2-1. - Reflect qhull_a.h's location having changed. --- python-matplotlib.spec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index b8ee577..1c013ec 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.5.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -366,6 +366,12 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %patch2 -p1 %patch5 -p1 +%if 0%{fedora} > 24 +# Installation paths changed +sed -i -e 's,\"qhull/qhull_a.h\",,' src/qhull_wrap.c +sed -i -e "s|os.path.join(x, 'qhull')|os.path.join(x, 'libqhull')|" setupext.py +%endif + chmod -x lib/matplotlib/mpl-data/images/*.svg %build @@ -554,6 +560,10 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Sat Apr 30 2016 Ralf Corsépius - 1.5.1-4 +- Rebuild for qhull-2015.2-1. +- Reflect qhull_a.h's location having changed. + * Wed Apr 6 2016 Orion Poplawski - 1.5.1-3 - Add requires python-cycler From a6629ee97c392d1ee7f795129add9c3d7d953d64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= Date: Sat, 30 Apr 2016 19:19:30 +0200 Subject: [PATCH 147/240] Fix typo. --- python-matplotlib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 1c013ec..c7ca57d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -366,7 +366,7 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %patch2 -p1 %patch5 -p1 -%if 0%{fedora} > 24 +%if 0%{?fedora} > 24 # Installation paths changed sed -i -e 's,\"qhull/qhull_a.h\",,' src/qhull_wrap.c sed -i -e "s|os.path.join(x, 'qhull')|os.path.join(x, 'libqhull')|" setupext.py From 0316efe86f24d3052fc006cdd87321d96908b873 Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Thu, 2 Jun 2016 16:05:01 +0200 Subject: [PATCH 148/240] Unbundle python-six (#1336740). - Run tests (and temporarily disable failing ones). - Use upstream-recommended way of running tests in parallel. - python2-cycler and -mock are required for running tests. --- 20_matplotlibrc_path_search_fix.patch | 12 + ...lotlib-disable-failing-tests-armv7hl.patch | 32 +++ python-matplotlib-disable-failing-tests.patch | 212 ++++++++++++++++++ python-matplotlib-use-system-six.patch | 43 ++++ python-matplotlib.spec | 36 ++- 5 files changed, 328 insertions(+), 7 deletions(-) create mode 100644 python-matplotlib-disable-failing-tests-armv7hl.patch create mode 100644 python-matplotlib-disable-failing-tests.patch create mode 100644 python-matplotlib-use-system-six.patch diff --git a/20_matplotlibrc_path_search_fix.patch b/20_matplotlibrc_path_search_fix.patch index b4d708a..c8380ea 100644 --- a/20_matplotlibrc_path_search_fix.patch +++ b/20_matplotlibrc_path_search_fix.patch @@ -22,3 +22,15 @@ 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: diff --git a/python-matplotlib-disable-failing-tests-armv7hl.patch b/python-matplotlib-disable-failing-tests-armv7hl.patch new file mode 100644 index 0000000..a435a1c --- /dev/null +++ b/python-matplotlib-disable-failing-tests-armv7hl.patch @@ -0,0 +1,32 @@ +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']) diff --git a/python-matplotlib-disable-failing-tests.patch b/python-matplotlib-disable-failing-tests.patch new file mode 100644 index 0000000..e3a6021 --- /dev/null +++ b/python-matplotlib-disable-failing-tests.patch @@ -0,0 +1,212 @@ +diff -up matplotlib-1.5.1/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests matplotlib-1.5.1/lib/matplotlib/sphinxext/tests/test_tinypages.py +--- matplotlib-1.5.1/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests 2016-01-10 23:20:20.000000000 +0100 ++++ matplotlib-1.5.1/lib/matplotlib/sphinxext/tests/test_tinypages.py 2016-05-23 14:04:41.780810625 +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.1/lib/matplotlib/tests/test_axes.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_axes.py +--- matplotlib-1.5.1/lib/matplotlib/tests/test_axes.py.tests 2016-01-10 23:20:20.000000000 +0100 ++++ matplotlib-1.5.1/lib/matplotlib/tests/test_axes.py 2016-05-23 14:04:41.780810625 +0200 +@@ -79,13 +79,6 @@ def test_formatter_ticker(): + ax.autoscale_view() + + +-@image_comparison(baseline_images=["formatter_large_small"]) +-def test_formatter_large_small(): +- # github issue #617, pull #619 +- fig, ax = plt.subplots(1) +- x = [0.500000001, 0.500000002] +- y = [1e64, 1.1e64] +- ax.plot(x, y) + + + @image_comparison(baseline_images=["twin_axis_locaters_formatters"]) +diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_backend_ps.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_backend_ps.py +--- matplotlib-1.5.1/lib/matplotlib/tests/test_backend_ps.py.tests 2016-05-23 14:04:41.066816181 +0200 ++++ matplotlib-1.5.1/lib/matplotlib/tests/test_backend_ps.py 2016-05-23 14:04:41.780810625 +0200 +@@ -69,12 +69,6 @@ def test_savefig_to_stringio_with_distil + _test_savefig_to_stringio() + + +-@cleanup +-@needs_tex +-def test_savefig_to_stringio_with_usetex(): +- matplotlib.rcParams['text.latex.unicode'] = True +- matplotlib.rcParams['text.usetex'] = True +- _test_savefig_to_stringio() + + + @cleanup +diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_bbox_tight.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_bbox_tight.py +--- matplotlib-1.5.1/lib/matplotlib/tests/test_bbox_tight.py.tests 2016-05-23 14:04:41.111815831 +0200 ++++ matplotlib-1.5.1/lib/matplotlib/tests/test_bbox_tight.py 2016-05-23 14:04:41.780810625 +0200 +@@ -86,13 +86,6 @@ def test_bbox_inches_tight_clipping(): + plt.gcf().artists.append(patch) + + +-@image_comparison(baseline_images=['bbox_inches_tight_raster'], +- remove_text=True, savefig_kwarg={'bbox_inches': 'tight'}) +-def test_bbox_inches_tight_raster(): +- """Test rasterization with tight_layout""" +- fig = plt.figure() +- ax = fig.add_subplot(111) +- ax.plot([1.0, 2.0], rasterized=True) + + if __name__ == '__main__': + import nose +diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_collections.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_collections.py +--- matplotlib-1.5.1/lib/matplotlib/tests/test_collections.py.tests 2016-05-23 14:04:41.148815543 +0200 ++++ matplotlib-1.5.1/lib/matplotlib/tests/test_collections.py 2016-05-23 14:04:41.781810617 +0200 +@@ -464,28 +464,6 @@ def test_barb_limits(): + decimal=1) + + +-@image_comparison(baseline_images=['EllipseCollection_test_image'], +- extensions=['png'], +- remove_text=True) +-def test_EllipseCollection(): +- # Test basic functionality +- fig, ax = plt.subplots() +- x = np.arange(4) +- y = np.arange(3) +- X, Y = np.meshgrid(x, y) +- XY = np.vstack((X.ravel(), Y.ravel())).T +- +- ww = X/float(x[-1]) +- hh = Y/float(y[-1]) +- aa = np.ones_like(ww) * 20 # first axis is 20 degrees CCW from x axis +- +- ec = mcollections.EllipseCollection(ww, hh, aa, +- units='x', +- offsets=XY, +- transOffset=ax.transData, +- facecolors='none') +- ax.add_collection(ec) +- ax.autoscale_view() + + + @image_comparison(baseline_images=['polycollection_close'], +diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_style.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_style.py +--- matplotlib-1.5.1/lib/matplotlib/tests/test_style.py.tests 2016-05-23 14:04:41.150815527 +0200 ++++ matplotlib-1.5.1/lib/matplotlib/tests/test_style.py 2016-05-23 14:04:41.781810617 +0200 +@@ -57,11 +57,6 @@ def test_use(): + assert mpl.rcParams[PARAM] == VALUE + + +-@attr('network') +-def test_use_url(): +- with temp_style('test', DUMMY_SETTINGS): +- with style.context('https://gist.github.com/adrn/6590261/raw'): +- assert mpl.rcParams['axes.facecolor'] == "#adeade" + + + def test_context(): +diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_text.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_text.py +--- matplotlib-1.5.1/lib/matplotlib/tests/test_text.py.tests 2016-05-23 14:04:41.108815854 +0200 ++++ matplotlib-1.5.1/lib/matplotlib/tests/test_text.py 2016-05-23 14:04:41.781810617 +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 --git a/python-matplotlib-use-system-six.patch b/python-matplotlib-use-system-six.patch new file mode 100644 index 0000000..6250e93 --- /dev/null +++ b/python-matplotlib-use-system-six.patch @@ -0,0 +1,43 @@ +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 +@@ -1010,7 +1010,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: +@@ -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(), diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c7ca57d..292bd98 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -6,7 +6,7 @@ %endif %global __provides_exclude_from .*/site-packages/.*\\.so$ %global with_html 1 -%global run_tests 0 +%global run_tests 1 # On RHEL 7 onwards, don't build with wx: %if 0%{?rhel} >= 7 @@ -46,7 +46,7 @@ Name: python-matplotlib Version: 1.5.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -59,6 +59,9 @@ Source1: setup.cfg #Patch0: %{name}-noagg.patch Patch2: 20_matplotlibrc_path_search_fix.patch Patch5: 70_bts720549_try_StayPuft_for_xkcd.patch +Patch6: python-matplotlib-use-system-six.patch +Patch7: python-matplotlib-disable-failing-tests.patch +Patch8: python-matplotlib-disable-failing-tests-armv7hl.patch BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -77,7 +80,10 @@ 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 @@ -346,6 +352,7 @@ Requires: python3-tkinter %prep %setup -q -n matplotlib-%{version} +rm -r lib/matplotlib/externals # Copy setup.cfg to the builddir sed 's/\(backend = \).*/\1%{backend}/' >setup.cfg <%{SOURCE1} @@ -365,6 +372,16 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %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 @@ -414,12 +431,11 @@ rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts %endif %if %{with_python3} -MPLCONFIGDIR=$PWD/.. \ -MATPLOTLIBDATA=$PWD/../lib/matplotlib/mpl-data/ \ +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 -rm -f %{buildroot}%{python3_sitearch}/six.py %endif %if %{run_tests} @@ -429,13 +445,13 @@ echo "backend : %{backend}" > matplotlibrc MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python2_sitearch} \ - xvfb-run %{__python} -c "import matplotlib; matplotlib.test()" + xvfb-run -a %{__python2} tests.py --no-network --processes=$(getconf _NPROCESSORS_ONLN) --process-timeout=300 %if %{with_python3} MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ - xvfb-run %{__python3} -c "import matplotlib; matplotlib.test()" + xvfb-run -a %{__python3} tests.py --no-network --processes=$(getconf _NPROCESSORS_ONLN) --process-timeout=300 %endif %endif # run_tests @@ -560,6 +576,12 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Wed May 18 2016 Dominik Mierzejewski - 1.5.1-5 +- Unbundle python-six (#1336740). +- Run tests (and temporarily disable failing ones). +- Use upstream-recommended way of running tests in parallel. +- python2-cycler and -mock are required for running tests. + * Sat Apr 30 2016 Ralf Corsépius - 1.5.1-4 - Rebuild for qhull-2015.2-1. - Reflect qhull_a.h's location having changed. From ee7e32500bcc71ffd71588e7d4a9dcc7e2e53202 Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Fri, 3 Jun 2016 13:46:25 +0200 Subject: [PATCH 149/240] Upstream no longer ships non-free images, use pristine source. --- .gitignore | 1 + generate-tarball.sh | 21 --------------------- python-matplotlib.spec | 10 ++++++---- sources | 2 +- 4 files changed, 8 insertions(+), 26 deletions(-) delete mode 100755 generate-tarball.sh diff --git a/.gitignore b/.gitignore index e693a7b..008d36c 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ matplotlib-1.0.0-without-gpc.tar.gz /matplotlib-1.4.3-without-gpc.tar.xz /matplotlib-1.4.3-without-extern.tar.xz /matplotlib-1.5.1-without-extern.tar.xz +/matplotlib-1.5.1.tar.gz diff --git a/generate-tarball.sh b/generate-tarball.sh deleted file mode 100755 index 4b9e934..0000000 --- a/generate-tarball.sh +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/sh - -version=$1 - -[ -z $version ] && exit 1 - -dir=matplotlib-${version} -file=matplotlib-${version}.tar.gz -file=v${version}.tar.gz -result=matplotlib-${version}-without-extern.tar.xz - -test -f $file || wget -v https://github.com/matplotlib/matplotlib/archive/$file - -rm -rf matplotlib-${version} -tar xzf $file - -rm -vr matplotlib-${version}/extern/qhull -rm -vr matplotlib-${version}/lib/matplotlib/mpl-data/sample_data/lena.* - -rm -f $result -tar cJf $result $dir diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 292bd98..6500b8b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -46,14 +46,13 @@ Name: python-matplotlib Version: 1.5.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT License: Python and MIT URL: http://matplotlib.org -#Modified Sources to remove the bundled libraries -Source0: matplotlib-%{version}-without-extern.tar.xz +Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}.tar.gz#/matplotlib-%{version}.tar.gz Source1: setup.cfg #Patch0: %{name}-noagg.patch @@ -352,7 +351,7 @@ Requires: python3-tkinter %prep %setup -q -n matplotlib-%{version} -rm -r lib/matplotlib/externals +rm -r {extern/qhull,lib/matplotlib/externals} # Copy setup.cfg to the builddir sed 's/\(backend = \).*/\1%{backend}/' >setup.cfg <%{SOURCE1} @@ -576,6 +575,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Mon May 23 2016 Dominik Mierzejewski - 1.5.1-6 +- Upstream no longer ships non-free images, use pristine source. + * Wed May 18 2016 Dominik Mierzejewski - 1.5.1-5 - Unbundle python-six (#1336740). - Run tests (and temporarily disable failing ones). diff --git a/sources b/sources index 23bbedc..87530fa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f111778585a8f65e5e9464b6084d556b matplotlib-1.5.1-without-extern.tar.xz +b22dc4962f36aab919a7125b3b35953b matplotlib-1.5.1.tar.gz From a402cee11b496f227b5932e4ea991566518bfd5f Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Wed, 15 Jun 2016 15:00:52 +0200 Subject: [PATCH 150/240] drop obsolete stuff - drop conditions on EOL Fedora versions - drop unused basepy3dir macro --- python-matplotlib.spec | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 6500b8b..c3622fe 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,6 +1,5 @@ -%if 0%{?fedora} >= 18 +%if 0%{?fedora} %global with_python3 1 -%global basepy3dir %(echo ../`basename %{py3dir}`) %else %global with_python3 0 %endif @@ -16,7 +15,7 @@ %endif # On Fedora 21 onwards, enable Qt5 backend: -%if 0%{?fedora} >= 21 +%if 0%{?fedora} %global with_qt5 1 %else %global with_qt5 0 From 959576b111580173cc53ecd01ddcb7c18740aa02 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Wed, 15 Jun 2016 15:06:00 +0200 Subject: [PATCH 151/240] add URLs for issues related to patches --- python-matplotlib.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c3622fe..1bc376e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -55,10 +55,14 @@ Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}.tar 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/issues/6539 Patch7: python-matplotlib-disable-failing-tests.patch +# https://github.com/matplotlib/matplotlib/issues/6538 Patch8: python-matplotlib-disable-failing-tests-armv7hl.patch BuildRequires: freetype-devel @@ -411,7 +415,7 @@ MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \ xvfb-run %{__python3} setup.py build # documentation cannot be built with python3 due to syntax errors -# and building with python 2 exits with cryptic error messages +# https://github.com/matplotlib/matplotlib/issues/5805 %endif %install From 1c7f1a4e4887f8d53e43ec9c295fe73b45f2b8a2 Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Sat, 18 Jun 2016 00:00:23 +0200 Subject: [PATCH 152/240] drop wrong hunk from use-system-six patch --- python-matplotlib-use-system-six.patch | 9 --------- 1 file changed, 9 deletions(-) diff --git a/python-matplotlib-use-system-six.patch b/python-matplotlib-use-system-six.patch index 6250e93..dd3dcc8 100644 --- a/python-matplotlib-use-system-six.patch +++ b/python-matplotlib-use-system-six.patch @@ -1,15 +1,6 @@ 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 -@@ -1010,7 +1010,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: @@ -1026,6 +1026,18 @@ class Qhull(SetupPackage): ext.sources.extend(glob.glob('extern/qhull/*.c')) From da083597a27287918a51ec229172da8a8abc6068 Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Sat, 18 Jun 2016 00:05:02 +0200 Subject: [PATCH 153/240] patch new qhull paths on F24+ instead of using sed --- python-matplotlib-qhull.patch | 24 ++++++++++++++++++++++++ python-matplotlib.spec | 4 ++-- 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 python-matplotlib-qhull.patch diff --git a/python-matplotlib-qhull.patch b/python-matplotlib-qhull.patch new file mode 100644 index 0000000..1e266c3 --- /dev/null +++ b/python-matplotlib-qhull.patch @@ -0,0 +1,24 @@ +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 + #include + + diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 1bc376e..48d9d09 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -64,6 +64,7 @@ Patch6: python-matplotlib-use-system-six.patch 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 BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -387,8 +388,7 @@ done %if 0%{?fedora} > 24 # Installation paths changed -sed -i -e 's,\"qhull/qhull_a.h\",,' src/qhull_wrap.c -sed -i -e "s|os.path.join(x, 'qhull')|os.path.join(x, 'libqhull')|" setupext.py +%patch9 -p1 -b .qh %endif chmod -x lib/matplotlib/mpl-data/images/*.svg From 844271bb3264c2ae905106292e9fb44688fa0ab0 Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Sat, 18 Jun 2016 03:08:09 +0200 Subject: [PATCH 154/240] Update to 1.5.2rc2. - Drop wrong hunk from use-system-six patch. - Patch new qhull paths on F25+ instead of using sed. - Rebase failing tests patch. --- .gitignore | 1 + python-matplotlib-disable-failing-tests.patch | 151 ++++++------------ python-matplotlib.spec | 17 +- sources | 2 +- 4 files changed, 68 insertions(+), 103 deletions(-) diff --git a/.gitignore b/.gitignore index 008d36c..154e24e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ matplotlib-1.0.0-without-gpc.tar.gz /matplotlib-1.4.3-without-extern.tar.xz /matplotlib-1.5.1-without-extern.tar.xz /matplotlib-1.5.1.tar.gz +/matplotlib-1.5.2rc2.tar.gz diff --git a/python-matplotlib-disable-failing-tests.patch b/python-matplotlib-disable-failing-tests.patch index e3a6021..56af4af 100644 --- a/python-matplotlib-disable-failing-tests.patch +++ b/python-matplotlib-disable-failing-tests.patch @@ -1,6 +1,6 @@ -diff -up matplotlib-1.5.1/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests matplotlib-1.5.1/lib/matplotlib/sphinxext/tests/test_tinypages.py ---- matplotlib-1.5.1/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests 2016-01-10 23:20:20.000000000 +0100 -+++ matplotlib-1.5.1/lib/matplotlib/sphinxext/tests/test_tinypages.py 2016-05-23 14:04:41.780810625 +0200 +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 """ @@ -18,106 +18,49 @@ diff -up matplotlib-1.5.1/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests try: ret = call(['sphinx-build', '--help'], stdout=PIPE, stderr=PIPE) except OSError: -diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_axes.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_axes.py ---- matplotlib-1.5.1/lib/matplotlib/tests/test_axes.py.tests 2016-01-10 23:20:20.000000000 +0100 -+++ matplotlib-1.5.1/lib/matplotlib/tests/test_axes.py 2016-05-23 14:04:41.780810625 +0200 -@@ -79,13 +79,6 @@ def test_formatter_ticker(): - ax.autoscale_view() +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(): -- # github issue #617, pull #619 -- fig, ax = plt.subplots(1) -- x = [0.500000001, 0.500000002] -- y = [1e64, 1.1e64] -- ax.plot(x, y) + @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 - @image_comparison(baseline_images=["twin_axis_locaters_formatters"]) -diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_backend_ps.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_backend_ps.py ---- matplotlib-1.5.1/lib/matplotlib/tests/test_backend_ps.py.tests 2016-05-23 14:04:41.066816181 +0200 -+++ matplotlib-1.5.1/lib/matplotlib/tests/test_backend_ps.py 2016-05-23 14:04:41.780810625 +0200 -@@ -69,12 +69,6 @@ def test_savefig_to_stringio_with_distil - _test_savefig_to_stringio() + import numpy as np - --@cleanup --@needs_tex --def test_savefig_to_stringio_with_usetex(): -- matplotlib.rcParams['text.latex.unicode'] = True -- matplotlib.rcParams['text.usetex'] = True -- _test_savefig_to_stringio() - - - @cleanup -diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_bbox_tight.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_bbox_tight.py ---- matplotlib-1.5.1/lib/matplotlib/tests/test_bbox_tight.py.tests 2016-05-23 14:04:41.111815831 +0200 -+++ matplotlib-1.5.1/lib/matplotlib/tests/test_bbox_tight.py 2016-05-23 14:04:41.780810625 +0200 -@@ -86,13 +86,6 @@ def test_bbox_inches_tight_clipping(): - plt.gcf().artists.append(patch) - - --@image_comparison(baseline_images=['bbox_inches_tight_raster'], -- remove_text=True, savefig_kwarg={'bbox_inches': 'tight'}) --def test_bbox_inches_tight_raster(): -- """Test rasterization with tight_layout""" -- fig = plt.figure() -- ax = fig.add_subplot(111) -- ax.plot([1.0, 2.0], rasterized=True) - - if __name__ == '__main__': - import nose -diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_collections.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_collections.py ---- matplotlib-1.5.1/lib/matplotlib/tests/test_collections.py.tests 2016-05-23 14:04:41.148815543 +0200 -+++ matplotlib-1.5.1/lib/matplotlib/tests/test_collections.py 2016-05-23 14:04:41.781810617 +0200 -@@ -464,28 +464,6 @@ def test_barb_limits(): - decimal=1) - - --@image_comparison(baseline_images=['EllipseCollection_test_image'], -- extensions=['png'], -- remove_text=True) --def test_EllipseCollection(): -- # Test basic functionality -- fig, ax = plt.subplots() -- x = np.arange(4) -- y = np.arange(3) -- X, Y = np.meshgrid(x, y) -- XY = np.vstack((X.ravel(), Y.ravel())).T -- -- ww = X/float(x[-1]) -- hh = Y/float(y[-1]) -- aa = np.ones_like(ww) * 20 # first axis is 20 degrees CCW from x axis -- -- ec = mcollections.EllipseCollection(ww, hh, aa, -- units='x', -- offsets=XY, -- transOffset=ax.transData, -- facecolors='none') -- ax.add_collection(ec) -- ax.autoscale_view() - - - @image_comparison(baseline_images=['polycollection_close'], -diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_style.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_style.py ---- matplotlib-1.5.1/lib/matplotlib/tests/test_style.py.tests 2016-05-23 14:04:41.150815527 +0200 -+++ matplotlib-1.5.1/lib/matplotlib/tests/test_style.py 2016-05-23 14:04:41.781810617 +0200 -@@ -57,11 +57,6 @@ def test_use(): - assert mpl.rcParams[PARAM] == VALUE - - --@attr('network') --def test_use_url(): -- with temp_style('test', DUMMY_SETTINGS): -- with style.context('https://gist.github.com/adrn/6590261/raw'): -- assert mpl.rcParams['axes.facecolor'] == "#adeade" - - - def test_context(): -diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_text.py.tests matplotlib-1.5.1/lib/matplotlib/tests/test_text.py ---- matplotlib-1.5.1/lib/matplotlib/tests/test_text.py.tests 2016-05-23 14:04:41.108815854 +0200 -+++ matplotlib-1.5.1/lib/matplotlib/tests/test_text.py 2016-05-23 14:04:41.781810617 +0200 +@@ -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 @@ -210,3 +153,15 @@ diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_text.py.tests matplotlib-1.5 @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) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 48d9d09..891ad7b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -43,15 +43,17 @@ # Use the same directory of the main package for subpackage licence and docs %global _docdir_fmt %{name} +%global rctag rc2 + Name: python-matplotlib -Version: 1.5.1 -Release: 6%{?dist} +Version: 1.5.2 +Release: 0.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}.tar.gz#/matplotlib-%{version}.tar.gz +Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}.tar.gz#/matplotlib-%{version}%{?rctag}.tar.gz Source1: setup.cfg #Patch0: %{name}-noagg.patch @@ -60,6 +62,7 @@ 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 @@ -354,7 +357,7 @@ Requires: python3-tkinter %endif %prep -%setup -q -n matplotlib-%{version} +%setup -q -n matplotlib-%{version}%{?rctag} rm -r {extern/qhull,lib/matplotlib/externals} # Copy setup.cfg to the builddir @@ -578,6 +581,12 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Fri Jun 03 2016 Dominik Mierzejewski - 1.5.1-7 +- Update to 1.5.2rc2. +- Drop wrong hunk from use-system-six patch. +- Patch new qhull paths on F25+ instead of using sed. +- Rebase failing tests patch. + * Mon May 23 2016 Dominik Mierzejewski - 1.5.1-6 - Upstream no longer ships non-free images, use pristine source. diff --git a/sources b/sources index 87530fa..6a48702 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b22dc4962f36aab919a7125b3b35953b matplotlib-1.5.1.tar.gz +495f6bdf126b40f63c316c9404349e40 matplotlib-1.5.2rc2.tar.gz From 00a8b9c8fd840e9e87c22e4c26e11ffa22cd305c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 19 Jul 2016 10:25:39 +0000 Subject: [PATCH 155/240] - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 891ad7b..5b61127 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -47,7 +47,7 @@ Name: python-matplotlib Version: 1.5.2 -Release: 0.1%{?rctag:.%{rctag}}%{?dist} +Release: 0.2%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -581,6 +581,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Tue Jul 19 2016 Fedora Release Engineering - 1.5.2-0.2.rc2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + * Fri Jun 03 2016 Dominik Mierzejewski - 1.5.1-7 - Update to 1.5.2rc2. - Drop wrong hunk from use-system-six patch. From b295321e0269b0c142e304a720ecc584d9047bf7 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Thu, 22 Sep 2016 15:12:52 +0200 Subject: [PATCH 156/240] 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 --- .gitignore | 1 + 20_matplotlibrc_path_search_fix.patch | 12 - 70_bts720549_try_StayPuft_for_xkcd.patch | 19 -- ...matplotlib-disable-failing-tests-arm.patch | 0 python-matplotlib-disable-failing-tests.patch | 153 +--------- ...lib-increase-tests-tolerance-aarch64.patch | 138 +++++++++ ...lotlib-increase-tests-tolerance-i686.patch | 84 ++++++ ...-matplotlib-increase-tests-tolerance.patch | 60 ++++ python-matplotlib.spec | 265 ++++++++++-------- sources | 2 +- 10 files changed, 439 insertions(+), 295 deletions(-) delete mode 100644 70_bts720549_try_StayPuft_for_xkcd.patch rename python-matplotlib-disable-failing-tests-armv7hl.patch => python-matplotlib-disable-failing-tests-arm.patch (100%) create mode 100644 python-matplotlib-increase-tests-tolerance-aarch64.patch create mode 100644 python-matplotlib-increase-tests-tolerance-i686.patch create mode 100644 python-matplotlib-increase-tests-tolerance.patch diff --git a/.gitignore b/.gitignore index 154e24e..ebf1041 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ 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 diff --git a/20_matplotlibrc_path_search_fix.patch b/20_matplotlibrc_path_search_fix.patch index c8380ea..b4d708a 100644 --- a/20_matplotlibrc_path_search_fix.patch +++ b/20_matplotlibrc_path_search_fix.patch @@ -22,15 +22,3 @@ 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: diff --git a/70_bts720549_try_StayPuft_for_xkcd.patch b/70_bts720549_try_StayPuft_for_xkcd.patch deleted file mode 100644 index 0edeed5..0000000 --- a/70_bts720549_try_StayPuft_for_xkcd.patch +++ /dev/null @@ -1,19 +0,0 @@ -Description: Try to use also StayPuft (a free font) for xkcd -Author: Sandro Tosi -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'] = [ diff --git a/python-matplotlib-disable-failing-tests-armv7hl.patch b/python-matplotlib-disable-failing-tests-arm.patch similarity index 100% rename from python-matplotlib-disable-failing-tests-armv7hl.patch rename to python-matplotlib-disable-failing-tests-arm.patch diff --git a/python-matplotlib-disable-failing-tests.patch b/python-matplotlib-disable-failing-tests.patch index 56af4af..b9ac52d 100644 --- a/python-matplotlib-disable-failing-tests.patch +++ b/python-matplotlib-disable-failing-tests.patch @@ -1,6 +1,6 @@ -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 +diff -up matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py +--- matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests 2016-07-17 01:04:11.000000000 +0200 ++++ matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py 2016-08-29 13:41:47.661198880 +0200 @@ -1,6 +1,7 @@ """ Tests for tinypages build using sphinx extensions """ @@ -18,150 +18,3 @@ diff -up matplotlib-1.5.2rc2/lib/matplotlib/sphinxext/tests/test_tinypages.py.te 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) diff --git a/python-matplotlib-increase-tests-tolerance-aarch64.patch b/python-matplotlib-increase-tests-tolerance-aarch64.patch new file mode 100644 index 0000000..0582b15 --- /dev/null +++ b/python-matplotlib-increase-tests-tolerance-aarch64.patch @@ -0,0 +1,138 @@ +diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py.tests-aarch64 matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py +--- matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py.tests-aarch64 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py 2016-09-22 09:45:32.885582889 +0200 +@@ -1238,7 +1238,7 @@ def test_contour_colorbar(): + cbar.add_lines(cs2, erase=False) + + +-@image_comparison(baseline_images=['hist2d', 'hist2d']) ++@image_comparison(baseline_images=['hist2d', 'hist2d'], tol=10.677) + def test_hist2d(): + np.random.seed(0) + # make it not symetric in case we switch x and y axis +diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_colors.py.tests-aarch64 matplotlib-2.0.0b4/lib/matplotlib/tests/test_colors.py +--- matplotlib-2.0.0b4/lib/matplotlib/tests/test_colors.py.tests-aarch64 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_colors.py 2016-09-22 12:12:14.228568786 +0200 +@@ -14,6 +14,7 @@ except ImportError: + assert_sequence_equal = None + + import numpy as np ++from numpy.testing import assert_almost_equal + from numpy.testing.utils import assert_array_equal, assert_array_almost_equal + from nose.plugins.skip import SkipTest + +@@ -208,7 +208,7 @@ def test_Normalize(): + # and for scalar ones. + eps = np.finfo(np.longdouble).resolution + norm = plt.Normalize(1, 1 + 100 * eps) +- assert_equal(norm(1 + 50 * eps), .5) ++ assert_almost_equal(norm(1 + 50 * eps), .5, decimal=2) + + + def test_SymLogNorm(): +diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_quiver.py.tests-aarch64 matplotlib-2.0.0b4/lib/matplotlib/tests/test_quiver.py +--- matplotlib-2.0.0b4/lib/matplotlib/tests/test_quiver.py.tests-aarch64 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_quiver.py 2016-09-22 09:43:46.376702805 +0200 +@@ -121,7 +121,7 @@ def test_quiver_key_pivot(): + ax.quiverkey(q, 0, 0.5, 1, 'W', labelpos='W') + + +-@image_comparison(baseline_images=['barbs_test_image'], ++@image_comparison(baseline_images=['barbs_test_image'], tol=0.763, + extensions=['png'], remove_text=True) + def test_barbs(): + x = np.linspace(-5, 5, 5) +diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_mlab.py.tests-aarch64 matplotlib-2.0.0b4/lib/matplotlib/tests/test_mlab.py +--- matplotlib-2.0.0b4/lib/matplotlib/tests/test_mlab.py.tests-aarch64 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_mlab.py 2016-09-22 10:48:13.502921007 +0200 +@@ -2279,90 +2279,6 @@ class spectral_testcase_nosig_complex_de + iscomplex=True, sides='default', nsides=2) + + +-class spectral_testcase_Fs4_real_onesided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4], +- iscomplex=False, sides='onesided', nsides=1) +- +- +-class spectral_testcase_Fs4_real_twosided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4], +- iscomplex=False, sides='twosided', nsides=2) +- +- +-class spectral_testcase_Fs4_real_defaultsided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4], +- iscomplex=False, sides='default', nsides=1) +- +- +-class spectral_testcase_Fs4_complex_onesided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4], +- iscomplex=True, sides='onesided', nsides=1) +- +- +-class spectral_testcase_Fs4_complex_twosided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4], +- iscomplex=True, sides='twosided', nsides=2) +- +- +-class spectral_testcase_Fs4_complex_defaultsided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4], +- iscomplex=True, sides='default', nsides=2) +- +- +-class spectral_testcase_FsAll_real_onesided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4, 5, 10], +- iscomplex=False, sides='onesided', nsides=1) +- +- +-class spectral_testcase_FsAll_real_twosided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4, 5, 10], +- iscomplex=False, sides='twosided', nsides=2) +- +- +-class spectral_testcase_FsAll_real_defaultsided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4, 5, 10], +- iscomplex=False, sides='default', nsides=1) +- +- +-class spectral_testcase_FsAll_complex_onesided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4, 5, 10], +- iscomplex=True, sides='onesided', nsides=1) +- +- +-class spectral_testcase_FsAll_complex_twosided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4, 5, 10], +- iscomplex=True, sides='twosided', nsides=2) +- +- +-class spectral_testcase_FsAll_complex_defaultsided( +- spectral_testcase_nosig_real_onesided): +- def setUp(self): +- self.createStim(fstims=[4, 5, 10], +- iscomplex=True, sides='default', nsides=2) +- +- + class spectral_testcase_nosig_real_onesided_noNFFT( + spectral_testcase_nosig_real_onesided): + def setUp(self): diff --git a/python-matplotlib-increase-tests-tolerance-i686.patch b/python-matplotlib-increase-tests-tolerance-i686.patch new file mode 100644 index 0000000..36a3c11 --- /dev/null +++ b/python-matplotlib-increase-tests-tolerance-i686.patch @@ -0,0 +1,84 @@ +diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py.tests-i686 matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py +--- matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py 2016-09-21 22:10:29.723986792 +0200 +@@ -314,7 +314,7 @@ def test_single_point(): + plt.plot('b','b', 'o', data=data) + + +-@image_comparison(baseline_images=['single_date']) ++@image_comparison(baseline_images=['single_date'], tol=1.97) + def test_single_date(): + time1 = [721964.0] + data1 = [-65.54] +@@ -2834,7 +2834,7 @@ def test_subplot_key_hash(): + + @image_comparison(baseline_images=['specgram_freqs', + 'specgram_freqs_linear'], +- remove_text=True, extensions=['png'], tol=0.07) ++ remove_text=True, extensions=['png'], tol=8.916) + def test_specgram_freqs(): + '''test axes.specgram in default (psd) mode with sinusoidal stimuli''' + n = 10000 +@@ -2934,7 +2934,7 @@ def test_specgram_noise(): + + @image_comparison(baseline_images=['specgram_magnitude_freqs', + 'specgram_magnitude_freqs_linear'], +- remove_text=True, extensions=['png'], tol=0.07) ++ remove_text=True, extensions=['png'], tol=8.913) + def test_specgram_magnitude_freqs(): + '''test axes.specgram in magnitude mode with sinusoidal stimuli''' + n = 10000 +@@ -3035,7 +3035,7 @@ def test_specgram_magnitude_noise(): + + + @image_comparison(baseline_images=['specgram_angle_freqs'], +- remove_text=True, extensions=['png'], tol=0.007) ++ remove_text=True, extensions=['png'], tol=2.871) + def test_specgram_angle_freqs(): + '''test axes.specgram in angle mode with sinusoidal stimuli''' + n = 10000 +@@ -4523,7 +4523,7 @@ def test_date_timezone_y(): + + + @image_comparison(baseline_images=['date_timezone_x_and_y'], +- extensions=['png']) ++ extensions=['png'], tol=3.042) + def test_date_timezone_x_and_y(): + # Tests issue 5575 + time_index = [pytz.timezone('UTC').localize(datetime.datetime( +diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_collections.py.tests-i686 matplotlib-2.0.0b4/lib/matplotlib/tests/test_collections.py +--- matplotlib-2.0.0b4/lib/matplotlib/tests/test_collections.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_collections.py 2016-09-21 22:11:22.688364049 +0200 +@@ -489,7 +489,7 @@ def test_EllipseCollection(): + ax.autoscale_view() + + +-@image_comparison(baseline_images=['polycollection_close'], ++@image_comparison(baseline_images=['polycollection_close'], tol=0.446, + extensions=['png'], remove_text=True) + def test_polycollection_close(): + from mpl_toolkits.mplot3d import Axes3D +diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_contour.py.tests-i686 matplotlib-2.0.0b4/lib/matplotlib/tests/test_contour.py +--- matplotlib-2.0.0b4/lib/matplotlib/tests/test_contour.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_contour.py 2016-09-21 22:12:53.503016310 +0200 +@@ -233,7 +233,7 @@ def test_contour_datetime_axis(): + label.set_rotation(30) + + +-@image_comparison(baseline_images=['contour_test_label_transforms'], ++@image_comparison(baseline_images=['contour_test_label_transforms'], tol=0.731, + extensions=['png'], remove_text=True) + def test_labels(): + # Adapted from pylab_examples example code: contour_demo.py +diff -up matplotlib-2.0.0b4/lib/mpl_toolkits/tests/test_mplot3d.py.tests-i686 matplotlib-2.0.0b4/lib/mpl_toolkits/tests/test_mplot3d.py +--- matplotlib-2.0.0b4/lib/mpl_toolkits/tests/test_mplot3d.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/mpl_toolkits/tests/test_mplot3d.py 2016-09-21 22:15:48.271273692 +0200 +@@ -173,7 +173,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.081) + def test_trisurf3d(): + n_angles = 36 + n_radii = 8 diff --git a/python-matplotlib-increase-tests-tolerance.patch b/python-matplotlib-increase-tests-tolerance.patch new file mode 100644 index 0000000..9e59257 --- /dev/null +++ b/python-matplotlib-increase-tests-tolerance.patch @@ -0,0 +1,60 @@ +diff -up matplotlib-2.0.0b4/lib/matplotlib/testing/decorators.py.tests matplotlib-2.0.0b4/lib/matplotlib/testing/decorators.py +--- matplotlib-2.0.0b4/lib/matplotlib/testing/decorators.py.tests 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/testing/decorators.py 2016-09-21 14:32:15.873155667 +0200 +@@ -268,7 +268,7 @@ class ImageComparisonTest(CleanupTest): + + yield (do_test,) + +-def image_comparison(baseline_images=None, extensions=None, tol=0, ++def image_comparison(baseline_images=None, extensions=None, tol=0.306, + freetype_version=None, remove_text=False, + savefig_kwarg=None, style='classic'): + """ +diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_png.py.tests matplotlib-2.0.0b4/lib/matplotlib/tests/test_png.py +--- matplotlib-2.0.0b4/lib/matplotlib/tests/test_png.py.tests 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_png.py 2016-09-21 14:56:44.756256983 +0200 +@@ -17,7 +17,7 @@ on_win = (sys.platform == 'win32') + + + @image_comparison(baseline_images=['pngsuite'], extensions=['png'], +- tol=0.01 if on_win else 0) ++ tol=0.012) + def test_pngsuite(): + dirname = os.path.join( + os.path.dirname(__file__), +diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_streamplot.py.tests matplotlib-2.0.0b4/lib/matplotlib/tests/test_streamplot.py +--- matplotlib-2.0.0b4/lib/matplotlib/tests/test_streamplot.py.tests 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_streamplot.py 2016-09-21 14:57:16.279481106 +0200 +@@ -18,7 +18,7 @@ def velocity_field(): + + + @image_comparison(baseline_images=['streamplot_colormap'], +- tol=0.002) ++ tol=0.009) + def test_colormap(): + X, Y, U, V = velocity_field() + plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2, +diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_patheffects.py.tests-i686 matplotlib-2.0.0b4/lib/matplotlib/tests/test_patheffects.py +--- matplotlib-2.0.0b4/lib/matplotlib/tests/test_patheffects.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_patheffects.py 2016-09-21 22:14:17.959623938 +0200 +@@ -110,7 +110,7 @@ def test_SimplePatchShadow_offset(): + assert_equal(pe._offset, (4, 5)) + + +-@image_comparison(baseline_images=['collection'], tol=0.015) ++@image_comparison(baseline_images=['collection'], tol=0.083) + 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 -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_transforms.py.tests-i686 matplotlib-2.0.0b4/lib/matplotlib/tests/test_transforms.py +--- matplotlib-2.0.0b4/lib/matplotlib/tests/test_transforms.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 ++++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_transforms.py 2016-09-21 22:14:58.848918119 +0200 +@@ -82,7 +82,7 @@ def test_external_transform_api(): + + + @image_comparison(baseline_images=['pre_transform_data'], +- tol=0.08) ++ tol=0.818) + 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/python-matplotlib.spec b/python-matplotlib.spec index 5b61127..6e385da 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -4,7 +4,7 @@ %global with_python3 0 %endif %global __provides_exclude_from .*/site-packages/.*\\.so$ -%global with_html 1 +%global with_html 0 %global run_tests 1 # On RHEL 7 onwards, don't build with wx: @@ -43,11 +43,11 @@ # Use the same directory of the main package for subpackage licence and docs %global _docdir_fmt %{name} -%global rctag rc2 +%global rctag b4 Name: python-matplotlib -Version: 1.5.2 -Release: 0.2%{?rctag:.%{rctag}}%{?dist} +Version: 2.0.0 +Release: 0.1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -56,51 +56,24 @@ URL: http://matplotlib.org Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}.tar.gz#/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 +Patch8: python-matplotlib-disable-failing-tests-arm.patch +# https://github.com/matplotlib/matplotlib/issues/6791 Patch9: python-matplotlib-qhull.patch +# https://github.com/matplotlib/matplotlib/issues/7134 +# https://github.com/matplotlib/matplotlib/issues/7158 +# https://github.com/matplotlib/matplotlib/issues/7159 +Patch10: python-matplotlib-increase-tests-tolerance.patch +Patch11: python-matplotlib-increase-tests-tolerance-aarch64.patch +Patch13: python-matplotlib-increase-tests-tolerance-i686.patch 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: 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 @@ -114,23 +87,60 @@ 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} +BuildRequires: numpy +BuildRequires: pyparsing +BuildRequires: python-dateutil +BuildRequires: python-pycxx-devel +BuildRequires: python-pyside +BuildRequires: python-setuptools +BuildRequires: python-six +BuildRequires: python-subprocess32 +BuildRequires: python2-devel +BuildRequires: python2-functools32 +BuildRequires: python2-pillow +BuildRequires: pytz +%if %{with_html} +BuildRequires: %{_bindir}/pdftops +# circular dependency: python-basemap requires matplotlib +BuildRequires: python-basemap +BuildRequires: python-ipython-sphinx +BuildRequires: python-numpydoc +BuildRequires: python-scikit-image +BuildRequires: python2-colorspacious +BuildRequires: python2-cycler >= 0.10.0 +%endif +%if %{run_tests} +BuildRequires: python-nose +BuildRequires: python2-cycler >= 0.10.0 +BuildRequires: python2-mock +%endif Requires: dejavu-sans-fonts Requires: dvipng -Requires: python-six Requires: numpy Requires: pyparsing -Requires: python2-cycler +Requires: python2-cycler >= 0.10.0 Requires: python-dateutil +Requires: python-matplotlib-data = %{version}-%{release} +%{?backend_subpackage:Requires: python2-matplotlib-%{backend_subpackage}%{?_isa} = %{version}-%{release}} +Recommends: python2-pillow +Requires: python-six Requires: pytz -%if 0%{?fedora} >= 18 +%if !%{with_bundled_fonts} +%if 0%{?fedora} Requires: stix-math-fonts %else Requires: stix-fonts %endif -Requires: %{name}-data = %{version}-%{release} +%else +Provides: bundled(stix-math-fonts) +%endif +%{?python_provide:%python_provide python2-matplotlib} +Provides: bundled(agg) = 2.4 +Provides: bundled(ttconv) +Provides: bundled(js-jquery1) = 1.11.3 +Provides: bundled(js-jquery1-ui) = 1.11.4 +Provides: bundled(texlive-helvetic) -%{?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 @@ -143,117 +153,117 @@ 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 +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} +Requires: python2-matplotlib-qt5 +%{?python_provide:%python_provide python2-matplotlib-qt4} %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 +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} +%{?python_provide:%python_provide python2-matplotlib-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 +BuildRequires: pygtk2-devel Requires: pycairo Requires: pygtk2 +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} +%{?python_provide:%python_provide python2-matplotlib-gtk} %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} +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} +%{?python_provide:%python_provide python2-matplotlib-gtk3} %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: python2-matplotlib%{?_isa} = %{version}-%{release} Requires: tkinter +%{?python_provide:%python_provide python2-matplotlib-tk} %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: python2-matplotlib%{?_isa} = %{version}-%{release} Requires: wxPython +%{?python_provide:%python_provide python2-matplotlib-wx} %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: dvipng +BuildRequires: graphviz BuildRequires: python-sphinx BuildRequires: tex(latex) BuildRequires: tex-preview -BuildRequires: dvipng -BuildRequires: graphviz %endif +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} +%{?python_provide:%python_provide python2-matplotlib-doc} %description -n python2-matplotlib-doc %{summary} %package -n python-matplotlib-data -%{?python_provide:%python_provide python-matplotlib-data} Summary: Data used by python-matplotlib +BuildArch: noarch %if %{with_bundled_fonts} Requires: python-matplotlib-data-fonts = %{version}-%{release} %endif -BuildArch: noarch +%{?python_provide:%python_provide python-matplotlib-data} %description -n python-matplotlib-data %{summary} %if %{with_bundled_fonts} %package -n python-matplotlib-data-fonts -%{?python_provide:%python_provide python-matplotlib-data-fonts} Summary: Fonts used by python-matplotlib -Requires: python-matplotlib-data = %{version}-%{release} BuildArch: noarch +Requires: python-matplotlib-data = %{version}-%{release} +%{?python_provide:%python_provide python-matplotlib-data-fonts} %description -n python-matplotlib-data-fonts %{summary} @@ -261,37 +271,46 @@ BuildArch: noarch %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-numpy +BuildRequires: python3-pillow BuildRequires: python3-pycxx-devel 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 Requires: dejavu-sans-fonts Requires: dvipng -%if 0%{?fedora} >= 18 +Requires: python-matplotlib-data = %{version}-%{release} +Requires: python3-cairo +Requires: python3-cycler >= 0.10.0 +Requires: python3-dateutil +Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release} +%if %{run_tests} +BuildRequires: python3-mock +BuildRequires: python3-nose +%endif +Requires: python3-numpy +Recommends: python3-pillow +Requires: python3-pyparsing +Requires: python3-pytz +Requires: python3-six +%if !%{with_bundled_fonts} +%if 0%{?fedora} Requires: stix-math-fonts %else Requires: stix-fonts %endif -Requires: %{name}-data = %{version}-%{release} - -Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release} +%else +Provides: bundled(stix-math-fonts) +%endif +%{?python_provide:%python_provide python3-matplotlib} %description -n python3-matplotlib Matplotlib is a python 2D plotting library which produces publication @@ -305,25 +324,25 @@ 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} @@ -331,26 +350,26 @@ Requires: python3-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} @@ -358,7 +377,7 @@ Requires: python3-tkinter %prep %setup -q -n matplotlib-%{version}%{?rctag} -rm -r {extern/qhull,lib/matplotlib/externals} +rm -r extern/qhull # Copy setup.cfg to the builddir sed 's/\(backend = \).*/\1%{backend}/' >setup.cfg <%{SOURCE1} @@ -368,7 +387,7 @@ sed 's/\(backend = \).*/\1%{backend}/' >setup.cfg <%{SOURCE1} # 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} @@ -377,26 +396,28 @@ 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 +%ifarch armv7hl aarch64 +%patch8 -p1 -b .tests-arm %endif %if 0%{?fedora} > 24 # Installation paths changed %patch9 -p1 -b .qh %endif +%patch10 -p1 -b .tests +%ifarch aarch64 +%patch11 -p1 -b .tests-aarch64 +%endif +%ifarch i686 +%patch13 -p1 -b .tests-i686 +%endif chmod -x lib/matplotlib/mpl-data/images/*.svg +chmod -x lib/matplotlib/{dates,sankey}.py +chmod -x lib/mpl_toolkits/mplot3d/*.py %build +export http_proxy=http://127.0.0.1/ MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \ xvfb-run %{__python2} setup.py build @@ -422,6 +443,7 @@ MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \ %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} @@ -445,6 +467,7 @@ rm -fr %{buildroot}%{python3_sitearch}/matplotlib/mpl-data %if %{run_tests} %check +export http_proxy=http://127.0.0.1/ # This should match the default backend echo "backend : %{backend}" > matplotlibrc MPLCONFIGDIR=$PWD \ @@ -460,6 +483,18 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %endif # run_tests +%files -n python-matplotlib-data +%{_sysconfdir}/matplotlibrc +%{_datadir}/matplotlib/mpl-data/ +%if %{with_bundled_fonts} +%exclude %{_datadir}/matplotlib/mpl-data/fonts/ +%endif + +%if %{with_bundled_fonts} +%files -n python-matplotlib-data-fonts +%{_datadir}/matplotlib/mpl-data/fonts/ +%endif + %files -n python2-matplotlib %license LICENSE/ %doc CONTRIBUTING.md @@ -468,7 +503,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %{python2_sitearch}/*egg-info %{python2_sitearch}/matplotlib-*-nspkg.pth %{python2_sitearch}/matplotlib/ +%exclude %{python2_sitearch}/matplotlib/tests/baseline_images/* %{python2_sitearch}/mpl_toolkits/ +%exclude %{python2_sitearch}/mpl_toolkits/tests/baseline_images/* %{python2_sitearch}/pylab.py* %exclude %{python2_sitearch}/matplotlib/backends/backend_qt4* %exclude %{python2_sitearch}/matplotlib/backends/backend_qt5* @@ -479,7 +516,8 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %exclude %{python2_sitearch}/matplotlib/backends/_tkagg.so %exclude %{python2_sitearch}/matplotlib/backends/backend_wx.* %exclude %{python2_sitearch}/matplotlib/backends/backend_wxagg.* -%exclude %{_pkgdocdir}/*/ +%exclude %{_pkgdocdir}/* +%exclude %{_pkgdocdir}/*/* %files -n python2-matplotlib-qt4 %{python2_sitearch}/matplotlib/backends/backend_qt4.* @@ -517,18 +555,6 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %doc doc/build/html/* %endif -%files -n python-matplotlib-data -%{_sysconfdir}/matplotlibrc -%{_datadir}/matplotlib/mpl-data/ -%if %{with_bundled_fonts} -%exclude %{_datadir}/matplotlib/mpl-data/fonts/ -%endif - -%if %{with_bundled_fonts} -%files -n python-matplotlib-data-fonts -%{_datadir}/matplotlib/mpl-data/fonts/ -%endif - %if %{with_python3} %files -n python3-matplotlib %license LICENSE/ @@ -538,7 +564,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %{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* @@ -581,6 +609,17 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Sat Sep 10 2016 Dominik Mierzejewski - 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 - 1.5.2-0.2.rc2 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages diff --git a/sources b/sources index 6a48702..3e6af61 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -495f6bdf126b40f63c316c9404349e40 matplotlib-1.5.2rc2.tar.gz +a71c4c6c03aafec77ade9171317915b2 matplotlib-2.0.0b4.tar.gz From 8c2171471bb4f91a658eca361fc9b62ffa55fedb Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Mon, 26 Sep 2016 15:50:02 +0200 Subject: [PATCH 157/240] add missing runtime dependencies for python2 package --- python-matplotlib.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 6e385da..14d096b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -47,7 +47,7 @@ Name: python-matplotlib Version: 2.0.0 -Release: 0.1%{?rctag:.%{rctag}}%{?dist} +Release: 0.2%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -120,10 +120,12 @@ Requires: numpy Requires: pyparsing Requires: python2-cycler >= 0.10.0 Requires: python-dateutil +Requires: python2-functools32 Requires: python-matplotlib-data = %{version}-%{release} %{?backend_subpackage:Requires: python2-matplotlib-%{backend_subpackage}%{?_isa} = %{version}-%{release}} Recommends: python2-pillow Requires: python-six +Requires: python-subprocess32 Requires: pytz %if !%{with_bundled_fonts} %if 0%{?fedora} @@ -609,6 +611,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Mon Sep 26 2016 Dominik Mierzejewski - 2.0.0-0.2.b4 +- add missing runtime dependencies for python2 package + * Sat Sep 10 2016 Dominik Mierzejewski - 2.0.0-0.1.b4 - Update to 2.0.0b4 - Drop upstreamed or obsolete patches From 82ec7425cf5ab793472112437306042ccf4b06a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Mon, 24 Oct 2016 14:53:51 +0200 Subject: [PATCH 158/240] - disable tests on some alt-arches to unblock depending builds --- python-matplotlib.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 14d096b..7c4758b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -5,7 +5,12 @@ %endif %global __provides_exclude_from .*/site-packages/.*\\.so$ %global with_html 0 +%ifarch %{power64} s390x +# disable tests on alt arches until resolved by upstream +%global run_tests 0 +%else %global run_tests 1 +%endif # On RHEL 7 onwards, don't build with wx: %if 0%{?rhel} >= 7 @@ -47,7 +52,7 @@ Name: python-matplotlib Version: 2.0.0 -Release: 0.2%{?rctag:.%{rctag}}%{?dist} +Release: 0.3%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -611,6 +616,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Mon Oct 24 2016 Dan Horák - 2.0.0-0.3.b4 +- disable tests on some alt-arches to unblock depending builds + * Mon Sep 26 2016 Dominik Mierzejewski - 2.0.0-0.2.b4 - add missing runtime dependencies for python2 package From 08fc8aa374d3b595bd5d367d77bf957ebe7e3f59 Mon Sep 17 00:00:00 2001 From: Charalampos Stratakis Date: Wed, 14 Dec 2016 00:52:43 +0100 Subject: [PATCH 159/240] Rebuild for Python 3.6 --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 7c4758b..2f2f9d6 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -52,7 +52,7 @@ Name: python-matplotlib Version: 2.0.0 -Release: 0.3%{?rctag:.%{rctag}}%{?dist} +Release: 0.4%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -616,6 +616,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Tue Dec 13 2016 Charalampos Stratakis - 2.0.0-0.4.b4 +- Rebuild for Python 3.6 + * Mon Oct 24 2016 Dan Horák - 2.0.0-0.3.b4 - disable tests on some alt-arches to unblock depending builds From cf0338c697cba4c237b402a00df03dd64b4b1ab7 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Sun, 8 Jan 2017 18:22:45 -0800 Subject: [PATCH 160/240] Fix int type conversion error that broke text rendering on ppc64 --- 7768.patch | 37 +++++++++++++++++++++++++++++++++++++ python-matplotlib.spec | 7 ++++++- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 7768.patch diff --git a/7768.patch b/7768.patch new file mode 100644 index 0000000..fcd63fb --- /dev/null +++ b/7768.patch @@ -0,0 +1,37 @@ +From c4c0b657ca7b55b99d87b045852227523a293848 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Sun, 8 Jan 2017 17:12:59 -0800 +Subject: [PATCH] Convert unicode index to long, not int, in get_char_index + +There's an error in the `PyFT2Font.get_char_index()` method +added in 2d56ffeb . The type for the unicode index to be sent +to `FT_Get_Char_Index` is `FT_ULong` - an unsigned long - but +the `PyArg_ParseTuple` call that converts it from Python used +`I` in the format string, which converts a Python int to a C +unsigned int, not a C unsigned long. This doesn't seem to cause +a problem on little-endian arches, but it results in completely +incorrect conversion on big-endian arches, which in turn would +result in wrong glyphs, unfound glyphs, and even in an infinite +recursion in `UnicodeFonts._get_glyph`. + +To get correct conversion we must use `k` not `I`, which is +the specifier for a C unsigned long. + +Ref: https://docs.python.org/3/c-api/arg.html#numbers +--- + src/ft2font_wrapper.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp +index a97de68..c77dd83 100644 +--- a/src/ft2font_wrapper.cpp ++++ b/src/ft2font_wrapper.cpp +@@ -971,7 +971,7 @@ static PyObject *PyFT2Font_get_char_index(PyFT2Font *self, PyObject *args, PyObj + FT_UInt index; + FT_ULong ccode; + +- if (!PyArg_ParseTuple(args, "I:get_char_index", &ccode)) { ++ if (!PyArg_ParseTuple(args, "k:get_char_index", &ccode)) { + return NULL; + } + diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 2f2f9d6..dcfd632 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -52,7 +52,7 @@ Name: python-matplotlib Version: 2.0.0 -Release: 0.4%{?rctag:.%{rctag}}%{?dist} +Release: 0.5%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -72,6 +72,7 @@ Patch9: python-matplotlib-qhull.patch Patch10: python-matplotlib-increase-tests-tolerance.patch Patch11: python-matplotlib-increase-tests-tolerance-aarch64.patch Patch13: python-matplotlib-increase-tests-tolerance-i686.patch +Patch14: https://github.com/matplotlib/matplotlib/pull/7768.patch BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -418,6 +419,7 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %ifarch i686 %patch13 -p1 -b .tests-i686 %endif +%patch14 -p1 -b .inttype chmod -x lib/matplotlib/mpl-data/images/*.svg chmod -x lib/matplotlib/{dates,sankey}.py @@ -616,6 +618,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Sun Jan 08 2017 Adam Williamson - 2.0.0-0.5.b4 +- Fix int type conversion error that broke text rendering on ppc64 (#1411070) + * Tue Dec 13 2016 Charalampos Stratakis - 2.0.0-0.4.b4 - Rebuild for Python 3.6 From cab430591a0e559e92ca9a1e28656cf31daeafb9 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Mon, 9 Jan 2017 23:33:01 -0800 Subject: [PATCH 161/240] Fix another integer type issue which caused more issues on ppc64 --- ...es-for-font-metrics-in-PyGlyph-class.patch | 48 +++++++++++++++++++ ...b6708d71df80999764eb4b65cc1d388a521f.patch | 0 python-matplotlib.spec | 13 ++++- 3 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 0001-Fix-integer-types-for-font-metrics-in-PyGlyph-class.patch rename 7768.patch => b0e4b6708d71df80999764eb4b65cc1d388a521f.patch (100%) diff --git a/0001-Fix-integer-types-for-font-metrics-in-PyGlyph-class.patch b/0001-Fix-integer-types-for-font-metrics-in-PyGlyph-class.patch new file mode 100644 index 0000000..dd77cca --- /dev/null +++ b/0001-Fix-integer-types-for-font-metrics-in-PyGlyph-class.patch @@ -0,0 +1,48 @@ +From bf970bd8bc13b4e6e281a47163527909270edcbf Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Mon, 9 Jan 2017 22:56:40 -0800 +Subject: [PATCH] Fix integer types for font metrics in PyGlyph class + +The PyGlyph class defined in the freetype wrapper code pulls +in some font metric values from freetype when initialized. All +these values have type FT_Pos in freetype, which is a signed +long, but in the PyMemberDef structure used to store those +values in the Python class, their types were set to T_INT - +signed int. We should set them to T_LONG instead. This fixes +several hundred test suite errors on big-endian arches. +--- + src/ft2font_wrapper.cpp | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp +index c77dd8363..62fbf0a0c 100644 +--- a/src/ft2font_wrapper.cpp ++++ b/src/ft2font_wrapper.cpp +@@ -282,15 +282,15 @@ static PyObject *PyGlyph_get_bbox(PyGlyph *self, void *closure) + static PyTypeObject *PyGlyph_init_type(PyObject *m, PyTypeObject *type) + { + static PyMemberDef members[] = { +- {(char *)"width", T_INT, offsetof(PyGlyph, width), READONLY, (char *)""}, +- {(char *)"height", T_INT, offsetof(PyGlyph, height), READONLY, (char *)""}, +- {(char *)"horiBearingX", T_INT, offsetof(PyGlyph, horiBearingX), READONLY, (char *)""}, +- {(char *)"horiBearingY", T_INT, offsetof(PyGlyph, horiBearingY), READONLY, (char *)""}, +- {(char *)"horiAdvance", T_INT, offsetof(PyGlyph, horiAdvance), READONLY, (char *)""}, +- {(char *)"linearHoriAdvance", T_INT, offsetof(PyGlyph, linearHoriAdvance), READONLY, (char *)""}, +- {(char *)"vertBearingX", T_INT, offsetof(PyGlyph, vertBearingX), READONLY, (char *)""}, +- {(char *)"vertBearingY", T_INT, offsetof(PyGlyph, vertBearingY), READONLY, (char *)""}, +- {(char *)"vertAdvance", T_INT, offsetof(PyGlyph, vertAdvance), READONLY, (char *)""}, ++ {(char *)"width", T_LONG, offsetof(PyGlyph, width), READONLY, (char *)""}, ++ {(char *)"height", T_LONG, offsetof(PyGlyph, height), READONLY, (char *)""}, ++ {(char *)"horiBearingX", T_LONG, offsetof(PyGlyph, horiBearingX), READONLY, (char *)""}, ++ {(char *)"horiBearingY", T_LONG, offsetof(PyGlyph, horiBearingY), READONLY, (char *)""}, ++ {(char *)"horiAdvance", T_LONG, offsetof(PyGlyph, horiAdvance), READONLY, (char *)""}, ++ {(char *)"linearHoriAdvance", T_LONG, offsetof(PyGlyph, linearHoriAdvance), READONLY, (char *)""}, ++ {(char *)"vertBearingX", T_LONG, offsetof(PyGlyph, vertBearingX), READONLY, (char *)""}, ++ {(char *)"vertBearingY", T_LONG, offsetof(PyGlyph, vertBearingY), READONLY, (char *)""}, ++ {(char *)"vertAdvance", T_LONG, offsetof(PyGlyph, vertAdvance), READONLY, (char *)""}, + {NULL} + }; + +-- +2.11.0 + diff --git a/7768.patch b/b0e4b6708d71df80999764eb4b65cc1d388a521f.patch similarity index 100% rename from 7768.patch rename to b0e4b6708d71df80999764eb4b65cc1d388a521f.patch diff --git a/python-matplotlib.spec b/python-matplotlib.spec index dcfd632..4ed2f6a 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -52,7 +52,7 @@ Name: python-matplotlib Version: 2.0.0 -Release: 0.5%{?rctag:.%{rctag}}%{?dist} +Release: 0.6%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -72,7 +72,12 @@ Patch9: python-matplotlib-qhull.patch Patch10: python-matplotlib-increase-tests-tolerance.patch Patch11: python-matplotlib-increase-tests-tolerance-aarch64.patch Patch13: python-matplotlib-increase-tests-tolerance-i686.patch -Patch14: https://github.com/matplotlib/matplotlib/pull/7768.patch +# These two patches fix some integer type issues which broke matplotlib +# badly on ppc64 (big-endian) +# https://github.com/matplotlib/matplotlib/pull/7768 +Patch14: https://github.com/matplotlib/matplotlib/commit/b0e4b6708d71df80999764eb4b65cc1d388a521f.patch +# https://github.com/matplotlib/matplotlib/pull/7781 +Patch15: 0001-Fix-integer-types-for-font-metrics-in-PyGlyph-class.patch BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -420,6 +425,7 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %patch13 -p1 -b .tests-i686 %endif %patch14 -p1 -b .inttype +%patch15 -p1 -b .moreints chmod -x lib/matplotlib/mpl-data/images/*.svg chmod -x lib/matplotlib/{dates,sankey}.py @@ -618,6 +624,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Mon Jan 09 2017 Adam Williamson - 2.0.0-0.6.b4 +- Fix another integer type issue which caused more issues on ppc64 + * Sun Jan 08 2017 Adam Williamson - 2.0.0-0.5.b4 - Fix int type conversion error that broke text rendering on ppc64 (#1411070) From 2e2f0e7aa2b50088b421544c3fd2e3b960babeef Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Sun, 8 Jan 2017 17:42:34 -0800 Subject: [PATCH 162/240] Bump to rc2, fix more big-endian issues, re-enable tests --- .gitignore | 1 + ...ap-16-bit-PNGs-on-little-endian-7792.patch | 35 ++++++++++ ...-type-for-mesh-size-in-draw_quad_mes.patch | 69 +++++++++++++++++++ ...ncrease-tests-tolerance-aarch64ppc64.patch | 54 ++++++--------- ...lotlib-increase-tests-tolerance-i686.patch | 69 +++++++------------ ...-matplotlib-increase-tests-tolerance.patch | 53 +++++++------- python-matplotlib.spec | 40 ++++++++--- sources | 2 +- 8 files changed, 205 insertions(+), 118 deletions(-) create mode 100644 0001-Only-byte-swap-16-bit-PNGs-on-little-endian-7792.patch create mode 100644 0001-Use-reliable-int-type-for-mesh-size-in-draw_quad_mes.patch rename python-matplotlib-increase-tests-tolerance-aarch64.patch => python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch (63%) diff --git a/.gitignore b/.gitignore index ebf1041..68f5b52 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ matplotlib-1.0.0-without-gpc.tar.gz /matplotlib-1.5.1.tar.gz /matplotlib-1.5.2rc2.tar.gz /matplotlib-2.0.0b4.tar.gz +/matplotlib-2.0.0rc2.tar.gz diff --git a/0001-Only-byte-swap-16-bit-PNGs-on-little-endian-7792.patch b/0001-Only-byte-swap-16-bit-PNGs-on-little-endian-7792.patch new file mode 100644 index 0000000..2094081 --- /dev/null +++ b/0001-Only-byte-swap-16-bit-PNGs-on-little-endian-7792.patch @@ -0,0 +1,35 @@ +From 47a4bf83a4354740359f4c535a3ccd0f9238bb66 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Tue, 10 Jan 2017 16:12:51 -0800 +Subject: [PATCH] Only byte-swap 16-bit PNGs on little-endian (#7792) + +_png has some code that unconditionally byte-swaps 16-bit PNG +data (which is, per the spec, stored in big-endian order). This +isn't appropriate on a big-endian platform, though: this swap +being done unconditionally breaks the handling of 16-bit PNGs +on big-endian platforms (e.g. Fedora ppc64), as reported in +this swap or not. +--- + src/_png.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/_png.cpp b/src/_png.cpp +index f5c25deeb..06e4b8754 100644 +--- a/src/_png.cpp ++++ b/src/_png.cpp +@@ -532,10 +532,12 @@ static PyObject *_read_png(PyObject *filein, bool float_result) + png_set_shift(png_ptr, sig_bit); + } + ++#if NPY_BYTE_ORDER == NPY_LITTLE_ENDIAN + // Convert big endian to little + if (bit_depth == 16) { + png_set_swap(png_ptr); + } ++#endif + + // Convert palletes to full RGB + if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) { +-- +2.11.0 + diff --git a/0001-Use-reliable-int-type-for-mesh-size-in-draw_quad_mes.patch b/0001-Use-reliable-int-type-for-mesh-size-in-draw_quad_mes.patch new file mode 100644 index 0000000..7f14a15 --- /dev/null +++ b/0001-Use-reliable-int-type-for-mesh-size-in-draw_quad_mes.patch @@ -0,0 +1,69 @@ +From ae2ee043c7b510d43b4b0f90a09e63904382edd9 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Tue, 10 Jan 2017 13:57:16 -0800 +Subject: [PATCH] Use reliable int type for mesh size in draw_quad_mesh (#7788) + +In the agg backend, `PyRendererAgg.draw_quad_mesh` takes mesh +dimension arguments (`mesh_width` and `mesh_height`). When +converting those from Python to C, we were declaring the C +types as `size_t`, but converting from Python using the 'I' +format specifier, which converts a Python integer to a C +unsigned int. This isn't safe, because `size_t` is not +necessarily the same size as an int. On Fedora with GCC, for +instance, `size_t` is an alias for long unsigned int. + +On LE arches this usually won't cause a problem, but on a BE +arch where `size_t` isn't an int type, the mismatch causes +rendering errors (see #7788). + +This addresses the problem by just changing the types for these +values to be `unsigned int` instead. +--- + src/_backend_agg.h | 8 ++++---- + src/_backend_agg_wrapper.cpp | 4 ++-- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/_backend_agg.h b/src/_backend_agg.h +index 0265647cb..53b73f179 100644 +--- a/src/_backend_agg.h ++++ b/src/_backend_agg.h +@@ -182,8 +182,8 @@ class RendererAgg + template + void draw_quad_mesh(GCAgg &gc, + agg::trans_affine &master_transform, +- size_t mesh_width, +- size_t mesh_height, ++ unsigned int mesh_width, ++ unsigned int mesh_height, + CoordinateArray &coordinates, + OffsetArray &offsets, + agg::trans_affine &offset_trans, +@@ -1148,8 +1148,8 @@ class QuadMeshGenerator + template + inline void RendererAgg::draw_quad_mesh(GCAgg &gc, + agg::trans_affine &master_transform, +- size_t mesh_width, +- size_t mesh_height, ++ unsigned int mesh_width, ++ unsigned int mesh_height, + CoordinateArray &coordinates, + OffsetArray &offsets, + agg::trans_affine &offset_trans, +diff --git a/src/_backend_agg_wrapper.cpp b/src/_backend_agg_wrapper.cpp +index f6ed42bcd..4806feda0 100644 +--- a/src/_backend_agg_wrapper.cpp ++++ b/src/_backend_agg_wrapper.cpp +@@ -390,8 +390,8 @@ static PyObject *PyRendererAgg_draw_quad_mesh(PyRendererAgg *self, PyObject *arg + { + GCAgg gc; + agg::trans_affine master_transform; +- size_t mesh_width; +- size_t mesh_height; ++ unsigned int mesh_width; ++ unsigned int mesh_height; + numpy::array_view coordinates; + numpy::array_view offsets; + agg::trans_affine offset_trans; +-- +2.11.0 + diff --git a/python-matplotlib-increase-tests-tolerance-aarch64.patch b/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch similarity index 63% rename from python-matplotlib-increase-tests-tolerance-aarch64.patch rename to python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch index 0582b15..f83f97f 100644 --- a/python-matplotlib-increase-tests-tolerance-aarch64.patch +++ b/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch @@ -1,7 +1,6 @@ -diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py.tests-aarch64 matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py ---- matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py.tests-aarch64 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py 2016-09-22 09:45:32.885582889 +0200 -@@ -1238,7 +1238,7 @@ def test_contour_colorbar(): +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py.new 2017-01-07 21:28:07.736224906 -0800 +@@ -1285,7 +1285,7 @@ cbar.add_lines(cs2, erase=False) @@ -10,42 +9,31 @@ diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py.tests-aarch64 matp def test_hist2d(): np.random.seed(0) # make it not symetric in case we switch x and y axis -diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_colors.py.tests-aarch64 matplotlib-2.0.0b4/lib/matplotlib/tests/test_colors.py ---- matplotlib-2.0.0b4/lib/matplotlib/tests/test_colors.py.tests-aarch64 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_colors.py 2016-09-22 12:12:14.228568786 +0200 -@@ -14,6 +14,7 @@ except ImportError: - assert_sequence_equal = None - - import numpy as np -+from numpy.testing import assert_almost_equal - from numpy.testing.utils import assert_array_equal, assert_array_almost_equal - from nose.plugins.skip import SkipTest - -@@ -208,7 +208,7 @@ def test_Normalize(): - # and for scalar ones. - eps = np.finfo(np.longdouble).resolution - norm = plt.Normalize(1, 1 + 100 * eps) -- assert_equal(norm(1 + 50 * eps), .5) -+ assert_almost_equal(norm(1 + 50 * eps), .5, decimal=2) - - - def test_SymLogNorm(): -diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_quiver.py.tests-aarch64 matplotlib-2.0.0b4/lib/matplotlib/tests/test_quiver.py ---- matplotlib-2.0.0b4/lib/matplotlib/tests/test_quiver.py.tests-aarch64 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_quiver.py 2016-09-22 09:43:46.376702805 +0200 -@@ -121,7 +121,7 @@ def test_quiver_key_pivot(): +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py.new 2017-01-07 21:29:53.441682625 -0800 +@@ -135,7 +135,7 @@ ax.quiverkey(q, 0, 0.5, 1, 'W', labelpos='W') -@image_comparison(baseline_images=['barbs_test_image'], -+@image_comparison(baseline_images=['barbs_test_image'], tol=0.763, ++@image_comparison(baseline_images=['barbs_test_image'], tol=0.8, extensions=['png'], remove_text=True) def test_barbs(): x = np.linspace(-5, 5, 5) -diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_mlab.py.tests-aarch64 matplotlib-2.0.0b4/lib/matplotlib/tests/test_mlab.py ---- matplotlib-2.0.0b4/lib/matplotlib/tests/test_mlab.py.tests-aarch64 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_mlab.py 2016-09-22 10:48:13.502921007 +0200 -@@ -2279,90 +2279,6 @@ class spectral_testcase_nosig_complex_de +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py.new 2017-01-07 21:21:29.478503151 -0800 +@@ -82,7 +82,7 @@ + + + @image_comparison(baseline_images=['pre_transform_data'], +- tol=0.08) ++ tol=0.9) + 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 +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mlab.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mlab.py.new 2017-01-07 21:30:47.502916717 -0800 +@@ -2279,90 +2279,6 @@ iscomplex=True, sides='default', nsides=2) diff --git a/python-matplotlib-increase-tests-tolerance-i686.patch b/python-matplotlib-increase-tests-tolerance-i686.patch index 36a3c11..01a0e44 100644 --- a/python-matplotlib-increase-tests-tolerance-i686.patch +++ b/python-matplotlib-increase-tests-tolerance-i686.patch @@ -1,7 +1,6 @@ -diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py.tests-i686 matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py ---- matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py 2016-09-21 22:10:29.723986792 +0200 -@@ -314,7 +314,7 @@ def test_single_point(): +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py.new 2017-01-07 21:35:06.874039829 -0800 +@@ -361,7 +361,7 @@ plt.plot('b','b', 'o', data=data) @@ -10,34 +9,7 @@ diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py.tests-i686 matplot def test_single_date(): time1 = [721964.0] data1 = [-65.54] -@@ -2834,7 +2834,7 @@ def test_subplot_key_hash(): - - @image_comparison(baseline_images=['specgram_freqs', - 'specgram_freqs_linear'], -- remove_text=True, extensions=['png'], tol=0.07) -+ remove_text=True, extensions=['png'], tol=8.916) - def test_specgram_freqs(): - '''test axes.specgram in default (psd) mode with sinusoidal stimuli''' - n = 10000 -@@ -2934,7 +2934,7 @@ def test_specgram_noise(): - - @image_comparison(baseline_images=['specgram_magnitude_freqs', - 'specgram_magnitude_freqs_linear'], -- remove_text=True, extensions=['png'], tol=0.07) -+ remove_text=True, extensions=['png'], tol=8.913) - def test_specgram_magnitude_freqs(): - '''test axes.specgram in magnitude mode with sinusoidal stimuli''' - n = 10000 -@@ -3035,7 +3035,7 @@ def test_specgram_magnitude_noise(): - - - @image_comparison(baseline_images=['specgram_angle_freqs'], -- remove_text=True, extensions=['png'], tol=0.007) -+ remove_text=True, extensions=['png'], tol=2.871) - def test_specgram_angle_freqs(): - '''test axes.specgram in angle mode with sinusoidal stimuli''' - n = 10000 -@@ -4523,7 +4523,7 @@ def test_date_timezone_y(): +@@ -4696,7 +4696,7 @@ @image_comparison(baseline_images=['date_timezone_x_and_y'], @@ -46,10 +18,9 @@ diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_axes.py.tests-i686 matplot def test_date_timezone_x_and_y(): # Tests issue 5575 time_index = [pytz.timezone('UTC').localize(datetime.datetime( -diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_collections.py.tests-i686 matplotlib-2.0.0b4/lib/matplotlib/tests/test_collections.py ---- matplotlib-2.0.0b4/lib/matplotlib/tests/test_collections.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_collections.py 2016-09-21 22:11:22.688364049 +0200 -@@ -489,7 +489,7 @@ def test_EllipseCollection(): +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_collections.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_collections.py.new 2017-01-07 21:35:52.016235301 -0800 +@@ -489,7 +489,7 @@ ax.autoscale_view() @@ -58,10 +29,9 @@ diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_collections.py.tests-i686 extensions=['png'], remove_text=True) def test_polycollection_close(): from mpl_toolkits.mplot3d import Axes3D -diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_contour.py.tests-i686 matplotlib-2.0.0b4/lib/matplotlib/tests/test_contour.py ---- matplotlib-2.0.0b4/lib/matplotlib/tests/test_contour.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_contour.py 2016-09-21 22:12:53.503016310 +0200 -@@ -233,7 +233,7 @@ def test_contour_datetime_axis(): +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_contour.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_contour.py.new 2017-01-07 21:36:29.283396673 -0800 +@@ -233,7 +233,7 @@ label.set_rotation(30) @@ -70,10 +40,9 @@ diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_contour.py.tests-i686 matp extensions=['png'], remove_text=True) def test_labels(): # Adapted from pylab_examples example code: contour_demo.py -diff -up matplotlib-2.0.0b4/lib/mpl_toolkits/tests/test_mplot3d.py.tests-i686 matplotlib-2.0.0b4/lib/mpl_toolkits/tests/test_mplot3d.py ---- matplotlib-2.0.0b4/lib/mpl_toolkits/tests/test_mplot3d.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/mpl_toolkits/tests/test_mplot3d.py 2016-09-21 22:15:48.271273692 +0200 -@@ -173,7 +173,7 @@ def test_text3d(): +--- matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py.new 2017-01-07 21:37:04.144547626 -0800 +@@ -171,7 +171,7 @@ ax.set_zlabel('Z axis') @@ -82,3 +51,15 @@ diff -up matplotlib-2.0.0b4/lib/mpl_toolkits/tests/test_mplot3d.py.tests-i686 ma def test_trisurf3d(): n_angles = 36 n_radii = 8 +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py.new 2017-01-07 21:21:29.478503151 -0800 +@@ -82,7 +82,7 @@ + + + @image_comparison(baseline_images=['pre_transform_data'], +- tol=0.08) ++ tol=0.15) + 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/python-matplotlib-increase-tests-tolerance.patch b/python-matplotlib-increase-tests-tolerance.patch index 9e59257..82276ca 100644 --- a/python-matplotlib-increase-tests-tolerance.patch +++ b/python-matplotlib-increase-tests-tolerance.patch @@ -1,31 +1,28 @@ -diff -up matplotlib-2.0.0b4/lib/matplotlib/testing/decorators.py.tests matplotlib-2.0.0b4/lib/matplotlib/testing/decorators.py ---- matplotlib-2.0.0b4/lib/matplotlib/testing/decorators.py.tests 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/testing/decorators.py 2016-09-21 14:32:15.873155667 +0200 -@@ -268,7 +268,7 @@ class ImageComparisonTest(CleanupTest): +--- matplotlib-2.0.0rc2/lib/matplotlib/testing/decorators.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/testing/decorators.py.new 2017-01-07 21:19:51.078081193 -0800 +@@ -266,7 +266,7 @@ - yield (do_test,) + yield do_test, fignum, actual_fname, expected_fname -def image_comparison(baseline_images=None, extensions=None, tol=0, +def image_comparison(baseline_images=None, extensions=None, tol=0.306, freetype_version=None, remove_text=False, savefig_kwarg=None, style='classic'): """ -diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_png.py.tests matplotlib-2.0.0b4/lib/matplotlib/tests/test_png.py ---- matplotlib-2.0.0b4/lib/matplotlib/tests/test_png.py.tests 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_png.py 2016-09-21 14:56:44.756256983 +0200 -@@ -17,7 +17,7 @@ on_win = (sys.platform == 'win32') +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_png.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_png.py.new 2017-01-07 21:20:22.388215456 -0800 +@@ -17,7 +17,7 @@ @image_comparison(baseline_images=['pngsuite'], extensions=['png'], - tol=0.01 if on_win else 0) -+ tol=0.012) ++ tol=0.014) def test_pngsuite(): dirname = os.path.join( os.path.dirname(__file__), -diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_streamplot.py.tests matplotlib-2.0.0b4/lib/matplotlib/tests/test_streamplot.py ---- matplotlib-2.0.0b4/lib/matplotlib/tests/test_streamplot.py.tests 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_streamplot.py 2016-09-21 14:57:16.279481106 +0200 -@@ -18,7 +18,7 @@ def velocity_field(): +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_streamplot.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_streamplot.py.new 2017-01-07 21:20:42.180300328 -0800 +@@ -18,7 +18,7 @@ @image_comparison(baseline_images=['streamplot_colormap'], @@ -34,10 +31,9 @@ diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_streamplot.py.tests matplo def test_colormap(): X, Y, U, V = velocity_field() plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2, -diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_patheffects.py.tests-i686 matplotlib-2.0.0b4/lib/matplotlib/tests/test_patheffects.py ---- matplotlib-2.0.0b4/lib/matplotlib/tests/test_patheffects.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_patheffects.py 2016-09-21 22:14:17.959623938 +0200 -@@ -110,7 +110,7 @@ def test_SimplePatchShadow_offset(): +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py.new 2017-01-07 21:21:08.014411109 -0800 +@@ -110,7 +110,7 @@ assert_equal(pe._offset, (4, 5)) @@ -46,15 +42,14 @@ diff -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_patheffects.py.tests-i686 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 -up matplotlib-2.0.0b4/lib/matplotlib/tests/test_transforms.py.tests-i686 matplotlib-2.0.0b4/lib/matplotlib/tests/test_transforms.py ---- matplotlib-2.0.0b4/lib/matplotlib/tests/test_transforms.py.tests-i686 2016-09-09 05:53:26.000000000 +0200 -+++ matplotlib-2.0.0b4/lib/matplotlib/tests/test_transforms.py 2016-09-21 22:14:58.848918119 +0200 -@@ -82,7 +82,7 @@ def test_external_transform_api(): +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py.new 2017-01-07 22:02:42.396426402 -0800 +@@ -158,7 +158,7 @@ - - @image_comparison(baseline_images=['pre_transform_data'], -- tol=0.08) -+ tol=0.818) - 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 + def make_set(basename, fontset, tests, extensions=None): + def make_test(filename, test): +- @image_comparison(baseline_images=[filename], extensions=extensions) ++ @image_comparison(baseline_images=[filename], extensions=extensions, tol=0.310) + def single_test(): + matplotlib.rcParams['mathtext.fontset'] = fontset + fig = plt.figure(figsize=(5.25, 0.75)) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 4ed2f6a..3b190b5 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -5,12 +5,15 @@ %endif %global __provides_exclude_from .*/site-packages/.*\\.so$ %global with_html 0 -%ifarch %{power64} s390x -# disable tests on alt arches until resolved by upstream -%global run_tests 0 -%else + +# 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 -%endif + # On RHEL 7 onwards, don't build with wx: %if 0%{?rhel} >= 7 @@ -48,11 +51,11 @@ # Use the same directory of the main package for subpackage licence and docs %global _docdir_fmt %{name} -%global rctag b4 +%global rctag rc2 Name: python-matplotlib Version: 2.0.0 -Release: 0.6%{?rctag:.%{rctag}}%{?dist} +Release: 0.7%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -69,15 +72,20 @@ Patch9: python-matplotlib-qhull.patch # https://github.com/matplotlib/matplotlib/issues/7134 # https://github.com/matplotlib/matplotlib/issues/7158 # https://github.com/matplotlib/matplotlib/issues/7159 +# https://github.com/matplotlib/matplotlib/issues/7797 Patch10: python-matplotlib-increase-tests-tolerance.patch -Patch11: python-matplotlib-increase-tests-tolerance-aarch64.patch +Patch11: python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch Patch13: python-matplotlib-increase-tests-tolerance-i686.patch -# These two patches fix some integer type issues which broke matplotlib +# These four patches all fix integer type issues which broke matplotlib # badly on ppc64 (big-endian) # https://github.com/matplotlib/matplotlib/pull/7768 Patch14: https://github.com/matplotlib/matplotlib/commit/b0e4b6708d71df80999764eb4b65cc1d388a521f.patch # https://github.com/matplotlib/matplotlib/pull/7781 Patch15: 0001-Fix-integer-types-for-font-metrics-in-PyGlyph-class.patch +# https://github.com/matplotlib/matplotlib/pull/7791 +Patch16: 0001-Use-reliable-int-type-for-mesh-size-in-draw_quad_mes.patch +# https://github.com/matplotlib/matplotlib/pull/7796 +Patch17: 0001-Only-byte-swap-16-bit-PNGs-on-little-endian-7792.patch BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -418,14 +426,16 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %patch9 -p1 -b .qh %endif %patch10 -p1 -b .tests -%ifarch aarch64 -%patch11 -p1 -b .tests-aarch64 +%ifarch aarch64 %{power64} +%patch11 -p1 -b .tests-aarch64ppc64 %endif %ifarch i686 %patch13 -p1 -b .tests-i686 %endif %patch14 -p1 -b .inttype %patch15 -p1 -b .moreints +%patch16 -p1 -b .yetmoreints +%patch17 -p1 -b .pngswap chmod -x lib/matplotlib/mpl-data/images/*.svg chmod -x lib/matplotlib/{dates,sankey}.py @@ -624,6 +634,14 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Tue Jan 10 2017 Adam Williamson - 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 - 2.0.0-0.6.b4 - Fix another integer type issue which caused more issues on ppc64 diff --git a/sources b/sources index 3e6af61..a9175bb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a71c4c6c03aafec77ade9171317915b2 matplotlib-2.0.0b4.tar.gz +SHA512 (matplotlib-2.0.0rc2.tar.gz) = 4eba9268307d95345a5e848bfbd257a19cec79d35dba2bd1409f2acb9e059d3229e712e0d67cccd375a7d301184be2777e5114a5c5506b0b1050ffab7eef1016 From af22a586b16767dbc4ed69831218898223a6feaf Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 20 Jan 2017 10:07:45 -0700 Subject: [PATCH 163/240] Update to 2.0.0 final --- .gitignore | 1 + ...es-for-font-metrics-in-PyGlyph-class.patch | 48 ------------- ...ap-16-bit-PNGs-on-little-endian-7792.patch | 35 ---------- ...-type-for-mesh-size-in-draw_quad_mes.patch | 69 ------------------- ...b6708d71df80999764eb4b65cc1d388a521f.patch | 37 ---------- python-matplotlib.spec | 21 ++---- sources | 2 +- 7 files changed, 7 insertions(+), 206 deletions(-) delete mode 100644 0001-Fix-integer-types-for-font-metrics-in-PyGlyph-class.patch delete mode 100644 0001-Only-byte-swap-16-bit-PNGs-on-little-endian-7792.patch delete mode 100644 0001-Use-reliable-int-type-for-mesh-size-in-draw_quad_mes.patch delete mode 100644 b0e4b6708d71df80999764eb4b65cc1d388a521f.patch diff --git a/.gitignore b/.gitignore index 68f5b52..41f1fce 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/0001-Fix-integer-types-for-font-metrics-in-PyGlyph-class.patch b/0001-Fix-integer-types-for-font-metrics-in-PyGlyph-class.patch deleted file mode 100644 index dd77cca..0000000 --- a/0001-Fix-integer-types-for-font-metrics-in-PyGlyph-class.patch +++ /dev/null @@ -1,48 +0,0 @@ -From bf970bd8bc13b4e6e281a47163527909270edcbf Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Mon, 9 Jan 2017 22:56:40 -0800 -Subject: [PATCH] Fix integer types for font metrics in PyGlyph class - -The PyGlyph class defined in the freetype wrapper code pulls -in some font metric values from freetype when initialized. All -these values have type FT_Pos in freetype, which is a signed -long, but in the PyMemberDef structure used to store those -values in the Python class, their types were set to T_INT - -signed int. We should set them to T_LONG instead. This fixes -several hundred test suite errors on big-endian arches. ---- - src/ft2font_wrapper.cpp | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp -index c77dd8363..62fbf0a0c 100644 ---- a/src/ft2font_wrapper.cpp -+++ b/src/ft2font_wrapper.cpp -@@ -282,15 +282,15 @@ static PyObject *PyGlyph_get_bbox(PyGlyph *self, void *closure) - static PyTypeObject *PyGlyph_init_type(PyObject *m, PyTypeObject *type) - { - static PyMemberDef members[] = { -- {(char *)"width", T_INT, offsetof(PyGlyph, width), READONLY, (char *)""}, -- {(char *)"height", T_INT, offsetof(PyGlyph, height), READONLY, (char *)""}, -- {(char *)"horiBearingX", T_INT, offsetof(PyGlyph, horiBearingX), READONLY, (char *)""}, -- {(char *)"horiBearingY", T_INT, offsetof(PyGlyph, horiBearingY), READONLY, (char *)""}, -- {(char *)"horiAdvance", T_INT, offsetof(PyGlyph, horiAdvance), READONLY, (char *)""}, -- {(char *)"linearHoriAdvance", T_INT, offsetof(PyGlyph, linearHoriAdvance), READONLY, (char *)""}, -- {(char *)"vertBearingX", T_INT, offsetof(PyGlyph, vertBearingX), READONLY, (char *)""}, -- {(char *)"vertBearingY", T_INT, offsetof(PyGlyph, vertBearingY), READONLY, (char *)""}, -- {(char *)"vertAdvance", T_INT, offsetof(PyGlyph, vertAdvance), READONLY, (char *)""}, -+ {(char *)"width", T_LONG, offsetof(PyGlyph, width), READONLY, (char *)""}, -+ {(char *)"height", T_LONG, offsetof(PyGlyph, height), READONLY, (char *)""}, -+ {(char *)"horiBearingX", T_LONG, offsetof(PyGlyph, horiBearingX), READONLY, (char *)""}, -+ {(char *)"horiBearingY", T_LONG, offsetof(PyGlyph, horiBearingY), READONLY, (char *)""}, -+ {(char *)"horiAdvance", T_LONG, offsetof(PyGlyph, horiAdvance), READONLY, (char *)""}, -+ {(char *)"linearHoriAdvance", T_LONG, offsetof(PyGlyph, linearHoriAdvance), READONLY, (char *)""}, -+ {(char *)"vertBearingX", T_LONG, offsetof(PyGlyph, vertBearingX), READONLY, (char *)""}, -+ {(char *)"vertBearingY", T_LONG, offsetof(PyGlyph, vertBearingY), READONLY, (char *)""}, -+ {(char *)"vertAdvance", T_LONG, offsetof(PyGlyph, vertAdvance), READONLY, (char *)""}, - {NULL} - }; - --- -2.11.0 - diff --git a/0001-Only-byte-swap-16-bit-PNGs-on-little-endian-7792.patch b/0001-Only-byte-swap-16-bit-PNGs-on-little-endian-7792.patch deleted file mode 100644 index 2094081..0000000 --- a/0001-Only-byte-swap-16-bit-PNGs-on-little-endian-7792.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 47a4bf83a4354740359f4c535a3ccd0f9238bb66 Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Tue, 10 Jan 2017 16:12:51 -0800 -Subject: [PATCH] Only byte-swap 16-bit PNGs on little-endian (#7792) - -_png has some code that unconditionally byte-swaps 16-bit PNG -data (which is, per the spec, stored in big-endian order). This -isn't appropriate on a big-endian platform, though: this swap -being done unconditionally breaks the handling of 16-bit PNGs -on big-endian platforms (e.g. Fedora ppc64), as reported in -this swap or not. ---- - src/_png.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/_png.cpp b/src/_png.cpp -index f5c25deeb..06e4b8754 100644 ---- a/src/_png.cpp -+++ b/src/_png.cpp -@@ -532,10 +532,12 @@ static PyObject *_read_png(PyObject *filein, bool float_result) - png_set_shift(png_ptr, sig_bit); - } - -+#if NPY_BYTE_ORDER == NPY_LITTLE_ENDIAN - // Convert big endian to little - if (bit_depth == 16) { - png_set_swap(png_ptr); - } -+#endif - - // Convert palletes to full RGB - if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_PALETTE) { --- -2.11.0 - diff --git a/0001-Use-reliable-int-type-for-mesh-size-in-draw_quad_mes.patch b/0001-Use-reliable-int-type-for-mesh-size-in-draw_quad_mes.patch deleted file mode 100644 index 7f14a15..0000000 --- a/0001-Use-reliable-int-type-for-mesh-size-in-draw_quad_mes.patch +++ /dev/null @@ -1,69 +0,0 @@ -From ae2ee043c7b510d43b4b0f90a09e63904382edd9 Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Tue, 10 Jan 2017 13:57:16 -0800 -Subject: [PATCH] Use reliable int type for mesh size in draw_quad_mesh (#7788) - -In the agg backend, `PyRendererAgg.draw_quad_mesh` takes mesh -dimension arguments (`mesh_width` and `mesh_height`). When -converting those from Python to C, we were declaring the C -types as `size_t`, but converting from Python using the 'I' -format specifier, which converts a Python integer to a C -unsigned int. This isn't safe, because `size_t` is not -necessarily the same size as an int. On Fedora with GCC, for -instance, `size_t` is an alias for long unsigned int. - -On LE arches this usually won't cause a problem, but on a BE -arch where `size_t` isn't an int type, the mismatch causes -rendering errors (see #7788). - -This addresses the problem by just changing the types for these -values to be `unsigned int` instead. ---- - src/_backend_agg.h | 8 ++++---- - src/_backend_agg_wrapper.cpp | 4 ++-- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/_backend_agg.h b/src/_backend_agg.h -index 0265647cb..53b73f179 100644 ---- a/src/_backend_agg.h -+++ b/src/_backend_agg.h -@@ -182,8 +182,8 @@ class RendererAgg - template - void draw_quad_mesh(GCAgg &gc, - agg::trans_affine &master_transform, -- size_t mesh_width, -- size_t mesh_height, -+ unsigned int mesh_width, -+ unsigned int mesh_height, - CoordinateArray &coordinates, - OffsetArray &offsets, - agg::trans_affine &offset_trans, -@@ -1148,8 +1148,8 @@ class QuadMeshGenerator - template - inline void RendererAgg::draw_quad_mesh(GCAgg &gc, - agg::trans_affine &master_transform, -- size_t mesh_width, -- size_t mesh_height, -+ unsigned int mesh_width, -+ unsigned int mesh_height, - CoordinateArray &coordinates, - OffsetArray &offsets, - agg::trans_affine &offset_trans, -diff --git a/src/_backend_agg_wrapper.cpp b/src/_backend_agg_wrapper.cpp -index f6ed42bcd..4806feda0 100644 ---- a/src/_backend_agg_wrapper.cpp -+++ b/src/_backend_agg_wrapper.cpp -@@ -390,8 +390,8 @@ static PyObject *PyRendererAgg_draw_quad_mesh(PyRendererAgg *self, PyObject *arg - { - GCAgg gc; - agg::trans_affine master_transform; -- size_t mesh_width; -- size_t mesh_height; -+ unsigned int mesh_width; -+ unsigned int mesh_height; - numpy::array_view coordinates; - numpy::array_view offsets; - agg::trans_affine offset_trans; --- -2.11.0 - diff --git a/b0e4b6708d71df80999764eb4b65cc1d388a521f.patch b/b0e4b6708d71df80999764eb4b65cc1d388a521f.patch deleted file mode 100644 index fcd63fb..0000000 --- a/b0e4b6708d71df80999764eb4b65cc1d388a521f.patch +++ /dev/null @@ -1,37 +0,0 @@ -From c4c0b657ca7b55b99d87b045852227523a293848 Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Sun, 8 Jan 2017 17:12:59 -0800 -Subject: [PATCH] Convert unicode index to long, not int, in get_char_index - -There's an error in the `PyFT2Font.get_char_index()` method -added in 2d56ffeb . The type for the unicode index to be sent -to `FT_Get_Char_Index` is `FT_ULong` - an unsigned long - but -the `PyArg_ParseTuple` call that converts it from Python used -`I` in the format string, which converts a Python int to a C -unsigned int, not a C unsigned long. This doesn't seem to cause -a problem on little-endian arches, but it results in completely -incorrect conversion on big-endian arches, which in turn would -result in wrong glyphs, unfound glyphs, and even in an infinite -recursion in `UnicodeFonts._get_glyph`. - -To get correct conversion we must use `k` not `I`, which is -the specifier for a C unsigned long. - -Ref: https://docs.python.org/3/c-api/arg.html#numbers ---- - src/ft2font_wrapper.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/ft2font_wrapper.cpp b/src/ft2font_wrapper.cpp -index a97de68..c77dd83 100644 ---- a/src/ft2font_wrapper.cpp -+++ b/src/ft2font_wrapper.cpp -@@ -971,7 +971,7 @@ static PyObject *PyFT2Font_get_char_index(PyFT2Font *self, PyObject *args, PyObj - FT_UInt index; - FT_ULong ccode; - -- if (!PyArg_ParseTuple(args, "I:get_char_index", &ccode)) { -+ if (!PyArg_ParseTuple(args, "k:get_char_index", &ccode)) { - return NULL; - } - diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 3b190b5..fcc4ace 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -51,11 +51,11 @@ # Use the same directory of the main package for subpackage licence and docs %global _docdir_fmt %{name} -%global rctag rc2 +#global rctag rc2 Name: python-matplotlib Version: 2.0.0 -Release: 0.7%{?rctag:.%{rctag}}%{?dist} +Release: 1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -76,16 +76,6 @@ Patch9: python-matplotlib-qhull.patch Patch10: python-matplotlib-increase-tests-tolerance.patch Patch11: python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch Patch13: python-matplotlib-increase-tests-tolerance-i686.patch -# These four patches all fix integer type issues which broke matplotlib -# badly on ppc64 (big-endian) -# https://github.com/matplotlib/matplotlib/pull/7768 -Patch14: https://github.com/matplotlib/matplotlib/commit/b0e4b6708d71df80999764eb4b65cc1d388a521f.patch -# https://github.com/matplotlib/matplotlib/pull/7781 -Patch15: 0001-Fix-integer-types-for-font-metrics-in-PyGlyph-class.patch -# https://github.com/matplotlib/matplotlib/pull/7791 -Patch16: 0001-Use-reliable-int-type-for-mesh-size-in-draw_quad_mes.patch -# https://github.com/matplotlib/matplotlib/pull/7796 -Patch17: 0001-Only-byte-swap-16-bit-PNGs-on-little-endian-7792.patch BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -432,10 +422,6 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %ifarch i686 %patch13 -p1 -b .tests-i686 %endif -%patch14 -p1 -b .inttype -%patch15 -p1 -b .moreints -%patch16 -p1 -b .yetmoreints -%patch17 -p1 -b .pngswap chmod -x lib/matplotlib/mpl-data/images/*.svg chmod -x lib/matplotlib/{dates,sankey}.py @@ -634,6 +620,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Fri Jan 20 2017 Orion Poplawski - 2.0.0-1 +- Update to 2.0.0 final + * Tue Jan 10 2017 Adam Williamson - 2.0.0-0.7.rc2 - Update to 2.0.0rc2 - Fix more big-endian integer issues diff --git a/sources b/sources index a9175bb..4fc5a86 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (matplotlib-2.0.0rc2.tar.gz) = 4eba9268307d95345a5e848bfbd257a19cec79d35dba2bd1409f2acb9e059d3229e712e0d67cccd375a7d301184be2777e5114a5c5506b0b1050ffab7eef1016 +SHA512 (matplotlib-2.0.0.tar.gz) = b0e6d91aee5f91e0155c9e6716eef1a7e1fb907daeb93d603709142b749878fd758e42fe3707ac73c3d87959c6a35126c9e17c08ef78c5734106fafdf198f304 From 61b48deb75d017b967e673314f3a62d2cf7d082f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 20 Jan 2017 11:33:15 -0700 Subject: [PATCH 164/240] Install tests via setup.cfg --- setup.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/setup.cfg b/setup.cfg index c8f8c20..a68796b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,2 +1,5 @@ +[packages] +tests = True + [rc_options] backend = GTKAgg From 886c137f302cecf9c3cf7b66591803ec42844ed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 25 Jan 2017 16:54:58 +0100 Subject: [PATCH 165/240] - Apply the 'aarch64' test tolerance patch on s390(x) also --- python-matplotlib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index fcc4ace..8ccbe0d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -55,7 +55,7 @@ Name: python-matplotlib Version: 2.0.0 -Release: 1%{?rctag:.%{rctag}}%{?dist} +Release: 2%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -416,7 +416,7 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %patch9 -p1 -b .qh %endif %patch10 -p1 -b .tests -%ifarch aarch64 %{power64} +%ifarch aarch64 %{power64} s390 s390x %patch11 -p1 -b .tests-aarch64ppc64 %endif %ifarch i686 @@ -620,6 +620,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Wed Jan 25 2017 Dan Horák - 2.0.0-2 +- Apply the 'aarch64' test tolerance patch on s390(x) also + * Fri Jan 20 2017 Orion Poplawski - 2.0.0-1 - Update to 2.0.0 final From 050595723207483babd97c0462ebd085ae07c3aa Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 11 Feb 2017 09:33:59 +0000 Subject: [PATCH 166/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 8ccbe0d..1932df7 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -55,7 +55,7 @@ Name: python-matplotlib Version: 2.0.0 -Release: 2%{?rctag:.%{rctag}}%{?dist} +Release: 2%{?rctag:.%{rctag}}%{?dist}.1 Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -620,6 +620,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Sat Feb 11 2017 Fedora Release Engineering - 2.0.0-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Wed Jan 25 2017 Dan Horák - 2.0.0-2 - Apply the 'aarch64' test tolerance patch on s390(x) also From 33684553c0cff42a7a1491d1bbf9085f19ce888c Mon Sep 17 00:00:00 2001 From: Thomas Spura Date: Wed, 8 Mar 2017 22:51:19 +0100 Subject: [PATCH 167/240] Remove copyrighted file from tarball (gh-8034) --- .gitignore | 1 + python-matplotlib.spec | 8 ++++++-- remove-files.sh | 21 +++++++++++++++++++++ sources | 2 +- 4 files changed, 29 insertions(+), 3 deletions(-) create mode 100755 remove-files.sh diff --git a/.gitignore b/.gitignore index 41f1fce..250f927 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 1932df7..f091534 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -55,13 +55,14 @@ Name: python-matplotlib Version: 2.0.0 -Release: 2%{?rctag:.%{rctag}}%{?dist}.1 +Release: 2%{?rctag:.%{rctag}}%{?dist}.2 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}.tar.gz#/matplotlib-%{version}%{?rctag}.tar.gz +Source0: matplotlib-%{version}-without-copyrighted.tar.xz Source1: setup.cfg Patch2: 20_matplotlibrc_path_search_fix.patch @@ -620,6 +621,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Mon Mar 06 2017 Thomas Spura - 2.0.0-2.2 +- Remove copyrighted file from tarball (gh-8034) + * Sat Feb 11 2017 Fedora Release Engineering - 2.0.0-2.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/remove-files.sh b/remove-files.sh new file mode 100755 index 0000000..c7a6624 --- /dev/null +++ b/remove-files.sh @@ -0,0 +1,21 @@ +#! /bin/sh + +version=$1 + +[ -z $version ] && exit 1 + +dir=matplotlib-${version} +file=matplotlib-${version}.tar.gz +result=matplotlib-${version}-without-copyrighted.tar.xz + +test -f $file || exit 1 + +rm -rf matplotlib-${version} +tar xzf $file + +# https://github.com/matplotlib/matplotlib/issues/8034 +rm -vr matplotlib-${version}/lib/matplotlib/mpl-data/sample_data/necked_tensile_specimen.png +rm -vr matplotlib-${version}/examples/images_contours_and_fields/interpolation_none_vs_nearest.py + +rm -f $result +tar cJf $result $dir diff --git a/sources b/sources index 4fc5a86..390ce37 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (matplotlib-2.0.0.tar.gz) = b0e6d91aee5f91e0155c9e6716eef1a7e1fb907daeb93d603709142b749878fd758e42fe3707ac73c3d87959c6a35126c9e17c08ef78c5734106fafdf198f304 +SHA512 (matplotlib-2.0.0-without-copyrighted.tar.xz) = 6413b0187b3d7ce5e4cbfaf7de4f42a747f1a415dbe3dca71c5f0ff0b8ac7139dc2807302bfbc67428281cfc7744cc23c6bbda041cd0568eff71801a740b862d From c20c3de8d09158ef4ca316fa8e3ddb5b125fd0fc Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 12 Mar 2017 13:40:50 +0000 Subject: [PATCH 168/240] Fix NVR --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index f091534..f965be7 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -55,7 +55,7 @@ Name: python-matplotlib Version: 2.0.0 -Release: 2%{?rctag:.%{rctag}}%{?dist}.2 +Release: 3%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -621,6 +621,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Sun Mar 12 2017 Peter Robinson 2.0.0-3 +- Fix NVR + * Mon Mar 06 2017 Thomas Spura - 2.0.0-2.2 - Remove copyrighted file from tarball (gh-8034) From cf584d71bbe9d87a8b7ac8403d8e7912768e79cb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 10:52:41 +0000 Subject: [PATCH 169/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index f965be7..4a711f0 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -55,7 +55,7 @@ Name: python-matplotlib Version: 2.0.0 -Release: 3%{?rctag:.%{rctag}}%{?dist} +Release: 3%{?rctag:.%{rctag}}%{?dist}.1 Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -621,6 +621,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Thu Jul 27 2017 Fedora Release Engineering - 2.0.0-3.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Sun Mar 12 2017 Peter Robinson 2.0.0-3 - Fix NVR From 68a10c0be295438e01f192453825e4ac62aab5e7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 06:50:30 +0000 Subject: [PATCH 170/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 4a711f0..d5a0e93 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -55,7 +55,7 @@ Name: python-matplotlib Version: 2.0.0 -Release: 3%{?rctag:.%{rctag}}%{?dist}.1 +Release: 3%{?rctag:.%{rctag}}%{?dist}.2 Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -621,6 +621,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 2.0.0-3.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Thu Jul 27 2017 Fedora Release Engineering - 2.0.0-3.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From e9a5a6f0c089c2102ae56534f9aab3a399b1ba12 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:58:07 -0400 Subject: [PATCH 171/240] Remove outdated patches. --- python-matplotlib-disable-failing-tests.patch | 20 ----------- python-matplotlib-noagg.patch | 33 ------------------ python-matplotlib-use-system-six.patch | 34 ------------------- python-matplotlib.spec | 4 --- 4 files changed, 91 deletions(-) delete mode 100644 python-matplotlib-disable-failing-tests.patch delete mode 100644 python-matplotlib-noagg.patch delete mode 100644 python-matplotlib-use-system-six.patch diff --git a/python-matplotlib-disable-failing-tests.patch b/python-matplotlib-disable-failing-tests.patch deleted file mode 100644 index b9ac52d..0000000 --- a/python-matplotlib-disable-failing-tests.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py ---- matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py.tests 2016-07-17 01:04:11.000000000 +0200 -+++ matplotlib-2.0.0b3/lib/matplotlib/sphinxext/tests/test_tinypages.py 2016-08-29 13:41:47.661198880 +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 --git a/python-matplotlib-noagg.patch b/python-matplotlib-noagg.patch deleted file mode 100644 index 51bac9c..0000000 --- a/python-matplotlib-noagg.patch +++ /dev/null @@ -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): diff --git a/python-matplotlib-use-system-six.patch b/python-matplotlib-use-system-six.patch deleted file mode 100644 index dd3dcc8..0000000 --- a/python-matplotlib-use-system-six.patch +++ /dev/null @@ -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(), diff --git a/python-matplotlib.spec b/python-matplotlib.spec index d5a0e93..f5fa221 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -424,10 +424,6 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %patch13 -p1 -b .tests-i686 %endif -chmod -x lib/matplotlib/mpl-data/images/*.svg -chmod -x lib/matplotlib/{dates,sankey}.py -chmod -x lib/mpl_toolkits/mplot3d/*.py - %build export http_proxy=http://127.0.0.1/ MPLCONFIGDIR=$PWD \ From 14e87c45462554f2e26bf363d34dec5a4b15965b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 28 Sep 2017 01:15:02 -0400 Subject: [PATCH 172/240] Update to 2.0.1. --- .gitignore | 1 + 20_matplotlibrc_path_search_fix.patch | 4 +- ...matplotlib-disable-failing-tests-arm.patch | 4 +- ...ncrease-tests-tolerance-aarch64ppc64.patch | 48 ++++++++--------- ...lotlib-increase-tests-tolerance-i686.patch | 32 ++++++------ ...-matplotlib-increase-tests-tolerance.patch | 52 +++++++++---------- python-matplotlib.spec | 10 ++-- remove-files.sh | 21 -------- sources | 2 +- 9 files changed, 78 insertions(+), 96 deletions(-) delete mode 100755 remove-files.sh diff --git a/.gitignore b/.gitignore index 250f927..07019e0 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/20_matplotlibrc_path_search_fix.patch b/20_matplotlibrc_path_search_fix.patch index b4d708a..32cd91e 100644 --- a/20_matplotlibrc_path_search_fix.patch +++ b/20_matplotlibrc_path_search_fix.patch @@ -1,6 +1,6 @@ --- 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 @@ +@@ -713,9 +713,12 @@ def _get_data_path(): _file = _decode_filesystem_path(__file__) path = os.sep.join([os.path.dirname(_file), 'mpl-data']) @@ -13,7 +13,7 @@ # 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 @@ +@@ -843,7 +846,7 @@ def matplotlib_fname(): home, '.matplotlib', 'matplotlibrc') return fname diff --git a/python-matplotlib-disable-failing-tests-arm.patch b/python-matplotlib-disable-failing-tests-arm.patch index a435a1c..3653fdb 100644 --- a/python-matplotlib-disable-failing-tests-arm.patch +++ b/python-matplotlib-disable-failing-tests-arm.patch @@ -1,7 +1,7 @@ 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(): +@@ -217,7 +217,8 @@ def test_cursor_data(): event = MouseEvent('motion_notify_event', fig.canvas, xdisp, ydisp) z = im.get_cursor_data(event) @@ -11,7 +11,7 @@ diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_image.py.tests matplotlib-1. # 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(): +@@ -255,14 +256,16 @@ def test_cursor_data(): event = MouseEvent('motion_notify_event', fig.canvas, xdisp, ydisp) z = im.get_cursor_data(event) diff --git a/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch b/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch index f83f97f..c3db33a 100644 --- a/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch +++ b/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch @@ -1,6 +1,6 @@ --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py.new 2017-01-07 21:28:07.736224906 -0800 -@@ -1285,7 +1285,7 @@ +@@ -1322,7 +1322,7 @@ def test_contour_colorbar(): cbar.add_lines(cs2, erase=False) @@ -9,31 +9,9 @@ def test_hist2d(): np.random.seed(0) # make it not symetric in case we switch x and y axis ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py.new 2017-01-07 21:29:53.441682625 -0800 -@@ -135,7 +135,7 @@ - ax.quiverkey(q, 0, 0.5, 1, 'W', labelpos='W') - - --@image_comparison(baseline_images=['barbs_test_image'], -+@image_comparison(baseline_images=['barbs_test_image'], tol=0.8, - extensions=['png'], remove_text=True) - def test_barbs(): - x = np.linspace(-5, 5, 5) ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py.new 2017-01-07 21:21:29.478503151 -0800 -@@ -82,7 +82,7 @@ - - - @image_comparison(baseline_images=['pre_transform_data'], -- tol=0.08) -+ tol=0.9) - 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 --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mlab.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mlab.py.new 2017-01-07 21:30:47.502916717 -0800 -@@ -2279,90 +2279,6 @@ +@@ -2279,90 +2279,6 @@ class spectral_testcase_nosig_complex_defaultsided( iscomplex=True, sides='default', nsides=2) @@ -124,3 +102,25 @@ class spectral_testcase_nosig_real_onesided_noNFFT( spectral_testcase_nosig_real_onesided): def setUp(self): +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py.new 2017-01-07 21:29:53.441682625 -0800 +@@ -135,7 +135,7 @@ def test_quiver_key_pivot(): + ax.quiverkey(q, 0, 0.5, 1, 'W', labelpos='W') + + +-@image_comparison(baseline_images=['barbs_test_image'], ++@image_comparison(baseline_images=['barbs_test_image'], tol=0.8, + extensions=['png'], remove_text=True) + def test_barbs(): + x = np.linspace(-5, 5, 5) +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py.new 2017-01-07 21:21:29.478503151 -0800 +@@ -82,7 +82,7 @@ def test_external_transform_api(): + + + @image_comparison(baseline_images=['pre_transform_data'], +- tol=0.08) ++ tol=0.9) + 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/python-matplotlib-increase-tests-tolerance-i686.patch b/python-matplotlib-increase-tests-tolerance-i686.patch index 01a0e44..06c77d0 100644 --- a/python-matplotlib-increase-tests-tolerance-i686.patch +++ b/python-matplotlib-increase-tests-tolerance-i686.patch @@ -1,6 +1,6 @@ --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py.new 2017-01-07 21:35:06.874039829 -0800 -@@ -361,7 +361,7 @@ +@@ -389,7 +389,7 @@ def test_single_point(): plt.plot('b','b', 'o', data=data) @@ -9,7 +9,7 @@ def test_single_date(): time1 = [721964.0] data1 = [-65.54] -@@ -4696,7 +4696,7 @@ +@@ -4759,7 +4759,7 @@ def test_date_timezone_y(): @image_comparison(baseline_images=['date_timezone_x_and_y'], @@ -20,7 +20,7 @@ time_index = [pytz.timezone('UTC').localize(datetime.datetime( --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_collections.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_collections.py.new 2017-01-07 21:35:52.016235301 -0800 -@@ -489,7 +489,7 @@ +@@ -489,7 +489,7 @@ def test_EllipseCollection(): ax.autoscale_view() @@ -31,7 +31,7 @@ from mpl_toolkits.mplot3d import Axes3D --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_contour.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_contour.py.new 2017-01-07 21:36:29.283396673 -0800 -@@ -233,7 +233,7 @@ +@@ -233,7 +233,7 @@ def test_contour_datetime_axis(): label.set_rotation(30) @@ -40,20 +40,9 @@ extensions=['png'], remove_text=True) def test_labels(): # Adapted from pylab_examples example code: contour_demo.py ---- matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py.new 2017-01-07 21:37:04.144547626 -0800 -@@ -171,7 +171,7 @@ - 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.081) - def test_trisurf3d(): - n_angles = 36 - n_radii = 8 --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py.new 2017-01-07 21:21:29.478503151 -0800 -@@ -82,7 +82,7 @@ +@@ -82,7 +82,7 @@ def test_external_transform_api(): @image_comparison(baseline_images=['pre_transform_data'], @@ -62,4 +51,15 @@ 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 +--- matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py.new 2017-01-07 21:37:04.144547626 -0800 +@@ -171,7 +171,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.081) + def test_trisurf3d(): + n_angles = 36 + n_radii = 8 diff --git a/python-matplotlib-increase-tests-tolerance.patch b/python-matplotlib-increase-tests-tolerance.patch index 82276ca..0abeef9 100644 --- a/python-matplotlib-increase-tests-tolerance.patch +++ b/python-matplotlib-increase-tests-tolerance.patch @@ -1,17 +1,39 @@ --- matplotlib-2.0.0rc2/lib/matplotlib/testing/decorators.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/testing/decorators.py.new 2017-01-07 21:19:51.078081193 -0800 -@@ -266,7 +266,7 @@ +@@ -266,7 +266,7 @@ class ImageComparisonTest(CleanupTest): yield do_test, fignum, actual_fname, expected_fname -def image_comparison(baseline_images=None, extensions=None, tol=0, +def image_comparison(baseline_images=None, extensions=None, tol=0.306, freetype_version=None, remove_text=False, - savefig_kwarg=None, style='classic'): + savefig_kwarg=None, style='_classic_test'): """ +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py.new 2017-01-07 22:02:42.396426402 -0800 +@@ -159,7 +159,7 @@ for fonts, chars in font_test_specs: + + def make_set(basename, fontset, tests, extensions=None): + def make_test(filename, test): +- @image_comparison(baseline_images=[filename], extensions=extensions) ++ @image_comparison(baseline_images=[filename], extensions=extensions, tol=0.310) + def single_test(): + matplotlib.rcParams['mathtext.fontset'] = fontset + fig = plt.figure(figsize=(5.25, 0.75)) +--- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py 2016-12-18 11:40:53.000000000 -0800 ++++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py.new 2017-01-07 21:21:08.014411109 -0800 +@@ -138,7 +138,7 @@ def test_SimplePatchShadow_offset(): + assert_equal(pe._offset, (4, 5)) + + +-@image_comparison(baseline_images=['collection'], tol=0.015) ++@image_comparison(baseline_images=['collection'], tol=0.083) + def test_collection(): + x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100)) + data = np.sin(x) + np.cos(y) --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_png.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_png.py.new 2017-01-07 21:20:22.388215456 -0800 -@@ -17,7 +17,7 @@ +@@ -17,7 +17,7 @@ on_win = (sys.platform == 'win32') @image_comparison(baseline_images=['pngsuite'], extensions=['png'], @@ -22,7 +44,7 @@ os.path.dirname(__file__), --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_streamplot.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_streamplot.py.new 2017-01-07 21:20:42.180300328 -0800 -@@ -18,7 +18,7 @@ +@@ -18,7 +18,7 @@ def velocity_field(): @image_comparison(baseline_images=['streamplot_colormap'], @@ -31,25 +53,3 @@ def test_colormap(): X, Y, U, V = velocity_field() plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2, ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py.new 2017-01-07 21:21:08.014411109 -0800 -@@ -110,7 +110,7 @@ - assert_equal(pe._offset, (4, 5)) - - --@image_comparison(baseline_images=['collection'], tol=0.015) -+@image_comparison(baseline_images=['collection'], tol=0.083) - def test_collection(): - x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100)) - data = np.sin(x) + np.cos(y) ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py.new 2017-01-07 22:02:42.396426402 -0800 -@@ -158,7 +158,7 @@ - - def make_set(basename, fontset, tests, extensions=None): - def make_test(filename, test): -- @image_comparison(baseline_images=[filename], extensions=extensions) -+ @image_comparison(baseline_images=[filename], extensions=extensions, tol=0.310) - def single_test(): - matplotlib.rcParams['mathtext.fontset'] = fontset - fig = plt.figure(figsize=(5.25, 0.75)) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index f5fa221..8d91af3 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -54,15 +54,14 @@ #global rctag rc2 Name: python-matplotlib -Version: 2.0.0 -Release: 3%{?rctag:.%{rctag}}%{?dist}.2 +Version: 2.0.1 +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: matplotlib-%{version}-without-copyrighted.tar.xz +Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}.tar.gz#/matplotlib-%{version}%{?rctag}.tar.gz Source1: setup.cfg Patch2: 20_matplotlibrc_path_search_fix.patch @@ -617,6 +616,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Thu Sep 28 2017 Elliott Sales de Andrade - 2.0.1-1 +- Update to latest release + * Thu Aug 03 2017 Fedora Release Engineering - 2.0.0-3.2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/remove-files.sh b/remove-files.sh deleted file mode 100755 index c7a6624..0000000 --- a/remove-files.sh +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/sh - -version=$1 - -[ -z $version ] && exit 1 - -dir=matplotlib-${version} -file=matplotlib-${version}.tar.gz -result=matplotlib-${version}-without-copyrighted.tar.xz - -test -f $file || exit 1 - -rm -rf matplotlib-${version} -tar xzf $file - -# https://github.com/matplotlib/matplotlib/issues/8034 -rm -vr matplotlib-${version}/lib/matplotlib/mpl-data/sample_data/necked_tensile_specimen.png -rm -vr matplotlib-${version}/examples/images_contours_and_fields/interpolation_none_vs_nearest.py - -rm -f $result -tar cJf $result $dir diff --git a/sources b/sources index 390ce37..74e4583 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (matplotlib-2.0.0-without-copyrighted.tar.xz) = 6413b0187b3d7ce5e4cbfaf7de4f42a747f1a415dbe3dca71c5f0ff0b8ac7139dc2807302bfbc67428281cfc7744cc23c6bbda041cd0568eff71801a740b862d +SHA512 (matplotlib-2.0.1.tar.gz) = 763e7b980d66a66b8928f2dcb09b48a8e13f1092a6aa52ffa5d0247ee10747f97d35cf059f0cce51a95fce240850c4c03c6e49d9b26fddfcc4f049864d8767ce From 730689d98e76a34f24c9e80d9dfe69b5e208a930 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 28 Sep 2017 02:40:53 -0400 Subject: [PATCH 173/240] Update to Matplotlib 2.0.2. --- .gitignore | 1 + python-matplotlib.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 07019e0..0e7af29 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 8d91af3..c227a98 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -54,7 +54,7 @@ #global rctag rc2 Name: python-matplotlib -Version: 2.0.1 +Version: 2.0.2 Release: 1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries @@ -616,6 +616,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Thu Sep 28 2017 Elliott Sales de Andrade - 2.0.2-1 +- Update to latest release + * Thu Sep 28 2017 Elliott Sales de Andrade - 2.0.1-1 - Update to latest release diff --git a/sources b/sources index 74e4583..59daa0d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (matplotlib-2.0.1.tar.gz) = 763e7b980d66a66b8928f2dcb09b48a8e13f1092a6aa52ffa5d0247ee10747f97d35cf059f0cce51a95fce240850c4c03c6e49d9b26fddfcc4f049864d8767ce +SHA512 (matplotlib-2.0.2.tar.gz) = 154117eeb2a285bb3cd4a7e31b4a9681d036af558ad3c5b79a37916ca57e0961b1836ee4ce92bc5aef32fa64a7c980047d6c3d75cd529c8c51d6cabd152942fc From 5ff9cbe46037a9d91a3348576e40e8af3cf93781 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 01:29:13 -0400 Subject: [PATCH 174/240] Update to 2.1.0 rc1. --- .gitignore | 1 + 20_matplotlibrc_path_search_fix.patch | 18 +-- ...matplotlib-disable-failing-tests-arm.patch | 6 +- ...ncrease-tests-tolerance-aarch64ppc64.patch | 117 ++++-------------- ...lotlib-increase-tests-tolerance-i686.patch | 14 +-- ...-matplotlib-increase-tests-tolerance.patch | 56 ++++----- python-matplotlib.spec | 31 ++--- setup.cfg | 2 + sources | 2 +- 9 files changed, 85 insertions(+), 162 deletions(-) diff --git a/.gitignore b/.gitignore index 0e7af29..fbb431c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/20_matplotlibrc_path_search_fix.patch b/20_matplotlibrc_path_search_fix.patch index 32cd91e..d449500 100644 --- a/20_matplotlibrc_path_search_fix.patch +++ b/20_matplotlibrc_path_search_fix.patch @@ -1,6 +1,6 @@ --- 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 -@@ -713,9 +713,12 @@ def _get_data_path(): +@@ -635,9 +635,12 @@ def _get_data_path(): _file = _decode_filesystem_path(__file__) path = os.sep.join([os.path.dirname(_file), 'mpl-data']) @@ -13,12 +13,12 @@ # setuptools' namespace_packages may highjack this init file # so need to try something known to be in matplotlib, not basemap import matplotlib.afm -@@ -843,7 +846,7 @@ def matplotlib_fname(): - home, '.matplotlib', 'matplotlibrc') - return fname +@@ -731,7 +734,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' -- 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') + for fname in gen_candidates(): + if os.path.isfile(fname): diff --git a/python-matplotlib-disable-failing-tests-arm.patch b/python-matplotlib-disable-failing-tests-arm.patch index 3653fdb..69f1027 100644 --- a/python-matplotlib-disable-failing-tests-arm.patch +++ b/python-matplotlib-disable-failing-tests-arm.patch @@ -1,7 +1,7 @@ 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 -@@ -217,7 +217,8 @@ def test_cursor_data(): +@@ -200,7 +200,8 @@ def test_cursor_data(): event = MouseEvent('motion_notify_event', fig.canvas, xdisp, ydisp) z = im.get_cursor_data(event) @@ -11,7 +11,7 @@ diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_image.py.tests matplotlib-1. # Hmm, something is wrong here... I get 0, not None... # But, this works further down in the tests with extents flipped -@@ -255,14 +256,16 @@ def test_cursor_data(): +@@ -238,14 +239,16 @@ def test_cursor_data(): event = MouseEvent('motion_notify_event', fig.canvas, xdisp, ydisp) z = im.get_cursor_data(event) @@ -29,4 +29,4 @@ diff -up matplotlib-1.5.1/lib/matplotlib/tests/test_image.py.tests matplotlib-1. + #assert z is None, "Did not get None, got %d" % z - @image_comparison(baseline_images=['image_clip']) + @image_comparison(baseline_images=['image_clip'], style='mpl20') diff --git a/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch b/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch index c3db33a..3f5fc38 100644 --- a/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch +++ b/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch @@ -1,6 +1,6 @@ --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py.new 2017-01-07 21:28:07.736224906 -0800 -@@ -1322,7 +1322,7 @@ def test_contour_colorbar(): +@@ -1529,7 +1529,7 @@ def test_contour_colorbar(): cbar.add_lines(cs2, erase=False) @@ -8,103 +8,30 @@ +@image_comparison(baseline_images=['hist2d', 'hist2d'], tol=10.677) def test_hist2d(): np.random.seed(0) - # make it not symetric in case we switch x and y axis + # make it not symmetric in case we switch x and y axis --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mlab.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mlab.py.new 2017-01-07 21:30:47.502916717 -0800 -@@ -2279,90 +2279,6 @@ class spectral_testcase_nosig_complex_defaultsided( - iscomplex=True, sides='default', nsides=2) - - --class spectral_testcase_Fs4_real_onesided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4], -- iscomplex=False, sides='onesided', nsides=1) -- -- --class spectral_testcase_Fs4_real_twosided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4], -- iscomplex=False, sides='twosided', nsides=2) -- -- --class spectral_testcase_Fs4_real_defaultsided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4], -- iscomplex=False, sides='default', nsides=1) -- -- --class spectral_testcase_Fs4_complex_onesided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4], -- iscomplex=True, sides='onesided', nsides=1) -- -- --class spectral_testcase_Fs4_complex_twosided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4], -- iscomplex=True, sides='twosided', nsides=2) -- -- --class spectral_testcase_Fs4_complex_defaultsided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4], -- iscomplex=True, sides='default', nsides=2) -- -- --class spectral_testcase_FsAll_real_onesided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4, 5, 10], -- iscomplex=False, sides='onesided', nsides=1) -- -- --class spectral_testcase_FsAll_real_twosided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4, 5, 10], -- iscomplex=False, sides='twosided', nsides=2) -- -- --class spectral_testcase_FsAll_real_defaultsided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4, 5, 10], -- iscomplex=False, sides='default', nsides=1) -- -- --class spectral_testcase_FsAll_complex_onesided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4, 5, 10], -- iscomplex=True, sides='onesided', nsides=1) -- -- --class spectral_testcase_FsAll_complex_twosided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4, 5, 10], -- iscomplex=True, sides='twosided', nsides=2) -- -- --class spectral_testcase_FsAll_complex_defaultsided( -- spectral_testcase_nosig_real_onesided): -- def setUp(self): -- self.createStim(fstims=[4, 5, 10], -- iscomplex=True, sides='default', nsides=2) -- -- - class spectral_testcase_nosig_real_onesided_noNFFT( - spectral_testcase_nosig_real_onesided): - def setUp(self): +@@ -1153,8 +1153,6 @@ class TestDetrend(object): + 'fstims,len_x,NFFT_density,nover_density,pad_to_density,pad_to_spectrum', + [ + ([], None, -1, -1, -1, -1), +- ([4], None, -1, -1, -1, -1), +- ([4, 5, 10], None, -1, -1, -1, -1), + ([], None, None, -1, -1, None), + ([], None, -1, -1, None, None), + ([], None, None, -1, None, None), +@@ -1166,8 +1164,6 @@ class TestDetrend(object): + ], + ids=[ + 'nosig', +- 'Fs4', +- 'FsAll', + 'nosig_noNFFT', + 'nosig_nopad_to', + 'nosig_noNFFT_no_pad_to', --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py.new 2017-01-07 21:29:53.441682625 -0800 -@@ -135,7 +135,7 @@ def test_quiver_key_pivot(): +@@ -130,7 +130,7 @@ def test_quiver_key_pivot(): ax.quiverkey(q, 0, 0.5, 1, 'W', labelpos='W') @@ -115,7 +42,7 @@ x = np.linspace(-5, 5, 5) --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py.new 2017-01-07 21:21:29.478503151 -0800 -@@ -82,7 +82,7 @@ def test_external_transform_api(): +@@ -75,7 +75,7 @@ def test_external_transform_api(): @image_comparison(baseline_images=['pre_transform_data'], diff --git a/python-matplotlib-increase-tests-tolerance-i686.patch b/python-matplotlib-increase-tests-tolerance-i686.patch index 06c77d0..4622676 100644 --- a/python-matplotlib-increase-tests-tolerance-i686.patch +++ b/python-matplotlib-increase-tests-tolerance-i686.patch @@ -1,7 +1,7 @@ --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py.new 2017-01-07 21:35:06.874039829 -0800 -@@ -389,7 +389,7 @@ def test_single_point(): - plt.plot('b','b', 'o', data=data) +@@ -481,7 +481,7 @@ def test_single_point(): + plt.plot('b', 'b', 'o', data=data) -@image_comparison(baseline_images=['single_date']) @@ -9,7 +9,7 @@ def test_single_date(): time1 = [721964.0] data1 = [-65.54] -@@ -4759,7 +4759,7 @@ def test_date_timezone_y(): +@@ -5057,7 +5057,7 @@ def test_date_timezone_y(): @image_comparison(baseline_images=['date_timezone_x_and_y'], @@ -20,7 +20,7 @@ time_index = [pytz.timezone('UTC').localize(datetime.datetime( --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_collections.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_collections.py.new 2017-01-07 21:35:52.016235301 -0800 -@@ -489,7 +489,7 @@ def test_EllipseCollection(): +@@ -467,7 +467,7 @@ def test_EllipseCollection(): ax.autoscale_view() @@ -31,7 +31,7 @@ from mpl_toolkits.mplot3d import Axes3D --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_contour.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_contour.py.new 2017-01-07 21:36:29.283396673 -0800 -@@ -233,7 +233,7 @@ def test_contour_datetime_axis(): +@@ -234,7 +234,7 @@ def test_contour_datetime_axis(): label.set_rotation(30) @@ -42,7 +42,7 @@ # Adapted from pylab_examples example code: contour_demo.py --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py.new 2017-01-07 21:21:29.478503151 -0800 -@@ -82,7 +82,7 @@ def test_external_transform_api(): +@@ -75,7 +75,7 @@ def test_external_transform_api(): @image_comparison(baseline_images=['pre_transform_data'], @@ -53,7 +53,7 @@ # pre-transforming the data NOTE: The axis range is important in this --- matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py.new 2017-01-07 21:37:04.144547626 -0800 -@@ -171,7 +171,7 @@ def test_text3d(): +@@ -198,7 +198,7 @@ def test_text3d(): ax.set_zlabel('Z axis') diff --git a/python-matplotlib-increase-tests-tolerance.patch b/python-matplotlib-increase-tests-tolerance.patch index 0abeef9..def952f 100644 --- a/python-matplotlib-increase-tests-tolerance.patch +++ b/python-matplotlib-increase-tests-tolerance.patch @@ -1,29 +1,38 @@ --- matplotlib-2.0.0rc2/lib/matplotlib/testing/decorators.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/testing/decorators.py.new 2017-01-07 21:19:51.078081193 -0800 -@@ -266,7 +266,7 @@ class ImageComparisonTest(CleanupTest): +@@ -406,7 +406,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol, + return decorator - yield do_test, fignum, actual_fname, expected_fname --def image_comparison(baseline_images=None, extensions=None, tol=0, -+def image_comparison(baseline_images=None, extensions=None, tol=0.306, +-def image_comparison(baseline_images, extensions=None, tol=0, ++def image_comparison(baseline_images, extensions=None, tol=0.306, freetype_version=None, remove_text=False, - savefig_kwarg=None, style='_classic_test'): - """ + savefig_kwarg=None, + # Default of mpl_test_settings fixture and cleanup too. --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py.new 2017-01-07 22:02:42.396426402 -0800 -@@ -159,7 +159,7 @@ for fonts, chars in font_test_specs: - - def make_set(basename, fontset, tests, extensions=None): - def make_test(filename, test): -- @image_comparison(baseline_images=[filename], extensions=extensions) -+ @image_comparison(baseline_images=[filename], extensions=extensions, tol=0.310) - def single_test(): - matplotlib.rcParams['mathtext.fontset'] = fontset - fig = plt.figure(figsize=(5.25, 0.75)) +@@ -174,7 +174,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.310) + def test_mathtext_rendering(baseline_images, fontset, index, test): + matplotlib.rcParams['mathtext.fontset'] = fontset + fig = plt.figure(figsize=(5.25, 0.75)) +@@ -188,7 +188,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test): + ['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.310) + def test_mathfont_rendering(baseline_images, fontset, index, test): + matplotlib.rcParams['mathtext.fontset'] = fontset + fig = plt.figure(figsize=(5.25, 0.75)) --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py.new 2017-01-07 21:21:08.014411109 -0800 -@@ -138,7 +138,7 @@ def test_SimplePatchShadow_offset(): - assert_equal(pe._offset, (4, 5)) +@@ -125,7 +125,7 @@ def test_SimplePatchShadow_offset(): + assert pe._offset == (4, 5) -@image_comparison(baseline_images=['collection'], tol=0.015) @@ -31,20 +40,9 @@ def test_collection(): x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100)) data = np.sin(x) + np.cos(y) ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_png.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_png.py.new 2017-01-07 21:20:22.388215456 -0800 -@@ -17,7 +17,7 @@ on_win = (sys.platform == 'win32') - - - @image_comparison(baseline_images=['pngsuite'], extensions=['png'], -- tol=0.01 if on_win else 0) -+ tol=0.014) - def test_pngsuite(): - dirname = os.path.join( - os.path.dirname(__file__), --- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_streamplot.py 2016-12-18 11:40:53.000000000 -0800 +++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_streamplot.py.new 2017-01-07 21:20:42.180300328 -0800 -@@ -18,7 +18,7 @@ def velocity_field(): +@@ -36,7 +36,7 @@ def test_startpoints(): @image_comparison(baseline_images=['streamplot_colormap'], diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c227a98..49a1540 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -51,10 +51,10 @@ # Use the same directory of the main package for subpackage licence and docs %global _docdir_fmt %{name} -#global rctag rc2 +%global rctag rc1 Name: python-matplotlib -Version: 2.0.2 +Version: 2.1.0 Release: 1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries @@ -67,8 +67,6 @@ Source1: setup.cfg Patch2: 20_matplotlibrc_path_search_fix.patch # https://github.com/matplotlib/matplotlib/issues/6538 Patch8: python-matplotlib-disable-failing-tests-arm.patch -# https://github.com/matplotlib/matplotlib/issues/6791 -Patch9: python-matplotlib-qhull.patch # https://github.com/matplotlib/matplotlib/issues/7134 # https://github.com/matplotlib/matplotlib/issues/7158 # https://github.com/matplotlib/matplotlib/issues/7159 @@ -99,13 +97,13 @@ Summary: Python 2D plotting library BuildRequires: numpy BuildRequires: pyparsing BuildRequires: python-dateutil -BuildRequires: python-pycxx-devel BuildRequires: python-pyside BuildRequires: python-setuptools BuildRequires: python-six BuildRequires: python-subprocess32 BuildRequires: python2-devel -BuildRequires: python2-functools32 +BuildRequires: python2-backports +BuildRequires: python2-backports-functools_lru_cache BuildRequires: python2-pillow BuildRequires: pytz %if %{with_html} @@ -119,7 +117,7 @@ BuildRequires: python2-colorspacious BuildRequires: python2-cycler >= 0.10.0 %endif %if %{run_tests} -BuildRequires: python-nose +BuildRequires: python2-pytest BuildRequires: python2-cycler >= 0.10.0 BuildRequires: python2-mock %endif @@ -129,7 +127,7 @@ Requires: numpy Requires: pyparsing Requires: python2-cycler >= 0.10.0 Requires: python-dateutil -Requires: python2-functools32 +Requires: python2-backports-functools_lru_cache Requires: python-matplotlib-data = %{version}-%{release} %{?backend_subpackage:Requires: python2-matplotlib-%{backend_subpackage}%{?_isa} = %{version}-%{release}} Recommends: python2-pillow @@ -292,7 +290,6 @@ BuildRequires: python3-setuptools BuildRequires: python3-gobject BuildRequires: python3-numpy BuildRequires: python3-pillow -BuildRequires: python3-pycxx-devel BuildRequires: python3-pyparsing BuildRequires: python3-pytz BuildRequires: python3-six @@ -304,8 +301,7 @@ Requires: python3-cycler >= 0.10.0 Requires: python3-dateutil Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release} %if %{run_tests} -BuildRequires: python3-mock -BuildRequires: python3-nose +BuildRequires: python3-pytest %endif Requires: python3-numpy Recommends: python3-pillow @@ -388,7 +384,7 @@ Requires: python3-tkinter %prep %setup -q -n matplotlib-%{version}%{?rctag} -rm -r extern/qhull +rm -r extern/libqhull # Copy setup.cfg to the builddir sed 's/\(backend = \).*/\1%{backend}/' >setup.cfg <%{SOURCE1} @@ -411,10 +407,6 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %patch8 -p1 -b .tests-arm %endif -%if 0%{?fedora} > 24 -# Installation paths changed -%patch9 -p1 -b .qh -%endif %patch10 -p1 -b .tests %ifarch aarch64 %{power64} s390 s390x %patch11 -p1 -b .tests-aarch64ppc64 @@ -474,19 +466,22 @@ rm -fr %{buildroot}%{python3_sitearch}/matplotlib/mpl-data %if %{run_tests} %check +# These files confuse pytest, and we want to test the installed copy. +rm -rf build*/ + export http_proxy=http://127.0.0.1/ # 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 + xvfb-run -a %{__python2} -m pytest -m 'not network' --pyargs matplotlib -ra %if %{with_python3} MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ - xvfb-run -a %{__python3} tests.py --no-network --processes=$(getconf _NPROCESSORS_ONLN) --process-timeout=300 + xvfb-run -a %{__python3} -m pytest -m 'not network' --pyargs matplotlib -ra %endif %endif # run_tests diff --git a/setup.cfg b/setup.cfg index a68796b..978e5f4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,7 @@ [packages] tests = True +toolkits = True +toolkits_tests = True [rc_options] backend = GTKAgg diff --git a/sources b/sources index 59daa0d..e3fa4e5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (matplotlib-2.0.2.tar.gz) = 154117eeb2a285bb3cd4a7e31b4a9681d036af558ad3c5b79a37916ca57e0961b1836ee4ce92bc5aef32fa64a7c980047d6c3d75cd529c8c51d6cabd152942fc +SHA512 (matplotlib-2.1.0rc1.tar.gz) = 192a9d3de0d2e5e11dd4a4a937367424dccc25f2bd804f3d0dfdadc3115d06125d1ffb7852c77d4eea0d8de06f991b3b8dd995346b9591bbecee6c83014aa0d9 From 58a05487aac19f9c44373a725898bd888e741779 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 6 Oct 2017 19:29:27 -0400 Subject: [PATCH 175/240] Update to final 2.1.0 release. --- .gitignore | 1 + python-matplotlib.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index fbb431c..16e590d 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ matplotlib-1.0.0-without-gpc.tar.gz /matplotlib-2.0.1.tar.gz /matplotlib-2.0.2.tar.gz /matplotlib-2.1.0rc1.tar.gz +/matplotlib-2.1.0.tar.gz diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 49a1540..478bc31 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -51,7 +51,7 @@ # Use the same directory of the main package for subpackage licence and docs %global _docdir_fmt %{name} -%global rctag rc1 +#global rctag rc1 Name: python-matplotlib Version: 2.1.0 diff --git a/sources b/sources index e3fa4e5..6d2d577 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (matplotlib-2.1.0rc1.tar.gz) = 192a9d3de0d2e5e11dd4a4a937367424dccc25f2bd804f3d0dfdadc3115d06125d1ffb7852c77d4eea0d8de06f991b3b8dd995346b9591bbecee6c83014aa0d9 +SHA512 (matplotlib-2.1.0.tar.gz) = 19fa97eeb483218f92d72900654984387e90b9f9cc8fd62209443a6eaeb1415e68d7d9c20c5ae0028f99836db58f12aff3af56e756a4673f5130e3f5a724ca87 From f28833ef2d1e5954b04ea3cc380d28d5db13051d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 6 Oct 2017 21:22:37 -0400 Subject: [PATCH 176/240] Disable broken tests. --- python-matplotlib.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 478bc31..0797100 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -472,16 +472,18 @@ rm -rf build*/ export http_proxy=http://127.0.0.1/ # This should match the default backend echo "backend : %{backend}" > matplotlibrc +# Full tests are not run because pytest doesn't seem to understand namespace +# packages in PYTHONPATH. MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python2_sitearch} \ - xvfb-run -a %{__python2} -m pytest -m 'not network' --pyargs matplotlib -ra + xvfb-run -a %{__python2} -m pytest --pyargs matplotlib -m 'not network' -k 'not test_polycollection_close' -ra %if %{with_python3} MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ - xvfb-run -a %{__python3} -m pytest -m 'not network' --pyargs matplotlib -ra + xvfb-run -a %{__python3} tests.py -m 'not network' -ra %endif %endif # run_tests From 4cf6018279229d045a745a37bfe16fdc219f3868 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 7 Oct 2017 04:44:54 -0400 Subject: [PATCH 177/240] Use 24-bit screen for Xvfb. Without this mode, the Qt5 test crashes. --- python-matplotlib.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 0797100..2dc1d64 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -477,13 +477,15 @@ echo "backend : %{backend}" > matplotlibrc MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python2_sitearch} \ - xvfb-run -a %{__python2} -m pytest --pyargs matplotlib -m 'not network' -k 'not test_polycollection_close' -ra + xvfb-run -a -s "-screen 0 640x480x24" \ + %{__python2} -m pytest --pyargs matplotlib -m 'not network' -k 'not test_polycollection_close' -ra %if %{with_python3} MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ - xvfb-run -a %{__python3} tests.py -m 'not network' -ra + xvfb-run -a -s "-screen 0 640x480x24" \ + %{__python3} tests.py -m 'not network' -ra %endif %endif # run_tests From c9345fa6ce419de4e2bfa4db2788fdd2910b44e5 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 15 Oct 2017 18:16:56 -0400 Subject: [PATCH 178/240] Simplify and update patches. --- ...xext-if-unavailable-instead-of-error.patch | 27 ++++ 0002-TST-Capture-all-internal-warnings.patch | 142 ++++++++++++++++++ ...ire-LaTeX-or-Inkscape-for-nose-tests.patch | 28 ++++ ...Fix-AxesImage.get_cursor_data-on-arm.patch | 34 +++++ ...zzy-comparison-in-test_psd_csd_equal.patch | 37 +++++ ...arison-for-stroke-join-determination.patch | 30 ++++ ...=> 0007-matplotlibrc-path-search-fix.patch | 19 ++- ...crease-tolerances-for-FreeType-2.7.1.patch | 128 ++++++++++++++++ ...matplotlib-disable-failing-tests-arm.patch | 32 ---- ...ncrease-tests-tolerance-aarch64ppc64.patch | 53 ------- ...lotlib-increase-tests-tolerance-i686.patch | 65 -------- ...-matplotlib-increase-tests-tolerance.patch | 53 ------- python-matplotlib-qhull.patch | 24 --- python-matplotlib.spec | 45 ++---- 14 files changed, 459 insertions(+), 258 deletions(-) create mode 100644 0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch create mode 100644 0002-TST-Capture-all-internal-warnings.patch create mode 100644 0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch create mode 100644 0004-Fix-AxesImage.get_cursor_data-on-arm.patch create mode 100644 0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch create mode 100644 0006-Use-fuzzy-comparison-for-stroke-join-determination.patch rename 20_matplotlibrc_path_search_fix.patch => 0007-matplotlibrc-path-search-fix.patch (60%) create mode 100644 0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch delete mode 100644 python-matplotlib-disable-failing-tests-arm.patch delete mode 100644 python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch delete mode 100644 python-matplotlib-increase-tests-tolerance-i686.patch delete mode 100644 python-matplotlib-increase-tests-tolerance.patch delete mode 100644 python-matplotlib-qhull.patch diff --git a/0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch b/0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch new file mode 100644 index 0000000..eda7d8d --- /dev/null +++ b/0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch @@ -0,0 +1,27 @@ +From 0420e360523e3452467bfc7d9bb19c3593cde2e7 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Thu, 5 Oct 2017 21:26:53 -0400 +Subject: [PATCH 1/8] TST: Skip sphinxext if unavailable instead of error. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/sphinxext/tests/test_tinypages.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/lib/matplotlib/sphinxext/tests/test_tinypages.py b/lib/matplotlib/sphinxext/tests/test_tinypages.py +index 5141a4cdd..6ee3e9e07 100644 +--- a/lib/matplotlib/sphinxext/tests/test_tinypages.py ++++ b/lib/matplotlib/sphinxext/tests/test_tinypages.py +@@ -22,8 +22,7 @@ def setup_module(): + ret = call([sys.executable, '-msphinx', '--help'], + stdout=PIPE, stderr=PIPE) + if ret != 0: +- raise RuntimeError( +- "'{} -msphinx' does not return 0".format(sys.executable)) ++ pytest.skip("'{} -msphinx' does not return 0".format(sys.executable)) + + + @cbook.deprecated("2.1", alternative="filecmp.cmp") +-- +2.13.5 + diff --git a/0002-TST-Capture-all-internal-warnings.patch b/0002-TST-Capture-all-internal-warnings.patch new file mode 100644 index 0000000..499cd78 --- /dev/null +++ b/0002-TST-Capture-all-internal-warnings.patch @@ -0,0 +1,142 @@ +From 279f95dae9dcd74d51c5913254889712697d1d8a Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Fri, 6 Oct 2017 20:06:09 -0400 +Subject: [PATCH 2/8] TST: Capture all internal warnings. + +These are either deprecations, or checks for old, but probably +incorrect, behaviour. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/tests/test_axes.py | 10 ++++++++-- + lib/matplotlib/tests/test_cbook.py | 22 ++++++++++++---------- + lib/matplotlib/tests/test_colors.py | 10 +++++++++- + lib/matplotlib/tests/test_dates.py | 5 ++++- + lib/matplotlib/tests/test_image.py | 4 ++-- + 5 files changed, 35 insertions(+), 16 deletions(-) + +diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py +index 0c22740a4..273b6f4ec 100644 +--- a/lib/matplotlib/tests/test_axes.py ++++ b/lib/matplotlib/tests/test_axes.py +@@ -1677,13 +1677,19 @@ def test_as_mpl_axes_api(): + ax_via_gca = plt.gca(projection=prj) + assert ax_via_gca is ax + # try getting the axes given a different polar projection +- ax_via_gca = plt.gca(projection=prj2) ++ with pytest.warns(UserWarning) as rec: ++ ax_via_gca = plt.gca(projection=prj2) ++ assert len(rec) == 1 ++ assert 'Requested projection is different' in str(rec[0].message) + assert ax_via_gca is not ax + assert ax.get_theta_offset() == 0, ax.get_theta_offset() + assert ax_via_gca.get_theta_offset() == np.pi, \ + ax_via_gca.get_theta_offset() + # try getting the axes given an == (not is) polar projection +- ax_via_gca = plt.gca(projection=prj3) ++ with pytest.warns(UserWarning): ++ ax_via_gca = plt.gca(projection=prj3) ++ assert len(rec) == 1 ++ assert 'Requested projection is different' in str(rec[0].message) + assert ax_via_gca is ax + plt.close() + +diff --git a/lib/matplotlib/tests/test_cbook.py b/lib/matplotlib/tests/test_cbook.py +index f254b173c..4ff2cc52a 100644 +--- a/lib/matplotlib/tests/test_cbook.py ++++ b/lib/matplotlib/tests/test_cbook.py +@@ -29,16 +29,18 @@ def test_is_hashable(): + + def test_restrict_dict(): + d = {'foo': 'bar', 1: 2} +- d1 = cbook.restrict_dict(d, ['foo', 1]) +- assert d1 == d +- d2 = cbook.restrict_dict(d, ['bar', 2]) +- assert d2 == {} +- d3 = cbook.restrict_dict(d, {'foo': 1}) +- assert d3 == {'foo': 'bar'} +- d4 = cbook.restrict_dict(d, {}) +- assert d4 == {} +- d5 = cbook.restrict_dict(d, {'foo', 2}) +- assert d5 == {'foo': 'bar'} ++ with pytest.warns(cbook.deprecation.MatplotlibDeprecationWarning) as rec: ++ d1 = cbook.restrict_dict(d, ['foo', 1]) ++ assert d1 == d ++ d2 = cbook.restrict_dict(d, ['bar', 2]) ++ assert d2 == {} ++ d3 = cbook.restrict_dict(d, {'foo': 1}) ++ assert d3 == {'foo': 'bar'} ++ d4 = cbook.restrict_dict(d, {}) ++ assert d4 == {} ++ d5 = cbook.restrict_dict(d, {'foo', 2}) ++ assert d5 == {'foo': 'bar'} ++ assert len(rec) == 5 + # check that d was not modified + assert d == {'foo': 'bar', 1: 2} + +diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py +index 721813e62..82c73fe71 100644 +--- a/lib/matplotlib/tests/test_colors.py ++++ b/lib/matplotlib/tests/test_colors.py +@@ -690,7 +690,7 @@ def test_tableau_order(): + assert list(mcolors.TABLEAU_COLORS.values()) == dflt_cycle + + +-def test_ndarray_subclass_norm(): ++def test_ndarray_subclass_norm(recwarn): + # Emulate an ndarray subclass that handles units + # which objects when adding or subtracting with other + # arrays. See #6622 and #8696 +@@ -707,3 +707,11 @@ def test_ndarray_subclass_norm(): + mcolors.SymLogNorm(3, vmax=5, linscale=1), + mcolors.PowerNorm(1)]: + assert_array_equal(norm(data.view(MyArray)), norm(data)) ++ if isinstance(norm, mcolors.PowerNorm): ++ assert len(recwarn) == 1 ++ warn = recwarn.pop(UserWarning) ++ assert ('Power-law scaling on negative values is ill-defined' ++ in str(warn.message)) ++ else: ++ assert len(recwarn) == 0 ++ recwarn.clear() +diff --git a/lib/matplotlib/tests/test_dates.py b/lib/matplotlib/tests/test_dates.py +index 9f69d2ea7..437482f5f 100644 +--- a/lib/matplotlib/tests/test_dates.py ++++ b/lib/matplotlib/tests/test_dates.py +@@ -96,7 +96,10 @@ def test_too_many_date_ticks(): + tf = datetime.datetime(2000, 1, 20) + fig = plt.figure() + ax = fig.add_subplot(1, 1, 1) +- ax.set_xlim((t0, tf), auto=True) ++ with pytest.warns(UserWarning) as rec: ++ ax.set_xlim((t0, tf), auto=True) ++ assert len(rec) == 1 ++ assert 'Attempting to set identical left==right' in str(rec[0].message) + ax.plot([], []) + ax.xaxis.set_major_locator(mdates.DayLocator()) + with pytest.raises(RuntimeError): +diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py +index 68a22894e..6240dd219 100644 +--- a/lib/matplotlib/tests/test_image.py ++++ b/lib/matplotlib/tests/test_image.py +@@ -603,7 +603,8 @@ def test_load_from_url(): + + @image_comparison(baseline_images=['log_scale_image'], + remove_text=True) +-def test_log_scale_image(): ++# The recwarn fixture captures a warning in image_comparison. ++def test_log_scale_image(recwarn): + Z = np.zeros((10, 10)) + Z[::2] = 1 + +@@ -615,7 +616,6 @@ def test_log_scale_image(): + ax.set_yscale('log') + + +- + @image_comparison(baseline_images=['rotate_image'], + remove_text=True) + def test_rotate_image(): +-- +2.13.5 + diff --git a/0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch b/0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch new file mode 100644 index 0000000..e31393b --- /dev/null +++ b/0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch @@ -0,0 +1,28 @@ +From ee4253242cbaf972443ee49c59f056d8957f4f4f Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Fri, 6 Oct 2017 20:53:16 -0400 +Subject: [PATCH 3/8] TST: Don't require LaTeX or Inkscape for nose tests. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/tests/test_compare_images.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/lib/matplotlib/tests/test_compare_images.py b/lib/matplotlib/tests/test_compare_images.py +index 488fae823..f5bb9dda8 100644 +--- a/lib/matplotlib/tests/test_compare_images.py ++++ b/lib/matplotlib/tests/test_compare_images.py +@@ -203,6 +203,10 @@ def test_nose_image_comparison(func, kwargs, errors, failures, dots, + assert failures[self.failure_count][1] in str(err[1]) + self.failure_count += 1 + ++ # Make sure that multiple extensions work, but don't require LaTeX or ++ # Inkscape to do so. ++ kwargs.setdefault('extensions', ['png', 'png', 'png']) ++ + func = image_comparison(**kwargs)(func) + loader = nose.loader.TestLoader() + suite = loader.loadTestsFromGenerator( +-- +2.13.5 + diff --git a/0004-Fix-AxesImage.get_cursor_data-on-arm.patch b/0004-Fix-AxesImage.get_cursor_data-on-arm.patch new file mode 100644 index 0000000..7e5751f --- /dev/null +++ b/0004-Fix-AxesImage.get_cursor_data-on-arm.patch @@ -0,0 +1,34 @@ +From a95786dc8f982c8f7d212badad883754fe448c98 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Sat, 7 Oct 2017 00:28:59 -0400 +Subject: [PATCH 4/8] Fix AxesImage.get_cursor_data on arm. + +For some reason, NaN gets converted to 0 as an integer instead of +INT_MIN like on x86. + +Fixes #6538. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/image.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py +index ea2331cb4..52decc3ec 100644 +--- a/lib/matplotlib/image.py ++++ b/lib/matplotlib/image.py +@@ -822,7 +822,10 @@ class AxesImage(_ImageBase): + array_extent = Bbox([[0, 0], arr.shape[:2]]) + trans = BboxTransform(boxin=data_extent, boxout=array_extent) + y, x = event.ydata, event.xdata +- i, j = trans.transform_point([y, x]).astype(int) ++ point = trans.transform_point([y, x]) ++ if any(np.isnan(point)): ++ return None ++ i, j = point.astype(int) + # Clip the coordinates at array bounds + if not (0 <= i < arr.shape[0]) or not (0 <= j < arr.shape[1]): + return None +-- +2.13.5 + diff --git a/0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch b/0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch new file mode 100644 index 0000000..20b09aa --- /dev/null +++ b/0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch @@ -0,0 +1,37 @@ +From aaab55ffee458dc867f3f51e2a9908c6885b7dec Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Sat, 7 Oct 2017 05:40:35 -0400 +Subject: [PATCH 5/8] TST: Use fuzzy comparison in test_psd_csd_equal. + +Fixes #7158. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/tests/test_mlab.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/matplotlib/tests/test_mlab.py b/lib/matplotlib/tests/test_mlab.py +index 15047bdeb..ef36eaf0b 100644 +--- a/lib/matplotlib/tests/test_mlab.py ++++ b/lib/matplotlib/tests/test_mlab.py +@@ -7,7 +7,7 @@ import tempfile + import warnings + + from numpy.testing import (assert_allclose, assert_almost_equal, +- assert_array_equal) ++ assert_array_equal, assert_array_almost_equal_nulp) + import numpy.ma.testutils as matest + import numpy as np + import datetime as datetime +@@ -1985,7 +1985,7 @@ class TestSpectral(object): + noverlap=self.nover_density, + pad_to=self.pad_to_density, + sides=self.sides) +- assert_array_equal(Pxx, Pxy) ++ assert_array_almost_equal_nulp(Pxx, Pxy) + assert_array_equal(freqsxx, freqsxy) + + def test_specgram_auto_default_equal(self): +-- +2.13.5 + diff --git a/0006-Use-fuzzy-comparison-for-stroke-join-determination.patch b/0006-Use-fuzzy-comparison-for-stroke-join-determination.patch new file mode 100644 index 0000000..d765404 --- /dev/null +++ b/0006-Use-fuzzy-comparison-for-stroke-join-determination.patch @@ -0,0 +1,30 @@ +From 5b1c238764a6f594991459f2c269e41157edba2f Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Sun, 15 Oct 2017 17:16:11 -0400 +Subject: [PATCH 6/8] Use fuzzy comparison for stroke join determination. + +This sometimes produces something just slightly different from 0 +compared to x86(_64). + +Signed-off-by: Elliott Sales de Andrade +--- + extern/agg24-svn/include/agg_math_stroke.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/extern/agg24-svn/include/agg_math_stroke.h b/extern/agg24-svn/include/agg_math_stroke.h +index 4806dcd4b..4871d96ce 100644 +--- a/extern/agg24-svn/include/agg_math_stroke.h ++++ b/extern/agg24-svn/include/agg_math_stroke.h +@@ -391,7 +391,8 @@ namespace agg + vc.remove_all(); + + double cp = cross_product(v0.x, v0.y, v1.x, v1.y, v2.x, v2.y); +- if(cp != 0 && (cp > 0) == (m_width > 0)) ++ if ((cp > agg::vertex_dist_epsilon && m_width > 0) || ++ (cp < -agg::vertex_dist_epsilon && m_width < 0)) + { + // Inner join + //--------------- +-- +2.13.5 + diff --git a/20_matplotlibrc_path_search_fix.patch b/0007-matplotlibrc-path-search-fix.patch similarity index 60% rename from 20_matplotlibrc_path_search_fix.patch rename to 0007-matplotlibrc-path-search-fix.patch index d449500..7876c37 100644 --- a/20_matplotlibrc_path_search_fix.patch +++ b/0007-matplotlibrc-path-search-fix.patch @@ -1,5 +1,17 @@ ---- 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 +From 400b97c30de5aa45e48a26c552dc310a3c1cf758 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Wed, 27 Sep 2017 19:35:59 -0400 +Subject: [PATCH 7/8] matplotlibrc path search fix + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/__init__.py | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py +index 00488a134..b989bc380 100644 +--- a/lib/matplotlib/__init__.py ++++ b/lib/matplotlib/__init__.py @@ -635,9 +635,12 @@ def _get_data_path(): _file = _decode_filesystem_path(__file__) @@ -22,3 +34,6 @@ for fname in gen_candidates(): if os.path.isfile(fname): +-- +2.13.5 + diff --git a/0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch b/0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch new file mode 100644 index 0000000..a735833 --- /dev/null +++ b/0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch @@ -0,0 +1,128 @@ +From ce6e4fd43193698df2168fa946be479e5f8b96ff Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Sun, 15 Oct 2017 17:35:47 -0400 +Subject: [PATCH 8/8] TST: Increase tolerances for FreeType 2.7.1. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/testing/decorators.py | 2 +- + lib/matplotlib/tests/test_axes.py | 4 ++-- + lib/matplotlib/tests/test_mathtext.py | 4 ++-- + lib/matplotlib/tests/test_patches.py | 2 +- + lib/matplotlib/tests/test_patheffects.py | 2 +- + lib/matplotlib/tests/test_streamplot.py | 2 +- + lib/mpl_toolkits/tests/test_mplot3d.py | 2 +- + 7 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py +index c5e069b31..ebd68cfab 100644 +--- a/lib/matplotlib/testing/decorators.py ++++ b/lib/matplotlib/testing/decorators.py +@@ -406,7 +406,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_axes.py b/lib/matplotlib/tests/test_axes.py +index 273b6f4ec..4cf9cfa29 100644 +--- a/lib/matplotlib/tests/test_axes.py ++++ b/lib/matplotlib/tests/test_axes.py +@@ -672,7 +672,7 @@ def test_polar_rlabel_position(): + + + @image_comparison(baseline_images=['polar_theta_wedge'], style='default', +- tol=0.01 if six.PY2 else 0) ++ tol=0.1) + def test_polar_theta_limits(): + r = np.arange(0, 3.0, 0.01) + theta = 2*np.pi*r +@@ -4641,7 +4641,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 = { +diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py +index 7ef77ce6a..b8c9c9e8b 100644 +--- a/lib/matplotlib/tests/test_mathtext.py ++++ b/lib/matplotlib/tests/test_mathtext.py +@@ -174,7 +174,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): + matplotlib.rcParams['mathtext.fontset'] = fontset + fig = plt.figure(figsize=(5.25, 0.75)) +@@ -188,7 +188,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test): + ['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): + 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 20ffa6b08..9f5088f0f 100644 +--- a/lib/matplotlib/tests/test_patches.py ++++ b/lib/matplotlib/tests/test_patches.py +@@ -269,7 +269,7 @@ def test_wedge_movement(): + + # 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, tol=0.1) + def test_wedge_range(): + ax = plt.axes() + +diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py +index 9b8a4379c..ebbcd6529 100644 +--- a/lib/matplotlib/tests/test_patheffects.py ++++ b/lib/matplotlib/tests/test_patheffects.py +@@ -125,7 +125,7 @@ def test_SimplePatchShadow_offset(): + assert pe._offset == (4, 5) + + +-@image_comparison(baseline_images=['collection'], tol=0.015) ++@image_comparison(baseline_images=['collection'], tol=0.1) + 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_streamplot.py b/lib/matplotlib/tests/test_streamplot.py +index ac997b2b2..cd7233e2e 100644 +--- a/lib/matplotlib/tests/test_streamplot.py ++++ b/lib/matplotlib/tests/test_streamplot.py +@@ -36,7 +36,7 @@ def test_startpoints(): + + + @image_comparison(baseline_images=['streamplot_colormap'], +- tol=0.002) ++ tol=0.1) + 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/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py +index c157433c7..c13f3be2f 100644 +--- a/lib/mpl_toolkits/tests/test_mplot3d.py ++++ b/lib/mpl_toolkits/tests/test_mplot3d.py +@@ -658,7 +658,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.13.5 + diff --git a/python-matplotlib-disable-failing-tests-arm.patch b/python-matplotlib-disable-failing-tests-arm.patch deleted file mode 100644 index 69f1027..0000000 --- a/python-matplotlib-disable-failing-tests-arm.patch +++ /dev/null @@ -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 -@@ -200,7 +200,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 -@@ -238,14 +239,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'], style='mpl20') diff --git a/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch b/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch deleted file mode 100644 index 3f5fc38..0000000 --- a/python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py.new 2017-01-07 21:28:07.736224906 -0800 -@@ -1529,7 +1529,7 @@ def test_contour_colorbar(): - cbar.add_lines(cs2, erase=False) - - --@image_comparison(baseline_images=['hist2d', 'hist2d']) -+@image_comparison(baseline_images=['hist2d', 'hist2d'], tol=10.677) - def test_hist2d(): - np.random.seed(0) - # make it not symmetric in case we switch x and y axis ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mlab.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mlab.py.new 2017-01-07 21:30:47.502916717 -0800 -@@ -1153,8 +1153,6 @@ class TestDetrend(object): - 'fstims,len_x,NFFT_density,nover_density,pad_to_density,pad_to_spectrum', - [ - ([], None, -1, -1, -1, -1), -- ([4], None, -1, -1, -1, -1), -- ([4, 5, 10], None, -1, -1, -1, -1), - ([], None, None, -1, -1, None), - ([], None, -1, -1, None, None), - ([], None, None, -1, None, None), -@@ -1166,8 +1164,6 @@ class TestDetrend(object): - ], - ids=[ - 'nosig', -- 'Fs4', -- 'FsAll', - 'nosig_noNFFT', - 'nosig_nopad_to', - 'nosig_noNFFT_no_pad_to', ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_quiver.py.new 2017-01-07 21:29:53.441682625 -0800 -@@ -130,7 +130,7 @@ def test_quiver_key_pivot(): - ax.quiverkey(q, 0, 0.5, 1, 'W', labelpos='W') - - --@image_comparison(baseline_images=['barbs_test_image'], -+@image_comparison(baseline_images=['barbs_test_image'], tol=0.8, - extensions=['png'], remove_text=True) - def test_barbs(): - x = np.linspace(-5, 5, 5) ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py.new 2017-01-07 21:21:29.478503151 -0800 -@@ -75,7 +75,7 @@ def test_external_transform_api(): - - - @image_comparison(baseline_images=['pre_transform_data'], -- tol=0.08) -+ tol=0.9) - 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/python-matplotlib-increase-tests-tolerance-i686.patch b/python-matplotlib-increase-tests-tolerance-i686.patch deleted file mode 100644 index 4622676..0000000 --- a/python-matplotlib-increase-tests-tolerance-i686.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_axes.py.new 2017-01-07 21:35:06.874039829 -0800 -@@ -481,7 +481,7 @@ def test_single_point(): - plt.plot('b', 'b', 'o', data=data) - - --@image_comparison(baseline_images=['single_date']) -+@image_comparison(baseline_images=['single_date'], tol=1.97) - def test_single_date(): - time1 = [721964.0] - data1 = [-65.54] -@@ -5057,7 +5057,7 @@ def test_date_timezone_y(): - - - @image_comparison(baseline_images=['date_timezone_x_and_y'], -- extensions=['png']) -+ extensions=['png'], tol=3.042) - def test_date_timezone_x_and_y(): - # Tests issue 5575 - time_index = [pytz.timezone('UTC').localize(datetime.datetime( ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_collections.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_collections.py.new 2017-01-07 21:35:52.016235301 -0800 -@@ -467,7 +467,7 @@ def test_EllipseCollection(): - ax.autoscale_view() - - --@image_comparison(baseline_images=['polycollection_close'], -+@image_comparison(baseline_images=['polycollection_close'], tol=0.446, - extensions=['png'], remove_text=True) - def test_polycollection_close(): - from mpl_toolkits.mplot3d import Axes3D ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_contour.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_contour.py.new 2017-01-07 21:36:29.283396673 -0800 -@@ -234,7 +234,7 @@ def test_contour_datetime_axis(): - label.set_rotation(30) - - --@image_comparison(baseline_images=['contour_test_label_transforms'], -+@image_comparison(baseline_images=['contour_test_label_transforms'], tol=0.731, - extensions=['png'], remove_text=True) - def test_labels(): - # Adapted from pylab_examples example code: contour_demo.py ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_transforms.py.new 2017-01-07 21:21:29.478503151 -0800 -@@ -75,7 +75,7 @@ def test_external_transform_api(): - - - @image_comparison(baseline_images=['pre_transform_data'], -- tol=0.08) -+ tol=0.15) - 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 ---- matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/mpl_toolkits/tests/test_mplot3d.py.new 2017-01-07 21:37:04.144547626 -0800 -@@ -198,7 +198,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.081) - def test_trisurf3d(): - n_angles = 36 - n_radii = 8 - diff --git a/python-matplotlib-increase-tests-tolerance.patch b/python-matplotlib-increase-tests-tolerance.patch deleted file mode 100644 index def952f..0000000 --- a/python-matplotlib-increase-tests-tolerance.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- matplotlib-2.0.0rc2/lib/matplotlib/testing/decorators.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/testing/decorators.py.new 2017-01-07 21:19:51.078081193 -0800 -@@ -406,7 +406,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.306, - freetype_version=None, remove_text=False, - savefig_kwarg=None, - # Default of mpl_test_settings fixture and cleanup too. ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_mathtext.py.new 2017-01-07 22:02:42.396426402 -0800 -@@ -174,7 +174,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.310) - def test_mathtext_rendering(baseline_images, fontset, index, test): - matplotlib.rcParams['mathtext.fontset'] = fontset - fig = plt.figure(figsize=(5.25, 0.75)) -@@ -188,7 +188,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test): - ['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.310) - def test_mathfont_rendering(baseline_images, fontset, index, test): - matplotlib.rcParams['mathtext.fontset'] = fontset - fig = plt.figure(figsize=(5.25, 0.75)) ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_patheffects.py.new 2017-01-07 21:21:08.014411109 -0800 -@@ -125,7 +125,7 @@ def test_SimplePatchShadow_offset(): - assert pe._offset == (4, 5) - - --@image_comparison(baseline_images=['collection'], tol=0.015) -+@image_comparison(baseline_images=['collection'], tol=0.083) - def test_collection(): - x, y = np.meshgrid(np.linspace(0, 10, 150), np.linspace(-5, 5, 100)) - data = np.sin(x) + np.cos(y) ---- matplotlib-2.0.0rc2/lib/matplotlib/tests/test_streamplot.py 2016-12-18 11:40:53.000000000 -0800 -+++ matplotlib-2.0.0rc2/lib/matplotlib/tests/test_streamplot.py.new 2017-01-07 21:20:42.180300328 -0800 -@@ -36,7 +36,7 @@ def test_startpoints(): - - - @image_comparison(baseline_images=['streamplot_colormap'], -- tol=0.002) -+ tol=0.009) - 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/python-matplotlib-qhull.patch b/python-matplotlib-qhull.patch deleted file mode 100644 index 1e266c3..0000000 --- a/python-matplotlib-qhull.patch +++ /dev/null @@ -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 - #include - - diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 2dc1d64..ee1f8fd 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -64,16 +64,17 @@ URL: http://matplotlib.org Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}.tar.gz#/matplotlib-%{version}%{?rctag}.tar.gz Source1: setup.cfg -Patch2: 20_matplotlibrc_path_search_fix.patch -# https://github.com/matplotlib/matplotlib/issues/6538 -Patch8: python-matplotlib-disable-failing-tests-arm.patch -# https://github.com/matplotlib/matplotlib/issues/7134 -# https://github.com/matplotlib/matplotlib/issues/7158 -# https://github.com/matplotlib/matplotlib/issues/7159 -# https://github.com/matplotlib/matplotlib/issues/7797 -Patch10: python-matplotlib-increase-tests-tolerance.patch -Patch11: python-matplotlib-increase-tests-tolerance-aarch64ppc64.patch -Patch13: python-matplotlib-increase-tests-tolerance-i686.patch +# https://github.com/matplotlib/matplotlib/pull/9304 +Patch0001: 0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch +Patch0002: 0002-TST-Capture-all-internal-warnings.patch +Patch0003: 0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch +Patch0004: 0004-Fix-AxesImage.get_cursor_data-on-arm.patch +Patch0005: 0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch +Patch0006: 0006-Use-fuzzy-comparison-for-stroke-join-determination.patch + +# Fedora-specific patches. +Patch1001: 0007-matplotlibrc-path-search-fix.patch +Patch1002: 0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -102,7 +103,9 @@ BuildRequires: python-setuptools BuildRequires: python-six BuildRequires: python-subprocess32 BuildRequires: python2-devel +%if %{fedora} > 26 BuildRequires: python2-backports +%endif BuildRequires: python2-backports-functools_lru_cache BuildRequires: python2-pillow BuildRequires: pytz @@ -383,7 +386,7 @@ Requires: python3-tkinter %endif %prep -%setup -q -n matplotlib-%{version}%{?rctag} +%autosetup -n matplotlib-%{version}%{?rctag} -p1 rm -r extern/libqhull # Copy setup.cfg to the builddir @@ -402,18 +405,6 @@ fi sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %endif -%patch2 -p1 -%ifarch armv7hl aarch64 -%patch8 -p1 -b .tests-arm -%endif - -%patch10 -p1 -b .tests -%ifarch aarch64 %{power64} s390 s390x -%patch11 -p1 -b .tests-aarch64ppc64 -%endif -%ifarch i686 -%patch13 -p1 -b .tests-i686 -%endif %build export http_proxy=http://127.0.0.1/ @@ -503,9 +494,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %files -n python2-matplotlib %license LICENSE/ -%doc CONTRIBUTING.md -%doc CHANGELOG -%doc README.rst +%doc README.rst CONTRIBUTING.md %{python2_sitearch}/*egg-info %{python2_sitearch}/matplotlib-*-nspkg.pth %{python2_sitearch}/matplotlib/ @@ -564,9 +553,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %if %{with_python3} %files -n python3-matplotlib %license LICENSE/ -%doc CONTRIBUTING.md -%doc CHANGELOG -%doc README.rst +%doc README.rst CONTRIBUTING.md %{python3_sitearch}/*egg-info %{python3_sitearch}/matplotlib-*-nspkg.pth %{python3_sitearch}/matplotlib/ From 3f6380df613d15a4337025b87e8e3eb54bab5127 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 15 Oct 2017 18:16:56 -0400 Subject: [PATCH 179/240] Increase some tolerances for 32-bit systems. --- ...xext-if-unavailable-instead-of-error.patch | 2 +- 0002-TST-Capture-all-internal-warnings.patch | 2 +- ...ire-LaTeX-or-Inkscape-for-nose-tests.patch | 2 +- ...Fix-AxesImage.get_cursor_data-on-arm.patch | 2 +- ...zzy-comparison-in-test_psd_csd_equal.patch | 2 +- ...arison-for-stroke-join-determination.patch | 2 +- 0007-matplotlibrc-path-search-fix.patch | 2 +- ...crease-tolerances-for-FreeType-2.7.1.patch | 2 +- ...e-some-tolerances-for-32-bit-systems.patch | 388 ++++++++++++++++++ python-matplotlib.spec | 15 +- 10 files changed, 410 insertions(+), 9 deletions(-) create mode 100644 0009-TST-Increase-some-tolerances-for-32-bit-systems.patch diff --git a/0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch b/0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch index eda7d8d..fc5e4a1 100644 --- a/0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch +++ b/0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch @@ -1,7 +1,7 @@ From 0420e360523e3452467bfc7d9bb19c3593cde2e7 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 5 Oct 2017 21:26:53 -0400 -Subject: [PATCH 1/8] TST: Skip sphinxext if unavailable instead of error. +Subject: [PATCH 1/9] TST: Skip sphinxext if unavailable instead of error. Signed-off-by: Elliott Sales de Andrade --- diff --git a/0002-TST-Capture-all-internal-warnings.patch b/0002-TST-Capture-all-internal-warnings.patch index 499cd78..4cbfd34 100644 --- a/0002-TST-Capture-all-internal-warnings.patch +++ b/0002-TST-Capture-all-internal-warnings.patch @@ -1,7 +1,7 @@ From 279f95dae9dcd74d51c5913254889712697d1d8a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 6 Oct 2017 20:06:09 -0400 -Subject: [PATCH 2/8] TST: Capture all internal warnings. +Subject: [PATCH 2/9] TST: Capture all internal warnings. These are either deprecations, or checks for old, but probably incorrect, behaviour. diff --git a/0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch b/0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch index e31393b..041284e 100644 --- a/0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch +++ b/0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch @@ -1,7 +1,7 @@ From ee4253242cbaf972443ee49c59f056d8957f4f4f Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 6 Oct 2017 20:53:16 -0400 -Subject: [PATCH 3/8] TST: Don't require LaTeX or Inkscape for nose tests. +Subject: [PATCH 3/9] TST: Don't require LaTeX or Inkscape for nose tests. Signed-off-by: Elliott Sales de Andrade --- diff --git a/0004-Fix-AxesImage.get_cursor_data-on-arm.patch b/0004-Fix-AxesImage.get_cursor_data-on-arm.patch index 7e5751f..0feb2ca 100644 --- a/0004-Fix-AxesImage.get_cursor_data-on-arm.patch +++ b/0004-Fix-AxesImage.get_cursor_data-on-arm.patch @@ -1,7 +1,7 @@ From a95786dc8f982c8f7d212badad883754fe448c98 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 7 Oct 2017 00:28:59 -0400 -Subject: [PATCH 4/8] Fix AxesImage.get_cursor_data on arm. +Subject: [PATCH 4/9] Fix AxesImage.get_cursor_data on arm. For some reason, NaN gets converted to 0 as an integer instead of INT_MIN like on x86. diff --git a/0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch b/0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch index 20b09aa..2a7edd5 100644 --- a/0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch +++ b/0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch @@ -1,7 +1,7 @@ From aaab55ffee458dc867f3f51e2a9908c6885b7dec Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 7 Oct 2017 05:40:35 -0400 -Subject: [PATCH 5/8] TST: Use fuzzy comparison in test_psd_csd_equal. +Subject: [PATCH 5/9] TST: Use fuzzy comparison in test_psd_csd_equal. Fixes #7158. diff --git a/0006-Use-fuzzy-comparison-for-stroke-join-determination.patch b/0006-Use-fuzzy-comparison-for-stroke-join-determination.patch index d765404..a0419ea 100644 --- a/0006-Use-fuzzy-comparison-for-stroke-join-determination.patch +++ b/0006-Use-fuzzy-comparison-for-stroke-join-determination.patch @@ -1,7 +1,7 @@ From 5b1c238764a6f594991459f2c269e41157edba2f Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 15 Oct 2017 17:16:11 -0400 -Subject: [PATCH 6/8] Use fuzzy comparison for stroke join determination. +Subject: [PATCH 6/9] Use fuzzy comparison for stroke join determination. This sometimes produces something just slightly different from 0 compared to x86(_64). diff --git a/0007-matplotlibrc-path-search-fix.patch b/0007-matplotlibrc-path-search-fix.patch index 7876c37..588e07d 100644 --- a/0007-matplotlibrc-path-search-fix.patch +++ b/0007-matplotlibrc-path-search-fix.patch @@ -1,7 +1,7 @@ From 400b97c30de5aa45e48a26c552dc310a3c1cf758 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 -Subject: [PATCH 7/8] matplotlibrc path search fix +Subject: [PATCH 7/9] matplotlibrc path search fix Signed-off-by: Elliott Sales de Andrade --- diff --git a/0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch b/0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch index a735833..dd1b5c6 100644 --- a/0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch +++ b/0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch @@ -1,7 +1,7 @@ From ce6e4fd43193698df2168fa946be479e5f8b96ff Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 15 Oct 2017 17:35:47 -0400 -Subject: [PATCH 8/8] TST: Increase tolerances for FreeType 2.7.1. +Subject: [PATCH 8/9] TST: Increase tolerances for FreeType 2.7.1. Signed-off-by: Elliott Sales de Andrade --- diff --git a/0009-TST-Increase-some-tolerances-for-32-bit-systems.patch b/0009-TST-Increase-some-tolerances-for-32-bit-systems.patch new file mode 100644 index 0000000..5393acf --- /dev/null +++ b/0009-TST-Increase-some-tolerances-for-32-bit-systems.patch @@ -0,0 +1,388 @@ +From 7adef54248198dfff9cd74178b56a383d8ba40f8 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Sun, 15 Oct 2017 21:11:26 -0400 +Subject: [PATCH 9/9] TST: Increase some tolerances for 32-bit systems. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/tests/test_artist.py | 3 ++- + lib/matplotlib/tests/test_axes.py | 42 ++++++++++++++++---------------- + lib/matplotlib/tests/test_collections.py | 2 +- + lib/matplotlib/tests/test_colorbar.py | 11 +++++---- + lib/matplotlib/tests/test_contour.py | 6 ++--- + lib/matplotlib/tests/test_image.py | 2 +- + lib/matplotlib/tests/test_pickle.py | 2 +- + lib/matplotlib/tests/test_quiver.py | 2 +- + lib/matplotlib/tests/test_transforms.py | 2 +- + lib/mpl_toolkits/tests/test_mplot3d.py | 2 +- + 10 files changed, 38 insertions(+), 36 deletions(-) + +diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py +index 71b87e5af..151e58387 100644 +--- a/lib/matplotlib/tests/test_artist.py ++++ b/lib/matplotlib/tests/test_artist.py +@@ -95,7 +95,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 4cf9cfa29..1cf0a00f2 100644 +--- a/lib/matplotlib/tests/test_axes.py ++++ b/lib/matplotlib/tests/test_axes.py +@@ -483,7 +483,7 @@ def test_single_point(): + plt.plot('b', 'b', 'o', data=data) + + +-@image_comparison(baseline_images=['single_date']) ++@image_comparison(baseline_images=['single_date'], tol=1.97) + def test_single_date(): + time1 = [721964.0] + data1 = [-65.54] +@@ -969,7 +969,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]) +@@ -1083,7 +1083,7 @@ def test_pcolormesh(): + + + @image_comparison(baseline_images=['pcolormesh_datetime_axis'], +- extensions=['png'], remove_text=False) ++ extensions=['png'], remove_text=False, tol=0.19) + def test_pcolormesh_datetime_axis(): + fig = plt.figure() + fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) +@@ -1109,7 +1109,7 @@ def test_pcolormesh_datetime_axis(): + + + @image_comparison(baseline_images=['pcolor_datetime_axis'], +- extensions=['png'], remove_text=False) ++ extensions=['png'], remove_text=False, tol=0.19) + def test_pcolor_datetime_axis(): + fig = plt.figure() + fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) +@@ -1159,7 +1159,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 +@@ -2396,7 +2396,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) +@@ -2414,7 +2414,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)) +@@ -2425,7 +2425,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)) +@@ -2436,7 +2436,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)) +@@ -2447,7 +2447,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)) +@@ -2458,7 +2458,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)) +@@ -2469,7 +2469,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)) +@@ -2480,7 +2480,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)) +@@ -2491,7 +2491,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)) +@@ -2502,7 +2502,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)) +@@ -2513,7 +2513,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)) +@@ -2524,7 +2524,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)) +@@ -2535,7 +2535,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)) +@@ -2546,7 +2546,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)) +@@ -3872,7 +3872,7 @@ def test_psd_noise(): + + + @image_comparison(baseline_images=['csd_freqs'], remove_text=True, +- extensions=['png']) ++ extensions=['png'], tol=0.21) + def test_csd_freqs(): + '''test axes.csd with sinusoidal stimuli''' + n = 10000 +@@ -5103,7 +5103,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 + time_index = [pytz.timezone('UTC').localize(datetime.datetime( +diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py +index c27aeb11a..9d39a3e91 100644 +--- a/lib/matplotlib/tests/test_collections.py ++++ b/lib/matplotlib/tests/test_collections.py +@@ -468,7 +468,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 b75ba7e9f..cfbb16444 100644 +--- a/lib/matplotlib/tests/test_colorbar.py ++++ b/lib/matplotlib/tests/test_colorbar.py +@@ -96,7 +96,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. +@@ -106,7 +106,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. +@@ -120,7 +120,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] +@@ -174,7 +174,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) +@@ -234,7 +234,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_contour.py b/lib/matplotlib/tests/test_contour.py +index 842bb908d..b50d71075 100644 +--- a/lib/matplotlib/tests/test_contour.py ++++ b/lib/matplotlib/tests/test_contour.py +@@ -209,7 +209,7 @@ def test_given_colors_levels_and_extends(): + + + @image_comparison(baseline_images=['contour_datetime_axis'], +- extensions=['png'], remove_text=False) ++ extensions=['png'], remove_text=False, tol=0.18) + def test_contour_datetime_axis(): + fig = plt.figure() + fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) +@@ -235,7 +235,7 @@ def test_contour_datetime_axis(): + + + @image_comparison(baseline_images=['contour_test_label_transforms'], +- extensions=['png'], remove_text=True) ++ extensions=['png'], remove_text=True, tol=0.74) + def test_labels(): + # Adapted from pylab_examples example code: contour_demo.py + # see issues #2475, #2843, and #2818 for explanation +@@ -264,7 +264,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_image.py b/lib/matplotlib/tests/test_image.py +index 6240dd219..a4b51c52d 100644 +--- a/lib/matplotlib/tests/test_image.py ++++ b/lib/matplotlib/tests/test_image.py +@@ -748,7 +748,7 @@ def test_imshow_endianess(): + + + @image_comparison(baseline_images=['imshow_masked_interpolation'], +- remove_text=True, style='mpl20') ++ remove_text=True, style='mpl20', tol=0.25) + def test_imshow_masked_interpolation(): + + cm = copy(plt.get_cmap('viridis')) +diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py +index bd6ac6862..512f07948 100644 +--- a/lib/matplotlib/tests/test_pickle.py ++++ b/lib/matplotlib/tests/test_pickle.py +@@ -43,7 +43,7 @@ def test_simple(): + + @image_comparison(baseline_images=['multi_pickle'], + extensions=['png'], remove_text=True, +- style='mpl20') ++ style='mpl20', tol=0.11) + def test_complete(): + fig = plt.figure('Figure with a label?', figsize=(10, 6)) + +diff --git a/lib/matplotlib/tests/test_quiver.py b/lib/matplotlib/tests/test_quiver.py +index a0e1e674f..ede6bfc64 100644 +--- a/lib/matplotlib/tests/test_quiver.py ++++ b/lib/matplotlib/tests/test_quiver.py +@@ -131,7 +131,7 @@ def test_quiver_key_pivot(): + + + @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_transforms.py b/lib/matplotlib/tests/test_transforms.py +index 8f19a50f3..2fbe41187 100644 +--- a/lib/matplotlib/tests/test_transforms.py ++++ b/lib/matplotlib/tests/test_transforms.py +@@ -75,7 +75,7 @@ def test_external_transform_api(): + + + @image_comparison(baseline_images=['pre_transform_data'], +- tol=0.08) ++ tol=0.15) + 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/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py +index c13f3be2f..81a28aadb 100644 +--- a/lib/mpl_toolkits/tests/test_mplot3d.py ++++ b/lib/mpl_toolkits/tests/test_mplot3d.py +@@ -198,7 +198,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 +-- +2.13.5 + diff --git a/python-matplotlib.spec b/python-matplotlib.spec index ee1f8fd..c2cd13a 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -75,6 +75,7 @@ Patch0006: 0006-Use-fuzzy-comparison-for-stroke-join-determination.patch # Fedora-specific patches. Patch1001: 0007-matplotlibrc-path-search-fix.patch Patch1002: 0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch +Patch1686: 0009-TST-Increase-some-tolerances-for-32-bit-systems.patch BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -386,7 +387,19 @@ Requires: python3-tkinter %endif %prep -%autosetup -n matplotlib-%{version}%{?rctag} -p1 +%autosetup -n matplotlib-%{version}%{?rctag} -N +%patch0001 -p1 +%patch0002 -p1 +%patch0003 -p1 +%patch0004 -p1 +%patch0005 -p1 +%patch0006 -p1 +%patch1001 -p1 +%patch1002 -p1 +%ifarch i686 +# Switch to full autosetup when 32-bit systems are dropped. +%patch1686 -p1 +%endif rm -r extern/libqhull # Copy setup.cfg to the builddir From 09769170a4bd8e4572e4410c858608ccd6ca15ef Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 16 Oct 2017 02:44:45 -0400 Subject: [PATCH 180/240] Add changelog for update. --- python-matplotlib.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c2cd13a..606fd26 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -70,6 +70,8 @@ Patch0002: 0002-TST-Capture-all-internal-warnings.patch Patch0003: 0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch Patch0004: 0004-Fix-AxesImage.get_cursor_data-on-arm.patch Patch0005: 0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch +# Depending on https://bugzilla.redhat.com/show_bug.cgi?id=1502499 +# this may or may not go upstream. Patch0006: 0006-Use-fuzzy-comparison-for-stroke-join-determination.patch # Fedora-specific patches. @@ -615,6 +617,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Mon Oct 16 2017 Elliott Sales de Andrade - 2.1.0-1 +- Update to latest release + * Thu Sep 28 2017 Elliott Sales de Andrade - 2.0.2-1 - Update to latest release From 2d712efe1efca62909fba369e96de4732dad36e3 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 10 Dec 2017 05:15:28 -0500 Subject: [PATCH 181/240] Update to latest version. --- .gitignore | 1 + ...xext-if-unavailable-instead-of-error.patch | 27 ---- ...arison-for-stroke-join-determination.patch | 6 +- 0002-TST-Capture-all-internal-warnings.patch | 142 ------------------ ...=> 0002-matplotlibrc-path-search-fix.patch | 8 +- ...ire-LaTeX-or-Inkscape-for-nose-tests.patch | 28 ---- ...crease-tolerances-for-FreeType-2.7.1.patch | 10 +- ...Fix-AxesImage.get_cursor_data-on-arm.patch | 34 ----- ...e-some-tolerances-for-32-bit-systems.patch | 62 ++++---- ...zzy-comparison-in-test_psd_csd_equal.patch | 37 ----- python-matplotlib.spec | 24 +-- sources | 2 +- 12 files changed, 53 insertions(+), 328 deletions(-) delete mode 100644 0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch rename 0006-Use-fuzzy-comparison-for-stroke-join-determination.patch => 0001-Use-fuzzy-comparison-for-stroke-join-determination.patch (88%) delete mode 100644 0002-TST-Capture-all-internal-warnings.patch rename 0007-matplotlibrc-path-search-fix.patch => 0002-matplotlibrc-path-search-fix.patch (89%) delete mode 100644 0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch rename 0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch => 0003-TST-Increase-tolerances-for-FreeType-2.7.1.patch (96%) delete mode 100644 0004-Fix-AxesImage.get_cursor_data-on-arm.patch rename 0009-TST-Increase-some-tolerances-for-32-bit-systems.patch => 0004-TST-Increase-some-tolerances-for-32-bit-systems.patch (89%) delete mode 100644 0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch diff --git a/.gitignore b/.gitignore index 16e590d..833972c 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch b/0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch deleted file mode 100644 index fc5e4a1..0000000 --- a/0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0420e360523e3452467bfc7d9bb19c3593cde2e7 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Thu, 5 Oct 2017 21:26:53 -0400 -Subject: [PATCH 1/9] TST: Skip sphinxext if unavailable instead of error. - -Signed-off-by: Elliott Sales de Andrade ---- - lib/matplotlib/sphinxext/tests/test_tinypages.py | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/lib/matplotlib/sphinxext/tests/test_tinypages.py b/lib/matplotlib/sphinxext/tests/test_tinypages.py -index 5141a4cdd..6ee3e9e07 100644 ---- a/lib/matplotlib/sphinxext/tests/test_tinypages.py -+++ b/lib/matplotlib/sphinxext/tests/test_tinypages.py -@@ -22,8 +22,7 @@ def setup_module(): - ret = call([sys.executable, '-msphinx', '--help'], - stdout=PIPE, stderr=PIPE) - if ret != 0: -- raise RuntimeError( -- "'{} -msphinx' does not return 0".format(sys.executable)) -+ pytest.skip("'{} -msphinx' does not return 0".format(sys.executable)) - - - @cbook.deprecated("2.1", alternative="filecmp.cmp") --- -2.13.5 - diff --git a/0006-Use-fuzzy-comparison-for-stroke-join-determination.patch b/0001-Use-fuzzy-comparison-for-stroke-join-determination.patch similarity index 88% rename from 0006-Use-fuzzy-comparison-for-stroke-join-determination.patch rename to 0001-Use-fuzzy-comparison-for-stroke-join-determination.patch index a0419ea..1bc68bc 100644 --- a/0006-Use-fuzzy-comparison-for-stroke-join-determination.patch +++ b/0001-Use-fuzzy-comparison-for-stroke-join-determination.patch @@ -1,7 +1,7 @@ -From 5b1c238764a6f594991459f2c269e41157edba2f Mon Sep 17 00:00:00 2001 +From 8dba6d00d8ead090f6161854f9e64d28ea18e663 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 15 Oct 2017 17:16:11 -0400 -Subject: [PATCH 6/9] Use fuzzy comparison for stroke join determination. +Subject: [PATCH 1/4] Use fuzzy comparison for stroke join determination. This sometimes produces something just slightly different from 0 compared to x86(_64). @@ -26,5 +26,5 @@ index 4806dcd4b..4871d96ce 100644 // Inner join //--------------- -- -2.13.5 +2.13.6 diff --git a/0002-TST-Capture-all-internal-warnings.patch b/0002-TST-Capture-all-internal-warnings.patch deleted file mode 100644 index 4cbfd34..0000000 --- a/0002-TST-Capture-all-internal-warnings.patch +++ /dev/null @@ -1,142 +0,0 @@ -From 279f95dae9dcd74d51c5913254889712697d1d8a Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Fri, 6 Oct 2017 20:06:09 -0400 -Subject: [PATCH 2/9] TST: Capture all internal warnings. - -These are either deprecations, or checks for old, but probably -incorrect, behaviour. - -Signed-off-by: Elliott Sales de Andrade ---- - lib/matplotlib/tests/test_axes.py | 10 ++++++++-- - lib/matplotlib/tests/test_cbook.py | 22 ++++++++++++---------- - lib/matplotlib/tests/test_colors.py | 10 +++++++++- - lib/matplotlib/tests/test_dates.py | 5 ++++- - lib/matplotlib/tests/test_image.py | 4 ++-- - 5 files changed, 35 insertions(+), 16 deletions(-) - -diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 0c22740a4..273b6f4ec 100644 ---- a/lib/matplotlib/tests/test_axes.py -+++ b/lib/matplotlib/tests/test_axes.py -@@ -1677,13 +1677,19 @@ def test_as_mpl_axes_api(): - ax_via_gca = plt.gca(projection=prj) - assert ax_via_gca is ax - # try getting the axes given a different polar projection -- ax_via_gca = plt.gca(projection=prj2) -+ with pytest.warns(UserWarning) as rec: -+ ax_via_gca = plt.gca(projection=prj2) -+ assert len(rec) == 1 -+ assert 'Requested projection is different' in str(rec[0].message) - assert ax_via_gca is not ax - assert ax.get_theta_offset() == 0, ax.get_theta_offset() - assert ax_via_gca.get_theta_offset() == np.pi, \ - ax_via_gca.get_theta_offset() - # try getting the axes given an == (not is) polar projection -- ax_via_gca = plt.gca(projection=prj3) -+ with pytest.warns(UserWarning): -+ ax_via_gca = plt.gca(projection=prj3) -+ assert len(rec) == 1 -+ assert 'Requested projection is different' in str(rec[0].message) - assert ax_via_gca is ax - plt.close() - -diff --git a/lib/matplotlib/tests/test_cbook.py b/lib/matplotlib/tests/test_cbook.py -index f254b173c..4ff2cc52a 100644 ---- a/lib/matplotlib/tests/test_cbook.py -+++ b/lib/matplotlib/tests/test_cbook.py -@@ -29,16 +29,18 @@ def test_is_hashable(): - - def test_restrict_dict(): - d = {'foo': 'bar', 1: 2} -- d1 = cbook.restrict_dict(d, ['foo', 1]) -- assert d1 == d -- d2 = cbook.restrict_dict(d, ['bar', 2]) -- assert d2 == {} -- d3 = cbook.restrict_dict(d, {'foo': 1}) -- assert d3 == {'foo': 'bar'} -- d4 = cbook.restrict_dict(d, {}) -- assert d4 == {} -- d5 = cbook.restrict_dict(d, {'foo', 2}) -- assert d5 == {'foo': 'bar'} -+ with pytest.warns(cbook.deprecation.MatplotlibDeprecationWarning) as rec: -+ d1 = cbook.restrict_dict(d, ['foo', 1]) -+ assert d1 == d -+ d2 = cbook.restrict_dict(d, ['bar', 2]) -+ assert d2 == {} -+ d3 = cbook.restrict_dict(d, {'foo': 1}) -+ assert d3 == {'foo': 'bar'} -+ d4 = cbook.restrict_dict(d, {}) -+ assert d4 == {} -+ d5 = cbook.restrict_dict(d, {'foo', 2}) -+ assert d5 == {'foo': 'bar'} -+ assert len(rec) == 5 - # check that d was not modified - assert d == {'foo': 'bar', 1: 2} - -diff --git a/lib/matplotlib/tests/test_colors.py b/lib/matplotlib/tests/test_colors.py -index 721813e62..82c73fe71 100644 ---- a/lib/matplotlib/tests/test_colors.py -+++ b/lib/matplotlib/tests/test_colors.py -@@ -690,7 +690,7 @@ def test_tableau_order(): - assert list(mcolors.TABLEAU_COLORS.values()) == dflt_cycle - - --def test_ndarray_subclass_norm(): -+def test_ndarray_subclass_norm(recwarn): - # Emulate an ndarray subclass that handles units - # which objects when adding or subtracting with other - # arrays. See #6622 and #8696 -@@ -707,3 +707,11 @@ def test_ndarray_subclass_norm(): - mcolors.SymLogNorm(3, vmax=5, linscale=1), - mcolors.PowerNorm(1)]: - assert_array_equal(norm(data.view(MyArray)), norm(data)) -+ if isinstance(norm, mcolors.PowerNorm): -+ assert len(recwarn) == 1 -+ warn = recwarn.pop(UserWarning) -+ assert ('Power-law scaling on negative values is ill-defined' -+ in str(warn.message)) -+ else: -+ assert len(recwarn) == 0 -+ recwarn.clear() -diff --git a/lib/matplotlib/tests/test_dates.py b/lib/matplotlib/tests/test_dates.py -index 9f69d2ea7..437482f5f 100644 ---- a/lib/matplotlib/tests/test_dates.py -+++ b/lib/matplotlib/tests/test_dates.py -@@ -96,7 +96,10 @@ def test_too_many_date_ticks(): - tf = datetime.datetime(2000, 1, 20) - fig = plt.figure() - ax = fig.add_subplot(1, 1, 1) -- ax.set_xlim((t0, tf), auto=True) -+ with pytest.warns(UserWarning) as rec: -+ ax.set_xlim((t0, tf), auto=True) -+ assert len(rec) == 1 -+ assert 'Attempting to set identical left==right' in str(rec[0].message) - ax.plot([], []) - ax.xaxis.set_major_locator(mdates.DayLocator()) - with pytest.raises(RuntimeError): -diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py -index 68a22894e..6240dd219 100644 ---- a/lib/matplotlib/tests/test_image.py -+++ b/lib/matplotlib/tests/test_image.py -@@ -603,7 +603,8 @@ def test_load_from_url(): - - @image_comparison(baseline_images=['log_scale_image'], - remove_text=True) --def test_log_scale_image(): -+# The recwarn fixture captures a warning in image_comparison. -+def test_log_scale_image(recwarn): - Z = np.zeros((10, 10)) - Z[::2] = 1 - -@@ -615,7 +616,6 @@ def test_log_scale_image(): - ax.set_yscale('log') - - -- - @image_comparison(baseline_images=['rotate_image'], - remove_text=True) - def test_rotate_image(): --- -2.13.5 - diff --git a/0007-matplotlibrc-path-search-fix.patch b/0002-matplotlibrc-path-search-fix.patch similarity index 89% rename from 0007-matplotlibrc-path-search-fix.patch rename to 0002-matplotlibrc-path-search-fix.patch index 588e07d..2193a1b 100644 --- a/0007-matplotlibrc-path-search-fix.patch +++ b/0002-matplotlibrc-path-search-fix.patch @@ -1,7 +1,7 @@ -From 400b97c30de5aa45e48a26c552dc310a3c1cf758 Mon Sep 17 00:00:00 2001 +From 22121f236ebdc8f8539c2c0901073dce80f4edd8 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 -Subject: [PATCH 7/9] matplotlibrc path search fix +Subject: [PATCH 2/4] matplotlibrc path search fix Signed-off-by: Elliott Sales de Andrade --- @@ -9,7 +9,7 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index 00488a134..b989bc380 100644 +index 3ba486af1..b8caf27dc 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -635,9 +635,12 @@ def _get_data_path(): @@ -35,5 +35,5 @@ index 00488a134..b989bc380 100644 for fname in gen_candidates(): if os.path.isfile(fname): -- -2.13.5 +2.13.6 diff --git a/0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch b/0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch deleted file mode 100644 index 041284e..0000000 --- a/0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ee4253242cbaf972443ee49c59f056d8957f4f4f Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Fri, 6 Oct 2017 20:53:16 -0400 -Subject: [PATCH 3/9] TST: Don't require LaTeX or Inkscape for nose tests. - -Signed-off-by: Elliott Sales de Andrade ---- - lib/matplotlib/tests/test_compare_images.py | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/lib/matplotlib/tests/test_compare_images.py b/lib/matplotlib/tests/test_compare_images.py -index 488fae823..f5bb9dda8 100644 ---- a/lib/matplotlib/tests/test_compare_images.py -+++ b/lib/matplotlib/tests/test_compare_images.py -@@ -203,6 +203,10 @@ def test_nose_image_comparison(func, kwargs, errors, failures, dots, - assert failures[self.failure_count][1] in str(err[1]) - self.failure_count += 1 - -+ # Make sure that multiple extensions work, but don't require LaTeX or -+ # Inkscape to do so. -+ kwargs.setdefault('extensions', ['png', 'png', 'png']) -+ - func = image_comparison(**kwargs)(func) - loader = nose.loader.TestLoader() - suite = loader.loadTestsFromGenerator( --- -2.13.5 - diff --git a/0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch b/0003-TST-Increase-tolerances-for-FreeType-2.7.1.patch similarity index 96% rename from 0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch rename to 0003-TST-Increase-tolerances-for-FreeType-2.7.1.patch index dd1b5c6..ad9c914 100644 --- a/0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch +++ b/0003-TST-Increase-tolerances-for-FreeType-2.7.1.patch @@ -1,7 +1,7 @@ -From ce6e4fd43193698df2168fa946be479e5f8b96ff Mon Sep 17 00:00:00 2001 +From cfdc835923407810bd087f60332cdc8cdcb23f05 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 15 Oct 2017 17:35:47 -0400 -Subject: [PATCH 8/9] TST: Increase tolerances for FreeType 2.7.1. +Subject: [PATCH 3/4] TST: Increase tolerances for FreeType 2.7.1. Signed-off-by: Elliott Sales de Andrade --- @@ -28,7 +28,7 @@ index c5e069b31..ebd68cfab 100644 savefig_kwarg=None, # Default of mpl_test_settings fixture and cleanup too. diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 273b6f4ec..4cf9cfa29 100644 +index 33be78004..c73e55802 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -672,7 +672,7 @@ def test_polar_rlabel_position(): @@ -40,7 +40,7 @@ index 273b6f4ec..4cf9cfa29 100644 def test_polar_theta_limits(): r = np.arange(0, 3.0, 0.01) theta = 2*np.pi*r -@@ -4641,7 +4641,7 @@ def test_rc_spines(): +@@ -4679,7 +4679,7 @@ def test_rc_spines(): @image_comparison(baseline_images=['rc_grid'], extensions=['png'], @@ -124,5 +124,5 @@ index c157433c7..c13f3be2f 100644 def test_xyz(self): fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) -- -2.13.5 +2.13.6 diff --git a/0004-Fix-AxesImage.get_cursor_data-on-arm.patch b/0004-Fix-AxesImage.get_cursor_data-on-arm.patch deleted file mode 100644 index 0feb2ca..0000000 --- a/0004-Fix-AxesImage.get_cursor_data-on-arm.patch +++ /dev/null @@ -1,34 +0,0 @@ -From a95786dc8f982c8f7d212badad883754fe448c98 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Sat, 7 Oct 2017 00:28:59 -0400 -Subject: [PATCH 4/9] Fix AxesImage.get_cursor_data on arm. - -For some reason, NaN gets converted to 0 as an integer instead of -INT_MIN like on x86. - -Fixes #6538. - -Signed-off-by: Elliott Sales de Andrade ---- - lib/matplotlib/image.py | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py -index ea2331cb4..52decc3ec 100644 ---- a/lib/matplotlib/image.py -+++ b/lib/matplotlib/image.py -@@ -822,7 +822,10 @@ class AxesImage(_ImageBase): - array_extent = Bbox([[0, 0], arr.shape[:2]]) - trans = BboxTransform(boxin=data_extent, boxout=array_extent) - y, x = event.ydata, event.xdata -- i, j = trans.transform_point([y, x]).astype(int) -+ point = trans.transform_point([y, x]) -+ if any(np.isnan(point)): -+ return None -+ i, j = point.astype(int) - # Clip the coordinates at array bounds - if not (0 <= i < arr.shape[0]) or not (0 <= j < arr.shape[1]): - return None --- -2.13.5 - diff --git a/0009-TST-Increase-some-tolerances-for-32-bit-systems.patch b/0004-TST-Increase-some-tolerances-for-32-bit-systems.patch similarity index 89% rename from 0009-TST-Increase-some-tolerances-for-32-bit-systems.patch rename to 0004-TST-Increase-some-tolerances-for-32-bit-systems.patch index 5393acf..520122d 100644 --- a/0009-TST-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0004-TST-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,7 +1,7 @@ -From 7adef54248198dfff9cd74178b56a383d8ba40f8 Mon Sep 17 00:00:00 2001 +From 4fbf2473e97a259494117a408a5efa377fa5a947 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 15 Oct 2017 21:11:26 -0400 -Subject: [PATCH 9/9] TST: Increase some tolerances for 32-bit systems. +Subject: [PATCH 4/4] TST: Increase some tolerances for 32-bit systems. Signed-off-by: Elliott Sales de Andrade --- @@ -18,7 +18,7 @@ Signed-off-by: Elliott Sales de Andrade 10 files changed, 38 insertions(+), 36 deletions(-) diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py -index 71b87e5af..151e58387 100644 +index 786d50903..105714ef4 100644 --- a/lib/matplotlib/tests/test_artist.py +++ b/lib/matplotlib/tests/test_artist.py @@ -95,7 +95,8 @@ def test_collection_transform_of_none(): @@ -32,7 +32,7 @@ index 71b87e5af..151e58387 100644 exterior = mpath.Path.unit_rectangle().deepcopy() exterior.vertices *= 4 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 4cf9cfa29..1cf0a00f2 100644 +index c73e55802..90db6dfda 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -483,7 +483,7 @@ def test_single_point(): @@ -44,7 +44,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_single_date(): time1 = [721964.0] data1 = [-65.54] -@@ -969,7 +969,7 @@ def test_fill_between_interpolate(): +@@ -972,7 +972,7 @@ def test_fill_between_interpolate(): @image_comparison(baseline_images=['fill_between_interpolate_decreasing'], @@ -53,7 +53,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_fill_between_interpolate_decreasing(): p = np.array([724.3, 700, 655]) t = np.array([9.4, 7, 2.2]) -@@ -1083,7 +1083,7 @@ def test_pcolormesh(): +@@ -1086,7 +1086,7 @@ def test_pcolormesh(): @image_comparison(baseline_images=['pcolormesh_datetime_axis'], @@ -62,7 +62,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_pcolormesh_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1109,7 +1109,7 @@ def test_pcolormesh_datetime_axis(): +@@ -1112,7 +1112,7 @@ def test_pcolormesh_datetime_axis(): @image_comparison(baseline_images=['pcolor_datetime_axis'], @@ -71,7 +71,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_pcolor_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1159,7 +1159,7 @@ def test_canonical(): +@@ -1168,7 +1168,7 @@ def test_canonical(): @image_comparison(baseline_images=['arc_angles'], remove_text=True, @@ -80,7 +80,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_arc_angles(): from matplotlib import patches # Ellipse parameters -@@ -2396,7 +2396,7 @@ def test_boxplot_mod_artist_after_plotting(): +@@ -2434,7 +2434,7 @@ def test_boxplot_mod_artist_after_plotting(): @image_comparison(baseline_images=['violinplot_vert_baseline', 'violinplot_vert_baseline'], @@ -89,7 +89,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_vert_violinplot_baseline(): # First 9 digits of frac(sqrt(2)) np.random.seed(414213562) -@@ -2414,7 +2414,7 @@ def test_vert_violinplot_baseline(): +@@ -2452,7 +2452,7 @@ def test_vert_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_vert_showmeans'], @@ -98,7 +98,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_vert_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(3)) -@@ -2425,7 +2425,7 @@ def test_vert_violinplot_showmeans(): +@@ -2463,7 +2463,7 @@ def test_vert_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_vert_showextrema'], @@ -107,7 +107,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_vert_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(5)) -@@ -2436,7 +2436,7 @@ def test_vert_violinplot_showextrema(): +@@ -2474,7 +2474,7 @@ def test_vert_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_vert_showmedians'], @@ -116,7 +116,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_vert_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(7)) -@@ -2447,7 +2447,7 @@ def test_vert_violinplot_showmedians(): +@@ -2485,7 +2485,7 @@ def test_vert_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_vert_showall'], @@ -125,7 +125,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_vert_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(11)) -@@ -2458,7 +2458,7 @@ def test_vert_violinplot_showall(): +@@ -2496,7 +2496,7 @@ def test_vert_violinplot_showall(): @image_comparison(baseline_images=['violinplot_vert_custompoints_10'], @@ -134,7 +134,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_vert_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(13)) -@@ -2469,7 +2469,7 @@ def test_vert_violinplot_custompoints_10(): +@@ -2507,7 +2507,7 @@ def test_vert_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_vert_custompoints_200'], @@ -143,7 +143,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_vert_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(17)) -@@ -2480,7 +2480,7 @@ def test_vert_violinplot_custompoints_200(): +@@ -2518,7 +2518,7 @@ def test_vert_violinplot_custompoints_200(): @image_comparison(baseline_images=['violinplot_horiz_baseline'], @@ -152,7 +152,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_horiz_violinplot_baseline(): ax = plt.axes() # First 9 digits of frac(sqrt(19)) -@@ -2491,7 +2491,7 @@ def test_horiz_violinplot_baseline(): +@@ -2529,7 +2529,7 @@ def test_horiz_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_horiz_showmedians'], @@ -161,7 +161,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_horiz_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(23)) -@@ -2502,7 +2502,7 @@ def test_horiz_violinplot_showmedians(): +@@ -2540,7 +2540,7 @@ def test_horiz_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_horiz_showmeans'], @@ -170,7 +170,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_horiz_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(29)) -@@ -2513,7 +2513,7 @@ def test_horiz_violinplot_showmeans(): +@@ -2551,7 +2551,7 @@ def test_horiz_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_horiz_showextrema'], @@ -179,7 +179,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_horiz_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(31)) -@@ -2524,7 +2524,7 @@ def test_horiz_violinplot_showextrema(): +@@ -2562,7 +2562,7 @@ def test_horiz_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_horiz_showall'], @@ -188,7 +188,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_horiz_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(37)) -@@ -2535,7 +2535,7 @@ def test_horiz_violinplot_showall(): +@@ -2573,7 +2573,7 @@ def test_horiz_violinplot_showall(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_10'], @@ -197,7 +197,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_horiz_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(41)) -@@ -2546,7 +2546,7 @@ def test_horiz_violinplot_custompoints_10(): +@@ -2584,7 +2584,7 @@ def test_horiz_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_200'], @@ -206,7 +206,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_horiz_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(43)) -@@ -3872,7 +3872,7 @@ def test_psd_noise(): +@@ -3910,7 +3910,7 @@ def test_psd_noise(): @image_comparison(baseline_images=['csd_freqs'], remove_text=True, @@ -215,7 +215,7 @@ index 4cf9cfa29..1cf0a00f2 100644 def test_csd_freqs(): '''test axes.csd with sinusoidal stimuli''' n = 10000 -@@ -5103,7 +5103,7 @@ def test_date_timezone_y(): +@@ -5136,7 +5136,7 @@ def test_date_timezone_y(): @image_comparison(baseline_images=['date_timezone_x_and_y'], @@ -288,10 +288,10 @@ index b75ba7e9f..cfbb16444 100644 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_contour.py b/lib/matplotlib/tests/test_contour.py -index 842bb908d..b50d71075 100644 +index 16ac9e865..29c1b26f2 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py -@@ -209,7 +209,7 @@ def test_given_colors_levels_and_extends(): +@@ -228,7 +228,7 @@ def test_given_colors_levels_and_extends(): @image_comparison(baseline_images=['contour_datetime_axis'], @@ -300,7 +300,7 @@ index 842bb908d..b50d71075 100644 def test_contour_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -235,7 +235,7 @@ def test_contour_datetime_axis(): +@@ -254,7 +254,7 @@ def test_contour_datetime_axis(): @image_comparison(baseline_images=['contour_test_label_transforms'], @@ -309,7 +309,7 @@ index 842bb908d..b50d71075 100644 def test_labels(): # Adapted from pylab_examples example code: contour_demo.py # see issues #2475, #2843, and #2818 for explanation -@@ -264,7 +264,7 @@ def test_labels(): +@@ -283,7 +283,7 @@ def test_labels(): @image_comparison(baseline_images=['contour_corner_mask_False', 'contour_corner_mask_True'], @@ -319,10 +319,10 @@ index 842bb908d..b50d71075 100644 n = 60 mask_level = 0.95 diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py -index 6240dd219..a4b51c52d 100644 +index 0e423ab5f..8a46116fd 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py -@@ -748,7 +748,7 @@ def test_imshow_endianess(): +@@ -754,7 +754,7 @@ def test_imshow_endianess(): @image_comparison(baseline_images=['imshow_masked_interpolation'], @@ -384,5 +384,5 @@ index c13f3be2f..81a28aadb 100644 n_angles = 36 n_radii = 8 -- -2.13.5 +2.13.6 diff --git a/0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch b/0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch deleted file mode 100644 index 2a7edd5..0000000 --- a/0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch +++ /dev/null @@ -1,37 +0,0 @@ -From aaab55ffee458dc867f3f51e2a9908c6885b7dec Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Sat, 7 Oct 2017 05:40:35 -0400 -Subject: [PATCH 5/9] TST: Use fuzzy comparison in test_psd_csd_equal. - -Fixes #7158. - -Signed-off-by: Elliott Sales de Andrade ---- - lib/matplotlib/tests/test_mlab.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/matplotlib/tests/test_mlab.py b/lib/matplotlib/tests/test_mlab.py -index 15047bdeb..ef36eaf0b 100644 ---- a/lib/matplotlib/tests/test_mlab.py -+++ b/lib/matplotlib/tests/test_mlab.py -@@ -7,7 +7,7 @@ import tempfile - import warnings - - from numpy.testing import (assert_allclose, assert_almost_equal, -- assert_array_equal) -+ assert_array_equal, assert_array_almost_equal_nulp) - import numpy.ma.testutils as matest - import numpy as np - import datetime as datetime -@@ -1985,7 +1985,7 @@ class TestSpectral(object): - noverlap=self.nover_density, - pad_to=self.pad_to_density, - sides=self.sides) -- assert_array_equal(Pxx, Pxy) -+ assert_array_almost_equal_nulp(Pxx, Pxy) - assert_array_equal(freqsxx, freqsxy) - - def test_specgram_auto_default_equal(self): --- -2.13.5 - diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 606fd26..6f62755 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -54,7 +54,7 @@ #global rctag rc1 Name: python-matplotlib -Version: 2.1.0 +Version: 2.1.1 Release: 1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries @@ -64,20 +64,14 @@ URL: http://matplotlib.org Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}.tar.gz#/matplotlib-%{version}%{?rctag}.tar.gz Source1: setup.cfg -# https://github.com/matplotlib/matplotlib/pull/9304 -Patch0001: 0001-TST-Skip-sphinxext-if-unavailable-instead-of-error.patch -Patch0002: 0002-TST-Capture-all-internal-warnings.patch -Patch0003: 0003-TST-Don-t-require-LaTeX-or-Inkscape-for-nose-tests.patch -Patch0004: 0004-Fix-AxesImage.get_cursor_data-on-arm.patch -Patch0005: 0005-TST-Use-fuzzy-comparison-in-test_psd_csd_equal.patch # Depending on https://bugzilla.redhat.com/show_bug.cgi?id=1502499 # this may or may not go upstream. -Patch0006: 0006-Use-fuzzy-comparison-for-stroke-join-determination.patch +Patch0001: 0001-Use-fuzzy-comparison-for-stroke-join-determination.patch # Fedora-specific patches. -Patch1001: 0007-matplotlibrc-path-search-fix.patch -Patch1002: 0008-TST-Increase-tolerances-for-FreeType-2.7.1.patch -Patch1686: 0009-TST-Increase-some-tolerances-for-32-bit-systems.patch +Patch1001: 0002-matplotlibrc-path-search-fix.patch +Patch1002: 0003-TST-Increase-tolerances-for-FreeType-2.7.1.patch +Patch1686: 0004-TST-Increase-some-tolerances-for-32-bit-systems.patch BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -391,11 +385,6 @@ Requires: python3-tkinter %prep %autosetup -n matplotlib-%{version}%{?rctag} -N %patch0001 -p1 -%patch0002 -p1 -%patch0003 -p1 -%patch0004 -p1 -%patch0005 -p1 -%patch0006 -p1 %patch1001 -p1 %patch1002 -p1 %ifarch i686 @@ -617,6 +606,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Sun Dec 10 2017 Elliott Sales de Andrade - 2.1.1-1 +- Update to latest release + * Mon Oct 16 2017 Elliott Sales de Andrade - 2.1.0-1 - Update to latest release diff --git a/sources b/sources index 6d2d577..086c88f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (matplotlib-2.1.0.tar.gz) = 19fa97eeb483218f92d72900654984387e90b9f9cc8fd62209443a6eaeb1415e68d7d9c20c5ae0028f99836db58f12aff3af56e756a4673f5130e3f5a724ca87 +SHA512 (matplotlib-2.1.1.tar.gz) = 7faa6e4d215d863c436f5d5df9b2a19cf7044ec8e75be4c2e5b70ecb9fff7db03a8f092449401755c40a9ba719d1b0a7cc286e1e5ae5926b74cf91ec3826134f From 0326098544a9263cb2e854d4806425722f2e9990 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 21 Jan 2018 04:05:53 -0500 Subject: [PATCH 182/240] Update to latest release. --- .gitignore | 1 + ...arison-for-stroke-join-determination.patch | 30 ---------- ...=> 0001-matplotlibrc-path-search-fix.patch | 6 +- ...crease-tolerances-for-FreeType-2.7.1.patch | 60 ++++++++++++------- ...e-some-tolerances-for-32-bit-systems.patch | 54 ++++++++--------- python-matplotlib.spec | 18 +++--- sources | 2 +- 7 files changed, 77 insertions(+), 94 deletions(-) delete mode 100644 0001-Use-fuzzy-comparison-for-stroke-join-determination.patch rename 0002-matplotlibrc-path-search-fix.patch => 0001-matplotlibrc-path-search-fix.patch (91%) rename 0003-TST-Increase-tolerances-for-FreeType-2.7.1.patch => 0002-TST-Increase-tolerances-for-FreeType-2.7.1.patch (74%) rename 0004-TST-Increase-some-tolerances-for-32-bit-systems.patch => 0003-TST-Increase-some-tolerances-for-32-bit-systems.patch (90%) diff --git a/.gitignore b/.gitignore index 833972c..003fc18 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/0001-Use-fuzzy-comparison-for-stroke-join-determination.patch b/0001-Use-fuzzy-comparison-for-stroke-join-determination.patch deleted file mode 100644 index 1bc68bc..0000000 --- a/0001-Use-fuzzy-comparison-for-stroke-join-determination.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 8dba6d00d8ead090f6161854f9e64d28ea18e663 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Sun, 15 Oct 2017 17:16:11 -0400 -Subject: [PATCH 1/4] Use fuzzy comparison for stroke join determination. - -This sometimes produces something just slightly different from 0 -compared to x86(_64). - -Signed-off-by: Elliott Sales de Andrade ---- - extern/agg24-svn/include/agg_math_stroke.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/extern/agg24-svn/include/agg_math_stroke.h b/extern/agg24-svn/include/agg_math_stroke.h -index 4806dcd4b..4871d96ce 100644 ---- a/extern/agg24-svn/include/agg_math_stroke.h -+++ b/extern/agg24-svn/include/agg_math_stroke.h -@@ -391,7 +391,8 @@ namespace agg - vc.remove_all(); - - double cp = cross_product(v0.x, v0.y, v1.x, v1.y, v2.x, v2.y); -- if(cp != 0 && (cp > 0) == (m_width > 0)) -+ if ((cp > agg::vertex_dist_epsilon && m_width > 0) || -+ (cp < -agg::vertex_dist_epsilon && m_width < 0)) - { - // Inner join - //--------------- --- -2.13.6 - diff --git a/0002-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch similarity index 91% rename from 0002-matplotlibrc-path-search-fix.patch rename to 0001-matplotlibrc-path-search-fix.patch index 2193a1b..d3d4acb 100644 --- a/0002-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,7 +1,7 @@ -From 22121f236ebdc8f8539c2c0901073dce80f4edd8 Mon Sep 17 00:00:00 2001 +From 69b627b84fa8081748d93d180deb2218b99270a4 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 -Subject: [PATCH 2/4] matplotlibrc path search fix +Subject: [PATCH 1/3] matplotlibrc path search fix Signed-off-by: Elliott Sales de Andrade --- @@ -35,5 +35,5 @@ index 3ba486af1..b8caf27dc 100644 for fname in gen_candidates(): if os.path.isfile(fname): -- -2.13.6 +2.14.3 diff --git a/0003-TST-Increase-tolerances-for-FreeType-2.7.1.patch b/0002-TST-Increase-tolerances-for-FreeType-2.7.1.patch similarity index 74% rename from 0003-TST-Increase-tolerances-for-FreeType-2.7.1.patch rename to 0002-TST-Increase-tolerances-for-FreeType-2.7.1.patch index ad9c914..754498a 100644 --- a/0003-TST-Increase-tolerances-for-FreeType-2.7.1.patch +++ b/0002-TST-Increase-tolerances-for-FreeType-2.7.1.patch @@ -1,18 +1,18 @@ -From cfdc835923407810bd087f60332cdc8cdcb23f05 Mon Sep 17 00:00:00 2001 +From 593459d2a9223d69180fed80622f4e7e2cf96239 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 15 Oct 2017 17:35:47 -0400 -Subject: [PATCH 3/4] TST: Increase tolerances for FreeType 2.7.1. +Subject: [PATCH 2/3] TST: Increase tolerances for FreeType 2.7.1. Signed-off-by: Elliott Sales de Andrade --- lib/matplotlib/testing/decorators.py | 2 +- - lib/matplotlib/tests/test_axes.py | 4 ++-- + lib/matplotlib/tests/test_axes.py | 5 ++--- lib/matplotlib/tests/test_mathtext.py | 4 ++-- - lib/matplotlib/tests/test_patches.py | 2 +- + lib/matplotlib/tests/test_patches.py | 3 +-- lib/matplotlib/tests/test_patheffects.py | 2 +- - lib/matplotlib/tests/test_streamplot.py | 2 +- + lib/matplotlib/tests/test_streamplot.py | 6 ++---- lib/mpl_toolkits/tests/test_mplot3d.py | 2 +- - 7 files changed, 9 insertions(+), 9 deletions(-) + 7 files changed, 10 insertions(+), 14 deletions(-) diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index c5e069b31..ebd68cfab 100644 @@ -28,19 +28,20 @@ index c5e069b31..ebd68cfab 100644 savefig_kwarg=None, # Default of mpl_test_settings fixture and cleanup too. diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 33be78004..c73e55802 100644 +index 7164d0cec..6492cc140 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py -@@ -672,7 +672,7 @@ def test_polar_rlabel_position(): +@@ -671,8 +671,7 @@ def test_polar_rlabel_position(): + ax.tick_params(rotation='auto') - @image_comparison(baseline_images=['polar_theta_wedge'], style='default', +-@image_comparison(baseline_images=['polar_theta_wedge'], style='default', - tol=0.01 if six.PY2 else 0) -+ tol=0.1) ++@image_comparison(baseline_images=['polar_theta_wedge'], style='default') def test_polar_theta_limits(): r = np.arange(0, 3.0, 0.01) theta = 2*np.pi*r -@@ -4679,7 +4679,7 @@ def test_rc_spines(): +@@ -4679,7 +4678,7 @@ def test_rc_spines(): @image_comparison(baseline_images=['rc_grid'], extensions=['png'], @@ -72,20 +73,22 @@ index 7ef77ce6a..b8c9c9e8b 100644 matplotlib.rcParams['mathtext.fontset'] = fontset fig = plt.figure(figsize=(5.25, 0.75)) diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py -index 20ffa6b08..9f5088f0f 100644 +index 20ffa6b08..81737c84d 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py -@@ -269,7 +269,7 @@ def test_wedge_movement(): +@@ -267,9 +267,8 @@ def test_wedge_movement(): + assert getattr(w, attr) == new_v - # png needs tol>=0.06, pdf tol>=1.617 + +-# 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, tol=0.1) ++ 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 9b8a4379c..ebbcd6529 100644 +index 9b8a4379c..b46d8cec4 100644 --- a/lib/matplotlib/tests/test_patheffects.py +++ b/lib/matplotlib/tests/test_patheffects.py @@ -125,7 +125,7 @@ def test_SimplePatchShadow_offset(): @@ -93,23 +96,34 @@ index 9b8a4379c..ebbcd6529 100644 -@image_comparison(baseline_images=['collection'], tol=0.015) -+@image_comparison(baseline_images=['collection'], tol=0.1) ++@image_comparison(baseline_images=['collection']) 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_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index ac997b2b2..cd7233e2e 100644 +index 1d7e09fef..b62ca2198 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py -@@ -36,7 +36,7 @@ def test_startpoints(): +@@ -40,8 +40,7 @@ def test_startpoints(): + plt.plot(start_x, start_y, 'ok') - @image_comparison(baseline_images=['streamplot_colormap'], -- tol=0.002) -+ tol=0.1) +-@image_comparison(baseline_images=['streamplot_colormap'], +- tol=.02) ++@image_comparison(baseline_images=['streamplot_colormap']) def test_colormap(): X, Y, U, V = velocity_field() plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2, +@@ -59,8 +58,7 @@ def test_linewidth(): + linewidth=lw) + + +-@image_comparison(baseline_images=['streamplot_masks_and_nans'], +- tol=0.04 if on_win else 0) ++@image_comparison(baseline_images=['streamplot_masks_and_nans']) + def test_masks_and_nans(): + X, Y, U, V = velocity_field() + mask = np.zeros(U.shape, dtype=bool) diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py index c157433c7..c13f3be2f 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py @@ -124,5 +138,5 @@ index c157433c7..c13f3be2f 100644 def test_xyz(self): fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) -- -2.13.6 +2.14.3 diff --git a/0004-TST-Increase-some-tolerances-for-32-bit-systems.patch b/0003-TST-Increase-some-tolerances-for-32-bit-systems.patch similarity index 90% rename from 0004-TST-Increase-some-tolerances-for-32-bit-systems.patch rename to 0003-TST-Increase-some-tolerances-for-32-bit-systems.patch index 520122d..d0a02ec 100644 --- a/0004-TST-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0003-TST-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,7 +1,7 @@ -From 4fbf2473e97a259494117a408a5efa377fa5a947 Mon Sep 17 00:00:00 2001 +From 61eac9a522a7907db3fe01680d249789d1cff710 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 15 Oct 2017 21:11:26 -0400 -Subject: [PATCH 4/4] TST: Increase some tolerances for 32-bit systems. +Subject: [PATCH 3/3] TST: Increase some tolerances for 32-bit systems. Signed-off-by: Elliott Sales de Andrade --- @@ -32,7 +32,7 @@ index 786d50903..105714ef4 100644 exterior = mpath.Path.unit_rectangle().deepcopy() exterior.vertices *= 4 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index c73e55802..90db6dfda 100644 +index 6492cc140..8609d8c31 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -483,7 +483,7 @@ def test_single_point(): @@ -44,7 +44,7 @@ index c73e55802..90db6dfda 100644 def test_single_date(): time1 = [721964.0] data1 = [-65.54] -@@ -972,7 +972,7 @@ def test_fill_between_interpolate(): +@@ -971,7 +971,7 @@ def test_fill_between_interpolate(): @image_comparison(baseline_images=['fill_between_interpolate_decreasing'], @@ -53,7 +53,7 @@ index c73e55802..90db6dfda 100644 def test_fill_between_interpolate_decreasing(): p = np.array([724.3, 700, 655]) t = np.array([9.4, 7, 2.2]) -@@ -1086,7 +1086,7 @@ def test_pcolormesh(): +@@ -1085,7 +1085,7 @@ def test_pcolormesh(): @image_comparison(baseline_images=['pcolormesh_datetime_axis'], @@ -62,7 +62,7 @@ index c73e55802..90db6dfda 100644 def test_pcolormesh_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1112,7 +1112,7 @@ def test_pcolormesh_datetime_axis(): +@@ -1111,7 +1111,7 @@ def test_pcolormesh_datetime_axis(): @image_comparison(baseline_images=['pcolor_datetime_axis'], @@ -71,7 +71,7 @@ index c73e55802..90db6dfda 100644 def test_pcolor_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1168,7 +1168,7 @@ def test_canonical(): +@@ -1167,7 +1167,7 @@ def test_canonical(): @image_comparison(baseline_images=['arc_angles'], remove_text=True, @@ -80,7 +80,7 @@ index c73e55802..90db6dfda 100644 def test_arc_angles(): from matplotlib import patches # Ellipse parameters -@@ -2434,7 +2434,7 @@ def test_boxplot_mod_artist_after_plotting(): +@@ -2433,7 +2433,7 @@ def test_boxplot_mod_artist_after_plotting(): @image_comparison(baseline_images=['violinplot_vert_baseline', 'violinplot_vert_baseline'], @@ -89,7 +89,7 @@ index c73e55802..90db6dfda 100644 def test_vert_violinplot_baseline(): # First 9 digits of frac(sqrt(2)) np.random.seed(414213562) -@@ -2452,7 +2452,7 @@ def test_vert_violinplot_baseline(): +@@ -2451,7 +2451,7 @@ def test_vert_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_vert_showmeans'], @@ -98,7 +98,7 @@ index c73e55802..90db6dfda 100644 def test_vert_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(3)) -@@ -2463,7 +2463,7 @@ def test_vert_violinplot_showmeans(): +@@ -2462,7 +2462,7 @@ def test_vert_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_vert_showextrema'], @@ -107,7 +107,7 @@ index c73e55802..90db6dfda 100644 def test_vert_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(5)) -@@ -2474,7 +2474,7 @@ def test_vert_violinplot_showextrema(): +@@ -2473,7 +2473,7 @@ def test_vert_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_vert_showmedians'], @@ -116,7 +116,7 @@ index c73e55802..90db6dfda 100644 def test_vert_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(7)) -@@ -2485,7 +2485,7 @@ def test_vert_violinplot_showmedians(): +@@ -2484,7 +2484,7 @@ def test_vert_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_vert_showall'], @@ -125,7 +125,7 @@ index c73e55802..90db6dfda 100644 def test_vert_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(11)) -@@ -2496,7 +2496,7 @@ def test_vert_violinplot_showall(): +@@ -2495,7 +2495,7 @@ def test_vert_violinplot_showall(): @image_comparison(baseline_images=['violinplot_vert_custompoints_10'], @@ -134,7 +134,7 @@ index c73e55802..90db6dfda 100644 def test_vert_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(13)) -@@ -2507,7 +2507,7 @@ def test_vert_violinplot_custompoints_10(): +@@ -2506,7 +2506,7 @@ def test_vert_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_vert_custompoints_200'], @@ -143,7 +143,7 @@ index c73e55802..90db6dfda 100644 def test_vert_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(17)) -@@ -2518,7 +2518,7 @@ def test_vert_violinplot_custompoints_200(): +@@ -2517,7 +2517,7 @@ def test_vert_violinplot_custompoints_200(): @image_comparison(baseline_images=['violinplot_horiz_baseline'], @@ -152,7 +152,7 @@ index c73e55802..90db6dfda 100644 def test_horiz_violinplot_baseline(): ax = plt.axes() # First 9 digits of frac(sqrt(19)) -@@ -2529,7 +2529,7 @@ def test_horiz_violinplot_baseline(): +@@ -2528,7 +2528,7 @@ def test_horiz_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_horiz_showmedians'], @@ -161,7 +161,7 @@ index c73e55802..90db6dfda 100644 def test_horiz_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(23)) -@@ -2540,7 +2540,7 @@ def test_horiz_violinplot_showmedians(): +@@ -2539,7 +2539,7 @@ def test_horiz_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_horiz_showmeans'], @@ -170,7 +170,7 @@ index c73e55802..90db6dfda 100644 def test_horiz_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(29)) -@@ -2551,7 +2551,7 @@ def test_horiz_violinplot_showmeans(): +@@ -2550,7 +2550,7 @@ def test_horiz_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_horiz_showextrema'], @@ -179,7 +179,7 @@ index c73e55802..90db6dfda 100644 def test_horiz_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(31)) -@@ -2562,7 +2562,7 @@ def test_horiz_violinplot_showextrema(): +@@ -2561,7 +2561,7 @@ def test_horiz_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_horiz_showall'], @@ -188,7 +188,7 @@ index c73e55802..90db6dfda 100644 def test_horiz_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(37)) -@@ -2573,7 +2573,7 @@ def test_horiz_violinplot_showall(): +@@ -2572,7 +2572,7 @@ def test_horiz_violinplot_showall(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_10'], @@ -197,7 +197,7 @@ index c73e55802..90db6dfda 100644 def test_horiz_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(41)) -@@ -2584,7 +2584,7 @@ def test_horiz_violinplot_custompoints_10(): +@@ -2583,7 +2583,7 @@ def test_horiz_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_200'], @@ -206,7 +206,7 @@ index c73e55802..90db6dfda 100644 def test_horiz_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(43)) -@@ -3910,7 +3910,7 @@ def test_psd_noise(): +@@ -3909,7 +3909,7 @@ def test_psd_noise(): @image_comparison(baseline_images=['csd_freqs'], remove_text=True, @@ -215,7 +215,7 @@ index c73e55802..90db6dfda 100644 def test_csd_freqs(): '''test axes.csd with sinusoidal stimuli''' n = 10000 -@@ -5136,7 +5136,7 @@ def test_date_timezone_y(): +@@ -5153,7 +5153,7 @@ def test_date_timezone_y(): @image_comparison(baseline_images=['date_timezone_x_and_y'], @@ -319,7 +319,7 @@ index 16ac9e865..29c1b26f2 100644 n = 60 mask_level = 0.95 diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py -index 0e423ab5f..8a46116fd 100644 +index fd6430d56..e9bf1b1db 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -754,7 +754,7 @@ def test_imshow_endianess(): @@ -358,7 +358,7 @@ index a0e1e674f..ede6bfc64 100644 x = np.linspace(-5, 5, 5) X, Y = np.meshgrid(x, x) diff --git a/lib/matplotlib/tests/test_transforms.py b/lib/matplotlib/tests/test_transforms.py -index 8f19a50f3..2fbe41187 100644 +index 8f19a50f3..fa4a9aa18 100644 --- a/lib/matplotlib/tests/test_transforms.py +++ b/lib/matplotlib/tests/test_transforms.py @@ -75,7 +75,7 @@ def test_external_transform_api(): @@ -366,7 +366,7 @@ index 8f19a50f3..2fbe41187 100644 @image_comparison(baseline_images=['pre_transform_data'], - tol=0.08) -+ tol=0.15) ++ tol=0.155) 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 @@ -384,5 +384,5 @@ index c13f3be2f..81a28aadb 100644 n_angles = 36 n_radii = 8 -- -2.13.6 +2.14.3 diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 6f62755..c263f77 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -54,24 +54,20 @@ #global rctag rc1 Name: python-matplotlib -Version: 2.1.1 +Version: 2.1.2 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 -# Depending on https://bugzilla.redhat.com/show_bug.cgi?id=1502499 -# this may or may not go upstream. -Patch0001: 0001-Use-fuzzy-comparison-for-stroke-join-determination.patch - # Fedora-specific patches. -Patch1001: 0002-matplotlibrc-path-search-fix.patch -Patch1002: 0003-TST-Increase-tolerances-for-FreeType-2.7.1.patch -Patch1686: 0004-TST-Increase-some-tolerances-for-32-bit-systems.patch +Patch1001: 0001-matplotlibrc-path-search-fix.patch +Patch1002: 0002-TST-Increase-tolerances-for-FreeType-2.7.1.patch +Patch1686: 0003-TST-Increase-some-tolerances-for-32-bit-systems.patch BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -384,7 +380,6 @@ Requires: python3-tkinter %prep %autosetup -n matplotlib-%{version}%{?rctag} -N -%patch0001 -p1 %patch1001 -p1 %patch1002 -p1 %ifarch i686 @@ -606,6 +601,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Sun Jan 21 2018 Elliott Sales de Andrade - 2.1.2-1 +- Update to latest release + * Sun Dec 10 2017 Elliott Sales de Andrade - 2.1.1-1 - Update to latest release diff --git a/sources b/sources index 086c88f..504a6c7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (matplotlib-2.1.1.tar.gz) = 7faa6e4d215d863c436f5d5df9b2a19cf7044ec8e75be4c2e5b70ecb9fff7db03a8f092449401755c40a9ba719d1b0a7cc286e1e5ae5926b74cf91ec3826134f +SHA512 (matplotlib-2.1.2.tar.gz) = fd93901b12a7f47cdc36d38d18de43b0cc8623dcd5597cfc1177e63cf90b0c87f718135176e2c077cd1316566a394e09e8e8e9db2ce128ee7f03021cac45543e From 75d0d8966b955adb3d1ad9c860d4dfe8341fe850 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 20 Dec 2017 01:02:55 -0500 Subject: [PATCH 183/240] Add test images re-generated with FreeType 2.8. --- .gitignore | 1 + python-matplotlib.spec | 7 +++++++ sources | 1 + 3 files changed, 9 insertions(+) diff --git a/.gitignore b/.gitignore index 003fc18..f5347ce 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c263f77..290a188 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -65,6 +65,7 @@ Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?r Source1: setup.cfg # Fedora-specific patches. +Source1000: matplotlib-%{version}-with-freetype-2.8.tar.gz Patch1001: 0001-matplotlibrc-path-search-fix.patch Patch1002: 0002-TST-Increase-tolerances-for-FreeType-2.7.1.patch Patch1686: 0003-TST-Increase-some-tolerances-for-32-bit-systems.patch @@ -381,7 +382,13 @@ Requires: python3-tkinter %prep %autosetup -n matplotlib-%{version}%{?rctag} -N %patch1001 -p1 +%if %{fedora} > 26 +# Updated test images for FreeType 2.8. +gzip -dc %SOURCE1000 | tar xvf - --transform='s~^\([^/]\+\)/~lib/\1/tests/baseline_images/~' +%else +# Small tweaks to tolerances for FreeType 2.7.1. %patch1002 -p1 +%endif %ifarch i686 # Switch to full autosetup when 32-bit systems are dropped. %patch1686 -p1 diff --git a/sources b/sources index 504a6c7..33a00ad 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (matplotlib-2.1.2.tar.gz) = fd93901b12a7f47cdc36d38d18de43b0cc8623dcd5597cfc1177e63cf90b0c87f718135176e2c077cd1316566a394e09e8e8e9db2ce128ee7f03021cac45543e +SHA512 (matplotlib-2.1.2-with-freetype-2.8.tar.gz) = abe03cf24d653ecaefcda56b60631b7200d7e2d5078801f61270d5329da8e6767773a1347a1c9c7b457a0a12427c345d70e700c156dedab27275875f5bcbc439 From b470c189c1904f9c34546286a62883a4891c3796 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 23 Jan 2018 02:31:22 -0500 Subject: [PATCH 184/240] Also apply tolerance patch for 32-bit systems. --- python-matplotlib.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 290a188..01df64b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -385,6 +385,10 @@ Requires: python3-tkinter %if %{fedora} > 26 # Updated test images for FreeType 2.8. gzip -dc %SOURCE1000 | tar xvf - --transform='s~^\([^/]\+\)/~lib/\1/tests/baseline_images/~' +%ifarch i686 armv7hl +# Apply this because 32-bit output is a bit off. +%patch1002 -p1 +%endif %else # Small tweaks to tolerances for FreeType 2.7.1. %patch1002 -p1 From 8d6885671d52a2eb12d36324a1302f6ebd9bc5f0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 24 Jan 2018 03:02:57 -0500 Subject: [PATCH 185/240] Increase tolerances on non-x86 systems. --- 0001-matplotlibrc-path-search-fix.patch | 2 +- ...crease-tolerances-for-FreeType-2.7.1.patch | 46 +--- ...rances-for-FT-2.7.1-and-other-arches.patch | 41 ++++ ...e-some-tolerances-for-32-bit-systems.patch | 22 +- ...e-some-tolerances-for-non-x86-arches.patch | 216 ++++++++++++++++++ python-matplotlib.spec | 16 +- 6 files changed, 299 insertions(+), 44 deletions(-) rename 0002-TST-Increase-tolerances-for-FreeType-2.7.1.patch => 0002-Increase-tolerances-for-FreeType-2.7.1.patch (74%) create mode 100644 0003-Increase-tolerances-for-FT-2.7.1-and-other-arches.patch rename 0003-TST-Increase-some-tolerances-for-32-bit-systems.patch => 0004-Increase-some-tolerances-for-32-bit-systems.patch (94%) create mode 100644 0004-Increase-some-tolerances-for-non-x86-arches.patch diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index d3d4acb..f069fde 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,7 +1,7 @@ From 69b627b84fa8081748d93d180deb2218b99270a4 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 -Subject: [PATCH 1/3] matplotlibrc path search fix +Subject: [PATCH 1/4] matplotlibrc path search fix Signed-off-by: Elliott Sales de Andrade --- diff --git a/0002-TST-Increase-tolerances-for-FreeType-2.7.1.patch b/0002-Increase-tolerances-for-FreeType-2.7.1.patch similarity index 74% rename from 0002-TST-Increase-tolerances-for-FreeType-2.7.1.patch rename to 0002-Increase-tolerances-for-FreeType-2.7.1.patch index 754498a..4db5b16 100644 --- a/0002-TST-Increase-tolerances-for-FreeType-2.7.1.patch +++ b/0002-Increase-tolerances-for-FreeType-2.7.1.patch @@ -1,18 +1,17 @@ -From 593459d2a9223d69180fed80622f4e7e2cf96239 Mon Sep 17 00:00:00 2001 +From f146998e2bf6db54dae926ceec57d2baa6003ea0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade -Date: Sun, 15 Oct 2017 17:35:47 -0400 -Subject: [PATCH 2/3] TST: Increase tolerances for FreeType 2.7.1. +Date: Tue, 23 Jan 2018 20:22:05 -0500 +Subject: [PATCH 2/4] Increase tolerances for FreeType 2.7.1. Signed-off-by: Elliott Sales de Andrade --- - lib/matplotlib/testing/decorators.py | 2 +- - lib/matplotlib/tests/test_axes.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_streamplot.py | 6 ++---- - lib/mpl_toolkits/tests/test_mplot3d.py | 2 +- - 7 files changed, 10 insertions(+), 14 deletions(-) + lib/matplotlib/testing/decorators.py | 2 +- + lib/matplotlib/tests/test_axes.py | 5 ++--- + lib/matplotlib/tests/test_mathtext.py | 4 ++-- + lib/matplotlib/tests/test_patches.py | 3 +-- + lib/matplotlib/tests/test_streamplot.py | 3 +-- + lib/mpl_toolkits/tests/test_mplot3d.py | 2 +- + 6 files changed, 8 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index c5e069b31..ebd68cfab 100644 @@ -87,21 +86,8 @@ index 20ffa6b08..81737c84d 100644 def test_wedge_range(): ax = plt.axes() -diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py -index 9b8a4379c..b46d8cec4 100644 ---- a/lib/matplotlib/tests/test_patheffects.py -+++ b/lib/matplotlib/tests/test_patheffects.py -@@ -125,7 +125,7 @@ def test_SimplePatchShadow_offset(): - assert pe._offset == (4, 5) - - --@image_comparison(baseline_images=['collection'], tol=0.015) -+@image_comparison(baseline_images=['collection']) - 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_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index 1d7e09fef..b62ca2198 100644 +index 1d7e09fef..48f1e0683 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py @@ -40,8 +40,7 @@ def test_startpoints(): @@ -114,16 +100,6 @@ index 1d7e09fef..b62ca2198 100644 def test_colormap(): X, Y, U, V = velocity_field() plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2, -@@ -59,8 +58,7 @@ def test_linewidth(): - linewidth=lw) - - --@image_comparison(baseline_images=['streamplot_masks_and_nans'], -- tol=0.04 if on_win else 0) -+@image_comparison(baseline_images=['streamplot_masks_and_nans']) - def test_masks_and_nans(): - X, Y, U, V = velocity_field() - mask = np.zeros(U.shape, dtype=bool) diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py index c157433c7..c13f3be2f 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py diff --git a/0003-Increase-tolerances-for-FT-2.7.1-and-other-arches.patch b/0003-Increase-tolerances-for-FT-2.7.1-and-other-arches.patch new file mode 100644 index 0000000..bc5d355 --- /dev/null +++ b/0003-Increase-tolerances-for-FT-2.7.1-and-other-arches.patch @@ -0,0 +1,41 @@ +From 1e4e5f12b804561ab5b6bfa4ad76d44523d1568e Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Tue, 23 Jan 2018 20:27:17 -0500 +Subject: [PATCH 3/4] Increase tolerances for FT 2.7.1 and other arches. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/tests/test_patheffects.py | 2 +- + lib/matplotlib/tests/test_streamplot.py | 3 +-- + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py +index 9b8a4379c..e36d6deb6 100644 +--- a/lib/matplotlib/tests/test_patheffects.py ++++ b/lib/matplotlib/tests/test_patheffects.py +@@ -125,7 +125,7 @@ def test_SimplePatchShadow_offset(): + assert pe._offset == (4, 5) + + +-@image_comparison(baseline_images=['collection'], tol=0.015) ++@image_comparison(baseline_images=['collection'], tol=0.019) + 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_streamplot.py b/lib/matplotlib/tests/test_streamplot.py +index 48f1e0683..aadcf6bfd 100644 +--- a/lib/matplotlib/tests/test_streamplot.py ++++ b/lib/matplotlib/tests/test_streamplot.py +@@ -58,8 +58,7 @@ def test_linewidth(): + linewidth=lw) + + +-@image_comparison(baseline_images=['streamplot_masks_and_nans'], +- tol=0.04 if on_win else 0) ++@image_comparison(baseline_images=['streamplot_masks_and_nans'], tol=0.01) + def test_masks_and_nans(): + X, Y, U, V = velocity_field() + mask = np.zeros(U.shape, dtype=bool) +-- +2.14.3 + diff --git a/0003-TST-Increase-some-tolerances-for-32-bit-systems.patch b/0004-Increase-some-tolerances-for-32-bit-systems.patch similarity index 94% rename from 0003-TST-Increase-some-tolerances-for-32-bit-systems.patch rename to 0004-Increase-some-tolerances-for-32-bit-systems.patch index d0a02ec..a7012bc 100644 --- a/0003-TST-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0004-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,7 +1,7 @@ -From 61eac9a522a7907db3fe01680d249789d1cff710 Mon Sep 17 00:00:00 2001 +From 25c7d1af15f4478e795250360d2f778a76c2358d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade -Date: Sun, 15 Oct 2017 21:11:26 -0400 -Subject: [PATCH 3/3] TST: Increase some tolerances for 32-bit systems. +Date: Wed, 24 Jan 2018 01:38:52 -0500 +Subject: [PATCH 4/4] Increase some tolerances for 32-bit systems. Signed-off-by: Elliott Sales de Andrade --- @@ -11,11 +11,12 @@ Signed-off-by: Elliott Sales de Andrade lib/matplotlib/tests/test_colorbar.py | 11 +++++---- lib/matplotlib/tests/test_contour.py | 6 ++--- lib/matplotlib/tests/test_image.py | 2 +- + 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_transforms.py | 2 +- lib/mpl_toolkits/tests/test_mplot3d.py | 2 +- - 10 files changed, 38 insertions(+), 36 deletions(-) + 11 files changed, 39 insertions(+), 37 deletions(-) diff --git a/lib/matplotlib/tests/test_artist.py b/lib/matplotlib/tests/test_artist.py index 786d50903..105714ef4 100644 @@ -331,6 +332,19 @@ index fd6430d56..e9bf1b1db 100644 def test_imshow_masked_interpolation(): cm = copy(plt.get_cmap('viridis')) +diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py +index e36d6deb6..985d69cb2 100644 +--- a/lib/matplotlib/tests/test_patheffects.py ++++ b/lib/matplotlib/tests/test_patheffects.py +@@ -125,7 +125,7 @@ def test_SimplePatchShadow_offset(): + assert pe._offset == (4, 5) + + +-@image_comparison(baseline_images=['collection'], tol=0.019) ++@image_comparison(baseline_images=['collection'], tol=0.084) + 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 bd6ac6862..512f07948 100644 --- a/lib/matplotlib/tests/test_pickle.py diff --git a/0004-Increase-some-tolerances-for-non-x86-arches.patch b/0004-Increase-some-tolerances-for-non-x86-arches.patch new file mode 100644 index 0000000..349ce92 --- /dev/null +++ b/0004-Increase-some-tolerances-for-non-x86-arches.patch @@ -0,0 +1,216 @@ +From cd26dbd863d0cf2cce4d249c4941cf68d6f838ba Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Wed, 24 Jan 2018 03:02:19 -0500 +Subject: [PATCH 4/4] Increase some tolerances for non-x86 arches. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/tests/test_arrow_patches.py | 4 ++-- + lib/matplotlib/tests/test_axes.py | 5 +++-- + lib/matplotlib/tests/test_collections.py | 2 +- + lib/matplotlib/tests/test_cycles.py | 6 +++--- + 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_scale.py | 2 +- + lib/matplotlib/tests/test_streamplot.py | 2 +- + lib/matplotlib/tests/test_units.py | 4 ++-- + 10 files changed, 18 insertions(+), 17 deletions(-) + +diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py +index 0a5894a30..1f75169ca 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'], ++ remove_text=True, extensions=['png'], tol=0.016, + savefig_kwarg=dict(dpi=100)) + def test_fancyarrow_dpi_cor_100dpi(): + """ +@@ -84,7 +84,7 @@ def test_fancyarrow_dpi_cor_100dpi(): + + + @image_comparison(baseline_images=['fancyarrow_dpi_cor_200dpi'], +- remove_text=True, extensions=['png'], ++ remove_text=True, extensions=['png'], 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 6492cc140..3bd1c0fda 100644 +--- a/lib/matplotlib/tests/test_axes.py ++++ b/lib/matplotlib/tests/test_axes.py +@@ -3229,7 +3229,8 @@ def test_vertex_markers(): + + + @image_comparison(baseline_images=['vline_hline_zorder', +- 'errorbar_zorder']) ++ 'errorbar_zorder'], ++ tol=0.02) + def test_eb_line_zorder(): + x = list(xrange(10)) + +@@ -4866,7 +4867,7 @@ def test_title_location_roundtrip(): + + + @image_comparison(baseline_images=["loglog"], remove_text=True, +- extensions=['png']) ++ extensions=['png'], tol=0.009) + def test_loglog(): + fig, ax = plt.subplots() + x = np.arange(1, 11) +diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py +index c27aeb11a..969bf41cf 100644 +--- a/lib/matplotlib/tests/test_collections.py ++++ b/lib/matplotlib/tests/test_collections.py +@@ -444,7 +444,7 @@ def test_barb_limits(): + + + @image_comparison(baseline_images=['EllipseCollection_test_image'], +- extensions=['png'], ++ extensions=['png'], tol=0.012, + remove_text=True) + def test_EllipseCollection(): + # Test basic functionality +diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py +index eadaf2508..5d1144f5e 100644 +--- a/lib/matplotlib/tests/test_cycles.py ++++ b/lib/matplotlib/tests/test_cycles.py +@@ -10,7 +10,7 @@ from cycler import cycler + + + @image_comparison(baseline_images=['color_cycle_basic'], remove_text=True, +- extensions=['png']) ++ extensions=['png'], tol=0.008) + def test_colorcycle_basic(): + fig = plt.figure() + ax = fig.add_subplot(111) +@@ -28,7 +28,7 @@ def test_colorcycle_basic(): + + + @image_comparison(baseline_images=['marker_cycle', 'marker_cycle'], +- remove_text=True, extensions=['png']) ++ remove_text=True, extensions=['png'], tol=0.008) + def test_marker_cycle(): + fig = plt.figure() + ax = fig.add_subplot(111) +@@ -63,7 +63,7 @@ def test_marker_cycle(): + + + @image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True, +- extensions=['png']) ++ extensions=['png'], tol=0.009) + def test_linestylecycle_basic(): + fig = plt.figure() + ax = fig.add_subplot(111) +diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py +index fd6430d56..b4190713f 100644 +--- a/lib/matplotlib/tests/test_image.py ++++ b/lib/matplotlib/tests/test_image.py +@@ -754,7 +754,7 @@ def test_imshow_endianess(): + + + @image_comparison(baseline_images=['imshow_masked_interpolation'], +- remove_text=True, style='mpl20') ++ remove_text=True, style='mpl20', tol=0.006) + def test_imshow_masked_interpolation(): + + cm = copy(plt.get_cmap('viridis')) +diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py +index e63aa8ef9..d984bcac1 100644 +--- a/lib/matplotlib/tests/test_legend.py ++++ b/lib/matplotlib/tests/test_legend.py +@@ -141,7 +141,7 @@ def test_multiple_keys(): + + + @image_comparison(baseline_images=['rgba_alpha'], +- extensions=['png'], remove_text=True) ++ extensions=['png'], remove_text=True, tol=0.007) + def test_alpha_rgba(): + import matplotlib.pyplot as plt + +@@ -152,7 +152,7 @@ def test_alpha_rgba(): + + + @image_comparison(baseline_images=['rcparam_alpha'], +- extensions=['png'], remove_text=True) ++ extensions=['png'], remove_text=True, tol=0.007) + def test_alpha_rcparam(): + import matplotlib.pyplot as plt + +@@ -179,7 +179,7 @@ def test_fancy(): + ncol=2, shadow=True, title="My legend", numpoints=1) + + +-@image_comparison(baseline_images=['framealpha'], remove_text=True) ++@image_comparison(baseline_images=['framealpha'], remove_text=True, 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 bd6ac6862..ea8afd807 100644 +--- a/lib/matplotlib/tests/test_pickle.py ++++ b/lib/matplotlib/tests/test_pickle.py +@@ -41,7 +41,7 @@ def test_simple(): + pickle.dump(fig, BytesIO(), pickle.HIGHEST_PROTOCOL) + + +-@image_comparison(baseline_images=['multi_pickle'], ++@image_comparison(baseline_images=['multi_pickle'], tol=0.004, + extensions=['png'], remove_text=True, + style='mpl20') + def test_complete(): +diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py +index 9b78377b2..4994ba91d 100644 +--- a/lib/matplotlib/tests/test_scale.py ++++ b/lib/matplotlib/tests/test_scale.py +@@ -75,7 +75,7 @@ def test_extra_kwargs_raise(): + + + @image_comparison(baseline_images=['logscale_nonpos_values'], remove_text=True, +- extensions=['png'], style='mpl20') ++ extensions=['png'], style='mpl20', tol=0.008) + def test_logscale_nonpos_values(): + np.random.seed(19680801) + xs = np.random.normal(size=int(1e3)) +diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py +index aadcf6bfd..473991268 100644 +--- a/lib/matplotlib/tests/test_streamplot.py ++++ b/lib/matplotlib/tests/test_streamplot.py +@@ -48,7 +48,7 @@ def test_colormap(): + plt.colorbar() + + +-@image_comparison(baseline_images=['streamplot_linewidth']) ++@image_comparison(baseline_images=['streamplot_linewidth'], tol=0.002) + def test_linewidth(): + X, Y, U, V = velocity_field() + speed = np.sqrt(U*U + V*V) +diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py +index f72ac2c60..781a3850e 100644 +--- a/lib/matplotlib/tests/test_units.py ++++ b/lib/matplotlib/tests/test_units.py +@@ -39,7 +39,7 @@ class Quantity(object): + + # 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'], ++@image_comparison(baseline_images=['plot_pint'], tol=0.003, + extensions=['png'], remove_text=False, style='mpl20') + def test_numpy_facade(): + # Create an instance of the conversion interface and +@@ -83,7 +83,7 @@ def test_numpy_facade(): + + + # Tests gh-8908 +-@image_comparison(baseline_images=['plot_masked_units'], ++@image_comparison(baseline_images=['plot_masked_units'], tol=0.007, + extensions=['png'], remove_text=True, style='mpl20') + def test_plot_masked_units(): + data = np.linspace(-5, 5) +-- +2.14.3 + diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 01df64b..e0b55a5 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -67,8 +67,10 @@ Source1: setup.cfg # Fedora-specific patches. Source1000: matplotlib-%{version}-with-freetype-2.8.tar.gz Patch1001: 0001-matplotlibrc-path-search-fix.patch -Patch1002: 0002-TST-Increase-tolerances-for-FreeType-2.7.1.patch -Patch1686: 0003-TST-Increase-some-tolerances-for-32-bit-systems.patch +Patch1002: 0002-Increase-tolerances-for-FreeType-2.7.1.patch +Patch1003: 0003-Increase-tolerances-for-FT-2.7.1-and-other-arches.patch +Patch1004: 0004-Increase-some-tolerances-for-32-bit-systems.patch +Patch1005: 0004-Increase-some-tolerances-for-non-x86-arches.patch BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -389,13 +391,19 @@ gzip -dc %SOURCE1000 | tar xvf - --transform='s~^\([^/]\+\)/~lib/\1/tests/baseli # Apply this because 32-bit output is a bit off. %patch1002 -p1 %endif +%ifnarch x86_64 +%patch1003 -p1 +%endif +%ifarch aarch64 ppc64 ppc64le s390x +%patch1005 -p1 +%endif %else # Small tweaks to tolerances for FreeType 2.7.1. %patch1002 -p1 +%patch1003 -p1 %endif %ifarch i686 -# Switch to full autosetup when 32-bit systems are dropped. -%patch1686 -p1 +%patch1004 -p1 %endif rm -r extern/libqhull From 14e86457fd7bf7b4e3509a6234ef30156495430b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 24 Jan 2018 04:27:51 -0500 Subject: [PATCH 186/240] Add patch to link with libdl. --- 0001-Add-libdl-on-Unix-like-systems.patch | 29 +++++++++++++++++++++++ python-matplotlib.spec | 9 +++++++ 2 files changed, 38 insertions(+) create mode 100644 0001-Add-libdl-on-Unix-like-systems.patch diff --git a/0001-Add-libdl-on-Unix-like-systems.patch b/0001-Add-libdl-on-Unix-like-systems.patch new file mode 100644 index 0000000..5cbbeca --- /dev/null +++ b/0001-Add-libdl-on-Unix-like-systems.patch @@ -0,0 +1,29 @@ +From 77bae7e7ea5c02f5be0d59dabeae6c3c09571fbe Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Wed, 24 Jan 2018 02:51:55 -0500 +Subject: [PATCH] Add libdl on Unix-like systems. + +Not linking with libdl causes errors when -z defs is in the linker +flags. + +Signed-off-by: Elliott Sales de Andrade +--- + setupext.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/setupext.py b/setupext.py +index d0f3f2070..6d2c3e296 100644 +--- a/setupext.py ++++ b/setupext.py +@@ -1493,6 +1493,8 @@ class BackendTkAgg(OptionalBackendPackage): + if sys.platform == 'win32': + # PSAPI library needed for finding Tcl / Tk at run time + ext.libraries.extend(['psapi']) ++ elif sys.platform != 'darwin': ++ ext.libraries.extend(['dl']) + + + class BackendGtk(OptionalBackendPackage): +-- +2.14.3 + diff --git a/python-matplotlib.spec b/python-matplotlib.spec index e0b55a5..e2a5481 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -64,12 +64,18 @@ URL: http://matplotlib.org Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}/matplotlib-%{version}%{?rctag}.tar.gz Source1: setup.cfg +# https://github.com/matplotlib/matplotlib/pull/10310 +Patch0001: 0001-Add-libdl-on-Unix-like-systems.patch + # Fedora-specific patches. +# https://github.com/QuLogic/mpl-images Source1000: matplotlib-%{version}-with-freetype-2.8.tar.gz +# https://github.com/QuLogic/matplotlib/tree/fedora-patches Patch1001: 0001-matplotlibrc-path-search-fix.patch Patch1002: 0002-Increase-tolerances-for-FreeType-2.7.1.patch Patch1003: 0003-Increase-tolerances-for-FT-2.7.1-and-other-arches.patch Patch1004: 0004-Increase-some-tolerances-for-32-bit-systems.patch +# https://github.com/QuLogic/matplotlib/tree/fedora-patches-non-x86 Patch1005: 0004-Increase-some-tolerances-for-non-x86-arches.patch BuildRequires: freetype-devel @@ -383,6 +389,9 @@ Requires: python3-tkinter %prep %autosetup -n matplotlib-%{version}%{?rctag} -N +%patch0001 -p1 + +# Fedora-specific patches follow: %patch1001 -p1 %if %{fedora} > 26 # Updated test images for FreeType 2.8. From bc53b538e3c67f668d725ed03027bee060d737b5 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Mon, 5 Feb 2018 17:47:47 +0100 Subject: [PATCH 187/240] update and fix spec file conditionals --- python-matplotlib.spec | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index e2a5481..f7aebe3 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,4 +1,4 @@ -%if 0%{?fedora} +%if 0%{?fedora} || 0%{?rhel} > 7 %global with_python3 1 %else %global with_python3 0 @@ -23,7 +23,7 @@ %endif # On Fedora 21 onwards, enable Qt5 backend: -%if 0%{?fedora} +%if 0%{?fedora} || 0%{?rhel} > 7 %global with_qt5 1 %else %global with_qt5 0 @@ -55,7 +55,7 @@ Name: python-matplotlib Version: 2.1.2 -Release: 1%{?rctag:.%{rctag}}%{?dist} +Release: 2%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library Group: Development/Libraries # qt4_editor backend is MIT @@ -105,7 +105,7 @@ BuildRequires: python-setuptools BuildRequires: python-six BuildRequires: python-subprocess32 BuildRequires: python2-devel -%if %{fedora} > 26 +%if 0%{?fedora} > 26 || 0%{?rhel} > 7 BuildRequires: python2-backports %endif BuildRequires: python2-backports-functools_lru_cache @@ -140,7 +140,7 @@ Requires: python-six Requires: python-subprocess32 Requires: pytz %if !%{with_bundled_fonts} -%if 0%{?fedora} +%if 0%{?fedora} || 0%{?rhel} > 7 Requires: stix-math-fonts %else Requires: stix-fonts @@ -314,7 +314,7 @@ Requires: python3-pyparsing Requires: python3-pytz Requires: python3-six %if !%{with_bundled_fonts} -%if 0%{?fedora} +%if 0%{?fedora} || 0%{?rhel} > 7 Requires: stix-math-fonts %else Requires: stix-fonts @@ -393,7 +393,7 @@ Requires: python3-tkinter # Fedora-specific patches follow: %patch1001 -p1 -%if %{fedora} > 26 +%if 0%{?fedora} > 26 || 0%{?rhel} > 7 # Updated test images for FreeType 2.8. gzip -dc %SOURCE1000 | tar xvf - --transform='s~^\([^/]\+\)/~lib/\1/tests/baseline_images/~' %ifarch i686 armv7hl @@ -629,6 +629,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %endif %changelog +* Mon Feb 05 2018 Karsten Hopp - 2.1.2-2} +- update and fix spec file conditionals + * Sun Jan 21 2018 Elliott Sales de Andrade - 2.1.2-1 - Update to latest release From c3e31d8c7e5ee9d8bea0bb0e15d92d379962c223 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 13 Mar 2018 05:12:47 -0400 Subject: [PATCH 188/240] Remove old workaround. The F27+ packages include the correct Requires now. --- python-matplotlib.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index f7aebe3..8d40e89 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -105,9 +105,6 @@ BuildRequires: python-setuptools BuildRequires: python-six BuildRequires: python-subprocess32 BuildRequires: python2-devel -%if 0%{?fedora} > 26 || 0%{?rhel} > 7 -BuildRequires: python2-backports -%endif BuildRequires: python2-backports-functools_lru_cache BuildRequires: python2-pillow BuildRequires: pytz From 172edad3e8fde2400eacbd9a0a4fc0a89dffff2b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 13 Mar 2018 05:14:01 -0400 Subject: [PATCH 189/240] Remove support for Fedora 26. It doesn't appear to be getting built there and adds extra conditionals. --- python-matplotlib.spec | 6 ------ 1 file changed, 6 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 8d40e89..a457a85 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -390,7 +390,6 @@ Requires: python3-tkinter # Fedora-specific patches follow: %patch1001 -p1 -%if 0%{?fedora} > 26 || 0%{?rhel} > 7 # Updated test images for FreeType 2.8. gzip -dc %SOURCE1000 | tar xvf - --transform='s~^\([^/]\+\)/~lib/\1/tests/baseline_images/~' %ifarch i686 armv7hl @@ -403,11 +402,6 @@ gzip -dc %SOURCE1000 | tar xvf - --transform='s~^\([^/]\+\)/~lib/\1/tests/baseli %ifarch aarch64 ppc64 ppc64le s390x %patch1005 -p1 %endif -%else -# Small tweaks to tolerances for FreeType 2.7.1. -%patch1002 -p1 -%patch1003 -p1 -%endif %ifarch i686 %patch1004 -p1 %endif From c409bffb3d8a545e67a2e7fa6ae70e62b8435b4d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 13 Mar 2018 05:34:04 -0400 Subject: [PATCH 190/240] Remove checks for non-Fedora systems. --- python-matplotlib.spec | 64 ------------------------------------------ 1 file changed, 64 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index a457a85..46c7640 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -1,9 +1,3 @@ -%if 0%{?fedora} || 0%{?rhel} > 7 -%global with_python3 1 -%else -%global with_python3 0 -%endif -%global __provides_exclude_from .*/site-packages/.*\\.so$ %global with_html 0 # It seems like there's some kind of weird occasional error where a @@ -14,21 +8,6 @@ # 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} || 0%{?rhel} > 7 -%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 %global backend TkAgg @@ -57,7 +36,6 @@ Name: python-matplotlib Version: 2.1.2 Release: 2%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library -Group: Development/Libraries # qt4_editor backend is MIT License: Python and MIT URL: http://matplotlib.org @@ -137,12 +115,8 @@ Requires: python-six Requires: python-subprocess32 Requires: pytz %if !%{with_bundled_fonts} -%if 0%{?fedora} || 0%{?rhel} > 7 Requires: stix-math-fonts %else -Requires: stix-fonts -%endif -%else Provides: bundled(stix-math-fonts) %endif %{?python_provide:%python_provide python2-matplotlib} @@ -165,7 +139,6 @@ errorcharts, scatterplots, etc, with just a few lines of code. %package -n python2-matplotlib-qt4 Summary: Qt4 backend for python-matplotlib -Group: Development/Libraries BuildRequires: PyQt4-devel Requires: PyQt4 Requires: python2-matplotlib%{?_isa} = %{version}-%{release} @@ -175,10 +148,8 @@ Requires: python2-matplotlib-qt5 %description -n python2-matplotlib-qt4 %{summary} -%if %{with_qt5} %package -n python2-matplotlib-qt5 Summary: Qt5 backend for python-matplotlib -Group: Development/Libraries BuildRequires: python-qt5 Requires: python-qt5 Requires: python2-matplotlib%{?_isa} = %{version}-%{release} @@ -186,11 +157,9 @@ Requires: python2-matplotlib%{?_isa} = %{version}-%{release} %description -n python2-matplotlib-qt5 %{summary} -%endif # with_qt5 %package -n python2-matplotlib-gtk Summary: GTK backend for python-matplotlib -Group: Development/Libraries BuildRequires: gtk2-devel BuildRequires: pycairo-devel BuildRequires: pygtk2-devel @@ -204,7 +173,6 @@ Requires: python2-matplotlib%{?_isa} = %{version}-%{release} %package -n python2-matplotlib-gtk3 Summary: GTK3 backend for python-matplotlib -Group: Development/Libraries # This should be converted to typelib(Gtk) when supported BuildRequires: gtk3 BuildRequires: pygobject3-base @@ -218,7 +186,6 @@ Requires: python2-matplotlib%{?_isa} = %{version}-%{release} %package -n python2-matplotlib-tk Summary: Tk backend for python-matplotlib -Group: Development/Libraries BuildRequires: tcl-devel BuildRequires: tkinter BuildRequires: tk-devel @@ -229,10 +196,8 @@ Requires: tkinter %description -n python2-matplotlib-tk %{summary} -%if %{with_wx} %package -n python2-matplotlib-wx Summary: wxPython backend for python-matplotlib -Group: Development/Libraries BuildRequires: wxPython-devel Requires: python2-matplotlib%{?_isa} = %{version}-%{release} Requires: wxPython @@ -240,11 +205,9 @@ Requires: wxPython %description -n python2-matplotlib-wx %{summary} -%endif # with_wx %package -n python2-matplotlib-doc Summary: Documentation files for python-matplotlib -Group: Documentation %if %{with_html} BuildRequires: dvipng BuildRequires: graphviz @@ -280,10 +243,8 @@ Requires: python-matplotlib-data = %{version}-%{release} %{summary} %endif -%if %{with_python3} %package -n python3-matplotlib Summary: Python 2D plotting library -Group: Development/Libraries BuildRequires: python3-cairo BuildRequires: python3-cycler >= 0.10.0 BuildRequires: python3-dateutil @@ -311,12 +272,8 @@ Requires: python3-pyparsing Requires: python3-pytz Requires: python3-six %if !%{with_bundled_fonts} -%if 0%{?fedora} || 0%{?rhel} > 7 Requires: stix-math-fonts %else -Requires: stix-fonts -%endif -%else Provides: bundled(stix-math-fonts) %endif %{?python_provide:%python_provide python3-matplotlib} @@ -334,7 +291,6 @@ errorcharts, scatterplots, etc, with just a few lines of code. %package -n 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 @@ -344,10 +300,8 @@ Requires: python3-PyQt4 %description -n python3-matplotlib-qt4 %{summary} -%if %{with_qt5} %package -n python3-matplotlib-qt5 Summary: Qt5 backend for python3-matplotlib -Group: Development/Libraries BuildRequires: python3-qt5 Requires: python3-matplotlib%{?_isa} = %{version}-%{release} Requires: python3-qt5 @@ -355,12 +309,10 @@ Requires: python3-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 Summary: GTK3 backend for python3-matplotlib -Group: Development/Libraries # This should be converted to typelib(Gtk) when supported BuildRequires: gtk3 BuildRequires: python3-gobject @@ -374,7 +326,6 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release} %package -n python3-matplotlib-tk Summary: Tk backend for python3-matplotlib -Group: Development/Libraries BuildRequires: python3-tkinter Requires: python3-matplotlib%{?_isa} = %{version}-%{release} Requires: python3-tkinter @@ -382,7 +333,6 @@ Requires: python3-tkinter %description -n python3-matplotlib-tk %{summary} -%endif %prep %autosetup -n matplotlib-%{version}%{?rctag} -N @@ -442,13 +392,11 @@ popd # 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/ @@ -465,13 +413,11 @@ mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data \ 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 @@ -489,13 +435,11 @@ PYTHONPATH=%{buildroot}%{python2_sitearch} \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python2} -m pytest --pyargs matplotlib -m 'not network' -k 'not test_polycollection_close' -ra -%if %{with_python3} MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python3} tests.py -m 'not network' -ra -%endif %endif # run_tests %files -n python-matplotlib-data @@ -536,11 +480,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %{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* @@ -556,11 +498,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %{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 @@ -568,7 +508,6 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %doc doc/build/html/* %endif -%if %{with_python3} %files -n python3-matplotlib %license LICENSE/ %doc README.rst CONTRIBUTING.md @@ -599,13 +538,11 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %{python3_sitearch}/matplotlib/backends/backend_qt4agg.* %{python3_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.* -%if %{with_qt5} %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 %files -n python3-matplotlib-gtk3 %{python3_sitearch}/matplotlib/backends/backend_gtk* @@ -617,7 +554,6 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %{python3_sitearch}/matplotlib/backends/tkagg.* %{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.* %{python3_sitearch}/matplotlib/backends/_tkagg.* -%endif %changelog * Mon Feb 05 2018 Karsten Hopp - 2.1.2-2} From da0bd4c413a9b6d09505ed7c521b48255420c744 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 13 Mar 2018 05:35:58 -0400 Subject: [PATCH 191/240] Add changelog entry about cleanup. --- python-matplotlib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 46c7640..d3099ec 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -34,7 +34,7 @@ Name: python-matplotlib Version: 2.1.2 -Release: 2%{?rctag:.%{rctag}}%{?dist} +Release: 3%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -556,7 +556,10 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %{python3_sitearch}/matplotlib/backends/_tkagg.* %changelog -* Mon Feb 05 2018 Karsten Hopp - 2.1.2-2} +* Tue Mar 13 2018 Elliott Sales de Andrade - 2.1.2-3 +- Cleanup spec file of old conditionals + +* Mon Feb 05 2018 Karsten Hopp - 2.1.2-2 - update and fix spec file conditionals * Sun Jan 21 2018 Elliott Sales de Andrade - 2.1.2-1 From f46b703e9615aa7ebaf62b768dfb92c7b5e75373 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 13 Mar 2018 05:45:18 -0400 Subject: [PATCH 192/240] Trim trailing whitespace. --- python-matplotlib.spec | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index d3099ec..d431ad8 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -859,7 +859,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 - 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 - 1.0.1-12 - Add Requires dvipng (Bug 684836) @@ -917,20 +917,20 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild * Thu Jul 8 2010 Jef Spaleta - 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 - 0.99.3-1 -- New upstream release +- New upstream release * Thu May 27 2010 Jef Spaleta - 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 - 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 - 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 - 0.99.1.2 - Update to 0.99.1.2 @@ -991,7 +991,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ - Rebuild for Tcl/Tk downgrade * Sat Feb 10 2007 Jef Spaleta 0.90.0-2 -- Release bump for rebuild against new tk +- Release bump for rebuild against new tk * Fri Feb 09 2007 Orion Poplawski 0.90.0-1 - Update to 0.90.0 @@ -1053,7 +1053,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ - New upstream version 0.84 * Tue Aug 02 2005 Orion Poplawski 0.83.2-3 -- bump release +- bump release * Tue Aug 02 2005 Orion Poplawski 0.83.2-2 - Add Requires: python-numeric, pytz, python-dateutil From bf010710f1be907655b98d1797537a2ef8bdc92d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 13 Mar 2018 17:42:07 -0400 Subject: [PATCH 193/240] Use more python2- dependencies where available. --- python-matplotlib.spec | 49 +++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index d431ad8..b6a5407 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -75,24 +75,24 @@ errorcharts, scatterplots, etc, with just a few lines of code. %package -n python2-matplotlib Summary: Python 2D plotting library -BuildRequires: numpy -BuildRequires: pyparsing -BuildRequires: python-dateutil -BuildRequires: python-pyside -BuildRequires: python-setuptools -BuildRequires: python-six -BuildRequires: python-subprocess32 +BuildRequires: python2-numpy +BuildRequires: python2-pyparsing +BuildRequires: python2-dateutil +BuildRequires: python2-pyside +BuildRequires: python2-setuptools +BuildRequires: python2-six +BuildRequires: python2-subprocess32 BuildRequires: python2-devel BuildRequires: python2-backports-functools_lru_cache BuildRequires: python2-pillow -BuildRequires: pytz +BuildRequires: python2-pytz %if %{with_html} BuildRequires: %{_bindir}/pdftops -# circular dependency: python-basemap requires matplotlib -BuildRequires: python-basemap -BuildRequires: python-ipython-sphinx -BuildRequires: python-numpydoc -BuildRequires: python-scikit-image +# circular dependency: python2-basemap requires matplotlib +BuildRequires: python2-basemap +BuildRequires: python2-ipython-sphinx +BuildRequires: python2-numpydoc +BuildRequires: python2-scikit-image BuildRequires: python2-colorspacious BuildRequires: python2-cycler >= 0.10.0 %endif @@ -103,17 +103,17 @@ BuildRequires: python2-mock %endif Requires: dejavu-sans-fonts Requires: dvipng -Requires: numpy -Requires: pyparsing +Requires: python2-numpy +Requires: python2-pyparsing Requires: python2-cycler >= 0.10.0 -Requires: python-dateutil +Requires: python2-dateutil Requires: python2-backports-functools_lru_cache Requires: python-matplotlib-data = %{version}-%{release} %{?backend_subpackage:Requires: python2-matplotlib-%{backend_subpackage}%{?_isa} = %{version}-%{release}} Recommends: python2-pillow -Requires: python-six -Requires: python-subprocess32 -Requires: pytz +Requires: python2-six +Requires: python2-subprocess32 +Requires: python2-pytz %if !%{with_bundled_fonts} Requires: stix-math-fonts %else @@ -140,7 +140,7 @@ errorcharts, scatterplots, etc, with just a few lines of code. %package -n python2-matplotlib-qt4 Summary: Qt4 backend for python-matplotlib BuildRequires: PyQt4-devel -Requires: PyQt4 +Requires: python2-PyQt4 Requires: python2-matplotlib%{?_isa} = %{version}-%{release} Requires: python2-matplotlib-qt5 %{?python_provide:%python_provide python2-matplotlib-qt4} @@ -150,8 +150,8 @@ Requires: python2-matplotlib-qt5 %package -n python2-matplotlib-qt5 Summary: Qt5 backend for python-matplotlib -BuildRequires: python-qt5 -Requires: python-qt5 +BuildRequires: python2-qt5 +Requires: python2-qt5 Requires: python2-matplotlib%{?_isa} = %{version}-%{release} %{?python_provide:%python_provide python2-matplotlib-qt5} @@ -200,7 +200,7 @@ Requires: tkinter Summary: wxPython backend for python-matplotlib BuildRequires: wxPython-devel Requires: python2-matplotlib%{?_isa} = %{version}-%{release} -Requires: wxPython +Requires: python2-wxpython %{?python_provide:%python_provide python2-matplotlib-wx} %description -n python2-matplotlib-wx @@ -211,7 +211,7 @@ Summary: Documentation files for python-matplotlib %if %{with_html} BuildRequires: dvipng BuildRequires: graphviz -BuildRequires: python-sphinx +BuildRequires: python2-sphinx BuildRequires: tex(latex) BuildRequires: tex-preview %endif @@ -558,6 +558,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %changelog * Tue Mar 13 2018 Elliott Sales de Andrade - 2.1.2-3 - Cleanup spec file of old conditionals +- Use more python2- dependencies * Mon Feb 05 2018 Karsten Hopp - 2.1.2-2 - update and fix spec file conditionals From ad961d502ce8376dfe1752dff04e0728d62f6e07 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 13 Mar 2018 16:43:27 -0400 Subject: [PATCH 194/240] Run tests in parallel. --- python-matplotlib.spec | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index b6a5407..154df55 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -34,7 +34,7 @@ Name: python-matplotlib Version: 2.1.2 -Release: 3%{?rctag:.%{rctag}}%{?dist} +Release: 4%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -98,6 +98,7 @@ BuildRequires: python2-cycler >= 0.10.0 %endif %if %{run_tests} BuildRequires: python2-pytest +BuildRequires: python2-pytest-xdist BuildRequires: python2-cycler >= 0.10.0 BuildRequires: python2-mock %endif @@ -265,6 +266,7 @@ Requires: python3-dateutil Requires: python3-matplotlib-%{?backend_subpackage}%{!?backend_subpackage:tk}%{?_isa} = %{version}-%{release} %if %{run_tests} BuildRequires: python3-pytest +BuildRequires: python3-pytest-xdist %endif Requires: python3-numpy Recommends: python3-pillow @@ -433,13 +435,14 @@ MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python2_sitearch} \ xvfb-run -a -s "-screen 0 640x480x24" \ - %{__python2} -m pytest --pyargs matplotlib -m 'not network' -k 'not test_polycollection_close' -ra + %{__python2} -m pytest --pyargs matplotlib -ra -n $(getconf _NPROCESSORS_ONLN) \ + -m 'not network' -k 'not test_polycollection_close' MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ xvfb-run -a -s "-screen 0 640x480x24" \ - %{__python3} tests.py -m 'not network' -ra + %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) -m 'not network' %endif # run_tests %files -n python-matplotlib-data @@ -556,6 +559,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %{python3_sitearch}/matplotlib/backends/_tkagg.* %changelog +* Tue Mar 13 2018 Elliott Sales de Andrade - 2.1.2-4 +- Run tests in parallel + * Tue Mar 13 2018 Elliott Sales de Andrade - 2.1.2-3 - Cleanup spec file of old conditionals - Use more python2- dependencies From 15844872fc2e11821f2c12673e0d7d43ce1612c2 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 03:28:44 -0400 Subject: [PATCH 195/240] Update to latest version. --- .gitignore | 2 + 0001-Add-libdl-on-Unix-like-systems.patch | 29 -- 0001-Force-using-system-qhull.patch | 43 +++ 0001-matplotlibrc-path-search-fix.patch | 12 +- ...crease-tolerances-for-FreeType-2.7.1.patch | 118 -------- ...ase-tolerances-for-non-x86_64-arches.patch | 27 ++ ...e-some-tolerances-for-32-bit-systems.patch | 282 ++++++++++++++---- ...e-some-tolerances-for-non-x86-arches.patch | 135 ++++++--- ...rances-for-FT-2.7.1-and-other-arches.patch | 41 --- python-matplotlib.spec | 65 ++-- sources | 1 + 11 files changed, 430 insertions(+), 325 deletions(-) delete mode 100644 0001-Add-libdl-on-Unix-like-systems.patch create mode 100644 0001-Force-using-system-qhull.patch delete mode 100644 0002-Increase-tolerances-for-FreeType-2.7.1.patch create mode 100644 0002-Increase-tolerances-for-non-x86_64-arches.patch rename 0004-Increase-some-tolerances-for-32-bit-systems.patch => 0003-Increase-some-tolerances-for-32-bit-systems.patch (55%) rename 0004-Increase-some-tolerances-for-non-x86-arches.patch => 0003-Increase-some-tolerances-for-non-x86-arches.patch (59%) delete mode 100644 0003-Increase-tolerances-for-FT-2.7.1-and-other-arches.patch diff --git a/.gitignore b/.gitignore index f5347ce..fcd190a 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/0001-Add-libdl-on-Unix-like-systems.patch b/0001-Add-libdl-on-Unix-like-systems.patch deleted file mode 100644 index 5cbbeca..0000000 --- a/0001-Add-libdl-on-Unix-like-systems.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 77bae7e7ea5c02f5be0d59dabeae6c3c09571fbe Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Wed, 24 Jan 2018 02:51:55 -0500 -Subject: [PATCH] Add libdl on Unix-like systems. - -Not linking with libdl causes errors when -z defs is in the linker -flags. - -Signed-off-by: Elliott Sales de Andrade ---- - setupext.py | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/setupext.py b/setupext.py -index d0f3f2070..6d2c3e296 100644 ---- a/setupext.py -+++ b/setupext.py -@@ -1493,6 +1493,8 @@ class BackendTkAgg(OptionalBackendPackage): - if sys.platform == 'win32': - # PSAPI library needed for finding Tcl / Tk at run time - ext.libraries.extend(['psapi']) -+ elif sys.platform != 'darwin': -+ ext.libraries.extend(['dl']) - - - class BackendGtk(OptionalBackendPackage): --- -2.14.3 - diff --git a/0001-Force-using-system-qhull.patch b/0001-Force-using-system-qhull.patch new file mode 100644 index 0000000..d8079bc --- /dev/null +++ b/0001-Force-using-system-qhull.patch @@ -0,0 +1,43 @@ +From 46361ca058295e3f08d3c54196d990c497834306 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Fri, 30 Mar 2018 03:15:51 -0400 +Subject: [PATCH] Force using system qhull. + +Signed-off-by: Elliott Sales de Andrade +--- + setupext.py | 17 ++--------------- + 1 file changed, 2 insertions(+), 15 deletions(-) + +diff --git a/setupext.py b/setupext.py +index d2ff239ad..30e0c9085 100644 +--- a/setupext.py ++++ b/setupext.py +@@ -1318,23 +1318,10 @@ class Qhull(SetupPackage): + + def check(self): + self.__class__.found_external = True +- try: +- return self._check_for_pkg_config( +- 'libqhull', 'libqhull/qhull_a.h', min_version='2015.2') +- except CheckFailed as e: +- self.__class__.found_pkgconfig = False +- self.__class__.found_external = False +- return str(e) + ' Using local copy.' ++ return ' Using system copy.' + + def add_flags(self, ext): +- if self.found_external: +- pkg_config.setup_extension(ext, 'qhull', +- default_libraries=['qhull']) +- else: +- 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.14.3 + diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index f069fde..a11c26c 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,7 +1,7 @@ -From 69b627b84fa8081748d93d180deb2218b99270a4 Mon Sep 17 00:00:00 2001 +From 69c596604b1dee1b8aeb066907a4543053e375a9 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 -Subject: [PATCH 1/4] matplotlibrc path search fix +Subject: [PATCH 1/3] matplotlibrc path search fix Signed-off-by: Elliott Sales de Andrade --- @@ -9,10 +9,10 @@ Signed-off-by: Elliott Sales de Andrade 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index 3ba486af1..b8caf27dc 100644 +index 93397070f..c68b8ca9a 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py -@@ -635,9 +635,12 @@ def _get_data_path(): +@@ -739,9 +739,12 @@ def _get_data_path(): _file = _decode_filesystem_path(__file__) path = os.sep.join([os.path.dirname(_file), 'mpl-data']) @@ -25,7 +25,7 @@ index 3ba486af1..b8caf27dc 100644 # setuptools' namespace_packages may highjack this init file # so need to try something known to be in matplotlib, not basemap import matplotlib.afm -@@ -731,7 +734,7 @@ def matplotlib_fname(): +@@ -836,7 +839,7 @@ def matplotlib_fname(): yield matplotlibrc yield os.path.join(matplotlibrc, 'matplotlibrc') yield os.path.join(_get_configdir(), 'matplotlibrc') @@ -33,7 +33,7 @@ index 3ba486af1..b8caf27dc 100644 + yield '/etc/matplotlibrc' for fname in gen_candidates(): - if os.path.isfile(fname): + if os.path.exists(fname): -- 2.14.3 diff --git a/0002-Increase-tolerances-for-FreeType-2.7.1.patch b/0002-Increase-tolerances-for-FreeType-2.7.1.patch deleted file mode 100644 index 4db5b16..0000000 --- a/0002-Increase-tolerances-for-FreeType-2.7.1.patch +++ /dev/null @@ -1,118 +0,0 @@ -From f146998e2bf6db54dae926ceec57d2baa6003ea0 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Tue, 23 Jan 2018 20:22:05 -0500 -Subject: [PATCH 2/4] Increase tolerances for FreeType 2.7.1. - -Signed-off-by: Elliott Sales de Andrade ---- - lib/matplotlib/testing/decorators.py | 2 +- - lib/matplotlib/tests/test_axes.py | 5 ++--- - lib/matplotlib/tests/test_mathtext.py | 4 ++-- - lib/matplotlib/tests/test_patches.py | 3 +-- - lib/matplotlib/tests/test_streamplot.py | 3 +-- - lib/mpl_toolkits/tests/test_mplot3d.py | 2 +- - 6 files changed, 8 insertions(+), 11 deletions(-) - -diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py -index c5e069b31..ebd68cfab 100644 ---- a/lib/matplotlib/testing/decorators.py -+++ b/lib/matplotlib/testing/decorators.py -@@ -406,7 +406,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_axes.py b/lib/matplotlib/tests/test_axes.py -index 7164d0cec..6492cc140 100644 ---- a/lib/matplotlib/tests/test_axes.py -+++ b/lib/matplotlib/tests/test_axes.py -@@ -671,8 +671,7 @@ def test_polar_rlabel_position(): - ax.tick_params(rotation='auto') - - --@image_comparison(baseline_images=['polar_theta_wedge'], style='default', -- tol=0.01 if six.PY2 else 0) -+@image_comparison(baseline_images=['polar_theta_wedge'], style='default') - def test_polar_theta_limits(): - r = np.arange(0, 3.0, 0.01) - theta = 2*np.pi*r -@@ -4679,7 +4678,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 = { -diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py -index 7ef77ce6a..b8c9c9e8b 100644 ---- a/lib/matplotlib/tests/test_mathtext.py -+++ b/lib/matplotlib/tests/test_mathtext.py -@@ -174,7 +174,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): - matplotlib.rcParams['mathtext.fontset'] = fontset - fig = plt.figure(figsize=(5.25, 0.75)) -@@ -188,7 +188,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test): - ['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): - 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 20ffa6b08..81737c84d 100644 ---- a/lib/matplotlib/tests/test_patches.py -+++ b/lib/matplotlib/tests/test_patches.py -@@ -267,9 +267,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_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index 1d7e09fef..48f1e0683 100644 ---- a/lib/matplotlib/tests/test_streamplot.py -+++ b/lib/matplotlib/tests/test_streamplot.py -@@ -40,8 +40,7 @@ def test_startpoints(): - plt.plot(start_x, start_y, 'ok') - - --@image_comparison(baseline_images=['streamplot_colormap'], -- tol=.02) -+@image_comparison(baseline_images=['streamplot_colormap']) - 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/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py -index c157433c7..c13f3be2f 100644 ---- a/lib/mpl_toolkits/tests/test_mplot3d.py -+++ b/lib/mpl_toolkits/tests/test_mplot3d.py -@@ -658,7 +658,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.14.3 - diff --git a/0002-Increase-tolerances-for-non-x86_64-arches.patch b/0002-Increase-tolerances-for-non-x86_64-arches.patch new file mode 100644 index 0000000..c7b6857 --- /dev/null +++ b/0002-Increase-tolerances-for-non-x86_64-arches.patch @@ -0,0 +1,27 @@ +From ee4772513109de1c2dadb4d4989eedd2a5f92e51 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Tue, 23 Jan 2018 20:27:17 -0500 +Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/tests/test_streamplot.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py +index 81a51e711..4f70ce861 100644 +--- a/lib/matplotlib/tests/test_streamplot.py ++++ b/lib/matplotlib/tests/test_streamplot.py +@@ -58,8 +58,7 @@ def test_linewidth(): + linewidth=lw) + + +-@image_comparison(baseline_images=['streamplot_masks_and_nans'], +- tol=0.04 if on_win else 0) ++@image_comparison(baseline_images=['streamplot_masks_and_nans'], tol=0.01) + def test_masks_and_nans(): + X, Y, U, V = velocity_field() + mask = np.zeros(U.shape, dtype=bool) +-- +2.14.3 + diff --git a/0004-Increase-some-tolerances-for-32-bit-systems.patch b/0003-Increase-some-tolerances-for-32-bit-systems.patch similarity index 55% rename from 0004-Increase-some-tolerances-for-32-bit-systems.patch rename to 0003-Increase-some-tolerances-for-32-bit-systems.patch index a7012bc..e81469d 100644 --- a/0004-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0003-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,28 +1,48 @@ -From 25c7d1af15f4478e795250360d2f778a76c2358d Mon Sep 17 00:00:00 2001 +From 10e4a0fbcab2ad59b95e1391d3285aff07e1f473 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade -Date: Wed, 24 Jan 2018 01:38:52 -0500 -Subject: [PATCH 4/4] Increase some tolerances for 32-bit systems. +Date: Sat, 31 Mar 2018 00:15:14 -0400 +Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems. Signed-off-by: Elliott Sales de Andrade --- - lib/matplotlib/tests/test_artist.py | 3 ++- - lib/matplotlib/tests/test_axes.py | 42 ++++++++++++++++---------------- - lib/matplotlib/tests/test_collections.py | 2 +- - lib/matplotlib/tests/test_colorbar.py | 11 +++++---- - lib/matplotlib/tests/test_contour.py | 6 ++--- - lib/matplotlib/tests/test_image.py | 2 +- - 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_transforms.py | 2 +- - lib/mpl_toolkits/tests/test_mplot3d.py | 2 +- - 11 files changed, 39 insertions(+), 37 deletions(-) + lib/matplotlib/testing/decorators.py | 2 +- + lib/matplotlib/tests/test_artist.py | 3 +- + lib/matplotlib/tests/test_axes.py | 47 +++++++++++----------- + lib/matplotlib/tests/test_collections.py | 2 +- + lib/matplotlib/tests/test_colorbar.py | 11 ++--- + lib/matplotlib/tests/test_constrainedlayout.py | 2 +- + lib/matplotlib/tests/test_contour.py | 6 +-- + lib/matplotlib/tests/test_image.py | 2 +- + 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 | 3 +- + lib/matplotlib/tests/test_transforms.py | 2 +- + .../tests/test_axisartist_floating_axes.py | 4 +- + .../test_axisartist_grid_helper_curvelinear.py | 4 +- + lib/mpl_toolkits/tests/test_mplot3d.py | 4 +- + 18 files changed, 52 insertions(+), 53 deletions(-) +diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py +index 0ce6e6252..9a80eec1a 100644 +--- a/lib/matplotlib/testing/decorators.py ++++ b/lib/matplotlib/testing/decorators.py +@@ -408,7 +408,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 786d50903..105714ef4 100644 +index 8d1a01294..02acbb206 100644 --- a/lib/matplotlib/tests/test_artist.py +++ b/lib/matplotlib/tests/test_artist.py -@@ -95,7 +95,8 @@ def test_collection_transform_of_none(): +@@ -96,7 +96,8 @@ def test_collection_transform_of_none(): assert isinstance(c._transOffset, mtransforms.IdentityTransform) @@ -33,10 +53,10 @@ index 786d50903..105714ef4 100644 exterior = mpath.Path.unit_rectangle().deepcopy() exterior.vertices *= 4 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 6492cc140..8609d8c31 100644 +index 77ec92b01..f16e70cfd 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py -@@ -483,7 +483,7 @@ def test_single_point(): +@@ -523,7 +523,7 @@ def test_single_point(): plt.plot('b', 'b', 'o', data=data) @@ -45,7 +65,17 @@ index 6492cc140..8609d8c31 100644 def test_single_date(): time1 = [721964.0] data1 = [-65.54] -@@ -971,7 +971,7 @@ def test_fill_between_interpolate(): +@@ -707,8 +707,7 @@ def test_polar_rlabel_position(): + ax.tick_params(rotation='auto') + + +-@image_comparison(baseline_images=['polar_theta_wedge'], style='default', +- tol=0.01 if six.PY2 else 0) ++@image_comparison(baseline_images=['polar_theta_wedge'], style='default') + def test_polar_theta_limits(): + r = np.arange(0, 3.0, 0.01) + theta = 2*np.pi*r +@@ -1008,7 +1007,7 @@ def test_fill_between_interpolate(): @image_comparison(baseline_images=['fill_between_interpolate_decreasing'], @@ -54,7 +84,7 @@ index 6492cc140..8609d8c31 100644 def test_fill_between_interpolate_decreasing(): p = np.array([724.3, 700, 655]) t = np.array([9.4, 7, 2.2]) -@@ -1085,7 +1085,7 @@ def test_pcolormesh(): +@@ -1122,7 +1121,7 @@ def test_pcolormesh(): @image_comparison(baseline_images=['pcolormesh_datetime_axis'], @@ -63,7 +93,7 @@ index 6492cc140..8609d8c31 100644 def test_pcolormesh_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1111,7 +1111,7 @@ def test_pcolormesh_datetime_axis(): +@@ -1148,7 +1147,7 @@ def test_pcolormesh_datetime_axis(): @image_comparison(baseline_images=['pcolor_datetime_axis'], @@ -72,7 +102,7 @@ index 6492cc140..8609d8c31 100644 def test_pcolor_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1167,7 +1167,7 @@ def test_canonical(): +@@ -1205,7 +1204,7 @@ def test_canonical(): @image_comparison(baseline_images=['arc_angles'], remove_text=True, @@ -81,7 +111,7 @@ index 6492cc140..8609d8c31 100644 def test_arc_angles(): from matplotlib import patches # Ellipse parameters -@@ -2433,7 +2433,7 @@ def test_boxplot_mod_artist_after_plotting(): +@@ -2467,7 +2466,7 @@ def test_boxplot_mod_artist_after_plotting(): @image_comparison(baseline_images=['violinplot_vert_baseline', 'violinplot_vert_baseline'], @@ -90,7 +120,7 @@ index 6492cc140..8609d8c31 100644 def test_vert_violinplot_baseline(): # First 9 digits of frac(sqrt(2)) np.random.seed(414213562) -@@ -2451,7 +2451,7 @@ def test_vert_violinplot_baseline(): +@@ -2485,7 +2484,7 @@ def test_vert_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_vert_showmeans'], @@ -99,7 +129,7 @@ index 6492cc140..8609d8c31 100644 def test_vert_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(3)) -@@ -2462,7 +2462,7 @@ def test_vert_violinplot_showmeans(): +@@ -2496,7 +2495,7 @@ def test_vert_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_vert_showextrema'], @@ -108,7 +138,7 @@ index 6492cc140..8609d8c31 100644 def test_vert_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(5)) -@@ -2473,7 +2473,7 @@ def test_vert_violinplot_showextrema(): +@@ -2507,7 +2506,7 @@ def test_vert_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_vert_showmedians'], @@ -117,7 +147,7 @@ index 6492cc140..8609d8c31 100644 def test_vert_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(7)) -@@ -2484,7 +2484,7 @@ def test_vert_violinplot_showmedians(): +@@ -2518,7 +2517,7 @@ def test_vert_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_vert_showall'], @@ -126,7 +156,7 @@ index 6492cc140..8609d8c31 100644 def test_vert_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(11)) -@@ -2495,7 +2495,7 @@ def test_vert_violinplot_showall(): +@@ -2529,7 +2528,7 @@ def test_vert_violinplot_showall(): @image_comparison(baseline_images=['violinplot_vert_custompoints_10'], @@ -135,7 +165,7 @@ index 6492cc140..8609d8c31 100644 def test_vert_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(13)) -@@ -2506,7 +2506,7 @@ def test_vert_violinplot_custompoints_10(): +@@ -2540,7 +2539,7 @@ def test_vert_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_vert_custompoints_200'], @@ -144,7 +174,7 @@ index 6492cc140..8609d8c31 100644 def test_vert_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(17)) -@@ -2517,7 +2517,7 @@ def test_vert_violinplot_custompoints_200(): +@@ -2551,7 +2550,7 @@ def test_vert_violinplot_custompoints_200(): @image_comparison(baseline_images=['violinplot_horiz_baseline'], @@ -153,7 +183,7 @@ index 6492cc140..8609d8c31 100644 def test_horiz_violinplot_baseline(): ax = plt.axes() # First 9 digits of frac(sqrt(19)) -@@ -2528,7 +2528,7 @@ def test_horiz_violinplot_baseline(): +@@ -2562,7 +2561,7 @@ def test_horiz_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_horiz_showmedians'], @@ -162,7 +192,7 @@ index 6492cc140..8609d8c31 100644 def test_horiz_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(23)) -@@ -2539,7 +2539,7 @@ def test_horiz_violinplot_showmedians(): +@@ -2573,7 +2572,7 @@ def test_horiz_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_horiz_showmeans'], @@ -171,7 +201,7 @@ index 6492cc140..8609d8c31 100644 def test_horiz_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(29)) -@@ -2550,7 +2550,7 @@ def test_horiz_violinplot_showmeans(): +@@ -2584,7 +2583,7 @@ def test_horiz_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_horiz_showextrema'], @@ -180,7 +210,7 @@ index 6492cc140..8609d8c31 100644 def test_horiz_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(31)) -@@ -2561,7 +2561,7 @@ def test_horiz_violinplot_showextrema(): +@@ -2595,7 +2594,7 @@ def test_horiz_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_horiz_showall'], @@ -189,7 +219,7 @@ index 6492cc140..8609d8c31 100644 def test_horiz_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(37)) -@@ -2572,7 +2572,7 @@ def test_horiz_violinplot_showall(): +@@ -2606,7 +2605,7 @@ def test_horiz_violinplot_showall(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_10'], @@ -198,7 +228,7 @@ index 6492cc140..8609d8c31 100644 def test_horiz_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(41)) -@@ -2583,7 +2583,7 @@ def test_horiz_violinplot_custompoints_10(): +@@ -2617,7 +2616,7 @@ def test_horiz_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_200'], @@ -207,7 +237,7 @@ index 6492cc140..8609d8c31 100644 def test_horiz_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(43)) -@@ -3909,7 +3909,7 @@ def test_psd_noise(): +@@ -3964,7 +3963,7 @@ def test_psd_noise(): @image_comparison(baseline_images=['csd_freqs'], remove_text=True, @@ -216,7 +246,16 @@ index 6492cc140..8609d8c31 100644 def test_csd_freqs(): '''test axes.csd with sinusoidal stimuli''' n = 10000 -@@ -5153,7 +5153,7 @@ def test_date_timezone_y(): +@@ -4823,7 +4822,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 = { +@@ -5318,7 +5317,7 @@ def test_date_timezone_y(): @image_comparison(baseline_images=['date_timezone_x_and_y'], @@ -226,10 +265,10 @@ index 6492cc140..8609d8c31 100644 # Tests issue 5575 time_index = [pytz.timezone('UTC').localize(datetime.datetime( diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py -index c27aeb11a..9d39a3e91 100644 +index 291647d17..265f23fed 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py -@@ -468,7 +468,7 @@ def test_EllipseCollection(): +@@ -467,7 +467,7 @@ def test_EllipseCollection(): @image_comparison(baseline_images=['polycollection_close'], @@ -239,10 +278,10 @@ index c27aeb11a..9d39a3e91 100644 from mpl_toolkits.mplot3d import Axes3D diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py -index b75ba7e9f..cfbb16444 100644 +index 539ee8c83..ae21e723f 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py -@@ -96,7 +96,7 @@ def _colorbar_extension_length(spacing): +@@ -95,7 +95,7 @@ def _colorbar_extension_length(spacing): @image_comparison( baseline_images=['colorbar_extensions_shape_uniform', 'colorbar_extensions_shape_proportional'], @@ -251,7 +290,7 @@ index b75ba7e9f..cfbb16444 100644 def test_colorbar_extension_shape(): '''Test rectangular colorbar extensions.''' # Create figures for uniform and proportionally spaced colorbars. -@@ -106,7 +106,7 @@ def test_colorbar_extension_shape(): +@@ -105,7 +105,7 @@ def test_colorbar_extension_shape(): @image_comparison(baseline_images=['colorbar_extensions_uniform', 'colorbar_extensions_proportional'], @@ -260,7 +299,7 @@ index b75ba7e9f..cfbb16444 100644 def test_colorbar_extension_length(): '''Test variable length colorbar extensions.''' # Create figures for uniform and proportionally spaced colorbars. -@@ -120,7 +120,7 @@ def test_colorbar_extension_length(): +@@ -119,7 +119,7 @@ def test_colorbar_extension_length(): 'cbar_sharing', ], extensions=['png'], remove_text=True, @@ -269,7 +308,7 @@ index b75ba7e9f..cfbb16444 100644 def test_colorbar_positioning(): data = np.arange(1200).reshape(30, 40) levels = [0, 200, 400, 600, 800, 1000, 1200] -@@ -174,7 +174,7 @@ def test_colorbar_positioning(): +@@ -173,7 +173,7 @@ def test_colorbar_positioning(): @image_comparison(baseline_images=['cbar_with_subplots_adjust'], extensions=['png'], remove_text=True, @@ -278,7 +317,7 @@ index b75ba7e9f..cfbb16444 100644 def test_gridspec_make_colorbar(): plt.figure() data = np.arange(1200).reshape(30, 40) -@@ -234,7 +234,8 @@ def test_colorbarbase(): +@@ -233,7 +233,8 @@ def test_colorbarbase(): @image_comparison( baseline_images=['colorbar_closed_patch'], @@ -288,11 +327,24 @@ index b75ba7e9f..cfbb16444 100644 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 9c36fb247..929e38bd8 100644 +--- a/lib/matplotlib/tests/test_constrainedlayout.py ++++ b/lib/matplotlib/tests/test_constrainedlayout.py +@@ -296,7 +296,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 16ac9e865..29c1b26f2 100644 +index 35d33b972..f10483ce4 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py -@@ -228,7 +228,7 @@ def test_given_colors_levels_and_extends(): +@@ -225,7 +225,7 @@ def test_given_colors_levels_and_extends(): @image_comparison(baseline_images=['contour_datetime_axis'], @@ -301,16 +353,16 @@ index 16ac9e865..29c1b26f2 100644 def test_contour_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -254,7 +254,7 @@ def test_contour_datetime_axis(): +@@ -251,7 +251,7 @@ def test_contour_datetime_axis(): @image_comparison(baseline_images=['contour_test_label_transforms'], - extensions=['png'], remove_text=True) -+ extensions=['png'], remove_text=True, tol=0.74) ++ extensions=['png'], remove_text=True, 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 +283,7 @@ def test_labels(): +@@ -282,7 +282,7 @@ def test_labels(): @image_comparison(baseline_images=['contour_corner_mask_False', 'contour_corner_mask_True'], @@ -320,10 +372,10 @@ index 16ac9e865..29c1b26f2 100644 n = 60 mask_level = 0.95 diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py -index fd6430d56..e9bf1b1db 100644 +index 26e3b4a7e..269f814bb 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py -@@ -754,7 +754,7 @@ def test_imshow_endianess(): +@@ -784,7 +784,7 @@ def test_imshow_endianess(): @image_comparison(baseline_images=['imshow_masked_interpolation'], @@ -332,24 +384,61 @@ index fd6430d56..e9bf1b1db 100644 def test_imshow_masked_interpolation(): cm = copy(plt.get_cmap('viridis')) +diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py +index cdc1093e1..ac0d8bf05 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): + 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): + ['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): + 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 ff1abb9c6..cc90e6bb0 100644 +--- a/lib/matplotlib/tests/test_patches.py ++++ b/lib/matplotlib/tests/test_patches.py +@@ -266,9 +266,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 e36d6deb6..985d69cb2 100644 +index fe7265957..2addc35ed 100644 --- a/lib/matplotlib/tests/test_patheffects.py +++ b/lib/matplotlib/tests/test_patheffects.py -@@ -125,7 +125,7 @@ def test_SimplePatchShadow_offset(): +@@ -121,7 +121,7 @@ def test_SimplePatchShadow_offset(): assert pe._offset == (4, 5) --@image_comparison(baseline_images=['collection'], tol=0.019) +-@image_comparison(baseline_images=['collection'], tol=0.02) +@image_comparison(baseline_images=['collection'], tol=0.084) 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 bd6ac6862..512f07948 100644 +index 89a5a512e..a25961284 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py -@@ -43,7 +43,7 @@ def test_simple(): +@@ -42,7 +42,7 @@ def test_simple(): @image_comparison(baseline_images=['multi_pickle'], extensions=['png'], remove_text=True, @@ -371,11 +460,25 @@ index a0e1e674f..ede6bfc64 100644 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 4f70ce861..5bc8184f7 100644 +--- a/lib/matplotlib/tests/test_streamplot.py ++++ b/lib/matplotlib/tests/test_streamplot.py +@@ -39,8 +39,7 @@ def test_startpoints(): + plt.plot(start_x, start_y, 'ok') + + +-@image_comparison(baseline_images=['streamplot_colormap'], +- tol=.02) ++@image_comparison(baseline_images=['streamplot_colormap']) + 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 8f19a50f3..fa4a9aa18 100644 +index 06985db84..8efaef898 100644 --- a/lib/matplotlib/tests/test_transforms.py +++ b/lib/matplotlib/tests/test_transforms.py -@@ -75,7 +75,7 @@ def test_external_transform_api(): +@@ -74,7 +74,7 @@ def test_external_transform_api(): @image_comparison(baseline_images=['pre_transform_data'], @@ -384,11 +487,55 @@ index 8f19a50f3..fa4a9aa18 100644 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/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py +index de7226609..af2283541 100644 +--- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py ++++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py +@@ -24,7 +24,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)) + fig.clf() +@@ -80,7 +80,7 @@ def test_curvelinear3(): + + + @image_comparison(baseline_images=['curvelinear4'], +- extensions=['png'], style='default', tol=0.01) ++ extensions=['png'], style='default', tol=0.05) + def test_curvelinear4(): + fig = plt.figure(figsize=(5, 5)) + fig.clf() +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 a7c637428..61d41d354 100644 +--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py ++++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +@@ -91,7 +91,7 @@ def test_custom_transform(): + + + @image_comparison(baseline_images=['polar_box'], +- extensions=['png'], style='default', tol=0.03) ++ extensions=['png'], style='default', tol=0.08) + def test_polar_box(): + fig = plt.figure(figsize=(5, 5)) + +@@ -152,7 +152,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 c13f3be2f..81a28aadb 100644 +index 0a506db92..44e1681fc 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py -@@ -198,7 +198,7 @@ def test_text3d(): +@@ -225,7 +225,7 @@ def test_text3d(): ax.set_zlabel('Z axis') @@ -397,6 +544,15 @@ index c13f3be2f..81a28aadb 100644 def test_trisurf3d(): n_angles = 36 n_radii = 8 +@@ -704,7 +704,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.14.3 diff --git a/0004-Increase-some-tolerances-for-non-x86-arches.patch b/0003-Increase-some-tolerances-for-non-x86-arches.patch similarity index 59% rename from 0004-Increase-some-tolerances-for-non-x86-arches.patch rename to 0003-Increase-some-tolerances-for-non-x86-arches.patch index 349ce92..f3584b0 100644 --- a/0004-Increase-some-tolerances-for-non-x86-arches.patch +++ b/0003-Increase-some-tolerances-for-non-x86-arches.patch @@ -1,27 +1,30 @@ -From cd26dbd863d0cf2cce4d249c4941cf68d6f838ba Mon Sep 17 00:00:00 2001 +From 0e88d3f2ada26de2dc3362f30064551b9ea2322b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade -Date: Wed, 24 Jan 2018 03:02:19 -0500 -Subject: [PATCH 4/4] Increase some tolerances for non-x86 arches. +Date: Sat, 31 Mar 2018 00:33:37 -0400 +Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches. Signed-off-by: Elliott Sales de Andrade --- - lib/matplotlib/tests/test_arrow_patches.py | 4 ++-- - lib/matplotlib/tests/test_axes.py | 5 +++-- - lib/matplotlib/tests/test_collections.py | 2 +- - lib/matplotlib/tests/test_cycles.py | 6 +++--- - 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_scale.py | 2 +- - lib/matplotlib/tests/test_streamplot.py | 2 +- - lib/matplotlib/tests/test_units.py | 4 ++-- - 10 files changed, 18 insertions(+), 17 deletions(-) + lib/matplotlib/tests/test_arrow_patches.py | 4 ++-- + lib/matplotlib/tests/test_axes.py | 7 ++++--- + 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_scale.py | 2 +- + lib/matplotlib/tests/test_streamplot.py | 2 +- + lib/matplotlib/tests/test_units.py | 4 ++-- + lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py | 2 +- + 13 files changed, 22 insertions(+), 21 deletions(-) diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py -index 0a5894a30..1f75169ca 100644 +index 44f87c5fe..fb50ae710 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(): +@@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test(): @image_comparison(baseline_images=['fancyarrow_dpi_cor_100dpi'], @@ -30,7 +33,7 @@ index 0a5894a30..1f75169ca 100644 savefig_kwarg=dict(dpi=100)) def test_fancyarrow_dpi_cor_100dpi(): """ -@@ -84,7 +84,7 @@ def test_fancyarrow_dpi_cor_100dpi(): +@@ -83,7 +83,7 @@ def test_fancyarrow_dpi_cor_100dpi(): @image_comparison(baseline_images=['fancyarrow_dpi_cor_200dpi'], @@ -40,10 +43,19 @@ index 0a5894a30..1f75169ca 100644 def test_fancyarrow_dpi_cor_200dpi(): """ diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 6492cc140..3bd1c0fda 100644 +index 77ec92b01..49a4d9290 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py -@@ -3229,7 +3229,8 @@ def test_vertex_markers(): +@@ -389,7 +389,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 +@@ -3284,7 +3284,8 @@ def test_vertex_markers(): @image_comparison(baseline_images=['vline_hline_zorder', @@ -53,7 +65,7 @@ index 6492cc140..3bd1c0fda 100644 def test_eb_line_zorder(): x = list(xrange(10)) -@@ -4866,7 +4867,7 @@ def test_title_location_roundtrip(): +@@ -5017,7 +5018,7 @@ def test_title_location_roundtrip(): @image_comparison(baseline_images=["loglog"], remove_text=True, @@ -63,10 +75,10 @@ index 6492cc140..3bd1c0fda 100644 fig, ax = plt.subplots() x = np.arange(1, 11) diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py -index c27aeb11a..969bf41cf 100644 +index 291647d17..6b623ef52 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py -@@ -444,7 +444,7 @@ def test_barb_limits(): +@@ -443,7 +443,7 @@ def test_barb_limits(): @image_comparison(baseline_images=['EllipseCollection_test_image'], @@ -75,8 +87,21 @@ index c27aeb11a..969bf41cf 100644 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 9c36fb247..3834e4e26 100644 +--- a/lib/matplotlib/tests/test_constrainedlayout.py ++++ b/lib/matplotlib/tests/test_constrainedlayout.py +@@ -223,7 +223,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 eadaf2508..5d1144f5e 100644 +index 95611f36c..0a118b636 100644 --- a/lib/matplotlib/tests/test_cycles.py +++ b/lib/matplotlib/tests/test_cycles.py @@ -10,7 +10,7 @@ from cycler import cycler @@ -106,11 +131,24 @@ index eadaf2508..5d1144f5e 100644 def test_linestylecycle_basic(): fig = plt.figure() ax = fig.add_subplot(111) +diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py +index 229ce192c..0e7a10d46 100644 +--- a/lib/matplotlib/tests/test_figure.py ++++ b/lib/matplotlib/tests/test_figure.py +@@ -14,7 +14,7 @@ import numpy as np + import pytest + + +-@image_comparison(baseline_images=['figure_align_labels']) ++@image_comparison(baseline_images=['figure_align_labels'], 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 fd6430d56..b4190713f 100644 +index 26e3b4a7e..2c7cedf74 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py -@@ -754,7 +754,7 @@ def test_imshow_endianess(): +@@ -784,7 +784,7 @@ def test_imshow_endianess(): @image_comparison(baseline_images=['imshow_masked_interpolation'], @@ -120,10 +158,10 @@ index fd6430d56..b4190713f 100644 cm = copy(plt.get_cmap('viridis')) diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py -index e63aa8ef9..d984bcac1 100644 +index 55b8adc77..1784ff966 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py -@@ -141,7 +141,7 @@ def test_multiple_keys(): +@@ -145,7 +145,7 @@ def test_multiple_keys(): @image_comparison(baseline_images=['rgba_alpha'], @@ -132,7 +170,7 @@ index e63aa8ef9..d984bcac1 100644 def test_alpha_rgba(): import matplotlib.pyplot as plt -@@ -152,7 +152,7 @@ def test_alpha_rgba(): +@@ -156,7 +156,7 @@ def test_alpha_rgba(): @image_comparison(baseline_images=['rcparam_alpha'], @@ -141,7 +179,7 @@ index e63aa8ef9..d984bcac1 100644 def test_alpha_rcparam(): import matplotlib.pyplot as plt -@@ -179,7 +179,7 @@ def test_fancy(): +@@ -183,7 +183,7 @@ def test_fancy(): ncol=2, shadow=True, title="My legend", numpoints=1) @@ -151,23 +189,23 @@ index e63aa8ef9..d984bcac1 100644 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 bd6ac6862..ea8afd807 100644 +index 89a5a512e..99051dee7 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py -@@ -41,7 +41,7 @@ def test_simple(): - pickle.dump(fig, BytesIO(), pickle.HIGHEST_PROTOCOL) +@@ -42,7 +42,7 @@ def test_simple(): - --@image_comparison(baseline_images=['multi_pickle'], -+@image_comparison(baseline_images=['multi_pickle'], tol=0.004, + @image_comparison(baseline_images=['multi_pickle'], extensions=['png'], remove_text=True, - style='mpl20') +- style='mpl20') ++ style='mpl20', tol=0.004) def test_complete(): + fig = plt.figure('Figure with a label?', figsize=(10, 6)) + diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py -index 9b78377b2..4994ba91d 100644 +index c50a0a896..a33fcccf0 100644 --- a/lib/matplotlib/tests/test_scale.py +++ b/lib/matplotlib/tests/test_scale.py -@@ -75,7 +75,7 @@ def test_extra_kwargs_raise(): +@@ -97,7 +97,7 @@ def test_logscale_transform_repr(): @image_comparison(baseline_images=['logscale_nonpos_values'], remove_text=True, @@ -177,7 +215,7 @@ index 9b78377b2..4994ba91d 100644 np.random.seed(19680801) xs = np.random.normal(size=int(1e3)) diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index aadcf6bfd..473991268 100644 +index 4f70ce861..4e52ed0c4 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py @@ -48,7 +48,7 @@ def test_colormap(): @@ -190,10 +228,10 @@ index aadcf6bfd..473991268 100644 X, Y, U, V = velocity_field() speed = np.sqrt(U*U + V*V) diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py -index f72ac2c60..781a3850e 100644 +index 65c8da7ea..c69d1d531 100644 --- a/lib/matplotlib/tests/test_units.py +++ b/lib/matplotlib/tests/test_units.py -@@ -39,7 +39,7 @@ class Quantity(object): +@@ -43,7 +43,7 @@ class Quantity(object): # Tests that the conversion machinery works properly for classes that # work as a facade over numpy arrays (like pint) @@ -202,7 +240,7 @@ index f72ac2c60..781a3850e 100644 extensions=['png'], remove_text=False, style='mpl20') def test_numpy_facade(): # Create an instance of the conversion interface and -@@ -83,7 +83,7 @@ def test_numpy_facade(): +@@ -87,7 +87,7 @@ def test_numpy_facade(): # Tests gh-8908 @@ -211,6 +249,19 @@ index f72ac2c60..781a3850e 100644 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 a7c637428..8fc5b25b1 100644 +--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py ++++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +@@ -91,7 +91,7 @@ def test_custom_transform(): + + + @image_comparison(baseline_images=['polar_box'], +- extensions=['png'], style='default', tol=0.03) ++ extensions=['png'], style='default', tol=0.04) + def test_polar_box(): + fig = plt.figure(figsize=(5, 5)) + -- 2.14.3 diff --git a/0003-Increase-tolerances-for-FT-2.7.1-and-other-arches.patch b/0003-Increase-tolerances-for-FT-2.7.1-and-other-arches.patch deleted file mode 100644 index bc5d355..0000000 --- a/0003-Increase-tolerances-for-FT-2.7.1-and-other-arches.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 1e4e5f12b804561ab5b6bfa4ad76d44523d1568e Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Tue, 23 Jan 2018 20:27:17 -0500 -Subject: [PATCH 3/4] Increase tolerances for FT 2.7.1 and other arches. - -Signed-off-by: Elliott Sales de Andrade ---- - lib/matplotlib/tests/test_patheffects.py | 2 +- - lib/matplotlib/tests/test_streamplot.py | 3 +-- - 2 files changed, 2 insertions(+), 3 deletions(-) - -diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py -index 9b8a4379c..e36d6deb6 100644 ---- a/lib/matplotlib/tests/test_patheffects.py -+++ b/lib/matplotlib/tests/test_patheffects.py -@@ -125,7 +125,7 @@ def test_SimplePatchShadow_offset(): - assert pe._offset == (4, 5) - - --@image_comparison(baseline_images=['collection'], tol=0.015) -+@image_comparison(baseline_images=['collection'], tol=0.019) - 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_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index 48f1e0683..aadcf6bfd 100644 ---- a/lib/matplotlib/tests/test_streamplot.py -+++ b/lib/matplotlib/tests/test_streamplot.py -@@ -58,8 +58,7 @@ def test_linewidth(): - linewidth=lw) - - --@image_comparison(baseline_images=['streamplot_masks_and_nans'], -- tol=0.04 if on_win else 0) -+@image_comparison(baseline_images=['streamplot_masks_and_nans'], tol=0.01) - def test_masks_and_nans(): - X, Y, U, V = velocity_field() - mask = np.zeros(U.shape, dtype=bool) --- -2.14.3 - diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 154df55..0ff4726 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -32,9 +32,12 @@ #global rctag rc1 +# The version of FreeType in this Fedora branch. +%global ftver 2.8 + Name: python-matplotlib -Version: 2.1.2 -Release: 4%{?rctag:.%{rctag}}%{?dist} +Version: 2.2.2 +Release: 1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -42,19 +45,23 @@ URL: http://matplotlib.org Source0: https://github.com/matplotlib/matplotlib/archive/v%{version}%{?rctag}/matplotlib-%{version}%{?rctag}.tar.gz Source1: setup.cfg -# https://github.com/matplotlib/matplotlib/pull/10310 -Patch0001: 0001-Add-libdl-on-Unix-like-systems.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 -# Fedora-specific patches. -# https://github.com/QuLogic/mpl-images -Source1000: matplotlib-%{version}-with-freetype-2.8.tar.gz +# Fedora-specific patches; see: # https://github.com/QuLogic/matplotlib/tree/fedora-patches -Patch1001: 0001-matplotlibrc-path-search-fix.patch -Patch1002: 0002-Increase-tolerances-for-FreeType-2.7.1.patch -Patch1003: 0003-Increase-tolerances-for-FT-2.7.1-and-other-arches.patch -Patch1004: 0004-Increase-some-tolerances-for-32-bit-systems.patch # https://github.com/QuLogic/matplotlib/tree/fedora-patches-non-x86 -Patch1005: 0004-Increase-some-tolerances-for-non-x86-arches.patch +# Updated test images for new FreeType. +Source1000: https://github.com/QuLogic/mpl-images/archive/v%{version}-with-freetype-%{ftver}/matplotlib-%{version}-with-freetype-%{ftver}.tar.gz +# Search in /etc/matplotlibrc: +Patch1001: 0001-matplotlibrc-path-search-fix.patch +# Image tolerances for anything but x86_64: +Patch1002: 0002-Increase-tolerances-for-non-x86_64-arches.patch +# Image tolerances for 32-bit systems: i686 armv7hl +Patch1003: 0003-Increase-some-tolerances-for-32-bit-systems.patch +# Image tolerances for 64-bit (but not x86_64) systems: aarch64 ppc64(le) s390x +Patch1004: 0003-Increase-some-tolerances-for-non-x86-arches.patch BuildRequires: freetype-devel BuildRequires: libpng-devel @@ -78,9 +85,11 @@ Summary: Python 2D plotting library BuildRequires: python2-numpy BuildRequires: python2-pyparsing BuildRequires: python2-dateutil +BuildRequires: python2-kiwisolver BuildRequires: python2-pyside BuildRequires: python2-setuptools BuildRequires: python2-six +BuildRequires: python2-sphinx BuildRequires: python2-subprocess32 BuildRequires: python2-devel BuildRequires: python2-backports-functools_lru_cache @@ -108,6 +117,7 @@ Requires: python2-numpy Requires: python2-pyparsing Requires: python2-cycler >= 0.10.0 Requires: python2-dateutil +Requires: python2-kiwisolver Requires: python2-backports-functools_lru_cache Requires: python-matplotlib-data = %{version}-%{release} %{?backend_subpackage:Requires: python2-matplotlib-%{backend_subpackage}%{?_isa} = %{version}-%{release}} @@ -252,17 +262,20 @@ BuildRequires: python3-dateutil BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-gobject +BuildRequires: python3-kiwisolver BuildRequires: python3-numpy BuildRequires: python3-pillow BuildRequires: python3-pyparsing BuildRequires: python3-pytz BuildRequires: python3-six +BuildRequires: python3-sphinx Requires: dejavu-sans-fonts Requires: dvipng Requires: python-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 @@ -342,21 +355,17 @@ Requires: python3-tkinter # Fedora-specific patches follow: %patch1001 -p1 -# Updated test images for FreeType 2.8. -gzip -dc %SOURCE1000 | tar xvf - --transform='s~^\([^/]\+\)/~lib/\1/tests/baseline_images/~' -%ifarch i686 armv7hl -# Apply this because 32-bit output is a bit off. +# Updated test images for new FreeType. +gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-%{version}-with-freetype-%{ftver}/\([^/]\+\)/~lib/\1/tests/baseline_images/~' +%ifnarch x86_64 %patch1002 -p1 %endif -%ifnarch x86_64 -%patch1003 -p1 -%endif %ifarch aarch64 ppc64 ppc64le s390x -%patch1005 -p1 -%endif -%ifarch i686 %patch1004 -p1 %endif +%ifarch i686 armv7hl +%patch1003 -p1 +%endif rm -r extern/libqhull # Copy setup.cfg to the builddir @@ -436,13 +445,14 @@ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python2_sitearch} \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python2} -m pytest --pyargs matplotlib -ra -n $(getconf _NPROCESSORS_ONLN) \ - -m 'not network' -k 'not test_polycollection_close' + -m 'not network' -k 'not test_polycollection_close and not test_if_rctemplate' MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ xvfb-run -a -s "-screen 0 640x480x24" \ - %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) -m 'not network' + %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ + -m 'not network' -k 'not test_if_rctemplate' %endif # run_tests %files -n python-matplotlib-data @@ -459,7 +469,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %files -n python2-matplotlib %license LICENSE/ -%doc README.rst CONTRIBUTING.md +%doc README.rst %{python2_sitearch}/*egg-info %{python2_sitearch}/matplotlib-*-nspkg.pth %{python2_sitearch}/matplotlib/ @@ -513,7 +523,7 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %files -n python3-matplotlib %license LICENSE/ -%doc README.rst CONTRIBUTING.md +%doc README.rst %{python3_sitearch}/*egg-info %{python3_sitearch}/matplotlib-*-nspkg.pth %{python3_sitearch}/matplotlib/ @@ -559,6 +569,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %{python3_sitearch}/matplotlib/backends/_tkagg.* %changelog +* Sat Mar 31 2018 Elliott Sales de Andrade - 2.2.2-1 +- Update to latest release + * Tue Mar 13 2018 Elliott Sales de Andrade - 2.1.2-4 - Run tests in parallel diff --git a/sources b/sources index 33a00ad..94d92e1 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ SHA512 (matplotlib-2.1.2.tar.gz) = fd93901b12a7f47cdc36d38d18de43b0cc8623dcd5597cfc1177e63cf90b0c87f718135176e2c077cd1316566a394e09e8e8e9db2ce128ee7f03021cac45543e SHA512 (matplotlib-2.1.2-with-freetype-2.8.tar.gz) = abe03cf24d653ecaefcda56b60631b7200d7e2d5078801f61270d5329da8e6767773a1347a1c9c7b457a0a12427c345d70e700c156dedab27275875f5bcbc439 +SHA512 (matplotlib-2.2.2-with-freetype-2.8.tar.gz) = b31a56ee3594ec50ad6980112b435ae7cb37a0c5826f13997c5ec432c8158e584d3ef58204bff1cd2cb702dc6f050f4daea47576bd1982f40746b424da056d4d From b11ac2671cdd62a42a1cf99aaec4de83e49fc6d9 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 03:28:44 -0400 Subject: [PATCH 196/240] Patch out the rctemplate tests properly. --- 0001-matplotlibrc-path-search-fix.patch | 69 +++++++++++++++++-- ...ase-tolerances-for-non-x86_64-arches.patch | 2 +- ...e-some-tolerances-for-32-bit-systems.patch | 2 +- ...e-some-tolerances-for-non-x86-arches.patch | 2 +- python-matplotlib.spec | 7 +- 5 files changed, 72 insertions(+), 10 deletions(-) diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index a11c26c..611bdb7 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,15 +1,16 @@ -From 69c596604b1dee1b8aeb066907a4543053e375a9 Mon Sep 17 00:00:00 2001 +From 47e4d5c14793503a7af7919a1fb7aaa04016c9e3 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 Subject: [PATCH 1/3] matplotlibrc path search fix Signed-off-by: Elliott Sales de Andrade --- - lib/matplotlib/__init__.py | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) + lib/matplotlib/__init__.py | 8 +++++--- + lib/matplotlib/tests/test_rcparams.py | 23 ++++++++++++++++------- + 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index 93397070f..c68b8ca9a 100644 +index 93397070f..98560d9db 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -739,9 +739,12 @@ def _get_data_path(): @@ -25,7 +26,17 @@ index 93397070f..c68b8ca9a 100644 # setuptools' namespace_packages may highjack this init file # so need to try something known to be in matplotlib, not basemap import matplotlib.afm -@@ -836,7 +839,7 @@ def matplotlib_fname(): +@@ -822,8 +825,7 @@ def matplotlib_fname(): + + - `$HOME/.matplotlib/matplotlibrc` if `$HOME` is defined. + +- - Lastly, it looks in `$MATPLOTLIBDATA/matplotlibrc` for a +- system-defined copy. ++ - Lastly, it looks in `/etc/matplotlibrc` for a system-defined copy. + """ + + def gen_candidates(): +@@ -836,7 +838,7 @@ def matplotlib_fname(): yield matplotlibrc yield os.path.join(matplotlibrc, 'matplotlibrc') yield os.path.join(_get_configdir(), 'matplotlibrc') @@ -34,6 +45,54 @@ index 93397070f..c68b8ca9a 100644 for fname in gen_candidates(): if os.path.exists(fname): +diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py +index 4d93a9914..1d2097827 100644 +--- a/lib/matplotlib/tests/test_rcparams.py ++++ b/lib/matplotlib/tests/test_rcparams.py +@@ -424,15 +424,25 @@ 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 ... ++ if 'MATPLOTLIBDATA' in os.environ: ++ # ... in buildroot. ++ return os.path.join(os.environ['MATPLOTLIBDATA'], ++ '../../../../etc/matplotlibrc') ++ else: ++ # ... on installed systems. ++ return '/etc/matplotlibrc' ++ ++ ++def test_if_rctemplate_is_up_to_date(mplrc): + # This tests if the matplotlibrc.template file + # contains all valid rcParams. + dep1 = mpl._all_deprecated + dep2 = mpl._deprecated_set + deprecated = list(dep1.union(dep2)) +- #print(deprecated) +- path_to_rc = mpl.matplotlib_fname() +- 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(): +@@ -454,11 +464,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 = mpl.matplotlib_fname() +- with open(path_to_rc, "r") as f: ++ with open(mplrc, "r") as f: + rclines = f.readlines() + newlines = [] + for line in rclines: -- 2.14.3 diff --git a/0002-Increase-tolerances-for-non-x86_64-arches.patch b/0002-Increase-tolerances-for-non-x86_64-arches.patch index c7b6857..a987e08 100644 --- a/0002-Increase-tolerances-for-non-x86_64-arches.patch +++ b/0002-Increase-tolerances-for-non-x86_64-arches.patch @@ -1,4 +1,4 @@ -From ee4772513109de1c2dadb4d4989eedd2a5f92e51 Mon Sep 17 00:00:00 2001 +From 85622c14c75981b832fbf49ee70231f9edb1922b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 23 Jan 2018 20:27:17 -0500 Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches. diff --git a/0003-Increase-some-tolerances-for-32-bit-systems.patch b/0003-Increase-some-tolerances-for-32-bit-systems.patch index e81469d..276b45a 100644 --- a/0003-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0003-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,4 +1,4 @@ -From 10e4a0fbcab2ad59b95e1391d3285aff07e1f473 Mon Sep 17 00:00:00 2001 +From a1975064e7b68e8587904415b2f3c51ff233089d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:15:14 -0400 Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems. diff --git a/0003-Increase-some-tolerances-for-non-x86-arches.patch b/0003-Increase-some-tolerances-for-non-x86-arches.patch index f3584b0..d14c77c 100644 --- a/0003-Increase-some-tolerances-for-non-x86-arches.patch +++ b/0003-Increase-some-tolerances-for-non-x86-arches.patch @@ -1,4 +1,4 @@ -From 0e88d3f2ada26de2dc3362f30064551b9ea2322b Mon Sep 17 00:00:00 2001 +From b35bcac297de5fbf24a093c0a0121856ba7a7b41 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:33:37 -0400 Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches. diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 0ff4726..8693246 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -440,19 +440,22 @@ export http_proxy=http://127.0.0.1/ echo "backend : %{backend}" > matplotlibrc # Full tests are not run because pytest doesn't seem to understand namespace # packages in PYTHONPATH. +# Skips: +# * test_polycollection_close: imports mpl_toolkits which is broken as noted +# above. MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python2_sitearch} \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python2} -m pytest --pyargs matplotlib -ra -n $(getconf _NPROCESSORS_ONLN) \ - -m 'not network' -k 'not test_polycollection_close and not test_if_rctemplate' + -m 'not network' -k 'not test_polycollection_close' MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ - -m 'not network' -k 'not test_if_rctemplate' + -m 'not network' %endif # run_tests %files -n python-matplotlib-data From c89bd06dd9a1298a8221a8816c03d57771a85872 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 20:08:43 -0400 Subject: [PATCH 197/240] Skip flaky slowness test. --- python-matplotlib.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 8693246..2d32c8a 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -443,19 +443,23 @@ echo "backend : %{backend}" > matplotlibrc # Skips: # * test_polycollection_close: imports mpl_toolkits which is broken as noted # above. +# * test_invisible_Line_rendering: Checks for "slowness" that often fails on a +# heavily-loaded builder. MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python2_sitearch} \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python2} -m pytest --pyargs matplotlib -ra -n $(getconf _NPROCESSORS_ONLN) \ - -m 'not network' -k 'not test_polycollection_close' + -m 'not network' \ + -k 'not test_polycollection_close and not test_invisible_Line_rendering' MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ - -m 'not network' + -m 'not network' \ + -k 'not test_invisible_Line_rendering' %endif # run_tests %files -n python-matplotlib-data From c1840d073849f51e05304351cbf450f7408dc395 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 1 Apr 2018 03:44:29 -0400 Subject: [PATCH 198/240] Skip another test that uses mpl_toolkits on Py2. --- python-matplotlib.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 2d32c8a..7a0f18d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -441,6 +441,7 @@ echo "backend : %{backend}" > matplotlibrc # Full tests are not run because pytest doesn't seem to understand namespace # packages in PYTHONPATH. # Skips: +# * test_parasite: imports mpl_toolkits which is broken as noted above. # * test_polycollection_close: imports mpl_toolkits which is broken as noted # above. # * test_invisible_Line_rendering: Checks for "slowness" that often fails on a @@ -451,7 +452,7 @@ PYTHONPATH=%{buildroot}%{python2_sitearch} \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python2} -m pytest --pyargs matplotlib -ra -n $(getconf _NPROCESSORS_ONLN) \ -m 'not network' \ - -k 'not test_polycollection_close and not test_invisible_Line_rendering' + -k 'not test_invisible_Line_rendering and not test_parasite and not test_polycollection_close' MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ From c0a5a7d07f362039110f5e1a4f484314232fdf56 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sun, 1 Apr 2018 15:14:21 -0400 Subject: [PATCH 199/240] Add support for Rawhide / FreeType 2.9. --- .gitignore | 1 + python-matplotlib.spec | 6 ++++-- sources | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index fcd190a..2a20219 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 7a0f18d..d1daaf2 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -33,7 +33,11 @@ #global rctag rc1 # The version of FreeType in this Fedora branch. +%if %{fedora} >= 29 +%global ftver 2.9 +%else %global ftver 2.8 +%endif Name: python-matplotlib Version: 2.2.2 @@ -579,8 +583,6 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %changelog * Sat Mar 31 2018 Elliott Sales de Andrade - 2.2.2-1 - Update to latest release - -* Tue Mar 13 2018 Elliott Sales de Andrade - 2.1.2-4 - Run tests in parallel * Tue Mar 13 2018 Elliott Sales de Andrade - 2.1.2-3 diff --git a/sources b/sources index 94d92e1..a1c93bc 100644 --- a/sources +++ b/sources @@ -1,3 +1,4 @@ SHA512 (matplotlib-2.1.2.tar.gz) = fd93901b12a7f47cdc36d38d18de43b0cc8623dcd5597cfc1177e63cf90b0c87f718135176e2c077cd1316566a394e09e8e8e9db2ce128ee7f03021cac45543e SHA512 (matplotlib-2.1.2-with-freetype-2.8.tar.gz) = abe03cf24d653ecaefcda56b60631b7200d7e2d5078801f61270d5329da8e6767773a1347a1c9c7b457a0a12427c345d70e700c156dedab27275875f5bcbc439 SHA512 (matplotlib-2.2.2-with-freetype-2.8.tar.gz) = b31a56ee3594ec50ad6980112b435ae7cb37a0c5826f13997c5ec432c8158e584d3ef58204bff1cd2cb702dc6f050f4daea47576bd1982f40746b424da056d4d +SHA512 (matplotlib-2.2.2-with-freetype-2.9.tar.gz) = c1587ab3de11c5713ed7be91ecd9b31e083dd352f2af4177fd98f5bd46921eb9d4396013c58cf907618e6fbee62a0f39442e64f1df25976758fab02e5822a03f From ffa18cbcd28a4b7175224fa31f736abb01dd33f1 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Thu, 12 Apr 2018 14:36:42 +0200 Subject: [PATCH 200/240] add missed 2.2.2 source --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index a1c93bc..7cad555 100644 --- a/sources +++ b/sources @@ -2,3 +2,4 @@ SHA512 (matplotlib-2.1.2.tar.gz) = fd93901b12a7f47cdc36d38d18de43b0cc8623dcd5597 SHA512 (matplotlib-2.1.2-with-freetype-2.8.tar.gz) = abe03cf24d653ecaefcda56b60631b7200d7e2d5078801f61270d5329da8e6767773a1347a1c9c7b457a0a12427c345d70e700c156dedab27275875f5bcbc439 SHA512 (matplotlib-2.2.2-with-freetype-2.8.tar.gz) = b31a56ee3594ec50ad6980112b435ae7cb37a0c5826f13997c5ec432c8158e584d3ef58204bff1cd2cb702dc6f050f4daea47576bd1982f40746b424da056d4d SHA512 (matplotlib-2.2.2-with-freetype-2.9.tar.gz) = c1587ab3de11c5713ed7be91ecd9b31e083dd352f2af4177fd98f5bd46921eb9d4396013c58cf907618e6fbee62a0f39442e64f1df25976758fab02e5822a03f +SHA512 (matplotlib-2.2.2.tar.gz) = 58dbeabafa7cd008cf5a585829a5b9f098114a43700dedbd7cc3ed09180ea99a870d06295fe8f1d47f1eb807d264924a4b6fb7cf47e6bc3b74045aa4f0714ac9 From 7930b4df8d40831196fc980775c1f45ec2a95b0a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 17 Apr 2018 02:21:12 -0400 Subject: [PATCH 201/240] Remove old sources. --- sources | 2 -- 1 file changed, 2 deletions(-) diff --git a/sources b/sources index 7cad555..831d778 100644 --- a/sources +++ b/sources @@ -1,5 +1,3 @@ -SHA512 (matplotlib-2.1.2.tar.gz) = fd93901b12a7f47cdc36d38d18de43b0cc8623dcd5597cfc1177e63cf90b0c87f718135176e2c077cd1316566a394e09e8e8e9db2ce128ee7f03021cac45543e -SHA512 (matplotlib-2.1.2-with-freetype-2.8.tar.gz) = abe03cf24d653ecaefcda56b60631b7200d7e2d5078801f61270d5329da8e6767773a1347a1c9c7b457a0a12427c345d70e700c156dedab27275875f5bcbc439 SHA512 (matplotlib-2.2.2-with-freetype-2.8.tar.gz) = b31a56ee3594ec50ad6980112b435ae7cb37a0c5826f13997c5ec432c8158e584d3ef58204bff1cd2cb702dc6f050f4daea47576bd1982f40746b424da056d4d SHA512 (matplotlib-2.2.2-with-freetype-2.9.tar.gz) = c1587ab3de11c5713ed7be91ecd9b31e083dd352f2af4177fd98f5bd46921eb9d4396013c58cf907618e6fbee62a0f39442e64f1df25976758fab02e5822a03f SHA512 (matplotlib-2.2.2.tar.gz) = 58dbeabafa7cd008cf5a585829a5b9f098114a43700dedbd7cc3ed09180ea99a870d06295fe8f1d47f1eb807d264924a4b6fb7cf47e6bc3b74045aa4f0714ac9 From 5c2bf08c46755687cdfa3b03d3442fcff28e134a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 17 Apr 2018 02:36:20 -0400 Subject: [PATCH 202/240] Remove bytecode produced by pytest. --- python-matplotlib.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index d1daaf2..c03c09d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -41,7 +41,7 @@ Name: python-matplotlib Version: 2.2.2 -Release: 1%{?rctag:.%{rctag}}%{?dist} +Release: 2%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -453,6 +453,7 @@ echo "backend : %{backend}" > matplotlibrc MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python2_sitearch} \ +PYTHONDONTWRITEBYTECODE=1 \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python2} -m pytest --pyargs matplotlib -ra -n $(getconf _NPROCESSORS_ONLN) \ -m 'not network' \ @@ -461,6 +462,7 @@ PYTHONPATH=%{buildroot}%{python2_sitearch} \ MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ +PYTHONDONTWRITEBYTECODE=1 \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ -m 'not network' \ @@ -581,6 +583,9 @@ PYTHONPATH=%{buildroot}%{python3_sitearch} \ %{python3_sitearch}/matplotlib/backends/_tkagg.* %changelog +* Tue Apr 17 2018 Elliott Sales de Andrade - 2.2.2-2 +- Remove bytecode produced by pytest + * Sat Mar 31 2018 Elliott Sales de Andrade - 2.2.2-1 - Update to latest release - Run tests in parallel From c48ca2e7fd50e94a4ac9fbcacbf347c3065c8732 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 17 Apr 2018 02:36:59 -0400 Subject: [PATCH 203/240] Add python?-matplotlib-test-data subpackages. --- python-matplotlib.spec | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index c03c09d..21aff2d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -221,6 +221,14 @@ Requires: python2-wxpython %description -n python2-matplotlib-wx %{summary} +%package -n python2-matplotlib-test-data +Summary: Test data for python2-matplotlib +Requires: python2-matplotlib%{?_isa} = %{version}-%{release} +%{?python_provide:%python_provide python2-matplotlib-test-data} + +%description -n python2-matplotlib-test-data +%{summary} + %package -n python2-matplotlib-doc Summary: Documentation files for python-matplotlib %if %{with_html} @@ -353,6 +361,15 @@ Requires: python3-tkinter %description -n python3-matplotlib-tk %{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 %autosetup -n matplotlib-%{version}%{?rctag} -N %patch0001 -p1 @@ -503,6 +520,10 @@ PYTHONDONTWRITEBYTECODE=1 \ %exclude %{_pkgdocdir}/* %exclude %{_pkgdocdir}/*/* +%files -n python2-matplotlib-test-data +%{python2_sitearch}/matplotlib/tests/baseline_images/ +%{python2_sitearch}/mpl_toolkits/tests/baseline_images/ + %files -n python2-matplotlib-qt4 %{python2_sitearch}/matplotlib/backends/backend_qt4.* %{python2_sitearch}/matplotlib/backends/backend_qt4agg.* @@ -559,6 +580,10 @@ PYTHONDONTWRITEBYTECODE=1 \ %exclude %{python3_sitearch}/matplotlib/backends/_tkagg.* %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/__pycache__/backend_qt4.* @@ -585,6 +610,7 @@ PYTHONDONTWRITEBYTECODE=1 \ %changelog * Tue Apr 17 2018 Elliott Sales de Andrade - 2.2.2-2 - Remove bytecode produced by pytest +- Add python?-matplotlib-test-data subpackages * Sat Mar 31 2018 Elliott Sales de Andrade - 2.2.2-1 - Update to latest release From 725edd957b95642ce6fd38203d066c6d003d0fa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 19 Jun 2018 11:08:46 +0200 Subject: [PATCH 204/240] Rebuilt for Python 3.7 --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 21aff2d..0842030 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -41,7 +41,7 @@ Name: python-matplotlib Version: 2.2.2 -Release: 2%{?rctag:.%{rctag}}%{?dist} +Release: 2%{?rctag:.%{rctag}}%{?dist}.1 Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -608,6 +608,9 @@ PYTHONDONTWRITEBYTECODE=1 \ %{python3_sitearch}/matplotlib/backends/_tkagg.* %changelog +* Tue Jun 19 2018 Miro Hrončok - 2.2.2-2.1 +- Rebuilt for Python 3.7 + * Tue Apr 17 2018 Elliott Sales de Andrade - 2.2.2-2 - Remove bytecode produced by pytest - Add python?-matplotlib-test-data subpackages From 69d38c5f1e25fb00c571002d0be2b78de7668507 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Fri, 22 Jun 2018 09:50:26 +0200 Subject: [PATCH 205/240] Fix tolerances and a timeout to fix build with Python 3.7 --- ...e-some-tolerances-for-32-bit-systems.patch | 89 ++++++++++--------- ...e-some-tolerances-for-non-x86-arches.patch | 69 ++++++++------ 2 files changed, 89 insertions(+), 69 deletions(-) diff --git a/0003-Increase-some-tolerances-for-32-bit-systems.patch b/0003-Increase-some-tolerances-for-32-bit-systems.patch index 276b45a..55b76a6 100644 --- a/0003-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0003-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,32 +1,32 @@ -From a1975064e7b68e8587904415b2f3c51ff233089d Mon Sep 17 00:00:00 2001 +From cc437e276279d2fe81fa3bb22cf6358dcd7ce252 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:15:14 -0400 Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems. Signed-off-by: Elliott Sales de Andrade --- - lib/matplotlib/testing/decorators.py | 2 +- - lib/matplotlib/tests/test_artist.py | 3 +- - lib/matplotlib/tests/test_axes.py | 47 +++++++++++----------- - lib/matplotlib/tests/test_collections.py | 2 +- - lib/matplotlib/tests/test_colorbar.py | 11 ++--- - lib/matplotlib/tests/test_constrainedlayout.py | 2 +- - lib/matplotlib/tests/test_contour.py | 6 +-- - lib/matplotlib/tests/test_image.py | 2 +- - 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 | 3 +- - lib/matplotlib/tests/test_transforms.py | 2 +- - .../tests/test_axisartist_floating_axes.py | 4 +- - .../test_axisartist_grid_helper_curvelinear.py | 4 +- - lib/mpl_toolkits/tests/test_mplot3d.py | 4 +- - 18 files changed, 52 insertions(+), 53 deletions(-) + lib/matplotlib/testing/decorators.py | 2 +- + lib/matplotlib/tests/test_artist.py | 3 +- + lib/matplotlib/tests/test_axes.py | 47 +++++++++---------- + 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 | 6 +-- + lib/matplotlib/tests/test_image.py | 2 +- + 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 | 3 +- + lib/matplotlib/tests/test_transforms.py | 2 +- + .../tests/test_axisartist_floating_axes.py | 4 +- + ...test_axisartist_grid_helper_curvelinear.py | 6 +-- + lib/mpl_toolkits/tests/test_mplot3d.py | 4 +- + 18 files changed, 53 insertions(+), 54 deletions(-) diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py -index 0ce6e6252..9a80eec1a 100644 +index 0ce6e62..9a80eec 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -408,7 +408,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol, @@ -39,7 +39,7 @@ index 0ce6e6252..9a80eec1a 100644 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 8d1a01294..02acbb206 100644 +index 8d1a012..02acbb2 100644 --- a/lib/matplotlib/tests/test_artist.py +++ b/lib/matplotlib/tests/test_artist.py @@ -96,7 +96,8 @@ def test_collection_transform_of_none(): @@ -53,7 +53,7 @@ index 8d1a01294..02acbb206 100644 exterior = mpath.Path.unit_rectangle().deepcopy() exterior.vertices *= 4 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 77ec92b01..f16e70cfd 100644 +index 77ec92b..f16e70c 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -523,7 +523,7 @@ def test_single_point(): @@ -265,7 +265,7 @@ index 77ec92b01..f16e70cfd 100644 # Tests issue 5575 time_index = [pytz.timezone('UTC').localize(datetime.datetime( diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py -index 291647d17..265f23fed 100644 +index 291647d..265f23f 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -467,7 +467,7 @@ def test_EllipseCollection(): @@ -278,7 +278,7 @@ index 291647d17..265f23fed 100644 from mpl_toolkits.mplot3d import Axes3D diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py -index 539ee8c83..ae21e723f 100644 +index 539ee8c..ae21e72 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -95,7 +95,7 @@ def _colorbar_extension_length(spacing): @@ -328,7 +328,7 @@ index 539ee8c83..ae21e723f 100644 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 9c36fb247..929e38bd8 100644 +index 9c36fb2..929e38b 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -296,7 +296,7 @@ def test_constrained_layout12(): @@ -341,7 +341,7 @@ index 9c36fb247..929e38bd8 100644 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 35d33b972..f10483ce4 100644 +index 35d33b9..f10483c 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py @@ -225,7 +225,7 @@ def test_given_colors_levels_and_extends(): @@ -372,7 +372,7 @@ index 35d33b972..f10483ce4 100644 n = 60 mask_level = 0.95 diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py -index 26e3b4a7e..269f814bb 100644 +index 26e3b4a..269f814 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -784,7 +784,7 @@ def test_imshow_endianess(): @@ -385,7 +385,7 @@ index 26e3b4a7e..269f814bb 100644 cm = copy(plt.get_cmap('viridis')) diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py -index cdc1093e1..ac0d8bf05 100644 +index cdc1093..ac0d8bf 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): @@ -407,7 +407,7 @@ index cdc1093e1..ac0d8bf05 100644 matplotlib.rcParams['mathtext.fontset'] = fontset fig = plt.figure(figsize=(5.25, 0.75)) diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py -index ff1abb9c6..cc90e6bb0 100644 +index ff1abb9..cc90e6b 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py @@ -266,9 +266,8 @@ def test_wedge_movement(): @@ -422,7 +422,7 @@ index ff1abb9c6..cc90e6bb0 100644 ax = plt.axes() diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py -index fe7265957..2addc35ed 100644 +index fe72659..2addc35 100644 --- a/lib/matplotlib/tests/test_patheffects.py +++ b/lib/matplotlib/tests/test_patheffects.py @@ -121,7 +121,7 @@ def test_SimplePatchShadow_offset(): @@ -435,7 +435,7 @@ index fe7265957..2addc35ed 100644 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 89a5a512e..a25961284 100644 +index 89a5a51..a259612 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -42,7 +42,7 @@ def test_simple(): @@ -448,7 +448,7 @@ index 89a5a512e..a25961284 100644 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 a0e1e674f..ede6bfc64 100644 +index a0e1e67..ede6bfc 100644 --- a/lib/matplotlib/tests/test_quiver.py +++ b/lib/matplotlib/tests/test_quiver.py @@ -131,7 +131,7 @@ def test_quiver_key_pivot(): @@ -461,7 +461,7 @@ index a0e1e674f..ede6bfc64 100644 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 4f70ce861..5bc8184f7 100644 +index 81a51e7..f234923 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py @@ -39,8 +39,7 @@ def test_startpoints(): @@ -475,7 +475,7 @@ index 4f70ce861..5bc8184f7 100644 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 06985db84..8efaef898 100644 +index 06985db..8efaef8 100644 --- a/lib/matplotlib/tests/test_transforms.py +++ b/lib/matplotlib/tests/test_transforms.py @@ -74,7 +74,7 @@ def test_external_transform_api(): @@ -488,7 +488,7 @@ index 06985db84..8efaef898 100644 # 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/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py -index de7226609..af2283541 100644 +index de72266..2676fc8 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py +++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py @@ -24,7 +24,7 @@ def test_subplot(): @@ -505,14 +505,23 @@ index de7226609..af2283541 100644 @image_comparison(baseline_images=['curvelinear4'], - extensions=['png'], style='default', tol=0.01) -+ extensions=['png'], style='default', tol=0.05) ++ extensions=['png'], style='default', tol=0.055) def test_curvelinear4(): fig = plt.figure(figsize=(5, 5)) fig.clf() 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 a7c637428..61d41d354 100644 +index a7c6374..e22f4ac 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +@@ -19,7 +19,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 @@ -91,7 +91,7 @@ def test_custom_transform(): @@ -532,7 +541,7 @@ index a7c637428..61d41d354 100644 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 0a506db92..44e1681fc 100644 +index 0a506db..44e1681 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py @@ -225,7 +225,7 @@ def test_text3d(): @@ -554,5 +563,5 @@ index 0a506db92..44e1681fc 100644 def test_xyz(self): fig, ax = plt.subplots(subplot_kw={"projection": "3d"}) -- -2.14.3 +2.17.1 diff --git a/0003-Increase-some-tolerances-for-non-x86-arches.patch b/0003-Increase-some-tolerances-for-non-x86-arches.patch index d14c77c..5bd8c7b 100644 --- a/0003-Increase-some-tolerances-for-non-x86-arches.patch +++ b/0003-Increase-some-tolerances-for-non-x86-arches.patch @@ -1,27 +1,28 @@ -From b35bcac297de5fbf24a093c0a0121856ba7a7b41 Mon Sep 17 00:00:00 2001 +From f4e678415e0f249d97fe20d07941127fc34a2d54 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:33:37 -0400 Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches. Signed-off-by: Elliott Sales de Andrade --- - lib/matplotlib/tests/test_arrow_patches.py | 4 ++-- - lib/matplotlib/tests/test_axes.py | 7 ++++--- - 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_scale.py | 2 +- - lib/matplotlib/tests/test_streamplot.py | 2 +- - lib/matplotlib/tests/test_units.py | 4 ++-- - lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py | 2 +- - 13 files changed, 22 insertions(+), 21 deletions(-) + lib/matplotlib/tests/test_arrow_patches.py | 4 ++-- + lib/matplotlib/tests/test_axes.py | 7 ++++--- + 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_scale.py | 2 +- + lib/matplotlib/tests/test_streamplot.py | 2 +- + lib/matplotlib/tests/test_units.py | 4 ++-- + .../tests/test_axisartist_grid_helper_curvelinear.py | 2 +- + 14 files changed, 23 insertions(+), 22 deletions(-) diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py -index 44f87c5fe..fb50ae710 100644 +index 44f87c5..fb50ae7 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test(): @@ -43,7 +44,7 @@ index 44f87c5fe..fb50ae710 100644 def test_fancyarrow_dpi_cor_200dpi(): """ diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 77ec92b01..49a4d9290 100644 +index 77ec92b..49a4d92 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -389,7 +389,7 @@ def test_annotate_default_arrow(): @@ -74,8 +75,18 @@ index 77ec92b01..49a4d9290 100644 def test_loglog(): fig, ax = plt.subplots() x = np.arange(1, 11) +diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py +index bd1cc5f..7d11f18 100644 +--- a/lib/matplotlib/tests/test_backends_interactive.py ++++ b/lib/matplotlib/tests/test_backends_interactive.py +@@ -55,4 +55,4 @@ def test_backend(backend): + environ["MPLBACKEND"] = backend + proc = Popen([sys.executable, "-c", _test_script], env=environ) + # Empirically, 1s is not enough on Travis. +- assert proc.wait(timeout=10) == 0 ++ assert proc.wait(timeout=30) == 0 diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py -index 291647d17..6b623ef52 100644 +index 291647d..6b623ef 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -443,7 +443,7 @@ def test_barb_limits(): @@ -88,7 +99,7 @@ index 291647d17..6b623ef52 100644 def test_EllipseCollection(): # Test basic functionality diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py -index 9c36fb247..3834e4e26 100644 +index 9c36fb2..3834e4e 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -223,7 +223,7 @@ def test_constrained_layout9(): @@ -101,7 +112,7 @@ index 9c36fb247..3834e4e26 100644 '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 95611f36c..0a118b636 100644 +index 95611f3..0a118b6 100644 --- a/lib/matplotlib/tests/test_cycles.py +++ b/lib/matplotlib/tests/test_cycles.py @@ -10,7 +10,7 @@ from cycler import cycler @@ -132,7 +143,7 @@ index 95611f36c..0a118b636 100644 fig = plt.figure() ax = fig.add_subplot(111) diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py -index 229ce192c..0e7a10d46 100644 +index 229ce19..0e7a10d 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -14,7 +14,7 @@ import numpy as np @@ -145,7 +156,7 @@ index 229ce192c..0e7a10d46 100644 # 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 26e3b4a7e..2c7cedf74 100644 +index 26e3b4a..2c7cedf 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py @@ -784,7 +784,7 @@ def test_imshow_endianess(): @@ -158,7 +169,7 @@ index 26e3b4a7e..2c7cedf74 100644 cm = copy(plt.get_cmap('viridis')) diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py -index 55b8adc77..1784ff966 100644 +index 55b8adc..1784ff9 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -145,7 +145,7 @@ def test_multiple_keys(): @@ -189,7 +200,7 @@ index 55b8adc77..1784ff966 100644 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 89a5a512e..99051dee7 100644 +index 89a5a51..99051de 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -42,7 +42,7 @@ def test_simple(): @@ -202,7 +213,7 @@ index 89a5a512e..99051dee7 100644 fig = plt.figure('Figure with a label?', figsize=(10, 6)) diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py -index c50a0a896..a33fcccf0 100644 +index c50a0a8..a33fccc 100644 --- a/lib/matplotlib/tests/test_scale.py +++ b/lib/matplotlib/tests/test_scale.py @@ -97,7 +97,7 @@ def test_logscale_transform_repr(): @@ -215,7 +226,7 @@ index c50a0a896..a33fcccf0 100644 np.random.seed(19680801) xs = np.random.normal(size=int(1e3)) diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index 4f70ce861..4e52ed0c4 100644 +index 81a51e7..b77fee2 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py @@ -48,7 +48,7 @@ def test_colormap(): @@ -228,7 +239,7 @@ index 4f70ce861..4e52ed0c4 100644 X, Y, U, V = velocity_field() speed = np.sqrt(U*U + V*V) diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py -index 65c8da7ea..c69d1d531 100644 +index 65c8da7..c69d1d5 100644 --- a/lib/matplotlib/tests/test_units.py +++ b/lib/matplotlib/tests/test_units.py @@ -43,7 +43,7 @@ class Quantity(object): @@ -250,7 +261,7 @@ index 65c8da7ea..c69d1d531 100644 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 a7c637428..8fc5b25b1 100644 +index a7c6374..8fc5b25 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py @@ -91,7 +91,7 @@ def test_custom_transform(): @@ -263,5 +274,5 @@ index a7c637428..8fc5b25b1 100644 fig = plt.figure(figsize=(5, 5)) -- -2.14.3 +2.17.1 From 1b8cd73b7ed2829e266df806e314e7783ac9ae10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Fri, 22 Jun 2018 16:52:47 +0200 Subject: [PATCH 206/240] Fix the release tag --- python-matplotlib.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 0842030..7c3074b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -41,7 +41,7 @@ Name: python-matplotlib Version: 2.2.2 -Release: 2%{?rctag:.%{rctag}}%{?dist}.1 +Release: 3%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -608,7 +608,7 @@ PYTHONDONTWRITEBYTECODE=1 \ %{python3_sitearch}/matplotlib/backends/_tkagg.* %changelog -* Tue Jun 19 2018 Miro Hrončok - 2.2.2-2.1 +* Tue Jun 19 2018 Miro Hrončok - 2.2.2-3 - Rebuilt for Python 3.7 * Tue Apr 17 2018 Elliott Sales de Andrade - 2.2.2-2 From b89d120a97064b3a0f81a2256c27e1c826c64675 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 14 Jul 2018 00:55:43 +0000 Subject: [PATCH 207/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 7c3074b..8917c85 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -41,7 +41,7 @@ Name: python-matplotlib Version: 2.2.2 -Release: 3%{?rctag:.%{rctag}}%{?dist} +Release: 3%{?rctag:.%{rctag}}%{?dist}.1 Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -608,6 +608,9 @@ PYTHONDONTWRITEBYTECODE=1 \ %{python3_sitearch}/matplotlib/backends/_tkagg.* %changelog +* Sat Jul 14 2018 Fedora Release Engineering - 2.2.2-3.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Tue Jun 19 2018 Miro Hrončok - 2.2.2-3 - Rebuilt for Python 3.7 From 6f741c4a025ab0753cacbfb49b7bd8dd79b9838d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 20 Jul 2018 16:23:12 -0400 Subject: [PATCH 208/240] Don't use unversioned Python in build. --- python-matplotlib.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 8917c85..f3c8cf4 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -41,7 +41,7 @@ Name: python-matplotlib Version: 2.2.2 -Release: 3%{?rctag:.%{rctag}}%{?dist}.1 +Release: 4%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -434,7 +434,7 @@ MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data \ 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} + %{__python2} setup.py install -O1 --skip-build --root=%{buildroot} chmod +x %{buildroot}%{python2_sitearch}/matplotlib/dates.py mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data/matplotlibrc \ @@ -608,6 +608,9 @@ PYTHONDONTWRITEBYTECODE=1 \ %{python3_sitearch}/matplotlib/backends/_tkagg.* %changelog +* Fri Jul 20 2018 Elliott Sales de Andrade - 2.2.2-4 +- Don't use unversioned Python in build (#1605766) + * Sat Jul 14 2018 Fedora Release Engineering - 2.2.2-3.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 862f207d27fc568c61e4ab0f4554267548d3f06d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 20 Jul 2018 18:19:21 -0400 Subject: [PATCH 209/240] Add missing texlive-cm BR. --- python-matplotlib.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index f3c8cf4..7a4de2f 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -70,6 +70,7 @@ Patch1004: 0003-Increase-some-tolerances-for-non-x86-arches.patch BuildRequires: freetype-devel BuildRequires: libpng-devel BuildRequires: qhull-devel +BuildRequires: texlive-cm BuildRequires: xorg-x11-server-Xvfb BuildRequires: zlib-devel @@ -610,6 +611,7 @@ PYTHONDONTWRITEBYTECODE=1 \ %changelog * Fri Jul 20 2018 Elliott Sales de Andrade - 2.2.2-4 - Don't use unversioned Python in build (#1605766) +- Add missing texlive-cm BR * Sat Jul 14 2018 Fedora Release Engineering - 2.2.2-3.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From a6c4a06cefa773090a305081fe365a4946411b7d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 13 Aug 2018 21:27:10 -0400 Subject: [PATCH 210/240] Update to latest version. --- .gitignore | 3 + 0001-matplotlibrc-path-search-fix.patch | 29 +++--- ...ase-tolerances-for-non-x86_64-arches.patch | 4 +- ...e-some-tolerances-for-32-bit-systems.patch | 98 +++++++++---------- ...e-some-tolerances-for-non-x86-arches.patch | 56 +++++------ python-matplotlib.spec | 10 +- sources | 6 +- 7 files changed, 106 insertions(+), 100 deletions(-) diff --git a/.gitignore b/.gitignore index 2a20219..21e5598 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,6 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index 611bdb7..ba5a68c 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,4 +1,4 @@ -From 47e4d5c14793503a7af7919a1fb7aaa04016c9e3 Mon Sep 17 00:00:00 2001 +From e318adb6b70cdb27eb8cd5235909b8e8430080d7 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 Subject: [PATCH 1/3] matplotlibrc path search fix @@ -6,14 +6,14 @@ Subject: [PATCH 1/3] matplotlibrc path search fix Signed-off-by: Elliott Sales de Andrade --- lib/matplotlib/__init__.py | 8 +++++--- - lib/matplotlib/tests/test_rcparams.py | 23 ++++++++++++++++------- - 2 files changed, 21 insertions(+), 10 deletions(-) + lib/matplotlib/tests/test_rcparams.py | 22 ++++++++++++++++------ + 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index 93397070f..98560d9db 100644 +index c5accc3c3..bc38f316c 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py -@@ -739,9 +739,12 @@ def _get_data_path(): +@@ -738,9 +738,12 @@ def _get_data_path(): _file = _decode_filesystem_path(__file__) path = os.sep.join([os.path.dirname(_file), 'mpl-data']) @@ -26,7 +26,7 @@ index 93397070f..98560d9db 100644 # setuptools' namespace_packages may highjack this init file # so need to try something known to be in matplotlib, not basemap import matplotlib.afm -@@ -822,8 +825,7 @@ def matplotlib_fname(): +@@ -821,8 +824,7 @@ def matplotlib_fname(): - `$HOME/.matplotlib/matplotlibrc` if `$HOME` is defined. @@ -36,7 +36,7 @@ index 93397070f..98560d9db 100644 """ def gen_candidates(): -@@ -836,7 +838,7 @@ def matplotlib_fname(): +@@ -835,7 +837,7 @@ def matplotlib_fname(): yield matplotlibrc yield os.path.join(matplotlibrc, 'matplotlibrc') yield os.path.join(_get_configdir(), 'matplotlibrc') @@ -46,10 +46,10 @@ index 93397070f..98560d9db 100644 for fname in gen_candidates(): if os.path.exists(fname): diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py -index 4d93a9914..1d2097827 100644 +index c0378e1bf..7f14bcc46 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py -@@ -424,15 +424,25 @@ def test_rcparams_reset_after_fail(): +@@ -424,14 +424,25 @@ def test_rcparams_reset_after_fail(): assert mpl.rcParams['text.usetex'] is False @@ -72,14 +72,13 @@ index 4d93a9914..1d2097827 100644 dep1 = mpl._all_deprecated dep2 = mpl._deprecated_set deprecated = list(dep1.union(dep2)) -- #print(deprecated) -- path_to_rc = mpl.matplotlib_fname() +- 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(): -@@ -454,11 +464,10 @@ def test_if_rctemplate_is_up_to_date(): + for k, v in mpl.defaultParams.items(): +@@ -453,11 +464,10 @@ def test_if_rctemplate_is_up_to_date(): .format(missing.items())) @@ -87,12 +86,12 @@ index 4d93a9914..1d2097827 100644 +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 = mpl.matplotlib_fname() +- 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.14.3 +2.17.1 diff --git a/0002-Increase-tolerances-for-non-x86_64-arches.patch b/0002-Increase-tolerances-for-non-x86_64-arches.patch index a987e08..17d7262 100644 --- a/0002-Increase-tolerances-for-non-x86_64-arches.patch +++ b/0002-Increase-tolerances-for-non-x86_64-arches.patch @@ -1,4 +1,4 @@ -From 85622c14c75981b832fbf49ee70231f9edb1922b Mon Sep 17 00:00:00 2001 +From ece1f936ba4c130cf82d3954a5e677d96ca3a854 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 23 Jan 2018 20:27:17 -0500 Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches. @@ -23,5 +23,5 @@ index 81a51e711..4f70ce861 100644 X, Y, U, V = velocity_field() mask = np.zeros(U.shape, dtype=bool) -- -2.14.3 +2.17.1 diff --git a/0003-Increase-some-tolerances-for-32-bit-systems.patch b/0003-Increase-some-tolerances-for-32-bit-systems.patch index 55b76a6..5b767d7 100644 --- a/0003-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0003-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,4 +1,4 @@ -From cc437e276279d2fe81fa3bb22cf6358dcd7ce252 Mon Sep 17 00:00:00 2001 +From b8a97810843ff739cb98cb5159843f2836dbd8b3 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:15:14 -0400 Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems. @@ -26,7 +26,7 @@ Signed-off-by: Elliott Sales de Andrade 18 files changed, 53 insertions(+), 54 deletions(-) diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py -index 0ce6e62..9a80eec 100644 +index 0ce6e6252..9a80eec1a 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -408,7 +408,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol, @@ -39,7 +39,7 @@ index 0ce6e62..9a80eec 100644 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 8d1a012..02acbb2 100644 +index e6aff72bf..b60305bcf 100644 --- a/lib/matplotlib/tests/test_artist.py +++ b/lib/matplotlib/tests/test_artist.py @@ -96,7 +96,8 @@ def test_collection_transform_of_none(): @@ -53,10 +53,10 @@ index 8d1a012..02acbb2 100644 exterior = mpath.Path.unit_rectangle().deepcopy() exterior.vertices *= 4 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 77ec92b..f16e70c 100644 +index 2fa6c2c94..8c589f514 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py -@@ -523,7 +523,7 @@ def test_single_point(): +@@ -555,7 +555,7 @@ def test_single_point(): plt.plot('b', 'b', 'o', data=data) @@ -65,7 +65,7 @@ index 77ec92b..f16e70c 100644 def test_single_date(): time1 = [721964.0] data1 = [-65.54] -@@ -707,8 +707,7 @@ def test_polar_rlabel_position(): +@@ -739,8 +739,7 @@ def test_polar_rlabel_position(): ax.tick_params(rotation='auto') @@ -75,7 +75,7 @@ index 77ec92b..f16e70c 100644 def test_polar_theta_limits(): r = np.arange(0, 3.0, 0.01) theta = 2*np.pi*r -@@ -1008,7 +1007,7 @@ def test_fill_between_interpolate(): +@@ -1023,7 +1022,7 @@ def test_fill_between_interpolate(): @image_comparison(baseline_images=['fill_between_interpolate_decreasing'], @@ -84,7 +84,7 @@ index 77ec92b..f16e70c 100644 def test_fill_between_interpolate_decreasing(): p = np.array([724.3, 700, 655]) t = np.array([9.4, 7, 2.2]) -@@ -1122,7 +1121,7 @@ def test_pcolormesh(): +@@ -1105,7 +1104,7 @@ def test_pcolormesh(): @image_comparison(baseline_images=['pcolormesh_datetime_axis'], @@ -93,7 +93,7 @@ index 77ec92b..f16e70c 100644 def test_pcolormesh_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1148,7 +1147,7 @@ def test_pcolormesh_datetime_axis(): +@@ -1131,7 +1130,7 @@ def test_pcolormesh_datetime_axis(): @image_comparison(baseline_images=['pcolor_datetime_axis'], @@ -102,7 +102,7 @@ index 77ec92b..f16e70c 100644 def test_pcolor_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -1205,7 +1204,7 @@ def test_canonical(): +@@ -1188,7 +1187,7 @@ def test_canonical(): @image_comparison(baseline_images=['arc_angles'], remove_text=True, @@ -111,7 +111,7 @@ index 77ec92b..f16e70c 100644 def test_arc_angles(): from matplotlib import patches # Ellipse parameters -@@ -2467,7 +2466,7 @@ def test_boxplot_mod_artist_after_plotting(): +@@ -2450,7 +2449,7 @@ def test_boxplot_mod_artist_after_plotting(): @image_comparison(baseline_images=['violinplot_vert_baseline', 'violinplot_vert_baseline'], @@ -120,7 +120,7 @@ index 77ec92b..f16e70c 100644 def test_vert_violinplot_baseline(): # First 9 digits of frac(sqrt(2)) np.random.seed(414213562) -@@ -2485,7 +2484,7 @@ def test_vert_violinplot_baseline(): +@@ -2468,7 +2467,7 @@ def test_vert_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_vert_showmeans'], @@ -129,7 +129,7 @@ index 77ec92b..f16e70c 100644 def test_vert_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(3)) -@@ -2496,7 +2495,7 @@ def test_vert_violinplot_showmeans(): +@@ -2479,7 +2478,7 @@ def test_vert_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_vert_showextrema'], @@ -138,7 +138,7 @@ index 77ec92b..f16e70c 100644 def test_vert_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(5)) -@@ -2507,7 +2506,7 @@ def test_vert_violinplot_showextrema(): +@@ -2490,7 +2489,7 @@ def test_vert_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_vert_showmedians'], @@ -147,7 +147,7 @@ index 77ec92b..f16e70c 100644 def test_vert_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(7)) -@@ -2518,7 +2517,7 @@ def test_vert_violinplot_showmedians(): +@@ -2501,7 +2500,7 @@ def test_vert_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_vert_showall'], @@ -156,7 +156,7 @@ index 77ec92b..f16e70c 100644 def test_vert_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(11)) -@@ -2529,7 +2528,7 @@ def test_vert_violinplot_showall(): +@@ -2512,7 +2511,7 @@ def test_vert_violinplot_showall(): @image_comparison(baseline_images=['violinplot_vert_custompoints_10'], @@ -165,7 +165,7 @@ index 77ec92b..f16e70c 100644 def test_vert_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(13)) -@@ -2540,7 +2539,7 @@ def test_vert_violinplot_custompoints_10(): +@@ -2523,7 +2522,7 @@ def test_vert_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_vert_custompoints_200'], @@ -174,7 +174,7 @@ index 77ec92b..f16e70c 100644 def test_vert_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(17)) -@@ -2551,7 +2550,7 @@ def test_vert_violinplot_custompoints_200(): +@@ -2534,7 +2533,7 @@ def test_vert_violinplot_custompoints_200(): @image_comparison(baseline_images=['violinplot_horiz_baseline'], @@ -183,7 +183,7 @@ index 77ec92b..f16e70c 100644 def test_horiz_violinplot_baseline(): ax = plt.axes() # First 9 digits of frac(sqrt(19)) -@@ -2562,7 +2561,7 @@ def test_horiz_violinplot_baseline(): +@@ -2545,7 +2544,7 @@ def test_horiz_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_horiz_showmedians'], @@ -192,7 +192,7 @@ index 77ec92b..f16e70c 100644 def test_horiz_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(23)) -@@ -2573,7 +2572,7 @@ def test_horiz_violinplot_showmedians(): +@@ -2556,7 +2555,7 @@ def test_horiz_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_horiz_showmeans'], @@ -201,7 +201,7 @@ index 77ec92b..f16e70c 100644 def test_horiz_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(29)) -@@ -2584,7 +2583,7 @@ def test_horiz_violinplot_showmeans(): +@@ -2567,7 +2566,7 @@ def test_horiz_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_horiz_showextrema'], @@ -210,7 +210,7 @@ index 77ec92b..f16e70c 100644 def test_horiz_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(31)) -@@ -2595,7 +2594,7 @@ def test_horiz_violinplot_showextrema(): +@@ -2578,7 +2577,7 @@ def test_horiz_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_horiz_showall'], @@ -219,7 +219,7 @@ index 77ec92b..f16e70c 100644 def test_horiz_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(37)) -@@ -2606,7 +2605,7 @@ def test_horiz_violinplot_showall(): +@@ -2589,7 +2588,7 @@ def test_horiz_violinplot_showall(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_10'], @@ -228,7 +228,7 @@ index 77ec92b..f16e70c 100644 def test_horiz_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(41)) -@@ -2617,7 +2616,7 @@ def test_horiz_violinplot_custompoints_10(): +@@ -2600,7 +2599,7 @@ def test_horiz_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_200'], @@ -237,16 +237,16 @@ index 77ec92b..f16e70c 100644 def test_horiz_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(43)) -@@ -3964,7 +3963,7 @@ def test_psd_noise(): +@@ -3947,7 +3946,7 @@ def test_psd_noise(): @image_comparison(baseline_images=['csd_freqs'], remove_text=True, -- extensions=['png']) +- extensions=['png'], tol=0.002) + extensions=['png'], tol=0.21) def test_csd_freqs(): '''test axes.csd with sinusoidal stimuli''' n = 10000 -@@ -4823,7 +4822,7 @@ def test_rc_spines(): +@@ -4806,7 +4805,7 @@ def test_rc_spines(): @image_comparison(baseline_images=['rc_grid'], extensions=['png'], @@ -255,7 +255,7 @@ index 77ec92b..f16e70c 100644 def test_rc_grid(): fig = plt.figure() rc_dict0 = { -@@ -5318,7 +5317,7 @@ def test_date_timezone_y(): +@@ -5301,7 +5300,7 @@ def test_date_timezone_y(): @image_comparison(baseline_images=['date_timezone_x_and_y'], @@ -265,7 +265,7 @@ index 77ec92b..f16e70c 100644 # Tests issue 5575 time_index = [pytz.timezone('UTC').localize(datetime.datetime( diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py -index 291647d..265f23f 100644 +index 291647d17..265f23fed 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -467,7 +467,7 @@ def test_EllipseCollection(): @@ -278,7 +278,7 @@ index 291647d..265f23f 100644 from mpl_toolkits.mplot3d import Axes3D diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py -index 539ee8c..ae21e72 100644 +index 12a9bed3b..86d2358fb 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -95,7 +95,7 @@ def _colorbar_extension_length(spacing): @@ -317,7 +317,7 @@ index 539ee8c..ae21e72 100644 def test_gridspec_make_colorbar(): plt.figure() data = np.arange(1200).reshape(30, 40) -@@ -233,7 +233,8 @@ def test_colorbarbase(): +@@ -232,7 +232,8 @@ def test_colorbarbase(): @image_comparison( baseline_images=['colorbar_closed_patch'], @@ -328,10 +328,10 @@ index 539ee8c..ae21e72 100644 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 9c36fb2..929e38b 100644 +index fcf633a08..cad431771 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py -@@ -296,7 +296,7 @@ def test_constrained_layout12(): +@@ -295,7 +295,7 @@ def test_constrained_layout12(): ax.set_xlabel('x-label') @@ -341,10 +341,10 @@ index 9c36fb2..929e38b 100644 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 35d33b9..f10483c 100644 +index 42903ac68..f03a5d0af 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py -@@ -225,7 +225,7 @@ def test_given_colors_levels_and_extends(): +@@ -217,7 +217,7 @@ def test_given_colors_levels_and_extends(): @image_comparison(baseline_images=['contour_datetime_axis'], @@ -353,7 +353,7 @@ index 35d33b9..f10483c 100644 def test_contour_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -251,7 +251,7 @@ def test_contour_datetime_axis(): +@@ -243,7 +243,7 @@ def test_contour_datetime_axis(): @image_comparison(baseline_images=['contour_test_label_transforms'], @@ -362,7 +362,7 @@ index 35d33b9..f10483c 100644 def test_labels(): # Adapted from pylab_examples example code: contour_demo.py # see issues #2475, #2843, and #2818 for explanation -@@ -282,7 +282,7 @@ def test_labels(): +@@ -274,7 +274,7 @@ def test_labels(): @image_comparison(baseline_images=['contour_corner_mask_False', 'contour_corner_mask_True'], @@ -372,10 +372,10 @@ index 35d33b9..f10483c 100644 n = 60 mask_level = 0.95 diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py -index 26e3b4a..269f814 100644 +index e6da25789..ed3ab63c9 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py -@@ -784,7 +784,7 @@ def test_imshow_endianess(): +@@ -768,7 +768,7 @@ def test_imshow_endianess(): @image_comparison(baseline_images=['imshow_masked_interpolation'], @@ -385,7 +385,7 @@ index 26e3b4a..269f814 100644 cm = copy(plt.get_cmap('viridis')) diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py -index cdc1093..ac0d8bf 100644 +index cdc1093e1..ac0d8bf05 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): @@ -407,7 +407,7 @@ index cdc1093..ac0d8bf 100644 matplotlib.rcParams['mathtext.fontset'] = fontset fig = plt.figure(figsize=(5.25, 0.75)) diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py -index ff1abb9..cc90e6b 100644 +index ff1abb9c6..cc90e6bb0 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py @@ -266,9 +266,8 @@ def test_wedge_movement(): @@ -422,7 +422,7 @@ index ff1abb9..cc90e6b 100644 ax = plt.axes() diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py -index fe72659..2addc35 100644 +index fe7265957..2addc35ed 100644 --- a/lib/matplotlib/tests/test_patheffects.py +++ b/lib/matplotlib/tests/test_patheffects.py @@ -121,7 +121,7 @@ def test_SimplePatchShadow_offset(): @@ -435,7 +435,7 @@ index fe72659..2addc35 100644 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 89a5a51..a259612 100644 +index 89a5a512e..a25961284 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -42,7 +42,7 @@ def test_simple(): @@ -448,7 +448,7 @@ index 89a5a51..a259612 100644 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 a0e1e67..ede6bfc 100644 +index a0e1e674f..ede6bfc64 100644 --- a/lib/matplotlib/tests/test_quiver.py +++ b/lib/matplotlib/tests/test_quiver.py @@ -131,7 +131,7 @@ def test_quiver_key_pivot(): @@ -461,7 +461,7 @@ index a0e1e67..ede6bfc 100644 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 81a51e7..f234923 100644 +index 4f70ce861..5bc8184f7 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py @@ -39,8 +39,7 @@ def test_startpoints(): @@ -475,7 +475,7 @@ index 81a51e7..f234923 100644 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 06985db..8efaef8 100644 +index 06985db84..8efaef898 100644 --- a/lib/matplotlib/tests/test_transforms.py +++ b/lib/matplotlib/tests/test_transforms.py @@ -74,7 +74,7 @@ def test_external_transform_api(): @@ -488,7 +488,7 @@ index 06985db..8efaef8 100644 # 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/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py -index de72266..2676fc8 100644 +index de7226609..2676fc842 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py +++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py @@ -24,7 +24,7 @@ def test_subplot(): @@ -510,7 +510,7 @@ index de72266..2676fc8 100644 fig = plt.figure(figsize=(5, 5)) fig.clf() 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 a7c6374..e22f4ac 100644 +index a7c637428..e22f4ac3e 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py @@ -19,7 +19,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \ @@ -541,7 +541,7 @@ index a7c6374..e22f4ac 100644 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 0a506db..44e1681 100644 +index 0a506db92..44e1681fc 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py @@ -225,7 +225,7 @@ def test_text3d(): diff --git a/0003-Increase-some-tolerances-for-non-x86-arches.patch b/0003-Increase-some-tolerances-for-non-x86-arches.patch index 5bd8c7b..e30ab11 100644 --- a/0003-Increase-some-tolerances-for-non-x86-arches.patch +++ b/0003-Increase-some-tolerances-for-non-x86-arches.patch @@ -1,4 +1,4 @@ -From f4e678415e0f249d97fe20d07941127fc34a2d54 Mon Sep 17 00:00:00 2001 +From 3e2bfee4e8ce28fffa7e9cd0a054429af2e2ebe3 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:33:37 -0400 Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches. @@ -22,7 +22,7 @@ Signed-off-by: Elliott Sales de Andrade 14 files changed, 23 insertions(+), 22 deletions(-) diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py -index 44f87c5..fb50ae7 100644 +index 44f87c5fe..fb50ae710 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py @@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test(): @@ -44,7 +44,7 @@ index 44f87c5..fb50ae7 100644 def test_fancyarrow_dpi_cor_200dpi(): """ diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 77ec92b..49a4d92 100644 +index 2fa6c2c94..f785e3e89 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -389,7 +389,7 @@ def test_annotate_default_arrow(): @@ -56,7 +56,7 @@ index 77ec92b..49a4d92 100644 def test_polar_annotations(): # you can specify the xypoint and the xytext in different # positions and coordinate systems, and optionally turn on a -@@ -3284,7 +3284,8 @@ def test_vertex_markers(): +@@ -3267,7 +3267,8 @@ def test_vertex_markers(): @image_comparison(baseline_images=['vline_hline_zorder', @@ -66,7 +66,7 @@ index 77ec92b..49a4d92 100644 def test_eb_line_zorder(): x = list(xrange(10)) -@@ -5017,7 +5018,7 @@ def test_title_location_roundtrip(): +@@ -5000,7 +5001,7 @@ def test_title_location_roundtrip(): @image_comparison(baseline_images=["loglog"], remove_text=True, @@ -76,7 +76,7 @@ index 77ec92b..49a4d92 100644 fig, ax = plt.subplots() x = np.arange(1, 11) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py -index bd1cc5f..7d11f18 100644 +index df7a5d08a..3567d7f3d 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py @@ -55,4 +55,4 @@ def test_backend(backend): @@ -86,7 +86,7 @@ index bd1cc5f..7d11f18 100644 - assert proc.wait(timeout=10) == 0 + assert proc.wait(timeout=30) == 0 diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py -index 291647d..6b623ef 100644 +index 291647d17..6b623ef52 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -443,7 +443,7 @@ def test_barb_limits(): @@ -99,10 +99,10 @@ index 291647d..6b623ef 100644 def test_EllipseCollection(): # Test basic functionality diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py -index 9c36fb2..3834e4e 100644 +index fcf633a08..725365d2e 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py -@@ -223,7 +223,7 @@ def test_constrained_layout9(): +@@ -222,7 +222,7 @@ def test_constrained_layout9(): @image_comparison(baseline_images=['constrained_layout10'], @@ -112,7 +112,7 @@ index 9c36fb2..3834e4e 100644 '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 95611f3..0a118b6 100644 +index dfa0f7c79..ac605c8ab 100644 --- a/lib/matplotlib/tests/test_cycles.py +++ b/lib/matplotlib/tests/test_cycles.py @@ -10,7 +10,7 @@ from cycler import cycler @@ -122,28 +122,28 @@ index 95611f3..0a118b6 100644 - extensions=['png']) + extensions=['png'], tol=0.008) def test_colorcycle_basic(): - fig = plt.figure() - ax = fig.add_subplot(111) -@@ -28,7 +28,7 @@ def test_colorcycle_basic(): + fig, ax = plt.subplots() + ax.set_prop_cycle(cycler('color', ['r', 'g', 'y'])) +@@ -27,7 +27,7 @@ def test_colorcycle_basic(): @image_comparison(baseline_images=['marker_cycle', 'marker_cycle'], - remove_text=True, extensions=['png']) + remove_text=True, extensions=['png'], tol=0.008) def test_marker_cycle(): - fig = plt.figure() - ax = fig.add_subplot(111) -@@ -63,7 +63,7 @@ def test_marker_cycle(): + fig, ax = plt.subplots() + ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) + +@@ -60,7 +60,7 @@ def test_marker_cycle(): @image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True, - extensions=['png']) + extensions=['png'], tol=0.009) def test_linestylecycle_basic(): - fig = plt.figure() - ax = fig.add_subplot(111) + fig, ax = plt.subplots() + ax.set_prop_cycle(cycler('ls', ['-', '--', ':'])) diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py -index 229ce19..0e7a10d 100644 +index 69752e17d..e7c57d470 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py @@ -14,7 +14,7 @@ import numpy as np @@ -156,10 +156,10 @@ index 229ce19..0e7a10d 100644 # 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 26e3b4a..2c7cedf 100644 +index e6da25789..626e9eb94 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py -@@ -784,7 +784,7 @@ def test_imshow_endianess(): +@@ -768,7 +768,7 @@ def test_imshow_endianess(): @image_comparison(baseline_images=['imshow_masked_interpolation'], @@ -169,7 +169,7 @@ index 26e3b4a..2c7cedf 100644 cm = copy(plt.get_cmap('viridis')) diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py -index 55b8adc..1784ff9 100644 +index 55b8adc77..1784ff966 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -145,7 +145,7 @@ def test_multiple_keys(): @@ -200,7 +200,7 @@ index 55b8adc..1784ff9 100644 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 89a5a51..99051de 100644 +index 89a5a512e..99051dee7 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py @@ -42,7 +42,7 @@ def test_simple(): @@ -213,10 +213,10 @@ index 89a5a51..99051de 100644 fig = plt.figure('Figure with a label?', figsize=(10, 6)) diff --git a/lib/matplotlib/tests/test_scale.py b/lib/matplotlib/tests/test_scale.py -index c50a0a8..a33fccc 100644 +index dd5b18182..ebebb0525 100644 --- a/lib/matplotlib/tests/test_scale.py +++ b/lib/matplotlib/tests/test_scale.py -@@ -97,7 +97,7 @@ def test_logscale_transform_repr(): +@@ -96,7 +96,7 @@ def test_logscale_transform_repr(): @image_comparison(baseline_images=['logscale_nonpos_values'], remove_text=True, @@ -226,7 +226,7 @@ index c50a0a8..a33fccc 100644 np.random.seed(19680801) xs = np.random.normal(size=int(1e3)) diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index 81a51e7..b77fee2 100644 +index 4f70ce861..4e52ed0c4 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py @@ -48,7 +48,7 @@ def test_colormap(): @@ -239,7 +239,7 @@ index 81a51e7..b77fee2 100644 X, Y, U, V = velocity_field() speed = np.sqrt(U*U + V*V) diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py -index 65c8da7..c69d1d5 100644 +index 65c8da7ea..c69d1d531 100644 --- a/lib/matplotlib/tests/test_units.py +++ b/lib/matplotlib/tests/test_units.py @@ -43,7 +43,7 @@ class Quantity(object): @@ -261,7 +261,7 @@ index 65c8da7..c69d1d5 100644 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 a7c6374..8fc5b25 100644 +index a7c637428..8fc5b25b1 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py @@ -91,7 +91,7 @@ def test_custom_transform(): diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 7a4de2f..e0e0a9f 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -34,14 +34,14 @@ # The version of FreeType in this Fedora branch. %if %{fedora} >= 29 -%global ftver 2.9 +%global ftver 2.9.1 %else %global ftver 2.8 %endif Name: python-matplotlib -Version: 2.2.2 -Release: 4%{?rctag:.%{rctag}}%{?dist} +Version: 2.2.3 +Release: 1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -608,7 +608,11 @@ PYTHONDONTWRITEBYTECODE=1 \ %{python3_sitearch}/matplotlib/backends/__pycache__/tkagg.* %{python3_sitearch}/matplotlib/backends/_tkagg.* + %changelog +* Mon Aug 13 2018 Elliott Sales de Andrade - 2.2.3-1 +- Update to latest version + * Fri Jul 20 2018 Elliott Sales de Andrade - 2.2.2-4 - Don't use unversioned Python in build (#1605766) - Add missing texlive-cm BR diff --git a/sources b/sources index 831d778..53a771b 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (matplotlib-2.2.2-with-freetype-2.8.tar.gz) = b31a56ee3594ec50ad6980112b435ae7cb37a0c5826f13997c5ec432c8158e584d3ef58204bff1cd2cb702dc6f050f4daea47576bd1982f40746b424da056d4d -SHA512 (matplotlib-2.2.2-with-freetype-2.9.tar.gz) = c1587ab3de11c5713ed7be91ecd9b31e083dd352f2af4177fd98f5bd46921eb9d4396013c58cf907618e6fbee62a0f39442e64f1df25976758fab02e5822a03f -SHA512 (matplotlib-2.2.2.tar.gz) = 58dbeabafa7cd008cf5a585829a5b9f098114a43700dedbd7cc3ed09180ea99a870d06295fe8f1d47f1eb807d264924a4b6fb7cf47e6bc3b74045aa4f0714ac9 +SHA512 (matplotlib-2.2.3.tar.gz) = d118f5d56e2f578031aba22933c0b3a4423a31a04f50f08cc1aa660186546d09692a9cf401bb5f24cb296f94fbfd8707460728d501ac2bd4a624dfa89e92949b +SHA512 (matplotlib-2.2.3-with-freetype-2.9.1.tar.gz) = 00f6d4eeab6d73108129a5ccbaccda37c2e8cc684efeeb03c492a96a2071357a32a624ebfef2770c8c205a3741ef8d947f117351d90d25c4c7b4b8b6b84db556 +SHA512 (matplotlib-2.2.3-with-freetype-2.8.tar.gz) = 7f11a0589f2ab5fcbdee0da0d4fa003c62b9e882fbae22a6bc725f791f3ea058b33321a70a5cf1858f494aa1ebb8b3e686c56ff73e6174fb980e159331bd0a0d From 20e40c3953c3c01e57e807c25fab0f0fa18d026a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 17 Aug 2018 23:59:22 -0400 Subject: [PATCH 211/240] 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. --- python-matplotlib.spec | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index e0e0a9f..1779c47 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -475,7 +475,7 @@ PYTHONDONTWRITEBYTECODE=1 \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python2} -m pytest --pyargs matplotlib -ra -n $(getconf _NPROCESSORS_ONLN) \ -m 'not network' \ - -k 'not test_invisible_Line_rendering and not test_parasite and not test_polycollection_close' + -k 'not test_invisible_Line_rendering and not test_parasite and not test_polycollection_close and not test_nose_image_comparison' MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ @@ -484,7 +484,23 @@ PYTHONDONTWRITEBYTECODE=1 \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ -m 'not network' \ - -k 'not test_invisible_Line_rendering' + -k 'not test_invisible_Line_rendering and not test_nose_image_comparison' + +# We run these separately because they have issues when run in parallel. +MPLCONFIGDIR=$PWD \ +MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ +PYTHONPATH=%{buildroot}%{python2_sitearch} \ +PYTHONDONTWRITEBYTECODE=1 \ + xvfb-run -a -s "-screen 0 640x480x24" \ + %{__python2} -m pytest --pyargs matplotlib -ra \ + -k 'test_nose_image_comparison' +MPLCONFIGDIR=$PWD \ +MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ +PYTHONPATH=%{buildroot}%{python3_sitearch} \ +PYTHONDONTWRITEBYTECODE=1 \ + xvfb-run -a -s "-screen 0 640x480x24" \ + %{__python3} tests.py -ra \ + -k 'test_nose_image_comparison' %endif # run_tests %files -n python-matplotlib-data From 8293bc2589b9aeaddd4383945dac37b538918ee3 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 14 Aug 2018 05:54:43 -0400 Subject: [PATCH 212/240] Remove Python 2 subpackages. --- python-matplotlib.spec | 287 +++++------------------------------------ 1 file changed, 29 insertions(+), 258 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 1779c47..d9b431b 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -8,8 +8,8 @@ # happen. %global run_tests 1 -# 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" @@ -85,166 +85,6 @@ 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 -BuildRequires: python2-numpy -BuildRequires: python2-pyparsing -BuildRequires: python2-dateutil -BuildRequires: python2-kiwisolver -BuildRequires: python2-pyside -BuildRequires: python2-setuptools -BuildRequires: python2-six -BuildRequires: python2-sphinx -BuildRequires: python2-subprocess32 -BuildRequires: python2-devel -BuildRequires: python2-backports-functools_lru_cache -BuildRequires: python2-pillow -BuildRequires: python2-pytz -%if %{with_html} -BuildRequires: %{_bindir}/pdftops -# circular dependency: python2-basemap requires matplotlib -BuildRequires: python2-basemap -BuildRequires: python2-ipython-sphinx -BuildRequires: python2-numpydoc -BuildRequires: python2-scikit-image -BuildRequires: python2-colorspacious -BuildRequires: python2-cycler >= 0.10.0 -%endif -%if %{run_tests} -BuildRequires: python2-pytest -BuildRequires: python2-pytest-xdist -BuildRequires: python2-cycler >= 0.10.0 -BuildRequires: python2-mock -%endif -Requires: dejavu-sans-fonts -Requires: dvipng -Requires: python2-numpy -Requires: python2-pyparsing -Requires: python2-cycler >= 0.10.0 -Requires: python2-dateutil -Requires: python2-kiwisolver -Requires: python2-backports-functools_lru_cache -Requires: python-matplotlib-data = %{version}-%{release} -%{?backend_subpackage:Requires: python2-matplotlib-%{backend_subpackage}%{?_isa} = %{version}-%{release}} -Recommends: python2-pillow -Requires: python2-six -Requires: python2-subprocess32 -Requires: python2-pytz -%if !%{with_bundled_fonts} -Requires: stix-math-fonts -%else -Provides: bundled(stix-math-fonts) -%endif -%{?python_provide:%python_provide python2-matplotlib} -Provides: bundled(agg) = 2.4 -Provides: bundled(ttconv) -Provides: bundled(js-jquery1) = 1.11.3 -Provides: bundled(js-jquery1-ui) = 1.11.4 -Provides: bundled(texlive-helvetic) - -%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 -Summary: Qt4 backend for python-matplotlib -BuildRequires: PyQt4-devel -Requires: python2-PyQt4 -Requires: python2-matplotlib%{?_isa} = %{version}-%{release} -Requires: python2-matplotlib-qt5 -%{?python_provide:%python_provide python2-matplotlib-qt4} - -%description -n python2-matplotlib-qt4 -%{summary} - -%package -n python2-matplotlib-qt5 -Summary: Qt5 backend for python-matplotlib -BuildRequires: python2-qt5 -Requires: python2-qt5 -Requires: python2-matplotlib%{?_isa} = %{version}-%{release} -%{?python_provide:%python_provide python2-matplotlib-qt5} - -%description -n python2-matplotlib-qt5 -%{summary} - -%package -n python2-matplotlib-gtk -Summary: GTK backend for python-matplotlib -BuildRequires: gtk2-devel -BuildRequires: pycairo-devel -BuildRequires: pygtk2-devel -Requires: pycairo -Requires: pygtk2 -Requires: python2-matplotlib%{?_isa} = %{version}-%{release} -%{?python_provide:%python_provide python2-matplotlib-gtk} - -%description -n python2-matplotlib-gtk -%{summary} - -%package -n python2-matplotlib-gtk3 -Summary: GTK3 backend for python-matplotlib -# This should be converted to typelib(Gtk) when supported -BuildRequires: gtk3 -BuildRequires: pygobject3-base -Requires: gtk3%{?_isa} -Requires: pygobject3-base%{?_isa} -Requires: python2-matplotlib%{?_isa} = %{version}-%{release} -%{?python_provide:%python_provide python2-matplotlib-gtk3} - -%description -n python2-matplotlib-gtk3 -%{summary} - -%package -n python2-matplotlib-tk -Summary: Tk backend for python-matplotlib -BuildRequires: tcl-devel -BuildRequires: tkinter -BuildRequires: tk-devel -Requires: python2-matplotlib%{?_isa} = %{version}-%{release} -Requires: tkinter -%{?python_provide:%python_provide python2-matplotlib-tk} - -%description -n python2-matplotlib-tk -%{summary} - -%package -n python2-matplotlib-wx -Summary: wxPython backend for python-matplotlib -BuildRequires: wxPython-devel -Requires: python2-matplotlib%{?_isa} = %{version}-%{release} -Requires: python2-wxpython -%{?python_provide:%python_provide python2-matplotlib-wx} - -%description -n python2-matplotlib-wx -%{summary} - -%package -n python2-matplotlib-test-data -Summary: Test data for python2-matplotlib -Requires: python2-matplotlib%{?_isa} = %{version}-%{release} -%{?python_provide:%python_provide python2-matplotlib-test-data} - -%description -n python2-matplotlib-test-data -%{summary} - -%package -n python2-matplotlib-doc -Summary: Documentation files for python-matplotlib -%if %{with_html} -BuildRequires: dvipng -BuildRequires: graphviz -BuildRequires: python2-sphinx -BuildRequires: tex(latex) -BuildRequires: tex-preview -%endif -Requires: python2-matplotlib%{?_isa} = %{version}-%{release} -%{?python_provide:%python_provide python2-matplotlib-doc} - -%description -n python2-matplotlib-doc -%{summary} - %package -n python-matplotlib-data Summary: Data used by python-matplotlib BuildArch: noarch @@ -338,7 +178,6 @@ Requires: python3-qt5 %description -n python3-matplotlib-qt5 %{summary} -# gtk2 never worked in Python 3 afaict, so no need for -gtk subpackage %package -n python3-matplotlib-gtk3 Summary: GTK3 backend for python3-matplotlib # This should be converted to typelib(Gtk) when supported @@ -362,6 +201,21 @@ Requires: python3-tkinter %description -n python3-matplotlib-tk %{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 +%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} @@ -409,48 +263,38 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %build 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 '{}' \; -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 - %install export http_proxy=http://127.0.0.1/ -MPLCONFIGDIR=$PWD \ -MATPLOTLIBDATA=$PWD/lib/matplotlib/mpl-data/ \ - %{__python2} setup.py install -O1 --skip-build --root=%{buildroot} -chmod +x %{buildroot}%{python2_sitearch}/matplotlib/dates.py -mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib -mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data/matplotlibrc \ - %{buildroot}%{_sysconfdir} -mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data \ - %{buildroot}%{_datadir}/matplotlib -%if !%{with_bundled_fonts} -rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts -%endif 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 +mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib +mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data/matplotlibrc \ + %{buildroot}%{_sysconfdir} +mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data \ + %{buildroot}%{_datadir}/matplotlib +%if !%{with_bundled_fonts} +rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts +%endif %if %{run_tests} %check @@ -460,23 +304,9 @@ rm -rf build*/ export http_proxy=http://127.0.0.1/ # This should match the default backend echo "backend : %{backend}" > matplotlibrc -# Full tests are not run because pytest doesn't seem to understand namespace -# packages in PYTHONPATH. # Skips: -# * test_parasite: imports mpl_toolkits which is broken as noted above. -# * test_polycollection_close: imports mpl_toolkits which is broken as noted -# above. # * test_invisible_Line_rendering: Checks for "slowness" that often fails on a # heavily-loaded builder. -MPLCONFIGDIR=$PWD \ -MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ -PYTHONPATH=%{buildroot}%{python2_sitearch} \ -PYTHONDONTWRITEBYTECODE=1 \ - xvfb-run -a -s "-screen 0 640x480x24" \ - %{__python2} -m pytest --pyargs matplotlib -ra -n $(getconf _NPROCESSORS_ONLN) \ - -m 'not network' \ - -k 'not test_invisible_Line_rendering and not test_parasite and not test_polycollection_close and not test_nose_image_comparison' - MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ @@ -489,13 +319,6 @@ PYTHONDONTWRITEBYTECODE=1 \ # We run these separately because they have issues when run in parallel. MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ -PYTHONPATH=%{buildroot}%{python2_sitearch} \ -PYTHONDONTWRITEBYTECODE=1 \ - xvfb-run -a -s "-screen 0 640x480x24" \ - %{__python2} -m pytest --pyargs matplotlib -ra \ - -k 'test_nose_image_comparison' -MPLCONFIGDIR=$PWD \ -MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ PYTHONDONTWRITEBYTECODE=1 \ xvfb-run -a -s "-screen 0 640x480x24" \ @@ -515,59 +338,7 @@ PYTHONDONTWRITEBYTECODE=1 \ %{_datadir}/matplotlib/mpl-data/fonts/ %endif -%files -n python2-matplotlib -%license LICENSE/ -%doc README.rst -%{python2_sitearch}/*egg-info -%{python2_sitearch}/matplotlib-*-nspkg.pth -%{python2_sitearch}/matplotlib/ -%exclude %{python2_sitearch}/matplotlib/tests/baseline_images/* -%{python2_sitearch}/mpl_toolkits/ -%exclude %{python2_sitearch}/mpl_toolkits/tests/baseline_images/* -%{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}/* -%exclude %{_pkgdocdir}/*/* - -%files -n python2-matplotlib-test-data -%{python2_sitearch}/matplotlib/tests/baseline_images/ -%{python2_sitearch}/mpl_toolkits/tests/baseline_images/ - -%files -n python2-matplotlib-qt4 -%{python2_sitearch}/matplotlib/backends/backend_qt4.* -%{python2_sitearch}/matplotlib/backends/backend_qt4agg.* - -%files -n python2-matplotlib-qt5 -%{python2_sitearch}/matplotlib/backends/backend_qt5.* -%{python2_sitearch}/matplotlib/backends/backend_qt5agg.* - -%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 - -%files -n python2-matplotlib-wx -%{python2_sitearch}/matplotlib/backends/backend_wx.* -%{python2_sitearch}/matplotlib/backends/backend_wxagg.* - -%files -n python2-matplotlib-doc +%files -n python3-matplotlib-doc %doc examples %if %{with_html} %doc doc/build/html/* From ee42f5946278c22d227ab3da428f972a96d67c67 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 14 Aug 2018 06:15:50 -0400 Subject: [PATCH 213/240] Add explicit gcc/gcc-c++ BR. --- python-matplotlib.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index d9b431b..4d7d305 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -67,6 +67,8 @@ Patch1003: 0003-Increase-some-tolerances-for-32-bit-systems.patch # Image tolerances for 64-bit (but not x86_64) systems: aarch64 ppc64(le) s390x Patch1004: 0003-Increase-some-tolerances-for-non-x86-arches.patch +BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: freetype-devel BuildRequires: libpng-devel BuildRequires: qhull-devel From 1dcb7afa2a1c2d96e1c3c3ee61978e3500836453 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 17 Aug 2018 17:37:11 -0400 Subject: [PATCH 214/240] Update to 3.0.0rc1. --- .gitignore | 2 + 0001-matplotlibrc-path-search-fix.patch | 56 +++-- ...ase-tolerances-for-non-x86_64-arches.patch | 19 +- ...e-some-tolerances-for-32-bit-systems.patch | 219 ++++++++--------- ...e-some-tolerances-for-non-x86-arches.patch | 232 +++++++++--------- python-matplotlib.spec | 21 +- sources | 5 +- 7 files changed, 272 insertions(+), 282 deletions(-) diff --git a/.gitignore b/.gitignore index 21e5598..5cf80af 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,5 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index ba5a68c..836687c 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,32 +1,39 @@ -From e318adb6b70cdb27eb8cd5235909b8e8430080d7 Mon Sep 17 00:00:00 2001 +From cdfa3680a45c623d8c36b39c229190436c5a6c17 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 Subject: [PATCH 1/3] matplotlibrc path search fix Signed-off-by: Elliott Sales de Andrade --- - lib/matplotlib/__init__.py | 8 +++++--- + lib/matplotlib/__init__.py | 18 +++--------------- lib/matplotlib/tests/test_rcparams.py | 22 ++++++++++++++++------ - 2 files changed, 21 insertions(+), 9 deletions(-) + 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index c5accc3c3..bc38f316c 100644 +index 3f2a6a300..a2679c11c 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py -@@ -738,9 +738,12 @@ def _get_data_path(): - - _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): +@@ -664,18 +664,7 @@ def _get_data_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 -@@ -821,8 +824,7 @@ def matplotlib_fname(): + def get_candidate_paths(): +- yield Path(__file__).with_name('mpl-data') +- # setuptools' namespace_packages may highjack 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('/usr/share/matplotlib/mpl-data') + + for path in get_candidate_paths(): + if path.is_dir(): +@@ -727,8 +716,7 @@ def matplotlib_fname(): - `$HOME/.matplotlib/matplotlibrc` if `$HOME` is defined. @@ -36,20 +43,20 @@ index c5accc3c3..bc38f316c 100644 """ def gen_candidates(): -@@ -835,7 +837,7 @@ def matplotlib_fname(): +@@ -741,7 +729,7 @@ def matplotlib_fname(): yield matplotlibrc yield os.path.join(matplotlibrc, 'matplotlibrc') - yield os.path.join(_get_configdir(), '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): diff --git a/lib/matplotlib/tests/test_rcparams.py b/lib/matplotlib/tests/test_rcparams.py -index c0378e1bf..7f14bcc46 100644 +index 7eec4d421..4c74619f6 100644 --- a/lib/matplotlib/tests/test_rcparams.py +++ b/lib/matplotlib/tests/test_rcparams.py -@@ -424,14 +424,25 @@ def test_rcparams_reset_after_fail(): +@@ -451,11 +451,22 @@ def test_rcparams_reset_after_fail(): assert mpl.rcParams['text.usetex'] is False @@ -67,18 +74,15 @@ index c0378e1bf..7f14bcc46 100644 + + +def test_if_rctemplate_is_up_to_date(mplrc): - # This tests if the matplotlibrc.template file - # contains all valid rcParams. - dep1 = mpl._all_deprecated - dep2 = mpl._deprecated_set - deprecated = list(dep1.union(dep2)) + # 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(): -@@ -453,11 +464,10 @@ def test_if_rctemplate_is_up_to_date(): +@@ -478,11 +489,10 @@ def test_if_rctemplate_is_up_to_date(): .format(missing.items())) diff --git a/0002-Increase-tolerances-for-non-x86_64-arches.patch b/0002-Increase-tolerances-for-non-x86_64-arches.patch index 17d7262..9824295 100644 --- a/0002-Increase-tolerances-for-non-x86_64-arches.patch +++ b/0002-Increase-tolerances-for-non-x86_64-arches.patch @@ -1,27 +1,26 @@ -From ece1f936ba4c130cf82d3954a5e677d96ca3a854 Mon Sep 17 00:00:00 2001 +From 938c1fbca5e3cb1034731f3439c3d146c02f210d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 23 Jan 2018 20:27:17 -0500 Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches. Signed-off-by: Elliott Sales de Andrade --- - lib/matplotlib/tests/test_streamplot.py | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) + lib/matplotlib/tests/test_streamplot.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index 81a51e711..4f70ce861 100644 +index 17c0d1967..e261513df 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py -@@ -58,8 +58,7 @@ def test_linewidth(): - linewidth=lw) +@@ -61,7 +61,7 @@ def test_linewidth(): --@image_comparison(baseline_images=['streamplot_masks_and_nans'], -- tol=0.04 if on_win else 0) -+@image_comparison(baseline_images=['streamplot_masks_and_nans'], tol=0.01) + @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() - mask = np.zeros(U.shape, dtype=bool) -- 2.17.1 diff --git a/0003-Increase-some-tolerances-for-32-bit-systems.patch b/0003-Increase-some-tolerances-for-32-bit-systems.patch index 5b767d7..7a4fb95 100644 --- a/0003-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0003-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,4 +1,4 @@ -From b8a97810843ff739cb98cb5159843f2836dbd8b3 Mon Sep 17 00:00:00 2001 +From 943a2ccfd21f7b94d1bdf9d665c123687c7cdfd2 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:15:14 -0400 Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems. @@ -7,29 +7,29 @@ Signed-off-by: Elliott Sales de Andrade --- lib/matplotlib/testing/decorators.py | 2 +- lib/matplotlib/tests/test_artist.py | 3 +- - lib/matplotlib/tests/test_axes.py | 47 +++++++++---------- + lib/matplotlib/tests/test_axes.py | 46 ++++++++++--------- 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 | 6 +-- + lib/matplotlib/tests/test_contour.py | 8 ++-- lib/matplotlib/tests/test_image.py | 2 +- 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 | 3 +- + lib/matplotlib/tests/test_streamplot.py | 2 +- lib/matplotlib/tests/test_transforms.py | 2 +- .../tests/test_axisartist_floating_axes.py | 4 +- ...test_axisartist_grid_helper_curvelinear.py | 6 +-- lib/mpl_toolkits/tests/test_mplot3d.py | 4 +- - 18 files changed, 53 insertions(+), 54 deletions(-) + 18 files changed, 56 insertions(+), 51 deletions(-) diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py -index 0ce6e6252..9a80eec1a 100644 +index 85b8d5e87..f3fc47c68 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py -@@ -408,7 +408,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol, +@@ -338,7 +338,7 @@ def _pytest_image_comparison(baseline_images, extensions, tol, return decorator @@ -39,10 +39,10 @@ index 0ce6e6252..9a80eec1a 100644 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 e6aff72bf..b60305bcf 100644 +index 283db9abe..2ae11142c 100644 --- a/lib/matplotlib/tests/test_artist.py +++ b/lib/matplotlib/tests/test_artist.py -@@ -96,7 +96,8 @@ def test_collection_transform_of_none(): +@@ -94,7 +94,8 @@ def test_collection_transform_of_none(): assert isinstance(c._transOffset, mtransforms.IdentityTransform) @@ -53,29 +53,19 @@ index e6aff72bf..b60305bcf 100644 exterior = mpath.Path.unit_rectangle().deepcopy() exterior.vertices *= 4 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 2fa6c2c94..8c589f514 100644 +index a5b7331d3..03673d1d3 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py -@@ -555,7 +555,7 @@ def test_single_point(): - plt.plot('b', 'b', 'o', data=data) +@@ -553,7 +553,7 @@ def test_single_point(): --@image_comparison(baseline_images=['single_date']) -+@image_comparison(baseline_images=['single_date'], tol=1.97) + @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] -@@ -739,8 +739,7 @@ def test_polar_rlabel_position(): - ax.tick_params(rotation='auto') - - --@image_comparison(baseline_images=['polar_theta_wedge'], style='default', -- tol=0.01 if six.PY2 else 0) -+@image_comparison(baseline_images=['polar_theta_wedge'], style='default') - def test_polar_theta_limits(): - r = np.arange(0, 3.0, 0.01) - theta = 2*np.pi*r -@@ -1023,7 +1022,7 @@ def test_fill_between_interpolate(): +@@ -1027,7 +1027,7 @@ def test_fill_between_interpolate(): @image_comparison(baseline_images=['fill_between_interpolate_decreasing'], @@ -84,25 +74,27 @@ index 2fa6c2c94..8c589f514 100644 def test_fill_between_interpolate_decreasing(): p = np.array([724.3, 700, 655]) t = np.array([9.4, 7, 2.2]) -@@ -1105,7 +1104,7 @@ def test_pcolormesh(): +@@ -1109,7 +1109,8 @@ def test_pcolormesh(): @image_comparison(baseline_images=['pcolormesh_datetime_axis'], -- extensions=['png'], remove_text=False) -+ extensions=['png'], remove_text=False, tol=0.19) +- 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) -@@ -1131,7 +1130,7 @@ def test_pcolormesh_datetime_axis(): +@@ -1135,7 +1136,8 @@ def test_pcolormesh_datetime_axis(): @image_comparison(baseline_images=['pcolor_datetime_axis'], -- extensions=['png'], remove_text=False) -+ extensions=['png'], remove_text=False, tol=0.19) +- 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) -@@ -1188,7 +1187,7 @@ def test_canonical(): +@@ -1192,7 +1194,7 @@ def test_canonical(): @image_comparison(baseline_images=['arc_angles'], remove_text=True, @@ -111,7 +103,7 @@ index 2fa6c2c94..8c589f514 100644 def test_arc_angles(): from matplotlib import patches # Ellipse parameters -@@ -2450,7 +2449,7 @@ def test_boxplot_mod_artist_after_plotting(): +@@ -2533,7 +2535,7 @@ def test_boxplot_mod_artist_after_plotting(): @image_comparison(baseline_images=['violinplot_vert_baseline', 'violinplot_vert_baseline'], @@ -120,7 +112,7 @@ index 2fa6c2c94..8c589f514 100644 def test_vert_violinplot_baseline(): # First 9 digits of frac(sqrt(2)) np.random.seed(414213562) -@@ -2468,7 +2467,7 @@ def test_vert_violinplot_baseline(): +@@ -2551,7 +2553,7 @@ def test_vert_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_vert_showmeans'], @@ -129,7 +121,7 @@ index 2fa6c2c94..8c589f514 100644 def test_vert_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(3)) -@@ -2479,7 +2478,7 @@ def test_vert_violinplot_showmeans(): +@@ -2562,7 +2564,7 @@ def test_vert_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_vert_showextrema'], @@ -138,7 +130,7 @@ index 2fa6c2c94..8c589f514 100644 def test_vert_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(5)) -@@ -2490,7 +2489,7 @@ def test_vert_violinplot_showextrema(): +@@ -2573,7 +2575,7 @@ def test_vert_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_vert_showmedians'], @@ -147,7 +139,7 @@ index 2fa6c2c94..8c589f514 100644 def test_vert_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(7)) -@@ -2501,7 +2500,7 @@ def test_vert_violinplot_showmedians(): +@@ -2584,7 +2586,7 @@ def test_vert_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_vert_showall'], @@ -156,7 +148,7 @@ index 2fa6c2c94..8c589f514 100644 def test_vert_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(11)) -@@ -2512,7 +2511,7 @@ def test_vert_violinplot_showall(): +@@ -2595,7 +2597,7 @@ def test_vert_violinplot_showall(): @image_comparison(baseline_images=['violinplot_vert_custompoints_10'], @@ -165,7 +157,7 @@ index 2fa6c2c94..8c589f514 100644 def test_vert_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(13)) -@@ -2523,7 +2522,7 @@ def test_vert_violinplot_custompoints_10(): +@@ -2606,7 +2608,7 @@ def test_vert_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_vert_custompoints_200'], @@ -174,7 +166,7 @@ index 2fa6c2c94..8c589f514 100644 def test_vert_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(17)) -@@ -2534,7 +2533,7 @@ def test_vert_violinplot_custompoints_200(): +@@ -2617,7 +2619,7 @@ def test_vert_violinplot_custompoints_200(): @image_comparison(baseline_images=['violinplot_horiz_baseline'], @@ -183,7 +175,7 @@ index 2fa6c2c94..8c589f514 100644 def test_horiz_violinplot_baseline(): ax = plt.axes() # First 9 digits of frac(sqrt(19)) -@@ -2545,7 +2544,7 @@ def test_horiz_violinplot_baseline(): +@@ -2628,7 +2630,7 @@ def test_horiz_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_horiz_showmedians'], @@ -192,7 +184,7 @@ index 2fa6c2c94..8c589f514 100644 def test_horiz_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(23)) -@@ -2556,7 +2555,7 @@ def test_horiz_violinplot_showmedians(): +@@ -2639,7 +2641,7 @@ def test_horiz_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_horiz_showmeans'], @@ -201,7 +193,7 @@ index 2fa6c2c94..8c589f514 100644 def test_horiz_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(29)) -@@ -2567,7 +2566,7 @@ def test_horiz_violinplot_showmeans(): +@@ -2650,7 +2652,7 @@ def test_horiz_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_horiz_showextrema'], @@ -210,7 +202,7 @@ index 2fa6c2c94..8c589f514 100644 def test_horiz_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(31)) -@@ -2578,7 +2577,7 @@ def test_horiz_violinplot_showextrema(): +@@ -2661,7 +2663,7 @@ def test_horiz_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_horiz_showall'], @@ -219,7 +211,7 @@ index 2fa6c2c94..8c589f514 100644 def test_horiz_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(37)) -@@ -2589,7 +2588,7 @@ def test_horiz_violinplot_showall(): +@@ -2672,7 +2674,7 @@ def test_horiz_violinplot_showall(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_10'], @@ -228,7 +220,7 @@ index 2fa6c2c94..8c589f514 100644 def test_horiz_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(41)) -@@ -2600,7 +2599,7 @@ def test_horiz_violinplot_custompoints_10(): +@@ -2683,7 +2685,7 @@ def test_horiz_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_200'], @@ -237,7 +229,7 @@ index 2fa6c2c94..8c589f514 100644 def test_horiz_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(43)) -@@ -3947,7 +3946,7 @@ def test_psd_noise(): +@@ -4031,7 +4033,7 @@ def test_psd_noise(): @image_comparison(baseline_images=['csd_freqs'], remove_text=True, @@ -246,7 +238,7 @@ index 2fa6c2c94..8c589f514 100644 def test_csd_freqs(): '''test axes.csd with sinusoidal stimuli''' n = 10000 -@@ -4806,7 +4805,7 @@ def test_rc_spines(): +@@ -4924,7 +4926,7 @@ def test_rc_spines(): @image_comparison(baseline_images=['rc_grid'], extensions=['png'], @@ -255,7 +247,7 @@ index 2fa6c2c94..8c589f514 100644 def test_rc_grid(): fig = plt.figure() rc_dict0 = { -@@ -5301,7 +5300,7 @@ def test_date_timezone_y(): +@@ -5443,7 +5445,7 @@ def test_date_timezone_y(): @image_comparison(baseline_images=['date_timezone_x_and_y'], @@ -263,12 +255,12 @@ index 2fa6c2c94..8c589f514 100644 + extensions=['png'], tol=3.05) def test_date_timezone_x_and_y(): # Tests issue 5575 - time_index = [pytz.timezone('UTC').localize(datetime.datetime( + UTC = datetime.timezone.utc diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py -index 291647d17..265f23fed 100644 +index 6812ee1ad..5e5f19aac 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py -@@ -467,7 +467,7 @@ def test_EllipseCollection(): +@@ -466,7 +466,7 @@ def test_EllipseCollection(): @image_comparison(baseline_images=['polycollection_close'], @@ -278,10 +270,10 @@ index 291647d17..265f23fed 100644 from mpl_toolkits.mplot3d import Axes3D diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py -index 12a9bed3b..86d2358fb 100644 +index 2230c20e7..10974be95 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py -@@ -95,7 +95,7 @@ def _colorbar_extension_length(spacing): +@@ -93,7 +93,7 @@ def _colorbar_extension_length(spacing): @image_comparison( baseline_images=['colorbar_extensions_shape_uniform', 'colorbar_extensions_shape_proportional'], @@ -290,7 +282,7 @@ index 12a9bed3b..86d2358fb 100644 def test_colorbar_extension_shape(): '''Test rectangular colorbar extensions.''' # Create figures for uniform and proportionally spaced colorbars. -@@ -105,7 +105,7 @@ def test_colorbar_extension_shape(): +@@ -103,7 +103,7 @@ def test_colorbar_extension_shape(): @image_comparison(baseline_images=['colorbar_extensions_uniform', 'colorbar_extensions_proportional'], @@ -299,7 +291,7 @@ index 12a9bed3b..86d2358fb 100644 def test_colorbar_extension_length(): '''Test variable length colorbar extensions.''' # Create figures for uniform and proportionally spaced colorbars. -@@ -119,7 +119,7 @@ def test_colorbar_extension_length(): +@@ -117,7 +117,7 @@ def test_colorbar_extension_length(): 'cbar_sharing', ], extensions=['png'], remove_text=True, @@ -308,7 +300,7 @@ index 12a9bed3b..86d2358fb 100644 def test_colorbar_positioning(): data = np.arange(1200).reshape(30, 40) levels = [0, 200, 400, 600, 800, 1000, 1200] -@@ -173,7 +173,7 @@ def test_colorbar_positioning(): +@@ -171,7 +171,7 @@ def test_colorbar_positioning(): @image_comparison(baseline_images=['cbar_with_subplots_adjust'], extensions=['png'], remove_text=True, @@ -317,7 +309,7 @@ index 12a9bed3b..86d2358fb 100644 def test_gridspec_make_colorbar(): plt.figure() data = np.arange(1200).reshape(30, 40) -@@ -232,7 +232,8 @@ def test_colorbarbase(): +@@ -230,7 +230,8 @@ def test_colorbarbase(): @image_comparison( baseline_images=['colorbar_closed_patch'], @@ -328,10 +320,10 @@ index 12a9bed3b..86d2358fb 100644 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 fcf633a08..cad431771 100644 +index 0803504ce..b3a615d5a 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py -@@ -295,7 +295,7 @@ def test_constrained_layout12(): +@@ -246,7 +246,7 @@ def test_constrained_layout12(): ax.set_xlabel('x-label') @@ -341,28 +333,30 @@ index fcf633a08..cad431771 100644 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 42903ac68..f03a5d0af 100644 +index 0acaf6580..3837162f0 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py -@@ -217,7 +217,7 @@ def test_given_colors_levels_and_extends(): +@@ -216,7 +216,8 @@ def test_given_colors_levels_and_extends(): @image_comparison(baseline_images=['contour_datetime_axis'], -- extensions=['png'], remove_text=False) -+ extensions=['png'], remove_text=False, tol=0.18) +- 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) -@@ -243,7 +243,7 @@ def test_contour_datetime_axis(): +@@ -242,7 +243,8 @@ def test_contour_datetime_axis(): @image_comparison(baseline_images=['contour_test_label_transforms'], -- extensions=['png'], remove_text=True) -+ extensions=['png'], remove_text=True, tol=1.38) +- 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 -@@ -274,7 +274,7 @@ def test_labels(): +@@ -273,7 +275,7 @@ def test_labels(): @image_comparison(baseline_images=['contour_corner_mask_False', 'contour_corner_mask_True'], @@ -372,23 +366,23 @@ index 42903ac68..f03a5d0af 100644 n = 60 mask_level = 0.95 diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py -index e6da25789..ed3ab63c9 100644 +index 893108258..b409e9453 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py -@@ -768,7 +768,7 @@ def test_imshow_endianess(): +@@ -757,7 +757,7 @@ def test_imshow_endianess(): @image_comparison(baseline_images=['imshow_masked_interpolation'], -- remove_text=True, style='mpl20') -+ remove_text=True, style='mpl20', tol=0.25) +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), ++ tol=0.25, + remove_text=True, style='mpl20') def test_imshow_masked_interpolation(): - cm = copy(plt.get_cmap('viridis')) diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py -index cdc1093e1..ac0d8bf05 100644 +index a05c8b3c8..b6f11281f 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): +@@ -169,7 +169,7 @@ def baseline_images(request, fontset, index): ['cm', 'stix', 'stixsans', 'dejavusans', 'dejavuserif']) @pytest.mark.parametrize('baseline_images', ['mathtext'], indirect=True) @@ -397,7 +391,7 @@ index cdc1093e1..ac0d8bf05 100644 def test_mathtext_rendering(baseline_images, fontset, index, test): 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): +@@ -183,7 +183,7 @@ def test_mathtext_rendering(baseline_images, fontset, index, test): ['cm', 'stix', 'stixsans', 'dejavusans', 'dejavuserif']) @pytest.mark.parametrize('baseline_images', ['mathfont'], indirect=True) @@ -407,10 +401,10 @@ index cdc1093e1..ac0d8bf05 100644 matplotlib.rcParams['mathtext.fontset'] = fontset fig = plt.figure(figsize=(5.25, 0.75)) diff --git a/lib/matplotlib/tests/test_patches.py b/lib/matplotlib/tests/test_patches.py -index ff1abb9c6..cc90e6bb0 100644 +index 89a77e258..2e5c16f75 100644 --- a/lib/matplotlib/tests/test_patches.py +++ b/lib/matplotlib/tests/test_patches.py -@@ -266,9 +266,8 @@ def test_wedge_movement(): +@@ -260,9 +260,8 @@ def test_wedge_movement(): assert getattr(w, attr) == new_v @@ -422,36 +416,36 @@ index ff1abb9c6..cc90e6bb0 100644 ax = plt.axes() diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py -index fe7265957..2addc35ed 100644 +index 6e80d8d98..0f158eb9e 100644 --- a/lib/matplotlib/tests/test_patheffects.py +++ b/lib/matplotlib/tests/test_patheffects.py -@@ -121,7 +121,7 @@ def test_SimplePatchShadow_offset(): +@@ -119,7 +119,7 @@ def test_SimplePatchShadow_offset(): assert pe._offset == (4, 5) --@image_comparison(baseline_images=['collection'], tol=0.02) -+@image_comparison(baseline_images=['collection'], tol=0.084) +-@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 89a5a512e..a25961284 100644 +index 9cb806c6f..c0ccf5f8c 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py -@@ -42,7 +42,7 @@ def test_simple(): +@@ -44,7 +44,7 @@ def test_simple(): @image_comparison(baseline_images=['multi_pickle'], extensions=['png'], remove_text=True, -- style='mpl20') -+ style='mpl20', tol=0.11) +- 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 a0e1e674f..ede6bfc64 100644 +index 4470e02fa..70aa1e718 100644 --- a/lib/matplotlib/tests/test_quiver.py +++ b/lib/matplotlib/tests/test_quiver.py -@@ -131,7 +131,7 @@ def test_quiver_key_pivot(): +@@ -130,7 +130,7 @@ def test_quiver_key_pivot(): @image_comparison(baseline_images=['barbs_test_image'], @@ -461,37 +455,36 @@ index a0e1e674f..ede6bfc64 100644 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 4f70ce861..5bc8184f7 100644 +index e261513df..907841494 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py -@@ -39,8 +39,7 @@ def test_startpoints(): - plt.plot(start_x, start_y, 'ok') +@@ -40,7 +40,7 @@ def test_startpoints(): --@image_comparison(baseline_images=['streamplot_colormap'], -- tol=.02) -+@image_comparison(baseline_images=['streamplot_colormap']) + @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 06985db84..8efaef898 100644 +index 6275d5b54..a5c03f0a3 100644 --- a/lib/matplotlib/tests/test_transforms.py +++ b/lib/matplotlib/tests/test_transforms.py -@@ -74,7 +74,7 @@ def test_external_transform_api(): +@@ -70,7 +70,7 @@ def test_external_transform_api(): @image_comparison(baseline_images=['pre_transform_data'], -- tol=0.08) -+ tol=0.155) +- 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/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py -index de7226609..2676fc842 100644 +index 929c0368a..e6e5ca1ff 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py +++ b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py -@@ -24,7 +24,7 @@ def test_subplot(): +@@ -21,7 +21,7 @@ def test_subplot(): @image_comparison(baseline_images=['curvelinear3'], @@ -500,20 +493,20 @@ index de7226609..2676fc842 100644 def test_curvelinear3(): fig = plt.figure(figsize=(5, 5)) fig.clf() -@@ -80,7 +80,7 @@ def test_curvelinear3(): +@@ -77,7 +77,7 @@ def test_curvelinear3(): @image_comparison(baseline_images=['curvelinear4'], -- extensions=['png'], style='default', tol=0.01) +- extensions=['png'], style='default', tol=0.015) + extensions=['png'], style='default', tol=0.055) def test_curvelinear4(): fig = plt.figure(figsize=(5, 5)) fig.clf() 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 a7c637428..e22f4ac3e 100644 +index 0f5e86322..590430315 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py -@@ -19,7 +19,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \ +@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \ @image_comparison(baseline_images=['custom_transform'], @@ -522,16 +515,16 @@ index a7c637428..e22f4ac3e 100644 def test_custom_transform(): class MyTransform(Transform): input_dims = 2 -@@ -91,7 +91,7 @@ def test_custom_transform(): +@@ -85,7 +85,7 @@ def test_custom_transform(): @image_comparison(baseline_images=['polar_box'], -- extensions=['png'], style='default', tol=0.03) -+ extensions=['png'], style='default', tol=0.08) +- 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)) - -@@ -152,7 +152,7 @@ def test_polar_box(): +@@ -147,7 +147,7 @@ def test_polar_box(): @image_comparison(baseline_images=['axis_direction'], @@ -541,10 +534,10 @@ index a7c637428..e22f4ac3e 100644 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 0a506db92..44e1681fc 100644 +index 8d2815408..816a26c35 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py -@@ -225,7 +225,7 @@ def test_text3d(): +@@ -241,7 +241,7 @@ def test_text3d(): ax.set_zlabel('Z axis') @@ -553,7 +546,7 @@ index 0a506db92..44e1681fc 100644 def test_trisurf3d(): n_angles = 36 n_radii = 8 -@@ -704,7 +704,7 @@ class TestVoxels(object): +@@ -720,7 +720,7 @@ class TestVoxels(object): @image_comparison( baseline_images=['voxels-xyz'], extensions=['png'], diff --git a/0003-Increase-some-tolerances-for-non-x86-arches.patch b/0003-Increase-some-tolerances-for-non-x86-arches.patch index e30ab11..46164bc 100644 --- a/0003-Increase-some-tolerances-for-non-x86-arches.patch +++ b/0003-Increase-some-tolerances-for-non-x86-arches.patch @@ -1,53 +1,53 @@ -From 3e2bfee4e8ce28fffa7e9cd0a054429af2e2ebe3 Mon Sep 17 00:00:00 2001 +From ddc79a1ed71d0f566c21a01d72d7c8a107cf567d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:33:37 -0400 Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches. Signed-off-by: Elliott Sales de Andrade --- - lib/matplotlib/tests/test_arrow_patches.py | 4 ++-- - lib/matplotlib/tests/test_axes.py | 7 ++++--- - 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_scale.py | 2 +- - lib/matplotlib/tests/test_streamplot.py | 2 +- - lib/matplotlib/tests/test_units.py | 4 ++-- - .../tests/test_axisartist_grid_helper_curvelinear.py | 2 +- - 14 files changed, 23 insertions(+), 22 deletions(-) + lib/matplotlib/tests/test_arrow_patches.py | 4 ++-- + lib/matplotlib/tests/test_axes.py | 6 +++--- + 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_scale.py | 2 +- + lib/matplotlib/tests/test_streamplot.py | 2 +- + lib/matplotlib/tests/test_units.py | 4 ++-- + .../tests/test_axisartist_grid_helper_curvelinear.py | 2 +- + 14 files changed, 22 insertions(+), 22 deletions(-) diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py -index 44f87c5fe..fb50ae710 100644 +index f678fbed3..bac0cb802 100644 --- a/lib/matplotlib/tests/test_arrow_patches.py +++ b/lib/matplotlib/tests/test_arrow_patches.py -@@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test(): - +@@ -69,7 +69,7 @@ def __prepare_fancyarrow_dpi_cor_test(): @image_comparison(baseline_images=['fancyarrow_dpi_cor_100dpi'], -- remove_text=True, extensions=['png'], -+ remove_text=True, extensions=['png'], tol=0.016, + 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(): """ -@@ -83,7 +83,7 @@ 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'], -+ remove_text=True, extensions=['png'], tol=0.019, + 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 2fa6c2c94..f785e3e89 100644 +index a5b7331d3..71b1bc734 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py -@@ -389,7 +389,7 @@ def test_annotate_default_arrow(): +@@ -386,7 +386,7 @@ def test_annotate_default_arrow(): assert ann.arrow_patch is not None @@ -56,53 +56,55 @@ index 2fa6c2c94..f785e3e89 100644 def test_polar_annotations(): # you can specify the xypoint and the xytext in different # positions and coordinate systems, and optionally turn on a -@@ -3267,7 +3267,8 @@ def test_vertex_markers(): - +@@ -3351,7 +3351,7 @@ def test_vertex_markers(): @image_comparison(baseline_images=['vline_hline_zorder', -- 'errorbar_zorder']) -+ 'errorbar_zorder'], + 'errorbar_zorder'], +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) + tol=0.02) def test_eb_line_zorder(): - x = list(xrange(10)) - -@@ -5000,7 +5001,7 @@ def test_title_location_roundtrip(): + x = list(range(10)) +@@ -5123,7 +5123,7 @@ def test_title_location_roundtrip(): @image_comparison(baseline_images=["loglog"], remove_text=True, -- extensions=['png']) -+ extensions=['png'], tol=0.009) + extensions=['png'], +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0)) ++ tol=0.009) def test_loglog(): fig, ax = plt.subplots() x = np.arange(1, 11) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py -index df7a5d08a..3567d7f3d 100644 +index 10458dddf..ef2ae5db5 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py -@@ -55,4 +55,4 @@ def test_backend(backend): - environ["MPLBACKEND"] = backend - proc = Popen([sys.executable, "-c", _test_script], env=environ) - # Empirically, 1s is not enough on Travis. -- assert proc.wait(timeout=10) == 0 -+ assert proc.wait(timeout=30) == 0 +@@ -102,7 +102,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 291647d17..6b623ef52 100644 +index 6812ee1ad..582aabb5c 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py -@@ -443,7 +443,7 @@ def test_barb_limits(): - +@@ -442,7 +442,7 @@ def test_barb_limits(): @image_comparison(baseline_images=['EllipseCollection_test_image'], -- extensions=['png'], -+ extensions=['png'], tol=0.012, + 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 fcf633a08..725365d2e 100644 +index 0803504ce..63e3c6781 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py -@@ -222,7 +222,7 @@ def test_constrained_layout9(): +@@ -173,7 +173,7 @@ def test_constrained_layout9(): @image_comparison(baseline_images=['constrained_layout10'], @@ -112,167 +114,167 @@ index fcf633a08..725365d2e 100644 '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 dfa0f7c79..ac605c8ab 100644 +index 8184d3eee..73b0f216d 100644 --- a/lib/matplotlib/tests/test_cycles.py +++ b/lib/matplotlib/tests/test_cycles.py @@ -10,7 +10,7 @@ from cycler import cycler @image_comparison(baseline_images=['color_cycle_basic'], remove_text=True, -- extensions=['png']) -+ extensions=['png'], tol=0.008) +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), ++ tol=0.008, + extensions=['png']) def test_colorcycle_basic(): fig, ax = plt.subplots() - ax.set_prop_cycle(cycler('color', ['r', 'g', 'y'])) -@@ -27,7 +27,7 @@ def test_colorcycle_basic(): +@@ -28,7 +28,7 @@ def test_colorcycle_basic(): @image_comparison(baseline_images=['marker_cycle', 'marker_cycle'], -- remove_text=True, extensions=['png']) -+ remove_text=True, extensions=['png'], tol=0.008) +- 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() - ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) + -@@ -60,7 +60,7 @@ def test_marker_cycle(): +@@ -62,7 +62,7 @@ def test_marker_cycle(): @image_comparison(baseline_images=['lineprop_cycle_basic'], remove_text=True, -- extensions=['png']) -+ extensions=['png'], tol=0.009) +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), ++ tol=0.009, + extensions=['png']) def test_linestylecycle_basic(): fig, ax = plt.subplots() - ax.set_prop_cycle(cycler('ls', ['-', '--', ':'])) diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py -index 69752e17d..e7c57d470 100644 +index 7cb5af621..128cae5ec 100644 --- a/lib/matplotlib/tests/test_figure.py +++ b/lib/matplotlib/tests/test_figure.py -@@ -14,7 +14,7 @@ import numpy as np - import pytest +@@ -14,7 +14,7 @@ import pytest --@image_comparison(baseline_images=['figure_align_labels']) -+@image_comparison(baseline_images=['figure_align_labels'], tol=0.01) + @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 e6da25789..626e9eb94 100644 +index 893108258..cf7975071 100644 --- a/lib/matplotlib/tests/test_image.py +++ b/lib/matplotlib/tests/test_image.py -@@ -768,7 +768,7 @@ def test_imshow_endianess(): +@@ -757,7 +757,7 @@ def test_imshow_endianess(): @image_comparison(baseline_images=['imshow_masked_interpolation'], -- remove_text=True, style='mpl20') -+ remove_text=True, style='mpl20', tol=0.006) +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), ++ tol=0.006, + remove_text=True, style='mpl20') def test_imshow_masked_interpolation(): - cm = copy(plt.get_cmap('viridis')) diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py -index 55b8adc77..1784ff966 100644 +index 4f92f044f..ba1143cb1 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py -@@ -145,7 +145,7 @@ def test_multiple_keys(): +@@ -108,7 +108,7 @@ def test_multiple_keys(): @image_comparison(baseline_images=['rgba_alpha'], -- extensions=['png'], remove_text=True) -+ extensions=['png'], remove_text=True, tol=0.007) +- 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 - -@@ -156,7 +156,7 @@ def test_alpha_rgba(): +@@ -120,7 +120,7 @@ def test_alpha_rgba(): @image_comparison(baseline_images=['rcparam_alpha'], -- extensions=['png'], remove_text=True) -+ extensions=['png'], remove_text=True, tol=0.007) +- 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 - -@@ -183,7 +183,7 @@ def test_fancy(): - ncol=2, shadow=True, title="My legend", numpoints=1) +@@ -149,7 +149,7 @@ def test_fancy(): --@image_comparison(baseline_images=['framealpha'], remove_text=True) -+@image_comparison(baseline_images=['framealpha'], remove_text=True, tol=0.018) + @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 89a5a512e..99051dee7 100644 +index 9cb806c6f..91774abfd 100644 --- a/lib/matplotlib/tests/test_pickle.py +++ b/lib/matplotlib/tests/test_pickle.py -@@ -42,7 +42,7 @@ def test_simple(): +@@ -44,7 +44,7 @@ def test_simple(): @image_comparison(baseline_images=['multi_pickle'], extensions=['png'], remove_text=True, -- style='mpl20') -+ style='mpl20', tol=0.004) +- 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_scale.py b/lib/matplotlib/tests/test_scale.py -index dd5b18182..ebebb0525 100644 +index ebe5c4de9..2999b624d 100644 --- a/lib/matplotlib/tests/test_scale.py +++ b/lib/matplotlib/tests/test_scale.py -@@ -96,7 +96,7 @@ def test_logscale_transform_repr(): +@@ -99,7 +99,7 @@ def test_logscale_transform_repr(): @image_comparison(baseline_images=['logscale_nonpos_values'], remove_text=True, -- extensions=['png'], style='mpl20') -+ extensions=['png'], style='mpl20', tol=0.008) +- tol={'aarch64': 0.02}.get(platform.machine(), 0.0), ++ tol=0.008, + extensions=['png'], style='mpl20') def test_logscale_nonpos_values(): np.random.seed(19680801) - xs = np.random.normal(size=int(1e3)) diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py -index 4f70ce861..4e52ed0c4 100644 +index e261513df..c8c8faf99 100644 --- a/lib/matplotlib/tests/test_streamplot.py +++ b/lib/matplotlib/tests/test_streamplot.py -@@ -48,7 +48,7 @@ def test_colormap(): - plt.colorbar() +@@ -49,7 +49,7 @@ def test_colormap(): --@image_comparison(baseline_images=['streamplot_linewidth']) -+@image_comparison(baseline_images=['streamplot_linewidth'], tol=0.002) + @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() - speed = np.sqrt(U*U + V*V) diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py -index 65c8da7ea..c69d1d531 100644 +index 20840d7b8..ddddcdc44 100644 --- a/lib/matplotlib/tests/test_units.py +++ b/lib/matplotlib/tests/test_units.py -@@ -43,7 +43,7 @@ class Quantity(object): - +@@ -41,7 +41,7 @@ class Quantity(object): # 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'], -+@image_comparison(baseline_images=['plot_pint'], tol=0.003, + @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(): # Create an instance of the conversion interface and -@@ -87,7 +87,7 @@ def test_numpy_facade(): - +@@ -86,7 +86,7 @@ def test_numpy_facade(): # Tests gh-8908 --@image_comparison(baseline_images=['plot_masked_units'], -+@image_comparison(baseline_images=['plot_masked_units'], tol=0.007, + @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 a7c637428..8fc5b25b1 100644 +index 0f5e86322..83c1054a4 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py +++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py -@@ -91,7 +91,7 @@ def test_custom_transform(): +@@ -85,7 +85,7 @@ def test_custom_transform(): @image_comparison(baseline_images=['polar_box'], -- extensions=['png'], style='default', tol=0.03) -+ extensions=['png'], style='default', tol=0.04) +- 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.17.1 diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 4d7d305..f50014e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -30,7 +30,7 @@ # Use the same directory of the main package for subpackage licence and docs %global _docdir_fmt %{name} -#global rctag rc1 +%global rctag rc1 # The version of FreeType in this Fedora branch. %if %{fedora} >= 29 @@ -40,8 +40,8 @@ %endif Name: python-matplotlib -Version: 2.2.3 -Release: 1%{?rctag:.%{rctag}}%{?dist} +Version: 3.0.0 +Release: 0.1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -57,7 +57,7 @@ Patch0001: 0001-Force-using-system-qhull.patch # https://github.com/QuLogic/matplotlib/tree/fedora-patches # https://github.com/QuLogic/matplotlib/tree/fedora-patches-non-x86 # Updated test images for new FreeType. -Source1000: https://github.com/QuLogic/mpl-images/archive/v%{version}-with-freetype-%{ftver}/matplotlib-%{version}-with-freetype-%{ftver}.tar.gz +Source1000: https://github.com/QuLogic/mpl-images/archive/v%{version}%{?rctag}-with-freetype-%{ftver}/matplotlib-%{version}%{?rctag}-with-freetype-%{ftver}.tar.gz # Search in /etc/matplotlibrc: Patch1001: 0001-matplotlibrc-path-search-fix.patch # Image tolerances for anything but x86_64: @@ -234,7 +234,7 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release} # Fedora-specific patches follow: %patch1001 -p1 # Updated test images for new FreeType. -gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-%{version}-with-freetype-%{ftver}/\([^/]\+\)/~lib/\1/tests/baseline_images/~' +gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-%{version}%{?rctag}-with-freetype-%{ftver}/\([^/]\+\)/~lib/\1/tests/baseline_images/~' %ifnarch x86_64 %patch1002 -p1 %endif @@ -316,16 +316,7 @@ PYTHONDONTWRITEBYTECODE=1 \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ -m 'not network' \ - -k 'not test_invisible_Line_rendering and not test_nose_image_comparison' - -# We run these separately because they have issues when run in parallel. -MPLCONFIGDIR=$PWD \ -MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ -PYTHONPATH=%{buildroot}%{python3_sitearch} \ -PYTHONDONTWRITEBYTECODE=1 \ - xvfb-run -a -s "-screen 0 640x480x24" \ - %{__python3} tests.py -ra \ - -k 'test_nose_image_comparison' + -k 'not test_invisible_Line_rendering' %endif # run_tests %files -n python-matplotlib-data diff --git a/sources b/sources index 53a771b..cf5c82f 100644 --- a/sources +++ b/sources @@ -1,3 +1,2 @@ -SHA512 (matplotlib-2.2.3.tar.gz) = d118f5d56e2f578031aba22933c0b3a4423a31a04f50f08cc1aa660186546d09692a9cf401bb5f24cb296f94fbfd8707460728d501ac2bd4a624dfa89e92949b -SHA512 (matplotlib-2.2.3-with-freetype-2.9.1.tar.gz) = 00f6d4eeab6d73108129a5ccbaccda37c2e8cc684efeeb03c492a96a2071357a32a624ebfef2770c8c205a3741ef8d947f117351d90d25c4c7b4b8b6b84db556 -SHA512 (matplotlib-2.2.3-with-freetype-2.8.tar.gz) = 7f11a0589f2ab5fcbdee0da0d4fa003c62b9e882fbae22a6bc725f791f3ea058b33321a70a5cf1858f494aa1ebb8b3e686c56ff73e6174fb980e159331bd0a0d +SHA512 (matplotlib-3.0.0rc1.tar.gz) = 5601dc9da8fcf32d939e2856ab439b3d68aabffae581a5f7855bdff9d55f339e42f0960834aceca8076788132e447a32600445994ca6b05f509c0753416d2821 +SHA512 (matplotlib-3.0.0rc1-with-freetype-2.9.1.tar.gz) = 631d5f2a1d6a1f75f35081511c6d89c629253247b1ab81550ae3c90a22302979e25a22ee8d16746ebc112b4cf266d62a2219c53b1f70e7c71509fd35b0c3ee38 From 19b5ff96fafe12a00fadb5b2911a694d6d2d6dfc Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 18 Aug 2018 02:27:40 -0400 Subject: [PATCH 215/240] Remove old Fedora FreeType support. This will not be built on Fedora < 29. --- python-matplotlib.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index f50014e..27d3e8e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -33,11 +33,7 @@ %global rctag rc1 # The version of FreeType in this Fedora branch. -%if %{fedora} >= 29 %global ftver 2.9.1 -%else -%global ftver 2.8 -%endif Name: python-matplotlib Version: 3.0.0 From 6995ee32970f3e42a450a7c64920819d5a2ca0f4 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 28 Aug 2018 02:47:16 -0400 Subject: [PATCH 216/240] 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. --- python-matplotlib.spec | 68 +++++++++++++++++++++++++++++++----------- 1 file changed, 51 insertions(+), 17 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 27d3e8e..b131a1e 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -20,6 +20,10 @@ % else % if "%{backend}" == "Qt5Agg" %global backend_subpackage qt5 +% else +% if "%{backend}" == "WXAgg" +%global backend_subpackage wx +% endif % endif % endif %endif @@ -199,6 +203,16 @@ Requires: python3-tkinter %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} @@ -344,17 +358,25 @@ PYTHONDONTWRITEBYTECODE=1 \ %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/_gtk3_compat.py +%exclude %{python3_sitearch}/matplotlib/backends/backend_gtk*.py +%exclude %{python3_sitearch}/matplotlib/backends/__pycache__/_gtk3_compat.* %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 @@ -362,28 +384,40 @@ PYTHONDONTWRITEBYTECODE=1 \ %{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.* +# 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.* +#{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/_gtk3_compat.py %{python3_sitearch}/matplotlib/backends/__pycache__/backend_gtk* +%{python3_sitearch}/matplotlib/backends/__pycache__/_gtk3_compat.* %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.* +%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 * Mon Aug 13 2018 Elliott Sales de Andrade - 2.2.3-1 From c385e2c1a9cad272f8379d181564a7210b33d2fb Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 28 Aug 2018 23:29:22 -0400 Subject: [PATCH 217/240] Update to 3.0.0rc2. --- .gitignore | 2 + 0001-matplotlibrc-path-search-fix.patch | 4 +- ...ase-tolerances-for-non-x86_64-arches.patch | 20 ++- ...e-some-tolerances-for-32-bit-systems.patch | 122 ++++++++++++++++-- ...e-some-tolerances-for-non-x86-arches.patch | 2 +- python-matplotlib.spec | 4 +- sources | 4 +- 7 files changed, 136 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index 5cf80af..086d915 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,5 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index 836687c..464bb46 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,4 +1,4 @@ -From cdfa3680a45c623d8c36b39c229190436c5a6c17 Mon Sep 17 00:00:00 2001 +From c9bf5a0f69ae4f7f73f60a17237b95452081ab79 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 Subject: [PATCH 1/3] matplotlibrc path search fix @@ -10,7 +10,7 @@ Signed-off-by: Elliott Sales de Andrade 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index 3f2a6a300..a2679c11c 100644 +index f7b37ee3b..508e1658d 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -664,18 +664,7 @@ def _get_data_path(): diff --git a/0002-Increase-tolerances-for-non-x86_64-arches.patch b/0002-Increase-tolerances-for-non-x86_64-arches.patch index 9824295..31e2cbc 100644 --- a/0002-Increase-tolerances-for-non-x86_64-arches.patch +++ b/0002-Increase-tolerances-for-non-x86_64-arches.patch @@ -1,12 +1,13 @@ -From 938c1fbca5e3cb1034731f3439c3d146c02f210d Mon Sep 17 00:00:00 2001 +From 2886eadf6aff7c8faca2ea0f1bb7d1966e9a77b9 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 23 Jan 2018 20:27:17 -0500 Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches. Signed-off-by: Elliott Sales de Andrade --- - lib/matplotlib/tests/test_streamplot.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + 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 17c0d1967..e261513df 100644 @@ -21,6 +22,19 @@ index 17c0d1967..e261513df 100644 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 896ba503f..bd48bee72 100644 +--- a/lib/mpl_toolkits/tests/test_axes_grid1.py ++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py +@@ -359,7 +359,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.17.1 diff --git a/0003-Increase-some-tolerances-for-32-bit-systems.patch b/0003-Increase-some-tolerances-for-32-bit-systems.patch index 7a4fb95..99ae5b5 100644 --- a/0003-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0003-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,4 +1,4 @@ -From 943a2ccfd21f7b94d1bdf9d665c123687c7cdfd2 Mon Sep 17 00:00:00 2001 +From c7eb73b3a73d2aaced7c63a314f0ef724fa4c416 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:15:14 -0400 Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems. @@ -7,12 +7,15 @@ Signed-off-by: Elliott Sales de Andrade --- lib/matplotlib/testing/decorators.py | 2 +- lib/matplotlib/tests/test_artist.py | 3 +- - lib/matplotlib/tests/test_axes.py | 46 ++++++++++--------- + 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_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 +- @@ -20,10 +23,11 @@ Signed-off-by: Elliott Sales de Andrade 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 +- - 18 files changed, 56 insertions(+), 51 deletions(-) + 22 files changed, 59 insertions(+), 63 deletions(-) diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index 85b8d5e87..f3fc47c68 100644 @@ -53,7 +57,7 @@ index 283db9abe..2ae11142c 100644 exterior = mpath.Path.unit_rectangle().deepcopy() exterior.vertices *= 4 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index a5b7331d3..03673d1d3 100644 +index a5b7331d3..2549ff16f 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -553,7 +553,7 @@ def test_single_point(): @@ -229,7 +233,17 @@ index a5b7331d3..03673d1d3 100644 def test_horiz_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(43)) -@@ -4031,7 +4033,7 @@ def test_psd_noise(): +@@ -3350,8 +3352,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)) + +@@ -4031,7 +4032,7 @@ def test_psd_noise(): @image_comparison(baseline_images=['csd_freqs'], remove_text=True, @@ -238,7 +252,7 @@ index a5b7331d3..03673d1d3 100644 def test_csd_freqs(): '''test axes.csd with sinusoidal stimuli''' n = 10000 -@@ -4924,7 +4926,7 @@ def test_rc_spines(): +@@ -4924,7 +4925,7 @@ def test_rc_spines(): @image_comparison(baseline_images=['rc_grid'], extensions=['png'], @@ -247,7 +261,7 @@ index a5b7331d3..03673d1d3 100644 def test_rc_grid(): fig = plt.figure() rc_dict0 = { -@@ -5443,7 +5445,7 @@ def test_date_timezone_y(): +@@ -5443,7 +5444,7 @@ def test_date_timezone_y(): @image_comparison(baseline_images=['date_timezone_x_and_y'], @@ -333,10 +347,10 @@ index 0803504ce..b3a615d5a 100644 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 0acaf6580..3837162f0 100644 +index 9868f4023..d8a490794 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py -@@ -216,7 +216,8 @@ def test_given_colors_levels_and_extends(): +@@ -227,7 +227,8 @@ def test_given_colors_levels_and_extends(): @image_comparison(baseline_images=['contour_datetime_axis'], @@ -346,7 +360,7 @@ index 0acaf6580..3837162f0 100644 def test_contour_datetime_axis(): fig = plt.figure() fig.subplots_adjust(hspace=0.4, top=0.98, bottom=.15) -@@ -242,7 +243,8 @@ def test_contour_datetime_axis(): +@@ -253,7 +254,8 @@ def test_contour_datetime_axis(): @image_comparison(baseline_images=['contour_test_label_transforms'], @@ -356,7 +370,7 @@ index 0acaf6580..3837162f0 100644 def test_labels(): # Adapted from pylab_examples example code: contour_demo.py # see issues #2475, #2843, and #2818 for explanation -@@ -273,7 +275,7 @@ def test_labels(): +@@ -284,7 +286,7 @@ def test_labels(): @image_comparison(baseline_images=['contour_corner_mask_False', 'contour_corner_mask_True'], @@ -365,6 +379,48 @@ index 0acaf6580..3837162f0 100644 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 8184d3eee..5a067f8e0 100644 +--- a/lib/matplotlib/tests/test_cycles.py ++++ b/lib/matplotlib/tests/test_cycles.py +@@ -10,7 +10,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() +@@ -28,7 +27,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() +@@ -62,7 +60,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 7cb5af621..d7d5ba2f0 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 893108258..b409e9453 100644 --- a/lib/matplotlib/tests/test_image.py @@ -378,6 +434,36 @@ index 893108258..b409e9453 100644 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 4f92f044f..5c128f85d 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 a05c8b3c8..b6f11281f 100644 --- a/lib/matplotlib/tests/test_mathtext.py @@ -480,6 +566,18 @@ index 6275d5b54..a5c03f0a3 100644 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 20840d7b8..80744294d 100644 +--- a/lib/matplotlib/tests/test_units.py ++++ b/lib/matplotlib/tests/test_units.py +@@ -41,7 +41,6 @@ class Quantity(object): + # 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(): + # Create an instance of the conversion interface and diff --git a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py b/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py index 929c0368a..e6e5ca1ff 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py diff --git a/0003-Increase-some-tolerances-for-non-x86-arches.patch b/0003-Increase-some-tolerances-for-non-x86-arches.patch index 46164bc..3a37c41 100644 --- a/0003-Increase-some-tolerances-for-non-x86-arches.patch +++ b/0003-Increase-some-tolerances-for-non-x86-arches.patch @@ -1,4 +1,4 @@ -From ddc79a1ed71d0f566c21a01d72d7c8a107cf567d Mon Sep 17 00:00:00 2001 +From 9c6a5fc4cd346f0befa11ff1a82b6f24c6de4b71 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:33:37 -0400 Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches. diff --git a/python-matplotlib.spec b/python-matplotlib.spec index b131a1e..b324fd0 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -34,14 +34,14 @@ # Use the same directory of the main package for subpackage licence and docs %global _docdir_fmt %{name} -%global rctag rc1 +%global rctag rc2 # The version of FreeType in this Fedora branch. %global ftver 2.9.1 Name: python-matplotlib Version: 3.0.0 -Release: 0.1%{?rctag:.%{rctag}}%{?dist} +Release: 0.2%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT diff --git a/sources b/sources index cf5c82f..c685d3e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (matplotlib-3.0.0rc1.tar.gz) = 5601dc9da8fcf32d939e2856ab439b3d68aabffae581a5f7855bdff9d55f339e42f0960834aceca8076788132e447a32600445994ca6b05f509c0753416d2821 -SHA512 (matplotlib-3.0.0rc1-with-freetype-2.9.1.tar.gz) = 631d5f2a1d6a1f75f35081511c6d89c629253247b1ab81550ae3c90a22302979e25a22ee8d16746ebc112b4cf266d62a2219c53b1f70e7c71509fd35b0c3ee38 +SHA512 (matplotlib-3.0.0rc2.tar.gz) = d035204e61f70221ef5cd2aa6fbe4a883c01e4ef2f494eff3e29e0ec5d4a74139b8ea5fc4fd5892bb9c90586fbbdba035f71af0f0edebcad57c6856a3ad4d524 +SHA512 (matplotlib-3.0.0rc2-with-freetype-2.9.1.tar.gz) = 5926a31aefbc7b6a387a560b990b80e8e003cb1847f544069b2b9262a20565d858a683497cfc786f97ae59582af5dc826e058fb4bccb20e3f2933a85c03538a2 From d2fa0263b8b678a7097f66c68682eaecfa4a051c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 18 Sep 2018 04:51:42 -0400 Subject: [PATCH 218/240] Update to final 3.0.0. --- .gitignore | 2 ++ 0001-matplotlibrc-path-search-fix.patch | 2 +- ...crease-tolerances-for-non-x86_64-arches.patch | 2 +- ...ease-some-tolerances-for-32-bit-systems.patch | 16 ++++++++-------- ...ease-some-tolerances-for-non-x86-arches.patch | 14 +++++++------- python-matplotlib.spec | 4 ++-- sources | 4 ++-- 7 files changed, 23 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 086d915..8dc07d2 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,5 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index 464bb46..58a89f6 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,4 +1,4 @@ -From c9bf5a0f69ae4f7f73f60a17237b95452081ab79 Mon Sep 17 00:00:00 2001 +From 2ff8ec9b9047b8197d96e651e038eab73e3a6cd2 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 Subject: [PATCH 1/3] matplotlibrc path search fix diff --git a/0002-Increase-tolerances-for-non-x86_64-arches.patch b/0002-Increase-tolerances-for-non-x86_64-arches.patch index 31e2cbc..27c12d5 100644 --- a/0002-Increase-tolerances-for-non-x86_64-arches.patch +++ b/0002-Increase-tolerances-for-non-x86_64-arches.patch @@ -1,4 +1,4 @@ -From 2886eadf6aff7c8faca2ea0f1bb7d1966e9a77b9 Mon Sep 17 00:00:00 2001 +From 9b67dee47af3705cacc41d639f31a9bc99934111 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 23 Jan 2018 20:27:17 -0500 Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches. diff --git a/0003-Increase-some-tolerances-for-32-bit-systems.patch b/0003-Increase-some-tolerances-for-32-bit-systems.patch index 99ae5b5..b6fa351 100644 --- a/0003-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0003-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,4 +1,4 @@ -From c7eb73b3a73d2aaced7c63a314f0ef724fa4c416 Mon Sep 17 00:00:00 2001 +From a9c30f31914db1afc25a7e56ab0a02633b7b1f37 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:15:14 -0400 Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems. @@ -57,7 +57,7 @@ index 283db9abe..2ae11142c 100644 exterior = mpath.Path.unit_rectangle().deepcopy() exterior.vertices *= 4 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index a5b7331d3..2549ff16f 100644 +index 6afed91f3..e931e7a4a 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -553,7 +553,7 @@ def test_single_point(): @@ -233,7 +233,7 @@ index a5b7331d3..2549ff16f 100644 def test_horiz_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(43)) -@@ -3350,8 +3352,7 @@ def test_vertex_markers(): +@@ -3347,8 +3349,7 @@ def test_vertex_markers(): @image_comparison(baseline_images=['vline_hline_zorder', @@ -243,7 +243,7 @@ index a5b7331d3..2549ff16f 100644 def test_eb_line_zorder(): x = list(range(10)) -@@ -4031,7 +4032,7 @@ def test_psd_noise(): +@@ -4028,7 +4029,7 @@ def test_psd_noise(): @image_comparison(baseline_images=['csd_freqs'], remove_text=True, @@ -252,7 +252,7 @@ index a5b7331d3..2549ff16f 100644 def test_csd_freqs(): '''test axes.csd with sinusoidal stimuli''' n = 10000 -@@ -4924,7 +4925,7 @@ def test_rc_spines(): +@@ -4921,7 +4922,7 @@ def test_rc_spines(): @image_comparison(baseline_images=['rc_grid'], extensions=['png'], @@ -261,7 +261,7 @@ index a5b7331d3..2549ff16f 100644 def test_rc_grid(): fig = plt.figure() rc_dict0 = { -@@ -5443,7 +5444,7 @@ def test_date_timezone_y(): +@@ -5440,7 +5441,7 @@ def test_date_timezone_y(): @image_comparison(baseline_images=['date_timezone_x_and_y'], @@ -284,7 +284,7 @@ index 6812ee1ad..5e5f19aac 100644 from mpl_toolkits.mplot3d import Axes3D diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py -index 2230c20e7..10974be95 100644 +index 56a829418..949eaf1b7 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -93,7 +93,7 @@ def _colorbar_extension_length(spacing): @@ -435,7 +435,7 @@ index 893108258..b409e9453 100644 def test_imshow_masked_interpolation(): diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py -index 4f92f044f..5c128f85d 100644 +index d508d6f41..69286069d 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -108,7 +108,6 @@ def test_multiple_keys(): diff --git a/0003-Increase-some-tolerances-for-non-x86-arches.patch b/0003-Increase-some-tolerances-for-non-x86-arches.patch index 3a37c41..106bfdb 100644 --- a/0003-Increase-some-tolerances-for-non-x86-arches.patch +++ b/0003-Increase-some-tolerances-for-non-x86-arches.patch @@ -1,4 +1,4 @@ -From 9c6a5fc4cd346f0befa11ff1a82b6f24c6de4b71 Mon Sep 17 00:00:00 2001 +From 642f104f23c78af5d6010916961ec62779290ea5 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:33:37 -0400 Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches. @@ -44,7 +44,7 @@ index f678fbed3..bac0cb802 100644 def test_fancyarrow_dpi_cor_200dpi(): """ diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index a5b7331d3..71b1bc734 100644 +index 6afed91f3..755be5570 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -386,7 +386,7 @@ def test_annotate_default_arrow(): @@ -56,7 +56,7 @@ index a5b7331d3..71b1bc734 100644 def test_polar_annotations(): # you can specify the xypoint and the xytext in different # positions and coordinate systems, and optionally turn on a -@@ -3351,7 +3351,7 @@ def test_vertex_markers(): +@@ -3348,7 +3348,7 @@ def test_vertex_markers(): @image_comparison(baseline_images=['vline_hline_zorder', 'errorbar_zorder'], @@ -65,7 +65,7 @@ index a5b7331d3..71b1bc734 100644 def test_eb_line_zorder(): x = list(range(10)) -@@ -5123,7 +5123,7 @@ def test_title_location_roundtrip(): +@@ -5120,7 +5120,7 @@ def test_title_location_roundtrip(): @image_comparison(baseline_images=["loglog"], remove_text=True, extensions=['png'], @@ -75,10 +75,10 @@ index a5b7331d3..71b1bc734 100644 fig, ax = plt.subplots() x = np.arange(1, 11) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py -index 10458dddf..ef2ae5db5 100644 +index 7ba47be93..bf05c5286 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py -@@ -102,7 +102,7 @@ fig.canvas.mpl_connect("draw_event", lambda event: timer.start()) +@@ -101,7 +101,7 @@ fig.canvas.mpl_connect("draw_event", lambda event: timer.start()) plt.show() """ @@ -171,7 +171,7 @@ index 893108258..cf7975071 100644 def test_imshow_masked_interpolation(): diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py -index 4f92f044f..ba1143cb1 100644 +index d508d6f41..9147ef336 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -108,7 +108,7 @@ def test_multiple_keys(): diff --git a/python-matplotlib.spec b/python-matplotlib.spec index b324fd0..9085af7 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -34,14 +34,14 @@ # Use the same directory of the main package for subpackage licence and docs %global _docdir_fmt %{name} -%global rctag rc2 +#global rctag rc1 # The version of FreeType in this Fedora branch. %global ftver 2.9.1 Name: python-matplotlib Version: 3.0.0 -Release: 0.2%{?rctag:.%{rctag}}%{?dist} +Release: 1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT diff --git a/sources b/sources index c685d3e..9d536ff 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (matplotlib-3.0.0rc2.tar.gz) = d035204e61f70221ef5cd2aa6fbe4a883c01e4ef2f494eff3e29e0ec5d4a74139b8ea5fc4fd5892bb9c90586fbbdba035f71af0f0edebcad57c6856a3ad4d524 -SHA512 (matplotlib-3.0.0rc2-with-freetype-2.9.1.tar.gz) = 5926a31aefbc7b6a387a560b990b80e8e003cb1847f544069b2b9262a20565d858a683497cfc786f97ae59582af5dc826e058fb4bccb20e3f2933a85c03538a2 +SHA512 (matplotlib-3.0.0.tar.gz) = 1bcc665a3557655308c3688c747be4d35fce8742db67eda0cb494a550269bf4fba84d78b36f8296f82919b4cec50b5d23c9ce6d1f3a312a9d2dfaf3b2332b335 +SHA512 (matplotlib-3.0.0-with-freetype-2.9.1.tar.gz) = d22e280d66fb018ef1dd6f91f086dbef3eed8bc39bf43fa270a31552984e87f054d937a031cf675e5ecce45f2e46d83e838f18c9c00616cc2a204d2d03075bb6 From 6f3ec368b4009a15f50de18440f8c1e3c95b568c Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 18 Sep 2018 22:01:33 -0400 Subject: [PATCH 219/240] Stop setting explicit backend during testing. --- python-matplotlib.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 9085af7..01bf419 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -314,13 +314,12 @@ rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts rm -rf build*/ export http_proxy=http://127.0.0.1/ -# This should match the default backend -echo "backend : %{backend}" > matplotlibrc # Skips: # * test_invisible_Line_rendering: Checks for "slowness" that often fails on a # heavily-loaded builder. MPLCONFIGDIR=$PWD \ MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ +MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \ PYTHONPATH=%{buildroot}%{python3_sitearch} \ PYTHONDONTWRITEBYTECODE=1 \ xvfb-run -a -s "-screen 0 640x480x24" \ From a0fbf93967782ec904e91bcc674390e8c9dde300 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 18 Sep 2018 23:52:36 -0400 Subject: [PATCH 220/240] Add patch to fix Qt4 backends. --- 12157.patch | 31 +++++++++++++++++++++++++++++++ python-matplotlib.spec | 3 +++ 2 files changed, 34 insertions(+) create mode 100644 12157.patch diff --git a/12157.patch b/12157.patch new file mode 100644 index 0000000..8551f0d --- /dev/null +++ b/12157.patch @@ -0,0 +1,31 @@ +From bb337935d04b63d454a81e16a9ac2063a7d945c3 Mon Sep 17 00:00:00 2001 +From: Antony Lee +Date: Tue, 18 Sep 2018 22:46:17 +0200 +Subject: [PATCH] Properly declare the interactive framework for the qt4foo + backends. + +--- + lib/matplotlib/backends/backend_qt4agg.py | 2 +- + lib/matplotlib/backends/backend_qt4cairo.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/matplotlib/backends/backend_qt4agg.py b/lib/matplotlib/backends/backend_qt4agg.py +index 65785bbd32b..8f4e265ac42 100644 +--- a/lib/matplotlib/backends/backend_qt4agg.py ++++ b/lib/matplotlib/backends/backend_qt4agg.py +@@ -8,4 +8,4 @@ + + @_BackendQT5Agg.export + class _BackendQT4Agg(_BackendQT5Agg): +- pass ++ required_interactive_framework = "qt4" +diff --git a/lib/matplotlib/backends/backend_qt4cairo.py b/lib/matplotlib/backends/backend_qt4cairo.py +index f94851da382..94d703afa4e 100644 +--- a/lib/matplotlib/backends/backend_qt4cairo.py ++++ b/lib/matplotlib/backends/backend_qt4cairo.py +@@ -3,4 +3,4 @@ + + @_BackendQT5Cairo.export + class _BackendQT4Cairo(_BackendQT5Cairo): +- pass ++ required_interactive_framework = "qt4" diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 01bf419..fa884b5 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -52,6 +52,8 @@ Source1: setup.cfg # Because the qhull package stopped shipping pkgconfig files. # https://src.fedoraproject.org/rpms/qhull/pull-request/1 Patch0001: 0001-Force-using-system-qhull.patch +# https://github.com/matplotlib/matplotlib/pull/12157 +Patch0002: 12157.patch # Fedora-specific patches; see: # https://github.com/QuLogic/matplotlib/tree/fedora-patches @@ -240,6 +242,7 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release} %prep %autosetup -n matplotlib-%{version}%{?rctag} -N %patch0001 -p1 +%patch0002 -p1 # Fedora-specific patches follow: %patch1001 -p1 From c08eccf6adfbdffedaf4ce63df297d19467cd2bf Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 19 Sep 2018 03:23:05 -0400 Subject: [PATCH 221/240] Run Qt5 tests separately to not conflict with Qt4. --- python-matplotlib.spec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index fa884b5..23f482c 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -328,7 +328,17 @@ PYTHONDONTWRITEBYTECODE=1 \ xvfb-run -a -s "-screen 0 640x480x24" \ %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \ -m 'not network' \ - -k 'not test_invisible_Line_rendering' + -k 'not test_invisible_Line_rendering and not backend_qt5' +# Run Qt5Agg tests separately to not conflict with Qt4 tests. +MPLCONFIGDIR=$PWD \ +MATPLOTLIBDATA=%{buildroot}%{_datadir}/matplotlib/mpl-data \ +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' \ + matplotlib.tests.test_backend_qt5 %endif # run_tests %files -n python-matplotlib-data From ed3fa9581d77807169e054a55a260082e8f1d62b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 19 Sep 2018 04:39:50 -0400 Subject: [PATCH 222/240] Remove unnecessary dependencies. --- python-matplotlib.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 23f482c..eb20ba4 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -124,7 +124,6 @@ BuildRequires: python3-numpy BuildRequires: python3-pillow BuildRequires: python3-pyparsing BuildRequires: python3-pytz -BuildRequires: python3-six BuildRequires: python3-sphinx Requires: dejavu-sans-fonts Requires: dvipng @@ -141,8 +140,6 @@ BuildRequires: python3-pytest-xdist Requires: python3-numpy Recommends: python3-pillow Requires: python3-pyparsing -Requires: python3-pytz -Requires: python3-six %if !%{with_bundled_fonts} Requires: stix-math-fonts %else From 9fde50abab18b206fcb9ed59940b67724b085c9d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 19 Sep 2018 14:42:58 -0400 Subject: [PATCH 223/240] Stop setting a default backend. It will be picked automatically by Matplotlib. --- python-matplotlib.spec | 2 +- setup.cfg | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index eb20ba4..b398e1d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -257,7 +257,7 @@ gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-%{version}%{?rctag}- 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 diff --git a/setup.cfg b/setup.cfg index 978e5f4..1ea1a4f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -2,6 +2,3 @@ tests = True toolkits = True toolkits_tests = True - -[rc_options] -backend = GTKAgg From b8683378dda9a145c1a6a91f4a81ee3df3252db7 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 19 Sep 2018 14:43:37 -0400 Subject: [PATCH 224/240] Update changelog. --- python-matplotlib.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index b398e1d..38bce5f 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -429,6 +429,11 @@ PYTHONDONTWRITEBYTECODE=1 \ %changelog +* Wed Sep 19 2018 Elliott Sales de Andrade - 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 - 2.2.3-1 - Update to latest version From b4eba4ae21d0b5e6a9352d0d0d97329b3de7f5b0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 19 Sep 2018 14:47:47 -0400 Subject: [PATCH 225/240] Rename *data packages to avoid conflict with python2. --- python-matplotlib.spec | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 38bce5f..fb0c64f 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -89,25 +89,25 @@ 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 python-matplotlib-data +%package -n python3-matplotlib-data Summary: Data used by python-matplotlib BuildArch: noarch %if %{with_bundled_fonts} -Requires: python-matplotlib-data-fonts = %{version}-%{release} +Requires: python3-matplotlib-data-fonts = %{version}-%{release} %endif -%{?python_provide:%python_provide python-matplotlib-data} +%{?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 +%package -n python3-matplotlib-data-fonts Summary: Fonts used by python-matplotlib BuildArch: noarch -Requires: python-matplotlib-data = %{version}-%{release} -%{?python_provide:%python_provide python-matplotlib-data-fonts} +Requires: python3-matplotlib-data = %{version}-%{release} +%{?python_provide:%python_provide python3-matplotlib-data-fonts} -%description -n python-matplotlib-data-fonts +%description -n python3-matplotlib-data-fonts %{summary} %endif @@ -127,7 +127,7 @@ BuildRequires: python3-pytz BuildRequires: python3-sphinx Requires: dejavu-sans-fonts Requires: dvipng -Requires: python-matplotlib-data = %{version}-%{release} +Requires: python3-matplotlib-data = %{version}-%{release} Requires: python3-cairo Requires: python3-cycler >= 0.10.0 Requires: python3-dateutil @@ -338,7 +338,7 @@ PYTHONDONTWRITEBYTECODE=1 \ matplotlib.tests.test_backend_qt5 %endif # run_tests -%files -n python-matplotlib-data +%files -n python3-matplotlib-data %{_sysconfdir}/matplotlibrc %{_datadir}/matplotlib/mpl-data/ %if %{with_bundled_fonts} @@ -346,7 +346,7 @@ PYTHONDONTWRITEBYTECODE=1 \ %endif %if %{with_bundled_fonts} -%files -n python-matplotlib-data-fonts +%files -n python3-matplotlib-data-fonts %{_datadir}/matplotlib/mpl-data/fonts/ %endif From 7901631a858628cf569a450aadf30ff812efb5be Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 21 Sep 2018 04:25:34 -0400 Subject: [PATCH 226/240] Add correct license for bundled fonts. --- python-matplotlib.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index fb0c64f..18b2b6a 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -103,6 +103,9 @@ Requires: python3-matplotlib-data-fonts = %{version}-%{release} %if %{with_bundled_fonts} %package -n python3-matplotlib-data-fonts Summary: Fonts used by python-matplotlib +# 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} %{?python_provide:%python_provide python3-matplotlib-data-fonts} From cc106d1c4adde63e9cf436a7b9615afe88e22e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Fri, 21 Sep 2018 12:29:49 +0200 Subject: [PATCH 227/240] Obsolete old python-matplotlib-data* to prevent conflicts and provide an upgrade path --- python-matplotlib.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 18b2b6a..33f99e8 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -41,7 +41,7 @@ Name: python-matplotlib Version: 3.0.0 -Release: 1%{?rctag:.%{rctag}}%{?dist} +Release: 2%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -95,6 +95,7 @@ BuildArch: noarch %if %{with_bundled_fonts} Requires: python3-matplotlib-data-fonts = %{version}-%{release} %endif +Obsoletes: python-matplotlib-data < 2.2.3-2 %{?python_provide:%python_provide python3-matplotlib-data} %description -n python3-matplotlib-data @@ -108,6 +109,7 @@ Summary: Fonts used by python-matplotlib License: OFL and Bitstream Vera and Public Domain BuildArch: noarch Requires: python3-matplotlib-data = %{version}-%{release} +Obsoletes: python-matplotlib-data-fonts < 2.2.3-2 %{?python_provide:%python_provide python3-matplotlib-data-fonts} %description -n python3-matplotlib-data-fonts @@ -432,6 +434,9 @@ PYTHONDONTWRITEBYTECODE=1 \ %changelog +* Fri Sep 21 2018 Miro Hrončok - 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 - 3.0.0-1 - Update to latest version - Drop Python 2 subpackages From 7424178997417fe1272d50a349e707d7b58b1cca Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 31 Oct 2018 02:47:13 -0400 Subject: [PATCH 228/240] Update to 3.0.1. --- 0001-matplotlibrc-path-search-fix.patch | 4 +- ...ase-tolerances-for-non-x86_64-arches.patch | 6 +- ...e-some-tolerances-for-32-bit-systems.patch | 66 +++++++++---------- ...e-some-tolerances-for-non-x86-arches.patch | 39 ++++++----- python-matplotlib.spec | 7 +- 5 files changed, 64 insertions(+), 58 deletions(-) diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index 58a89f6..95c0296 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,4 +1,4 @@ -From 2ff8ec9b9047b8197d96e651e038eab73e3a6cd2 Mon Sep 17 00:00:00 2001 +From 67089439c9e2b84ba1e75a6edc1a060420c16a80 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 Subject: [PATCH 1/3] matplotlibrc path search fix @@ -10,7 +10,7 @@ Signed-off-by: Elliott Sales de Andrade 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index f7b37ee3b..508e1658d 100644 +index ae64a61b5..789501a85 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -664,18 +664,7 @@ def _get_data_path(): diff --git a/0002-Increase-tolerances-for-non-x86_64-arches.patch b/0002-Increase-tolerances-for-non-x86_64-arches.patch index 27c12d5..34cb584 100644 --- a/0002-Increase-tolerances-for-non-x86_64-arches.patch +++ b/0002-Increase-tolerances-for-non-x86_64-arches.patch @@ -1,4 +1,4 @@ -From 9b67dee47af3705cacc41d639f31a9bc99934111 Mon Sep 17 00:00:00 2001 +From d34f76c48da2ee2e743be8b456753368bef624da Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 23 Jan 2018 20:27:17 -0500 Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches. @@ -23,10 +23,10 @@ index 17c0d1967..e261513df 100644 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 896ba503f..bd48bee72 100644 +index 2ac9d7d08..89f72fa86 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py -@@ -359,7 +359,7 @@ def test_zooming_with_inverted_axes(): +@@ -360,7 +360,7 @@ def test_zooming_with_inverted_axes(): @image_comparison(baseline_images=['anchored_direction_arrows'], diff --git a/0003-Increase-some-tolerances-for-32-bit-systems.patch b/0003-Increase-some-tolerances-for-32-bit-systems.patch index b6fa351..11c3e47 100644 --- a/0003-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0003-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,4 +1,4 @@ -From a9c30f31914db1afc25a7e56ab0a02633b7b1f37 Mon Sep 17 00:00:00 2001 +From 293da37b505be24404df8aea605ab424e0420f1b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:15:14 -0400 Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems. @@ -57,7 +57,7 @@ index 283db9abe..2ae11142c 100644 exterior = mpath.Path.unit_rectangle().deepcopy() exterior.vertices *= 4 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 6afed91f3..e931e7a4a 100644 +index 3c9b7dfc5..12a7d2466 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -553,7 +553,7 @@ def test_single_point(): @@ -107,7 +107,7 @@ index 6afed91f3..e931e7a4a 100644 def test_arc_angles(): from matplotlib import patches # Ellipse parameters -@@ -2533,7 +2535,7 @@ def test_boxplot_mod_artist_after_plotting(): +@@ -2539,7 +2541,7 @@ def test_boxplot_mod_artist_after_plotting(): @image_comparison(baseline_images=['violinplot_vert_baseline', 'violinplot_vert_baseline'], @@ -116,7 +116,7 @@ index 6afed91f3..e931e7a4a 100644 def test_vert_violinplot_baseline(): # First 9 digits of frac(sqrt(2)) np.random.seed(414213562) -@@ -2551,7 +2553,7 @@ def test_vert_violinplot_baseline(): +@@ -2557,7 +2559,7 @@ def test_vert_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_vert_showmeans'], @@ -125,7 +125,7 @@ index 6afed91f3..e931e7a4a 100644 def test_vert_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(3)) -@@ -2562,7 +2564,7 @@ def test_vert_violinplot_showmeans(): +@@ -2568,7 +2570,7 @@ def test_vert_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_vert_showextrema'], @@ -134,7 +134,7 @@ index 6afed91f3..e931e7a4a 100644 def test_vert_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(5)) -@@ -2573,7 +2575,7 @@ def test_vert_violinplot_showextrema(): +@@ -2579,7 +2581,7 @@ def test_vert_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_vert_showmedians'], @@ -143,7 +143,7 @@ index 6afed91f3..e931e7a4a 100644 def test_vert_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(7)) -@@ -2584,7 +2586,7 @@ def test_vert_violinplot_showmedians(): +@@ -2590,7 +2592,7 @@ def test_vert_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_vert_showall'], @@ -152,7 +152,7 @@ index 6afed91f3..e931e7a4a 100644 def test_vert_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(11)) -@@ -2595,7 +2597,7 @@ def test_vert_violinplot_showall(): +@@ -2601,7 +2603,7 @@ def test_vert_violinplot_showall(): @image_comparison(baseline_images=['violinplot_vert_custompoints_10'], @@ -161,7 +161,7 @@ index 6afed91f3..e931e7a4a 100644 def test_vert_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(13)) -@@ -2606,7 +2608,7 @@ def test_vert_violinplot_custompoints_10(): +@@ -2612,7 +2614,7 @@ def test_vert_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_vert_custompoints_200'], @@ -170,7 +170,7 @@ index 6afed91f3..e931e7a4a 100644 def test_vert_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(17)) -@@ -2617,7 +2619,7 @@ def test_vert_violinplot_custompoints_200(): +@@ -2623,7 +2625,7 @@ def test_vert_violinplot_custompoints_200(): @image_comparison(baseline_images=['violinplot_horiz_baseline'], @@ -179,7 +179,7 @@ index 6afed91f3..e931e7a4a 100644 def test_horiz_violinplot_baseline(): ax = plt.axes() # First 9 digits of frac(sqrt(19)) -@@ -2628,7 +2630,7 @@ def test_horiz_violinplot_baseline(): +@@ -2634,7 +2636,7 @@ def test_horiz_violinplot_baseline(): @image_comparison(baseline_images=['violinplot_horiz_showmedians'], @@ -188,7 +188,7 @@ index 6afed91f3..e931e7a4a 100644 def test_horiz_violinplot_showmedians(): ax = plt.axes() # First 9 digits of frac(sqrt(23)) -@@ -2639,7 +2641,7 @@ def test_horiz_violinplot_showmedians(): +@@ -2645,7 +2647,7 @@ def test_horiz_violinplot_showmedians(): @image_comparison(baseline_images=['violinplot_horiz_showmeans'], @@ -197,7 +197,7 @@ index 6afed91f3..e931e7a4a 100644 def test_horiz_violinplot_showmeans(): ax = plt.axes() # First 9 digits of frac(sqrt(29)) -@@ -2650,7 +2652,7 @@ def test_horiz_violinplot_showmeans(): +@@ -2656,7 +2658,7 @@ def test_horiz_violinplot_showmeans(): @image_comparison(baseline_images=['violinplot_horiz_showextrema'], @@ -206,7 +206,7 @@ index 6afed91f3..e931e7a4a 100644 def test_horiz_violinplot_showextrema(): ax = plt.axes() # First 9 digits of frac(sqrt(31)) -@@ -2661,7 +2663,7 @@ def test_horiz_violinplot_showextrema(): +@@ -2667,7 +2669,7 @@ def test_horiz_violinplot_showextrema(): @image_comparison(baseline_images=['violinplot_horiz_showall'], @@ -215,7 +215,7 @@ index 6afed91f3..e931e7a4a 100644 def test_horiz_violinplot_showall(): ax = plt.axes() # First 9 digits of frac(sqrt(37)) -@@ -2672,7 +2674,7 @@ def test_horiz_violinplot_showall(): +@@ -2678,7 +2680,7 @@ def test_horiz_violinplot_showall(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_10'], @@ -224,7 +224,7 @@ index 6afed91f3..e931e7a4a 100644 def test_horiz_violinplot_custompoints_10(): ax = plt.axes() # First 9 digits of frac(sqrt(41)) -@@ -2683,7 +2685,7 @@ def test_horiz_violinplot_custompoints_10(): +@@ -2689,7 +2691,7 @@ def test_horiz_violinplot_custompoints_10(): @image_comparison(baseline_images=['violinplot_horiz_custompoints_200'], @@ -233,7 +233,7 @@ index 6afed91f3..e931e7a4a 100644 def test_horiz_violinplot_custompoints_200(): ax = plt.axes() # First 9 digits of frac(sqrt(43)) -@@ -3347,8 +3349,7 @@ def test_vertex_markers(): +@@ -3368,8 +3370,7 @@ def test_vertex_markers(): @image_comparison(baseline_images=['vline_hline_zorder', @@ -243,7 +243,7 @@ index 6afed91f3..e931e7a4a 100644 def test_eb_line_zorder(): x = list(range(10)) -@@ -4028,7 +4029,7 @@ def test_psd_noise(): +@@ -4049,7 +4050,7 @@ def test_psd_noise(): @image_comparison(baseline_images=['csd_freqs'], remove_text=True, @@ -252,7 +252,7 @@ index 6afed91f3..e931e7a4a 100644 def test_csd_freqs(): '''test axes.csd with sinusoidal stimuli''' n = 10000 -@@ -4921,7 +4922,7 @@ def test_rc_spines(): +@@ -4942,7 +4943,7 @@ def test_rc_spines(): @image_comparison(baseline_images=['rc_grid'], extensions=['png'], @@ -261,7 +261,7 @@ index 6afed91f3..e931e7a4a 100644 def test_rc_grid(): fig = plt.figure() rc_dict0 = { -@@ -5440,7 +5441,7 @@ def test_date_timezone_y(): +@@ -5461,7 +5462,7 @@ def test_date_timezone_y(): @image_comparison(baseline_images=['date_timezone_x_and_y'], @@ -284,10 +284,10 @@ index 6812ee1ad..5e5f19aac 100644 from mpl_toolkits.mplot3d import Axes3D diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py -index 56a829418..949eaf1b7 100644 +index 6137da4af..ba2815603 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py -@@ -93,7 +93,7 @@ def _colorbar_extension_length(spacing): +@@ -94,7 +94,7 @@ def _colorbar_extension_length(spacing): @image_comparison( baseline_images=['colorbar_extensions_shape_uniform', 'colorbar_extensions_shape_proportional'], @@ -296,7 +296,7 @@ index 56a829418..949eaf1b7 100644 def test_colorbar_extension_shape(): '''Test rectangular colorbar extensions.''' # Create figures for uniform and proportionally spaced colorbars. -@@ -103,7 +103,7 @@ def test_colorbar_extension_shape(): +@@ -104,7 +104,7 @@ def test_colorbar_extension_shape(): @image_comparison(baseline_images=['colorbar_extensions_uniform', 'colorbar_extensions_proportional'], @@ -305,7 +305,7 @@ index 56a829418..949eaf1b7 100644 def test_colorbar_extension_length(): '''Test variable length colorbar extensions.''' # Create figures for uniform and proportionally spaced colorbars. -@@ -117,7 +117,7 @@ def test_colorbar_extension_length(): +@@ -118,7 +118,7 @@ def test_colorbar_extension_length(): 'cbar_sharing', ], extensions=['png'], remove_text=True, @@ -314,7 +314,7 @@ index 56a829418..949eaf1b7 100644 def test_colorbar_positioning(): data = np.arange(1200).reshape(30, 40) levels = [0, 200, 400, 600, 800, 1000, 1200] -@@ -171,7 +171,7 @@ def test_colorbar_positioning(): +@@ -172,7 +172,7 @@ def test_colorbar_positioning(): @image_comparison(baseline_images=['cbar_with_subplots_adjust'], extensions=['png'], remove_text=True, @@ -323,7 +323,7 @@ index 56a829418..949eaf1b7 100644 def test_gridspec_make_colorbar(): plt.figure() data = np.arange(1200).reshape(30, 40) -@@ -230,7 +230,8 @@ def test_colorbarbase(): +@@ -231,7 +231,8 @@ def test_colorbarbase(): @image_comparison( baseline_images=['colorbar_closed_patch'], @@ -334,7 +334,7 @@ index 56a829418..949eaf1b7 100644 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 0803504ce..b3a615d5a 100644 +index e282cb6ad..701683198 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -246,7 +246,7 @@ def test_constrained_layout12(): @@ -347,7 +347,7 @@ index 0803504ce..b3a615d5a 100644 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 9868f4023..d8a490794 100644 +index c1f27b9ef..149afadb9 100644 --- a/lib/matplotlib/tests/test_contour.py +++ b/lib/matplotlib/tests/test_contour.py @@ -227,7 +227,8 @@ def test_given_colors_levels_and_extends(): @@ -567,17 +567,17 @@ index 6275d5b54..a5c03f0a3 100644 # 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 20840d7b8..80744294d 100644 +index fec498af3..fe8f3f383 100644 --- a/lib/matplotlib/tests/test_units.py +++ b/lib/matplotlib/tests/test_units.py -@@ -41,7 +41,6 @@ class Quantity(object): +@@ -75,7 +75,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(): - # Create an instance of the conversion interface and + 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 929c0368a..e6e5ca1ff 100644 --- a/lib/mpl_toolkits/tests/test_axisartist_floating_axes.py @@ -601,7 +601,7 @@ index 929c0368a..e6e5ca1ff 100644 fig = plt.figure(figsize=(5, 5)) fig.clf() 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 0f5e86322..590430315 100644 +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 \ diff --git a/0003-Increase-some-tolerances-for-non-x86-arches.patch b/0003-Increase-some-tolerances-for-non-x86-arches.patch index 106bfdb..af965dc 100644 --- a/0003-Increase-some-tolerances-for-non-x86-arches.patch +++ b/0003-Increase-some-tolerances-for-non-x86-arches.patch @@ -1,4 +1,4 @@ -From 642f104f23c78af5d6010916961ec62779290ea5 Mon Sep 17 00:00:00 2001 +From dbab6d1e9cf6a18b3464e0d568f1f1468af6c009 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:33:37 -0400 Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches. @@ -18,8 +18,8 @@ Signed-off-by: Elliott Sales de Andrade lib/matplotlib/tests/test_scale.py | 2 +- lib/matplotlib/tests/test_streamplot.py | 2 +- lib/matplotlib/tests/test_units.py | 4 ++-- - .../tests/test_axisartist_grid_helper_curvelinear.py | 2 +- - 14 files changed, 22 insertions(+), 22 deletions(-) + .../tests/test_axisartist_grid_helper_curvelinear.py | 4 ++-- + 14 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py index f678fbed3..bac0cb802 100644 @@ -44,7 +44,7 @@ index f678fbed3..bac0cb802 100644 def test_fancyarrow_dpi_cor_200dpi(): """ diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 6afed91f3..755be5570 100644 +index 3c9b7dfc5..2373010eb 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -386,7 +386,7 @@ def test_annotate_default_arrow(): @@ -56,7 +56,7 @@ index 6afed91f3..755be5570 100644 def test_polar_annotations(): # you can specify the xypoint and the xytext in different # positions and coordinate systems, and optionally turn on a -@@ -3348,7 +3348,7 @@ def test_vertex_markers(): +@@ -3369,7 +3369,7 @@ def test_vertex_markers(): @image_comparison(baseline_images=['vline_hline_zorder', 'errorbar_zorder'], @@ -65,7 +65,7 @@ index 6afed91f3..755be5570 100644 def test_eb_line_zorder(): x = list(range(10)) -@@ -5120,7 +5120,7 @@ def test_title_location_roundtrip(): +@@ -5141,7 +5141,7 @@ def test_title_location_roundtrip(): @image_comparison(baseline_images=["loglog"], remove_text=True, extensions=['png'], @@ -75,10 +75,10 @@ index 6afed91f3..755be5570 100644 fig, ax = plt.subplots() x = np.arange(1, 11) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py -index 7ba47be93..bf05c5286 100644 +index 0cb17c9d1..4fb8fb76c 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py -@@ -101,7 +101,7 @@ fig.canvas.mpl_connect("draw_event", lambda event: timer.start()) +@@ -103,7 +103,7 @@ fig.canvas.mpl_connect("draw_event", lambda event: timer.start()) plt.show() """ @@ -101,7 +101,7 @@ index 6812ee1ad..582aabb5c 100644 def test_EllipseCollection(): # Test basic functionality diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py -index 0803504ce..63e3c6781 100644 +index e282cb6ad..f1844fd86 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -173,7 +173,7 @@ def test_constrained_layout9(): @@ -241,19 +241,19 @@ index e261513df..c8c8faf99 100644 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 20840d7b8..ddddcdc44 100644 +index fec498af3..12a8d8a3e 100644 --- a/lib/matplotlib/tests/test_units.py +++ b/lib/matplotlib/tests/test_units.py -@@ -41,7 +41,7 @@ class Quantity(object): +@@ -75,7 +75,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(): - # Create an instance of the conversion interface and -@@ -86,7 +86,7 @@ def test_numpy_facade(): + def test_numpy_facade(quantity_converter): + # Register the class +@@ -100,7 +100,7 @@ def test_numpy_facade(quantity_converter): # Tests gh-8908 @image_comparison(baseline_images=['plot_masked_units'], @@ -263,9 +263,18 @@ index 20840d7b8..ddddcdc44 100644 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 0f5e86322..83c1054a4 100644 +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(): diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 33f99e8..1cd9625 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -40,8 +40,8 @@ %global ftver 2.9.1 Name: python-matplotlib -Version: 3.0.0 -Release: 2%{?rctag:.%{rctag}}%{?dist} +Version: 3.0.1 +Release: 1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -52,8 +52,6 @@ Source1: setup.cfg # Because the qhull package stopped shipping pkgconfig files. # https://src.fedoraproject.org/rpms/qhull/pull-request/1 Patch0001: 0001-Force-using-system-qhull.patch -# https://github.com/matplotlib/matplotlib/pull/12157 -Patch0002: 12157.patch # Fedora-specific patches; see: # https://github.com/QuLogic/matplotlib/tree/fedora-patches @@ -244,7 +242,6 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release} %prep %autosetup -n matplotlib-%{version}%{?rctag} -N %patch0001 -p1 -%patch0002 -p1 # Fedora-specific patches follow: %patch1001 -p1 From 308245a86e9e1a1c429ee7ca841aebcf0595291a Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 31 Oct 2018 04:51:30 -0400 Subject: [PATCH 229/240] Remove unused patch. --- 12157.patch | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 12157.patch diff --git a/12157.patch b/12157.patch deleted file mode 100644 index 8551f0d..0000000 --- a/12157.patch +++ /dev/null @@ -1,31 +0,0 @@ -From bb337935d04b63d454a81e16a9ac2063a7d945c3 Mon Sep 17 00:00:00 2001 -From: Antony Lee -Date: Tue, 18 Sep 2018 22:46:17 +0200 -Subject: [PATCH] Properly declare the interactive framework for the qt4foo - backends. - ---- - lib/matplotlib/backends/backend_qt4agg.py | 2 +- - lib/matplotlib/backends/backend_qt4cairo.py | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/matplotlib/backends/backend_qt4agg.py b/lib/matplotlib/backends/backend_qt4agg.py -index 65785bbd32b..8f4e265ac42 100644 ---- a/lib/matplotlib/backends/backend_qt4agg.py -+++ b/lib/matplotlib/backends/backend_qt4agg.py -@@ -8,4 +8,4 @@ - - @_BackendQT5Agg.export - class _BackendQT4Agg(_BackendQT5Agg): -- pass -+ required_interactive_framework = "qt4" -diff --git a/lib/matplotlib/backends/backend_qt4cairo.py b/lib/matplotlib/backends/backend_qt4cairo.py -index f94851da382..94d703afa4e 100644 ---- a/lib/matplotlib/backends/backend_qt4cairo.py -+++ b/lib/matplotlib/backends/backend_qt4cairo.py -@@ -3,4 +3,4 @@ - - @_BackendQT5Cairo.export - class _BackendQT4Cairo(_BackendQT5Cairo): -- pass -+ required_interactive_framework = "qt4" From af995aa143ad4000edddbed79b45355cebc28646 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 31 Oct 2018 05:07:20 -0400 Subject: [PATCH 230/240] Upload sources for 3.0.1. --- .gitignore | 2 ++ sources | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8dc07d2..5bb4f08 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,5 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/sources b/sources index 9d536ff..79244f3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (matplotlib-3.0.0.tar.gz) = 1bcc665a3557655308c3688c747be4d35fce8742db67eda0cb494a550269bf4fba84d78b36f8296f82919b4cec50b5d23c9ce6d1f3a312a9d2dfaf3b2332b335 -SHA512 (matplotlib-3.0.0-with-freetype-2.9.1.tar.gz) = d22e280d66fb018ef1dd6f91f086dbef3eed8bc39bf43fa270a31552984e87f054d937a031cf675e5ecce45f2e46d83e838f18c9c00616cc2a204d2d03075bb6 +SHA512 (matplotlib-3.0.1.tar.gz) = 1773846f4bec863d323652c9a89b5c087049f9170c8a18a2c7e1d818f8cb46f34e7fc9fc7a2a8ab70c80dbc2bcaf8428b6a9fb941e85ec7b054d2204d0a794bb +SHA512 (matplotlib-3.0.1-with-freetype-2.9.1.tar.gz) = 7d2f9fa2a1ae58107283877cbb96d74f79cfda4d6328bdee90d88b2a286eaad9ae8ff6d764f10a5c05eec6fb5de8598cada168fe7c85d33bd07873fdfc142e3a From f171297f40aec8220877dea8c7447a7d3f54c4e0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 10 Nov 2018 04:33:30 -0500 Subject: [PATCH 231/240] Update to latest version. --- .gitignore | 1 + ...cks-and-titles-from-tight-bbox-tests.patch | 75 +++++++++++++++++++ 0001-matplotlibrc-path-search-fix.patch | 4 +- ...ase-tolerances-for-non-x86_64-arches.patch | 4 +- ...e-some-tolerances-for-32-bit-systems.patch | 14 ++-- ...e-some-tolerances-for-non-x86-arches.patch | 10 +-- python-matplotlib.spec | 14 +++- sources | 2 +- 8 files changed, 104 insertions(+), 20 deletions(-) create mode 100644 0001-Remove-ticks-and-titles-from-tight-bbox-tests.patch diff --git a/.gitignore b/.gitignore index 5bb4f08..270f921 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/0001-Remove-ticks-and-titles-from-tight-bbox-tests.patch b/0001-Remove-ticks-and-titles-from-tight-bbox-tests.patch new file mode 100644 index 0000000..35d6cfd --- /dev/null +++ b/0001-Remove-ticks-and-titles-from-tight-bbox-tests.patch @@ -0,0 +1,75 @@ +From 9ef2402bac96bbfc0fd9a21f56d8c4b3aae6e9a1 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Sat, 10 Nov 2018 04:29:36 -0500 +Subject: [PATCH] Remove ticks and titles from tight bbox tests. + +These text elements may shift with different versions of FreeType, +making the tight bbox results unstable when building against external +newer versions. + +Signed-off-by: Elliott Sales de Andrade +--- + lib/matplotlib/tests/test_axes.py | 6 ++++-- + lib/mpl_toolkits/tests/test_axes_grid1.py | 8 +++++--- + 2 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py +index 5bc1b54bb..f6e3f733b 100644 +--- a/lib/matplotlib/tests/test_axes.py ++++ b/lib/matplotlib/tests/test_axes.py +@@ -16,7 +16,8 @@ import pytest + import warnings + + import matplotlib +-from matplotlib.testing.decorators import image_comparison, check_figures_equal ++from matplotlib.testing.decorators import ( ++ image_comparison, check_figures_equal, remove_ticks_and_titles) + import matplotlib.pyplot as plt + import matplotlib.markers as mmarkers + import matplotlib.patches as mpatches +@@ -5913,9 +5914,10 @@ def test_cartopy_backcompat(): + + def test_gettightbbox_ignoreNaN(): + fig, ax = plt.subplots() ++ remove_ticks_and_titles(fig) + t = ax.text(np.NaN, 1, 'Boo') + renderer = fig.canvas.get_renderer() +- np.testing.assert_allclose(ax.get_tightbbox(renderer).width, 532.444444) ++ np.testing.assert_allclose(ax.get_tightbbox(renderer).width, 496) + + + def test_scatter_series_non_zero_index(pd): +diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py +index 537a8a2c8..2a630bb14 100644 +--- a/lib/mpl_toolkits/tests/test_axes_grid1.py ++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py +@@ -1,6 +1,7 @@ + import matplotlib + import matplotlib.pyplot as plt +-from matplotlib.testing.decorators import image_comparison ++from matplotlib.testing.decorators import ( ++ image_comparison, remove_ticks_and_titles) + + from mpl_toolkits.axes_grid1 import host_subplot + from mpl_toolkits.axes_grid1 import make_axes_locatable +@@ -409,7 +410,6 @@ def test_image_grid(): + + + def test_gettightbbox(): +- + fig, ax = plt.subplots(figsize=(8, 6)) + + l, = ax.plot([1, 2, 3], [0, 1, 0]) +@@ -418,6 +418,8 @@ def test_gettightbbox(): + ax_zoom.plot([1, 2, 3], [0, 1, 0]) + + mark_inset(ax, ax_zoom, loc1=1, loc2=3, fc="none", ec='0.3') ++ ++ remove_ticks_and_titles(fig) + bbox = fig.get_tightbbox(fig.canvas.get_renderer()) + np.testing.assert_array_almost_equal(bbox.extents, +- [-18.022743, -14.118056, 7.332813, 5.4625]) ++ [-17.7, -13.9, 7.2, 5.4]) +-- +2.17.1 + diff --git a/0001-matplotlibrc-path-search-fix.patch b/0001-matplotlibrc-path-search-fix.patch index 95c0296..fa70073 100644 --- a/0001-matplotlibrc-path-search-fix.patch +++ b/0001-matplotlibrc-path-search-fix.patch @@ -1,4 +1,4 @@ -From 67089439c9e2b84ba1e75a6edc1a060420c16a80 Mon Sep 17 00:00:00 2001 +From d417058d3d02f79188cc7bcfab0f3f2a5c97b7a0 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 27 Sep 2017 19:35:59 -0400 Subject: [PATCH 1/3] matplotlibrc path search fix @@ -10,7 +10,7 @@ Signed-off-by: Elliott Sales de Andrade 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py -index ae64a61b5..789501a85 100644 +index 091cb6178..5648392ce 100644 --- a/lib/matplotlib/__init__.py +++ b/lib/matplotlib/__init__.py @@ -664,18 +664,7 @@ def _get_data_path(): diff --git a/0002-Increase-tolerances-for-non-x86_64-arches.patch b/0002-Increase-tolerances-for-non-x86_64-arches.patch index 34cb584..c0301af 100644 --- a/0002-Increase-tolerances-for-non-x86_64-arches.patch +++ b/0002-Increase-tolerances-for-non-x86_64-arches.patch @@ -1,4 +1,4 @@ -From d34f76c48da2ee2e743be8b456753368bef624da Mon Sep 17 00:00:00 2001 +From 4628d65ebf811eee3ea50499cabc1a5ce76c5dd7 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 23 Jan 2018 20:27:17 -0500 Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches. @@ -23,7 +23,7 @@ index 17c0d1967..e261513df 100644 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 2ac9d7d08..89f72fa86 100644 +index f1ededf67..762781cf5 100644 --- a/lib/mpl_toolkits/tests/test_axes_grid1.py +++ b/lib/mpl_toolkits/tests/test_axes_grid1.py @@ -360,7 +360,7 @@ def test_zooming_with_inverted_axes(): diff --git a/0003-Increase-some-tolerances-for-32-bit-systems.patch b/0003-Increase-some-tolerances-for-32-bit-systems.patch index 11c3e47..f857e96 100644 --- a/0003-Increase-some-tolerances-for-32-bit-systems.patch +++ b/0003-Increase-some-tolerances-for-32-bit-systems.patch @@ -1,4 +1,4 @@ -From 293da37b505be24404df8aea605ab424e0420f1b Mon Sep 17 00:00:00 2001 +From 7d114c59042314c1478ed5fad061c998a1f31b19 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:15:14 -0400 Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems. @@ -57,7 +57,7 @@ index 283db9abe..2ae11142c 100644 exterior = mpath.Path.unit_rectangle().deepcopy() exterior.vertices *= 4 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 3c9b7dfc5..12a7d2466 100644 +index 629517406..edb7b5ed7 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -553,7 +553,7 @@ def test_single_point(): @@ -284,7 +284,7 @@ index 6812ee1ad..5e5f19aac 100644 from mpl_toolkits.mplot3d import Axes3D diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py -index 6137da4af..ba2815603 100644 +index 1c358c09a..21019be34 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -94,7 +94,7 @@ def _colorbar_extension_length(spacing): @@ -334,7 +334,7 @@ index 6137da4af..ba2815603 100644 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 e282cb6ad..701683198 100644 +index de8161ea7..a1f307abe 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -246,7 +246,7 @@ def test_constrained_layout12(): @@ -632,10 +632,10 @@ index 32e1c884d..2b38866c5 100644 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 8d2815408..816a26c35 100644 +index bc9c43ec7..48727de52 100644 --- a/lib/mpl_toolkits/tests/test_mplot3d.py +++ b/lib/mpl_toolkits/tests/test_mplot3d.py -@@ -241,7 +241,7 @@ def test_text3d(): +@@ -254,7 +254,7 @@ def test_text3d(): ax.set_zlabel('Z axis') @@ -644,7 +644,7 @@ index 8d2815408..816a26c35 100644 def test_trisurf3d(): n_angles = 36 n_radii = 8 -@@ -720,7 +720,7 @@ class TestVoxels(object): +@@ -733,7 +733,7 @@ class TestVoxels(object): @image_comparison( baseline_images=['voxels-xyz'], extensions=['png'], diff --git a/0003-Increase-some-tolerances-for-non-x86-arches.patch b/0003-Increase-some-tolerances-for-non-x86-arches.patch index af965dc..e8c820f 100644 --- a/0003-Increase-some-tolerances-for-non-x86-arches.patch +++ b/0003-Increase-some-tolerances-for-non-x86-arches.patch @@ -1,4 +1,4 @@ -From dbab6d1e9cf6a18b3464e0d568f1f1468af6c009 Mon Sep 17 00:00:00 2001 +From fe4dfe11f191f52fe4126a174658e13943abbf5f Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 31 Mar 2018 00:33:37 -0400 Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches. @@ -44,7 +44,7 @@ index f678fbed3..bac0cb802 100644 def test_fancyarrow_dpi_cor_200dpi(): """ diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 3c9b7dfc5..2373010eb 100644 +index 629517406..c5b5a12ea 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -386,7 +386,7 @@ def test_annotate_default_arrow(): @@ -75,10 +75,10 @@ index 3c9b7dfc5..2373010eb 100644 fig, ax = plt.subplots() x = np.arange(1, 11) diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py -index 0cb17c9d1..4fb8fb76c 100644 +index 00cbf5db9..33e6fb21a 100644 --- a/lib/matplotlib/tests/test_backends_interactive.py +++ b/lib/matplotlib/tests/test_backends_interactive.py -@@ -103,7 +103,7 @@ fig.canvas.mpl_connect("draw_event", lambda event: timer.start()) +@@ -105,7 +105,7 @@ fig.canvas.mpl_connect("draw_event", lambda event: timer.start()) plt.show() """ @@ -101,7 +101,7 @@ index 6812ee1ad..582aabb5c 100644 def test_EllipseCollection(): # Test basic functionality diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py -index e282cb6ad..f1844fd86 100644 +index de8161ea7..2af2d6a42 100644 --- a/lib/matplotlib/tests/test_constrainedlayout.py +++ b/lib/matplotlib/tests/test_constrainedlayout.py @@ -173,7 +173,7 @@ def test_constrained_layout9(): diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 1cd9625..a1917a7 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -36,11 +36,14 @@ #global rctag rc1 +# Updated test images for new FreeType. +%global mpl_images_version 3.0.1 + # The version of FreeType in this Fedora branch. %global ftver 2.9.1 Name: python-matplotlib -Version: 3.0.1 +Version: 3.0.2 Release: 1%{?rctag:.%{rctag}}%{?dist} Summary: Python 2D plotting library # qt4_editor backend is MIT @@ -53,11 +56,14 @@ Source1: setup.cfg # https://src.fedoraproject.org/rpms/qhull/pull-request/1 Patch0001: 0001-Force-using-system-qhull.patch +# https://github.com/matplotlib/matplotlib/pull/12790 +Patch0002: 0001-Remove-ticks-and-titles-from-tight-bbox-tests.patch + # Fedora-specific patches; see: # https://github.com/QuLogic/matplotlib/tree/fedora-patches # https://github.com/QuLogic/matplotlib/tree/fedora-patches-non-x86 # Updated test images for new FreeType. -Source1000: https://github.com/QuLogic/mpl-images/archive/v%{version}%{?rctag}-with-freetype-%{ftver}/matplotlib-%{version}%{?rctag}-with-freetype-%{ftver}.tar.gz +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 # Image tolerances for anything but x86_64: @@ -243,10 +249,12 @@ Requires: python3-matplotlib%{?_isa} = %{version}-%{release} %autosetup -n matplotlib-%{version}%{?rctag} -N %patch0001 -p1 +%patch0002 -p1 + # Fedora-specific patches follow: %patch1001 -p1 # Updated test images for new FreeType. -gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-%{version}%{?rctag}-with-freetype-%{ftver}/\([^/]\+\)/~lib/\1/tests/baseline_images/~' +gzip -dc %SOURCE1000 | tar xvf - --transform='s~^mpl-images-%{mpl_images_version}-with-freetype-%{ftver}/\([^/]\+\)/~lib/\1/tests/baseline_images/~' %ifnarch x86_64 %patch1002 -p1 %endif diff --git a/sources b/sources index 79244f3..3714b63 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (matplotlib-3.0.1.tar.gz) = 1773846f4bec863d323652c9a89b5c087049f9170c8a18a2c7e1d818f8cb46f34e7fc9fc7a2a8ab70c80dbc2bcaf8428b6a9fb941e85ec7b054d2204d0a794bb +SHA512 (matplotlib-3.0.2.tar.gz) = 40db6cf6023483f3f9b3020735f87f1e53fdaeb177d2a82a5326a139222380ab67f6f007dd30f5a204877246baad0aefced6cf63b36dab32771124f55559491c SHA512 (matplotlib-3.0.1-with-freetype-2.9.1.tar.gz) = 7d2f9fa2a1ae58107283877cbb96d74f79cfda4d6328bdee90d88b2a286eaad9ae8ff6d764f10a5c05eec6fb5de8598cada168fe7c85d33bd07873fdfc142e3a From 17130085dec16f1c511ec0bdd20054347d48e892 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 13 Nov 2018 19:36:37 -0500 Subject: [PATCH 232/240] Fix missing changelog. --- python-matplotlib.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index a1917a7..ff70f63 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -439,6 +439,12 @@ PYTHONDONTWRITEBYTECODE=1 \ %changelog +* Tue Nov 13 2018 Elliott Sales de Andrade - 3.0.2-1 +- Update to latest version + +* Wed Oct 31 2018 Elliott Sales de Andrade - 3.0.1-1 +- Update to latest version + * Fri Sep 21 2018 Miro Hrončok - 3.0.0-2 - Obsolete old python-matplotlib-data* to prevent conflicts and provide an upgrade path From b1b97b1ed10555a608a959919cc898e6a1202aca Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 2 Feb 2019 07:42:18 +0000 Subject: [PATCH 233/240] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-matplotlib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index ff70f63..6fc527d 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -44,7 +44,7 @@ Name: python-matplotlib Version: 3.0.2 -Release: 1%{?rctag:.%{rctag}}%{?dist} +Release: 1%{?rctag:.%{rctag}}%{?dist}.1 Summary: Python 2D plotting library # qt4_editor backend is MIT License: Python and MIT @@ -439,6 +439,9 @@ PYTHONDONTWRITEBYTECODE=1 \ %changelog +* Sat Feb 02 2019 Fedora Release Engineering - 3.0.2-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Tue Nov 13 2018 Elliott Sales de Andrade - 3.0.2-1 - Update to latest version From 6e771d153093a5a73ee08afcad4cc816383752eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 13 Feb 2019 00:54:28 +0100 Subject: [PATCH 234/240] https://fedoraproject.org/wiki/Changes/Python_Extension_Flags --- python-matplotlib.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 6fc527d..1622f62 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -284,6 +284,7 @@ sed -i 's/\(USE_FONTCONFIG = \)False/\1True/' lib/matplotlib/font_manager.py %build +%set_build_flags export http_proxy=http://127.0.0.1/ MPLCONFIGDIR=$PWD \ From b5e6655ad88ec745d0189667975eabdf52cd0c90 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Sat, 2 Mar 2019 18:39:03 -0500 Subject: [PATCH 235/240] Update to latest version. --- .gitignore | 1 + ...cks-and-titles-from-tight-bbox-tests.patch | 75 ------------ 0001-Use-packaged-jquery-and-jquery-ui.patch | 113 ++++++++++++++++++ 0001-matplotlibrc-path-search-fix.patch | 4 +- ...ase-tolerances-for-non-x86_64-arches.patch | 8 +- ...e-some-tolerances-for-32-bit-systems.patch | 58 ++++----- ...e-some-tolerances-for-non-x86-arches.patch | 18 +-- python-matplotlib.spec | 15 ++- sources | 2 +- 9 files changed, 170 insertions(+), 124 deletions(-) delete mode 100644 0001-Remove-ticks-and-titles-from-tight-bbox-tests.patch create mode 100644 0001-Use-packaged-jquery-and-jquery-ui.patch diff --git a/.gitignore b/.gitignore index 270f921..89314bf 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ matplotlib-1.0.0-without-gpc.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 diff --git a/0001-Remove-ticks-and-titles-from-tight-bbox-tests.patch b/0001-Remove-ticks-and-titles-from-tight-bbox-tests.patch deleted file mode 100644 index 35d6cfd..0000000 --- a/0001-Remove-ticks-and-titles-from-tight-bbox-tests.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 9ef2402bac96bbfc0fd9a21f56d8c4b3aae6e9a1 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Sat, 10 Nov 2018 04:29:36 -0500 -Subject: [PATCH] Remove ticks and titles from tight bbox tests. - -These text elements may shift with different versions of FreeType, -making the tight bbox results unstable when building against external -newer versions. - -Signed-off-by: Elliott Sales de Andrade ---- - lib/matplotlib/tests/test_axes.py | 6 ++++-- - lib/mpl_toolkits/tests/test_axes_grid1.py | 8 +++++--- - 2 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py -index 5bc1b54bb..f6e3f733b 100644 ---- a/lib/matplotlib/tests/test_axes.py -+++ b/lib/matplotlib/tests/test_axes.py -@@ -16,7 +16,8 @@ import pytest - import warnings - - import matplotlib --from matplotlib.testing.decorators import image_comparison, check_figures_equal -+from matplotlib.testing.decorators import ( -+ image_comparison, check_figures_equal, remove_ticks_and_titles) - import matplotlib.pyplot as plt - import matplotlib.markers as mmarkers - import matplotlib.patches as mpatches -@@ -5913,9 +5914,10 @@ def test_cartopy_backcompat(): - - def test_gettightbbox_ignoreNaN(): - fig, ax = plt.subplots() -+ remove_ticks_and_titles(fig) - t = ax.text(np.NaN, 1, 'Boo') - renderer = fig.canvas.get_renderer() -- np.testing.assert_allclose(ax.get_tightbbox(renderer).width, 532.444444) -+ np.testing.assert_allclose(ax.get_tightbbox(renderer).width, 496) - - - def test_scatter_series_non_zero_index(pd): -diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py -index 537a8a2c8..2a630bb14 100644 ---- a/lib/mpl_toolkits/tests/test_axes_grid1.py -+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py -@@ -1,6 +1,7 @@ - import matplotlib - import matplotlib.pyplot as plt --from matplotlib.testing.decorators import image_comparison -+from matplotlib.testing.decorators import ( -+ image_comparison, remove_ticks_and_titles) - - from mpl_toolkits.axes_grid1 import host_subplot - from mpl_toolkits.axes_grid1 import make_axes_locatable -@@ -409,7 +410,6 @@ def test_image_grid(): - - - def test_gettightbbox(): -- - fig, ax = plt.subplots(figsize=(8, 6)) - - l, = ax.plot([1, 2, 3], [0, 1, 0]) -@@ -418,6 +418,8 @@ def test_gettightbbox(): - ax_zoom.plot([1, 2, 3], [0, 1, 0]) - - mark_inset(ax, ax_zoom, loc1=1, loc2=3, fc="none", ec='0.3') -+ -+ remove_ticks_and_titles(fig) - bbox = fig.get_tightbbox(fig.canvas.get_renderer()) - np.testing.assert_array_almost_equal(bbox.extents, -- [-18.022743, -14.118056, 7.332813, 5.4625]) -+ [-17.7, -13.9, 7.2, 5.4]) --- -2.17.1 - diff --git a/0001-Use-packaged-jquery-and-jquery-ui.patch b/0001-Use-packaged-jquery-and-jquery-ui.patch new file mode 100644 index 0000000..1e844a6 --- /dev/null +++ b/0001-Use-packaged-jquery-and-jquery-ui.patch @@ -0,0 +1,113 @@ +From fede0d8731c1301720f16e2d46df8275e8ecf9e8 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Sat, 2 Mar 2019 18:18:29 -0500 +Subject: [PATCH] Use packaged jquery and jquery-ui. + +Signed-off-by: Elliott Sales de Andrade +--- + .../backends/web_backend/all_figures.html | 6 +-- + .../backends/web_backend/single_figure.html | 6 +-- + setup.py | 46 ------------------- + 3 files changed, 6 insertions(+), 52 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 @@ + + + +- +- +- ++ ++ ++ + + + +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 @@ + + + +- +- +- ++ ++ ++ + + +