#9 Update to Matplotlib 3.0.0
Merged 5 years ago by churchyard. Opened 5 years ago by qulogic.
rpms/ qulogic/python-matplotlib mpl3  into  master

file modified
+6
@@ -26,3 +26,9 @@ 

  /matplotlib-2.2.3.tar.gz

  /matplotlib-2.2.3-with-freetype-2.8.tar.gz

  /matplotlib-2.2.3-with-freetype-2.9.1.tar.gz

+ /matplotlib-3.0.0rc1.tar.gz

+ /matplotlib-3.0.0rc1-with-freetype-2.9.1.tar.gz

+ /matplotlib-3.0.0rc2.tar.gz

+ /matplotlib-3.0.0rc2-with-freetype-2.9.1.tar.gz

+ /matplotlib-3.0.0.tar.gz

+ /matplotlib-3.0.0-with-freetype-2.9.1.tar.gz

@@ -1,32 +1,39 @@ 

- From e318adb6b70cdb27eb8cd5235909b8e8430080d7 Mon Sep 17 00:00:00 2001

+ From 2ff8ec9b9047b8197d96e651e038eab73e3a6cd2 Mon Sep 17 00:00:00 2001

  From: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  Date: Wed, 27 Sep 2017 19:35:59 -0400

  Subject: [PATCH 1/3] matplotlibrc path search fix

  

  Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  ---

-  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 f7b37ee3b..508e1658d 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 @@ 

       """

   

       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 @@ 

  +

  +

  +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()))

   

   

@@ -1,27 +1,40 @@ 

- From ece1f936ba4c130cf82d3954a5e677d96ca3a854 Mon Sep 17 00:00:00 2001

+ From 9b67dee47af3705cacc41d639f31a9bc99934111 Mon Sep 17 00:00:00 2001

  From: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  Date: Tue, 23 Jan 2018 20:27:17 -0500

  Subject: [PATCH 2/3] Increase tolerances for non-x86_64 arches.

  

  Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  ---

-  lib/matplotlib/tests/test_streamplot.py | 3 +--

-  1 file changed, 1 insertion(+), 2 deletions(-)

+  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 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)

+ 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

  

@@ -1,4 +1,4 @@ 

- From b8a97810843ff739cb98cb5159843f2836dbd8b3 Mon Sep 17 00:00:00 2001

+ From a9c30f31914db1afc25a7e56ab0a02633b7b1f37 Mon Sep 17 00:00:00 2001

  From: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  Date: Sat, 31 Mar 2018 00:15:14 -0400

  Subject: [PATCH 3/3] Increase some tolerances for 32-bit systems.
@@ -7,29 +7,33 @@ 

  ---

   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             | 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          |  6 +--

+  lib/matplotlib/tests/test_contour.py          |  8 +--

+  lib/matplotlib/tests/test_cycles.py           |  3 --

+  lib/matplotlib/tests/test_figure.py           |  3 +-

   lib/matplotlib/tests/test_image.py            |  2 +-

+  lib/matplotlib/tests/test_legend.py           |  5 +-

   lib/matplotlib/tests/test_mathtext.py         |  4 +-

   lib/matplotlib/tests/test_patches.py          |  3 +-

   lib/matplotlib/tests/test_patheffects.py      |  2 +-

   lib/matplotlib/tests/test_pickle.py           |  2 +-

   lib/matplotlib/tests/test_quiver.py           |  2 +-

-  lib/matplotlib/tests/test_streamplot.py       |  3 +-

+  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, 53 insertions(+), 54 deletions(-)

+  22 files changed, 59 insertions(+), 63 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 +43,10 @@ 

                        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 +57,19 @@ 

       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 6afed91f3..e931e7a4a 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 +78,27 @@ 

   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 +107,7 @@ 

   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 +116,7 @@ 

   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 +125,7 @@ 

   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 +134,7 @@ 

   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 +143,7 @@ 

   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 +152,7 @@ 

   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 +161,7 @@ 

   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 +170,7 @@ 

   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 +179,7 @@ 

   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 +188,7 @@ 

   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 +197,7 @@ 

   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 +206,7 @@ 

   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 +215,7 @@ 

   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 +224,7 @@ 

   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 +233,17 @@ 

   def test_horiz_violinplot_custompoints_200():

       ax = plt.axes()

       # First 9 digits of frac(sqrt(43))

- @@ -3947,7 +3946,7 @@ def test_psd_noise():

+ @@ -3347,8 +3349,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))

+  

+ @@ -4028,7 +4029,7 @@ def test_psd_noise():

   

   

   @image_comparison(baseline_images=['csd_freqs'], remove_text=True,
@@ -246,7 +252,7 @@ 

   def test_csd_freqs():

       '''test axes.csd with sinusoidal stimuli'''

       n = 10000

- @@ -4806,7 +4805,7 @@ def test_rc_spines():

+ @@ -4921,7 +4922,7 @@ def test_rc_spines():

   

   

   @image_comparison(baseline_images=['rc_grid'], extensions=['png'],
@@ -255,7 +261,7 @@ 

   def test_rc_grid():

       fig = plt.figure()

       rc_dict0 = {

- @@ -5301,7 +5300,7 @@ def test_date_timezone_y():

+ @@ -5440,7 +5441,7 @@ def test_date_timezone_y():

   

   

   @image_comparison(baseline_images=['date_timezone_x_and_y'],
@@ -263,12 +269,12 @@ 

  +                  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 +284,10 @@ 

       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 56a829418..949eaf1b7 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 +296,7 @@ 

   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 +305,7 @@ 

   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 +314,7 @@ 

   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 +323,7 @@ 

   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 +334,10 @@ 

       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 +347,30 @@ 

   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 9868f4023..d8a490794 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():

+ @@ -227,7 +227,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():

+ @@ -253,7 +254,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():

+ @@ -284,7 +286,7 @@ def test_labels():

   

   @image_comparison(baseline_images=['contour_corner_mask_False',

                                      'contour_corner_mask_True'],
@@ -371,24 +379,96 @@ 

   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 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_legend.py b/lib/matplotlib/tests/test_legend.py

+ 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():

+  

+  

+  @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 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 +477,7 @@ 

   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 +487,10 @@ 

       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 +502,36 @@ 

       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 +541,48 @@ 

       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/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 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 +591,20 @@ 

   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 +613,16 @@ 

   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 +632,10 @@ 

       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 +644,7 @@ 

   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'],

@@ -1,53 +1,53 @@ 

- From 3e2bfee4e8ce28fffa7e9cd0a054429af2e2ebe3 Mon Sep 17 00:00:00 2001

+ From 642f104f23c78af5d6010916961ec62779290ea5 Mon Sep 17 00:00:00 2001

  From: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  Date: Sat, 31 Mar 2018 00:33:37 -0400

  Subject: [PATCH 3/3] Increase some tolerances for non-x86 arches.

  

  Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>

  ---

-  lib/matplotlib/tests/test_arrow_patches.py                 | 4 ++--

-  lib/matplotlib/tests/test_axes.py                          | 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 6afed91f3..755be5570 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 @@ 

   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():

-  

+ @@ -3348,7 +3348,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))

   

+ @@ -5120,7 +5120,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 7ba47be93..bf05c5286 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

+ @@ -101,7 +101,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 @@ 

       '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 d508d6f41..9147ef336 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

+ @@ -149,7 +149,7 @@ def test_fancy():

   

- @@ -183,7 +183,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)

+  @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

  

file added
+31
@@ -0,0 +1,31 @@ 

+ From bb337935d04b63d454a81e16a9ac2063a7d945c3 Mon Sep 17 00:00:00 2001

+ From: Antony Lee <anntzer.lee@gmail.com>

+ 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"

file modified
+112 -301
@@ -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"
@@ -20,6 +20,10 @@ 

  %  else

  %    if "%{backend}" == "Qt5Agg"

  %global backend_subpackage qt5

+ %    else

+ %      if "%{backend}" == "WXAgg"

+ %global backend_subpackage wx

+ %      endif

  %    endif

  %  endif

  %endif
@@ -33,14 +37,10 @@ 

  #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:        2.2.3

+ Version:        3.0.0

  Release:        1%{?rctag:.%{rctag}}%{?dist}

  Summary:        Python 2D plotting library

  # qt4_editor backend is MIT
@@ -52,12 +52,14 @@ 

  # 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

  # 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:
@@ -67,6 +69,8 @@ 

  # 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
@@ -85,185 +89,28 @@ 

  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

+ %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

+ # STIX and Computer Modern is OFL

+ # DejaVu is Bitstream Vera and Public Domain

+ License:        OFL and Bitstream Vera and Public Domain

  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

  
@@ -280,11 +127,10 @@ 

  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-matplotlib-data = %{version}-%{release}

  Requires:       python3-cairo

  Requires:       python3-cycler >= 0.10.0

  Requires:       python3-dateutil
@@ -297,8 +143,6 @@ 

  Requires:       python3-numpy

  Recommends:     python3-pillow

  Requires:       python3-pyparsing

- Requires:       python3-pytz

- Requires:       python3-six

  %if !%{with_bundled_fonts}

  Requires:       stix-math-fonts

  %else
@@ -338,7 +182,6 @@ 

  %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 +205,31 @@ 

  %description -n python3-matplotlib-tk

  %{summary}

  

+ %package -n     python3-matplotlib-wx

+ Summary:        WX backend for python3-matplotlib

+ BuildRequires:  python3-wxpython4

+ Requires:       python3-matplotlib%{?_isa} = %{version}-%{release}

+ Requires:       python3-wxpython4

+ %{?python_provide:%python_provide python3-matplotlib-wx}

+ 

+ %description -n python3-matplotlib-wx

+ %{summary}

+ 

+ %package -n python3-matplotlib-doc

+ Summary:        Documentation files for python-matplotlib

+ %if %{with_html}

+ BuildRequires:  dvipng

+ BuildRequires:  graphviz

+ BuildRequires:  python3-sphinx

+ BuildRequires:  tex(latex)

+ BuildRequires:  tex-preview

+ %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}
@@ -374,11 +242,12 @@ 

  %prep

  %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}-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
@@ -391,7 +260,7 @@ 

  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
@@ -409,101 +278,70 @@ 

  

  %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

+     %{__python3} setup.py install -O1 --skip-build --root=%{buildroot}

+ chmod +x %{buildroot}%{python3_sitearch}/matplotlib/dates.py

  mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_datadir}/matplotlib

- mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data/matplotlibrc \

+ mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data/matplotlibrc \

     %{buildroot}%{_sysconfdir}

- mv %{buildroot}%{python2_sitearch}/matplotlib/mpl-data \

+ mv %{buildroot}%{python3_sitearch}/matplotlib/mpl-data \

     %{buildroot}%{_datadir}/matplotlib

  %if !%{with_bundled_fonts}

  rm -rf %{buildroot}%{_datadir}/matplotlib/mpl-data/fonts

  %endif

  

- 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

- 

  %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

- # 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 \

+ MATPLOTLIBRC=%{buildroot}%{_sysconfdir}/matplotlibrc \

  PYTHONPATH=%{buildroot}%{python3_sitearch} \

  PYTHONDONTWRITEBYTECODE=1 \

       xvfb-run -a -s "-screen 0 640x480x24" \

           %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \

               -m 'not network' \

-              -k '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'

+              -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 \

-              -k 'test_nose_image_comparison'

+          %{__python3} tests.py -ra -n $(getconf _NPROCESSORS_ONLN) \

+              -m 'not network' \

+              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}
@@ -511,63 +349,11 @@ 

  %endif

  

  %if %{with_bundled_fonts}

- %files -n python-matplotlib-data-fonts

+ %files -n python3-matplotlib-data-fonts

  %{_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/*
@@ -584,17 +370,25 @@ 

  %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
@@ -602,30 +396,47 @@ 

  %{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

+ * Wed Sep 19 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 3.0.0-1

+ - Update to latest version

+ - Drop Python 2 subpackages

+ - Stop setting a default backend (allow Matplotlib to choose automatically)

+ 

  * Mon Aug 13 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 2.2.3-1

  - Update to latest version

  

file modified
-3
@@ -2,6 +2,3 @@ 

  tests = True

  toolkits = True

  toolkits_tests = True

- 

- [rc_options]

- backend = GTKAgg

file modified
+2 -3
@@ -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.0.tar.gz) = 1bcc665a3557655308c3688c747be4d35fce8742db67eda0cb494a550269bf4fba84d78b36f8296f82919b4cec50b5d23c9ce6d1f3a312a9d2dfaf3b2332b335

+ SHA512 (matplotlib-3.0.0-with-freetype-2.9.1.tar.gz) = d22e280d66fb018ef1dd6f91f086dbef3eed8bc39bf43fa270a31552984e87f054d937a031cf675e5ecce45f2e46d83e838f18c9c00616cc2a204d2d03075bb6

Also, drop Python 2 package (no longer supported), and stop setting a default backend (it's automatic now).

6 new commits added

  • Update to 3.0.0rc2.
  • Update backend package splits.
  • Remove old Fedora FreeType support.
  • Update to 3.0.0rc1.
  • Add explicit gcc/gcc-c++ BR.
  • Remove Python 2 subpackages.
5 years ago

1 new commit added

  • Update to final 3.0.0.
5 years ago

2 new commits added

  • Add patch to fix Qt4 backends.
  • Stop setting explicit backend during testing.
5 years ago

2 new commits added

  • Remove unnecessary dependencies.
  • Run Qt5 tests separately to not conflict with Qt4.
5 years ago

I think this should be ready now. The only question is whether we should stop setting a default backend in the config? Matplotlib can now automatically pick the best available backend (and our default backend is hard-required, so it wouldn't be missing.) This would also provide automatic fallback to Agg when on a headless machine.

It would be nice if this went in F29 as well, since it's not released yet, but someone will have to build the python2-matplotlib package.

I can create python2-matplotlib, but would orphan it immediately after.

I think this should be ready now. The only question is whether we should stop setting a default backend in the config? Matplotlib can now automatically pick the best available backend (and our default backend is hard-required, so it wouldn't be missing.) This would also provide automatic fallback to Agg when on a headless machine.

I think the answer is yes. Less patching or overriding upstream defaults is always better if we can achieve our desired default configuration just by requiring the appropriate package. Automatic fallback is a very welcome thing, too.

Can the python-matplotlib-data* subpackages be renamed to python3-matplotlib-data*?

2 new commits added

  • Update changelog.
  • Stop setting a default backend.
5 years ago

14 new commits added

  • Rename *data packages to avoid conflict with python2.
  • Update changelog.
  • Stop setting a default backend.
  • Remove unnecessary dependencies.
  • Run Qt5 tests separately to not conflict with Qt4.
  • Add patch to fix Qt4 backends.
  • Stop setting explicit backend during testing.
  • Update to final 3.0.0.
  • Update to 3.0.0rc2.
  • Update backend package splits.
  • Remove old Fedora FreeType support.
  • Update to 3.0.0rc1.
  • Add explicit gcc/gcc-c++ BR.
  • Remove Python 2 subpackages.
5 years ago

OK, I did both things; no more default backend and the data packages are python3-* now.

Can you check if this is co-installable with the py2 matplotlib form #10? (I cannot do it ATM, I'm connected trough a crappy train WiFi.)

Also, see the font licenses commit from #10. It should be relevant for python3-matplotlib as well.

1 new commit added

  • Add correct license for bundled fonts.
5 years ago

I tested it out and it should be co-installable with the Python2-only build. I also updated the license for the fonts.

Pull-Request has been merged by churchyard

5 years ago