public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2015-10-21 13:41 Justin Lecher
  0 siblings, 0 replies; 21+ messages in thread
From: Justin Lecher @ 2015-10-21 13:41 UTC (permalink / raw
  To: gentoo-commits

commit:     e87319182c93cb6b8052275993e6a67cac9bc224
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 21 10:00:30 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Wed Oct 21 13:40:24 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8731918

dev-python/matplotlib: Backported test fix

Package-Manager: portage-2.2.23
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 .../matplotlib-1.4.3-backport-GH5291-2462.patch    | 126 +++++++++++++++++++++
 dev-python/matplotlib/matplotlib-1.4.3.ebuild      |   4 +
 dev-python/matplotlib/matplotlib-9999.ebuild       |   1 +
 3 files changed, 131 insertions(+)

diff --git a/dev-python/matplotlib/files/matplotlib-1.4.3-backport-GH5291-2462.patch b/dev-python/matplotlib/files/matplotlib-1.4.3-backport-GH5291-2462.patch
new file mode 100644
index 0000000..d6b2ae8
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.4.3-backport-GH5291-2462.patch
@@ -0,0 +1,126 @@
+commit f98c4846dc3c15b3d24aafb973764cb9b860d935
+Author: Thomas A Caswell <tcaswell@gmail.com>
+Date:   Sat Jan 10 16:10:29 2015 -0500
+
+    MNT : removed deprecated method/kwargs from patheffects
+    
+    Deprecated in #2462 / 84e0063bd37c629f129d36c548e8ce3a30692cae
+    
+    attn @pelson had to known-fail a test which was using the
+    proxy renderer to verify that PathEffectRender was working
+    correctly.
+
+diff --git a/lib/matplotlib/patheffects.py b/lib/matplotlib/patheffects.py
+index 13f8ce0..19e1c4a 100644
+--- a/lib/matplotlib/patheffects.py
++++ b/lib/matplotlib/patheffects.py
+@@ -10,9 +10,7 @@ from __future__ import (absolute_import, division, print_function,
+ import six
+ 
+ from matplotlib.backend_bases import RendererBase
+-from matplotlib.backends.backend_mixed import MixedModeRenderer
+ import matplotlib.transforms as mtransforms
+-import matplotlib.cbook as cbook
+ from matplotlib.colors import colorConverter
+ import matplotlib.patches as mpatches
+ 
+@@ -42,12 +40,6 @@ class AbstractPathEffect(object):
+         return transform + self._offset_trans.clear().translate(offset_x,
+                                                                 offset_y)
+ 
+-    def get_proxy_renderer(self, renderer):
+-        """Return a PathEffectRenderer instance for this PathEffect."""
+-        cbook.deprecated('v1.4', name='get_proxy_renderer',
+-                         alternative='PathEffectRenderer')
+-        return PathEffectRenderer([self], renderer)
+-
+     def _update_gc(self, gc, new_gc_dict):
+         """
+         Update the given GraphicsCollection with the given
+@@ -219,9 +211,9 @@ class withStroke(Stroke):
+ 
+ class SimplePatchShadow(AbstractPathEffect):
+     """A simple shadow via a filled patch."""
+-    def __init__(self, offset=(2,-2),
+-                 shadow_rgbFace=None, alpha=None, patch_alpha=None,
+-                 rho=0.3, offset_xy=None, **kwargs):
++    def __init__(self, offset=(2, -2),
++                 shadow_rgbFace=None, alpha=None,
++                 rho=0.3, **kwargs):
+         """
+         Parameters
+         ----------
+@@ -241,24 +233,12 @@ class SimplePatchShadow(AbstractPathEffect):
+             :meth:`AbstractPathEffect._update_gc`.
+ 
+         """
+-        if offset_xy is not None:
+-            cbook.deprecated('v1.4', 'The offset_xy keyword is deprecated. '
+-                             'Use the offset keyword instead.')
+-            offset = offset_xy
+         super(SimplePatchShadow, self).__init__(offset)
+ 
+         if shadow_rgbFace is None:
+             self._shadow_rgbFace = shadow_rgbFace
+         else:
+             self._shadow_rgbFace = colorConverter.to_rgba(shadow_rgbFace)
+-        if patch_alpha is not None:
+-            cbook.deprecated('v1.4', 'The patch_alpha keyword is deprecated. '
+-                             'Use the alpha keyword instead. Transform your '
+-                             'patch_alpha by alpha = 1 - patch_alpha')
+-            if alpha is not None:
+-                raise ValueError("Both alpha and patch_alpha were set. "
+-                                 "Just use alpha.")
+-            alpha = 1 - patch_alpha
+ 
+         if alpha is None:
+             alpha = 0.3
+diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py
+index 8298ceb..5af71e5 100644
+--- a/lib/matplotlib/tests/test_patheffects.py
++++ b/lib/matplotlib/tests/test_patheffects.py
+@@ -5,7 +5,8 @@ import six
+ 
+ import numpy as np
+ 
+-from matplotlib.testing.decorators import image_comparison, cleanup
++from matplotlib.testing.decorators import (image_comparison, cleanup,
++                                           knownfailureif)
+ import matplotlib.pyplot as plt
+ import matplotlib.patheffects as path_effects
+ 
+@@ -84,19 +85,7 @@ def test_patheffect3():
+ 
+ 
+ @cleanup
+-def test_PathEffect_get_proxy():
+-    pe = path_effects.AbstractPathEffect()
+-    fig = plt.gcf()
+-    renderer = fig.canvas.get_renderer()
+-
+-    with mock.patch('matplotlib.cbook.deprecated') as dep:
+-        proxy_renderer = pe.get_proxy_renderer(renderer)
+-    assert_equal(proxy_renderer._renderer, renderer)
+-    assert_equal(proxy_renderer._path_effects, [pe])
+-    dep.assert_called()
+-
+-
+-@cleanup
++@knownfailureif(True)
+ def test_PathEffect_points_to_pixels():
+     fig = plt.figure(dpi=150)
+     p1, = plt.plot(range(10))
+@@ -116,11 +105,9 @@ def test_PathEffect_points_to_pixels():
+                  pe_renderer.points_to_pixels(15))
+ 
+ 
+-def test_SimplePatchShadow_offset_xy():
+-    with mock.patch('matplotlib.cbook.deprecated') as dep:
+-        pe = path_effects.SimplePatchShadow(offset_xy=(4, 5))
++def test_SimplePatchShadow_offset():
++    pe = path_effects.SimplePatchShadow(offset=(4, 5))
+     assert_equal(pe._offset, (4, 5))
+-    dep.assert_called()
+ 
+ 
+ @image_comparison(baseline_images=['collection'])

diff --git a/dev-python/matplotlib/matplotlib-1.4.3.ebuild b/dev-python/matplotlib/matplotlib-1.4.3.ebuild
index 78303eb..bf6eb50 100644
--- a/dev-python/matplotlib/matplotlib-1.4.3.ebuild
+++ b/dev-python/matplotlib/matplotlib-1.4.3.ebuild
@@ -126,6 +126,10 @@ use_setup() {
 	fi
 }
 
+PATCHES=(
+	"${FILESDIR}"/${P}-backport-GH5291-2462.patch
+)
+
 python_prepare_all() {
 # Generates test failures, but fedora does it
 #	local PATCHES=(

diff --git a/dev-python/matplotlib/matplotlib-9999.ebuild b/dev-python/matplotlib/matplotlib-9999.ebuild
index 7fd7da9..64665e7 100644
--- a/dev-python/matplotlib/matplotlib-9999.ebuild
+++ b/dev-python/matplotlib/matplotlib-9999.ebuild
@@ -39,6 +39,7 @@ REQUIRED_USE="
 # #456704 -- a lot of py2-only deps
 PY2_USEDEP=$(python_gen_usedep python2_7)
 COMMON_DEPEND="
+	dev-python/cycler[${PYTHON_USEDEP}]
 	>=dev-python/numpy-1.6[${PYTHON_USEDEP}]
 	dev-python/python-dateutil:0[${PYTHON_USEDEP}]
 	dev-python/pytz[${PYTHON_USEDEP}]


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2016-01-15  9:50 Justin Lecher
  0 siblings, 0 replies; 21+ messages in thread
From: Justin Lecher @ 2016-01-15  9:50 UTC (permalink / raw
  To: gentoo-commits

commit:     f14b48b11ac6a9af9ce16712f165aab754436282
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 15 09:25:01 2016 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Fri Jan 15 09:50:34 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f14b48b1

dev-python/matplotlib: Backport test fix and skip next one

Package-Manager: portage-2.2.26
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 .../files/matplotlib-1.5.1-test-fix-backport.patch | 115 +++++++++++++++++++++
 dev-python/matplotlib/matplotlib-1.5.1.ebuild      |   8 +-
 2 files changed, 120 insertions(+), 3 deletions(-)

diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch
new file mode 100644
index 0000000..d031e5a
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch
@@ -0,0 +1,115 @@
+From 72cf5b80537157decc741d81db550e6cf82648f6 Mon Sep 17 00:00:00 2001
+From: Michael Droettboom <mdboom@gmail.com>
+Date: Mon, 11 Jan 2016 16:48:04 -0500
+Subject: [PATCH] Fix #5829.  Update the baseline image.
+
+---
+ .../baseline_images/test_image/rasterize_10dpi.svg | 56 ++++++++++------------
+ 1 file changed, 26 insertions(+), 30 deletions(-)
+
+diff --git a/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg b/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
+index 47e354d..1f73c8f 100644
+--- a/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
++++ b/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
+@@ -5,31 +5,29 @@
+ <svg height="72pt" version="1.1" viewBox="0 0 216 72" width="216pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+   <style type="text/css">
+-*{stroke-linecap:butt;stroke-linejoin:round;}
++*{stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:100000;}
+   </style>
+  </defs>
+  <g id="figure_1">
+   <g id="patch_1">
+-   <path d="
+-M0 72
+-L216 72
+-L216 0
+-L0 0
++   <path d="M 0 72 
++L 216 72 
++L 216 0 
++L 0 0 
+ z
+ " style="fill:#ffffff;"/>
+   </g>
+   <g id="axes_1">
+    <g id="patch_2">
+-    <path d="
+-M27 60.6176
+-L76.2353 60.6176
+-L76.2353 11.3824
+-L27 11.3824
++    <path d="M 27 60.617647 
++L 76.235294 60.617647 
++L 76.235294 11.382353 
++L 27 11.382353 
+ z
+ " style="fill:#ffffff;"/>
+    </g>
+-   <g clip-path="url(#pc31db6f15f)">
+-    <image height="50.4" id="image2c20c31ecf" width="57.6" x="27.0" xlink:href="data:image/png;base64,
++   <g clip-path="url(#p306f09a014)">
++    <image height="50.4" id="image207c5863ce" width="57.6" x="27.0" xlink:href="data:image/png;base64,
+ iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAABHNCSVQICAgIfAhkiAAAAIVJREFUCJmFzjkKwlAAhOEvKi5FMLU2HkEQwdbSU3knL+EBLMUFQayCUaMYF55FQEsH/mYYZiZiGkA3Ydj70UlAxR/Vhv09eLfPivipuOUe69QrjcvAZLwE99CShYPsnMgWiSI0QTSfdQNcjjWHTeNLnlXLhtGgnDju2KbEV+orTqX9/+QHCXAwPEkx7O0AAAAASUVORK5CYII=" y="10.2176470588"/>
+    </g>
+    <g id="matplotlib.axis_1"/>
+@@ -37,43 +35,41 @@ iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAABHNCSVQICAgIfAhkiAAAAIVJREFUCJmF
+   </g>
+   <g id="axes_2">
+    <g id="patch_3">
+-    <path d="
+-M86.0824 64.8
+-L135.318 64.8
+-L135.318 7.2
+-L86.0824 7.2
++    <path d="M 86.082353 64.8 
++L 135.317647 64.8 
++L 135.317647 7.2 
++L 86.082353 7.2 
+ z
+ " style="fill:#ffffff;"/>
+    </g>
+-   <image height="64.8" id="image1d9f73e233" width="136.8" x="79.2" xlink:href="data:image/png;base64,
+-iVBORw0KGgoAAAANSUhEUgAAABMAAAAJCAYAAADQHRcxAAAABHNCSVQICAgIfAhkiAAAAHNJREFUKJG10kENwlAQBuH5OVQBImoBAzVQA1hABxoQUAUYqIWaqIRepqdHmoaE9AGbzGU3+U4blV/N6d0yoUnoE56HNPUV2IJ3cAYF3d4/VZArOBZgWw22RxZwALtvsAm8gecjyB57gBcwNUgpf3+N2lkBB3gBDVzLDTYAAAAASUVORK5CYII=" y="7.2"/>
++   <image height="43.2" id="image2e9ed63e7b" width="50.4" x="86.39999999999999" xlink:href="data:image/png;base64,
++iVBORw0KGgoAAAANSUhEUgAAAAcAAAAGCAYAAAAPDoR2AAAABHNCSVQICAgIfAhkiAAAAFVJREFUCJllzjEVwlAAxdDbBQUVgQUMYAADWKgONCAABRjAQk0ggSUdGPoPDFnyhjyVETrQhZ6jPNKN3tQXXem1i5F/+aEHncdxpYXmPaU7nWj6PbcBc+lWnSEOzhQAAAAASUVORK5CYII=" y="14.4"/>
+    <g id="matplotlib.axis_3"/>
+    <g id="matplotlib.axis_4"/>
+   </g>
+   <g id="axes_3">
+    <g id="patch_4">
+-    <path d="
+-M145.165 64.8
+-L194.4 64.8
+-L194.4 7.2
+-L145.165 7.2
++    <path d="M 145.164706 64.8 
++L 194.4 64.8 
++L 194.4 7.2 
++L 145.164706 7.2 
+ z
+ " style="fill:#ffffff;"/>
+    </g>
+    <g id="line2d_1">
+-    <path clip-path="url(#p19b1e86336)" d="
+-M145.165 45.6
+-L194.4 26.4" style="fill:none;stroke:#0000ff;stroke-linecap:square;stroke-width:20.0;"/>
++    <path clip-path="url(#pef029be595)" d="M 145.164706 45.6 
++L 194.4 26.4 
++" style="fill:none;stroke:#0000ff;stroke-linecap:square;stroke-width:20.0;"/>
+    </g>
+    <g id="matplotlib.axis_5"/>
+    <g id="matplotlib.axis_6"/>
+   </g>
+  </g>
+  <defs>
+-  <clipPath id="p19b1e86336">
++  <clipPath id="pef029be595">
+    <rect height="57.6" width="49.2352941176" x="145.164705882" y="7.2"/>
+   </clipPath>
+-  <clipPath id="pc31db6f15f">
++  <clipPath id="p306f09a014">
+    <rect height="49.2352941176" width="49.2352941176" x="27.0" y="11.3823529412"/>
+   </clipPath>
+  </defs>

diff --git a/dev-python/matplotlib/matplotlib-1.5.1.ebuild b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
index 053e68d..9fabf36 100644
--- a/dev-python/matplotlib/matplotlib-1.5.1.ebuild
+++ b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
@@ -110,6 +110,8 @@ RDEPEND="${COMMON_DEPEND}
 # Other than that, the ebuild shall be fit for out-of-source build.
 DISTUTILS_IN_SOURCE_BUILD=1
 
+PATCHES=( "${FILESDIR}"/${P}-test-fix-backport.patch )
+
 pkg_setup() {
 	unset DISPLAY # bug #278524
 	use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
@@ -154,10 +156,10 @@ python_prepare_all() {
 		-e "s:/usr/:${EPREFIX}/usr/:g" \
 		-i setupext.py || die
 
-	# https://github.com/matplotlib/matplotlib/issues/5829
+	# https://github.com/matplotlib/matplotlib/issues/5857
 	sed \
-		-e '/rasterize_10dpi/s:5e-2:10:g' \
-		-i lib/matplotlib/tests/test_image.py || die
+		-e 's:test_pep8_conformance_examples:_&:g' \
+		-i lib/matplotlib/tests/test_coding_standards.py || die
 
 	export XDG_RUNTIME_DIR="${T}/runtime-dir"
 	mkdir "${XDG_RUNTIME_DIR}" || die


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2016-01-15 12:32 Justin Lecher
  0 siblings, 0 replies; 21+ messages in thread
From: Justin Lecher @ 2016-01-15 12:32 UTC (permalink / raw
  To: gentoo-commits

commit:     0842291d0ea6a9c62513692c7320f0ef85e167f5
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 15 12:31:54 2016 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Fri Jan 15 12:32:09 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0842291d

dev-python/matplotlib: Backport test fix

Package-Manager: portage-2.2.26
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 .../matplotlib-1.5.1-test-fix-backport-2.patch     | 22 ++++++++++++++++++++++
 dev-python/matplotlib/matplotlib-1.5.1.ebuild      | 10 ++++------
 2 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch
new file mode 100644
index 0000000..c850d09
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch
@@ -0,0 +1,22 @@
+From c28e1b0aebe19b7db292eb7c1b6deba8af6754e0 Mon Sep 17 00:00:00 2001
+From: Jens Hedegaard Nielsen <jens.nielsen@ucl.ac.uk>
+Date: Wed, 13 Jan 2016 13:48:06 +0000
+Subject: [PATCH] Fix new pep8 issue in legend_demo5
+
+---
+ examples/pylab_examples/legend_demo5.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/examples/pylab_examples/legend_demo5.py b/examples/pylab_examples/legend_demo5.py
+index 699babe..5668966 100644
+--- a/examples/pylab_examples/legend_demo5.py
++++ b/examples/pylab_examples/legend_demo5.py
+@@ -41,7 +41,7 @@ def create_artists(self, legend, orig_handle,
+                 lw = orig_handle.get_linewidths()[i]
+             except IndexError:
+                 lw = orig_handle.get_linewidths()[0]
+-            if dashes[0] != None:
++            if dashes[0] is not None:
+                 legline.set_dashes(dashes[1])
+             legline.set_color(color)
+             legline.set_transform(trans)

diff --git a/dev-python/matplotlib/matplotlib-1.5.1.ebuild b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
index 9fabf36..410effc 100644
--- a/dev-python/matplotlib/matplotlib-1.5.1.ebuild
+++ b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
@@ -110,7 +110,10 @@ RDEPEND="${COMMON_DEPEND}
 # Other than that, the ebuild shall be fit for out-of-source build.
 DISTUTILS_IN_SOURCE_BUILD=1
 
-PATCHES=( "${FILESDIR}"/${P}-test-fix-backport.patch )
+PATCHES=(
+	"${FILESDIR}"/${P}-test-fix-backport.patch
+	"${FILESDIR}"/${P}-test-fix-backport-2.patch
+	)
 
 pkg_setup() {
 	unset DISPLAY # bug #278524
@@ -156,11 +159,6 @@ python_prepare_all() {
 		-e "s:/usr/:${EPREFIX}/usr/:g" \
 		-i setupext.py || die
 
-	# https://github.com/matplotlib/matplotlib/issues/5857
-	sed \
-		-e 's:test_pep8_conformance_examples:_&:g' \
-		-i lib/matplotlib/tests/test_coding_standards.py || die
-
 	export XDG_RUNTIME_DIR="${T}/runtime-dir"
 	mkdir "${XDG_RUNTIME_DIR}" || die
 	chmod 0700 "${XDG_RUNTIME_DIR}" || die


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2016-01-25  8:31 Justin Lecher
  0 siblings, 0 replies; 21+ messages in thread
From: Justin Lecher @ 2016-01-25  8:31 UTC (permalink / raw
  To: gentoo-commits

commit:     e76eb6f17968c523b546fc42d2f50e6e4102ca53
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 25 07:46:49 2016 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Mon Jan 25 07:46:49 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e76eb6f1

dev-python/matplotlib: Backport patch for problems with sphinx-1.3.4

Package-Manager: portage-2.2.27
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 .../matplotlib-1.5.1-sphinx-1.4.3-backport.patch   | 58 ++++++++++++++++++++++
 dev-python/matplotlib/matplotlib-1.5.1.ebuild      |  2 +-
 2 files changed, 59 insertions(+), 1 deletion(-)

diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch
new file mode 100644
index 0000000..19c111d
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch
@@ -0,0 +1,58 @@
+From b7dfa4fa7a69d091dac0ead295d28422c4e33b45 Mon Sep 17 00:00:00 2001
+From: Thomas A Caswell <tcaswell@gmail.com>
+Date: Sun, 24 Jan 2016 13:05:18 -0500
+Subject: [PATCH] Merge pull request #5872 from jenshnielsen/sphinx134
+
+DOC: Fix issue with Sphinx 1.3.4
+
+Discarded changes to .travis.yml from #5872
+---
+ lib/matplotlib/dviread.py |  2 +-
+ lib/matplotlib/patches.py | 18 ++++++++++++------
+ 2 files changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py
+index db6e976..1141f6a 100644
+--- a/lib/matplotlib/dviread.py
++++ b/lib/matplotlib/dviread.py
+@@ -841,7 +841,7 @@ def find_tex_file(filename, format=None):
+     """
+     Call :program:`kpsewhich` to find a file in the texmf tree. If
+     *format* is not None, it is used as the value for the
+-    :option:`--format` option.
++    `--format` option.
+ 
+     Apparently most existing TeX distributions on Unix-like systems
+     use kpathsea. I hear MikTeX (a popular distribution on Windows)
+diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py
+index b8b7363..917eca7 100644
+--- a/lib/matplotlib/patches.py
++++ b/lib/matplotlib/patches.py
+@@ -2992,15 +2992,21 @@ class Bar(_Base):
+ 
+         def __init__(self, armA=0., armB=0., fraction=0.3, angle=None):
+             """
+-            *armA* : minimum length of armA
++            Parameters
++            ----------
++            armA : float
++                minimum length of armA
+ 
+-            *armB* : minimum length of armB
++            armB : float
++                minimum length of armB
+ 
+-            *fraction* : a fraction of the distance between two points that
+-                         will be added to armA and armB.
++            fraction : float
++                a fraction of the distance between two points that
++                will be added to armA and armB.
+ 
+-            *angle* : angle of the connecting line (if None, parallel to A
+-                      and B)
++            angle : float or None
++                angle of the connecting line (if None, parallel
++                to A and B)
+             """
+             self.armA = armA
+             self.armB = armB

diff --git a/dev-python/matplotlib/matplotlib-1.5.1.ebuild b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
index 904233a..3635965 100644
--- a/dev-python/matplotlib/matplotlib-1.5.1.ebuild
+++ b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
@@ -74,7 +74,6 @@ DEPEND="${COMMON_DEPEND}
 		dev-python/mock[${PY2_USEDEP}]
 		dev-python/numpydoc[${PYTHON_USEDEP}]
 		dev-python/sphinx[${PYTHON_USEDEP}]
-		!~dev-python/sphinx-1.3.4
 		dev-python/xlwt[${PYTHON_USEDEP}]
 		dev-texlive/texlive-latexextra
 		dev-texlive/texlive-fontsrecommended
@@ -112,6 +111,7 @@ RDEPEND="${COMMON_DEPEND}
 DISTUTILS_IN_SOURCE_BUILD=1
 
 PATCHES=(
+	"${FILESDIR}"/${P}-sphinx-1.4.3-backport.patch
 	"${FILESDIR}"/${P}-test-fix-backport.patch
 	"${FILESDIR}"/${P}-test-fix-backport-2.patch
 	)


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2016-09-11  8:56 David Seifert
  0 siblings, 0 replies; 21+ messages in thread
From: David Seifert @ 2016-09-11  8:56 UTC (permalink / raw
  To: gentoo-commits

commit:     dd36b6b07773e6c5fea7000c6ae288795787f6ea
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 10 21:13:40 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Sep 11 08:47:52 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd36b6b0

dev-python/matplotlib: Version bump to 1.5.3

Gentoo-bug: 590396
* EAPI=6

Package-Manager: portage-2.3.0

 dev-python/matplotlib/Manifest                     |   1 +
 ...atplotlib-1.5.3-freetype-spurious-failure.patch |  26 ++
 dev-python/matplotlib/matplotlib-1.5.3.ebuild      | 269 +++++++++++++++++++++
 3 files changed, 296 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index b2f8629..ac1be13 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,3 +1,4 @@
 DIST matplotlib-1.4.3.tar.gz 49933525 SHA256 5b9544472d9d6ab3d47423bdb5a0e64fdf913e505c1c083f25283dd0362bc0b6 SHA512 51b0f58b2618b47b653e17e4f6b6a1215d3a3b0f1331ce3555cc7435e365d9c75693f289ce12fe3bf8f69fd57b663e545f0f1c2c94e81eaa661cac0689e125f5 WHIRLPOOL 160ca48ecb44db58f1c56bd6e89592c5d1badd8e434fc25d32aa6d4d7a346ae7c7444d1c8e0c2ca2bf5c3246fd56cd93856ec7b1e3e51f5e471b9b55a0f2c1ad
 DIST matplotlib-1.5.0.tar.gz 53962448 SHA256 67b08b1650a00a6317d94b76a30a47320087e5244920604c5462188cba0c2646 SHA512 559a3ef031ca65b431157f0dd50f7d81f2d854f92150ee2b9de5e44b31d49615bfdc049a682667bc2e1399b8cd724dfcefec8f4de7e92848fe5756f93ddef5fa WHIRLPOOL b30a7299dd0690cd0355883cbe7d335d76314bab85f5b67b326b0e600b479db3cd5e7f48e9e68d3604832e9605f5025c70ff0006b1980b945aeaf22f78e3469f
 DIST matplotlib-1.5.1.tar.gz 54031672 SHA256 3ab8d968eac602145642d0db63dd8d67c85e9a5444ce0e2ecb2a8fedc7224d40 SHA512 a0e78b5027a3a49cf8e77dc0d26f5f380dcd80f7b309b6121199acd5e1d94f48482864a9eee3bd397f7ac6f07fe1d3c21bf517217df3c72e8e3d105b7c2ae58e WHIRLPOOL 5d56b1e17542d01ea58cbe6a085fae930dd71dac793260fd418633d1364ab7822d5a0ef16041260637f2472b1d9276c002f84603ab655573b7d8058d959475cd
+DIST matplotlib-1.5.3.tar.gz 51606089 SHA256 a0a5dc39f785014f2088fed2c6d2d129f0444f71afbb9c44f7bdf1b14d86ebbc SHA512 553be9f661a1923d8ec7504a11dd3317e5ffb429c19339c58047715f4c28358d6d2ac38d46bd27ecd1dcf7159f157aab80d90713fbc4071e2e395bbf11ee6385 WHIRLPOOL 7e2b0472bb7d913e78260da95c93c3243562e76352790318286e5d194f88ac05a9f51fa029a7b0ad17bbbbd0dc9658769fe6301b544ec03f1ab5c205835ea894

diff --git a/dev-python/matplotlib/files/matplotlib-1.5.3-freetype-spurious-failure.patch b/dev-python/matplotlib/files/matplotlib-1.5.3-freetype-spurious-failure.patch
new file mode 100644
index 00000000..bc6891a
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.5.3-freetype-spurious-failure.patch
@@ -0,0 +1,26 @@
+Increase the tolerance margin in order to pass tests caused by
+freetype producing unreproducible images across different versions.
+See also: https://github.com/matplotlib/matplotlib/issues/2667
+
+--- a/lib/matplotlib/tests/test_mathtext.py
++++ b/lib/matplotlib/tests/test_mathtext.py
+@@ -158,7 +158,7 @@
+ def make_set(basename, fontset, tests, extensions=None):
+     def make_test(filename, test):
+         @image_comparison(baseline_images=[filename], extensions=extensions,
+-                          tol=32)
++                          tol=40)
+         def single_test():
+             matplotlib.rcParams['mathtext.fontset'] = fontset
+             fig = plt.figure(figsize=(5.25, 0.75))
+--- a/lib/matplotlib/tests/test_text.py
++++ b/lib/matplotlib/tests/test_text.py
+@@ -18,7 +18,7 @@
+ from matplotlib.backends.backend_agg import RendererAgg
+ 
+ 
+-@image_comparison(baseline_images=['font_styles'])
++@image_comparison(baseline_images=['font_styles'], tol=20)
+ def test_font_styles():
+     from matplotlib import _get_data_path
+     data_path = _get_data_path()

diff --git a/dev-python/matplotlib/matplotlib-1.5.3.ebuild b/dev-python/matplotlib/matplotlib-1.5.3.ebuild
new file mode 100644
index 00000000..2afda5b
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-1.5.3.ebuild
@@ -0,0 +1,269 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{3,4,5} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 eutils flag-o-matic multiprocessing virtualx toolchain-funcs
+
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="http://matplotlib.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="cairo doc excel examples fltk gtk2 gtk3 latex pyside qt4 qt5 test tk wxwidgets"
+
+PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
+REQUIRED_USE="
+	doc? ( ${PY2_FLAGS} )
+	excel? ( ${PY2_FLAGS} )
+	fltk? ( ${PY2_FLAGS} )
+	gtk2? ( ${PY2_FLAGS} )
+	wxwidgets? ( ${PY2_FLAGS} )
+	test? (
+		cairo fltk latex pyside qt5 qt4 tk wxwidgets
+		|| ( gtk2 gtk3 )
+		)"
+
+# #456704 -- a lot of py2-only deps
+PY2_USEDEP=$(python_gen_usedep python2_7)
+COMMON_DEPEND="
+	dev-python/cycler[${PYTHON_USEDEP}]
+	>=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+	dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+	dev-python/pytz[${PYTHON_USEDEP}]
+	>=dev-python/six-1.4[${PYTHON_USEDEP}]
+	media-fonts/stix-fonts
+	media-libs/freetype:2
+	media-libs/libpng:0
+	media-libs/qhull
+	cairo? (
+		|| (
+			dev-python/pycairo[${PYTHON_USEDEP}]
+			dev-python/cairocffi[${PYTHON_USEDEP}]
+			)
+		)
+	gtk2? (
+		dev-libs/glib:2=
+		x11-libs/gdk-pixbuf
+		x11-libs/gtk+:2
+		dev-python/pygtk[${PY2_USEDEP}] )
+	wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
+
+# internal copy of pycxx highly patched
+#	dev-python/pycxx
+
+DEPEND="${COMMON_DEPEND}
+	dev-python/versioneer[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	virtual/pkgconfig
+	doc? (
+		app-text/dvipng
+		dev-python/pillow[${PYTHON_USEDEP}]
+		dev-python/ipython[${PYTHON_USEDEP}]
+		dev-python/mock[${PY2_USEDEP}]
+		dev-python/numpydoc[${PYTHON_USEDEP}]
+		dev-python/sphinx[${PYTHON_USEDEP}]
+		dev-python/xlwt[${PYTHON_USEDEP}]
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexrecommended
+		media-gfx/graphviz[cairo]
+	)
+	test? (
+		dev-python/mock[${PYTHON_USEDEP}]
+		>=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
+		)"
+
+RDEPEND="${COMMON_DEPEND}
+	>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
+	excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
+	fltk? ( dev-python/pyfltk[${PYTHON_USEDEP}] )
+	gtk3? (
+		dev-python/pygobject:3[${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection] )
+	latex? (
+		virtual/latex-base
+		app-text/ghostscript-gpl
+		app-text/dvipng
+		app-text/poppler[utils]
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-xetex
+	)
+	pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
+	qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )
+	qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
+	"
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}/${PN}-1.5.3-freetype-spurious-failure.patch" )
+
+pkg_setup() {
+	unset DISPLAY # bug #278524
+	use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
+}
+
+use_setup() {
+	local uword="${2:-${1}}"
+	if use ${1}; then
+		echo "${uword} = True"
+		echo "${uword}agg = True"
+	else
+		echo "${uword} = False"
+		echo "${uword}agg = False"
+	fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+#	local PATCHES=(
+#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
+#		"${FILESDIR}"/${P}-unbundle-agg.patch
+#	)
+#	rm -r agg24 CXX || die
+#	rm -r agg24 || die
+
+#	cat > lib/${PN}/externals/six.py <<-EOF
+#	from __future__ import absolute_import
+#	from six import *
+#	EOF
+
+	sed \
+		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+		|| die "sed pyparsing failed"
+
+	# suggested by upstream
+#	sed \
+#		-e '/tol/s:32:35:g' \
+#		-i lib/matplotlib/tests/test_mathtext.py || die
+
+	sed \
+		-e "s:/usr/:${EPREFIX}/usr/:g" \
+		-i setupext.py || die
+
+	export XDG_RUNTIME_DIR="${T}/runtime-dir"
+	mkdir "${XDG_RUNTIME_DIR}" || die
+	chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+	append-flags -fno-strict-aliasing
+	append-cppflags -DNDEBUG  # or get old trying to do triangulation
+	tc-export PKG_CONFIG
+}
+
+python_configure() {
+	mkdir -p "${BUILD_DIR}" || die
+
+	# create setup.cfg (see setup.cfg.template for any changes).
+
+	# common switches.
+	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+		[directories]
+		basedirlist = "${EPREFIX}/usr"
+		[provide_packages]
+		pytz = False
+		dateutil = False
+		[gui_support]
+		agg = True
+		$(use_setup cairo)
+		$(use_setup pyside)
+		$(use_setup qt4)
+		$(use_setup qt5)
+		$(use_setup tk)
+	EOF
+
+	if use gtk3 && use cairo; then
+		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+	else
+		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+	fi
+
+	if $(python_is_python3); then
+		cat >> "${BUILD_DIR}"/setup.cfg <<- EOF || die
+			six = True
+			fltk = False
+			fltkagg = False
+			gtk = False
+			gtkagg = False
+			wx = False
+			wxagg = False
+		EOF
+	else
+		cat >> "${BUILD_DIR}"/setup.cfg <<-EOF || die
+			six = False
+			$(use_setup fltk)
+			$(use_setup gtk2 gtk)
+			$(use_setup gtk3)
+			$(use_setup wxwidgets wx)
+		EOF
+	fi
+}
+
+wrap_setup() {
+	local MPLSETUPCFG=${BUILD_DIR}/setup.cfg
+	export MPLSETUPCFG
+	unset DISPLAY
+
+	# Note: remove build... if switching to out-of-source build
+	"${@}" build --build-lib="${BUILD_DIR}"/build/lib
+}
+
+python_compile() {
+	wrap_setup distutils-r1_python_compile
+}
+
+python_compile_all() {
+	if use doc; then
+		cd doc || die
+
+		# necessary for in-source build
+		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+		VARTEXFONTS="${T}"/fonts \
+		"${EPYTHON}" ./make.py --small html || die
+	fi
+}
+
+python_test() {
+	wrap_setup distutils_install_for_testing
+
+#	virtx ${EPYTHON} tests.py \
+#		--no-pep8 \
+#		--no-network \
+#		--verbose \
+#		--processes=$(makeopts_jobs)
+
+	virtx "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)"
+}
+
+python_install() {
+	wrap_setup distutils-r1_python_install
+}
+
+python_install_all() {
+	use doc && local HTML_DOCS=( doc/build/html/. )
+
+	distutils-r1_python_install_all
+
+	if use examples; then
+		dodoc -r examples
+		docompress -x /usr/share/doc/${PF}/examples
+	fi
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2017-05-03  7:37 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2017-05-03  7:37 UTC (permalink / raw
  To: gentoo-commits

commit:     aacf1c95aced54e84cf6243b494a429efad319d6
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May  3 06:42:33 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May  3 07:37:35 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aacf1c95

dev-python/matplotlib: Clean old versions up

 dev-python/matplotlib/Manifest                     |   2 -
 .../files/matplotlib-1.3.1-unbundle-agg.patch      |  26 --
 .../files/matplotlib-1.3.1-unbundle-pycxx.patch    |  22 --
 .../matplotlib-1.5.1-sphinx-1.4.3-backport.patch   |  58 -----
 .../matplotlib-1.5.1-test-fix-backport-2.patch     |  22 --
 .../files/matplotlib-1.5.1-test-fix-backport.patch | 115 ---------
 dev-python/matplotlib/matplotlib-1.5.0.ebuild      | 266 --------------------
 dev-python/matplotlib/matplotlib-1.5.1.ebuild      | 273 ---------------------
 8 files changed, 784 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index ac1be133fae..fde7fcea976 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,4 +1,2 @@
 DIST matplotlib-1.4.3.tar.gz 49933525 SHA256 5b9544472d9d6ab3d47423bdb5a0e64fdf913e505c1c083f25283dd0362bc0b6 SHA512 51b0f58b2618b47b653e17e4f6b6a1215d3a3b0f1331ce3555cc7435e365d9c75693f289ce12fe3bf8f69fd57b663e545f0f1c2c94e81eaa661cac0689e125f5 WHIRLPOOL 160ca48ecb44db58f1c56bd6e89592c5d1badd8e434fc25d32aa6d4d7a346ae7c7444d1c8e0c2ca2bf5c3246fd56cd93856ec7b1e3e51f5e471b9b55a0f2c1ad
-DIST matplotlib-1.5.0.tar.gz 53962448 SHA256 67b08b1650a00a6317d94b76a30a47320087e5244920604c5462188cba0c2646 SHA512 559a3ef031ca65b431157f0dd50f7d81f2d854f92150ee2b9de5e44b31d49615bfdc049a682667bc2e1399b8cd724dfcefec8f4de7e92848fe5756f93ddef5fa WHIRLPOOL b30a7299dd0690cd0355883cbe7d335d76314bab85f5b67b326b0e600b479db3cd5e7f48e9e68d3604832e9605f5025c70ff0006b1980b945aeaf22f78e3469f
-DIST matplotlib-1.5.1.tar.gz 54031672 SHA256 3ab8d968eac602145642d0db63dd8d67c85e9a5444ce0e2ecb2a8fedc7224d40 SHA512 a0e78b5027a3a49cf8e77dc0d26f5f380dcd80f7b309b6121199acd5e1d94f48482864a9eee3bd397f7ac6f07fe1d3c21bf517217df3c72e8e3d105b7c2ae58e WHIRLPOOL 5d56b1e17542d01ea58cbe6a085fae930dd71dac793260fd418633d1364ab7822d5a0ef16041260637f2472b1d9276c002f84603ab655573b7d8058d959475cd
 DIST matplotlib-1.5.3.tar.gz 51606089 SHA256 a0a5dc39f785014f2088fed2c6d2d129f0444f71afbb9c44f7bdf1b14d86ebbc SHA512 553be9f661a1923d8ec7504a11dd3317e5ffb429c19339c58047715f4c28358d6d2ac38d46bd27ecd1dcf7159f157aab80d90713fbc4071e2e395bbf11ee6385 WHIRLPOOL 7e2b0472bb7d913e78260da95c93c3243562e76352790318286e5d194f88ac05a9f51fa029a7b0ad17bbbbd0dc9658769fe6301b544ec03f1ab5c205835ea894

diff --git a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-agg.patch b/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-agg.patch
deleted file mode 100644
index d5a4ae39bad..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-agg.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- setupext.py.orig	2013-08-02 09:39:43.914247832 +0200
-+++ setupext.py	2013-08-02 09:40:14.785304342 +0200
-@@ -749,22 +749,7 @@
-             return str(e) + ' Using local copy.'
- 
-     def add_flags(self, ext):
--        if self.found_external:
--            pkg_config.setup_extension(ext, 'libagg')
--        else:
--            ext.include_dirs.append('agg24/include')
--            agg_sources = [
--                'agg_bezier_arc.cpp',
--                'agg_curves.cpp',
--                'agg_image_filters.cpp',
--                'agg_trans_affine.cpp',
--                'agg_vcgen_contour.cpp',
--                'agg_vcgen_dash.cpp',
--                'agg_vcgen_stroke.cpp',
--                'agg_vpgen_segmentator.cpp'
--                ]
--            ext.sources.extend(
--                os.path.join('agg24', 'src', x) for x in agg_sources)
-+        pkg_config.setup_extension(ext, 'libagg', default_include_dirs=["/usr/include/agg2"])
- 
- 
- class FreeType(SetupPackage):

diff --git a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-pycxx.patch b/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-pycxx.patch
deleted file mode 100644
index c27922eb11d..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-pycxx.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/setupext.py b/setupext.py
-index 7b629b6..8131bb1 100644
---- a/setupext.py
-+++ b/setupext.py
-@@ -674,16 +674,9 @@ class CXX(SetupPackage):
-     name = 'pycxx'
- 
-     def check(self):
--        if sys.version_info[0] >= 3:
--            # There is no version of PyCXX in the wild that will work
--            # with Python 3.x
--            self.__class__.found_external = False
--            return ("Official versions of PyCXX are not compatible with "
--                    "Python 3.x.  Using local copy")
--
-         self.__class__.found_external = True
-         old_stdout = sys.stdout
--        sys.stdout = io.BytesIO()
-+        #sys.stdout = io.BytesIO()
-         try:
-             import CXX
-         except ImportError:

diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch
deleted file mode 100644
index 19c111d8796..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From b7dfa4fa7a69d091dac0ead295d28422c4e33b45 Mon Sep 17 00:00:00 2001
-From: Thomas A Caswell <tcaswell@gmail.com>
-Date: Sun, 24 Jan 2016 13:05:18 -0500
-Subject: [PATCH] Merge pull request #5872 from jenshnielsen/sphinx134
-
-DOC: Fix issue with Sphinx 1.3.4
-
-Discarded changes to .travis.yml from #5872
----
- lib/matplotlib/dviread.py |  2 +-
- lib/matplotlib/patches.py | 18 ++++++++++++------
- 2 files changed, 13 insertions(+), 7 deletions(-)
-
-diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py
-index db6e976..1141f6a 100644
---- a/lib/matplotlib/dviread.py
-+++ b/lib/matplotlib/dviread.py
-@@ -841,7 +841,7 @@ def find_tex_file(filename, format=None):
-     """
-     Call :program:`kpsewhich` to find a file in the texmf tree. If
-     *format* is not None, it is used as the value for the
--    :option:`--format` option.
-+    `--format` option.
- 
-     Apparently most existing TeX distributions on Unix-like systems
-     use kpathsea. I hear MikTeX (a popular distribution on Windows)
-diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py
-index b8b7363..917eca7 100644
---- a/lib/matplotlib/patches.py
-+++ b/lib/matplotlib/patches.py
-@@ -2992,15 +2992,21 @@ class Bar(_Base):
- 
-         def __init__(self, armA=0., armB=0., fraction=0.3, angle=None):
-             """
--            *armA* : minimum length of armA
-+            Parameters
-+            ----------
-+            armA : float
-+                minimum length of armA
- 
--            *armB* : minimum length of armB
-+            armB : float
-+                minimum length of armB
- 
--            *fraction* : a fraction of the distance between two points that
--                         will be added to armA and armB.
-+            fraction : float
-+                a fraction of the distance between two points that
-+                will be added to armA and armB.
- 
--            *angle* : angle of the connecting line (if None, parallel to A
--                      and B)
-+            angle : float or None
-+                angle of the connecting line (if None, parallel
-+                to A and B)
-             """
-             self.armA = armA
-             self.armB = armB

diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch
deleted file mode 100644
index c850d090f79..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From c28e1b0aebe19b7db292eb7c1b6deba8af6754e0 Mon Sep 17 00:00:00 2001
-From: Jens Hedegaard Nielsen <jens.nielsen@ucl.ac.uk>
-Date: Wed, 13 Jan 2016 13:48:06 +0000
-Subject: [PATCH] Fix new pep8 issue in legend_demo5
-
----
- examples/pylab_examples/legend_demo5.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/examples/pylab_examples/legend_demo5.py b/examples/pylab_examples/legend_demo5.py
-index 699babe..5668966 100644
---- a/examples/pylab_examples/legend_demo5.py
-+++ b/examples/pylab_examples/legend_demo5.py
-@@ -41,7 +41,7 @@ def create_artists(self, legend, orig_handle,
-                 lw = orig_handle.get_linewidths()[i]
-             except IndexError:
-                 lw = orig_handle.get_linewidths()[0]
--            if dashes[0] != None:
-+            if dashes[0] is not None:
-                 legline.set_dashes(dashes[1])
-             legline.set_color(color)
-             legline.set_transform(trans)

diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch
deleted file mode 100644
index d031e5aeee6..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From 72cf5b80537157decc741d81db550e6cf82648f6 Mon Sep 17 00:00:00 2001
-From: Michael Droettboom <mdboom@gmail.com>
-Date: Mon, 11 Jan 2016 16:48:04 -0500
-Subject: [PATCH] Fix #5829.  Update the baseline image.
-
----
- .../baseline_images/test_image/rasterize_10dpi.svg | 56 ++++++++++------------
- 1 file changed, 26 insertions(+), 30 deletions(-)
-
-diff --git a/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg b/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
-index 47e354d..1f73c8f 100644
---- a/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
-+++ b/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
-@@ -5,31 +5,29 @@
- <svg height="72pt" version="1.1" viewBox="0 0 216 72" width="216pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-  <defs>
-   <style type="text/css">
--*{stroke-linecap:butt;stroke-linejoin:round;}
-+*{stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:100000;}
-   </style>
-  </defs>
-  <g id="figure_1">
-   <g id="patch_1">
--   <path d="
--M0 72
--L216 72
--L216 0
--L0 0
-+   <path d="M 0 72 
-+L 216 72 
-+L 216 0 
-+L 0 0 
- z
- " style="fill:#ffffff;"/>
-   </g>
-   <g id="axes_1">
-    <g id="patch_2">
--    <path d="
--M27 60.6176
--L76.2353 60.6176
--L76.2353 11.3824
--L27 11.3824
-+    <path d="M 27 60.617647 
-+L 76.235294 60.617647 
-+L 76.235294 11.382353 
-+L 27 11.382353 
- z
- " style="fill:#ffffff;"/>
-    </g>
--   <g clip-path="url(#pc31db6f15f)">
--    <image height="50.4" id="image2c20c31ecf" width="57.6" x="27.0" xlink:href="data:image/png;base64,
-+   <g clip-path="url(#p306f09a014)">
-+    <image height="50.4" id="image207c5863ce" width="57.6" x="27.0" xlink:href="data:image/png;base64,
- iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAABHNCSVQICAgIfAhkiAAAAIVJREFUCJmFzjkKwlAAhOEvKi5FMLU2HkEQwdbSU3knL+EBLMUFQayCUaMYF55FQEsH/mYYZiZiGkA3Ydj70UlAxR/Vhv09eLfPivipuOUe69QrjcvAZLwE99CShYPsnMgWiSI0QTSfdQNcjjWHTeNLnlXLhtGgnDju2KbEV+orTqX9/+QHCXAwPEkx7O0AAAAASUVORK5CYII=" y="10.2176470588"/>
-    </g>
-    <g id="matplotlib.axis_1"/>
-@@ -37,43 +35,41 @@ iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAABHNCSVQICAgIfAhkiAAAAIVJREFUCJmF
-   </g>
-   <g id="axes_2">
-    <g id="patch_3">
--    <path d="
--M86.0824 64.8
--L135.318 64.8
--L135.318 7.2
--L86.0824 7.2
-+    <path d="M 86.082353 64.8 
-+L 135.317647 64.8 
-+L 135.317647 7.2 
-+L 86.082353 7.2 
- z
- " style="fill:#ffffff;"/>
-    </g>
--   <image height="64.8" id="image1d9f73e233" width="136.8" x="79.2" xlink:href="data:image/png;base64,
--iVBORw0KGgoAAAANSUhEUgAAABMAAAAJCAYAAADQHRcxAAAABHNCSVQICAgIfAhkiAAAAHNJREFUKJG10kENwlAQBuH5OVQBImoBAzVQA1hABxoQUAUYqIWaqIRepqdHmoaE9AGbzGU3+U4blV/N6d0yoUnoE56HNPUV2IJ3cAYF3d4/VZArOBZgWw22RxZwALtvsAm8gecjyB57gBcwNUgpf3+N2lkBB3gBDVzLDTYAAAAASUVORK5CYII=" y="7.2"/>
-+   <image height="43.2" id="image2e9ed63e7b" width="50.4" x="86.39999999999999" xlink:href="data:image/png;base64,
-+iVBORw0KGgoAAAANSUhEUgAAAAcAAAAGCAYAAAAPDoR2AAAABHNCSVQICAgIfAhkiAAAAFVJREFUCJllzjEVwlAAxdDbBQUVgQUMYAADWKgONCAABRjAQk0ggSUdGPoPDFnyhjyVETrQhZ6jPNKN3tQXXem1i5F/+aEHncdxpYXmPaU7nWj6PbcBc+lWnSEOzhQAAAAASUVORK5CYII=" y="14.4"/>
-    <g id="matplotlib.axis_3"/>
-    <g id="matplotlib.axis_4"/>
-   </g>
-   <g id="axes_3">
-    <g id="patch_4">
--    <path d="
--M145.165 64.8
--L194.4 64.8
--L194.4 7.2
--L145.165 7.2
-+    <path d="M 145.164706 64.8 
-+L 194.4 64.8 
-+L 194.4 7.2 
-+L 145.164706 7.2 
- z
- " style="fill:#ffffff;"/>
-    </g>
-    <g id="line2d_1">
--    <path clip-path="url(#p19b1e86336)" d="
--M145.165 45.6
--L194.4 26.4" style="fill:none;stroke:#0000ff;stroke-linecap:square;stroke-width:20.0;"/>
-+    <path clip-path="url(#pef029be595)" d="M 145.164706 45.6 
-+L 194.4 26.4 
-+" style="fill:none;stroke:#0000ff;stroke-linecap:square;stroke-width:20.0;"/>
-    </g>
-    <g id="matplotlib.axis_5"/>
-    <g id="matplotlib.axis_6"/>
-   </g>
-  </g>
-  <defs>
--  <clipPath id="p19b1e86336">
-+  <clipPath id="pef029be595">
-    <rect height="57.6" width="49.2352941176" x="145.164705882" y="7.2"/>
-   </clipPath>
--  <clipPath id="pc31db6f15f">
-+  <clipPath id="p306f09a014">
-    <rect height="49.2352941176" width="49.2352941176" x="27.0" y="11.3823529412"/>
-   </clipPath>
-  </defs>

diff --git a/dev-python/matplotlib/matplotlib-1.5.0.ebuild b/dev-python/matplotlib/matplotlib-1.5.0.ebuild
deleted file mode 100644
index 53b90641e0d..00000000000
--- a/dev-python/matplotlib/matplotlib-1.5.0.ebuild
+++ /dev/null
@@ -1,266 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 eutils flag-o-matic virtualx toolchain-funcs
-
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="http://matplotlib.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-SLOT="0"
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="cairo doc excel examples fltk gtk2 gtk3 latex pyside qt4 qt5 test tk wxwidgets"
-
-PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
-REQUIRED_USE="
-	doc? ( ${PY2_FLAGS} )
-	excel? ( ${PY2_FLAGS} )
-	fltk? ( ${PY2_FLAGS} )
-	gtk2? ( ${PY2_FLAGS} )
-	wxwidgets? ( ${PY2_FLAGS} )
-	test? (
-		cairo fltk latex pyside qt5 qt4 tk wxwidgets
-		|| ( gtk2 gtk3 )
-		)"
-
-# #456704 -- a lot of py2-only deps
-PY2_USEDEP=$(python_gen_usedep python2_7)
-COMMON_DEPEND="
-	dev-python/cycler[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.6[${PYTHON_USEDEP}]
-	dev-python/python-dateutil:0[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	>=dev-python/six-1.4[${PYTHON_USEDEP}]
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	media-libs/qhull
-	cairo? (
-		|| (
-			dev-python/pycairo[${PYTHON_USEDEP}]
-			dev-python/cairocffi[${PYTHON_USEDEP}]
-			)
-		)
-	gtk2? (
-		dev-libs/glib:2=
-		x11-libs/gdk-pixbuf
-		x11-libs/gtk+:2
-		dev-python/pygtk[${PY2_USEDEP}] )
-	wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-
-DEPEND="${COMMON_DEPEND}
-	dev-python/versioneer[${PYTHON_USEDEP}]
-	virtual/pkgconfig
-	doc? (
-		app-text/dvipng
-		dev-python/pillow[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
-		dev-python/mock[${PY2_USEDEP}]
-		dev-python/numpydoc[${PYTHON_USEDEP}]
-		dev-python/sphinx[${PYTHON_USEDEP}]
-		!~dev-python/sphinx-1.3.4
-		dev-python/xlwt[${PYTHON_USEDEP}]
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		media-gfx/graphviz[cairo]
-	)
-	test? (
-		dev-python/mock[${PYTHON_USEDEP}]
-		>=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
-		)"
-
-RDEPEND="${COMMON_DEPEND}
-	>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
-	excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
-	fltk? ( dev-python/pyfltk[${PYTHON_USEDEP}] )
-	gtk3? (
-		dev-python/pygobject:3[${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection] )
-	latex? (
-		virtual/latex-base
-		app-text/ghostscript-gpl
-		app-text/dvipng
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-xetex
-	)
-	pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
-	qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )
-	qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
-	"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-pkg_setup() {
-	unset DISPLAY # bug #278524
-	use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
-}
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use ${1}; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-#	cat > lib/${PN}/externals/six.py <<-EOF
-#	from __future__ import absolute_import
-#	from six import *
-#	EOF
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-
-	# suggested by upstream
-#	sed \
-#		-e '/tol/s:32:35:g' \
-#		-i lib/matplotlib/tests/test_mathtext.py || die
-
-	sed \
-		-e "s:/usr/:${EPREFIX}/usr/:g" \
-		-i setupext.py || die
-
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF
-		[directories]
-		basedirlist = "${EPREFIX}/usr"
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[gui_support]
-		agg = True
-		$(use_setup cairo)
-		$(use_setup pyside)
-		$(use_setup qt4)
-		$(use_setup qt5)
-		$(use_setup tk)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-
-	if $(python_is_python3); then
-		cat >> "${BUILD_DIR}"/setup.cfg <<- EOF
-			six = True
-			fltk = False
-			fltkagg = False
-			gtk = False
-			gtkagg = False
-			wx = False
-			wxagg = False
-		EOF
-	else
-		cat >> "${BUILD_DIR}"/setup.cfg <<-EOF
-			six = False
-			$(use_setup fltk)
-			$(use_setup gtk2 gtk)
-			$(use_setup gtk3)
-			$(use_setup wxwidgets wx)
-		EOF
-	fi
-}
-
-wrap_setup() {
-	local MPLSETUPCFG=${BUILD_DIR}/setup.cfg
-	export MPLSETUPCFG
-	unset DISPLAY
-
-	# Note: remove build... if switching to out-of-source build
-	"${@}" build --build-lib="${BUILD_DIR}"/build/lib
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		# necessary for in-source build
-		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
-		VARTEXFONTS="${T}"/fonts \
-		"${PYTHON}" ./make.py --small html || die
-	fi
-}
-
-python_test() {
-	wrap_setup distutils_install_for_testing
-
-	#cd "${TMPDIR}" || die
-	VIRTUALX_COMMAND="${PYTHON}"
-	virtualmake -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)" || \
-		die "Tests fail with ${EPYTHON}"
-#	VIRTUALX_COMMAND=esetup.py
-#	virtualmake test
-}
-
-python_install() {
-	wrap_setup distutils-r1_python_install
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-}

diff --git a/dev-python/matplotlib/matplotlib-1.5.1.ebuild b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
deleted file mode 100644
index 4be84aed2a4..00000000000
--- a/dev-python/matplotlib/matplotlib-1.5.1.ebuild
+++ /dev/null
@@ -1,273 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 eutils flag-o-matic multiprocessing virtualx toolchain-funcs
-
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="http://matplotlib.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-SLOT="0"
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="cairo doc excel examples fltk gtk2 gtk3 latex pyside qt4 qt5 test tk wxwidgets"
-
-PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
-REQUIRED_USE="
-	doc? ( ${PY2_FLAGS} )
-	excel? ( ${PY2_FLAGS} )
-	fltk? ( ${PY2_FLAGS} )
-	gtk2? ( ${PY2_FLAGS} )
-	wxwidgets? ( ${PY2_FLAGS} )
-	test? (
-		cairo fltk latex pyside qt5 qt4 tk wxwidgets
-		|| ( gtk2 gtk3 )
-		)"
-
-# #456704 -- a lot of py2-only deps
-PY2_USEDEP=$(python_gen_usedep python2_7)
-COMMON_DEPEND="
-	dev-python/cycler[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.6[${PYTHON_USEDEP}]
-	dev-python/python-dateutil:0[${PYTHON_USEDEP}]
-	dev-python/pytz[${PYTHON_USEDEP}]
-	>=dev-python/six-1.4[${PYTHON_USEDEP}]
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	media-libs/qhull
-	cairo? (
-		|| (
-			dev-python/pycairo[${PYTHON_USEDEP}]
-			dev-python/cairocffi[${PYTHON_USEDEP}]
-			)
-		)
-	gtk2? (
-		dev-libs/glib:2=
-		x11-libs/gdk-pixbuf
-		x11-libs/gtk+:2
-		dev-python/pygtk[${PY2_USEDEP}] )
-	wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-
-DEPEND="${COMMON_DEPEND}
-	dev-python/versioneer[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	virtual/pkgconfig
-	doc? (
-		app-text/dvipng
-		dev-python/pillow[${PYTHON_USEDEP}]
-		dev-python/ipython[${PYTHON_USEDEP}]
-		dev-python/mock[${PY2_USEDEP}]
-		dev-python/numpydoc[${PYTHON_USEDEP}]
-		dev-python/sphinx[${PYTHON_USEDEP}]
-		dev-python/xlwt[${PYTHON_USEDEP}]
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		media-gfx/graphviz[cairo]
-	)
-	test? (
-		dev-python/mock[${PYTHON_USEDEP}]
-		>=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
-		)"
-
-RDEPEND="${COMMON_DEPEND}
-	>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
-	excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
-	fltk? ( dev-python/pyfltk[${PYTHON_USEDEP}] )
-	gtk3? (
-		dev-python/pygobject:3[${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection] )
-	latex? (
-		virtual/latex-base
-		app-text/ghostscript-gpl
-		app-text/dvipng
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-xetex
-	)
-	pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
-	qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )
-	qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
-	"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-PATCHES=(
-	"${FILESDIR}"/${P}-sphinx-1.4.3-backport.patch
-	"${FILESDIR}"/${P}-test-fix-backport.patch
-	"${FILESDIR}"/${P}-test-fix-backport-2.patch
-	)
-
-pkg_setup() {
-	unset DISPLAY # bug #278524
-	use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
-}
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use ${1}; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-#	cat > lib/${PN}/externals/six.py <<-EOF
-#	from __future__ import absolute_import
-#	from six import *
-#	EOF
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-
-	# suggested by upstream
-#	sed \
-#		-e '/tol/s:32:35:g' \
-#		-i lib/matplotlib/tests/test_mathtext.py || die
-
-	sed \
-		-e "s:/usr/:${EPREFIX}/usr/:g" \
-		-i setupext.py || die
-
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF
-		[directories]
-		basedirlist = "${EPREFIX}/usr"
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[gui_support]
-		agg = True
-		$(use_setup cairo)
-		$(use_setup pyside)
-		$(use_setup qt4)
-		$(use_setup qt5)
-		$(use_setup tk)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-
-	if $(python_is_python3); then
-		cat >> "${BUILD_DIR}"/setup.cfg <<- EOF
-			six = True
-			fltk = False
-			fltkagg = False
-			gtk = False
-			gtkagg = False
-			wx = False
-			wxagg = False
-		EOF
-	else
-		cat >> "${BUILD_DIR}"/setup.cfg <<-EOF
-			six = False
-			$(use_setup fltk)
-			$(use_setup gtk2 gtk)
-			$(use_setup gtk3)
-			$(use_setup wxwidgets wx)
-		EOF
-	fi
-}
-
-wrap_setup() {
-	local MPLSETUPCFG=${BUILD_DIR}/setup.cfg
-	export MPLSETUPCFG
-	unset DISPLAY
-
-	# Note: remove build... if switching to out-of-source build
-	"${@}" build --build-lib="${BUILD_DIR}"/build/lib
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		# necessary for in-source build
-		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
-		VARTEXFONTS="${T}"/fonts \
-		"${PYTHON}" ./make.py --small html || die
-	fi
-}
-
-python_test() {
-	wrap_setup distutils_install_for_testing
-
-#	virtx ${PYTHON} tests.py \
-#		--no-pep8 \
-#		--no-network \
-#		--verbose \
-#		--processes=$(makeopts_jobs)
-
-	virtx "${PYTHON}" -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)"
-}
-
-python_install() {
-	wrap_setup distutils-r1_python_install
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2018-03-08 22:37 Andrey Grozin
  0 siblings, 0 replies; 21+ messages in thread
From: Andrey Grozin @ 2018-03-08 22:37 UTC (permalink / raw
  To: gentoo-commits

commit:     4d0afb5f0661fbeb6c7d76b07b65cf40f8781318
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Thu Mar  8 22:36:53 2018 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Thu Mar  8 22:36:53 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d0afb5f

dev-python/matplotlib: bump to 2.2.0

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 dev-python/matplotlib/Manifest                     |   1 +
 .../files/matplotlib-2.2.0-doc-make.patch          |  10 +
 dev-python/matplotlib/matplotlib-2.2.0.ebuild      | 257 +++++++++++++++++++++
 3 files changed, 268 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index e38eadd8a39..8a95b4c2349 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,3 +1,4 @@
 DIST matplotlib-1.4.3.tar.gz 49933525 BLAKE2B 40ea29ef7197d364f9caea63904b11231a4f74ca93184de8b1f8c7f78713cf887ea8a6fbee1b3f545c895eb353e0eeb5d65308657a3138986fb080ac44164427 SHA512 51b0f58b2618b47b653e17e4f6b6a1215d3a3b0f1331ce3555cc7435e365d9c75693f289ce12fe3bf8f69fd57b663e545f0f1c2c94e81eaa661cac0689e125f5
 DIST matplotlib-2.1.0.tar.bz2 33051088 BLAKE2B 6a97909a44ca37c3ec09a9e723909bb0169828e56daeec5711220a6caac632d19e77ef2fc042a61cb82760c9750d04753654761a707b6265a038af9c55b91bd7 SHA512 872ff86e989b4e9352663f4abde1768aa05b1adea3e1b234efdb301429d421718314b27950e508d92df8fc9136764b07e8a6861b66512e9695a496993076bb5f
 DIST matplotlib-2.1.2.tar.bz2 33422388 BLAKE2B cb4826b563e9820a17e568de78044cb81af6fbe86221505fe9cfbab7e06fb95cc3a4eff8772443197cdddf6e49b4b59d204fab39054e627b95f0169b74f630a4 SHA512 861354363f625a45f40ce7b31263088c950c8664b8ef13f8019da222ba4a8df7d0a8ee048a1bd84102e472ec48318cfea9df905d58a28efb788ba59cd5348061
+DIST matplotlib-2.2.0.tar.gz 37246563 BLAKE2B 98d0b2cd6221f7e35d6d023b9c580733370b2def914e1ea879245a10399767f6269d81da561630518d1663da4b8afadf801c627b4c713cc37ad628a917cc446a SHA512 70932e4511e6748cc97c1c6b55705d31e93c1c2bd91b163158a4585dd916318337243ba89e6a62319c628fba955bb768bb73380991f6b7ed8678ef61413926e5

diff --git a/dev-python/matplotlib/files/matplotlib-2.2.0-doc-make.patch b/dev-python/matplotlib/files/matplotlib-2.2.0-doc-make.patch
new file mode 100644
index 00000000000..7ca0c697423
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-2.2.0-doc-make.patch
@@ -0,0 +1,10 @@
+diff -r -U2 matplotlib-2.1.2.orig/doc/conf.py matplotlib-2.1.2/doc/conf.py
+--- matplotlib-2.1.2.orig/doc/conf.py	2018-01-19 11:07:49.000000000 +0700
++++ matplotlib-2.1.2/doc/conf.py	2018-01-21 20:06:44.120901546 +0700
+@@ -136,5 +136,5 @@
+ }
+ 
+-plot_gallery = 'True'
++plot_gallery = True
+ 
+ # Add any paths that contain templates here, relative to this directory.

diff --git a/dev-python/matplotlib/matplotlib-2.2.0.ebuild b/dev-python/matplotlib/matplotlib-2.2.0.ebuild
new file mode 100644
index 00000000000..0cbaceef40b
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-2.2.0.ebuild
@@ -0,0 +1,257 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
+
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="http://matplotlib.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="cairo doc excel examples gtk2 gtk3 latex pyside qt5 test tk wxwidgets"
+
+PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
+REQUIRED_USE="
+	doc? ( ${PY2_FLAGS} )
+	excel? ( ${PY2_FLAGS} )
+	gtk2? ( ${PY2_FLAGS} )
+	wxwidgets? ( ${PY2_FLAGS} )
+	test? (
+		cairo latex qt5 tk wxwidgets
+		|| ( gtk2 gtk3 )
+		)"
+
+# #456704 -- a lot of py2-only deps
+PY2_USEDEP=$(python_gen_usedep python2_7)
+PY2_DEPEND="
+	$(python_gen_cond_dep 'dev-python/functools32[${PYTHON_USEDEP}]' python2_7)
+	$(python_gen_cond_dep 'dev-python/subprocess32[${PYTHON_USEDEP}]' python2_7)
+	$(python_gen_cond_dep 'dev-python/backports-functools-lru-cache[${PYTHON_USEDEP}]' python2_7)"
+COMMON_DEPEND="
+	dev-python/cycler[${PYTHON_USEDEP}]
+	>=dev-python/numpy-1.7.1[${PYTHON_USEDEP}]
+	dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+	dev-python/pytz[${PYTHON_USEDEP}]
+	>=dev-python/six-1.10[${PYTHON_USEDEP}]
+	media-fonts/stix-fonts
+	media-libs/freetype:2
+	media-libs/libpng:0
+	>=media-libs/qhull-2013
+	cairo? ( dev-python/cairocffi[${PYTHON_USEDEP}] )
+	gtk2? (
+		dev-libs/glib:2=
+		x11-libs/gdk-pixbuf
+		x11-libs/gtk+:2
+		dev-python/pygtk[${PY2_USEDEP}] )
+	wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
+
+# internal copy of pycxx highly patched
+#	dev-python/pycxx
+
+DEPEND="${COMMON_DEPEND}
+	${PY2_DEPEND}
+	dev-python/versioneer[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	virtual/pkgconfig
+	doc? (
+		app-text/dvipng
+		dev-python/colorspacious[${PYTHON_USEDEP}]
+		dev-python/pillow[${PYTHON_USEDEP}]
+		dev-python/ipython[${PYTHON_USEDEP}]
+		dev-python/mock[${PY2_USEDEP}]
+		dev-python/numpydoc[${PYTHON_USEDEP}]
+		sci-libs/scipy[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-gallery-0.1.12[${PYTHON_USEDEP}]
+		dev-python/xlwt[${PYTHON_USEDEP}]
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexrecommended
+		media-gfx/graphviz[cairo]
+		dev-python/kiwisolver[${PYTHON_USEDEP}]
+	)
+	test? (
+		dev-python/mock[${PYTHON_USEDEP}]
+		>=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
+		)"
+
+RDEPEND="${COMMON_DEPEND}
+	${PY2_DEPEND}
+	>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
+	excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
+	gtk3? (
+		dev-python/pygobject:3[${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection] )
+	latex? (
+		virtual/latex-base
+		app-text/ghostscript-gpl
+		app-text/dvipng
+		app-text/poppler[utils]
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-xetex
+	)
+	pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
+	qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
+	"
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+	unset DISPLAY # bug #278524
+}
+
+use_setup() {
+	local uword="${2:-${1}}"
+	if use ${1}; then
+		echo "${uword} = True"
+		echo "${uword}agg = True"
+	else
+		echo "${uword} = False"
+		echo "${uword}agg = False"
+	fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+#	local PATCHES=(
+#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
+#		"${FILESDIR}"/${P}-unbundle-agg.patch
+#	)
+#	rm -r agg24 CXX || die
+#	rm -r agg24 || die
+
+#	cat > lib/${PN}/externals/six.py <<-EOF
+#	from __future__ import absolute_import
+#	from six import *
+#	EOF
+
+	local PATCHES=( "${FILESDIR}"/${P}-doc-make.patch )
+
+	sed \
+		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+		|| die "sed pyparsing failed"
+
+	hprefixify setupext.py
+
+	export XDG_RUNTIME_DIR="${T}/runtime-dir"
+	mkdir "${XDG_RUNTIME_DIR}" || die
+	chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+	append-flags -fno-strict-aliasing
+	append-cppflags -DNDEBUG  # or get old trying to do triangulation
+	tc-export PKG_CONFIG
+}
+
+python_configure() {
+	mkdir -p "${BUILD_DIR}" || die
+
+	# create setup.cfg (see setup.cfg.template for any changes).
+
+	# common switches.
+	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+		[directories]
+		basedirlist = ${EPREFIX}/usr
+		[provide_packages]
+		pytz = False
+		dateutil = False
+		[packages]
+		tests = $(usex test True False)
+		[gui_support]
+		agg = True
+		qt4 = False
+		qt4agg = False
+		$(use_setup cairo)
+		$(use_setup gtk3)
+		$(use_setup pyside)
+		$(use_setup qt5)
+		$(use_setup tk)
+	EOF
+
+	if use gtk3 && use cairo; then
+		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+	else
+		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+	fi
+
+	if python_is_python3; then
+		cat >> "${BUILD_DIR}"/setup.cfg <<- EOF || die
+			gtk = False
+			gtkagg = False
+			wx = False
+			wxagg = False
+		EOF
+	else
+		cat >> "${BUILD_DIR}"/setup.cfg <<-EOF || die
+			$(use_setup gtk2 gtk)
+			$(use_setup wxwidgets wx)
+		EOF
+	fi
+}
+
+wrap_setup() {
+	local -x MPLSETUPCFG=${BUILD_DIR}/setup.cfg
+	unset DISPLAY
+	"$@"
+}
+
+python_compile() {
+	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
+}
+
+python_compile_all() {
+	if use doc; then
+		cd doc || die
+
+		# necessary for in-source build
+		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+		VARTEXFONTS="${T}"/fonts \
+		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+	fi
+}
+
+python_test() {
+	wrap_setup distutils_install_for_testing
+
+	virtx "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)"
+}
+
+python_install() {
+	wrap_setup distutils-r1_python_install
+
+	# mpl_toolkits namespace
+	python_moduleinto mpl_toolkits
+	python_domodule lib/mpl_toolkits/__init__.py
+}
+
+python_install_all() {
+	use doc && local HTML_DOCS=( doc/build/html/. )
+
+	distutils-r1_python_install_all
+
+	if use examples; then
+		dodoc -r examples
+		docompress -x /usr/share/doc/${PF}/examples
+	fi
+
+	find "${D}" -name '*.pth' -delete || die
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2020-06-18 10:26 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2020-06-18 10:26 UTC (permalink / raw
  To: gentoo-commits

commit:     a956b9ef5a5c759521ed18f0db829d86876ced35
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 18 07:30:44 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 18 10:26:03 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a956b9ef

dev-python/matplotlib: Bump to 3.2.2

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.2.2-test.patch   | 419 +++++++++++++++++++++
 dev-python/matplotlib/matplotlib-3.2.2.ebuild      | 271 +++++++++++++
 3 files changed, 691 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 084a32c6e21..76cf20e63bd 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -3,3 +3,4 @@ DIST matplotlib-2.2.2.tar.gz 37317332 BLAKE2B 4120265263c5b1e4ab57f7c0eb7a477b40
 DIST matplotlib-2.2.4.tar.gz 36974286 BLAKE2B 9c4c69163a23ff02107ee155f72e142dcf31ba965f6a20f468b96f3f4b70b95ff6caade6b14bcbacd5b231848d2000ce6af9f113feefb41d6e186725349490d3 SHA512 968f5731b8a9a2c5575403c60d5b0a98a452b33094e520be44f4d901f892d082babc8fc1d73c519e1ff2baf756f3cb7652f4b796e166d66dfda31f7e50c58139
 DIST matplotlib-3.1.2.tar.gz 40909582 BLAKE2B 670907670335ca13ec01f3acf036fd502ce34abd12666b2e0d10867c6115a0fe80039326cee89099471aa6b3bbd25f1ca4aa837072dea624ee41984da9f647be SHA512 2eff3c0525d01824ed758a87f50a3f6094767b580fca1eae4e9dbc2cc972af3d0cc3ac9615e576c5685e8bfc1ec90754bc826635f4f2a919d0b26bbb686cccab
 DIST matplotlib-3.2.1.tar.gz 40325615 BLAKE2B 7fd299f7d3948987e341e4313ed82d15de286a05c9819893e099ccd6c1f861ce5548ec85588a382603011e7710d08d6fc9a4f168f0b5705b0873b97e40d2dd39 SHA512 d6497a3c47eaff9c0d981bc03de5894a3f4a5413cbe320924b1df6d68eb421e548cf4247c035fd636a4403cd2d50071633e6906e795b74ec7d9c4816193e42be
+DIST matplotlib-3.2.2.tar.gz 40295831 BLAKE2B 32fb34b95d1df928f949fd7b04909da2494b56efbe543f75bffedf1d9d85a0089a50cd27b82a28ac75361b56fe3f2a6c95b7d9e777778ce46f1d2805e5dae9df SHA512 4b8080fddc717f311a87b6ef1a279304da2931ef2d6de85688c153f14da5009351f42d9533c44695ca43ce1496bb642927aca822a7946a2d50d40a7d25224b31

diff --git a/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch
new file mode 100644
index 00000000000..13755eaa33e
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch
@@ -0,0 +1,419 @@
+From 7a65dfda781777872083623595c27dc1174b2ed7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 7 Jun 2020 20:02:48 +0200
+Subject: [PATCH 1/2] Increase image comparison limits
+
+Most of the tests require exact match which apparently doesn't always
+happen in non-pristine environments.  Some of them have very big
+differences due to texlive font rendering changes.
+---
+ lib/matplotlib/tests/test_arrow_patches.py                 | 4 ++--
+ lib/matplotlib/tests/test_axes.py                          | 2 +-
+ lib/matplotlib/tests/test_backend_pgf.py                   | 7 ++++---
+ lib/matplotlib/tests/test_figure.py                        | 2 +-
+ lib/matplotlib/tests/test_legend.py                        | 6 +++---
+ lib/matplotlib/tests/test_pickle.py                        | 2 +-
+ lib/matplotlib/tests/test_units.py                         | 4 ++--
+ lib/matplotlib/tests/test_usetex.py                        | 3 ++-
+ lib/mpl_toolkits/tests/test_axes_grid1.py                  | 2 +-
+ .../tests/test_axisartist_grid_helper_curvelinear.py       | 2 +-
+ 10 files changed, 18 insertions(+), 16 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index a9409e2c1..0e356e921 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+ 
+ 
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
++                  tol={'aarch64': 0.02}.get(platform.machine(), 0.015),
+                   savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+     """
+@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+ 
+ 
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
++                  tol={'aarch64': 0.02}.get(platform.machine(), 0.018),
+                   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 75636301d..af057d598 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -3673,7 +3673,7 @@ def test_vertex_markers():
+ 
+ 
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++                  tol={'aarch64': 0.02}.get(platform.machine(), 0.015))
+ def test_eb_line_zorder():
+     x = list(range(10))
+ 
+diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
+index 7843b4101..ddb2991c1 100644
+--- a/lib/matplotlib/tests/test_backend_pgf.py
++++ b/lib/matplotlib/tests/test_backend_pgf.py
+@@ -97,7 +97,8 @@ def test_xelatex():
+ # test compiling a figure to pdf with pdflatex
+ @needs_pdflatex
+ @pytest.mark.backend('pgf')
+-@image_comparison(['pgf_pdflatex.pdf'], style='default')
++@image_comparison(['pgf_pdflatex.pdf'], style='default',
++                  tol=11.669)
+ def test_pdflatex():
+     if os.environ.get('APPVEYOR', False):
+         pytest.xfail("pdflatex test does not work on appveyor due to missing "
+@@ -133,7 +134,7 @@ def test_rcupdate():
+                 'pgf.preamble': ['\\usepackage[utf8x]{inputenc}',
+                                  '\\usepackage[T1]{fontenc}',
+                                  '\\usepackage{sfmath}']}]
+-    tol = [6, 0]
++    tol = [6, 14]
+     for i, rc_set in enumerate(rc_sets):
+         with mpl.rc_context(rc_set):
+             create_figure()
+@@ -161,7 +162,7 @@ def test_pathclip():
+ @needs_xelatex
+ @pytest.mark.backend('pgf')
+ @image_comparison(['pgf_mixedmode.pdf'], style='default',
+-                  tol={'aarch64': 1.086}.get(platform.machine(), 0.0))
++                  tol=1.086)
+ def test_mixedmode():
+     rc_xelatex = {'font.family': 'serif',
+                   'pgf.rcfonts': False}
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index b5ca0ed5b..885afa5f8 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -14,7 +14,7 @@ import pytest
+ 
+ 
+ @image_comparison(['figure_align_labels'],
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++                  tol=0.02)
+ def test_align_labels():
+     # Check the figure.align_labels() command
+     fig = plt.figure(tight_layout=True)
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index 71499da44..a8bda6e84 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -106,7 +106,7 @@ def test_multiple_keys():
+ 
+ 
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++                  tol=0.02)
+ def test_alpha_rgba():
+     import matplotlib.pyplot as plt
+ 
+@@ -117,7 +117,7 @@ def test_alpha_rgba():
+ 
+ 
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++                  tol=0.02)
+ def test_alpha_rcparam():
+     import matplotlib.pyplot as plt
+ 
+@@ -145,7 +145,7 @@ def test_fancy():
+ 
+ 
+ @image_comparison(['framealpha'], remove_text=True,
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++                  tol=0.02)
+ 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 0fad3cdf2..4d2599607 100644
+--- a/lib/matplotlib/tests/test_pickle.py
++++ b/lib/matplotlib/tests/test_pickle.py
+@@ -41,7 +41,7 @@ def test_simple():
+ 
+ 
+ @image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20',
+-                  tol={'aarch64': 0.082}.get(platform.machine(), 0.0))
++                  tol=0.082)
+ def test_complete():
+     fig = plt.figure('Figure with a label?', figsize=(10, 6))
+ 
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index f14425144..7f744da47 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -74,7 +74,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++                  tol={'aarch64': 0.02}.get(platform.machine(), 0.002))
+ def test_numpy_facade(quantity_converter):
+     # use former defaults to match existing baseline image
+     plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -101,7 +101,7 @@ def test_numpy_facade(quantity_converter):
+ 
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++                  tol=0.02)
+ def test_plot_masked_units():
+     data = np.linspace(-5, 5)
+     data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index ec693288e..8af6b69eb 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -15,7 +15,8 @@ if not mpl.checkdep_usetex(True):
+ @image_comparison(
+     baseline_images=['test_usetex'],
+     extensions=['pdf', 'png'],
+-    style="mpl20")
++    style="mpl20",
++    tol=21)
+ def test_usetex():
+     mpl.rcParams['text.usetex'] = True
+     fig = plt.figure()
+diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
+index 9ed9a9280..56a3bd14a 100644
+--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
+@@ -343,7 +343,7 @@ def test_zooming_with_inverted_axes():
+ 
+ 
+ @image_comparison(['anchored_direction_arrows.png'],
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++                  tol=0.02)
+ def test_anchored_direction_arrows():
+     fig, ax = plt.subplots()
+     ax.imshow(np.zeros((10, 10)), interpolation='nearest')
+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 611908063..dc294aef5 100644
+--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
++++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
+@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
+ 
+ 
+ @image_comparison(['custom_transform.png'], style='default',
+-                  tol={'aarch64': 0.034}.get(platform.machine(), 0.03))
++                  tol=0.034)
+ def test_custom_transform():
+     class MyTransform(Transform):
+         input_dims = 2
+-- 
+2.27.0
+
+From 506611e80a4fd12b3f633583d20119fc2f096ba7 Mon Sep 17 00:00:00 2001
+From: Antony Lee <anntzer.lee@gmail.com>
+Date: Tue, 10 Dec 2019 11:18:24 +0100
+Subject: [PATCH 2/2] Rewrite test_cycles to avoid image comparison tests.
+
+They can all be reasonably written by checking the artist properties.
+---
+ lib/matplotlib/tests/test_cycles.py | 141 ++++++++++------------------
+ 1 file changed, 51 insertions(+), 90 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
+index ee67b4e41..a340b6166 100644
+--- a/lib/matplotlib/tests/test_cycles.py
++++ b/lib/matplotlib/tests/test_cycles.py
+@@ -1,6 +1,4 @@
+-import platform
+-
+-from matplotlib.testing.decorators import image_comparison
++import matplotlib as mpl
+ import matplotlib.pyplot as plt
+ import numpy as np
+ import pytest
+@@ -8,133 +6,96 @@ import pytest
+ from cycler import cycler
+ 
+ 
+-@image_comparison(['color_cycle_basic.png'], remove_text=True,
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ def test_colorcycle_basic():
+     fig, ax = plt.subplots()
+     ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']))
+-    xs = np.arange(10)
+-    ys = 0.25 * xs + 2
+-    ax.plot(xs, ys, label='red', lw=4)
+-    ys = 0.45 * xs + 3
+-    ax.plot(xs, ys, label='green', lw=4)
+-    ys = 0.65 * xs + 4
+-    ax.plot(xs, ys, label='yellow', lw=4)
+-    ys = 0.85 * xs + 5
+-    ax.plot(xs, ys, label='red2', lw=4)
+-    ax.legend(loc='upper left')
+-
+-
+-@image_comparison(['marker_cycle.png', 'marker_cycle.png'], remove_text=True,
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++    for _ in range(4):
++        ax.plot(range(10), range(10))
++    assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
++
++
+ def test_marker_cycle():
+     fig, ax = plt.subplots()
+     ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
+                       cycler('marker', ['.', '*', 'x']))
+-    xs = np.arange(10)
+-    ys = 0.25 * xs + 2
+-    ax.plot(xs, ys, label='red dot', lw=4, ms=16)
+-    ys = 0.45 * xs + 3
+-    ax.plot(xs, ys, label='green star', lw=4, ms=16)
+-    ys = 0.65 * xs + 4
+-    ax.plot(xs, ys, label='yellow x', lw=4, ms=16)
+-    ys = 0.85 * xs + 5
+-    ax.plot(xs, ys, label='red2 dot', lw=4, ms=16)
+-    ax.legend(loc='upper left')
++    for _ in range(4):
++        ax.plot(range(10), range(10))
++    assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
++    assert [l.get_marker() for l in ax.lines] == ['.', '*', 'x', '.']
+ 
++
++def test_marker_cycle_kwargs_arrays_iterators():
+     fig, ax = plt.subplots()
+-    # Test keyword arguments, numpy arrays, and generic iterators
+     ax.set_prop_cycle(c=np.array(['r', 'g', 'y']),
+                       marker=iter(['.', '*', 'x']))
+-    xs = np.arange(10)
+-    ys = 0.25 * xs + 2
+-    ax.plot(xs, ys, label='red dot', lw=4, ms=16)
+-    ys = 0.45 * xs + 3
+-    ax.plot(xs, ys, label='green star', lw=4, ms=16)
+-    ys = 0.65 * xs + 4
+-    ax.plot(xs, ys, label='yellow x', lw=4, ms=16)
+-    ys = 0.85 * xs + 5
+-    ax.plot(xs, ys, label='red2 dot', lw=4, ms=16)
+-    ax.legend(loc='upper left')
+-
+-
+-@image_comparison(['lineprop_cycle_basic.png'], remove_text=True,
+-                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++    for _ in range(4):
++        ax.plot(range(10), range(10))
++    assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
++    assert [l.get_marker() for l in ax.lines] == ['.', '*', 'x', '.']
++
++
+ def test_linestylecycle_basic():
+     fig, ax = plt.subplots()
+     ax.set_prop_cycle(cycler('ls', ['-', '--', ':']))
+-    xs = np.arange(10)
+-    ys = 0.25 * xs + 2
+-    ax.plot(xs, ys, label='solid', lw=4, color='k')
+-    ys = 0.45 * xs + 3
+-    ax.plot(xs, ys, label='dashed', lw=4, color='k')
+-    ys = 0.65 * xs + 4
+-    ax.plot(xs, ys, label='dotted', lw=4, color='k')
+-    ys = 0.85 * xs + 5
+-    ax.plot(xs, ys, label='solid2', lw=4, color='k')
+-    ax.legend(loc='upper left')
+-
+-
+-@image_comparison(['fill_cycle_basic.png'], remove_text=True)
++    for _ in range(4):
++        ax.plot(range(10), range(10))
++    assert [l.get_linestyle() for l in ax.lines] == ['-', '--', ':', '-']
++
++
+ def test_fillcycle_basic():
+     fig, ax = plt.subplots()
+     ax.set_prop_cycle(cycler('c',  ['r', 'g', 'y']) +
+                       cycler('hatch', ['xx', 'O', '|-']) +
+                       cycler('linestyle', ['-', '--', ':']))
+-    xs = np.arange(10)
+-    ys = 0.25 * xs**.5 + 2
+-    ax.fill(xs, ys, label='red, xx', linewidth=3)
+-    ys = 0.45 * xs**.5 + 3
+-    ax.fill(xs, ys, label='green, circle', linewidth=3)
+-    ys = 0.65 * xs**.5 + 4
+-    ax.fill(xs, ys, label='yellow, cross', linewidth=3)
+-    ys = 0.85 * xs**.5 + 5
+-    ax.fill(xs, ys, label='red2, xx', linewidth=3)
+-    ax.legend(loc='upper left')
+-
+-
+-@image_comparison(['fill_cycle_ignore.png'], remove_text=True)
++    for _ in range(4):
++        ax.fill(range(10), range(10))
++    assert ([p.get_facecolor() for p in ax.patches]
++            == [mpl.colors.to_rgba(c) for c in ['r', 'g', 'y', 'r']])
++    assert [p.get_hatch() for p in ax.patches] == ['xx', 'O', '|-', 'xx']
++    assert [p.get_linestyle() for p in ax.patches] == ['-', '--', ':', '-']
++
++
+ def test_fillcycle_ignore():
+     fig, ax = plt.subplots()
+     ax.set_prop_cycle(cycler('color',  ['r', 'g', 'y']) +
+                       cycler('hatch', ['xx', 'O', '|-']) +
+                       cycler('marker', ['.', '*', 'D']))
+-    xs = np.arange(10)
+-    ys = 0.25 * xs**.5 + 2
++    t = range(10)
+     # Should not advance the cycler, even though there is an
+     # unspecified property in the cycler "marker".
+     # "marker" is not a Polygon property, and should be ignored.
+-    ax.fill(xs, ys, 'r', hatch='xx', label='red, xx')
+-    ys = 0.45 * xs**.5 + 3
++    ax.fill(t, t, 'r', hatch='xx')
+     # Allow the cycler to advance, but specify some properties
+-    ax.fill(xs, ys, hatch='O', label='red, circle')
+-    ys = 0.65 * xs**.5 + 4
+-    ax.fill(xs, ys, label='green, circle')
+-    ys = 0.85 * xs**.5 + 5
+-    ax.fill(xs, ys, label='yellow, cross')
+-    ax.legend(loc='upper left')
++    ax.fill(t, t, hatch='O')
++    ax.fill(t, t)
++    ax.fill(t, t)
++    assert ([p.get_facecolor() for p in ax.patches]
++            == [mpl.colors.to_rgba(c) for c in ['r', 'r', 'g', 'y']])
++    assert [p.get_hatch() for p in ax.patches] == ['xx', 'O', 'O', '|-']
+ 
+ 
+-@image_comparison(['property_collision_plot.png'], remove_text=True)
+ def test_property_collision_plot():
+     fig, ax = plt.subplots()
+     ax.set_prop_cycle('linewidth', [2, 4])
++    t = range(10)
+     for c in range(1, 4):
+-        ax.plot(np.arange(10), c * np.arange(10), lw=0.1, color='k')
+-    ax.plot(np.arange(10), 4 * np.arange(10), color='k')
+-    ax.plot(np.arange(10), 5 * np.arange(10), color='k')
++        ax.plot(t, t, lw=0.1)
++    ax.plot(t, t)
++    ax.plot(t, t)
++    assert [l.get_linewidth() for l in ax.lines] == [0.1, 0.1, 0.1, 2, 4]
+ 
+ 
+-@image_comparison(['property_collision_fill.png'], remove_text=True)
+ def test_property_collision_fill():
+     fig, ax = plt.subplots()
+-    xs = np.arange(10)
+-    ys = 0.25 * xs**.5 + 2
+     ax.set_prop_cycle(linewidth=[2, 3, 4, 5, 6], facecolor='bgcmy')
++    t = range(10)
+     for c in range(1, 4):
+-        ax.fill(xs, c * ys, lw=0.1)
+-    ax.fill(xs, 4 * ys)
+-    ax.fill(xs, 5 * ys)
++        ax.fill(t, t, lw=0.1)
++    ax.fill(t, t)
++    ax.fill(t, t)
++    assert ([p.get_facecolor() for p in ax.patches]
++            == [mpl.colors.to_rgba(c) for c in 'bgcmy'])
++    assert [p.get_linewidth() for p in ax.patches] == [0.1, 0.1, 0.1, 5, 6]
+ 
+ 
+ def test_valid_input_forms():
+-- 
+2.27.0
+

diff --git a/dev-python/matplotlib/matplotlib-3.2.2.ebuild b/dev-python/matplotlib/matplotlib-3.2.2.ebuild
new file mode 100644
index 00000000000..59b72308455
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.2.2.ebuild
@@ -0,0 +1,271 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+DISTUTILS_USE_SETUPTOOLS=bdepend
+inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="https://matplotlib.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+	test? (
+		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+	)"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk wxwidgets"
+
+# internal copy of pycxx highly patched
+#	dev-python/pycxx
+RDEPEND="
+	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+	>=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
+	>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
+	dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+	>=dev-python/six-1.14.0[${PYTHON_USEDEP}]
+	dev-python/versioneer[${PYTHON_USEDEP}]
+	media-fonts/dejavu
+	media-fonts/stix-fonts
+	media-libs/freetype:2
+	media-libs/libpng:0
+	>=media-libs/qhull-2013
+	>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+	cairo? (
+		dev-python/cairocffi[${PYTHON_USEDEP}]
+	)
+	excel? (
+		dev-python/xlwt[${PYTHON_USEDEP}]
+	)
+	gtk3? (
+		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection]
+	)
+	latex? (
+		virtual/latex-base
+		app-text/dvipng
+		app-text/ghostscript-gpl
+		app-text/poppler[utils]
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-xetex
+	)
+	qt5? (
+		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+	)
+	wxwidgets? (
+		$(python_gen_cond_dep '
+			dev-python/wxpython:*[${PYTHON_USEDEP}]
+		' python3_{6,7,8})
+	)
+"
+
+BDEPEND="
+	${RDEPEND}
+	virtual/pkgconfig
+	doc? (
+		>=app-text/dvipng-1.15-r1
+		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+		>=dev-python/pillow-7.1.1[${PYTHON_USEDEP}]
+		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+		>=sci-libs/scipy-1.4.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexrecommended
+		>=media-gfx/graphviz-2.42.3[cairo]
+	)
+	test? (
+		dev-python/flaky[${PYTHON_USEDEP}]
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection]
+	)
+"
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+distutils_enable_tests pytest
+
+pkg_setup() {
+	unset DISPLAY # bug #278524
+}
+
+use_supported() {
+	case ${1} in
+		wxwidgets)
+			[[ ${EPYTHON} == python3.[678] ]]
+			;;
+	esac
+
+	return 0
+}
+
+use_setup() {
+	local uword="${2:-${1}}"
+	if use_supported "${1}" && use "${1}"; then
+		echo "${uword} = True"
+		echo "${uword}agg = True"
+	else
+		echo "${uword} = False"
+		echo "${uword}agg = False"
+	fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+#	local PATCHES=(
+#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
+#		"${FILESDIR}"/${P}-unbundle-agg.patch
+#	)
+#	rm -r agg24 CXX || die
+#	rm -r agg24 || die
+
+#	cat > lib/${PN}/externals/six.py <<-EOF
+#	from __future__ import absolute_import
+#	from six import *
+#	EOF
+
+	local PATCHES=(
+		"${FILESDIR}"/matplotlib-3.1.2-qhull.patch
+		"${FILESDIR}"/matplotlib-3.2.2-test.patch
+	)
+
+	# requires jupyter-nbconvert
+	rm lib/matplotlib/tests/test_backend_nbagg.py || die
+
+	sed \
+		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+		|| die "sed pyparsing failed"
+
+	sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
+		-i lib/matplotlib/tests/test_*.py || die
+
+	hprefixify setupext.py
+
+	rm -rf libqhull || die
+
+	export XDG_RUNTIME_DIR="${T}/runtime-dir"
+	mkdir "${XDG_RUNTIME_DIR}" || die
+	chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+	append-flags -fno-strict-aliasing
+	append-cppflags -DNDEBUG  # or get old trying to do triangulation
+	tc-export PKG_CONFIG
+}
+
+python_configure() {
+	mkdir -p "${BUILD_DIR}" || die
+
+	# create setup.cfg (see setup.cfg.template for any changes).
+
+	# common switches.
+	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+		[directories]
+		basedirlist = ${EPREFIX}/usr
+		[provide_packages]
+		pytz = False
+		dateutil = False
+		[packages]
+		tests = $(usex test True False)
+		[gui_support]
+		agg = True
+		gtk = False
+		gtkagg = False
+		pyside = False
+		pysideagg = False
+		qt4 = False
+		qt4agg = False
+		$(use_setup cairo)
+		$(use_setup gtk3)
+		$(use_setup qt5)
+		$(use_setup tk)
+		$(use_setup wxwidgets wx)
+	EOF
+
+	if use gtk3 && use cairo; then
+		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+	else
+		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+	fi
+}
+
+wrap_setup() {
+	local MAKEOPTS=-j1
+	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+	"$@"
+}
+
+python_compile() {
+	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
+}
+
+python_compile_all() {
+	if use doc; then
+		cd doc || die
+
+		# necessary for in-source build
+		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+		VARTEXFONTS="${T}"/fonts \
+		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+	fi
+}
+
+src_test() {
+	virtx distutils-r1_src_test
+}
+
+python_test() {
+	# we need to rebuild mpl against bundled freetype, otherwise
+	# over 1000 tests will fail because of mismatched font rendering
+	local -x MPLLOCALFREETYPE=1
+	ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
+	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/test-lib
+	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+	"${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(verbosity=2))" || die
+}
+
+python_install() {
+	wrap_setup distutils-r1_python_install
+
+	# mpl_toolkits namespace
+	python_moduleinto mpl_toolkits
+	python_domodule lib/mpl_toolkits/__init__.py
+}
+
+python_install_all() {
+	use doc && local HTML_DOCS=( doc/build/html/. )
+
+	distutils-r1_python_install_all
+
+	if use examples; then
+		dodoc -r examples
+		docompress -x /usr/share/doc/${PF}/examples
+	fi
+
+	find "${D}" -name '*.pth' -delete || die
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2020-09-15 22:19 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2020-09-15 22:19 UTC (permalink / raw
  To: gentoo-commits

commit:     0bc6bf85697af01ff47b1d5489db7336da98c680
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 15 22:15:03 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 15 22:19:17 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0bc6bf85

dev-python/matplotlib: Bump to 3.3.2

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../files/matplotlib-3.3.2-test-extra.patch        | 25 ++++++++++++++++++++++
 dev-python/matplotlib/matplotlib-3.3.2.ebuild      |  1 +
 2 files changed, 26 insertions(+)

diff --git a/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch b/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch
new file mode 100644
index 00000000000..1fff166295b
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch
@@ -0,0 +1,25 @@
+From 5d2f40b312966c08436b4495980313f2dacd9750 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 15 Sep 2020 23:48:05 +0200
+Subject: [PATCH] Increase tolerance for test_transparent_markers
+
+---
+ lib/matplotlib/tests/test_axes.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index 412dd2471..52a32f9f1 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -3500,7 +3500,7 @@ def test_hist_labels():
+     assert l[2][0].get_label() == '00'
+ 
+ 
+-@image_comparison(['transparent_markers'], remove_text=True)
++@image_comparison(['transparent_markers'], remove_text=True, tol=5)
+ def test_transparent_markers():
+     np.random.seed(0)
+     data = np.random.random(50)
+-- 
+2.28.0
+

diff --git a/dev-python/matplotlib/matplotlib-3.3.2.ebuild b/dev-python/matplotlib/matplotlib-3.3.2.ebuild
index d8b120fa06f..9ded3690e45 100644
--- a/dev-python/matplotlib/matplotlib-3.3.2.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.3.2.ebuild
@@ -146,6 +146,7 @@ python_prepare_all() {
 
 	local PATCHES=(
 		"${FILESDIR}"/matplotlib-3.3.0-test.patch
+		"${FILESDIR}"/matplotlib-3.3.2-test-extra.patch
 	)
 
 	# requires jupyter-nbconvert


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2021-01-04  9:45 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2021-01-04  9:45 UTC (permalink / raw
  To: gentoo-commits

commit:     96de8f81d7b7ff64bf39798f8790913e2759080f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  4 09:08:22 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan  4 09:45:45 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96de8f81

dev-python/matplotlib: Remove -flto

Closes: https://bugs.gentoo.org/736122
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../files/matplotlib-3.3.3-disable-lto.patch       | 25 ++++++++++++++++++++++
 ...lib-3.3.3.ebuild => matplotlib-3.3.3-r1.ebuild} |  1 +
 2 files changed, 26 insertions(+)

diff --git a/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch b/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch
new file mode 100644
index 00000000000..ab377e7f19b
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch
@@ -0,0 +1,25 @@
+From 7382d6205bfdc647a8e47c8e417c991d3822eace Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 4 Jan 2021 10:03:32 +0100
+Subject: [PATCH] Disable -flto
+
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 6e1d19d..ed85d14 100644
+--- a/setup.py
++++ b/setup.py
+@@ -147,7 +147,7 @@ class BuildExtraLibraries(BuildExtCommand):
+                         ranlib = True
+                     else:
+                         ranlib = shutil.which('llvm-ranlib')
+-        if ranlib and has_flag(self.compiler, '-flto'):
++        if False and ranlib and has_flag(self.compiler, '-flto'):
+             for ext in self.extensions:
+                 ext.extra_compile_args.append('-flto')
+             cppflags.append('-flto')
+-- 
+2.30.0
+

diff --git a/dev-python/matplotlib/matplotlib-3.3.3.ebuild b/dev-python/matplotlib/matplotlib-3.3.3-r1.ebuild
similarity index 99%
rename from dev-python/matplotlib/matplotlib-3.3.3.ebuild
rename to dev-python/matplotlib/matplotlib-3.3.3-r1.ebuild
index 1f794c15026..f8757316477 100644
--- a/dev-python/matplotlib/matplotlib-3.3.3.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.3.3-r1.ebuild
@@ -150,6 +150,7 @@ python_prepare_all() {
 	local PATCHES=(
 		"${FILESDIR}"/matplotlib-3.3.0-test.patch
 		"${FILESDIR}"/matplotlib-3.3.2-test-extra.patch
+		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
 	)
 
 	# requires jupyter-nbconvert


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2021-01-29 10:43 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2021-01-29 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     c75dad06a2633931da495ed1a7c166015ed8fd2b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 29 09:03:37 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 29 10:42:57 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c75dad06

dev-python/matplotlib: Bump to 3.3.4

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   1 +
 .../files/matplotlib-3.3.4-test-extra.patch        |  12 +
 dev-python/matplotlib/matplotlib-3.3.4.ebuild      | 282 +++++++++++++++++++++
 3 files changed, 295 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 507b0f8b7a0..f00b711f586 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -3,3 +3,4 @@ DIST matplotlib-3.2.2.tar.gz 40295831 BLAKE2B 32fb34b95d1df928f949fd7b04909da249
 DIST matplotlib-3.3.0.tar.gz 38782487 BLAKE2B 97330d93b8d8a64a1296ccb173e44ebcc54c61e22aacdd73cc38a46fb2d22fbfe7334fb3c6993be001c475724c47f530243affddd71ec647232ac093db6e3135 SHA512 2ffd9e79e300a37092ab4b5a7156c2f57e408975818abd413c74477ad622030c7636695467aab821c9996564cddec57e26ba6a8004f6639070964fcb7a510a75
 DIST matplotlib-3.3.2.tar.gz 37939974 BLAKE2B f28e184a0fccd4192ba8135b70569bf463d08cae0f4eb8e7f997f417cb947500a9fe46eb5f979473b4d7d22c0ad03ab55aba4067082c86f63eacbf837b8606ad SHA512 cae68e63d879bcfb41b25df4de48472461f7987403d42d34c7205a65ed3ef567660309c04d2a55e155fbe1ef708fd9de0b0d66e71578f34c3ee93379c4ea1e1a
 DIST matplotlib-3.3.3.tar.gz 37944403 BLAKE2B 30358d7b7df87b0b15724c4eeb132acdacf31ac900d5c06b22c7ebc7217d6cabcc76b7e29cea6af0b4711b5b1724ce34dd065f63cabcfd40c0fcf9788f94c1fe SHA512 36b482a6c36ee08c47f3c02c160289bbdec8746d4d246084723bd3e1fd632c6383f6db58c950a9773a6993d10f24dacd870a91faafc34864616288cd05b6232c
+DIST matplotlib-3.3.4.tar.gz 37941665 BLAKE2B 77b86dc3ceec3695a0d749197bcec684893d237da1aaf8778d9dc2038da1ba56b757bbce94efcf215ac30f35420b77e0a0e75ebb75b6d2cde5146d8a35ee25e7 SHA512 aadfe3db4edde9940b9e15daf1b6c5f237d3a6f38610956ceee994f919d711fce818ea12be4db18aa2a8638c4e8f434d79541fecaa7233e233bf4c73792bc4c4

diff --git a/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch b/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch
new file mode 100644
index 00000000000..0c62334086a
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch
@@ -0,0 +1,12 @@
+diff -dupr a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
+--- a/lib/mpl_toolkits/tests/test_mplot3d.py	2021-01-29 10:43:01.196582153 +0100
++++ b/lib/mpl_toolkits/tests/test_mplot3d.py	2021-01-29 10:44:36.084875177 +0100
+@@ -150,7 +150,7 @@ def test_contourf3d_fill():
+     ax.set_zlim(-1, 1)
+ 
+ 
+-@mpl3d_image_comparison(['tricontour.png'])
++@mpl3d_image_comparison(['tricontour.png'], tol=0.02)
+ def test_tricontour():
+     fig = plt.figure()
+ 

diff --git a/dev-python/matplotlib/matplotlib-3.3.4.ebuild b/dev-python/matplotlib/matplotlib-3.3.4.ebuild
new file mode 100644
index 00000000000..a103db251a0
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.3.4.ebuild
@@ -0,0 +1,282 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="https://matplotlib.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+	test? (
+		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+	)"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+#	dev-python/pycxx
+RDEPEND="
+	dev-python/certifi[${PYTHON_USEDEP}]
+	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+	>=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
+	>=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
+	>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
+	dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+	>=dev-python/six-1.14.0[${PYTHON_USEDEP}]
+	dev-python/versioneer[${PYTHON_USEDEP}]
+	media-fonts/dejavu
+	media-fonts/stix-fonts
+	media-libs/freetype:2
+	media-libs/libpng:0
+	>=media-libs/qhull-2013:=
+	cairo? (
+		dev-python/cairocffi[${PYTHON_USEDEP}]
+	)
+	excel? (
+		dev-python/xlwt[${PYTHON_USEDEP}]
+	)
+	gtk3? (
+		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection]
+	)
+	latex? (
+		virtual/latex-base
+		app-text/dvipng
+		app-text/ghostscript-gpl
+		app-text/poppler[utils]
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-xetex
+	)
+	qt5? (
+		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+	)
+	webagg? (
+		>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+	)
+	wxwidgets? (
+		$(python_gen_cond_dep '
+			dev-python/wxpython:*[${PYTHON_USEDEP}]
+		' python3_{6,7,8})
+	)
+"
+
+BDEPEND="
+	${RDEPEND}
+	virtual/pkgconfig
+	doc? (
+		>=app-text/dvipng-1.15-r1
+		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexrecommended
+		>=media-gfx/graphviz-2.42.3[cairo]
+	)
+	test? (
+		dev-python/flaky[${PYTHON_USEDEP}]
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
+		>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection]
+	)
+"
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+distutils_enable_tests pytest
+
+pkg_setup() {
+	unset DISPLAY # bug #278524
+}
+
+use_supported() {
+	case ${1} in
+		wxwidgets)
+			[[ ${EPYTHON} == python3.[678] ]]
+			;;
+	esac
+
+	return 0
+}
+
+use_setup() {
+	local uword="${2:-${1}}"
+	if use_supported "${1}" && use "${1}"; then
+		echo "${uword} = True"
+		echo "${uword}agg = True"
+	else
+		echo "${uword} = False"
+		echo "${uword}agg = False"
+	fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+#	local PATCHES=(
+#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
+#		"${FILESDIR}"/${P}-unbundle-agg.patch
+#	)
+#	rm -r agg24 CXX || die
+#	rm -r agg24 || die
+
+#	cat > lib/${PN}/externals/six.py <<-EOF
+#	from __future__ import absolute_import
+#	from six import *
+#	EOF
+
+	local PATCHES=(
+		"${FILESDIR}"/matplotlib-3.3.0-test.patch
+		"${FILESDIR}"/matplotlib-3.3.2-test-extra.patch
+		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+		"${FILESDIR}"/matplotlib-3.3.4-test-extra.patch
+	)
+
+	# requires jupyter-nbconvert
+	rm lib/matplotlib/tests/test_backend_nbagg.py || die
+
+	sed \
+		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+		|| die "sed pyparsing failed"
+
+	sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
+		-i lib/matplotlib/tests/test_*.py || die
+
+	hprefixify setupext.py
+
+	rm -rf libqhull || die
+
+	export XDG_RUNTIME_DIR="${T}/runtime-dir"
+	mkdir "${XDG_RUNTIME_DIR}" || die
+	chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+	append-flags -fno-strict-aliasing
+	append-cppflags -DNDEBUG  # or get old trying to do triangulation
+	tc-export PKG_CONFIG
+}
+
+python_configure() {
+	mkdir -p "${BUILD_DIR}" || die
+
+	# create setup.cfg (see setup.cfg.template for any changes).
+
+	# common switches.
+	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+		[directories]
+		basedirlist = ${EPREFIX}/usr
+		[provide_packages]
+		pytz = False
+		dateutil = False
+		[libs]
+		system_freetype = True
+		system_qhull = True
+		[packages]
+		tests = $(usex test True False)
+		[gui_support]
+		agg = True
+		gtk = False
+		gtkagg = False
+		macosx = False
+		pyside = False
+		pysideagg = False
+		qt4 = False
+		qt4agg = False
+		$(use_setup cairo)
+		$(use_setup gtk3)
+		$(use_setup qt5)
+		$(use_setup tk)
+		$(use_setup wxwidgets wx)
+	EOF
+
+	if use gtk3 && use cairo; then
+		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+	else
+		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+	fi
+}
+
+wrap_setup() {
+	local MAKEOPTS=-j1
+	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+	"$@"
+}
+
+python_compile() {
+	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
+}
+
+python_compile_all() {
+	if use doc; then
+		cd doc || die
+
+		# necessary for in-source build
+		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+		VARTEXFONTS="${T}"/fonts \
+		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+	fi
+}
+
+src_test() {
+	virtx distutils-r1_src_test
+}
+
+python_test() {
+	# we need to rebuild mpl against bundled freetype, otherwise
+	# over 1000 tests will fail because of mismatched font rendering
+	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+		> "${BUILD_DIR}"/test-setup.cfg || die
+	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+	ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
+	distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
+	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+	"${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
+}
+
+python_install() {
+	wrap_setup distutils-r1_python_install
+
+	# mpl_toolkits namespace
+	python_moduleinto mpl_toolkits
+	python_domodule lib/mpl_toolkits/__init__.py
+}
+
+python_install_all() {
+	use doc && local HTML_DOCS=( doc/build/html/. )
+
+	distutils-r1_python_install_all
+
+	if use examples; then
+		dodoc -r examples
+		docompress -x /usr/share/doc/${PF}/examples
+	fi
+
+	find "${D}" -name '*.pth' -delete || die
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2021-02-25 13:24 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2021-02-25 13:24 UTC (permalink / raw
  To: gentoo-commits

commit:     c26e6df60b8a229041d980037b501a215b10e947
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 25 11:45:39 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 25 13:24:52 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c26e6df6

dev-python/matplotlib: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   3 -
 .../matplotlib/files/matplotlib-3.1.2-qhull.patch  |  20 -
 .../matplotlib/files/matplotlib-3.2.2-test.patch   | 419 ---------------------
 dev-python/matplotlib/matplotlib-3.2.2-r2.ebuild   | 271 -------------
 dev-python/matplotlib/matplotlib-3.3.0-r1.ebuild   | 275 --------------
 dev-python/matplotlib/matplotlib-3.3.2.ebuild      | 277 --------------
 6 files changed, 1265 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index f00b711f586..e3c0efed072 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,6 +1,3 @@
 DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.2.2.tar.gz 40295831 BLAKE2B 32fb34b95d1df928f949fd7b04909da2494b56efbe543f75bffedf1d9d85a0089a50cd27b82a28ac75361b56fe3f2a6c95b7d9e777778ce46f1d2805e5dae9df SHA512 4b8080fddc717f311a87b6ef1a279304da2931ef2d6de85688c153f14da5009351f42d9533c44695ca43ce1496bb642927aca822a7946a2d50d40a7d25224b31
-DIST matplotlib-3.3.0.tar.gz 38782487 BLAKE2B 97330d93b8d8a64a1296ccb173e44ebcc54c61e22aacdd73cc38a46fb2d22fbfe7334fb3c6993be001c475724c47f530243affddd71ec647232ac093db6e3135 SHA512 2ffd9e79e300a37092ab4b5a7156c2f57e408975818abd413c74477ad622030c7636695467aab821c9996564cddec57e26ba6a8004f6639070964fcb7a510a75
-DIST matplotlib-3.3.2.tar.gz 37939974 BLAKE2B f28e184a0fccd4192ba8135b70569bf463d08cae0f4eb8e7f997f417cb947500a9fe46eb5f979473b4d7d22c0ad03ab55aba4067082c86f63eacbf837b8606ad SHA512 cae68e63d879bcfb41b25df4de48472461f7987403d42d34c7205a65ed3ef567660309c04d2a55e155fbe1ef708fd9de0b0d66e71578f34c3ee93379c4ea1e1a
 DIST matplotlib-3.3.3.tar.gz 37944403 BLAKE2B 30358d7b7df87b0b15724c4eeb132acdacf31ac900d5c06b22c7ebc7217d6cabcc76b7e29cea6af0b4711b5b1724ce34dd065f63cabcfd40c0fcf9788f94c1fe SHA512 36b482a6c36ee08c47f3c02c160289bbdec8746d4d246084723bd3e1fd632c6383f6db58c950a9773a6993d10f24dacd870a91faafc34864616288cd05b6232c
 DIST matplotlib-3.3.4.tar.gz 37941665 BLAKE2B 77b86dc3ceec3695a0d749197bcec684893d237da1aaf8778d9dc2038da1ba56b757bbce94efcf215ac30f35420b77e0a0e75ebb75b6d2cde5146d8a35ee25e7 SHA512 aadfe3db4edde9940b9e15daf1b6c5f237d3a6f38610956ceee994f919d711fce818ea12be4db18aa2a8638c4e8f434d79541fecaa7233e233bf4c73792bc4c4

diff --git a/dev-python/matplotlib/files/matplotlib-3.1.2-qhull.patch b/dev-python/matplotlib/files/matplotlib-3.1.2-qhull.patch
deleted file mode 100644
index e02e03e65ed..00000000000
--- a/dev-python/matplotlib/files/matplotlib-3.1.2-qhull.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: matplotlib-3.1.2/setupext.py
-===================================================================
---- matplotlib-3.1.2.orig/setupext.py
-+++ matplotlib-3.1.2/setupext.py
-@@ -839,14 +839,7 @@ class Qhull(SetupPackage):
-     name = "qhull"
- 
-     def add_flags(self, ext):
--        # Qhull doesn't distribute pkg-config info, so we have no way of
--        # knowing whether a system install is recent enough.  Thus, always use
--        # the vendored version.
--        ext.include_dirs.insert(0, 'extern')
--        ext.sources.extend(sorted(glob.glob('extern/libqhull/*.c')))
--        if sysconfig.get_config_var('LIBM') == '-lm':
--            ext.libraries.extend('m')
--
-+        ext.libraries.extend(['qhull'])
- 
- class TTConv(SetupPackage):
-     name = "ttconv"

diff --git a/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch
deleted file mode 100644
index 13755eaa33e..00000000000
--- a/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch
+++ /dev/null
@@ -1,419 +0,0 @@
-From 7a65dfda781777872083623595c27dc1174b2ed7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 7 Jun 2020 20:02:48 +0200
-Subject: [PATCH 1/2] Increase image comparison limits
-
-Most of the tests require exact match which apparently doesn't always
-happen in non-pristine environments.  Some of them have very big
-differences due to texlive font rendering changes.
----
- lib/matplotlib/tests/test_arrow_patches.py                 | 4 ++--
- lib/matplotlib/tests/test_axes.py                          | 2 +-
- lib/matplotlib/tests/test_backend_pgf.py                   | 7 ++++---
- lib/matplotlib/tests/test_figure.py                        | 2 +-
- lib/matplotlib/tests/test_legend.py                        | 6 +++---
- lib/matplotlib/tests/test_pickle.py                        | 2 +-
- lib/matplotlib/tests/test_units.py                         | 4 ++--
- lib/matplotlib/tests/test_usetex.py                        | 3 ++-
- lib/mpl_toolkits/tests/test_axes_grid1.py                  | 2 +-
- .../tests/test_axisartist_grid_helper_curvelinear.py       | 2 +-
- 10 files changed, 18 insertions(+), 16 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index a9409e2c1..0e356e921 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
-+                  tol={'aarch64': 0.02}.get(platform.machine(), 0.015),
-                   savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
-     """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
-+                  tol={'aarch64': 0.02}.get(platform.machine(), 0.018),
-                   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 75636301d..af057d598 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -3673,7 +3673,7 @@ def test_vertex_markers():
- 
- 
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+                  tol={'aarch64': 0.02}.get(platform.machine(), 0.015))
- def test_eb_line_zorder():
-     x = list(range(10))
- 
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 7843b4101..ddb2991c1 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -97,7 +97,8 @@ def test_xelatex():
- # test compiling a figure to pdf with pdflatex
- @needs_pdflatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_pdflatex.pdf'], style='default')
-+@image_comparison(['pgf_pdflatex.pdf'], style='default',
-+                  tol=11.669)
- def test_pdflatex():
-     if os.environ.get('APPVEYOR', False):
-         pytest.xfail("pdflatex test does not work on appveyor due to missing "
-@@ -133,7 +134,7 @@ def test_rcupdate():
-                 'pgf.preamble': ['\\usepackage[utf8x]{inputenc}',
-                                  '\\usepackage[T1]{fontenc}',
-                                  '\\usepackage{sfmath}']}]
--    tol = [6, 0]
-+    tol = [6, 14]
-     for i, rc_set in enumerate(rc_sets):
-         with mpl.rc_context(rc_set):
-             create_figure()
-@@ -161,7 +162,7 @@ def test_pathclip():
- @needs_xelatex
- @pytest.mark.backend('pgf')
- @image_comparison(['pgf_mixedmode.pdf'], style='default',
--                  tol={'aarch64': 1.086}.get(platform.machine(), 0.0))
-+                  tol=1.086)
- def test_mixedmode():
-     rc_xelatex = {'font.family': 'serif',
-                   'pgf.rcfonts': False}
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index b5ca0ed5b..885afa5f8 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -14,7 +14,7 @@ import pytest
- 
- 
- @image_comparison(['figure_align_labels'],
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+                  tol=0.02)
- def test_align_labels():
-     # Check the figure.align_labels() command
-     fig = plt.figure(tight_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 71499da44..a8bda6e84 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -106,7 +106,7 @@ def test_multiple_keys():
- 
- 
- @image_comparison(['rgba_alpha.png'], remove_text=True,
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+                  tol=0.02)
- def test_alpha_rgba():
-     import matplotlib.pyplot as plt
- 
-@@ -117,7 +117,7 @@ def test_alpha_rgba():
- 
- 
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+                  tol=0.02)
- def test_alpha_rcparam():
-     import matplotlib.pyplot as plt
- 
-@@ -145,7 +145,7 @@ def test_fancy():
- 
- 
- @image_comparison(['framealpha'], remove_text=True,
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+                  tol=0.02)
- 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 0fad3cdf2..4d2599607 100644
---- a/lib/matplotlib/tests/test_pickle.py
-+++ b/lib/matplotlib/tests/test_pickle.py
-@@ -41,7 +41,7 @@ def test_simple():
- 
- 
- @image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20',
--                  tol={'aarch64': 0.082}.get(platform.machine(), 0.0))
-+                  tol=0.082)
- def test_complete():
-     fig = plt.figure('Figure with a label?', figsize=(10, 6))
- 
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index f14425144..7f744da47 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -74,7 +74,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+                  tol={'aarch64': 0.02}.get(platform.machine(), 0.002))
- def test_numpy_facade(quantity_converter):
-     # use former defaults to match existing baseline image
-     plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -101,7 +101,7 @@ def test_numpy_facade(quantity_converter):
- 
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+                  tol=0.02)
- def test_plot_masked_units():
-     data = np.linspace(-5, 5)
-     data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index ec693288e..8af6b69eb 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -15,7 +15,8 @@ if not mpl.checkdep_usetex(True):
- @image_comparison(
-     baseline_images=['test_usetex'],
-     extensions=['pdf', 'png'],
--    style="mpl20")
-+    style="mpl20",
-+    tol=21)
- def test_usetex():
-     mpl.rcParams['text.usetex'] = True
-     fig = plt.figure()
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 9ed9a9280..56a3bd14a 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -343,7 +343,7 @@ def test_zooming_with_inverted_axes():
- 
- 
- @image_comparison(['anchored_direction_arrows.png'],
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+                  tol=0.02)
- def test_anchored_direction_arrows():
-     fig, ax = plt.subplots()
-     ax.imshow(np.zeros((10, 10)), interpolation='nearest')
-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 611908063..dc294aef5 100644
---- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
- 
- 
- @image_comparison(['custom_transform.png'], style='default',
--                  tol={'aarch64': 0.034}.get(platform.machine(), 0.03))
-+                  tol=0.034)
- def test_custom_transform():
-     class MyTransform(Transform):
-         input_dims = 2
--- 
-2.27.0
-
-From 506611e80a4fd12b3f633583d20119fc2f096ba7 Mon Sep 17 00:00:00 2001
-From: Antony Lee <anntzer.lee@gmail.com>
-Date: Tue, 10 Dec 2019 11:18:24 +0100
-Subject: [PATCH 2/2] Rewrite test_cycles to avoid image comparison tests.
-
-They can all be reasonably written by checking the artist properties.
----
- lib/matplotlib/tests/test_cycles.py | 141 ++++++++++------------------
- 1 file changed, 51 insertions(+), 90 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
-index ee67b4e41..a340b6166 100644
---- a/lib/matplotlib/tests/test_cycles.py
-+++ b/lib/matplotlib/tests/test_cycles.py
-@@ -1,6 +1,4 @@
--import platform
--
--from matplotlib.testing.decorators import image_comparison
-+import matplotlib as mpl
- import matplotlib.pyplot as plt
- import numpy as np
- import pytest
-@@ -8,133 +6,96 @@ import pytest
- from cycler import cycler
- 
- 
--@image_comparison(['color_cycle_basic.png'], remove_text=True,
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
- def test_colorcycle_basic():
-     fig, ax = plt.subplots()
-     ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']))
--    xs = np.arange(10)
--    ys = 0.25 * xs + 2
--    ax.plot(xs, ys, label='red', lw=4)
--    ys = 0.45 * xs + 3
--    ax.plot(xs, ys, label='green', lw=4)
--    ys = 0.65 * xs + 4
--    ax.plot(xs, ys, label='yellow', lw=4)
--    ys = 0.85 * xs + 5
--    ax.plot(xs, ys, label='red2', lw=4)
--    ax.legend(loc='upper left')
--
--
--@image_comparison(['marker_cycle.png', 'marker_cycle.png'], remove_text=True,
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+    for _ in range(4):
-+        ax.plot(range(10), range(10))
-+    assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
-+
-+
- def test_marker_cycle():
-     fig, ax = plt.subplots()
-     ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
-                       cycler('marker', ['.', '*', 'x']))
--    xs = np.arange(10)
--    ys = 0.25 * xs + 2
--    ax.plot(xs, ys, label='red dot', lw=4, ms=16)
--    ys = 0.45 * xs + 3
--    ax.plot(xs, ys, label='green star', lw=4, ms=16)
--    ys = 0.65 * xs + 4
--    ax.plot(xs, ys, label='yellow x', lw=4, ms=16)
--    ys = 0.85 * xs + 5
--    ax.plot(xs, ys, label='red2 dot', lw=4, ms=16)
--    ax.legend(loc='upper left')
-+    for _ in range(4):
-+        ax.plot(range(10), range(10))
-+    assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
-+    assert [l.get_marker() for l in ax.lines] == ['.', '*', 'x', '.']
- 
-+
-+def test_marker_cycle_kwargs_arrays_iterators():
-     fig, ax = plt.subplots()
--    # Test keyword arguments, numpy arrays, and generic iterators
-     ax.set_prop_cycle(c=np.array(['r', 'g', 'y']),
-                       marker=iter(['.', '*', 'x']))
--    xs = np.arange(10)
--    ys = 0.25 * xs + 2
--    ax.plot(xs, ys, label='red dot', lw=4, ms=16)
--    ys = 0.45 * xs + 3
--    ax.plot(xs, ys, label='green star', lw=4, ms=16)
--    ys = 0.65 * xs + 4
--    ax.plot(xs, ys, label='yellow x', lw=4, ms=16)
--    ys = 0.85 * xs + 5
--    ax.plot(xs, ys, label='red2 dot', lw=4, ms=16)
--    ax.legend(loc='upper left')
--
--
--@image_comparison(['lineprop_cycle_basic.png'], remove_text=True,
--                  tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+    for _ in range(4):
-+        ax.plot(range(10), range(10))
-+    assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
-+    assert [l.get_marker() for l in ax.lines] == ['.', '*', 'x', '.']
-+
-+
- def test_linestylecycle_basic():
-     fig, ax = plt.subplots()
-     ax.set_prop_cycle(cycler('ls', ['-', '--', ':']))
--    xs = np.arange(10)
--    ys = 0.25 * xs + 2
--    ax.plot(xs, ys, label='solid', lw=4, color='k')
--    ys = 0.45 * xs + 3
--    ax.plot(xs, ys, label='dashed', lw=4, color='k')
--    ys = 0.65 * xs + 4
--    ax.plot(xs, ys, label='dotted', lw=4, color='k')
--    ys = 0.85 * xs + 5
--    ax.plot(xs, ys, label='solid2', lw=4, color='k')
--    ax.legend(loc='upper left')
--
--
--@image_comparison(['fill_cycle_basic.png'], remove_text=True)
-+    for _ in range(4):
-+        ax.plot(range(10), range(10))
-+    assert [l.get_linestyle() for l in ax.lines] == ['-', '--', ':', '-']
-+
-+
- def test_fillcycle_basic():
-     fig, ax = plt.subplots()
-     ax.set_prop_cycle(cycler('c',  ['r', 'g', 'y']) +
-                       cycler('hatch', ['xx', 'O', '|-']) +
-                       cycler('linestyle', ['-', '--', ':']))
--    xs = np.arange(10)
--    ys = 0.25 * xs**.5 + 2
--    ax.fill(xs, ys, label='red, xx', linewidth=3)
--    ys = 0.45 * xs**.5 + 3
--    ax.fill(xs, ys, label='green, circle', linewidth=3)
--    ys = 0.65 * xs**.5 + 4
--    ax.fill(xs, ys, label='yellow, cross', linewidth=3)
--    ys = 0.85 * xs**.5 + 5
--    ax.fill(xs, ys, label='red2, xx', linewidth=3)
--    ax.legend(loc='upper left')
--
--
--@image_comparison(['fill_cycle_ignore.png'], remove_text=True)
-+    for _ in range(4):
-+        ax.fill(range(10), range(10))
-+    assert ([p.get_facecolor() for p in ax.patches]
-+            == [mpl.colors.to_rgba(c) for c in ['r', 'g', 'y', 'r']])
-+    assert [p.get_hatch() for p in ax.patches] == ['xx', 'O', '|-', 'xx']
-+    assert [p.get_linestyle() for p in ax.patches] == ['-', '--', ':', '-']
-+
-+
- def test_fillcycle_ignore():
-     fig, ax = plt.subplots()
-     ax.set_prop_cycle(cycler('color',  ['r', 'g', 'y']) +
-                       cycler('hatch', ['xx', 'O', '|-']) +
-                       cycler('marker', ['.', '*', 'D']))
--    xs = np.arange(10)
--    ys = 0.25 * xs**.5 + 2
-+    t = range(10)
-     # Should not advance the cycler, even though there is an
-     # unspecified property in the cycler "marker".
-     # "marker" is not a Polygon property, and should be ignored.
--    ax.fill(xs, ys, 'r', hatch='xx', label='red, xx')
--    ys = 0.45 * xs**.5 + 3
-+    ax.fill(t, t, 'r', hatch='xx')
-     # Allow the cycler to advance, but specify some properties
--    ax.fill(xs, ys, hatch='O', label='red, circle')
--    ys = 0.65 * xs**.5 + 4
--    ax.fill(xs, ys, label='green, circle')
--    ys = 0.85 * xs**.5 + 5
--    ax.fill(xs, ys, label='yellow, cross')
--    ax.legend(loc='upper left')
-+    ax.fill(t, t, hatch='O')
-+    ax.fill(t, t)
-+    ax.fill(t, t)
-+    assert ([p.get_facecolor() for p in ax.patches]
-+            == [mpl.colors.to_rgba(c) for c in ['r', 'r', 'g', 'y']])
-+    assert [p.get_hatch() for p in ax.patches] == ['xx', 'O', 'O', '|-']
- 
- 
--@image_comparison(['property_collision_plot.png'], remove_text=True)
- def test_property_collision_plot():
-     fig, ax = plt.subplots()
-     ax.set_prop_cycle('linewidth', [2, 4])
-+    t = range(10)
-     for c in range(1, 4):
--        ax.plot(np.arange(10), c * np.arange(10), lw=0.1, color='k')
--    ax.plot(np.arange(10), 4 * np.arange(10), color='k')
--    ax.plot(np.arange(10), 5 * np.arange(10), color='k')
-+        ax.plot(t, t, lw=0.1)
-+    ax.plot(t, t)
-+    ax.plot(t, t)
-+    assert [l.get_linewidth() for l in ax.lines] == [0.1, 0.1, 0.1, 2, 4]
- 
- 
--@image_comparison(['property_collision_fill.png'], remove_text=True)
- def test_property_collision_fill():
-     fig, ax = plt.subplots()
--    xs = np.arange(10)
--    ys = 0.25 * xs**.5 + 2
-     ax.set_prop_cycle(linewidth=[2, 3, 4, 5, 6], facecolor='bgcmy')
-+    t = range(10)
-     for c in range(1, 4):
--        ax.fill(xs, c * ys, lw=0.1)
--    ax.fill(xs, 4 * ys)
--    ax.fill(xs, 5 * ys)
-+        ax.fill(t, t, lw=0.1)
-+    ax.fill(t, t)
-+    ax.fill(t, t)
-+    assert ([p.get_facecolor() for p in ax.patches]
-+            == [mpl.colors.to_rgba(c) for c in 'bgcmy'])
-+    assert [p.get_linewidth() for p in ax.patches] == [0.1, 0.1, 0.1, 5, 6]
- 
- 
- def test_valid_input_forms():
--- 
-2.27.0
-

diff --git a/dev-python/matplotlib/matplotlib-3.2.2-r2.ebuild b/dev-python/matplotlib/matplotlib-3.2.2-r2.ebuild
deleted file mode 100644
index c72b85e3e6f..00000000000
--- a/dev-python/matplotlib/matplotlib-3.2.2-r2.ebuild
+++ /dev/null
@@ -1,271 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk wxwidgets"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
-	>=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
-	dev-python/python-dateutil:0[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	>=dev-python/six-1.14.0[${PYTHON_USEDEP}]
-	dev-python/versioneer[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	>=media-libs/qhull-2013:=
-	>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{6,7,8})
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/flaky[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
-	unset DISPLAY # bug #278524
-}
-
-use_supported() {
-	case ${1} in
-		wxwidgets)
-			[[ ${EPYTHON} == python3.[678] ]]
-			;;
-	esac
-
-	return 0
-}
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use_supported "${1}" && use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-#	cat > lib/${PN}/externals/six.py <<-EOF
-#	from __future__ import absolute_import
-#	from six import *
-#	EOF
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.1.2-qhull.patch
-		"${FILESDIR}"/matplotlib-3.2.2-test.patch
-	)
-
-	# requires jupyter-nbconvert
-	rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-
-	sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
-		-i lib/matplotlib/tests/test_*.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[packages]
-		tests = $(usex test True False)
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		# necessary for in-source build
-		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	local -x MPLLOCALFREETYPE=1
-	ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
-	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	"${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(verbosity=2))" || die
-}
-
-python_install() {
-	wrap_setup distutils-r1_python_install
-
-	# mpl_toolkits namespace
-	python_moduleinto mpl_toolkits
-	python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-
-	find "${D}" -name '*.pth' -delete || die
-}

diff --git a/dev-python/matplotlib/matplotlib-3.3.0-r1.ebuild b/dev-python/matplotlib/matplotlib-3.3.0-r1.ebuild
deleted file mode 100644
index 5419196c019..00000000000
--- a/dev-python/matplotlib/matplotlib-3.3.0-r1.ebuild
+++ /dev/null
@@ -1,275 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~ppc ppc64 ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk wxwidgets"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
-	>=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
-	dev-python/python-dateutil:0[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	>=dev-python/six-1.14.0[${PYTHON_USEDEP}]
-	dev-python/versioneer[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	>=media-libs/qhull-2013:=
-	>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{6,7,8})
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/flaky[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
-	unset DISPLAY # bug #278524
-}
-
-use_supported() {
-	case ${1} in
-		wxwidgets)
-			[[ ${EPYTHON} == python3.[678] ]]
-			;;
-	esac
-
-	return 0
-}
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use_supported "${1}" && use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-#	cat > lib/${PN}/externals/six.py <<-EOF
-#	from __future__ import absolute_import
-#	from six import *
-#	EOF
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.3.0-test.patch
-	)
-
-	# requires jupyter-nbconvert
-	rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-
-	sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
-		-i lib/matplotlib/tests/test_*.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[libs]
-		system_freetype = True
-		system_qhull = True
-		[packages]
-		tests = $(usex test True False)
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		# necessary for in-source build
-		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
-		> "${BUILD_DIR}"/test-setup.cfg || die
-	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-	ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
-	distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	"${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(verbosity=2))" || die
-}
-
-python_install() {
-	wrap_setup distutils-r1_python_install
-
-	# mpl_toolkits namespace
-	python_moduleinto mpl_toolkits
-	python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-
-	find "${D}" -name '*.pth' -delete || die
-}

diff --git a/dev-python/matplotlib/matplotlib-3.3.2.ebuild b/dev-python/matplotlib/matplotlib-3.3.2.ebuild
deleted file mode 100644
index 84bd21b203b..00000000000
--- a/dev-python/matplotlib/matplotlib-3.3.2.ebuild
+++ /dev/null
@@ -1,277 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk wxwidgets"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	dev-python/certifi[${PYTHON_USEDEP}]
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
-	>=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
-	dev-python/python-dateutil:0[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	>=dev-python/six-1.14.0[${PYTHON_USEDEP}]
-	dev-python/versioneer[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	>=media-libs/qhull-2013:=
-	>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{6,7,8})
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/flaky[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
-	unset DISPLAY # bug #278524
-}
-
-use_supported() {
-	case ${1} in
-		wxwidgets)
-			[[ ${EPYTHON} == python3.[678] ]]
-			;;
-	esac
-
-	return 0
-}
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use_supported "${1}" && use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-#	cat > lib/${PN}/externals/six.py <<-EOF
-#	from __future__ import absolute_import
-#	from six import *
-#	EOF
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.3.0-test.patch
-		"${FILESDIR}"/matplotlib-3.3.2-test-extra.patch
-	)
-
-	# requires jupyter-nbconvert
-	rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-
-	sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
-		-i lib/matplotlib/tests/test_*.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[libs]
-		system_freetype = True
-		system_qhull = True
-		[packages]
-		tests = $(usex test True False)
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		# necessary for in-source build
-		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
-		> "${BUILD_DIR}"/test-setup.cfg || die
-	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-	ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
-	distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	"${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
-}
-
-python_install() {
-	wrap_setup distutils-r1_python_install
-
-	# mpl_toolkits namespace
-	python_moduleinto mpl_toolkits
-	python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-
-	find "${D}" -name '*.pth' -delete || die
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2021-09-07  7:10 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2021-09-07  7:10 UTC (permalink / raw
  To: gentoo-commits

commit:     04c7991ef9a7e1619f387a6600abaea808f41aa7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep  7 05:14:38 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep  7 07:10:27 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04c7991e

dev-python/matplotlib: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   3 -
 .../matplotlib/files/matplotlib-3.3.0-test.patch   | 225 ----------------
 .../files/matplotlib-3.3.2-test-extra.patch        |  25 --
 .../files/matplotlib-3.3.4-test-extra.patch        |  12 -
 dev-python/matplotlib/matplotlib-3.3.4.ebuild      | 282 ---------------------
 dev-python/matplotlib/matplotlib-3.4.0.ebuild      | 280 --------------------
 dev-python/matplotlib/matplotlib-3.4.1.ebuild      | 279 --------------------
 7 files changed, 1106 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 39a8b399b75..64a5e12872c 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,6 +1,3 @@
 DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.3.4.tar.gz 37941665 BLAKE2B 77b86dc3ceec3695a0d749197bcec684893d237da1aaf8778d9dc2038da1ba56b757bbce94efcf215ac30f35420b77e0a0e75ebb75b6d2cde5146d8a35ee25e7 SHA512 aadfe3db4edde9940b9e15daf1b6c5f237d3a6f38610956ceee994f919d711fce818ea12be4db18aa2a8638c4e8f434d79541fecaa7233e233bf4c73792bc4c4
-DIST matplotlib-3.4.0.tar.gz 37142983 BLAKE2B 64b23d5b9e93e6b319674cea06d0ad425def952e50e7cb163ae91ae0d4460872bb329144271472b7dc2d0ab0a742c9c93ea735dca60ee4b4aa569cb4350cca0b SHA512 880c1e1027c819a34f5528b96d1b730cdd6541aa23931aef4185406ecec971ec2f4c8ca374eced56e654e016652472f7abcd0aae977dd4f327b8c511983a2a1d
-DIST matplotlib-3.4.1.tar.gz 37253296 BLAKE2B e1dfd1b0d8bb0d3ed13ac03a5b3112a237c4b7ef3c82694ad6779c810bbd94c165bde88d00fad270d5da6e269d778b33f276620b51e1f134fa2c5b9dcb0a4f28 SHA512 076510ddd152a395fabb76aa47566e9b75f3c8ba3c5246b39229b20fbfc209d4bbdfd441271b22e364f0974963309c02bdd0519fc2a7e8a406afc462f69246b6
 DIST matplotlib-3.4.2.tar.gz 37308683 BLAKE2B b769244b3d7a7da9125f6b634e9340676d849322491390d1c9a0cec3dfce59a8b5b5c0b567575ae78212129f7303b6b1fbbf30ce7c8a23c43c1304e83c9c5f5e SHA512 d4798dd2d6c857db0fe6d4ec85ebabc028b78627311bab17f7b9b30f6aa61d5243114b1cfe9d83293ad66ae47df83add5272f032954990dfc04054a792049f2a
 DIST matplotlib-3.4.3.tar.gz 37850796 BLAKE2B 15b40da8f6973ece4a91fffb5caf249cb8642263bfc2a784ec482bfaad250b6d3beffb9d2ba8a03e5fa10abab02b0e35728a8499ccb870aca06df57c5c1f91f4 SHA512 c2fe54e7517a1417aa8e55596e83edd090534c07f22882634d6ba0a07196441b5bbdd15958473805d8e8871b1b73380487aff3224294d472cd6122490c783145

diff --git a/dev-python/matplotlib/files/matplotlib-3.3.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.3.0-test.patch
deleted file mode 100644
index c7ce64b9b3b..00000000000
--- a/dev-python/matplotlib/files/matplotlib-3.3.0-test.patch
+++ /dev/null
@@ -1,225 +0,0 @@
-From 2fa4f25b9db19a1f59b03d56221c4752c03912fb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 7 Jun 2020 20:02:48 +0200
-Subject: [PATCH] Increase image comparison limits
-
-Most of the tests require exact match which apparently doesn't always
-happen in non-pristine environments.  Some of them have very big
-differences due to texlive font rendering changes.
----
- lib/matplotlib/tests/test_arrow_patches.py                | 4 ++--
- lib/matplotlib/tests/test_axes.py                         | 2 +-
- lib/matplotlib/tests/test_backend_pgf.py                  | 8 +++++---
- lib/matplotlib/tests/test_figure.py                       | 2 +-
- lib/matplotlib/tests/test_legend.py                       | 6 +++---
- lib/matplotlib/tests/test_pickle.py                       | 2 +-
- lib/matplotlib/tests/test_units.py                        | 4 ++--
- lib/matplotlib/tests/test_usetex.py                       | 3 ++-
- lib/mpl_toolkits/tests/test_axes_grid1.py                 | 2 +-
- .../tests/test_axisartist_grid_helper_curvelinear.py      | 2 +-
- lib/mpl_toolkits/tests/test_mplot3d.py                    | 2 +-
- 11 files changed, 20 insertions(+), 17 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index cca505ab9..871935c15 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02,
-                   savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
-     """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.018 if platform.machine() == 'x86_64' else 0.02,
-                   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 6eedf20d5..198ed41ec 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -3718,7 +3718,7 @@ def test_vertex_markers():
- 
- 
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
-     x = list(range(10))
- 
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 702cc6c35..71038e702 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -114,7 +114,8 @@ def test_xelatex():
- # test compiling a figure to pdf with pdflatex
- @needs_pdflatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_pdflatex.pdf'], style='default')
-+@image_comparison(['pgf_pdflatex.pdf'], style='default',
-+                  tol=11.669)
- def test_pdflatex():
-     if os.environ.get('APPVEYOR', False):
-         pytest.xfail("pdflatex test does not work on appveyor due to missing "
-@@ -151,7 +152,7 @@ def test_rcupdate():
-                 'pgf.preamble': ('\\usepackage[utf8x]{inputenc}'
-                                  '\\usepackage[T1]{fontenc}'
-                                  '\\usepackage{sfmath}')}]
--    tol = [6, 0]
-+    tol = [6, 14]
-     for i, rc_set in enumerate(rc_sets):
-         with mpl.rc_context(rc_set):
-             create_figure()
-@@ -178,7 +179,8 @@ def test_pathclip():
- # test mixed mode rendering
- @needs_xelatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_mixedmode.pdf'], style='default')
-+@image_comparison(['pgf_mixedmode.pdf'], style='default',
-+                  tol=1.086)
- def test_mixedmode():
-     rc_xelatex = {'font.family': 'serif',
-                   'pgf.rcfonts': False}
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index aab35201c..a657198f7 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -22,7 +22,7 @@ import pytest
- 
- 
- @image_comparison(['figure_align_labels'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_align_labels():
-     fig = plt.figure(tight_layout=True)
-     gs = gridspec.GridSpec(3, 3)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 8e9c0771f..d1fb3818a 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -105,7 +105,7 @@ def test_multiple_keys():
- 
- 
- @image_comparison(['rgba_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rgba():
-     fig, ax = plt.subplots(1, 1)
-     ax.plot(range(10), lw=5)
-@@ -114,7 +114,7 @@ def test_alpha_rgba():
- 
- 
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rcparam():
-     fig, ax = plt.subplots(1, 1)
-     ax.plot(range(10), lw=5)
-@@ -140,7 +140,7 @@ def test_fancy():
- 
- 
- @image_comparison(['framealpha'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.02)
- 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 82bf4d8e8..13046357a 100644
---- a/lib/matplotlib/tests/test_pickle.py
-+++ b/lib/matplotlib/tests/test_pickle.py
-@@ -41,7 +41,7 @@ def test_simple():
- 
- 
- @image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.082)
-+                  tol=0.082)
- def test_complete():
-     fig = plt.figure('Figure with a label?', figsize=(10, 6))
- 
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index 252136b4d..f0e7ced31 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -74,7 +74,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
-     # use former defaults to match existing baseline image
-     plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -101,7 +101,7 @@ def test_numpy_facade(quantity_converter):
- 
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_plot_masked_units():
-     data = np.linspace(-5, 5)
-     data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 25006f174..694a510e7 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -13,7 +13,8 @@ if not mpl.checkdep_usetex(True):
- @image_comparison(
-     baseline_images=['test_usetex'],
-     extensions=['pdf', 'png'],
--    style="mpl20")
-+    style="mpl20",
-+    tol=21)
- def test_usetex():
-     mpl.rcParams['text.usetex'] = True
-     fig = plt.figure()
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 96830441e..c403b0bf2 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -331,7 +331,7 @@ def test_zooming_with_inverted_axes():
- 
- 
- @image_comparison(['anchored_direction_arrows.png'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_anchored_direction_arrows():
-     fig, ax = plt.subplots()
-     ax.imshow(np.zeros((10, 10)), interpolation='nearest')
-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 05534869a..6e7053722 100644
---- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
- 
- 
- @image_comparison(['custom_transform.png'], style='default',
--                  tol=0.03 if platform.machine() == 'x86_64' else 0.034)
-+                  tol=0.034)
- def test_custom_transform():
-     class MyTransform(Transform):
-         input_dims = output_dims = 2
-diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
-index 37532335e..5a2645235 100644
---- a/lib/mpl_toolkits/tests/test_mplot3d.py
-+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
-@@ -287,7 +287,7 @@ def test_marker_draw_order_view_rotated(fig_test, fig_ref):
-     ax.view_init(elev=0, azim=azim - 180)  # view rotated by 180 degrees
- 
- 
--@mpl3d_image_comparison(['plot_3d_from_2d.png'], tol=0.01)
-+@mpl3d_image_comparison(['plot_3d_from_2d.png'], tol=0.012)
- def test_plot_3d_from_2d():
-     fig = plt.figure()
-     ax = fig.add_subplot(111, projection='3d')
--- 
-2.27.0
-

diff --git a/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch b/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch
deleted file mode 100644
index 1fff166295b..00000000000
--- a/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5d2f40b312966c08436b4495980313f2dacd9750 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 15 Sep 2020 23:48:05 +0200
-Subject: [PATCH] Increase tolerance for test_transparent_markers
-
----
- lib/matplotlib/tests/test_axes.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 412dd2471..52a32f9f1 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -3500,7 +3500,7 @@ def test_hist_labels():
-     assert l[2][0].get_label() == '00'
- 
- 
--@image_comparison(['transparent_markers'], remove_text=True)
-+@image_comparison(['transparent_markers'], remove_text=True, tol=5)
- def test_transparent_markers():
-     np.random.seed(0)
-     data = np.random.random(50)
--- 
-2.28.0
-

diff --git a/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch b/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch
deleted file mode 100644
index 0c62334086a..00000000000
--- a/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -dupr a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
---- a/lib/mpl_toolkits/tests/test_mplot3d.py	2021-01-29 10:43:01.196582153 +0100
-+++ b/lib/mpl_toolkits/tests/test_mplot3d.py	2021-01-29 10:44:36.084875177 +0100
-@@ -150,7 +150,7 @@ def test_contourf3d_fill():
-     ax.set_zlim(-1, 1)
- 
- 
--@mpl3d_image_comparison(['tricontour.png'])
-+@mpl3d_image_comparison(['tricontour.png'], tol=0.02)
- def test_tricontour():
-     fig = plt.figure()
- 

diff --git a/dev-python/matplotlib/matplotlib-3.3.4.ebuild b/dev-python/matplotlib/matplotlib-3.3.4.ebuild
deleted file mode 100644
index 9e754ff8b2d..00000000000
--- a/dev-python/matplotlib/matplotlib-3.3.4.ebuild
+++ /dev/null
@@ -1,282 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	dev-python/certifi[${PYTHON_USEDEP}]
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
-	>=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
-	dev-python/python-dateutil:0[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	>=dev-python/six-1.14.0[${PYTHON_USEDEP}]
-	dev-python/versioneer[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	>=media-libs/qhull-2013:=
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-	)
-	webagg? (
-		>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{6,7,8})
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/flaky[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
-	unset DISPLAY # bug #278524
-}
-
-use_supported() {
-	case ${1} in
-		wxwidgets)
-			[[ ${EPYTHON} == python3.[678] ]]
-			;;
-	esac
-
-	return 0
-}
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use_supported "${1}" && use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-#	cat > lib/${PN}/externals/six.py <<-EOF
-#	from __future__ import absolute_import
-#	from six import *
-#	EOF
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.3.0-test.patch
-		"${FILESDIR}"/matplotlib-3.3.2-test-extra.patch
-		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
-		"${FILESDIR}"/matplotlib-3.3.4-test-extra.patch
-	)
-
-	# requires jupyter-nbconvert
-	rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-
-	sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
-		-i lib/matplotlib/tests/test_*.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[libs]
-		system_freetype = True
-		system_qhull = True
-		[packages]
-		tests = $(usex test True False)
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		macosx = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		# necessary for in-source build
-		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
-		> "${BUILD_DIR}"/test-setup.cfg || die
-	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-	ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
-	distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	"${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
-}
-
-python_install() {
-	wrap_setup distutils-r1_python_install
-
-	# mpl_toolkits namespace
-	python_moduleinto mpl_toolkits
-	python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-
-	find "${D}" -name '*.pth' -delete || die
-}

diff --git a/dev-python/matplotlib/matplotlib-3.4.0.ebuild b/dev-python/matplotlib/matplotlib-3.4.0.ebuild
deleted file mode 100644
index 70fc4ea111b..00000000000
--- a/dev-python/matplotlib/matplotlib-3.4.0.ebuild
+++ /dev/null
@@ -1,280 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	dev-python/certifi[${PYTHON_USEDEP}]
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
-	>=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	>=dev-python/six-1.14.0[${PYTHON_USEDEP}]
-	dev-python/versioneer[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	>=media-libs/qhull-2013:=
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-	)
-	webagg? (
-		>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{6,7,8})
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/flaky[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
-	unset DISPLAY # bug #278524
-}
-
-use_supported() {
-	case ${1} in
-		wxwidgets)
-			[[ ${EPYTHON} == python3.[678] ]]
-			;;
-	esac
-
-	return 0
-}
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use_supported "${1}" && use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-#	cat > lib/${PN}/externals/six.py <<-EOF
-#	from __future__ import absolute_import
-#	from six import *
-#	EOF
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.4.0-test.patch
-		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
-	)
-
-	# requires jupyter-nbconvert
-	rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-
-	sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
-		-i lib/matplotlib/tests/test_*.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[libs]
-		system_freetype = True
-		system_qhull = True
-		[packages]
-		tests = $(usex test True False)
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		macosx = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		# necessary for in-source build
-		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
-		> "${BUILD_DIR}"/test-setup.cfg || die
-	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-	ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
-	distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	"${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
-}
-
-python_install() {
-	wrap_setup distutils-r1_python_install
-
-	# mpl_toolkits namespace
-	python_moduleinto mpl_toolkits
-	python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-
-	find "${D}" -name '*.pth' -delete || die
-}

diff --git a/dev-python/matplotlib/matplotlib-3.4.1.ebuild b/dev-python/matplotlib/matplotlib-3.4.1.ebuild
deleted file mode 100644
index a145e84f8c2..00000000000
--- a/dev-python/matplotlib/matplotlib-3.4.1.ebuild
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~sparc ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	dev-python/certifi[${PYTHON_USEDEP}]
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
-	>=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	>=dev-python/six-1.14.0[${PYTHON_USEDEP}]
-	dev-python/versioneer[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	>=media-libs/qhull-2013:=
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-	)
-	webagg? (
-		>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		dev-python/wxpython:*[${PYTHON_USEDEP}]
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/flaky[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
-		>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
-	unset DISPLAY # bug #278524
-}
-
-use_supported() {
-	case ${1} in
-		wxwidgets)
-			[[ ${EPYTHON} == python3.[678] ]]
-			;;
-	esac
-
-	return 0
-}
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use_supported "${1}" && use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-#	cat > lib/${PN}/externals/six.py <<-EOF
-#	from __future__ import absolute_import
-#	from six import *
-#	EOF
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.4.0-test.patch
-		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
-		"${FILESDIR}"/matplotlib-3.4.1-xelatex-test.patch
-	)
-
-	# requires jupyter-nbconvert
-	rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-
-	sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
-		-i lib/matplotlib/tests/test_*.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[libs]
-		system_freetype = True
-		system_qhull = True
-		[packages]
-		tests = $(usex test True False)
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		macosx = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		# necessary for in-source build
-		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
-		> "${BUILD_DIR}"/test-setup.cfg || die
-	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-	ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
-	distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	"${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
-}
-
-python_install() {
-	wrap_setup distutils-r1_python_install
-
-	# mpl_toolkits namespace
-	python_moduleinto mpl_toolkits
-	python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-
-	find "${D}" -name '*.pth' -delete || die
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2022-05-03 10:20 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2022-05-03 10:20 UTC (permalink / raw
  To: gentoo-commits

commit:     dd9857e36002f18fd68211cf7e523323eb8da121
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May  3 07:02:36 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May  3 10:20:00 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd9857e3

dev-python/matplotlib: Bump to 3.5.2

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.5.2-test.patch   | 261 ++++++++++++++++++
 dev-python/matplotlib/matplotlib-3.5.2.ebuild      | 294 +++++++++++++++++++++
 3 files changed, 556 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index bcd051ad24c7..d3a94af7e8db 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,3 +1,4 @@
 DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
 DIST matplotlib-3.4.3.tar.gz 37850796 BLAKE2B 15b40da8f6973ece4a91fffb5caf249cb8642263bfc2a784ec482bfaad250b6d3beffb9d2ba8a03e5fa10abab02b0e35728a8499ccb870aca06df57c5c1f91f4 SHA512 c2fe54e7517a1417aa8e55596e83edd090534c07f22882634d6ba0a07196441b5bbdd15958473805d8e8871b1b73380487aff3224294d472cd6122490c783145
 DIST matplotlib-3.5.1.tar.gz 35320470 BLAKE2B ebf69b62ac587c61ecf8442abaab302019f63a3c9d8db6f7f7fb32f4d14da554fd8305ea6dfed2ff86a5af4e7e4d2b81f14802692fe50c986f7da8545bd26c00 SHA512 a317dbd748e5fc1fafcf80020cb6d38a8888431487beded97acd59d759e67e54f59506b642e4a03d4351c1ac050d15e3f2e2b5443433debc78ddad52881c8d82
+DIST matplotlib-3.5.2.tar.gz 35210006 BLAKE2B e3f90a0cf1d28f041a8cdd6920a8a4efe16169bb4acf85f7b2562196db306eeb692218728ea33c7b62214e7894e83a104954cbef38c45ccbb4f630bd35c0c36b SHA512 32844dfa85dbc43360c1773d748a58d2ab089111c51c825da62956c778a0eeaf10ca33a5c6c094295388a80d5873a2e1b17484e02b653e9e8e5ba98659329974

diff --git a/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
new file mode 100644
index 000000000000..4b54480c5adf
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
@@ -0,0 +1,261 @@
+From ea4bae5e68e3065ca159ea309a0f3325a06e7f35 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 26 Mar 2021 13:42:49 +0100
+Subject: [PATCH] Increase image comparison limits
+
+Most of the tests require exact match which apparently doesn't always
+happen in non-pristine environments.  Some of them have very big
+differences due to texlive font rendering changes.
+---
+ lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
+ lib/matplotlib/tests/test_axes.py          | 4 ++--
+ lib/matplotlib/tests/test_backend_pgf.py   | 2 +-
+ lib/matplotlib/tests/test_colorbar.py      | 2 +-
+ lib/matplotlib/tests/test_contour.py       | 2 +-
+ lib/matplotlib/tests/test_figure.py        | 5 +++--
+ lib/matplotlib/tests/test_image.py         | 2 +-
+ lib/matplotlib/tests/test_legend.py        | 6 +++---
+ lib/matplotlib/tests/test_lines.py         | 3 ++-
+ lib/matplotlib/tests/test_streamplot.py    | 3 ++-
+ lib/matplotlib/tests/test_units.py         | 4 ++--
+ lib/matplotlib/tests/test_usetex.py        | 1 +
+ lib/mpl_toolkits/tests/test_axes_grid1.py  | 2 +-
+ 13 files changed, 23 insertions(+), 19 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index 8d573b4adb..dfc42efcb9 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+ 
+ 
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02,
++                  tol=0.015 if platform.machine() == 'x86_64' else 0.02,
+                   savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+     """
+@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+ 
+ 
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02,
++                  tol=0.018 if platform.machine() == 'x86_64' else 0.02,
+                   savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+     """
+@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
+ 
+ 
+ @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.005)
++                  tol=0.005)
+ def test_arrow_styles():
+     styles = mpatches.ArrowStyle.get_styles()
+ 
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index eb4c34382b..cca73a23f9 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -918,7 +918,7 @@ def test_imshow():
+     ax.imshow("r", data=data)
+ 
+ 
+-@image_comparison(['imshow_clip'], style='mpl20')
++@image_comparison(['imshow_clip'], style='mpl20', tol=1.24)
+ def test_imshow_clip():
+     # As originally reported by Gellule Xg <gellule.xg@free.fr>
+     # use former defaults to match existing baseline image
+@@ -4231,7 +4231,7 @@ def test_vertex_markers():
+ 
+ 
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02)
++                  tol=0.015 if platform.machine() == 'x86_64' else 0.02)
+ def test_eb_line_zorder():
+     x = list(range(10))
+ 
+diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
+index 9b5b0b28ee..a374be0333 100644
+--- a/lib/matplotlib/tests/test_backend_pgf.py
++++ b/lib/matplotlib/tests/test_backend_pgf.py
+@@ -80,7 +80,7 @@ def test_common_texification(plain_text, escaped_text):
+ # test compiling a figure to pdf with xelatex
+ @needs_xelatex
+ @pytest.mark.backend('pgf')
+-@image_comparison(['pgf_xelatex.pdf'], style='default')
++@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
+ def test_xelatex():
+     rc_xelatex = {'font.family': 'serif',
+                   'pgf.rcfonts': False}
+diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
+index 304056f6d1..9934bac550 100644
+--- a/lib/matplotlib/tests/test_colorbar.py
++++ b/lib/matplotlib/tests/test_colorbar.py
+@@ -218,7 +218,7 @@ def test_colorbar_single_ax_panchor_false():
+     plt.colorbar(panchor=False)
+ 
+ 
+-@image_comparison(['contour_colorbar.png'], remove_text=True)
++@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01)
+ def test_contour_colorbar():
+     fig, ax = plt.subplots(figsize=(4, 2))
+     data = np.arange(1200).reshape(30, 40) - 500
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index 10fb011166..f49fb25dc8 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -345,7 +345,7 @@ def test_contourf_log_extension():
+ 
+ 
+ @image_comparison(['contour_addlines.png'],
+-                  remove_text=True, style='mpl20', tol=0.03)
++                  remove_text=True, style='mpl20', tol=0.1)
+ # tolerance is because image changed minutely when tick finding on
+ # colorbars was cleaned up...
+ def test_contour_addlines():
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index 1e076bd64f..11c2668d33 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -23,7 +23,7 @@ import matplotlib.gridspec as gridspec
+ 
+ 
+ @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.02)
+ def test_align_labels():
+     fig = plt.figure(tight_layout=True)
+     gs = gridspec.GridSpec(3, 3)
+@@ -1124,7 +1124,8 @@ def test_subfigure_tightbbox():
+ 
+ @image_comparison(['test_subfigure_ss.png'], style='mpl20',
+                   savefig_kwarg={'facecolor': 'teal'},
+-                  remove_text=False)
++                  remove_text=False,
++                  tol=0.013)
+ def test_subfigure_ss():
+     # test assigning the subfigure via subplotspec
+     np.random.seed(19680801)
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index 719b190578..ee2263a88e 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -1324,7 +1324,7 @@ def test_nonuniform_and_pcolor():
+ 
+ 
+ @image_comparison(["rgba_antialias.png"], style="mpl20",
+-                  remove_text=True)
++                  remove_text=True, tol=0.005)
+ def test_rgba_antialias():
+     fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
+                             sharey=False, constrained_layout=True)
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index fe8a8dd5f6..43fbda8ab0 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -102,7 +102,7 @@ def test_multiple_keys():
+ 
+ 
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.02)
+ def test_alpha_rgba():
+     fig, ax = plt.subplots()
+     ax.plot(range(10), lw=5)
+@@ -111,7 +111,7 @@ def test_alpha_rgba():
+ 
+ 
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.02)
+ def test_alpha_rcparam():
+     fig, ax = plt.subplots()
+     ax.plot(range(10), lw=5)
+@@ -137,7 +137,7 @@ def test_fancy():
+ 
+ 
+ @image_comparison(['framealpha'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02)
++                  tol=0.02)
+ def test_framealpha():
+     x = np.linspace(1, 100, 100)
+     y = x
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index f6917a134b..4a14abb74d 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -162,7 +162,8 @@ def test_set_drawstyle():
+     assert len(line.get_path().vertices) == len(x)
+ 
+ 
+-@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
++@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
++                  tol=0.58)
+ def test_set_line_coll_dash_image():
+     fig, ax = plt.subplots()
+     np.random.seed(0)
+diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
+index c8824feb06..081e8c0559 100644
+--- a/lib/matplotlib/tests/test_streamplot.py
++++ b/lib/matplotlib/tests/test_streamplot.py
+@@ -34,7 +34,8 @@ def test_startpoints():
+     plt.plot(start_x, start_y, 'ok')
+ 
+ 
+-@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20')
++@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20',
++                  tol=0.002)
+ 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_units.py b/lib/matplotlib/tests/test_units.py
+index a6f6b44c97..ab5ad8b5cf 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -76,7 +76,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.002 if platform.machine() == 'x86_64' else 0.01)
+ def test_numpy_facade(quantity_converter):
+     # use former defaults to match existing baseline image
+     plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -103,7 +103,7 @@ def test_numpy_facade(quantity_converter):
+ 
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.02)
+ def test_plot_masked_units():
+     data = np.linspace(-5, 5)
+     data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 12557cf847..25b65ead67 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -11,6 +11,7 @@ if not mpl.checkdep_usetex(True):
+     pytestmark = pytest.mark.skip('Missing TeX of Ghostscript or dvipng')
+ 
+ 
++@pytest.mark.skip(reason="TODO: broken")
+ @image_comparison(
+     baseline_images=['test_usetex'],
+     extensions=['pdf', 'png'],
+diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
+index f8902ca72f..323579b8b6 100644
+--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
+@@ -336,7 +336,7 @@ def test_zooming_with_inverted_axes():
+ 
+ 
+ @image_comparison(['anchored_direction_arrows.png'],
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.02)
+ def test_anchored_direction_arrows():
+     fig, ax = plt.subplots()
+     ax.imshow(np.zeros((10, 10)), interpolation='nearest')
+-- 
+2.35.1
+

diff --git a/dev-python/matplotlib/matplotlib-3.5.2.ebuild b/dev-python/matplotlib/matplotlib-3.5.2.ebuild
new file mode 100644
index 000000000000..b34037d20297
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.5.2.ebuild
@@ -0,0 +1,294 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+	https://matplotlib.org/
+	https://github.com/matplotlib/matplotlib/
+	https://pypi.org/project/matplotlib/
+"
+SRC_URI="
+	mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+	test? (
+		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+	)
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+#	dev-python/pycxx
+RDEPEND="
+	dev-python/certifi[${PYTHON_USEDEP}]
+	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+	>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+	>=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
+	>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+	>=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
+	>=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+	>=dev-python/six-1.14.0[${PYTHON_USEDEP}]
+	dev-python/versioneer[${PYTHON_USEDEP}]
+	media-fonts/dejavu
+	media-fonts/stix-fonts
+	media-libs/freetype:2
+	media-libs/libpng:0
+	>=media-libs/qhull-2013:=
+	virtual/imagemagick-tools[jpeg,tiff]
+	cairo? (
+		dev-python/cairocffi[${PYTHON_USEDEP}]
+	)
+	excel? (
+		dev-python/xlwt[${PYTHON_USEDEP}]
+	)
+	gtk3? (
+		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection]
+	)
+	latex? (
+		virtual/latex-base
+		app-text/dvipng
+		app-text/ghostscript-gpl
+		app-text/poppler[utils]
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-luatex
+		dev-texlive/texlive-xetex
+	)
+	qt5? (
+		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+	)
+	webagg? (
+		>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+	)
+	wxwidgets? (
+		dev-python/wxpython:*[${PYTHON_USEDEP}]
+	)
+"
+
+BDEPEND="
+	${RDEPEND}
+	dev-python/setuptools_scm[${PYTHON_USEDEP}]
+	dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
+	virtual/pkgconfig
+	doc? (
+		>=app-text/dvipng-1.15-r1
+		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+		virtual/latex-base
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexrecommended
+		dev-texlive/texlive-luatex
+		dev-texlive/texlive-xetex
+		>=media-gfx/graphviz-2.42.3[cairo]
+	)
+	test? (
+		dev-python/flaky[${PYTHON_USEDEP}]
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/psutil[${PYTHON_USEDEP}]
+		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+		>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection]
+	)
+"
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+distutils_enable_tests pytest
+
+pkg_setup() {
+	unset DISPLAY # bug #278524
+}
+
+use_supported() {
+	case ${1} in
+		wxwidgets)
+			[[ ${EPYTHON} == python3.[678] ]]
+			;;
+	esac
+
+	return 0
+}
+
+use_setup() {
+	local uword="${2:-${1}}"
+	if use_supported "${1}" && use "${1}"; then
+		echo "${uword} = True"
+		echo "${uword}agg = True"
+	else
+		echo "${uword} = False"
+		echo "${uword}agg = False"
+	fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+#	local PATCHES=(
+#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
+#		"${FILESDIR}"/${P}-unbundle-agg.patch
+#	)
+#	rm -r agg24 CXX || die
+#	rm -r agg24 || die
+
+#	cat > lib/${PN}/externals/six.py <<-EOF
+#	from __future__ import absolute_import
+#	from six import *
+#	EOF
+
+	local PATCHES=(
+		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+		"${FILESDIR}"/matplotlib-3.5.2-test.patch
+	)
+
+	# requires jupyter-nbconvert
+	rm lib/matplotlib/tests/test_backend_nbagg.py || die
+
+	sed \
+		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+		|| die "sed pyparsing failed"
+
+	sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
+		-i lib/matplotlib/tests/test_*.py || die
+
+	hprefixify setupext.py
+
+	rm -rf libqhull || die
+
+	export XDG_RUNTIME_DIR="${T}/runtime-dir"
+	mkdir "${XDG_RUNTIME_DIR}" || die
+	chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+	append-flags -fno-strict-aliasing
+	append-cppflags -DNDEBUG  # or get old trying to do triangulation
+	tc-export PKG_CONFIG
+}
+
+python_configure() {
+	mkdir -p "${BUILD_DIR}" || die
+
+	# create setup.cfg (see setup.cfg.template for any changes).
+
+	# common switches.
+	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+		[directories]
+		basedirlist = ${EPREFIX}/usr
+		[provide_packages]
+		pytz = False
+		dateutil = False
+		[libs]
+		system_freetype = True
+		system_qhull = True
+		[packages]
+		tests = $(usex test True False)
+		[gui_support]
+		agg = True
+		gtk = False
+		gtkagg = False
+		macosx = False
+		pyside = False
+		pysideagg = False
+		qt4 = False
+		qt4agg = False
+		$(use_setup cairo)
+		$(use_setup gtk3)
+		$(use_setup qt5)
+		$(use_setup tk)
+		$(use_setup wxwidgets wx)
+	EOF
+
+	if use gtk3 && use cairo; then
+		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+	else
+		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+	fi
+}
+
+wrap_setup() {
+	local MAKEOPTS=-j1
+	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+	"$@"
+}
+
+python_compile() {
+	wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
+}
+
+python_compile_all() {
+	if use doc; then
+		cd doc || die
+
+		# necessary for in-source build
+		local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+		VARTEXFONTS="${T}"/fonts \
+		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+	fi
+}
+
+src_test() {
+	virtx distutils-r1_src_test
+}
+
+python_test() {
+	# we need to rebuild mpl against bundled freetype, otherwise
+	# over 1000 tests will fail because of mismatched font rendering
+	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+		> "${BUILD_DIR}"/test-setup.cfg || die
+	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+	ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
+	distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
+	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+	"${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
+}
+
+python_install() {
+	wrap_setup distutils-r1_python_install
+
+	# mpl_toolkits namespace
+	python_moduleinto mpl_toolkits
+	python_domodule lib/mpl_toolkits/__init__.py
+}
+
+python_install_all() {
+	use doc && local HTML_DOCS=( doc/build/html/. )
+
+	distutils-r1_python_install_all
+
+	if use examples; then
+		dodoc -r examples
+		docompress -x /usr/share/doc/${PF}/examples
+	fi
+
+	find "${D}" -name '*.pth' -delete || die
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2023-01-12  6:14 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2023-01-12  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     4e288a50eaaa453834259089cb9f89ef11d4b9ba
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 12 05:22:34 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 12 06:13:47 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e288a50

dev-python/matplotlib: Bump to 3.6.3

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.6.3-test.patch   |  25 ++
 dev-python/matplotlib/matplotlib-3.6.3.ebuild      | 281 +++++++++++++++++++++
 3 files changed, 307 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 30587c3f6ac3..6a671b9518cf 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -2,3 +2,4 @@ DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2
 DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670
 DIST matplotlib-3.6.1.tar.gz 35826557 BLAKE2B b30710436a773298dcdf233e592656d9815f55f0daab0cc28811b9adbfd3b2ede08f4c13e0dfa43c5fb283bc1ba96ea793084f3d65ba13b9697d14ffa406a273 SHA512 40b148fe4574eea88e7e74c2844a4811c71651602bd7e0a863482571bfa216c01d4f5fcd36add14af82c5cacdb6ae9d441ed251ee5239d06bcc8d40c9ee8841b
 DIST matplotlib-3.6.2.tar.gz 35843927 BLAKE2B 22b933b2ca2bfb156ee1592f522da6e7566f279fd6c7ef2d2f5aeb8697fc04085b57ba6bb5f7948572b3e671687b74d6ba9f7def2728b6224fbc98b121281a3c SHA512 51b84a4328a85f674cb44728955fca8bb5b8b702c788158b8bcfc13a44206a5a658ac12ed8f9a5f6ec53ef543395fab4f3871f91013ba1432f3e2b848c36976f
+DIST matplotlib-3.6.3.tar.gz 35868590 BLAKE2B aa511e7d82c41ff2b5622b23847c2e94ed5d400be74eddcdab12ddba8d25bcc1b778c5fb2a29935bca71b76cbf4213088286c9a6a3d085e06036069909ccc1e7 SHA512 844ca90bcc9953d3d1289a6d471180a3dadb49c75eb59858bbbfb67d4b1292b83b86b366f22ab12d9e97c980376d48b86e745607ec4e812a3010c6fec01398dc

diff --git a/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
new file mode 100644
index 000000000000..176f2f03c5c9
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
@@ -0,0 +1,25 @@
+From 28294f8dc7305707c6e9a481c42416b2fb5714a1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 12 Jan 2023 06:39:23 +0100
+Subject: [PATCH] Increase more tolerances
+
+---
+ lib/matplotlib/tests/test_lines.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index e83a90ccb1..ddba36333f 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -166,7 +166,7 @@ def test_set_drawstyle():
+ 
+ 
+ @image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
+-                  tol=0.62)
++                  tol=0.65)
+ def test_set_line_coll_dash_image():
+     fig, ax = plt.subplots()
+     np.random.seed(0)
+-- 
+2.39.0
+

diff --git a/dev-python/matplotlib/matplotlib-3.6.3.ebuild b/dev-python/matplotlib/matplotlib-3.6.3.ebuild
new file mode 100644
index 000000000000..5815c0dee7bc
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.6.3.ebuild
@@ -0,0 +1,281 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic multiprocessing prefix toolchain-funcs \
+	virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+	https://matplotlib.org/
+	https://github.com/matplotlib/matplotlib/
+	https://pypi.org/project/matplotlib/
+"
+SRC_URI="
+	mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+	test? (
+		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+	)
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+#	dev-python/pycxx
+RDEPEND="
+	dev-python/certifi[${PYTHON_USEDEP}]
+	>=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+	>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+	>=dev-python/numpy-1.19[${PYTHON_USEDEP}]
+	>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+	>=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
+	>=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+	media-fonts/dejavu
+	media-fonts/stix-fonts
+	media-libs/freetype:2
+	media-libs/libpng:0
+	>=media-libs/qhull-2013:=
+	virtual/imagemagick-tools[jpeg,tiff]
+	cairo? (
+		dev-python/cairocffi[${PYTHON_USEDEP}]
+	)
+	excel? (
+		dev-python/xlwt[${PYTHON_USEDEP}]
+	)
+	gtk3? (
+		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection]
+	)
+	latex? (
+		virtual/latex-base
+		app-text/dvipng
+		app-text/ghostscript-gpl
+		app-text/poppler[utils]
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-luatex
+		dev-texlive/texlive-xetex
+	)
+	qt5? (
+		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+	)
+	webagg? (
+		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+	)
+	wxwidgets? (
+		$(python_gen_cond_dep '
+			dev-python/wxpython:*[${PYTHON_USEDEP}]
+		' python3_{8..10})
+	)
+"
+
+BDEPEND="
+	${RDEPEND}
+	>=dev-python/setuptools_scm-7[${PYTHON_USEDEP}]
+	dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
+	virtual/pkgconfig
+	doc? (
+		>=app-text/dvipng-1.15-r1
+		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+		virtual/latex-base
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexrecommended
+		dev-texlive/texlive-luatex
+		dev-texlive/texlive-xetex
+		>=media-gfx/graphviz-2.42.3[cairo]
+	)
+	test? (
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/psutil[${PYTHON_USEDEP}]
+		dev-python/pytest-xdist[${PYTHON_USEDEP}]
+		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection]
+	)
+"
+
+distutils_enable_tests pytest
+
+use_setup() {
+	local uword="${2:-${1}}"
+	if use "${1}"; then
+		echo "${uword} = True"
+		echo "${uword}agg = True"
+	else
+		echo "${uword} = False"
+		echo "${uword}agg = False"
+	fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+#	local PATCHES=(
+#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
+#		"${FILESDIR}"/${P}-unbundle-agg.patch
+#	)
+#	rm -r agg24 CXX || die
+#	rm -r agg24 || die
+
+	# Affects installed _version.py, bug #854600
+	export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+	local PATCHES=(
+		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+		"${FILESDIR}"/matplotlib-3.6.2-test.patch
+		"${FILESDIR}"/matplotlib-3.6.3-test.patch
+	)
+
+	sed \
+		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+		|| die "sed pyparsing failed"
+	sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
+
+	hprefixify setupext.py
+
+	rm -rf libqhull || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+	append-flags -fno-strict-aliasing
+	append-cppflags -DNDEBUG  # or get old trying to do triangulation
+	tc-export PKG_CONFIG
+
+	unset DISPLAY # bug #278524
+	export XDG_RUNTIME_DIR="${T}/runtime-dir"
+	mkdir "${XDG_RUNTIME_DIR}" || die
+	chmod 0700 "${XDG_RUNTIME_DIR}" || die
+}
+
+python_configure() {
+	mkdir -p "${BUILD_DIR}" || die
+
+	# create setup.cfg (see setup.cfg.template for any changes).
+
+	# common switches.
+	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+		[directories]
+		basedirlist = ${EPREFIX}/usr
+		[provide_packages]
+		pytz = False
+		dateutil = False
+		[libs]
+		system_freetype = True
+		system_qhull = True
+		[packages]
+		tests = True
+		[gui_support]
+		agg = True
+		gtk = False
+		gtkagg = False
+		macosx = False
+		pyside = False
+		pysideagg = False
+		qt4 = False
+		qt4agg = False
+		$(use_setup cairo)
+		$(use_setup gtk3)
+		$(use_setup qt5)
+		$(use_setup tk)
+		$(use_setup wxwidgets wx)
+	EOF
+
+	if use gtk3 && use cairo; then
+		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+	else
+		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+	fi
+}
+
+wrap_setup() {
+	local MAKEOPTS=-j1
+	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+	"$@"
+}
+
+python_compile() {
+	wrap_setup distutils-r1_python_compile
+	find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_compile_all() {
+	if use doc; then
+		cd doc || die
+
+		VARTEXFONTS="${T}"/fonts \
+		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+	fi
+}
+
+src_test() {
+	mkdir build || die
+	ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
+	virtx distutils-r1_src_test
+}
+
+python_test() {
+	local EPYTEST_DESELECT=(
+		# broken by -Wdefault
+		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+		tests/test_testing.py::test_warn_to_fail
+		# TODO?
+		tests/test_backend_qt.py::test_fig_sigint_override
+	)
+	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+		# https://github.com/matplotlib/matplotlib/issues/23384
+		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+	)
+
+	# we need to rebuild mpl against bundled freetype, otherwise
+	# over 1000 tests will fail because of mismatched font rendering
+	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+		> "${BUILD_DIR}"/test-setup.cfg || die
+	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+
+	esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
+	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+	# speed tests up
+	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+	nonfatal epytest --pyargs matplotlib -m "not network" \
+		-p xdist.plugin -n "$(makeopts_jobs)" || die
+}
+
+python_install_all() {
+	use doc && local HTML_DOCS=( doc/build/html/. )
+
+	distutils-r1_python_install_all
+
+	if use examples; then
+		dodoc -r examples
+		docompress -x /usr/share/doc/${PF}/examples
+	fi
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2023-04-21  4:06 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2023-04-21  4:06 UTC (permalink / raw
  To: gentoo-commits

commit:     de35441288c195867695b7ad41b2a871f06f0c32
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 21 04:03:13 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Apr 21 04:06:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de354412

dev-python/matplotlib: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   4 -
 .../matplotlib/files/matplotlib-3.6.0-test.patch   | 260 -------------------
 .../matplotlib/files/matplotlib-3.6.2-test.patch   | 171 -------------
 .../matplotlib/files/matplotlib-3.6.3-test.patch   |  25 --
 .../matplotlib/files/matplotlib-3.7.0-test.patch   | 244 ------------------
 dev-python/matplotlib/matplotlib-3.6.1.ebuild      | 277 --------------------
 dev-python/matplotlib/matplotlib-3.6.2.ebuild      | 279 --------------------
 dev-python/matplotlib/matplotlib-3.6.3.ebuild      | 280 --------------------
 dev-python/matplotlib/matplotlib-3.7.0.ebuild      | 283 ---------------------
 9 files changed, 1823 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index d79e6201d131..296464c32ad0 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,7 +1,3 @@
 DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
 DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670
-DIST matplotlib-3.6.1.tar.gz 35826557 BLAKE2B b30710436a773298dcdf233e592656d9815f55f0daab0cc28811b9adbfd3b2ede08f4c13e0dfa43c5fb283bc1ba96ea793084f3d65ba13b9697d14ffa406a273 SHA512 40b148fe4574eea88e7e74c2844a4811c71651602bd7e0a863482571bfa216c01d4f5fcd36add14af82c5cacdb6ae9d441ed251ee5239d06bcc8d40c9ee8841b
-DIST matplotlib-3.6.2.tar.gz 35843927 BLAKE2B 22b933b2ca2bfb156ee1592f522da6e7566f279fd6c7ef2d2f5aeb8697fc04085b57ba6bb5f7948572b3e671687b74d6ba9f7def2728b6224fbc98b121281a3c SHA512 51b84a4328a85f674cb44728955fca8bb5b8b702c788158b8bcfc13a44206a5a658ac12ed8f9a5f6ec53ef543395fab4f3871f91013ba1432f3e2b848c36976f
-DIST matplotlib-3.6.3.tar.gz 35868590 BLAKE2B aa511e7d82c41ff2b5622b23847c2e94ed5d400be74eddcdab12ddba8d25bcc1b778c5fb2a29935bca71b76cbf4213088286c9a6a3d085e06036069909ccc1e7 SHA512 844ca90bcc9953d3d1289a6d471180a3dadb49c75eb59858bbbfb67d4b1292b83b86b366f22ab12d9e97c980376d48b86e745607ec4e812a3010c6fec01398dc
-DIST matplotlib-3.7.0.tar.gz 36346055 BLAKE2B 558e14c5afaf7ec7f88604707b1adbd9bbcab7f8fcf2dfbc4d25b94b9fa55f4f04b4150d71f813a2be59b739dec1b70981afb0158d90fba03fbe19b291c3eafe SHA512 60207fb10394422b7a11faffb2775c23c377e6dd72ef9f3fde1099d50e1810c4be55cf814da74fd87faf49a628459472945bb901a4cbe73c9676df54b862ad5c
 DIST matplotlib-3.7.1.tar.gz 38003777 BLAKE2B a387d23b58e09011cd3ae1f8c0ebf5dd8c04c8c15c1f6453c92cd22b2439fcabcf384f39ae8d2d2c6b7d2645817cd57a60856a4c05728e8f8aff9dd163af5083 SHA512 d7db4213d5b38eba779ba06ffaa8e67a435192e4a8cf62f8e1cd4b8079cd257b2e83cb79926df012b7084c785c0ce8b03275035f68cfcf0a36b0dda7322f2e67

diff --git a/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch
deleted file mode 100644
index 4f0fe2207507..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch
+++ /dev/null
@@ -1,260 +0,0 @@
-From 72702bcc76e3daf34d43aa76942f1008946712d6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 24 Sep 2022 09:21:56 +0200
-Subject: [PATCH] Increase image comparison limits
-
-Most of the tests require exact match which apparently doesn't always
-happen in non-pristine environments.  Some of them have very big
-differences due to texlive font rendering changes.
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py          | 6 +++---
- lib/matplotlib/tests/test_backend_pgf.py   | 2 +-
- lib/matplotlib/tests/test_colorbar.py      | 2 +-
- lib/matplotlib/tests/test_contour.py       | 2 +-
- 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_lines.py         | 3 ++-
- lib/matplotlib/tests/test_streamplot.py    | 3 ++-
- lib/matplotlib/tests/test_units.py         | 4 ++--
- lib/matplotlib/tests/test_usetex.py        | 1 +
- lib/mpl_toolkits/tests/test_axes_grid1.py  | 2 +-
- 13 files changed, 22 insertions(+), 19 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02,
-                   savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
-     """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.018 if platform.machine() == 'x86_64' else 0.02,
-                   savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
-     """
-@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
- 
- 
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.005)
-+                  tol=0.005)
- def test_arrow_styles():
-     styles = mpatches.ArrowStyle.get_styles()
- 
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index a230af2ac1..c993d85856 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1025,7 +1025,7 @@ def test_imshow():
-     ax.imshow("r", data=data)
- 
- 
--@image_comparison(['imshow_clip'], style='mpl20')
-+@image_comparison(['imshow_clip'], style='mpl20', tol=1.24)
- def test_imshow_clip():
-     # As originally reported by Gellule Xg <gellule.xg@free.fr>
-     # use former defaults to match existing baseline image
-@@ -2334,7 +2334,7 @@ def test_contour_hatching():
-                 extend='both', alpha=0.5)
- 
- 
--@image_comparison(['contour_colorbar'], style='mpl20')
-+@image_comparison(['contour_colorbar'], style='mpl20', tol=0.015)
- def test_contour_colorbar():
-     x, y, z = contour_dat()
- 
-@@ -4616,7 +4616,7 @@ def test_vertex_markers():
- 
- 
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
-     x = list(range(10))
- 
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 482bc073a7..faa8cfa5ce 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -79,7 +79,7 @@ def create_figure():
- # test compiling a figure to pdf with xelatex
- @needs_pgf_xelatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_xelatex.pdf'], style='default')
-+@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
- def test_xelatex():
-     rc_xelatex = {'font.family': 'serif',
-                   'pgf.rcfonts': False}
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 149ed4c3d2..bf10709297 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -231,7 +231,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
-     assert ax.get_anchor() == 'E'
- 
- 
--@image_comparison(['contour_colorbar.png'], remove_text=True)
-+@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01)
- def test_contour_colorbar():
-     fig, ax = plt.subplots(figsize=(4, 2))
-     data = np.arange(1200).reshape(30, 40) - 500
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 2c76f34cb1..a6a0619443 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -318,7 +318,7 @@ def test_contourf_log_extension():
- 
- 
- @image_comparison(['contour_addlines.png'],
--                  remove_text=True, style='mpl20', tol=0.03)
-+                  remove_text=True, style='mpl20', tol=0.2)
- # tolerance is because image changed minutely when tick finding on
- # colorbars was cleaned up...
- def test_contour_addlines():
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index 48b4a880e0..2b31fe6273 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
- 
- 
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_align_labels():
-     fig = plt.figure(layout='tight')
-     gs = gridspec.GridSpec(3, 3)
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index 46dbe4cfe8..cb171e83f8 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1323,7 +1323,7 @@ def test_nonuniform_and_pcolor():
- 
- 
- @image_comparison(["rgba_antialias.png"], style="mpl20",
--                  remove_text=True)
-+                  remove_text=True, tol=0.005)
- def test_rgba_antialias():
-     fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
-                             sharey=False, constrained_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 16847e0be6..80159952c1 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -118,7 +118,7 @@ def test_multiple_keys():
- 
- 
- @image_comparison(['rgba_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rgba():
-     fig, ax = plt.subplots()
-     ax.plot(range(10), lw=5)
-@@ -127,7 +127,7 @@ def test_alpha_rgba():
- 
- 
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rcparam():
-     fig, ax = plt.subplots()
-     ax.plot(range(10), lw=5)
-@@ -153,7 +153,7 @@ def test_fancy():
- 
- 
- @image_comparison(['framealpha'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.02)
- def test_framealpha():
-     x = np.linspace(1, 100, 100)
-     y = x
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index e7002df8a5..e83a90ccb1 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -165,7 +165,8 @@ def test_set_drawstyle():
-     assert len(line.get_path().vertices) == len(x)
- 
- 
--@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
-+@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
-+                  tol=0.62)
- def test_set_line_coll_dash_image():
-     fig, ax = plt.subplots()
-     np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
-index 5ee6df09e4..ab059bb4a3 100644
---- a/lib/matplotlib/tests/test_streamplot.py
-+++ b/lib/matplotlib/tests/test_streamplot.py
-@@ -34,7 +34,8 @@ def test_startpoints():
-     plt.plot(start_x, start_y, 'ok')
- 
- 
--@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20')
-+@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20',
-+                  tol=0.002)
- 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_units.py b/lib/matplotlib/tests/test_units.py
-index d3b8c5a716..56a1d0a0a4 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -79,7 +79,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
-     # use former defaults to match existing baseline image
-     plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
- 
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_plot_masked_units():
-     data = np.linspace(-5, 5)
-     data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 22309afdaf..0b7cea8ac4 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -14,6 +14,7 @@ import matplotlib.pyplot as plt
- pytestmark = needs_usetex
- 
- 
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
-     baseline_images=['test_usetex'],
-     extensions=['pdf', 'png'],
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 374b8c721f..77b1d5f4a1 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -335,7 +335,7 @@ def test_zooming_with_inverted_axes():
- 
- 
- @image_comparison(['anchored_direction_arrows.png'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_anchored_direction_arrows():
-     fig, ax = plt.subplots()
-     ax.imshow(np.zeros((10, 10)), interpolation='nearest')
--- 
-2.37.3
-

diff --git a/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch
deleted file mode 100644
index b90b3d029ed2..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-From 889e0a965c40207340e458f72279aa996a21f96e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 3 Nov 2022 05:19:14 +0100
-Subject: [PATCH] Fix tests
-
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py          | 6 +++---
- lib/matplotlib/tests/test_backend_pgf.py   | 2 +-
- lib/matplotlib/tests/test_colorbar.py      | 2 +-
- lib/matplotlib/tests/test_contour.py       | 2 +-
- 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_lines.py         | 3 ++-
- lib/matplotlib/tests/test_units.py         | 4 ++--
- lib/matplotlib/tests/test_usetex.py        | 3 ++-
- lib/mpl_toolkits/tests/test_axes_grid1.py  | 2 +-
- 12 files changed, 21 insertions(+), 19 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -69,3 +69,3 @@ def __prepare_fancyarrow_dpi_cor_test():
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02,
-                   savefig_kwarg=dict(dpi=100))
-@@ -84,3 +84,3 @@ def test_fancyarrow_dpi_cor_100dpi():
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.018 if platform.machine() == 'x86_64' else 0.02,
-                   savefig_kwarg=dict(dpi=200))
-@@ -117,3 +117,3 @@ def test_fancyarrow_dash():
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.005)
-+                  tol=0.005)
- def test_arrow_styles():
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 8d6466c749..15ec51e95c 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1033,3 +1033,3 @@ def test_imshow():
- 
--@image_comparison(['imshow_clip'], style='mpl20')
-+@image_comparison(['imshow_clip'], style='mpl20', tol=1.24)
- def test_imshow_clip():
-@@ -2342,3 +2342,3 @@ def test_contour_hatching():
- 
--@image_comparison(['contour_colorbar'], style='mpl20')
-+@image_comparison(['contour_colorbar'], style='mpl20', tol=0.015)
- def test_contour_colorbar():
-@@ -4625,3 +4625,3 @@ def test_vertex_markers():
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 482bc073a7..faa8cfa5ce 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -81,3 +81,3 @@ def create_figure():
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_xelatex.pdf'], style='default')
-+@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
- def test_xelatex():
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 4336b761f6..421d4455a7 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -235,3 +235,3 @@ def test_colorbar_single_ax_panchor_east(constrained):
- 
--@image_comparison(['contour_colorbar.png'], remove_text=True)
-+@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01)
- def test_contour_colorbar():
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 8bf77f0d54..aa9e9cbb7c 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -321,3 +321,3 @@ def test_contourf_log_extension():
- @image_comparison(['contour_addlines.png'],
--                  remove_text=True, style='mpl20', tol=0.03)
-+                  remove_text=True, style='mpl20', tol=0.2)
- # tolerance is because image changed minutely when tick finding on
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index cc5a3b9ae2..3426d180b4 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -28,3 +28,3 @@ import matplotlib.dates as mdates
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_align_labels():
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index 46dbe4cfe8..cb171e83f8 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1325,3 +1325,3 @@ def test_nonuniform_and_pcolor():
- @image_comparison(["rgba_antialias.png"], style="mpl20",
--                  remove_text=True)
-+                  remove_text=True, tol=0.005)
- def test_rgba_antialias():
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 16847e0be6..80159952c1 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -120,3 +120,3 @@ def test_multiple_keys():
- @image_comparison(['rgba_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rgba():
-@@ -129,3 +129,3 @@ def test_alpha_rgba():
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rcparam():
-@@ -155,3 +155,3 @@ def test_fancy():
- @image_comparison(['framealpha'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.02)
- def test_framealpha():
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index e7002df8a5..e83a90ccb1 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -167,3 +167,4 @@ def test_set_drawstyle():
- 
--@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
-+@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
-+                  tol=0.62)
- def test_set_line_coll_dash_image():
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index d3b8c5a716..56a1d0a0a4 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -81,3 +81,3 @@ def quantity_converter():
- @image_comparison(['plot_pint.png'], style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
-@@ -108,3 +108,3 @@ def test_numpy_facade(quantity_converter):
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_plot_masked_units():
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 0f01ebaffb..5e44dc8d22 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -16,2 +16,3 @@ pytestmark = needs_usetex
- 
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
-@@ -66,3 +67,3 @@ def test_mathdefault():
- 
--@image_comparison(['eqnarray.png'])
-+@image_comparison(['eqnarray.png'], tol=23)
- def test_multiline_eqnarray():
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 374b8c721f..77b1d5f4a1 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -337,3 +337,3 @@ def test_zooming_with_inverted_axes():
- @image_comparison(['anchored_direction_arrows.png'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_anchored_direction_arrows():
--- 
-2.38.1
-

diff --git a/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
deleted file mode 100644
index 176f2f03c5c9..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 28294f8dc7305707c6e9a481c42416b2fb5714a1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 12 Jan 2023 06:39:23 +0100
-Subject: [PATCH] Increase more tolerances
-
----
- lib/matplotlib/tests/test_lines.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index e83a90ccb1..ddba36333f 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -166,7 +166,7 @@ def test_set_drawstyle():
- 
- 
- @image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
--                  tol=0.62)
-+                  tol=0.65)
- def test_set_line_coll_dash_image():
-     fig, ax = plt.subplots()
-     np.random.seed(0)
--- 
-2.39.0
-

diff --git a/dev-python/matplotlib/files/matplotlib-3.7.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.7.0-test.patch
deleted file mode 100644
index dc3ed23db44e..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.7.0-test.patch
+++ /dev/null
@@ -1,244 +0,0 @@
-From 52720f5ecf37be3379f7e048cadd8cf9895377ed Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 14 Feb 2023 20:46:30 +0100
-Subject: [PATCH] Adjust tolerances to make tests pass on real hardware
-
----
- lib/matplotlib/tests/test_arrow_patches.py     | 6 +++---
- lib/matplotlib/tests/test_axes.py              | 6 +++---
- lib/matplotlib/tests/test_colorbar.py          | 2 +-
- lib/matplotlib/tests/test_constrainedlayout.py | 8 ++++----
- lib/matplotlib/tests/test_contour.py           | 3 +--
- 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_lines.py             | 2 +-
- lib/matplotlib/tests/test_units.py             | 4 ++--
- lib/matplotlib/tests/test_usetex.py            | 3 ++-
- 11 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 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02,
-                   savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
-     """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.018 if platform.machine() == 'x86_64' else 0.02,
-                   savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
-     """
-@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
- 
- 
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.005)
-+                  tol=0.005)
- def test_arrow_styles():
-     styles = mpatches.ArrowStyle.get_styles()
- 
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 8bf6051b3e..fce27f1528 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1034,7 +1034,7 @@ def test_imshow():
- 
- @image_comparison(
-     ['imshow_clip'], style='mpl20',
--    tol=1.24 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+    tol=1.24)
- def test_imshow_clip():
-     # As originally reported by Gellule Xg <gellule.xg@free.fr>
-     # use former defaults to match existing baseline image
-@@ -2364,7 +2364,7 @@ def test_contour_hatching():
- 
- @image_comparison(
-     ['contour_colorbar'], style='mpl20',
--    tol=0.02 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+    tol=0.02)
- def test_contour_colorbar():
-     x, y, z = contour_dat()
- 
-@@ -4704,7 +4704,7 @@ def test_vertex_markers():
- 
- 
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
-     x = list(range(10))
- 
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index e39d007378..fa0cb2e72f 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -237,7 +237,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
- 
- @image_comparison(
-     ['contour_colorbar.png'], remove_text=True,
--    tol=0.01 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+    tol=0.01)
- def test_contour_colorbar():
-     fig, ax = plt.subplots(figsize=(4, 2))
-     data = np.arange(1200).reshape(30, 40) - 500
-diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
-index b0833052ad..c7633f6842 100644
---- a/lib/matplotlib/tests/test_constrainedlayout.py
-+++ b/lib/matplotlib/tests/test_constrainedlayout.py
-@@ -651,11 +651,11 @@ def test_compressed1():
-     fig.draw_without_rendering()
- 
-     pos = axs[0, 0].get_position()
--    np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
--    np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
-+    np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
-+    np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
-     pos = axs[1, 2].get_position()
--    np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
--    np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
-+    np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
-+    np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
- 
- 
- @pytest.mark.parametrize('arg, state', [
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 41d4dc8501..e0f9f5c112 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -316,8 +316,7 @@ def test_contourf_log_extension():
- 
- @image_comparison(
-     ['contour_addlines.png'], remove_text=True, style='mpl20',
--    tol=0.15 if platform.machine() in ('aarch64', 'ppc64le', 's390x')
--        else 0.03)
-+    tol=0.15)
- # tolerance is because image changed minutely when tick finding on
- # colorbars was cleaned up...
- def test_contour_addlines():
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index f3ece07660..18c95e4a55 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
- 
- 
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_align_labels():
-     fig = plt.figure(layout='tight')
-     gs = gridspec.GridSpec(3, 3)
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index 76a622181d..af81d2fc0d 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1339,7 +1339,7 @@ def test_nonuniform_and_pcolor():
- 
- @image_comparison(
-     ['rgba_antialias.png'], style='mpl20', remove_text=True,
--    tol=0.007 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+    tol=0.007)
- def test_rgba_antialias():
-     fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
-                             sharey=False, constrained_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index a8d7fd107d..2f658bc116 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -174,7 +174,7 @@ def test_multiple_keys():
- 
- 
- @image_comparison(['rgba_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rgba():
-     fig, ax = plt.subplots()
-     ax.plot(range(10), lw=5)
-@@ -183,7 +183,7 @@ def test_alpha_rgba():
- 
- 
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rcparam():
-     fig, ax = plt.subplots()
-     ax.plot(range(10), lw=5)
-@@ -209,7 +209,7 @@ def test_fancy():
- 
- 
- @image_comparison(['framealpha'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.02)
- def test_framealpha():
-     x = np.linspace(1, 100, 100)
-     y = x
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index 7eecf5675a..d08cc79172 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -185,7 +185,7 @@ def test_set_drawstyle():
- 
- @image_comparison(
-     ['line_collection_dashes'], remove_text=True, style='mpl20',
--    tol=0.62 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+    tol=0.65)
- def test_set_line_coll_dash_image():
-     fig, ax = plt.subplots()
-     np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index 85a63ecc2f..3cfbb260a2 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -79,7 +79,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
-     # use former defaults to match existing baseline image
-     plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
- 
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_plot_masked_units():
-     data = np.linspace(-5, 5)
-     data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 0f01ebaffb..5e44dc8d22 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -14,6 +14,7 @@ import matplotlib.pyplot as plt
- pytestmark = needs_usetex
- 
- 
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
-     baseline_images=['test_usetex'],
-     extensions=['pdf', 'png'],
-@@ -64,7 +65,7 @@ def test_mathdefault():
-     fig.canvas.draw()
- 
- 
--@image_comparison(['eqnarray.png'])
-+@image_comparison(['eqnarray.png'], tol=23)
- def test_multiline_eqnarray():
-     text = (
-         r'\begin{eqnarray*}'
--- 
-2.39.1
-

diff --git a/dev-python/matplotlib/matplotlib-3.6.1.ebuild b/dev-python/matplotlib/matplotlib-3.6.1.ebuild
deleted file mode 100644
index 9c33e0855603..000000000000
--- a/dev-python/matplotlib/matplotlib-3.6.1.ebuild
+++ /dev/null
@@ -1,277 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix toolchain-funcs \
-	virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
-	https://matplotlib.org/
-	https://github.com/matplotlib/matplotlib/
-	https://pypi.org/project/matplotlib/
-"
-SRC_URI="
-	mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	dev-python/certifi[${PYTHON_USEDEP}]
-	>=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.19[${PYTHON_USEDEP}]
-	>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
-	>=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	>=media-libs/qhull-2013:=
-	virtual/imagemagick-tools[jpeg,tiff]
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-	)
-	webagg? (
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{8..10})
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	>=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		virtual/latex-base
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/psutil[${PYTHON_USEDEP}]
-		dev-python/pytest-xdist[${PYTHON_USEDEP}]
-		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-	# Affects installed _version.py, bug #854600
-	export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
-		"${FILESDIR}"/matplotlib-3.6.0-test.patch
-	)
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-	sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-
-	unset DISPLAY # bug #278524
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[libs]
-		system_freetype = True
-		system_qhull = True
-		[packages]
-		tests = True
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		macosx = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile
-	find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	mkdir build || die
-	ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	local EPYTEST_DESELECT=(
-		# broken by -Wdefault
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
-		tests/test_testing.py::test_warn_to_fail
-	)
-	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
-		# https://github.com/matplotlib/matplotlib/issues/23384
-		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
-		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
-	)
-
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
-		> "${BUILD_DIR}"/test-setup.cfg || die
-	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
-	esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	# speed tests up
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	nonfatal epytest --pyargs matplotlib -m "not network" \
-		-p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-}

diff --git a/dev-python/matplotlib/matplotlib-3.6.2.ebuild b/dev-python/matplotlib/matplotlib-3.6.2.ebuild
deleted file mode 100644
index 5c8c474ba51d..000000000000
--- a/dev-python/matplotlib/matplotlib-3.6.2.ebuild
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix toolchain-funcs \
-	virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
-	https://matplotlib.org/
-	https://github.com/matplotlib/matplotlib/
-	https://pypi.org/project/matplotlib/
-"
-SRC_URI="
-	mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	dev-python/certifi[${PYTHON_USEDEP}]
-	>=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.19[${PYTHON_USEDEP}]
-	>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
-	>=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	>=media-libs/qhull-2013:=
-	virtual/imagemagick-tools[jpeg,tiff]
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-	)
-	webagg? (
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{8..10})
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	>=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		virtual/latex-base
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/psutil[${PYTHON_USEDEP}]
-		dev-python/pytest-xdist[${PYTHON_USEDEP}]
-		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-	# Affects installed _version.py, bug #854600
-	export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
-		"${FILESDIR}"/matplotlib-3.6.2-test.patch
-	)
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-	sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-
-	unset DISPLAY # bug #278524
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[libs]
-		system_freetype = True
-		system_qhull = True
-		[packages]
-		tests = True
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		macosx = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile
-	find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	mkdir build || die
-	ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	local EPYTEST_DESELECT=(
-		# broken by -Wdefault
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
-		tests/test_testing.py::test_warn_to_fail
-		# TODO?
-		tests/test_backend_qt.py::test_fig_sigint_override
-	)
-	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
-		# https://github.com/matplotlib/matplotlib/issues/23384
-		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
-		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
-	)
-
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
-		> "${BUILD_DIR}"/test-setup.cfg || die
-	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
-	esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	# speed tests up
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	nonfatal epytest --pyargs matplotlib -m "not network" \
-		-p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-}

diff --git a/dev-python/matplotlib/matplotlib-3.6.3.ebuild b/dev-python/matplotlib/matplotlib-3.6.3.ebuild
deleted file mode 100644
index 03f03abb8ddd..000000000000
--- a/dev-python/matplotlib/matplotlib-3.6.3.ebuild
+++ /dev/null
@@ -1,280 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix toolchain-funcs \
-	virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
-	https://matplotlib.org/
-	https://github.com/matplotlib/matplotlib/
-	https://pypi.org/project/matplotlib/
-"
-SRC_URI="
-	mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	dev-python/certifi[${PYTHON_USEDEP}]
-	>=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.19[${PYTHON_USEDEP}]
-	>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
-	>=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	>=media-libs/qhull-2013:=
-	virtual/imagemagick-tools[jpeg,tiff]
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-	)
-	webagg? (
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{8..10})
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	>=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		virtual/latex-base
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/psutil[${PYTHON_USEDEP}]
-		dev-python/pytest-xdist[${PYTHON_USEDEP}]
-		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-	# Affects installed _version.py, bug #854600
-	export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
-		"${FILESDIR}"/matplotlib-3.6.2-test.patch
-		"${FILESDIR}"/matplotlib-3.6.3-test.patch
-	)
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-	sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-
-	unset DISPLAY # bug #278524
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[libs]
-		system_freetype = True
-		system_qhull = True
-		[packages]
-		tests = True
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		macosx = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile
-	find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	mkdir build || die
-	ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	local EPYTEST_DESELECT=(
-		# broken by -Wdefault
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
-		tests/test_testing.py::test_warn_to_fail
-		# TODO?
-		tests/test_backend_qt.py::test_fig_sigint_override
-	)
-	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
-		# https://github.com/matplotlib/matplotlib/issues/23384
-		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
-		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
-	)
-
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
-		> "${BUILD_DIR}"/test-setup.cfg || die
-	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
-	esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	# speed tests up
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	nonfatal epytest --pyargs matplotlib -m "not network" \
-		-p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-}

diff --git a/dev-python/matplotlib/matplotlib-3.7.0.ebuild b/dev-python/matplotlib/matplotlib-3.7.0.ebuild
deleted file mode 100644
index 3b74c8223639..000000000000
--- a/dev-python/matplotlib/matplotlib-3.7.0.ebuild
+++ /dev/null
@@ -1,283 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
-inherit toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
-	https://matplotlib.org/
-	https://github.com/matplotlib/matplotlib/
-	https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	dev-python/certifi[${PYTHON_USEDEP}]
-	>=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.20[${PYTHON_USEDEP}]
-	>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
-	>=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	>=media-libs/qhull-2013:=
-	virtual/imagemagick-tools[jpeg,tiff]
-	$(python_gen_cond_dep '
-		dev-python/importlib-resources[${PYTHON_USEDEP}]
-	' 3.9)
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-	)
-	webagg? (
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{8..10})
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	>=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		virtual/latex-base
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/psutil[${PYTHON_USEDEP}]
-		dev-python/pytest-xdist[${PYTHON_USEDEP}]
-		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-	# Affects installed _version.py, bug #854600
-	export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
-		"${FILESDIR}"/matplotlib-3.7.0-test.patch
-	)
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-	sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-
-	unset DISPLAY # bug #278524
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[libs]
-		system_freetype = True
-		system_qhull = True
-		[packages]
-		tests = True
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		macosx = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile
-	find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	mkdir build || die
-	ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	local EPYTEST_DESELECT=(
-		# broken by -Wdefault
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
-		tests/test_testing.py::test_warn_to_fail
-		# TODO?
-		tests/test_backend_qt.py::test_fig_sigint_override
-		# unhappy about xdist
-		tests/test_widgets.py::test_span_selector_animated_artists_callback
-	)
-	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
-		# https://github.com/matplotlib/matplotlib/issues/23384
-		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
-		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
-	)
-
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
-		> "${BUILD_DIR}"/test-setup.cfg || die
-	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
-	esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	# speed tests up
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	nonfatal epytest --pyargs matplotlib -m "not network" \
-		-p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2023-07-24 10:59 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2023-07-24 10:59 UTC (permalink / raw
  To: gentoo-commits

commit:     e81cabf8b0e7427a4a38c66f9960a7030b9f4320
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 24 10:57:31 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 24 10:57:31 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e81cabf8

dev-python/matplotlib: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   1 -
 .../matplotlib/files/matplotlib-3.5.2-test.patch   | 261 -------------------
 dev-python/matplotlib/matplotlib-3.5.3.ebuild      | 283 ---------------------
 3 files changed, 545 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 9f00f05603fb..ef0405210111 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,4 +1,3 @@
 DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670
 DIST matplotlib-3.7.1.tar.gz 38003777 BLAKE2B a387d23b58e09011cd3ae1f8c0ebf5dd8c04c8c15c1f6453c92cd22b2439fcabcf384f39ae8d2d2c6b7d2645817cd57a60856a4c05728e8f8aff9dd163af5083 SHA512 d7db4213d5b38eba779ba06ffaa8e67a435192e4a8cf62f8e1cd4b8079cd257b2e83cb79926df012b7084c785c0ce8b03275035f68cfcf0a36b0dda7322f2e67
 DIST matplotlib-3.7.2.tar.gz 38095843 BLAKE2B e26e78ce3a27604ff3d0f4d280798715b21a89104908e4fa66f96e32152d61f4f640e02e1eb2327563c71f3391c03716b5f6a1e769a07725d02c042b21973a4a SHA512 3ddb223c869c01cf71ab65a628a3c996eed1ff8b2375c02e3158a5750652a5d8277a55706e50890c15c14c7a104db01f01b01ca8964f85b6ffec104fc273872d

diff --git a/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
deleted file mode 100644
index 4b54480c5adf..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
+++ /dev/null
@@ -1,261 +0,0 @@
-From ea4bae5e68e3065ca159ea309a0f3325a06e7f35 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Fri, 26 Mar 2021 13:42:49 +0100
-Subject: [PATCH] Increase image comparison limits
-
-Most of the tests require exact match which apparently doesn't always
-happen in non-pristine environments.  Some of them have very big
-differences due to texlive font rendering changes.
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py          | 4 ++--
- lib/matplotlib/tests/test_backend_pgf.py   | 2 +-
- lib/matplotlib/tests/test_colorbar.py      | 2 +-
- lib/matplotlib/tests/test_contour.py       | 2 +-
- lib/matplotlib/tests/test_figure.py        | 5 +++--
- lib/matplotlib/tests/test_image.py         | 2 +-
- lib/matplotlib/tests/test_legend.py        | 6 +++---
- lib/matplotlib/tests/test_lines.py         | 3 ++-
- lib/matplotlib/tests/test_streamplot.py    | 3 ++-
- lib/matplotlib/tests/test_units.py         | 4 ++--
- lib/matplotlib/tests/test_usetex.py        | 1 +
- lib/mpl_toolkits/tests/test_axes_grid1.py  | 2 +-
- 13 files changed, 23 insertions(+), 19 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02,
-                   savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
-     """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.018 if platform.machine() == 'x86_64' else 0.02,
-                   savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
-     """
-@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
- 
- 
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.005)
-+                  tol=0.005)
- def test_arrow_styles():
-     styles = mpatches.ArrowStyle.get_styles()
- 
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index eb4c34382b..cca73a23f9 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -918,7 +918,7 @@ def test_imshow():
-     ax.imshow("r", data=data)
- 
- 
--@image_comparison(['imshow_clip'], style='mpl20')
-+@image_comparison(['imshow_clip'], style='mpl20', tol=1.24)
- def test_imshow_clip():
-     # As originally reported by Gellule Xg <gellule.xg@free.fr>
-     # use former defaults to match existing baseline image
-@@ -4231,7 +4231,7 @@ def test_vertex_markers():
- 
- 
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
-     x = list(range(10))
- 
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 9b5b0b28ee..a374be0333 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -80,7 +80,7 @@ def test_common_texification(plain_text, escaped_text):
- # test compiling a figure to pdf with xelatex
- @needs_xelatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_xelatex.pdf'], style='default')
-+@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
- def test_xelatex():
-     rc_xelatex = {'font.family': 'serif',
-                   'pgf.rcfonts': False}
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 304056f6d1..9934bac550 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -218,7 +218,7 @@ def test_colorbar_single_ax_panchor_false():
-     plt.colorbar(panchor=False)
- 
- 
--@image_comparison(['contour_colorbar.png'], remove_text=True)
-+@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01)
- def test_contour_colorbar():
-     fig, ax = plt.subplots(figsize=(4, 2))
-     data = np.arange(1200).reshape(30, 40) - 500
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 10fb011166..f49fb25dc8 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -345,7 +345,7 @@ def test_contourf_log_extension():
- 
- 
- @image_comparison(['contour_addlines.png'],
--                  remove_text=True, style='mpl20', tol=0.03)
-+                  remove_text=True, style='mpl20', tol=0.1)
- # tolerance is because image changed minutely when tick finding on
- # colorbars was cleaned up...
- def test_contour_addlines():
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index 1e076bd64f..11c2668d33 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -23,7 +23,7 @@ import matplotlib.gridspec as gridspec
- 
- 
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_align_labels():
-     fig = plt.figure(tight_layout=True)
-     gs = gridspec.GridSpec(3, 3)
-@@ -1124,7 +1124,8 @@ def test_subfigure_tightbbox():
- 
- @image_comparison(['test_subfigure_ss.png'], style='mpl20',
-                   savefig_kwarg={'facecolor': 'teal'},
--                  remove_text=False)
-+                  remove_text=False,
-+                  tol=0.013)
- def test_subfigure_ss():
-     # test assigning the subfigure via subplotspec
-     np.random.seed(19680801)
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index 719b190578..ee2263a88e 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1324,7 +1324,7 @@ def test_nonuniform_and_pcolor():
- 
- 
- @image_comparison(["rgba_antialias.png"], style="mpl20",
--                  remove_text=True)
-+                  remove_text=True, tol=0.005)
- def test_rgba_antialias():
-     fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
-                             sharey=False, constrained_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index fe8a8dd5f6..43fbda8ab0 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -102,7 +102,7 @@ def test_multiple_keys():
- 
- 
- @image_comparison(['rgba_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rgba():
-     fig, ax = plt.subplots()
-     ax.plot(range(10), lw=5)
-@@ -111,7 +111,7 @@ def test_alpha_rgba():
- 
- 
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rcparam():
-     fig, ax = plt.subplots()
-     ax.plot(range(10), lw=5)
-@@ -137,7 +137,7 @@ def test_fancy():
- 
- 
- @image_comparison(['framealpha'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.02)
- def test_framealpha():
-     x = np.linspace(1, 100, 100)
-     y = x
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index f6917a134b..4a14abb74d 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -162,7 +162,8 @@ def test_set_drawstyle():
-     assert len(line.get_path().vertices) == len(x)
- 
- 
--@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
-+@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
-+                  tol=0.58)
- def test_set_line_coll_dash_image():
-     fig, ax = plt.subplots()
-     np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
-index c8824feb06..081e8c0559 100644
---- a/lib/matplotlib/tests/test_streamplot.py
-+++ b/lib/matplotlib/tests/test_streamplot.py
-@@ -34,7 +34,8 @@ def test_startpoints():
-     plt.plot(start_x, start_y, 'ok')
- 
- 
--@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20')
-+@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20',
-+                  tol=0.002)
- 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_units.py b/lib/matplotlib/tests/test_units.py
-index a6f6b44c97..ab5ad8b5cf 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -76,7 +76,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
-     # use former defaults to match existing baseline image
-     plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -103,7 +103,7 @@ def test_numpy_facade(quantity_converter):
- 
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_plot_masked_units():
-     data = np.linspace(-5, 5)
-     data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 12557cf847..25b65ead67 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -11,6 +11,7 @@ if not mpl.checkdep_usetex(True):
-     pytestmark = pytest.mark.skip('Missing TeX of Ghostscript or dvipng')
- 
- 
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
-     baseline_images=['test_usetex'],
-     extensions=['pdf', 'png'],
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index f8902ca72f..323579b8b6 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -336,7 +336,7 @@ def test_zooming_with_inverted_axes():
- 
- 
- @image_comparison(['anchored_direction_arrows.png'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_anchored_direction_arrows():
-     fig, ax = plt.subplots()
-     ax.imshow(np.zeros((10, 10)), interpolation='nearest')
--- 
-2.35.1
-

diff --git a/dev-python/matplotlib/matplotlib-3.5.3.ebuild b/dev-python/matplotlib/matplotlib-3.5.3.ebuild
deleted file mode 100644
index a765b2f7d83c..000000000000
--- a/dev-python/matplotlib/matplotlib-3.5.3.ebuild
+++ /dev/null
@@ -1,283 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
-inherit toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
-	https://matplotlib.org/
-	https://github.com/matplotlib/matplotlib/
-	https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	dev-python/certifi[${PYTHON_USEDEP}]
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
-	>=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
-	>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
-	>=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	>=dev-python/six-1.14.0[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/freetype:2
-	media-libs/libpng:0
-	>=media-libs/qhull-2013:=
-	virtual/imagemagick-tools[jpeg,tiff]
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-	)
-	webagg? (
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{8..10})
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	dev-python/setuptools-scm[${PYTHON_USEDEP}]
-	dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		virtual/latex-base
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/psutil[${PYTHON_USEDEP}]
-		dev-python/pytest-xdist[${PYTHON_USEDEP}]
-		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-#	cat > lib/${PN}/externals/six.py <<-EOF
-#	from __future__ import absolute_import
-#	from six import *
-#	EOF
-
-	# Affects installed _version.py, bug #854600
-	export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
-		"${FILESDIR}"/matplotlib-3.5.2-test.patch
-	)
-
-	sed \
-		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
-		|| die "sed pyparsing failed"
-	sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-
-	unset DISPLAY # bug #278524
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[libs]
-		system_freetype = True
-		system_qhull = True
-		[packages]
-		tests = True
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		macosx = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile
-	find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	mkdir build || die
-	ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	local EPYTEST_DESELECT=(
-		# broken by -Wdefault
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
-		tests/test_testing.py::test_warn_to_fail
-	)
-	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
-		# https://github.com/matplotlib/matplotlib/issues/23384
-		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
-		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
-	)
-
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
-		> "${BUILD_DIR}"/test-setup.cfg || die
-	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
-	esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	# speed tests up
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	nonfatal epytest --pyargs matplotlib -m "not network" \
-		-p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x /usr/share/doc/${PF}/examples
-	fi
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2023-08-30  4:02 Sam James
  0 siblings, 0 replies; 21+ messages in thread
From: Sam James @ 2023-08-30  4:02 UTC (permalink / raw
  To: gentoo-commits

commit:     5fccefacc5c9c11f2f31559d2d3edbb643b0b7cb
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 30 04:02:15 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 30 04:02:15 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fccefac

dev-python/matplotlib: backport pyparsing-3.1 fix

Closes: https://bugs.gentoo.org/911127
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/matplotlib-3.7.2-pyparsing-3.1.patch     | 274 +++++++++++++++++
 dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild   | 334 +++++++++++++++++++++
 2 files changed, 608 insertions(+)

diff --git a/dev-python/matplotlib/files/matplotlib-3.7.2-pyparsing-3.1.patch b/dev-python/matplotlib/files/matplotlib-3.7.2-pyparsing-3.1.patch
new file mode 100644
index 000000000000..44082b5c0227
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.7.2-pyparsing-3.1.patch
@@ -0,0 +1,274 @@
+https://bugs.gentoo.org/911127
+https://github.com/matplotlib/matplotlib/issues/26152
+https://github.com/matplotlib/matplotlib/pull/26432
+
+From c5183789d7d0cd151c201eeb2ce4fc786b6e43c2 Mon Sep 17 00:00:00 2001
+From: Jody Klymak <jklymak@gmail.com>
+Date: Tue, 1 Aug 2023 13:41:44 -0700
+Subject: [PATCH 1/2] Backport PR #26431: MNT: Unpin pyparsing, xfail error
+ message tests for pyparsing 3.1.0
+
+--- a/environment.yml
++++ b/environment.yml
+@@ -19,7 +19,7 @@ dependencies:
+   - pillow>=6.2
+   - pybind11>=2.6.0
+   - pygobject
+-  - pyparsing!=3.1.0
++  - pyparsing>=2.3.1
+   - pyqt
+   - python-dateutil>=2.1
+   - setuptools
+--- a/lib/matplotlib/tests/test_mathtext.py
++++ b/lib/matplotlib/tests/test_mathtext.py
+@@ -6,13 +6,18 @@
+ from xml.etree import ElementTree as ET
+ 
+ import numpy as np
++from packaging.version import parse as parse_version
++import pyparsing
+ import pytest
+ 
++
+ import matplotlib as mpl
+ from matplotlib.testing.decorators import check_figures_equal, image_comparison
+ import matplotlib.pyplot as plt
+ from matplotlib import mathtext, _mathtext
+ 
++pyparsing_version = parse_version(pyparsing.__version__)
++
+ 
+ # If test is removed, use None as placeholder
+ math_tests = [
+@@ -270,6 +275,9 @@ def test_fontinfo():
+     assert table['version'] == (1, 0)
+ 
+ 
++# See gh-26152 for more context on this xfail
++@pytest.mark.xfail(pyparsing_version.release == (3, 1, 0),
++                   reason="Error messages are incorrect for this version")
+ @pytest.mark.parametrize(
+     'math, msg',
+     [
+--- a/lib/matplotlib/tests/test_text.py
++++ b/lib/matplotlib/tests/test_text.py
+@@ -4,6 +4,8 @@
+ 
+ import numpy as np
+ from numpy.testing import assert_almost_equal
++from packaging.version import parse as parse_version
++import pyparsing
+ import pytest
+ 
+ import matplotlib as mpl
+@@ -16,6 +18,8 @@
+ from matplotlib.testing._markers import needs_usetex
+ from matplotlib.text import Text
+ 
++pyparsing_version = parse_version(pyparsing.__version__)
++
+ 
+ @image_comparison(['font_styles'])
+ def test_font_styles():
+@@ -809,6 +813,9 @@ def test_unsupported_script(recwarn):
+          (r"Matplotlib currently does not support Bengali natively.",)])
+ 
+ 
++# See gh-26152 for more information on this xfail
++@pytest.mark.xfail(pyparsing_version.release == (3, 1, 0),
++                   reason="Error messages are incorrect with pyparsing 3.1.0")
+ def test_parse_math():
+     fig, ax = plt.subplots()
+     ax.text(0, 0, r"$ \wrong{math} $", parse_math=False)
+@@ -819,6 +826,9 @@ def test_parse_math():
+         fig.canvas.draw()
+ 
+ 
++# See gh-26152 for more information on this xfail
++@pytest.mark.xfail(pyparsing_version.release == (3, 1, 0),
++                   reason="Error messages are incorrect with pyparsing 3.1.0")
+ def test_parse_math_rcparams():
+     # Default is True
+     fig, ax = plt.subplots()
+--- a/setup.py
++++ b/setup.py
+@@ -325,7 +325,7 @@ def make_release_tree(self, base_dir, files):
+         "numpy>=1.20",
+         "packaging>=20.0",
+         "pillow>=6.2.0",
+-        "pyparsing>=2.3.1,<3.1",
++        "pyparsing>=2.3.1",
+         "python-dateutil>=2.7",
+     ] + (
+         # Installing from a git checkout that is not producing a wheel.
+
+From 7f475c5088a826adffac2885d027d4f8b3cba218 Mon Sep 17 00:00:00 2001
+From: Kyle Sunden <git@ksunden.space>
+Date: Mon, 26 Jun 2023 22:17:27 -0500
+Subject: [PATCH 2/2] Manual backport of #26198
+
+Cherry picked and fixed up, ignored changes to the pyi file (which doesn't exist on this branch).
+--- a/lib/matplotlib/_mathtext.py
++++ b/lib/matplotlib/_mathtext.py
+@@ -1802,8 +1802,11 @@ def __init__(self):
+         def set_names_and_parse_actions():
+             for key, val in vars(p).items():
+                 if not key.startswith('_'):
+-                    # Set names on everything -- very useful for debugging
+-                    val.setName(key)
++                    # Set names on (almost) everything -- very useful for debugging
++                    # token, placeable, and auto_delim are forward references which
++                    # are left without names to ensure useful error messages
++                    if key not in ("token", "placeable", "auto_delim"):
++                        val.setName(key)
+                     # Set actions
+                     if hasattr(self, key):
+                         val.setParseAction(getattr(self, key))
+@@ -1840,63 +1843,39 @@ def csnames(group, names):
+         p.unknown_symbol = Regex(r"\\[A-Za-z]*")("name")
+ 
+         p.font           = csnames("font", self._fontnames)
+-        p.start_group    = (
+-            Optional(r"\math" + oneOf(self._fontnames)("font")) + "{")
++        p.start_group    = Optional(r"\math" + oneOf(self._fontnames)("font")) + "{"
+         p.end_group      = Literal("}")
+ 
+         p.delim          = oneOf(self._delims)
+ 
+-        set_names_and_parse_actions()  # for root definitions.
+-
+         # Mutually recursive definitions.  (Minimizing the number of Forward
+         # elements is important for speed.)
+-        p.accent           = Forward()
+         p.auto_delim       = Forward()
+-        p.binom            = Forward()
+-        p.customspace      = Forward()
+-        p.frac             = Forward()
+-        p.dfrac            = Forward()
+-        p.function         = Forward()
+-        p.genfrac          = Forward()
+-        p.group            = Forward()
+-        p.operatorname     = Forward()
+-        p.overline         = Forward()
+-        p.overset          = Forward()
+         p.placeable        = Forward()
+         p.required_group   = Forward()
+-        p.simple           = Forward()
+         p.optional_group   = Forward()
+-        p.sqrt             = Forward()
+-        p.subsuper         = Forward()
+         p.token            = Forward()
+-        p.underset         = Forward()
+ 
+         set_names_and_parse_actions()  # for mutually recursive definitions.
+ 
+-        p.customspace <<= cmd(r"\hspace", "{" + p.float_literal("space") + "}")
++        p.optional_group <<= "{" + ZeroOrMore(p.token)("group") + "}"
++        p.required_group <<= "{" + OneOrMore(p.token)("group") + "}"
+ 
+-        p.accent <<= (
++        p.customspace = cmd(r"\hspace", "{" + p.float_literal("space") + "}")
++
++        p.accent = (
+             csnames("accent", [*self._accent_map, *self._wide_accents])
+             - p.placeable("sym"))
+ 
+-        p.function <<= csnames("name", self._function_names)
+-        p.operatorname <<= cmd(
+-            r"\operatorname",
+-            "{" + ZeroOrMore(p.simple | p.unknown_symbol)("name") + "}")
++        p.function = csnames("name", self._function_names)
+ 
+-        p.group <<= p.start_group + ZeroOrMore(p.token)("group") + p.end_group
++        p.group = p.start_group + ZeroOrMore(p.token)("group") + p.end_group
+ 
+-        p.optional_group <<= "{" + ZeroOrMore(p.token)("group") + "}"
+-        p.required_group <<= "{" + OneOrMore(p.token)("group") + "}"
+-
+-        p.frac  <<= cmd(
+-            r"\frac", p.required_group("num") + p.required_group("den"))
+-        p.dfrac <<= cmd(
+-            r"\dfrac", p.required_group("num") + p.required_group("den"))
+-        p.binom <<= cmd(
+-            r"\binom", p.required_group("num") + p.required_group("den"))
++        p.frac  = cmd(r"\frac", p.required_group("num") + p.required_group("den"))
++        p.dfrac = cmd(r"\dfrac", p.required_group("num") + p.required_group("den"))
++        p.binom = cmd(r"\binom", p.required_group("num") + p.required_group("den"))
+ 
+-        p.genfrac <<= cmd(
++        p.genfrac = cmd(
+             r"\genfrac",
+             "{" + Optional(p.delim)("ldelim") + "}"
+             + "{" + Optional(p.delim)("rdelim") + "}"
+@@ -1905,20 +1884,38 @@ def csnames(group, names):
+             + p.required_group("num")
+             + p.required_group("den"))
+ 
+-        p.sqrt <<= cmd(
++        p.sqrt = cmd(
+             r"\sqrt{value}",
+             Optional("[" + OneOrMore(NotAny("]") + p.token)("root") + "]")
+             + p.required_group("value"))
+ 
+-        p.overline <<= cmd(r"\overline", p.required_group("body"))
++        p.overline = cmd(r"\overline", p.required_group("body"))
+ 
+-        p.overset  <<= cmd(
++        p.overset  = cmd(
+             r"\overset",
+             p.optional_group("annotation") + p.optional_group("body"))
+-        p.underset <<= cmd(
++        p.underset = cmd(
+             r"\underset",
+             p.optional_group("annotation") + p.optional_group("body"))
+ 
++        p.subsuper = (
++            (Optional(p.placeable)("nucleus")
++             + OneOrMore(oneOf(["_", "^"]) - p.placeable)("subsuper")
++             + Regex("'*")("apostrophes"))
++            | Regex("'+")("apostrophes")
++            | (p.placeable("nucleus") + Regex("'*")("apostrophes"))
++        )
++
++        p.simple = p.space | p.customspace | p.font | p.subsuper
++
++        p.token <<= (
++            p.simple
++            | p.auto_delim
++            | p.unknown_symbol  # Must be last
++        )
++
++        p.operatorname = cmd(r"\operatorname", "{" + ZeroOrMore(p.simple)("name") + "}")
++
+         p.placeable     <<= (
+             p.accent     # Must be before symbol as all accents are symbols
+             | p.symbol   # Must be second to catch all named symbols and single
+@@ -1936,27 +1933,6 @@ def csnames(group, names):
+             | p.overline
+         )
+ 
+-        p.simple        <<= (
+-            p.space
+-            | p.customspace
+-            | p.font
+-            | p.subsuper
+-        )
+-
+-        p.subsuper      <<= (
+-            (Optional(p.placeable)("nucleus")
+-             + OneOrMore(oneOf(["_", "^"]) - p.placeable)("subsuper")
+-             + Regex("'*")("apostrophes"))
+-            | Regex("'+")("apostrophes")
+-            | (p.placeable("nucleus") + Regex("'*")("apostrophes"))
+-        )
+-
+-        p.token         <<= (
+-            p.simple
+-            | p.auto_delim
+-            | p.unknown_symbol  # Must be last
+-        )
+-
+         p.auto_delim    <<= (
+             r"\left" - (p.delim("left") | Error("Expected a delimiter"))
+             + ZeroOrMore(p.simple | p.auto_delim)("mid")
+

diff --git a/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild b/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild
new file mode 100644
index 000000000000..c9db102721f2
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild
@@ -0,0 +1,334 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
+inherit toolchain-funcs virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+	https://matplotlib.org/
+	https://github.com/matplotlib/matplotlib/
+	https://pypi.org/project/matplotlib/
+"
+SRC_URI+="
+	test? (
+		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+	)
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+#	dev-python/pycxx
+RDEPEND="
+	dev-python/certifi[${PYTHON_USEDEP}]
+	>=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+	>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+	>=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+	>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+	>=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
+	>=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+	media-fonts/dejavu
+	media-fonts/stix-fonts
+	media-libs/freetype:2
+	media-libs/libpng:0
+	>=media-libs/qhull-2013:=
+	virtual/imagemagick-tools[jpeg,tiff]
+	cairo? (
+		dev-python/cairocffi[${PYTHON_USEDEP}]
+	)
+	excel? (
+		dev-python/xlwt[${PYTHON_USEDEP}]
+	)
+	gtk3? (
+		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection]
+	)
+	latex? (
+		virtual/latex-base
+		app-text/dvipng
+		app-text/ghostscript-gpl
+		app-text/poppler[utils]
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-luatex
+		dev-texlive/texlive-xetex
+	)
+	qt5? (
+		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+	)
+	webagg? (
+		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+	)
+	wxwidgets? (
+		$(python_gen_cond_dep '
+			dev-python/wxpython:*[${PYTHON_USEDEP}]
+		' python3_{8..10})
+	)
+"
+
+BDEPEND="
+	${RDEPEND}
+	dev-python/pybind11[${PYTHON_USEDEP}]
+	>=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
+	virtual/pkgconfig
+	doc? (
+		>=app-text/dvipng-1.15-r1
+		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+		virtual/latex-base
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexrecommended
+		dev-texlive/texlive-luatex
+		dev-texlive/texlive-xetex
+		>=media-gfx/graphviz-2.42.3[cairo]
+	)
+	test? (
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/psutil[${PYTHON_USEDEP}]
+		dev-python/pytest-xdist[${PYTHON_USEDEP}]
+		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+		gtk3? (
+			>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+			x11-libs/gtk+:3[introspection]
+		)
+	)
+"
+
+distutils_enable_tests pytest
+
+use_setup() {
+	local uword="${2:-${1}}"
+	if use "${1}"; then
+		echo "${uword} = True"
+		echo "${uword}agg = True"
+	else
+		echo "${uword} = False"
+		echo "${uword}agg = False"
+	fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+#	local PATCHES=(
+#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
+#		"${FILESDIR}"/${P}-unbundle-agg.patch
+#	)
+#	rm -r agg24 CXX || die
+#	rm -r agg24 || die
+
+	# Affects installed _version.py, bug #854600
+	export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+	local PATCHES=(
+		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+		"${FILESDIR}"/matplotlib-3.7.1-test.patch
+		"${FILESDIR}"/matplotlib-3.7.2-macOS_no-Cocoa.patch
+		"${FILESDIR}"/matplotlib-3.7.2-pyparsing-3.1.patch
+	)
+
+	sed \
+		-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+		-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+		|| die "sed pyparsing failed"
+	sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
+
+	hprefixify setupext.py
+
+	rm -rf libqhull || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+	append-flags -fno-strict-aliasing
+	append-cppflags -DNDEBUG  # or get old trying to do triangulation
+	tc-export PKG_CONFIG
+
+	unset DISPLAY # bug #278524
+	export XDG_RUNTIME_DIR="${T}/runtime-dir"
+	mkdir "${XDG_RUNTIME_DIR}" || die
+	chmod 0700 "${XDG_RUNTIME_DIR}" || die
+}
+
+python_configure() {
+	mkdir -p "${BUILD_DIR}" || die
+
+	# create setup.cfg (see setup.cfg.template for any changes).
+
+	# common switches.
+	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+		[directories]
+		basedirlist = ${EPREFIX}/usr
+		[provide_packages]
+		pytz = False
+		dateutil = False
+		[libs]
+		system_freetype = True
+		system_qhull = True
+		[packages]
+		tests = True
+		[gui_support]
+		agg = True
+		gtk = False
+		gtkagg = False
+		macosx = False
+		pyside = False
+		pysideagg = False
+		qt4 = False
+		qt4agg = False
+		$(use_setup cairo)
+		$(use_setup gtk3)
+		$(use_setup qt5)
+		$(use_setup tk)
+		$(use_setup wxwidgets wx)
+	EOF
+
+	if use gtk3 && use cairo; then
+		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+	else
+		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+	fi
+}
+
+wrap_setup() {
+	local MAKEOPTS=-j1
+	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+	"$@"
+}
+
+python_compile() {
+	wrap_setup distutils-r1_python_compile
+	find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_compile_all() {
+	if use doc; then
+		cd doc || die
+
+		VARTEXFONTS="${T}"/fonts \
+		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+	fi
+}
+
+src_test() {
+	mkdir build || die
+	ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
+	virtx distutils-r1_src_test
+}
+
+python_test() {
+	local EPYTEST_DESELECT=(
+		# broken by -Wdefault
+		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+		tests/test_testing.py::test_warn_to_fail
+		# TODO?
+		tests/test_backend_qt.py::test_fig_sigint_override
+		# unhappy about xdist
+		tests/test_widgets.py::test_span_selector_animated_artists_callback
+	)
+
+	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+		# https://github.com/matplotlib/matplotlib/issues/23384
+		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+	)
+
+	case "${ABI}" in
+		alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
+			EPYTEST_DESELECT+=(
+				# too large for 32-bit platforms
+				'tests/test_axes.py::test_psd_csd[png]'
+			)
+			;;
+		*)
+			;;
+	esac
+
+	if use hppa ; then
+		EPYTEST_DESELECT+=(
+			'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
+			'tests/test_quiver.py::test_barbs[png]'
+			'tests/test_quiver.py::test_barbs_pivot[png]'
+			'tests/test_quiver.py::test_barbs_flip[png]'
+			'tests/test_text.py::test_parse_math'
+			'tests/test_text.py::test_parse_math_rcparams'
+		)
+	fi
+
+	# we need to rebuild mpl against bundled freetype, otherwise
+	# over 1000 tests will fail because of mismatched font rendering
+	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+		> "${BUILD_DIR}"/test-setup.cfg || die
+	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+
+	esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
+	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+	# speed tests up
+	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+	nonfatal epytest --pyargs matplotlib -m "not network" \
+		-p xdist.plugin -n "$(makeopts_jobs)" || die
+}
+
+python_install_all() {
+	use doc && local HTML_DOCS=( doc/build/html/. )
+
+	distutils-r1_python_install_all
+
+	if use examples; then
+		dodoc -r examples
+		docompress -x /usr/share/doc/${PF}/examples
+	fi
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2023-09-15 10:11 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2023-09-15 10:11 UTC (permalink / raw
  To: gentoo-commits

commit:     aa24c1f33bf0253773277872937fc9261f18279d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 09:21:47 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 15 10:11:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa24c1f3

dev-python/matplotlib: Bump to 3.8.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.8.0-test.patch   | 263 +++++++++++++++++
 dev-python/matplotlib/matplotlib-3.8.0.ebuild      | 324 +++++++++++++++++++++
 3 files changed, 588 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 7ceadb4a30ec..0377fbbbb92b 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -2,3 +2,4 @@ DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2
 DIST matplotlib-3.7.1.tar.gz 38003777 BLAKE2B a387d23b58e09011cd3ae1f8c0ebf5dd8c04c8c15c1f6453c92cd22b2439fcabcf384f39ae8d2d2c6b7d2645817cd57a60856a4c05728e8f8aff9dd163af5083 SHA512 d7db4213d5b38eba779ba06ffaa8e67a435192e4a8cf62f8e1cd4b8079cd257b2e83cb79926df012b7084c785c0ce8b03275035f68cfcf0a36b0dda7322f2e67
 DIST matplotlib-3.7.2.tar.gz 38095843 BLAKE2B e26e78ce3a27604ff3d0f4d280798715b21a89104908e4fa66f96e32152d61f4f640e02e1eb2327563c71f3391c03716b5f6a1e769a07725d02c042b21973a4a SHA512 3ddb223c869c01cf71ab65a628a3c996eed1ff8b2375c02e3158a5750652a5d8277a55706e50890c15c14c7a104db01f01b01ca8964f85b6ffec104fc273872d
 DIST matplotlib-3.7.3.tar.gz 38097222 BLAKE2B e0207c8f8bda2db3f9e45d2f606f01374c8d829d747f29d6a5e46cbfc215960b1bf3f5ee471c2c73f4200ebb0a7c9e8b783cb8569ecbb26a3fbc0d802592db0e SHA512 034b81ef4811089e845855eb339155b18b1221ffd325ea73c83e83bb433374dfa4e650e29bbae5ad63a84090eb4b013d0f106ff37c30fd661b4d071004745caa
+DIST matplotlib-3.8.0.tar.gz 35864435 BLAKE2B d0eb2893447782f54ca9c8101ca54fa9d86a9f2ef89fb0a17d32c74f3e46728b55c6bed476852d0c11286dc0030028c241adce29024b34845546af6f579ac7bf SHA512 0f75495210946adf0a36af13a75bc9910d345cc05636019952f35856b4c2bfac8a79c48d5a3348e844cfdac797f3ce490fe6a4e1a4fc7033092fee61f9913e21

diff --git a/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
new file mode 100644
index 000000000000..5653ed6a697e
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
@@ -0,0 +1,263 @@
+From a39e8395b7f1a6388c4c0897aade3a176b7644a3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 14 Feb 2023 20:46:30 +0100
+Subject: [PATCH] Adjust tolerances to make tests pass on real hardware
+
+---
+ lib/matplotlib/tests/test_arrow_patches.py     | 6 +++---
+ lib/matplotlib/tests/test_axes.py              | 9 +++++----
+ lib/matplotlib/tests/test_colorbar.py          | 2 +-
+ lib/matplotlib/tests/test_constrainedlayout.py | 8 ++++----
+ lib/matplotlib/tests/test_contour.py           | 3 +--
+ 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_lines.py             | 2 +-
+ lib/matplotlib/tests/test_units.py             | 4 ++--
+ lib/matplotlib/tests/test_usetex.py            | 5 +++--
+ 11 files changed, 25 insertions(+), 24 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index 8d573b4adb..dfc42efcb9 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+ 
+ 
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02,
++                  tol=0.015 if platform.machine() == 'x86_64' else 0.02,
+                   savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+     """
+@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+ 
+ 
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02,
++                  tol=0.018 if platform.machine() == 'x86_64' else 0.02,
+                   savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+     """
+@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
+ 
+ 
+ @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.005)
++                  tol=0.005)
+ def test_arrow_styles():
+     styles = mpatches.ArrowStyle.get_styles()
+ 
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index 30992d5780..0a254c95ca 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -1132,7 +1132,7 @@ def test_imshow():
+ 
+ @image_comparison(
+     ['imshow_clip'], style='mpl20',
+-    tol=1.24 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++    tol=1.24)
+ def test_imshow_clip():
+     # As originally reported by Gellule Xg <gellule.xg@free.fr>
+     # use former defaults to match existing baseline image
+@@ -2502,7 +2502,7 @@ def test_contour_hatching():
+ 
+ @image_comparison(
+     ['contour_colorbar'], style='mpl20',
+-    tol=0.54 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++    tol=0.54)
+ def test_contour_colorbar():
+     x, y, z = contour_dat()
+ 
+@@ -4856,7 +4856,7 @@ def test_vertex_markers():
+ 
+ 
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02)
++                  tol=0.015 if platform.machine() == 'x86_64' else 0.02)
+ def test_eb_line_zorder():
+     x = list(range(10))
+ 
+@@ -8709,7 +8709,8 @@ def test_zorder_and_explicit_rasterization():
+         fig.savefig(b, format='pdf')
+ 
+ 
+-@image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20")
++@image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20",
++                  tol=0.02)
+ def test_preset_clip_paths():
+     fig, ax = plt.subplots()
+ 
+diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
+index 73c4dab9a8..ddae80c449 100644
+--- a/lib/matplotlib/tests/test_colorbar.py
++++ b/lib/matplotlib/tests/test_colorbar.py
+@@ -236,7 +236,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
+ 
+ @image_comparison(
+     ['contour_colorbar.png'], remove_text=True,
+-    tol=0.01 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++    tol=0.01)
+ def test_contour_colorbar():
+     fig, ax = plt.subplots(figsize=(4, 2))
+     data = np.arange(1200).reshape(30, 40) - 500
+diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
+index 6703dfe315..da7770b7c7 100644
+--- a/lib/matplotlib/tests/test_constrainedlayout.py
++++ b/lib/matplotlib/tests/test_constrainedlayout.py
+@@ -652,11 +652,11 @@ def test_compressed1():
+     fig.draw_without_rendering()
+ 
+     pos = axs[0, 0].get_position()
+-    np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
+-    np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
++    np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
++    np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
+     pos = axs[1, 2].get_position()
+-    np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
+-    np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
++    np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
++    np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
+ 
+ 
+ @pytest.mark.parametrize('arg, state', [
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index 4a32fdc6ce..e745abb9dc 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -383,8 +383,7 @@ def test_contourf_log_extension(split_collections):
+ @pytest.mark.parametrize("split_collections", [False, True])
+ @image_comparison(
+     ['contour_addlines.png'], remove_text=True, style='mpl20',
+-    tol=0.15 if platform.machine() in ('aarch64', 'ppc64le', 's390x')
+-        else 0.03)
++    tol=0.15)
+ # tolerance is because image changed minutely when tick finding on
+ # colorbars was cleaned up...
+ def test_contour_addlines(split_collections):
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index 6d6a3d772f..d6b5797b52 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -27,7 +27,7 @@ import matplotlib.dates as mdates
+ 
+ 
+ @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.02)
+ def test_align_labels():
+     fig = plt.figure(layout='tight')
+     gs = gridspec.GridSpec(3, 3)
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index aeeebd136b..2e5a44a9e6 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -1352,7 +1352,7 @@ def test_nonuniform_and_pcolor():
+ 
+ @image_comparison(
+     ['rgba_antialias.png'], style='mpl20', remove_text=True,
+-    tol=0.007 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++    tol=0.007)
+ def test_rgba_antialias():
+     fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
+                             sharey=False, constrained_layout=True)
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index 759ac6aada..fc35d42542 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -173,7 +173,7 @@ def test_multiple_keys():
+ 
+ 
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.02)
+ def test_alpha_rgba():
+     fig, ax = plt.subplots()
+     ax.plot(range(10), lw=5)
+@@ -182,7 +182,7 @@ def test_alpha_rgba():
+ 
+ 
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.02)
+ def test_alpha_rcparam():
+     fig, ax = plt.subplots()
+     ax.plot(range(10), lw=5)
+@@ -210,7 +210,7 @@ def test_fancy():
+ 
+ 
+ @image_comparison(['framealpha'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02)
++                  tol=0.02)
+ def test_framealpha():
+     x = np.linspace(1, 100, 100)
+     y = x
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index 4f23e6969b..952c643e35 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -187,7 +187,7 @@ def test_set_drawstyle():
+ 
+ @image_comparison(
+     ['line_collection_dashes'], remove_text=True, style='mpl20',
+-    tol=0.65 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++    tol=0.65)
+ def test_set_line_coll_dash_image():
+     fig, ax = plt.subplots()
+     np.random.seed(0)
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index d3b8c5a716..56a1d0a0a4 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -79,7 +79,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], style='mpl20',
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.002 if platform.machine() == 'x86_64' else 0.01)
+ def test_numpy_facade(quantity_converter):
+     # use former defaults to match existing baseline image
+     plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
+ 
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.02)
+ def test_plot_masked_units():
+     data = np.linspace(-5, 5)
+     data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 342face450..c7256586bc 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt
+ pytestmark = needs_usetex
+ 
+ 
++@pytest.mark.skip(reason="TODO: broken")
+ @image_comparison(
+     baseline_images=['test_usetex'],
+     extensions=['pdf', 'png'],
+@@ -65,7 +66,7 @@ def test_mathdefault():
+     fig.canvas.draw()
+ 
+ 
+-@image_comparison(['eqnarray.png'])
++@image_comparison(['eqnarray.png'], tol=23)
+ def test_multiline_eqnarray():
+     text = (
+         r'\begin{eqnarray*}'
+@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError:
+ 
+ 
+ @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'],
+-                  style='mpl20', tol=3.91 if _old_gs_version else 0)
++                  style='mpl20', tol=30)
+ def test_rotation():
+     mpl.rcParams['text.usetex'] = True
+ 
+-- 
+2.42.0
+

diff --git a/dev-python/matplotlib/matplotlib-3.8.0.ebuild b/dev-python/matplotlib/matplotlib-3.8.0.ebuild
new file mode 100644
index 000000000000..171e2fb74336
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.8.0.ebuild
@@ -0,0 +1,324 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
+inherit toolchain-funcs virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+	https://matplotlib.org/
+	https://github.com/matplotlib/matplotlib/
+	https://pypi.org/project/matplotlib/
+"
+SRC_URI+="
+	test? (
+		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+	)
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="cairo doc excel gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+#	dev-python/pycxx
+RDEPEND="
+	dev-python/certifi[${PYTHON_USEDEP}]
+	>=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+	>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+	>=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+	<dev-python/numpy-2[${PYTHON_USEDEP}]
+	>=dev-python/numpy-1.25[${PYTHON_USEDEP}]
+	>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+	>=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
+	>=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+	media-fonts/dejavu
+	media-fonts/stix-fonts
+	media-libs/freetype:2
+	media-libs/libpng:0
+	>=media-libs/qhull-2013:=
+	virtual/imagemagick-tools[jpeg,tiff]
+	cairo? (
+		dev-python/cairocffi[${PYTHON_USEDEP}]
+	)
+	excel? (
+		dev-python/xlwt[${PYTHON_USEDEP}]
+	)
+	gtk3? (
+		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection]
+	)
+	latex? (
+		virtual/latex-base
+		app-text/dvipng
+		app-text/ghostscript-gpl
+		app-text/poppler[utils]
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-luatex
+		dev-texlive/texlive-xetex
+	)
+	qt5? (
+		dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+	)
+	webagg? (
+		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+	)
+	wxwidgets? (
+		$(python_gen_cond_dep '
+			dev-python/wxpython:*[${PYTHON_USEDEP}]
+		' python3_{8..10})
+	)
+"
+
+BDEPEND="
+	${RDEPEND}
+	dev-python/pybind11[${PYTHON_USEDEP}]
+	>=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
+	virtual/pkgconfig
+	doc? (
+		>=app-text/dvipng-1.15-r1
+		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+		virtual/latex-base
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexrecommended
+		dev-texlive/texlive-luatex
+		dev-texlive/texlive-xetex
+		>=media-gfx/graphviz-2.42.3[cairo]
+	)
+	test? (
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/psutil[${PYTHON_USEDEP}]
+		dev-python/pytest-xdist[${PYTHON_USEDEP}]
+		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+		gtk3? (
+			>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+			x11-libs/gtk+:3[introspection]
+		)
+	)
+"
+
+distutils_enable_tests pytest
+
+use_setup() {
+	local uword="${2:-${1}}"
+	if use "${1}"; then
+		echo "${uword} = True"
+		echo "${uword}agg = True"
+	else
+		echo "${uword} = False"
+		echo "${uword}agg = False"
+	fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+#	local PATCHES=(
+#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
+#		"${FILESDIR}"/${P}-unbundle-agg.patch
+#	)
+#	rm -r agg24 CXX || die
+#	rm -r agg24 || die
+
+	# Affects installed _version.py, bug #854600
+	export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+	local PATCHES=(
+		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+		"${FILESDIR}"/matplotlib-3.8.0-test.patch
+	)
+
+	hprefixify setupext.py
+
+	rm -rf libqhull || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+	append-flags -fno-strict-aliasing
+	append-cppflags -DNDEBUG  # or get old trying to do triangulation
+	tc-export PKG_CONFIG
+
+	unset DISPLAY # bug #278524
+	export XDG_RUNTIME_DIR="${T}/runtime-dir"
+	mkdir "${XDG_RUNTIME_DIR}" || die
+	chmod 0700 "${XDG_RUNTIME_DIR}" || die
+}
+
+python_configure() {
+	mkdir -p "${BUILD_DIR}" || die
+
+	# create setup.cfg (see setup.cfg.template for any changes).
+
+	# common switches.
+	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+		[directories]
+		basedirlist = ${EPREFIX}/usr
+		[provide_packages]
+		pytz = False
+		dateutil = False
+		[libs]
+		system_freetype = True
+		system_qhull = True
+		[packages]
+		tests = True
+		[gui_support]
+		agg = True
+		gtk = False
+		gtkagg = False
+		macosx = False
+		pyside = False
+		pysideagg = False
+		qt4 = False
+		qt4agg = False
+		$(use_setup cairo)
+		$(use_setup gtk3)
+		$(use_setup qt5)
+		$(use_setup tk)
+		$(use_setup wxwidgets wx)
+	EOF
+
+	if use gtk3 && use cairo; then
+		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+	else
+		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+	fi
+}
+
+wrap_setup() {
+	local MAKEOPTS=-j1
+	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+	"$@"
+}
+
+python_compile() {
+	wrap_setup distutils-r1_python_compile
+	find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_compile_all() {
+	if use doc; then
+		cd doc || die
+
+		VARTEXFONTS="${T}"/fonts \
+		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+	fi
+}
+
+src_test() {
+	mkdir build || die
+	ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
+	virtx distutils-r1_src_test
+}
+
+python_test() {
+	local EPYTEST_DESELECT=(
+		# broken by -Wdefault
+		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+		tests/test_testing.py::test_warn_to_fail
+		# TODO?
+		tests/test_backend_qt.py::test_fig_sigint_override
+		# unhappy about xdist
+		tests/test_widgets.py::test_span_selector_animated_artists_callback
+		# timeout
+		tests/test_backends_interactive.py::test_webagg
+	)
+
+	[[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+		# https://github.com/matplotlib/matplotlib/issues/23384
+		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+		"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+	)
+
+	case "${ABI}" in
+		alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
+			EPYTEST_DESELECT+=(
+				# too large for 32-bit platforms
+				'tests/test_axes.py::test_psd_csd[png]'
+			)
+			;;
+		*)
+			;;
+	esac
+
+	if use hppa ; then
+		EPYTEST_DESELECT+=(
+			'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
+			'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
+			'tests/test_quiver.py::test_barbs[png]'
+			'tests/test_quiver.py::test_barbs_pivot[png]'
+			'tests/test_quiver.py::test_barbs_flip[png]'
+			'tests/test_text.py::test_parse_math'
+			'tests/test_text.py::test_parse_math_rcparams'
+		)
+	fi
+
+	# we need to rebuild mpl against bundled freetype, otherwise
+	# over 1000 tests will fail because of mismatched font rendering
+	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+		> "${BUILD_DIR}"/test-setup.cfg || die
+	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+
+	esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
+	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+	# speed tests up
+	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+	nonfatal epytest --pyargs matplotlib -m "not network" \
+		-p xdist.plugin -n "$(makeopts_jobs)" || die
+}
+
+python_install_all() {
+	use doc && local HTML_DOCS=( doc/build/html/. )
+
+	distutils-r1_python_install_all
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2024-05-16 17:29 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2024-05-16 17:29 UTC (permalink / raw
  To: gentoo-commits

commit:     f5d7318ad9ced46898dd42e3563cba05ac9a54e3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu May 16 17:01:54 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu May 16 17:29:52 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5d7318a

dev-python/matplotlib: Bump to 3.9.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.9.0-test.patch   | 249 +++++++++++++++++
 dev-python/matplotlib/matplotlib-3.9.0.ebuild      | 300 +++++++++++++++++++++
 3 files changed, 550 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 14aeadc14202..4417a47b11b9 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,3 +1,4 @@
 DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
 DIST matplotlib-3.8.3.tar.gz 35879872 BLAKE2B 2b4b819975a8386bfe2c3af8b1068512b106068c057ca62344f6636c0708327feafc75210a8b87b837779c9a57dede3b4ea2a8b7b673432d7732851d5601f4c6 SHA512 457d1d62b76752938a24780c697461949de00d779df55df122d789f9ebef154edda037f2a804241880a0b442c5fa8139b8ab13054898b8e08fd17a56bdc23312
 DIST matplotlib-3.8.4.tar.gz 35934425 BLAKE2B e449f1d71a3152a9cf34cf13c70489d2664c8734c8e8ae0ed5dec2ed5111e0210d679f7e6a1e0b707499d9968b945a7f91573186b82c6d036238aadb5c9da006 SHA512 d4c6a5b3484927dbae1b1203e9984b67d08c958c4a5136abaa805f1eb221146fb1211e5f20456e281d41fc09c94917a796ffacfdb185c58eeeb6d19e60c78b1a
+DIST matplotlib-3.9.0.tar.gz 36069890 BLAKE2B 02ddb25901b5a93a8daf6f26c98b92d5e35abe2e98783b039928338abb1d628adbf3fd4786c08cb1610bf405cb558ca31fc12dbde77ec5f2a633143c7ea659a1 SHA512 135ee2f97c26cb60479cc10bf8a833384c393993d8a905ab869f4c73b91a50ffa596f84ce349af7f1a0b08a21e1906394cf6a702bb567a9c3999d40f54974326

diff --git a/dev-python/matplotlib/files/matplotlib-3.9.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.9.0-test.patch
new file mode 100644
index 000000000000..db8ab5e2a0fb
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.9.0-test.patch
@@ -0,0 +1,249 @@
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index 254b86cb54..1f93b1a476 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():
+ 
+ 
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02,
++                  tol=0.015 if platform.machine() == 'x86_64' else 0.02,
+                   savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+     """
+@@ -83,7 +83,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+ 
+ 
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02,
++                  tol=0.018 if platform.machine() == 'x86_64' else 0.02,
+                   savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+     """
+@@ -116,7 +116,7 @@ def test_fancyarrow_dash():
+ 
+ 
+ @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02)
++                  tol=0.005 if platform.machine() == 'x86_64' else 0.02)
+ def test_arrow_styles():
+     styles = mpatches.ArrowStyle.get_styles()
+ 
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index 0ed5a11c13..c57ed9934e 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -1157,7 +1157,7 @@ def test_imshow():
+ 
+ @image_comparison(
+     ['imshow_clip'], style='mpl20',
+-    tol=1.24 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++    tol=1.24)
+ def test_imshow_clip():
+     # As originally reported by Gellule Xg <gellule.xg@free.fr>
+     # use former defaults to match existing baseline image
+@@ -2541,7 +2541,7 @@ def test_contour_hatching():
+ 
+ @image_comparison(
+     ['contour_colorbar'], style='mpl20',
+-    tol=0.54 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++    tol=0.54)
+ def test_contour_colorbar():
+     x, y, z = contour_dat()
+ 
+@@ -4902,7 +4902,7 @@ def test_vertex_markers():
+ 
+ 
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+-                  tol=0 if platform.machine() == 'x86_64' else 0.026)
++                  tol=0.015 if platform.machine() == 'x86_64' else 0.026)
+ def test_eb_line_zorder():
+     x = list(range(10))
+ 
+@@ -8810,7 +8810,7 @@ def test_zorder_and_explicit_rasterization():
+ 
+ 
+ @image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20",
+-                  tol=0.027 if platform.machine() == "arm64" else 0)
++                  tol=0.027 if platform.machine() == "arm64" else 0.02)
+ def test_preset_clip_paths():
+     fig, ax = plt.subplots()
+ 
+diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
+index 35911afc79..852075c78d 100644
+--- a/lib/matplotlib/tests/test_colorbar.py
++++ b/lib/matplotlib/tests/test_colorbar.py
+@@ -235,7 +235,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
+ 
+ 
+ @image_comparison(['contour_colorbar.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.054)
++                  tol=0.01 if platform.machine() == 'x86_64' else 0.054)
+ def test_contour_colorbar():
+     fig, ax = plt.subplots(figsize=(4, 2))
+     data = np.arange(1200).reshape(30, 40) - 500
+diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
+index 4dc4d9501e..015e46cbe4 100644
+--- a/lib/matplotlib/tests/test_constrainedlayout.py
++++ b/lib/matplotlib/tests/test_constrainedlayout.py
+@@ -655,11 +655,11 @@ def test_compressed1():
+     fig.draw_without_rendering()
+ 
+     pos = axs[0, 0].get_position()
+-    np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
+-    np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
++    np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
++    np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
+     pos = axs[1, 2].get_position()
+-    np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
+-    np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
++    np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
++    np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
+ 
+ 
+ @pytest.mark.parametrize('arg, state', [
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index d4600a14fe..d2deff9362 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -442,8 +442,7 @@ def test_contourf_log_extension(split_collections):
+ @pytest.mark.parametrize("split_collections", [False, True])
+ @image_comparison(
+     ['contour_addlines.png'], remove_text=True, style='mpl20',
+-    tol=0.15 if platform.machine() in ('aarch64', 'ppc64le', 's390x')
+-        else 0.03)
++    tol=0.15)
+ # tolerance is because image changed minutely when tick finding on
+ # colorbars was cleaned up...
+ def test_contour_addlines(split_collections):
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index 58aecd3dea..53f3145cbd 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
+ 
+ 
+ @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
+-                  tol=0 if platform.machine() == 'x86_64' else 0.01)
++                  tol=0.02)
+ def test_align_labels():
+     fig = plt.figure(layout='tight')
+     gs = gridspec.GridSpec(3, 3)
+@@ -68,7 +68,7 @@ def test_align_labels():
+ 
+ @image_comparison(['figure_align_titles_tight.png',
+                    'figure_align_titles_constrained.png'],
+-                  tol=0 if platform.machine() == 'x86_64' else 0.022,
++                  tol=0.01 if platform.machine() == 'x86_64' else 0.022,
+                   style='mpl20')
+ def test_align_titles():
+     for layout in ['tight', 'constrained']:
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index 1602f86716..c2bc71e22f 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -1416,7 +1416,7 @@ def test_nonuniform_and_pcolor():
+ 
+ @image_comparison(
+     ['rgba_antialias.png'], style='mpl20', remove_text=True,
+-    tol=0 if platform.machine() == 'x86_64' else 0.007)
++    tol=0.007)
+ def test_rgba_antialias():
+     fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
+                             sharey=False, constrained_layout=True)
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index 0353f1408b..4c15058e7a 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -177,7 +177,7 @@ def test_multiple_keys():
+ 
+ 
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.03)
++                  tol=0.02 if platform.machine() == 'x86_64' else 0.03)
+ def test_alpha_rgba():
+     fig, ax = plt.subplots()
+     ax.plot(range(10), lw=5)
+@@ -186,7 +186,7 @@ def test_alpha_rgba():
+ 
+ 
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.03)
++                  tol=0.02 if platform.machine() == 'x86_64' else 0.03)
+ def test_alpha_rcparam():
+     fig, ax = plt.subplots()
+     ax.plot(range(10), lw=5)
+@@ -214,7 +214,7 @@ def test_fancy():
+ 
+ 
+ @image_comparison(['framealpha'], remove_text=True,
+-                  tol=0 if platform.machine() == 'x86_64' else 0.024)
++                  tol=0.02 if platform.machine() == 'x86_64' else 0.024)
+ def test_framealpha():
+     x = np.linspace(1, 100, 100)
+     y = x
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index 531237b2ba..0e37450e1a 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -185,7 +185,7 @@ def test_set_drawstyle():
+ 
+ @image_comparison(
+     ['line_collection_dashes'], remove_text=True, style='mpl20',
+-    tol=0 if platform.machine() == 'x86_64' else 0.65)
++    tol=0.65)
+ def test_set_line_coll_dash_image():
+     fig, ax = plt.subplots()
+     np.random.seed(0)
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index ae6372fea1..4f0dc25732 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -79,7 +79,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], style='mpl20',
+-                  tol=0 if platform.machine() == 'x86_64' else 0.03)
++                  tol=0.002 if platform.machine() == 'x86_64' else 0.03)
+ def test_numpy_facade(quantity_converter):
+     # use former defaults to match existing baseline image
+     plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
+ 
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+-                  tol=0 if platform.machine() == 'x86_64' else 0.02)
++                  tol=0.02)
+ def test_plot_masked_units():
+     data = np.linspace(-5, 5)
+     data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 342face450..c7256586bc 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt
+ pytestmark = needs_usetex
+ 
+ 
++@pytest.mark.skip(reason="TODO: broken")
+ @image_comparison(
+     baseline_images=['test_usetex'],
+     extensions=['pdf', 'png'],
+@@ -65,7 +66,7 @@ def test_mathdefault():
+     fig.canvas.draw()
+ 
+ 
+-@image_comparison(['eqnarray.png'])
++@image_comparison(['eqnarray.png'], tol=23)
+ def test_multiline_eqnarray():
+     text = (
+         r'\begin{eqnarray*}'
+@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError:
+ 
+ 
+ @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'],
+-                  style='mpl20', tol=3.91 if _old_gs_version else 0)
++                  style='mpl20', tol=30)
+ def test_rotation():
+     mpl.rcParams['text.usetex'] = True
+ 

diff --git a/dev-python/matplotlib/matplotlib-3.9.0.ebuild b/dev-python/matplotlib/matplotlib-3.9.0.ebuild
new file mode 100644
index 000000000000..21fdd234f0a5
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.9.0.ebuild
@@ -0,0 +1,300 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic prefix pypi toolchain-funcs virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+	https://matplotlib.org/
+	https://github.com/matplotlib/matplotlib/
+	https://pypi.org/project/matplotlib/
+"
+SRC_URI+="
+	test? (
+		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+	)
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="cairo excel gtk3 latex qt5 tk webagg wxwidgets"
+
+DEPEND="
+	media-libs/freetype:2
+	>=media-libs/qhull-2013:=
+"
+# internal copy of pycxx highly patched
+#	dev-python/pycxx
+RDEPEND="
+	${DEPEND}
+	>=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+	>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+	>=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}]
+	>=dev-python/numpy-1.25[${PYTHON_USEDEP}]
+	>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+	>=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}]
+	>=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+	media-fonts/dejavu
+	media-fonts/stix-fonts
+	media-libs/libpng:0
+	virtual/imagemagick-tools[jpeg,tiff]
+	cairo? (
+		dev-python/cairocffi[${PYTHON_USEDEP}]
+	)
+	excel? (
+		dev-python/xlwt[${PYTHON_USEDEP}]
+	)
+	gtk3? (
+		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+		x11-libs/gtk+:3[introspection]
+	)
+	latex? (
+		virtual/latex-base
+		app-text/dvipng
+		app-text/ghostscript-gpl
+		app-text/poppler[utils]
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-luatex
+		dev-texlive/texlive-xetex
+	)
+	qt5? (
+		$(python_gen_cond_dep '
+			dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+		' 'python3*')
+	)
+	webagg? (
+		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+	)
+	wxwidgets? (
+		$(python_gen_cond_dep '
+			dev-python/wxpython:*[${PYTHON_USEDEP}]
+		' python3_{10..11})
+	)
+"
+
+BDEPEND="
+	${RDEPEND}
+	dev-python/pybind11[${PYTHON_USEDEP}]
+	>=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
+	virtual/pkgconfig
+	test? (
+		dev-python/psutil[${PYTHON_USEDEP}]
+		dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+		!hppa? ( !s390? (
+			|| (
+				media-video/ffmpeg[openh264]
+				media-video/ffmpeg[x264]
+			)
+		) )
+		gtk3? (
+			>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+			x11-libs/gtk+:3[introspection]
+		)
+	)
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+	# do not unpack freetype
+	unpack "${P}.tar.gz"
+}
+
+python_prepare_all() {
+	# Affects installed _version.py, bug #854600
+	export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+	local PATCHES=(
+		"${FILESDIR}"/matplotlib-3.9.0-test.patch
+	)
+
+	# increase lock timeout to 30 s
+	sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die
+
+	distutils-r1_python_prepare_all
+}
+
+src_configure() {
+	unset DISPLAY # bug #278524
+	export XDG_RUNTIME_DIR="${T}/runtime-dir"
+	mkdir "${XDG_RUNTIME_DIR}" || die
+	chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+	DISTUTILS_ARGS=(
+		-Dsystem-freetype=true
+		-Dsystem-qhull=true
+		-Dmacosx=false
+	)
+}
+
+src_test() {
+	mkdir subprojects/packagecache || die
+	cp "${DISTDIR}/freetype-${FT_PV}.tar.gz" subprojects/packagecache/ || die
+	virtx distutils-r1_src_test
+}
+
+python_test() {
+	local EPYTEST_DESELECT=(
+		# broken by -Wdefault
+		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+		tests/test_testing.py::test_warn_to_fail
+		tests/test_legend.py::test_legend_nolabels_warning
+		# TODO?
+		tests/test_backend_qt.py::test_fig_sigint_override
+		tests/test_backend_qt.py::test_ipython
+		tests/test_backend_nbagg.py::test_ipynb
+		# leak tests are fragile
+		tests/test_backends_interactive.py::test_figure_leak_20490
+		# major "images not close", new texlive perhaps
+		tests/test_contour.py::test_all_algorithms
+		# "no warnings"
+		tests/test_backend_pdf.py::test_invalid_metadata
+		tests/test_figure.py::test_too_many_figures
+	)
+
+	case ${EPYTHON} in
+		pypy3)
+			EPYTEST_DESELECT+=(
+				# TODO: warning isn't passed through
+				tests/test_image.py::test_large_image
+				# TODO
+				tests/test_pickle.py::test_complete
+				tests/test_pickle.py::test_no_pyplot
+				tests/test_pickle.py::test_pickle_load_from_subprocess
+				tests/test_pickle.py::test_simple
+				tests/test_texmanager.py::test_openin_any_paranoid
+				tests/test_widgets.py::test_check_buttons
+				tests/test_widgets.py::test_check_buttons_lines
+				tests/test_widgets.py::test_check_radio_buttons_image
+				tests/test_widgets.py::test_radio_buttons
+			)
+			if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+				has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+			then
+				EPYTEST_DESELECT+=(
+					# TypeError is raised when exception is raised in a starred
+					# expression referencing a generator that uses "yield from"
+					# and raises -- non-critical, since some exception is raised
+					# after all
+					# https://foss.heptapod.net/pypy/pypy/-/issues/4032
+					tests/test_axes.py::test_bad_plot_args
+					tests/test_axes.py::test_plot_errors
+					tests/test_axes.py::test_plot_format_errors
+				)
+			fi
+			;;
+		python3.11)
+			EPYTEST_DESELECT+=(
+				# https://github.com/matplotlib/matplotlib/issues/23384
+				"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+				"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+			)
+			;;
+		python3.12)
+			EPYTEST_DESELECT+=(
+				tests/test_constrainedlayout.py::test_compressed1
+			)
+			;;
+	esac
+
+	case ${ABI} in
+		hppa)
+			EPYTEST_DESELECT+=(
+				'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
+				'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
+				'tests/test_quiver.py::test_barbs[png]'
+				'tests/test_quiver.py::test_barbs_pivot[png]'
+				'tests/test_quiver.py::test_barbs_flip[png]'
+				'tests/test_text.py::test_parse_math'
+				'tests/test_text.py::test_parse_math_rcparams'
+			)
+			;&
+		alpha|arm|m68k|o32|ppc|s390|sh|sparc|x86)
+			EPYTEST_DESELECT+=(
+				# too large for 32-bit platforms
+				'tests/test_axes.py::test_psd_csd[png]'
+			)
+			;;
+		*)
+			;;
+	esac
+
+	# we need to rebuild mpl against bundled freetype, otherwise
+	# over 1000 tests will fail because of mismatched font rendering
+	local DISTUTILS_ARGS=(
+		"${DISTUTILS_ARGS[@]}"
+		-Dsystem-freetype=false
+	)
+	distutils_pep517_install "${BUILD_DIR}"/test
+	cp -r "${BUILD_DIR}"/{install,test}"${EPREFIX}/usr/bin" || die
+	local -x PATH=${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}
+
+	pushd lib >/dev/null || die
+	local path
+	local sitedir=${BUILD_DIR}/test$(python_get_sitedir)
+	# sigh, upstream doesn't install these
+	while IFS= read -d '' path; do
+		cp -r "${path}" "${sitedir}/${path}" || die
+	done < <(
+		find \( \
+				-name baseline_images -o \
+				-name '*.ipynb' -o \
+				-name '*.pfb' -o \
+				-name '*.ttf' -o \
+				-name tinypages \
+			\) -print0
+	)
+	popd >/dev/null || die
+
+	# speed tests up
+	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+	# pretend we're on CI to increase timeouts
+	local -x CI=1
+	nonfatal epytest --pyargs matplotlib -m "not network" \
+		-p rerunfailures --reruns=3 \
+		-o tmp_path_retention_policy=all || die
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2024-07-11 11:59 Michał Górny
  0 siblings, 0 replies; 21+ messages in thread
From: Michał Górny @ 2024-07-11 11:59 UTC (permalink / raw
  To: gentoo-commits

commit:     bb5ec5f54a07f920ff49c2f7e43f46cbcc846359
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 11 10:55:20 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 11 11:59:41 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb5ec5f5

dev-python/matplotlib: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   1 -
 .../files/matplotlib-3.3.3-disable-lto.patch       |  25 --
 .../matplotlib/files/matplotlib-3.8.0-test.patch   | 263 --------------
 dev-python/matplotlib/matplotlib-3.8.4-r1.ebuild   | 380 ---------------------
 4 files changed, 669 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 495752279678..3f5e79091727 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,4 +1,3 @@
 DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.8.4.tar.gz 35934425 BLAKE2B e449f1d71a3152a9cf34cf13c70489d2664c8734c8e8ae0ed5dec2ed5111e0210d679f7e6a1e0b707499d9968b945a7f91573186b82c6d036238aadb5c9da006 SHA512 d4c6a5b3484927dbae1b1203e9984b67d08c958c4a5136abaa805f1eb221146fb1211e5f20456e281d41fc09c94917a796ffacfdb185c58eeeb6d19e60c78b1a
 DIST matplotlib-3.9.0.tar.gz 36069890 BLAKE2B 02ddb25901b5a93a8daf6f26c98b92d5e35abe2e98783b039928338abb1d628adbf3fd4786c08cb1610bf405cb558ca31fc12dbde77ec5f2a633143c7ea659a1 SHA512 135ee2f97c26cb60479cc10bf8a833384c393993d8a905ab869f4c73b91a50ffa596f84ce349af7f1a0b08a21e1906394cf6a702bb567a9c3999d40f54974326
 DIST matplotlib-3.9.1.tar.gz 36084124 BLAKE2B b7cc9e219664849411cc3133afbdb676f956c943f92d447ba5cca0467da56d1575796fe1046e7503e6d7c4dfdfad6e5181404f331ed7ac1397c8c61f4a30bd23 SHA512 a1d48c42a5f4f04b57e34d25df842917e6380b8d6b6d1018c9b630cbbea4619b1d75729a218a6f52b63d4a61c2204bb26ad8f741566f84e41ca73190e419f672

diff --git a/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch b/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch
deleted file mode 100644
index ab377e7f19b2..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7382d6205bfdc647a8e47c8e417c991d3822eace Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Mon, 4 Jan 2021 10:03:32 +0100
-Subject: [PATCH] Disable -flto
-
----
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 6e1d19d..ed85d14 100644
---- a/setup.py
-+++ b/setup.py
-@@ -147,7 +147,7 @@ class BuildExtraLibraries(BuildExtCommand):
-                         ranlib = True
-                     else:
-                         ranlib = shutil.which('llvm-ranlib')
--        if ranlib and has_flag(self.compiler, '-flto'):
-+        if False and ranlib and has_flag(self.compiler, '-flto'):
-             for ext in self.extensions:
-                 ext.extra_compile_args.append('-flto')
-             cppflags.append('-flto')
--- 
-2.30.0
-

diff --git a/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
deleted file mode 100644
index 5653ed6a697e..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
+++ /dev/null
@@ -1,263 +0,0 @@
-From a39e8395b7f1a6388c4c0897aade3a176b7644a3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 14 Feb 2023 20:46:30 +0100
-Subject: [PATCH] Adjust tolerances to make tests pass on real hardware
-
----
- lib/matplotlib/tests/test_arrow_patches.py     | 6 +++---
- lib/matplotlib/tests/test_axes.py              | 9 +++++----
- lib/matplotlib/tests/test_colorbar.py          | 2 +-
- lib/matplotlib/tests/test_constrainedlayout.py | 8 ++++----
- lib/matplotlib/tests/test_contour.py           | 3 +--
- 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_lines.py             | 2 +-
- lib/matplotlib/tests/test_units.py             | 4 ++--
- lib/matplotlib/tests/test_usetex.py            | 5 +++--
- 11 files changed, 25 insertions(+), 24 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02,
-                   savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
-     """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
- 
- 
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02,
-+                  tol=0.018 if platform.machine() == 'x86_64' else 0.02,
-                   savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
-     """
-@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
- 
- 
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.005)
-+                  tol=0.005)
- def test_arrow_styles():
-     styles = mpatches.ArrowStyle.get_styles()
- 
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 30992d5780..0a254c95ca 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1132,7 +1132,7 @@ def test_imshow():
- 
- @image_comparison(
-     ['imshow_clip'], style='mpl20',
--    tol=1.24 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+    tol=1.24)
- def test_imshow_clip():
-     # As originally reported by Gellule Xg <gellule.xg@free.fr>
-     # use former defaults to match existing baseline image
-@@ -2502,7 +2502,7 @@ def test_contour_hatching():
- 
- @image_comparison(
-     ['contour_colorbar'], style='mpl20',
--    tol=0.54 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+    tol=0.54)
- def test_contour_colorbar():
-     x, y, z = contour_dat()
- 
-@@ -4856,7 +4856,7 @@ def test_vertex_markers():
- 
- 
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
-     x = list(range(10))
- 
-@@ -8709,7 +8709,8 @@ def test_zorder_and_explicit_rasterization():
-         fig.savefig(b, format='pdf')
- 
- 
--@image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20")
-+@image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20",
-+                  tol=0.02)
- def test_preset_clip_paths():
-     fig, ax = plt.subplots()
- 
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 73c4dab9a8..ddae80c449 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -236,7 +236,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
- 
- @image_comparison(
-     ['contour_colorbar.png'], remove_text=True,
--    tol=0.01 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+    tol=0.01)
- def test_contour_colorbar():
-     fig, ax = plt.subplots(figsize=(4, 2))
-     data = np.arange(1200).reshape(30, 40) - 500
-diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
-index 6703dfe315..da7770b7c7 100644
---- a/lib/matplotlib/tests/test_constrainedlayout.py
-+++ b/lib/matplotlib/tests/test_constrainedlayout.py
-@@ -652,11 +652,11 @@ def test_compressed1():
-     fig.draw_without_rendering()
- 
-     pos = axs[0, 0].get_position()
--    np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
--    np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
-+    np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
-+    np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
-     pos = axs[1, 2].get_position()
--    np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
--    np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
-+    np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
-+    np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
- 
- 
- @pytest.mark.parametrize('arg, state', [
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 4a32fdc6ce..e745abb9dc 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -383,8 +383,7 @@ def test_contourf_log_extension(split_collections):
- @pytest.mark.parametrize("split_collections", [False, True])
- @image_comparison(
-     ['contour_addlines.png'], remove_text=True, style='mpl20',
--    tol=0.15 if platform.machine() in ('aarch64', 'ppc64le', 's390x')
--        else 0.03)
-+    tol=0.15)
- # tolerance is because image changed minutely when tick finding on
- # colorbars was cleaned up...
- def test_contour_addlines(split_collections):
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index 6d6a3d772f..d6b5797b52 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -27,7 +27,7 @@ import matplotlib.dates as mdates
- 
- 
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_align_labels():
-     fig = plt.figure(layout='tight')
-     gs = gridspec.GridSpec(3, 3)
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index aeeebd136b..2e5a44a9e6 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1352,7 +1352,7 @@ def test_nonuniform_and_pcolor():
- 
- @image_comparison(
-     ['rgba_antialias.png'], style='mpl20', remove_text=True,
--    tol=0.007 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+    tol=0.007)
- def test_rgba_antialias():
-     fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
-                             sharey=False, constrained_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 759ac6aada..fc35d42542 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -173,7 +173,7 @@ def test_multiple_keys():
- 
- 
- @image_comparison(['rgba_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rgba():
-     fig, ax = plt.subplots()
-     ax.plot(range(10), lw=5)
-@@ -182,7 +182,7 @@ def test_alpha_rgba():
- 
- 
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_alpha_rcparam():
-     fig, ax = plt.subplots()
-     ax.plot(range(10), lw=5)
-@@ -210,7 +210,7 @@ def test_fancy():
- 
- 
- @image_comparison(['framealpha'], remove_text=True,
--                  tol=0 if platform.machine() == 'x86_64' else 0.02)
-+                  tol=0.02)
- def test_framealpha():
-     x = np.linspace(1, 100, 100)
-     y = x
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index 4f23e6969b..952c643e35 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -187,7 +187,7 @@ def test_set_drawstyle():
- 
- @image_comparison(
-     ['line_collection_dashes'], remove_text=True, style='mpl20',
--    tol=0.65 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+    tol=0.65)
- def test_set_line_coll_dash_image():
-     fig, ax = plt.subplots()
-     np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index d3b8c5a716..56a1d0a0a4 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -79,7 +79,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
-     # use former defaults to match existing baseline image
-     plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
- 
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
--                  tol=0 if platform.machine() == 'x86_64' else 0.01)
-+                  tol=0.02)
- def test_plot_masked_units():
-     data = np.linspace(-5, 5)
-     data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 342face450..c7256586bc 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt
- pytestmark = needs_usetex
- 
- 
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
-     baseline_images=['test_usetex'],
-     extensions=['pdf', 'png'],
-@@ -65,7 +66,7 @@ def test_mathdefault():
-     fig.canvas.draw()
- 
- 
--@image_comparison(['eqnarray.png'])
-+@image_comparison(['eqnarray.png'], tol=23)
- def test_multiline_eqnarray():
-     text = (
-         r'\begin{eqnarray*}'
-@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError:
- 
- 
- @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'],
--                  style='mpl20', tol=3.91 if _old_gs_version else 0)
-+                  style='mpl20', tol=30)
- def test_rotation():
-     mpl.rcParams['text.usetex'] = True
- 
--- 
-2.42.0
-

diff --git a/dev-python/matplotlib/matplotlib-3.8.4-r1.ebuild b/dev-python/matplotlib/matplotlib-3.8.4-r1.ebuild
deleted file mode 100644
index cc7b4764a854..000000000000
--- a/dev-python/matplotlib/matplotlib-3.8.4-r1.ebuild
+++ /dev/null
@@ -1,380 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic prefix pypi toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
-	https://matplotlib.org/
-	https://github.com/matplotlib/matplotlib/
-	https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
-	test? (
-		https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
-	)
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="cairo doc excel gtk3 latex qt5 tk webagg wxwidgets"
-
-DEPEND="
-	>=dev-python/numpy-1.25:=[${PYTHON_USEDEP}]
-	media-libs/freetype:2
-	>=media-libs/qhull-2013:=
-"
-# internal copy of pycxx highly patched
-#	dev-python/pycxx
-RDEPEND="
-	${DEPEND}
-	>=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
-	>=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
-	>=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
-	>=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}]
-	>=dev-python/packaging-20.0[${PYTHON_USEDEP}]
-	>=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}]
-	>=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
-	>=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
-	media-fonts/dejavu
-	media-fonts/stix-fonts
-	media-libs/libpng:0
-	virtual/imagemagick-tools[jpeg,tiff]
-	cairo? (
-		dev-python/cairocffi[${PYTHON_USEDEP}]
-	)
-	excel? (
-		dev-python/xlwt[${PYTHON_USEDEP}]
-	)
-	gtk3? (
-		>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-	latex? (
-		virtual/latex-base
-		app-text/dvipng
-		app-text/ghostscript-gpl
-		app-text/poppler[utils]
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-	)
-	qt5? (
-		$(python_gen_cond_dep '
-			dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
-		' 'python3*')
-	)
-	webagg? (
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-	)
-	wxwidgets? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{10..11})
-	)
-"
-
-BDEPEND="
-	${RDEPEND}
-	dev-python/pybind11[${PYTHON_USEDEP}]
-	>=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
-	virtual/pkgconfig
-	doc? (
-		>=app-text/dvipng-1.15-r1
-		>=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
-		>=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
-		>=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
-		>=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
-		>=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
-		>=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
-		virtual/latex-base
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-latexrecommended
-		dev-texlive/texlive-luatex
-		dev-texlive/texlive-xetex
-		>=media-gfx/graphviz-2.42.3[cairo]
-	)
-	test? (
-		dev-python/psutil[${PYTHON_USEDEP}]
-		dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
-		>=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
-		!hppa? ( !s390? (
-			|| (
-				media-video/ffmpeg[openh264]
-				media-video/ffmpeg[x264]
-			)
-		) )
-		gtk3? (
-			>=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-			x11-libs/gtk+:3[introspection]
-		)
-	)
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-use_setup() {
-	local uword="${2:-${1}}"
-	if use "${1}"; then
-		echo "${uword} = True"
-		echo "${uword}agg = True"
-	else
-		echo "${uword} = False"
-		echo "${uword}agg = False"
-	fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-#	local PATCHES=(
-#		"${FILESDIR}"/${P}-unbundle-pycxx.patch
-#		"${FILESDIR}"/${P}-unbundle-agg.patch
-#	)
-#	rm -r agg24 CXX || die
-#	rm -r agg24 || die
-
-	# Affects installed _version.py, bug #854600
-	export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-	local PATCHES=(
-		"${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
-		"${FILESDIR}"/matplotlib-3.8.0-test.patch
-	)
-
-	# increase lock timeout to 30 s
-	sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die
-
-	hprefixify setupext.py
-
-	rm -rf libqhull || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
-	append-flags -fno-strict-aliasing
-	append-cppflags -DNDEBUG  # or get old trying to do triangulation
-	tc-export PKG_CONFIG
-
-	unset DISPLAY # bug #278524
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
-	mkdir -p "${BUILD_DIR}" || die
-
-	# create setup.cfg (see setup.cfg.template for any changes).
-
-	# common switches.
-	cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
-		[directories]
-		basedirlist = ${EPREFIX}/usr
-		[provide_packages]
-		pytz = False
-		dateutil = False
-		[libs]
-		system_freetype = True
-		system_qhull = True
-		[packages]
-		tests = True
-		[gui_support]
-		agg = True
-		gtk = False
-		gtkagg = False
-		macosx = False
-		pyside = False
-		pysideagg = False
-		qt4 = False
-		qt4agg = False
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(use_setup qt5)
-		$(use_setup tk)
-		$(use_setup wxwidgets wx)
-	EOF
-
-	if use gtk3 && use cairo; then
-		echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
-	else
-		echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
-	fi
-}
-
-wrap_setup() {
-	local MAKEOPTS=-j1
-	local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
-	"$@"
-}
-
-python_compile() {
-	wrap_setup distutils-r1_python_compile
-	find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
-	if use doc; then
-		cd doc || die
-
-		VARTEXFONTS="${T}"/fonts \
-		emake SPHINXOPTS= O=-Dplot_formats=png:100 html
-	fi
-}
-
-src_test() {
-	mkdir build || die
-	ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
-	virtx distutils-r1_src_test
-}
-
-python_test() {
-	local EPYTEST_DESELECT=(
-		# broken by -Wdefault
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
-		"tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
-		tests/test_testing.py::test_warn_to_fail
-		# TODO?
-		tests/test_backend_qt.py::test_fig_sigint_override
-		# leak tests are fragile
-		tests/test_backends_interactive.py::test_figure_leak_20490
-		# major "images not close", new texlive perhaps
-		tests/test_contour.py::test_all_algorithms
-		# "no warnings"
-		tests/test_backend_pdf.py::test_invalid_metadata
-		tests/test_figure.py::test_too_many_figures
-	)
-
-	case ${EPYTHON} in
-		pypy3)
-			EPYTEST_DESELECT+=(
-				# TODO: warning isn't passed through
-				tests/test_image.py::test_large_image
-				# TODO
-				tests/test_pickle.py::test_complete
-				tests/test_pickle.py::test_no_pyplot
-				tests/test_pickle.py::test_pickle_load_from_subprocess
-				tests/test_pickle.py::test_simple
-				tests/test_texmanager.py::test_openin_any_paranoid
-				tests/test_widgets.py::test_check_buttons
-				tests/test_widgets.py::test_check_buttons_lines
-				tests/test_widgets.py::test_check_radio_buttons_image
-				tests/test_widgets.py::test_radio_buttons
-			)
-			if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
-				has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
-			then
-				EPYTEST_DESELECT+=(
-					# TypeError is raised when exception is raised in a starred
-					# expression referencing a generator that uses "yield from"
-					# and raises -- non-critical, since some exception is raised
-					# after all
-					# https://foss.heptapod.net/pypy/pypy/-/issues/4032
-					tests/test_axes.py::test_bad_plot_args
-					tests/test_axes.py::test_plot_errors
-					tests/test_axes.py::test_plot_format_errors
-				)
-			fi
-			;;
-		python3.11)
-			EPYTEST_DESELECT+=(
-				# https://github.com/matplotlib/matplotlib/issues/23384
-				"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
-				"tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
-			)
-			;;
-		python3.12)
-			EPYTEST_DESELECT+=(
-				tests/test_constrainedlayout.py::test_compressed1
-			)
-			;;
-	esac
-
-	case "${ABI}" in
-		alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
-			EPYTEST_DESELECT+=(
-				# too large for 32-bit platforms
-				'tests/test_axes.py::test_psd_csd[png]'
-			)
-			;;
-		*)
-			;;
-	esac
-
-	if use hppa ; then
-		EPYTEST_DESELECT+=(
-			'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
-			'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
-			'tests/test_quiver.py::test_barbs[png]'
-			'tests/test_quiver.py::test_barbs_pivot[png]'
-			'tests/test_quiver.py::test_barbs_flip[png]'
-			'tests/test_text.py::test_parse_math'
-			'tests/test_text.py::test_parse_math_rcparams'
-		)
-	fi
-
-	# we need to rebuild mpl against bundled freetype, otherwise
-	# over 1000 tests will fail because of mismatched font rendering
-	grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
-		> "${BUILD_DIR}"/test-setup.cfg || die
-	local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
-	esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
-	local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
-	# speed tests up
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	# pretend we're on CI to increase timeouts
-	local -x CI=1
-	nonfatal epytest --pyargs matplotlib -m "not network" \
-		-p rerunfailures --reruns=3 \
-		-o tmp_path_retention_policy=all || die
-}
-
-python_install_all() {
-	use doc && local HTML_DOCS=( doc/build/html/. )
-
-	distutils-r1_python_install_all
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-07-11 12:00 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-24 10:59 [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/ Michał Górny
  -- strict thread matches above, loose matches on Subject: below --
2024-07-11 11:59 Michał Górny
2024-05-16 17:29 Michał Górny
2023-09-15 10:11 Michał Górny
2023-08-30  4:02 Sam James
2023-04-21  4:06 Michał Górny
2023-01-12  6:14 Michał Górny
2022-05-03 10:20 Michał Górny
2021-09-07  7:10 Michał Górny
2021-02-25 13:24 Michał Górny
2021-01-29 10:43 Michał Górny
2021-01-04  9:45 Michał Górny
2020-09-15 22:19 Michał Górny
2020-06-18 10:26 Michał Górny
2018-03-08 22:37 Andrey Grozin
2017-05-03  7:37 Michał Górny
2016-09-11  8:56 David Seifert
2016-01-25  8:31 Justin Lecher
2016-01-15 12:32 Justin Lecher
2016-01-15  9:50 Justin Lecher
2015-10-21 13:41 Justin Lecher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox