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