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