public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/, dev-python/matplotlib/files/
@ 2017-06-03 10:28 Michał Górny
  0 siblings, 0 replies; 20+ messages in thread
From: Michał Górny @ 2017-06-03 10:28 UTC (permalink / raw
  To: gentoo-commits

commit:     299f1dd7ed390a82802f8f58c270181e52346c57
Author:     Sean Vig <sean.v.775 <AT> gmail <DOT> com>
AuthorDate: Mon Mar 20 00:53:20 2017 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jun  3 10:27:55 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=299f1dd7

dev-python/matplotlib: Version bump to 2.0.2, #608062

Closes: https://github.com/gentoo/gentoo/pull/4249

 dev-python/matplotlib/Manifest                     |   1 +
 ...atplotlib-2.0.2-freetype-spurious-failure.patch |  27 +++
 .../files/matplotlib-2.0.2-nose-fixes.patch        |  13 ++
 dev-python/matplotlib/matplotlib-2.0.2.ebuild      | 257 +++++++++++++++++++++
 4 files changed, 298 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index fde7fcea976..78018b44cef 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,2 +1,3 @@
 DIST matplotlib-1.4.3.tar.gz 49933525 SHA256 5b9544472d9d6ab3d47423bdb5a0e64fdf913e505c1c083f25283dd0362bc0b6 SHA512 51b0f58b2618b47b653e17e4f6b6a1215d3a3b0f1331ce3555cc7435e365d9c75693f289ce12fe3bf8f69fd57b663e545f0f1c2c94e81eaa661cac0689e125f5 WHIRLPOOL 160ca48ecb44db58f1c56bd6e89592c5d1badd8e434fc25d32aa6d4d7a346ae7c7444d1c8e0c2ca2bf5c3246fd56cd93856ec7b1e3e51f5e471b9b55a0f2c1ad
 DIST matplotlib-1.5.3.tar.gz 51606089 SHA256 a0a5dc39f785014f2088fed2c6d2d129f0444f71afbb9c44f7bdf1b14d86ebbc SHA512 553be9f661a1923d8ec7504a11dd3317e5ffb429c19339c58047715f4c28358d6d2ac38d46bd27ecd1dcf7159f157aab80d90713fbc4071e2e395bbf11ee6385 WHIRLPOOL 7e2b0472bb7d913e78260da95c93c3243562e76352790318286e5d194f88ac05a9f51fa029a7b0ad17bbbbd0dc9658769fe6301b544ec03f1ab5c205835ea894
+DIST matplotlib-2.0.2.tar.gz 53879938 SHA256 0ffbc44faa34a8b1704bc108c451ecf87988f900ef7ce757b8e2e84383121ff1 SHA512 39d68aee87fac2c246cdee7941ffaae1b8d586fa75c351bc94f963def66df32c3aba13fa0be94e1f8d21f06e068565b1a79c6d4f65589d8dd23cd48b32ab474f WHIRLPOOL 5ab8f9edb4591205d61bd47c5125520c0d24b8ce44e0041b99a5a0c692ffd3ff581cd6e092d18a64ddf6fb4f43ace6ee8c2bce19f5acd01d022d8a46e472b2df

diff --git a/dev-python/matplotlib/files/matplotlib-2.0.2-freetype-spurious-failure.patch b/dev-python/matplotlib/files/matplotlib-2.0.2-freetype-spurious-failure.patch
new file mode 100644
index 00000000000..b6450a83fed
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-2.0.2-freetype-spurious-failure.patch
@@ -0,0 +1,27 @@
+diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
+index 5e738ad9b..78b3f8169 100644
+--- a/lib/matplotlib/testing/decorators.py
++++ b/lib/matplotlib/testing/decorators.py
+@@ -266,7 +266,7 @@ class ImageComparisonTest(CleanupTest):
+ 
+                 yield do_test, fignum, actual_fname, expected_fname
+ 
+-def image_comparison(baseline_images=None, extensions=None, tol=0,
++def image_comparison(baseline_images=None, extensions=None, tol=20,
+                      freetype_version=None, remove_text=False,
+                      savefig_kwarg=None, style='_classic_test'):
+     """
+diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
+index 39f5d7ef1..7681e5cb9 100644
+--- a/lib/matplotlib/tests/test_mathtext.py
++++ b/lib/matplotlib/tests/test_mathtext.py
+@@ -159,7 +159,8 @@ for fonts, chars in font_test_specs:
+ 
+ def make_set(basename, fontset, tests, extensions=None):
+     def make_test(filename, test):
+-        @image_comparison(baseline_images=[filename], extensions=extensions)
++        @image_comparison(baseline_images=[filename], extensions=extensions,
++                          tol=40)
+         def single_test():
+             matplotlib.rcParams['mathtext.fontset'] = fontset
+             fig = plt.figure(figsize=(5.25, 0.75))

diff --git a/dev-python/matplotlib/files/matplotlib-2.0.2-nose-fixes.patch b/dev-python/matplotlib/files/matplotlib-2.0.2-nose-fixes.patch
new file mode 100644
index 00000000000..ab1181bd017
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-2.0.2-nose-fixes.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
+index 530c889a9..8231c2bb8 100644
+--- a/lib/matplotlib/__init__.py
++++ b/lib/matplotlib/__init__.py
+@@ -1609,7 +1609,7 @@ def test(verbosity=1):
+ 
+         # store the old values before overriding
+         plugins = _get_extra_test_plugins()
+-        plugins.extend([plugin() for plugin in nose.plugins.builtin.plugins])
++        plugins.extend(nose.plugins.builtin.plugins)
+ 
+         manager = PluginManager(plugins=[x() for x in plugins])
+         config = nose.config.Config(verbosity=verbosity, plugins=manager)

diff --git a/dev-python/matplotlib/matplotlib-2.0.2.ebuild b/dev-python/matplotlib/matplotlib-2.0.2.ebuild
new file mode 100644
index 00000000000..2e703e5dcb6
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-2.0.2.ebuild
@@ -0,0 +1,257 @@
+# Copyright 1999-2017 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
+
+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 ~x86"
+IUSE="cairo doc excel examples gtk2 gtk3 latex pyside qt4 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)
+COMMON_DEPEND="
+	dev-python/cycler[${PYTHON_USEDEP}]
+	dev-python/functools32[${PY2_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}]
+	dev-python/subprocess32[${PY2_USEDEP}]
+	media-fonts/stix-fonts
+	media-libs/freetype:2
+	media-libs/libpng:0
+	media-libs/qhull
+	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}
+	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}] )
+	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}-nose-fixes.patch
+	"${FILESDIR}"/${P}-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"
+
+	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
+		[packages]
+		tests = $(usex test True False)
+		[gui_support]
+		agg = True
+		$(use_setup cairo)
+		$(use_setup gtk3)
+		$(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
+			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
+
+	# 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}" -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] 20+ messages in thread

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

commit:     b35eee52212164c14ae6bfb6dff4a56cae401f1b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  4 23:34:25 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan  5 09:36:39 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b35eee52

dev-python/matplotlib: Clean old up

 dev-python/matplotlib/Manifest                     |   3 -
 ...atplotlib-1.5.3-freetype-spurious-failure.patch |  26 --
 ...atplotlib-2.0.2-freetype-spurious-failure.patch |  27 ---
 .../files/matplotlib-2.0.2-nose-fixes.patch        |  13 -
 dev-python/matplotlib/matplotlib-1.5.3-r1.ebuild   | 263 --------------------
 dev-python/matplotlib/matplotlib-1.5.3-r2.ebuild   | 269 ---------------------
 dev-python/matplotlib/matplotlib-2.0.2.ebuild      | 256 --------------------
 dev-python/matplotlib/matplotlib-2.1.0.ebuild      | 250 -------------------
 8 files changed, 1107 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 726fb833d33..952e888233c 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,5 +1,2 @@
 DIST matplotlib-1.4.3.tar.gz 49933525 BLAKE2B 40ea29ef7197d364f9caea63904b11231a4f74ca93184de8b1f8c7f78713cf887ea8a6fbee1b3f545c895eb353e0eeb5d65308657a3138986fb080ac44164427 SHA512 51b0f58b2618b47b653e17e4f6b6a1215d3a3b0f1331ce3555cc7435e365d9c75693f289ce12fe3bf8f69fd57b663e545f0f1c2c94e81eaa661cac0689e125f5
-DIST matplotlib-1.5.3.tar.gz 51606089 BLAKE2B 6ec475298dc74082f66fa8aa8711b402503a1ce1d689e8617f9442f8857ef516bc5c9814c47d10d959e8aea365deee3f38962ce04c7318f3aa79d3d53bbb804e SHA512 553be9f661a1923d8ec7504a11dd3317e5ffb429c19339c58047715f4c28358d6d2ac38d46bd27ecd1dcf7159f157aab80d90713fbc4071e2e395bbf11ee6385
-DIST matplotlib-2.0.2.tar.gz 53879938 BLAKE2B bf20503715a5b97f3666d6ea601850483250e72f2910ee94f7c4bbe59740827b5eb96a96b8992a5ecca7a523237d1f018b2d339d3d39fff9c6d0c9675ab27e48 SHA512 39d68aee87fac2c246cdee7941ffaae1b8d586fa75c351bc94f963def66df32c3aba13fa0be94e1f8d21f06e068565b1a79c6d4f65589d8dd23cd48b32ab474f
 DIST matplotlib-2.1.0.tar.bz2 33051088 BLAKE2B 6a97909a44ca37c3ec09a9e723909bb0169828e56daeec5711220a6caac632d19e77ef2fc042a61cb82760c9750d04753654761a707b6265a038af9c55b91bd7 SHA512 872ff86e989b4e9352663f4abde1768aa05b1adea3e1b234efdb301429d421718314b27950e508d92df8fc9136764b07e8a6861b66512e9695a496993076bb5f
-DIST matplotlib-2.1.0.tar.gz 35727251 BLAKE2B cac5cfd740066a0d9fc1fd0ad791c134e86b26359e483f0216d9efd36178a8776513e853d41ff231823cd5c54a3251727e21cd03c89149d85cb4a096f4179f32 SHA512 8f512400f1f15d5400e23dd8e402783c54f62567d412863530a982c6513206d49fb91fadb3ef477648a4a38d6dd032eb90741ff4495d2be71911f83677d768b4

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
deleted file mode 100644
index bc6891a5f25..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.5.3-freetype-spurious-failure.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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/files/matplotlib-2.0.2-freetype-spurious-failure.patch b/dev-python/matplotlib/files/matplotlib-2.0.2-freetype-spurious-failure.patch
deleted file mode 100644
index b6450a83fed..00000000000
--- a/dev-python/matplotlib/files/matplotlib-2.0.2-freetype-spurious-failure.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
-index 5e738ad9b..78b3f8169 100644
---- a/lib/matplotlib/testing/decorators.py
-+++ b/lib/matplotlib/testing/decorators.py
-@@ -266,7 +266,7 @@ class ImageComparisonTest(CleanupTest):
- 
-                 yield do_test, fignum, actual_fname, expected_fname
- 
--def image_comparison(baseline_images=None, extensions=None, tol=0,
-+def image_comparison(baseline_images=None, extensions=None, tol=20,
-                      freetype_version=None, remove_text=False,
-                      savefig_kwarg=None, style='_classic_test'):
-     """
-diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
-index 39f5d7ef1..7681e5cb9 100644
---- a/lib/matplotlib/tests/test_mathtext.py
-+++ b/lib/matplotlib/tests/test_mathtext.py
-@@ -159,7 +159,8 @@ for fonts, chars in font_test_specs:
- 
- def make_set(basename, fontset, tests, extensions=None):
-     def make_test(filename, test):
--        @image_comparison(baseline_images=[filename], extensions=extensions)
-+        @image_comparison(baseline_images=[filename], extensions=extensions,
-+                          tol=40)
-         def single_test():
-             matplotlib.rcParams['mathtext.fontset'] = fontset
-             fig = plt.figure(figsize=(5.25, 0.75))

diff --git a/dev-python/matplotlib/files/matplotlib-2.0.2-nose-fixes.patch b/dev-python/matplotlib/files/matplotlib-2.0.2-nose-fixes.patch
deleted file mode 100644
index ab1181bd017..00000000000
--- a/dev-python/matplotlib/files/matplotlib-2.0.2-nose-fixes.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
-index 530c889a9..8231c2bb8 100644
---- a/lib/matplotlib/__init__.py
-+++ b/lib/matplotlib/__init__.py
-@@ -1609,7 +1609,7 @@ def test(verbosity=1):
- 
-         # store the old values before overriding
-         plugins = _get_extra_test_plugins()
--        plugins.extend([plugin() for plugin in nose.plugins.builtin.plugins])
-+        plugins.extend(nose.plugins.builtin.plugins)
- 
-         manager = PluginManager(plugins=[x() for x in plugins])
-         config = nose.config.Config(verbosity=verbosity, plugins=manager)

diff --git a/dev-python/matplotlib/matplotlib-1.5.3-r1.ebuild b/dev-python/matplotlib/matplotlib-1.5.3-r1.ebuild
deleted file mode 100644
index 11acf166d28..00000000000
--- a/dev-python/matplotlib/matplotlib-1.5.3-r1.ebuild
+++ /dev/null
@@ -1,263 +0,0 @@
-# Copyright 1999-2017 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 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 ~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/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
-}

diff --git a/dev-python/matplotlib/matplotlib-1.5.3-r2.ebuild b/dev-python/matplotlib/matplotlib-1.5.3-r2.ebuild
deleted file mode 100644
index 9b22ea3ab8c..00000000000
--- a/dev-python/matplotlib/matplotlib-1.5.3-r2.ebuild
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright 1999-2017 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 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 ~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/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
-
-	# 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-2.0.2.ebuild b/dev-python/matplotlib/matplotlib-2.0.2.ebuild
deleted file mode 100644
index e8214110ebf..00000000000
--- a/dev-python/matplotlib/matplotlib-2.0.2.ebuild
+++ /dev/null
@@ -1,256 +0,0 @@
-# Copyright 1999-2017 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 qt4 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)
-COMMON_DEPEND="
-	dev-python/cycler[${PYTHON_USEDEP}]
-	dev-python/functools32[${PY2_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}]
-	dev-python/subprocess32[${PY2_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}
-	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}]
-		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}] )
-	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}-nose-fixes.patch
-	"${FILESDIR}"/${P}-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"
-
-	hprefixify setupext.py
-
-	export XDG_RUNTIME_DIR="${T}/runtime-dir"
-	mkdir "${XDG_RUNTIME_DIR}" || die
-	chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
-	rm -r extern/qhull || 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
-		$(use_setup cairo)
-		$(use_setup gtk3)
-		$(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
-			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 \
-		"${EPYTHON}" ./make.py --small html || die
-	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
-}

diff --git a/dev-python/matplotlib/matplotlib-2.1.0.ebuild b/dev-python/matplotlib/matplotlib-2.1.0.ebuild
deleted file mode 100644
index 766e5f93a00..00000000000
--- a/dev-python/matplotlib/matplotlib-2.1.0.ebuild
+++ /dev/null
@@ -1,250 +0,0 @@
-# Copyright 1999-2017 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)
-COMMON_DEPEND="
-	dev-python/cycler[${PYTHON_USEDEP}]
-	dev-python/functools32[${PY2_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}]
-	dev-python/subprocess32[${PY2_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}
-	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}]
-		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/backports-functools-lru-cache[${PY2_USEDEP}]
-		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}] )
-	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 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"
-
-	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 \
-		"${EPYTHON}" ./make.py --small html || die
-	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] 20+ messages in thread

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

commit:     1e954a41e87c8a45c671884055e3c5cb498dc6bd
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 21 13:59:12 2018 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Sun Jan 21 14:00:06 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e954a41

dev-python/matplotlib: bump to 2.1.2

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 dev-python/matplotlib/Manifest                     |   1 +
 .../files/matplotlib-2.1.2-doc-make.patch          |  10 +
 dev-python/matplotlib/matplotlib-2.1.2.ebuild      | 254 +++++++++++++++++++++
 3 files changed, 265 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 952e888233c..e38eadd8a39 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,2 +1,3 @@
 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

diff --git a/dev-python/matplotlib/files/matplotlib-2.1.2-doc-make.patch b/dev-python/matplotlib/files/matplotlib-2.1.2-doc-make.patch
new file mode 100644
index 00000000000..7ca0c697423
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-2.1.2-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.1.2.ebuild b/dev-python/matplotlib/matplotlib-2.1.2.ebuild
new file mode 100644
index 00000000000..074c4285d47
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-2.1.2.ebuild
@@ -0,0 +1,254 @@
+# 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="https://dev.gentoo.org/~grozin/${P}.tar.bz2"
+
+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}]
+		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}
+	${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 \
+		"${EPYTHON}" ./make.py --small html || die
+	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] 20+ messages in thread

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

commit:     e2a8da3024e0ca43b4f09c5227da474feb5f5d9c
Author:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 17 20:56:58 2018 +0000
Commit:     Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Sat Mar 17 20:56:58 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2a8da30

dev-python/matplotlib: bump to 2.2.2

Package-Manager: Portage-2.3.19, Repoman-2.3.6

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

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 8a95b4c2349..d84fecf72e5 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -2,3 +2,4 @@ DIST matplotlib-1.4.3.tar.gz 49933525 BLAKE2B 40ea29ef7197d364f9caea63904b11231a
 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
+DIST matplotlib-2.2.2.tar.gz 37317332 BLAKE2B 4120265263c5b1e4ab57f7c0eb7a477b4071a5f219d1d6328d6ed51d44460217c7c4da82a4b7d13c6ba9f80308406a217f2dbcfa310f3137cbe8bc56a9ef0eef SHA512 1d21ef821190f22354098f8f0db6449f237acbf3c1419ab3815ecd4e9c6922fd3f00c4a8f60858e319b55b6fb2e8fe2922c0bf8e72b204e7edff0b409cf76320

diff --git a/dev-python/matplotlib/files/matplotlib-2.2.2-doc-make.patch b/dev-python/matplotlib/files/matplotlib-2.2.2-doc-make.patch
new file mode 100644
index 00000000000..7ca0c697423
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-2.2.2-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.2.ebuild b/dev-python/matplotlib/matplotlib-2.2.2.ebuild
new file mode 100644
index 00000000000..08c40d2f1de
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-2.2.2.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="https://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
+	>=dev-python/kiwisolver-1.0.0[${PYTHON_USEDEP}]
+	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]
+	)
+	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] 20+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/, dev-python/matplotlib/files/
@ 2018-05-10 14:10 Andreas Sturmlechner
  0 siblings, 0 replies; 20+ messages in thread
From: Andreas Sturmlechner @ 2018-05-10 14:10 UTC (permalink / raw
  To: gentoo-commits

commit:     77d25c2e6c43eecf7805a3635188e3b9c57b81f3
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu May 10 11:46:15 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu May 10 14:10:23 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77d25c2e

dev-python/matplotlib: Drop old

Package-Manager: Portage-2.3.36, Repoman-2.3.9

 dev-python/matplotlib/Manifest                     |   1 -
 .../matplotlib-1.4.3-backport-GH5291-2462.patch    | 126 ----------
 .../files/matplotlib-1.4.3-cross-compile-1.patch   |  50 ----
 .../files/matplotlib-1.4.3-cross-compile-2.patch   |  54 -----
 .../files/matplotlib-1.4.3-cross-compile-3.patch   |  58 -----
 .../files/matplotlib-2.2.0-doc-make.patch          |  10 -
 dev-python/matplotlib/matplotlib-2.2.0.ebuild      | 257 ---------------------
 dev-python/matplotlib/matplotlib-2.2.2.ebuild      | 257 ---------------------
 8 files changed, 813 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 39b41fe50aa..1eded76c0c5 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,3 +1,2 @@
 DIST matplotlib-2.1.2.tar.bz2 33422388 BLAKE2B cb4826b563e9820a17e568de78044cb81af6fbe86221505fe9cfbab7e06fb95cc3a4eff8772443197cdddf6e49b4b59d204fab39054e627b95f0169b74f630a4 SHA512 861354363f625a45f40ce7b31263088c950c8664b8ef13f8019da222ba4a8df7d0a8ee048a1bd84102e472ec48318cfea9df905d58a28efb788ba59cd5348061
-DIST matplotlib-2.2.0.tar.gz 37246563 BLAKE2B 98d0b2cd6221f7e35d6d023b9c580733370b2def914e1ea879245a10399767f6269d81da561630518d1663da4b8afadf801c627b4c713cc37ad628a917cc446a SHA512 70932e4511e6748cc97c1c6b55705d31e93c1c2bd91b163158a4585dd916318337243ba89e6a62319c628fba955bb768bb73380991f6b7ed8678ef61413926e5
 DIST matplotlib-2.2.2.tar.gz 37317332 BLAKE2B 4120265263c5b1e4ab57f7c0eb7a477b4071a5f219d1d6328d6ed51d44460217c7c4da82a4b7d13c6ba9f80308406a217f2dbcfa310f3137cbe8bc56a9ef0eef SHA512 1d21ef821190f22354098f8f0db6449f237acbf3c1419ab3815ecd4e9c6922fd3f00c4a8f60858e319b55b6fb2e8fe2922c0bf8e72b204e7edff0b409cf76320

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
deleted file mode 100644
index d6b2ae86003..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.4.3-backport-GH5291-2462.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-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/files/matplotlib-1.4.3-cross-compile-1.patch b/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-1.patch
deleted file mode 100644
index 06573144131..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-1.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-https://github.com/matplotlib/matplotlib/pull/4430
-
-From 08d26a80859023963bc2ffb41a0b6aed942685a9 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@chromium.org>
-Date: Fri, 15 May 2015 03:36:45 -0400
-Subject: [PATCH 1/3] setupext: respect $PKG_CONFIG
-
-When cross-compiling, it is common to set the PKG_CONFIG env var to a
-custom pkg-config that knows about the target.  Make sure we respect
-that just like the standard pkg-config tools suggest (pkg.m4).  If it
-isn't set, we use the same default as today -- "pkg-config".
----
- setupext.py | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/setupext.py b/setupext.py
-index 80b2a6c..29cddf9 100755
---- a/setupext.py
-+++ b/setupext.py
-@@ -253,7 +253,8 @@ class PkgConfig(object):
-             self.has_pkgconfig = False
-         else:
-             self.set_pkgconfig_path()
--            status, output = getstatusoutput("pkg-config --help")
-+            self.pkgconfig = os.environ.get('PKG_CONFIG', 'pkg-config')
-+            status, output = getstatusoutput("%s --help" % self.pkgconfig)
-             self.has_pkgconfig = (status == 0)
-             if not self.has_pkgconfig:
-                 print("IMPORTANT WARNING:")
-@@ -286,7 +287,7 @@ class PkgConfig(object):
- 
-         executable = alt_exec
-         if self.has_pkgconfig:
--            executable = 'pkg-config {0}'.format(package)
-+            executable = '%s %s' % (self.pkgconfig, package)
- 
-         use_defaults = True
- 
-@@ -330,7 +331,7 @@ class PkgConfig(object):
-             return None
- 
-         status, output = getstatusoutput(
--            "pkg-config %s --modversion" % (package))
-+            '%s %s --modversion' % (self.pkgconfig, package))
-         if status == 0:
-             return output
-         return None
--- 
-2.4.0
-

diff --git a/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-2.patch b/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-2.patch
deleted file mode 100644
index 9580c70b2ae..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-2.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-https://github.com/matplotlib/matplotlib/pull/4430
-
-From 3761303016cab0542891374032eca87e74d585bf Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@chromium.org>
-Date: Fri, 15 May 2015 03:43:17 -0400
-Subject: [PATCH 2/3] setupext: do not mess with PKG_CONFIG_PATH
-
-The current code always sets PKG_CONFIG_PATH to build paths in / which
-breaks cross-compiling -- things like /usr/lib are for the build system
-(e.g. x86) and not for the target (e.g. arm).  Since we're adding paths
-that are already the default for pkg-config, there's no point in trying
-to be smart here.  Just punt the code.
-
-This basically reverts commit 101beb975d3a1218350f02bf68dc2a43ac8ff148.
----
- setupext.py | 15 ---------------
- 1 file changed, 15 deletions(-)
-
-diff --git a/setupext.py b/setupext.py
-index 29cddf9..57d80e7 100755
---- a/setupext.py
-+++ b/setupext.py
-@@ -252,7 +252,6 @@ class PkgConfig(object):
-         if sys.platform == 'win32':
-             self.has_pkgconfig = False
-         else:
--            self.set_pkgconfig_path()
-             self.pkgconfig = os.environ.get('PKG_CONFIG', 'pkg-config')
-             status, output = getstatusoutput("%s --help" % self.pkgconfig)
-             self.has_pkgconfig = (status == 0)
-@@ -262,20 +261,6 @@ class PkgConfig(object):
-                     "    pkg-config is not installed.\n"
-                     "    matplotlib may not be able to find some of its dependencies")
- 
--    def set_pkgconfig_path(self):
--        pkgconfig_path = sysconfig.get_config_var('LIBDIR')
--        if pkgconfig_path is None:
--            return
--
--        pkgconfig_path = os.path.join(pkgconfig_path, 'pkgconfig')
--        if not os.path.isdir(pkgconfig_path):
--            return
--
--        try:
--            os.environ['PKG_CONFIG_PATH'] += ':' + pkgconfig_path
--        except KeyError:
--            os.environ['PKG_CONFIG_PATH'] = pkgconfig_path
--
-     def setup_extension(self, ext, package, default_include_dirs=[],
-                         default_library_dirs=[], default_libraries=[],
-                         alt_exec=None):
--- 
-2.4.0
-

diff --git a/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-3.patch b/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-3.patch
deleted file mode 100644
index 21fdf128863..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.4.3-cross-compile-3.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-https://github.com/matplotlib/matplotlib/pull/4430
-
-From d077e49be318c851f6bbd64708efeed78a3ece3f Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@chromium.org>
-Date: Fri, 15 May 2015 03:49:02 -0400
-Subject: [PATCH 3/3] setupext: do not hardcode system -I/-L paths
-
-The native compiler should already know the right paths to look for
-includes and libraries.  Hardcoding a specific list of those paths
-breaks both cross-compiling and multilib.  In the former, paths like
-/usr/include and /usr/lib are for x86 but when you want to build for
-arm, mixing them leads to bad failures.  In the latter, paths like
-/usr/lib typically hold 32it libraries, but when you're building for
-64bit, you want the libs from /usr/lib64.  This goes even further as
-there are other mixed ABIs like /usr/libx32 and /usr/lib32, neither
-of which are handled here.
-
-Instead, delete the code entirely and rely on the compiler being
-properly configured.  If you want to use a misconfigured compiler,
-you can always set CFLAGS/CPPFLAGS/LDFLAGS to include the -I/-L
-that your system needs.
----
- setupext.py | 12 +-----------
- 1 file changed, 1 insertion(+), 11 deletions(-)
-
-diff --git a/setupext.py b/setupext.py
-index 57d80e7..7473e3a 100755
---- a/setupext.py
-+++ b/setupext.py
-@@ -216,9 +216,7 @@ sysconfig.customize_compiler = my_customize_compiler
- 
- def make_extension(name, files, *args, **kwargs):
-     """
--    Make a new extension.  Automatically sets include_dirs and
--    library_dirs to the base directories appropriate for this
--    platform.
-+    Make a new extension.
- 
-     `name` is the name of the extension.
- 
-@@ -228,14 +226,6 @@ def make_extension(name, files, *args, **kwargs):
-     `distutils.core.Extension` constructor.
-     """
-     ext = DelayedExtension(name, files, *args, **kwargs)
--    for dir in get_base_dirs():
--        include_dir = os.path.join(dir, 'include')
--        if os.path.exists(include_dir):
--            ext.include_dirs.append(include_dir)
--        for lib in ('lib', 'lib64'):
--            lib_dir = os.path.join(dir, lib)
--            if os.path.exists(lib_dir):
--                ext.library_dirs.append(lib_dir)
-     ext.include_dirs.append('.')
- 
-     return ext
--- 
-2.4.0
-

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
deleted file mode 100644
index 7ca0c697423..00000000000
--- a/dev-python/matplotlib/files/matplotlib-2.2.0-doc-make.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-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
deleted file mode 100644
index d1fc0c28597..00000000000
--- a/dev-python/matplotlib/matplotlib-2.2.0.ebuild
+++ /dev/null
@@ -1,257 +0,0 @@
-# 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="https://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 ~arm64 ~ppc ~ppc64 ~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
-	>=dev-python/kiwisolver-1.0.0[${PYTHON_USEDEP}]
-	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]
-	)
-	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
-}

diff --git a/dev-python/matplotlib/matplotlib-2.2.2.ebuild b/dev-python/matplotlib/matplotlib-2.2.2.ebuild
deleted file mode 100644
index d1fc0c28597..00000000000
--- a/dev-python/matplotlib/matplotlib-2.2.2.ebuild
+++ /dev/null
@@ -1,257 +0,0 @@
-# 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="https://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 ~arm64 ~ppc ~ppc64 ~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
-	>=dev-python/kiwisolver-1.0.0[${PYTHON_USEDEP}]
-	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]
-	)
-	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] 20+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/, dev-python/matplotlib/files/
@ 2019-05-02 15:11 Virgil Dupras
  0 siblings, 0 replies; 20+ messages in thread
From: Virgil Dupras @ 2019-05-02 15:11 UTC (permalink / raw
  To: gentoo-commits

commit:     3017cf5138cdd90bda307ad0e820e5890350738a
Author:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
AuthorDate: Thu May  2 15:10:35 2019 +0000
Commit:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
CommitDate: Thu May  2 15:10:35 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3017cf51

dev-python/matplotlib: bump to 2.2.4

Closes: https://bugs.gentoo.org/684798
Closes: https://bugs.gentoo.org/656262
Signed-off-by: Virgil Dupras <vdupras <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11

 dev-python/matplotlib/Manifest                     |   1 +
 .../files/matplotlib-2.2.4-doc-fix.patch           |  18 ++
 .../matplotlib-2.2.4-no-jqueryui-download.patch    |  18 ++
 dev-python/matplotlib/matplotlib-2.2.4.ebuild      | 258 +++++++++++++++++++++
 4 files changed, 295 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index edf2d8bbaa2..5ce2a199f71 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1 +1,2 @@
 DIST matplotlib-2.2.2.tar.gz 37317332 BLAKE2B 4120265263c5b1e4ab57f7c0eb7a477b4071a5f219d1d6328d6ed51d44460217c7c4da82a4b7d13c6ba9f80308406a217f2dbcfa310f3137cbe8bc56a9ef0eef SHA512 1d21ef821190f22354098f8f0db6449f237acbf3c1419ab3815ecd4e9c6922fd3f00c4a8f60858e319b55b6fb2e8fe2922c0bf8e72b204e7edff0b409cf76320
+DIST matplotlib-2.2.4.tar.gz 36974286 BLAKE2B 9c4c69163a23ff02107ee155f72e142dcf31ba965f6a20f468b96f3f4b70b95ff6caade6b14bcbacd5b231848d2000ce6af9f113feefb41d6e186725349490d3 SHA512 968f5731b8a9a2c5575403c60d5b0a98a452b33094e520be44f4d901f892d082babc8fc1d73c519e1ff2baf756f3cb7652f4b796e166d66dfda31f7e50c58139

diff --git a/dev-python/matplotlib/files/matplotlib-2.2.4-doc-fix.patch b/dev-python/matplotlib/files/matplotlib-2.2.4-doc-fix.patch
new file mode 100644
index 00000000000..b6a01b097a6
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-2.2.4-doc-fix.patch
@@ -0,0 +1,18 @@
+diff --git a/doc/conf.py b/doc/conf.py
+index 017ce210e..5a397082b 100644
+--- a/doc/conf.py
++++ b/doc/conf.py
+@@ -170,10 +170,10 @@ source_encoding = "utf-8"
+ master_doc = 'contents'
+ 
+ # General substitutions.
+-from matplotlib.compat.subprocess import check_output
+-SHA = check_output(['git', 'describe', '--dirty']).decode('utf-8').strip()
++#from matplotlib.compat.subprocess import check_output
++#SHA = check_output(['git', 'describe', '--dirty']).decode('utf-8').strip()
+ 
+-html_context = {'sha': SHA}
++#html_context = {'sha': SHA}
+ 
+ project = 'Matplotlib'
+ copyright = ('2002 - 2012 John Hunter, Darren Dale, Eric Firing, '

diff --git a/dev-python/matplotlib/files/matplotlib-2.2.4-no-jqueryui-download.patch b/dev-python/matplotlib/files/matplotlib-2.2.4-no-jqueryui-download.patch
new file mode 100644
index 00000000000..9d13adb8ab5
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-2.2.4-no-jqueryui-download.patch
@@ -0,0 +1,18 @@
+diff --git a/setup.py b/setup.py
+index 41037e95d..6a438fa99 100644
+--- a/setup.py
++++ b/setup.py
+@@ -178,9 +178,10 @@ class sdist_with_jquery(_orgin_sdist):
+ class install_lib_with_jquery(InstallLibCommand):
+     def run(self):
+         InstallLibCommand.run(self)
+-        _download_jquery_to(
+-            os.path.join(self.install_dir, "matplotlib/backends/web_backend/"))
+-
++        # Avoid downloading jquery ui during emerge: we already have it in
++        # pypi's tarball. use this!
++        name = "matplotlib/backends/web_backend/jquery-ui-1.12.1"
++        os.rename(os.path.join('lib', name), os.path.join(self.install_dir, name))
+ 
+ class develop_with_jquery(DevelopCommand):
+     def run(self):

diff --git a/dev-python/matplotlib/matplotlib-2.2.4.ebuild b/dev-python/matplotlib/matplotlib-2.2.4.ebuild
new file mode 100644
index 00000000000..8db934dba89
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-2.2.4.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
+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="https://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 ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="cairo doc excel examples gtk2 gtk3 latex qt5 test tk wxwidgets"
+
+PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
+REQUIRED_USE="
+	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
+	>=dev-python/kiwisolver-1.0.0[${PYTHON_USEDEP}]
+	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-0.8[${PYTHON_USEDEP}]
+		<dev-python/numpydoc-0.9
+		sci-libs/scipy[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+		>=dev-python/sphinx-gallery-0.3.1[${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}
+	${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
+	)
+	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}"/${PN}-2.2.4-doc-fix.patch
+		"${FILESDIR}"/${PN}-2.2.4-no-jqueryui-download.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
+		pyside = False
+		pysideagg = False
+		qt4 = False
+		qt4agg = False
+		$(use_setup cairo)
+		$(use_setup gtk3)
+		$(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] 20+ messages in thread

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

commit:     2d533e37ab79a7b621f86a341407188988c133a9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  7 19:26:56 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jun  7 19:33:35 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d533e37

dev-python/matplotlib: Resolve test failures

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

 .../matplotlib/files/matplotlib-3.2.1-test.patch   | 432 +++++++++++++++++++++
 dev-python/matplotlib/matplotlib-3.2.1.ebuild      |   6 +-
 2 files changed, 437 insertions(+), 1 deletion(-)

diff --git a/dev-python/matplotlib/files/matplotlib-3.2.1-test.patch b/dev-python/matplotlib/files/matplotlib-3.2.1-test.patch
new file mode 100644
index 00000000000..281f15405c9
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.2.1-test.patch
@@ -0,0 +1,432 @@
+From 36e8d90d8065aa5fd1cd83554e6d2e7d031e5b3d 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                        | 2 +-
+ lib/mpl_toolkits/tests/test_axes_grid1.py                  | 2 +-
+ .../tests/test_axisartist_grid_helper_curvelinear.py       | 2 +-
+ 10 files changed, 17 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 93548b279..9910e63c3 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -3653,7 +3653,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 a9e8dfade..7e33bcb3b 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 8d8cf29d0..4cdfe1aaf 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -16,7 +16,7 @@ def usetex():
+ 
+ @image_comparison(baseline_images=['test_usetex'],
+                   extensions=['pdf', 'png'],
+-                  tol={'aarch64': 2.868}.get(platform.machine(), 0.3))
++                  tol=3)
+ def test_usetex():
+     fig = plt.figure()
+     ax = fig.add_subplot(111)
+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 c1d6cce894de12bd32095c73d15d4f4f6ff5f2bb 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.
+---
+ .../test_cycles/color_cycle_basic.png         | Bin 33044 -> 0 bytes
+ .../test_cycles/fill_cycle_basic.png          | Bin 70692 -> 0 bytes
+ .../test_cycles/fill_cycle_ignore.png         | Bin 65439 -> 0 bytes
+ .../test_cycles/lineprop_cycle_basic.png      | Bin 41852 -> 0 bytes
+ .../test_cycles/marker_cycle.png              | Bin 44979 -> 0 bytes
+ .../test_cycles/property_collision_fill.png   | Bin 24923 -> 0 bytes
+ .../test_cycles/property_collision_plot.png   | Bin 37723 -> 0 bytes
+ lib/matplotlib/tests/test_cycles.py           | 141 +++++++-----------
+ 8 files changed, 51 insertions(+), 90 deletions(-)
+ delete mode 100644 lib/matplotlib/tests/baseline_images/test_cycles/color_cycle_basic.png
+ delete mode 100644 lib/matplotlib/tests/baseline_images/test_cycles/fill_cycle_basic.png
+ delete mode 100644 lib/matplotlib/tests/baseline_images/test_cycles/fill_cycle_ignore.png
+ delete mode 100644 lib/matplotlib/tests/baseline_images/test_cycles/lineprop_cycle_basic.png
+ delete mode 100644 lib/matplotlib/tests/baseline_images/test_cycles/marker_cycle.png
+ delete mode 100644 lib/matplotlib/tests/baseline_images/test_cycles/property_collision_fill.png
+ delete mode 100644 lib/matplotlib/tests/baseline_images/test_cycles/property_collision_plot.png
+
+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.1.ebuild b/dev-python/matplotlib/matplotlib-3.2.1.ebuild
index 6a67b5ed31d..6be4bf19ff0 100644
--- a/dev-python/matplotlib/matplotlib-3.2.1.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.2.1.ebuild
@@ -132,9 +132,13 @@ python_prepare_all() {
 #	EOF
 
 	local PATCHES=(
-		"${FILESDIR}"/${PN}-3.1.2-qhull.patch
+		"${FILESDIR}"/matplotlib-3.1.2-qhull.patch
+		"${FILESDIR}"/matplotlib-3.2.1-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 \


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

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

commit:     00023b8cda2fd8c6e91248f837875d405e218099
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 25 06:02:11 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 25 07:36:20 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=00023b8c

dev-python/matplotlib: Bump to 3.3.0

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

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.3.0-test.patch   | 225 +++++++++++++++++
 dev-python/matplotlib/matplotlib-3.3.0.ebuild      | 275 +++++++++++++++++++++
 3 files changed, 501 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 76cf20e63bd..d1bbfd7ce26 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -4,3 +4,4 @@ DIST matplotlib-2.2.4.tar.gz 36974286 BLAKE2B 9c4c69163a23ff02107ee155f72e142dcf
 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
+DIST matplotlib-3.3.0.tar.gz 38782487 BLAKE2B 97330d93b8d8a64a1296ccb173e44ebcc54c61e22aacdd73cc38a46fb2d22fbfe7334fb3c6993be001c475724c47f530243affddd71ec647232ac093db6e3135 SHA512 2ffd9e79e300a37092ab4b5a7156c2f57e408975818abd413c74477ad622030c7636695467aab821c9996564cddec57e26ba6a8004f6639070964fcb7a510a75

diff --git a/dev-python/matplotlib/files/matplotlib-3.3.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.3.0-test.patch
new file mode 100644
index 00000000000..c7ce64b9b3b
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.3.0-test.patch
@@ -0,0 +1,225 @@
+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/matplotlib-3.3.0.ebuild b/dev-python/matplotlib/matplotlib-3.3.0.ebuild
new file mode 100644
index 00000000000..aca7e3486ef
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.3.0.ebuild
@@ -0,0 +1,275 @@
+# 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.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
+}


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

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

commit:     e54b839eb47d4d26278a368c11dc6d6d957663f4
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 26 12:43:25 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Mar 26 14:36:56 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e54b839e

dev-python/matplotlib: Bump to 3.4.0

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

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.4.0-test.patch   | 239 ++++++++++++++++++
 dev-python/matplotlib/matplotlib-3.4.0.ebuild      | 280 +++++++++++++++++++++
 3 files changed, 520 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index f5d3279805c..534d40f6bb8 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,2 +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

diff --git a/dev-python/matplotlib/files/matplotlib-3.4.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.4.0-test.patch
new file mode 100644
index 00000000000..3cedaba4ffc
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.4.0-test.patch
@@ -0,0 +1,239 @@
+From d44a24b3744b568fc12209ede6be782babb847b7 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                  | 8 +++++---
+ lib/matplotlib/tests/test_figure.py                       | 5 +++--
+ lib/matplotlib/tests/test_legend.py                       | 6 +++---
+ 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 +-
+ 10 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 3c95535e0..c4fad3486 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 ed76af576..772f96177 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -3807,7 +3807,7 @@ def test_hist_labels():
+     assert bars[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)
+@@ -4083,7 +4083,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 75f50ecbf..6973a9681 100644
+--- a/lib/matplotlib/tests/test_backend_pgf.py
++++ b/lib/matplotlib/tests/test_backend_pgf.py
+@@ -91,7 +91,8 @@ def test_xelatex():
+ @needs_pdflatex
+ @pytest.mark.skipif(not _has_tex_package('ucs'), reason='needs ucs.sty')
+ @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'):
+         pytest.xfail("pdflatex test does not work on appveyor due to missing "
+@@ -127,7 +128,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):
+             for substring, pkg in [('sfmath', 'sfmath'), ('utf8x', 'ucs')]:
+@@ -153,7 +154,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():
+     mpl.rcParams.update({'font.family': 'serif', 'pgf.rcfonts': False})
+     Y, X = np.ogrid[-1:1:40j, -1:1:40j]
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index 15f084fc1..14fc6b191 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -21,7 +21,7 @@ import pytest
+ 
+ 
+ @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)
+@@ -902,7 +902,8 @@ def test_subfigure():
+ 
+ @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_legend.py b/lib/matplotlib/tests/test_legend.py
+index cebf26ea0..d7a5c3a88 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -100,7 +100,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)
+@@ -109,7 +109,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)
+@@ -135,7 +135,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_units.py b/lib/matplotlib/tests/test_units.py
+index 3f40a99a2..059a9f9a5 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -75,7 +75,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['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
+@@ -102,7 +102,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 2d79e155e..cc46fe00c 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -14,7 +14,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, ax = plt.subplots()
+diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
+index 0e1602e81..6a54b0d43 100644
+--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
+@@ -323,7 +323,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 9a78a2676..09300adac 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.04)
++                  tol=0.039)
+ 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 f55edaa4a..60687be5b 100644
+--- a/lib/mpl_toolkits/tests/test_mplot3d.py
++++ b/lib/mpl_toolkits/tests/test_mplot3d.py
+@@ -1269,7 +1269,7 @@ def test_errorbar3d():
+ 
+ 
+ @image_comparison(['stem3d.png'], style='mpl20',
+-                  tol=0.0 if platform.machine() == 'x86_64' else 0.003)
++                  tol=0.003)
+ def test_stem3d():
+     fig, axs = plt.subplots(2, 3, figsize=(8, 6),
+                             constrained_layout=True,
+-- 
+2.31.0
+

diff --git a/dev-python/matplotlib/matplotlib-3.4.0.ebuild b/dev-python/matplotlib/matplotlib-3.4.0.ebuild
new file mode 100644
index 00000000000..70fc4ea111b
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.4.0.ebuild
@@ -0,0 +1,280 @@
+# 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
+}


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

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

commit:     ff0248cb142dc0330c5669cb7dc514ced19ac08a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 20 13:18:49 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jun 20 14:37:31 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff0248cb

dev-python/matplotlib: Fix test regression

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

 .../files/matplotlib-3.4.1-xelatex-test.patch      | 74 ++++++++++++++++++++++
 dev-python/matplotlib/matplotlib-3.4.1.ebuild      |  3 +-
 2 files changed, 76 insertions(+), 1 deletion(-)

diff --git a/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch b/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch
new file mode 100644
index 00000000000..5f1bda49c71
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch
@@ -0,0 +1,74 @@
+From d0f92f582800b6bd6b4bb2e59cd7e5b3cd6b5948 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 20 Jun 2021 14:46:17 +0200
+Subject: [PATCH] _GSConverter: handle stray 'GS' in output gracefully
+
+Search the GS output stream for either "GS<" or "GS>" explicitly rather
+than any "GS", in order to prevent the code from wrongly matching stray
+"GS".  This fixes a recent test regression on Gentoo where the following
+output seems to have been wrongly matched:
+
+    **** Error 'gs' ignored -- ExtGState missing from Resources.
+                                  ^^
+
+Fixes #20472
+---
+ lib/matplotlib/testing/compare.py | 20 +++++++++++---------
+ 1 file changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py
+index 3957188b3e2..27af3e186bd 100644
+--- a/lib/matplotlib/testing/compare.py
++++ b/lib/matplotlib/testing/compare.py
+@@ -154,15 +154,17 @@ def encode_and_escape(name):
+             + b") run flush\n")
+         self._proc.stdin.flush()
+         # GS> if nothing left on the stack; GS<n> if n items left on the stack.
+-        err = self._read_until(b"GS")
+-        stack = self._read_until(b">")
+-        if stack or not os.path.exists(dest):
+-            stack_size = int(stack[1:]) if stack else 0
+-            self._proc.stdin.write(b"pop\n" * stack_size)
+-            # Using the systemencoding should at least get the filenames right.
+-            raise ImageComparisonFailure(
+-                (err + b"GS" + stack + b">")
+-                .decode(sys.getfilesystemencoding(), "replace"))
++        err = self._read_until((b"GS<", b"GS>"))
++        if err.endswith(b"GS<"):
++            stack = self._read_until(b">")
++            if stack or not os.path.exists(dest):
++                stack_size = int(stack[1:]) if stack else 0
++                self._proc.stdin.write(b"pop\n" * stack_size)
++                # Using the systemencoding should at least get the filenames
++                # right.
++                raise ImageComparisonFailure(
++                    (err + b"GS" + stack + b">")
++                    .decode(sys.getfilesystemencoding(), "replace"))
+ 
+ 
+ class _SVGConverter(_Converter):
+From d73dd52edf7ec106cf2f6c0ffc79dcda31102ecd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 20 Jun 2021 15:07:56 +0200
+Subject: [PATCH] increase test_backend_pgf.py::test_xelatex[pdf] tol
+
+---
+ lib/matplotlib/tests/test_backend_pgf.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
+index 55e375311..684f38fb7 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}
+-- 
+2.32.0
+

diff --git a/dev-python/matplotlib/matplotlib-3.4.1.ebuild b/dev-python/matplotlib/matplotlib-3.4.1.ebuild
index 6ac9f568ad3..a145e84f8c2 100644
--- a/dev-python/matplotlib/matplotlib-3.4.1.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.4.1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{8..9} )
 PYTHON_REQ_USE='tk?,threads(+)'
 
 inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
@@ -147,6 +147,7 @@ python_prepare_all() {
 	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


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

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

commit:     a968d0a5f97a8f6a2746869279ec99fdc81fe6ad
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 16 08:33:47 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 16 10:19:22 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a968d0a5

dev-python/matplotlib: Bump to 3.5.0

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

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.5.0-test.patch   | 248 ++++++++++++++++++
 dev-python/matplotlib/matplotlib-3.5.0.ebuild      | 289 +++++++++++++++++++++
 3 files changed, 538 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 64a5e12872c3..dadb9bea572c 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.2.tar.gz 37308683 BLAKE2B b769244b3d7a7da9125f6b634e9340676d849322491390d1c9a0cec3dfce59a8b5b5c0b567575ae78212129f7303b6b1fbbf30ce7c8a23c43c1304e83c9c5f5e SHA512 d4798dd2d6c857db0fe6d4ec85ebabc028b78627311bab17f7b9b30f6aa61d5243114b1cfe9d83293ad66ae47df83add5272f032954990dfc04054a792049f2a
 DIST matplotlib-3.4.3.tar.gz 37850796 BLAKE2B 15b40da8f6973ece4a91fffb5caf249cb8642263bfc2a784ec482bfaad250b6d3beffb9d2ba8a03e5fa10abab02b0e35728a8499ccb870aca06df57c5c1f91f4 SHA512 c2fe54e7517a1417aa8e55596e83edd090534c07f22882634d6ba0a07196441b5bbdd15958473805d8e8871b1b73380487aff3224294d472cd6122490c783145
+DIST matplotlib-3.5.0.tar.gz 34963685 BLAKE2B 371c548f8d12e29c58349cc4738bafaeef2530f81a2779290393911c8056fd5c3cbdcbbbdbad20b7f51a534a9332e05842ad0024c39899fa34ff98ed702ea0b3 SHA512 546e626c88606e50775c6eed1e3070a3f00367e56765d66baf1af8f3e1c9b8b7aa29df0fd9c18fe32505a392a75a7dd6bad5351df1a2ae682ba93d50760618e0

diff --git a/dev-python/matplotlib/files/matplotlib-3.5.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.5.0-test.patch
new file mode 100644
index 000000000000..214117d772ca
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.5.0-test.patch
@@ -0,0 +1,248 @@
+From 5487db555adb0385892216e7819a1bf6cea41116 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_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/mpl_toolkits/tests/test_axes_grid1.py  | 2 +-
+ lib/mpl_toolkits/tests/test_mplot3d.py     | 2 +-
+ 12 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 17f8e5c631..b44cd454ef 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -868,7 +868,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
+@@ -4163,7 +4163,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_contour.py b/lib/matplotlib/tests/test_contour.py
+index 6396105f12..45b7022d03 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -341,7 +341,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 cb8f63893a..ef56c50d25 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)
+@@ -1000,7 +1000,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 21c8ab748d..a05cb4c571 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 88c3ec2768..b536ba3ff0 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/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
+index 3c4aa9a9eb..94ad419ceb 100644
+--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
+@@ -324,7 +324,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_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
+index 5fee82f519..ed55a7bf68 100644
+--- a/lib/mpl_toolkits/tests/test_mplot3d.py
++++ b/lib/mpl_toolkits/tests/test_mplot3d.py
+@@ -1357,7 +1357,7 @@ def test_errorbar3d():
+ 
+ 
+ @image_comparison(['stem3d.png'], style='mpl20',
+-                  tol=0.0 if platform.machine() == 'x86_64' else 0.003)
++                  tol=0.003)
+ def test_stem3d():
+     fig, axs = plt.subplots(2, 3, figsize=(8, 6),
+                             constrained_layout=True,
+-- 
+2.34.0
+

diff --git a/dev-python/matplotlib/matplotlib-3.5.0.ebuild b/dev-python/matplotlib/matplotlib-3.5.0.ebuild
new file mode 100644
index 000000000000..89ee65666d40
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.5.0.ebuild
@@ -0,0 +1,289 @@
+# Copyright 1999-2021 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/"
+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 ~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/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? (
+		$(python_gen_cond_dep '
+			dev-python/wxpython:*[${PYTHON_USEDEP}]
+		' python3_{8,9})
+	)
+"
+
+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/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.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
+		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] 20+ messages in thread

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

commit:     7aff8fa34341ffcb4d50e0380e1a8a3808b1b906
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 19 09:23:07 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov 19 09:23:07 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7aff8fa3

dev-python/matplotlib: Remove old

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

 dev-python/matplotlib/Manifest                     |   1 -
 .../files/matplotlib-3.4.1-xelatex-test.patch      |  74 ------
 dev-python/matplotlib/matplotlib-3.4.2.ebuild      | 285 ---------------------
 3 files changed, 360 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index dadb9bea572c..288639622e0f 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.4.2.tar.gz 37308683 BLAKE2B b769244b3d7a7da9125f6b634e9340676d849322491390d1c9a0cec3dfce59a8b5b5c0b567575ae78212129f7303b6b1fbbf30ce7c8a23c43c1304e83c9c5f5e SHA512 d4798dd2d6c857db0fe6d4ec85ebabc028b78627311bab17f7b9b30f6aa61d5243114b1cfe9d83293ad66ae47df83add5272f032954990dfc04054a792049f2a
 DIST matplotlib-3.4.3.tar.gz 37850796 BLAKE2B 15b40da8f6973ece4a91fffb5caf249cb8642263bfc2a784ec482bfaad250b6d3beffb9d2ba8a03e5fa10abab02b0e35728a8499ccb870aca06df57c5c1f91f4 SHA512 c2fe54e7517a1417aa8e55596e83edd090534c07f22882634d6ba0a07196441b5bbdd15958473805d8e8871b1b73380487aff3224294d472cd6122490c783145
 DIST matplotlib-3.5.0.tar.gz 34963685 BLAKE2B 371c548f8d12e29c58349cc4738bafaeef2530f81a2779290393911c8056fd5c3cbdcbbbdbad20b7f51a534a9332e05842ad0024c39899fa34ff98ed702ea0b3 SHA512 546e626c88606e50775c6eed1e3070a3f00367e56765d66baf1af8f3e1c9b8b7aa29df0fd9c18fe32505a392a75a7dd6bad5351df1a2ae682ba93d50760618e0

diff --git a/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch b/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch
deleted file mode 100644
index 5f1bda49c71e..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.4.1-xelatex-test.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From d0f92f582800b6bd6b4bb2e59cd7e5b3cd6b5948 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 20 Jun 2021 14:46:17 +0200
-Subject: [PATCH] _GSConverter: handle stray 'GS' in output gracefully
-
-Search the GS output stream for either "GS<" or "GS>" explicitly rather
-than any "GS", in order to prevent the code from wrongly matching stray
-"GS".  This fixes a recent test regression on Gentoo where the following
-output seems to have been wrongly matched:
-
-    **** Error 'gs' ignored -- ExtGState missing from Resources.
-                                  ^^
-
-Fixes #20472
----
- lib/matplotlib/testing/compare.py | 20 +++++++++++---------
- 1 file changed, 11 insertions(+), 9 deletions(-)
-
-diff --git a/lib/matplotlib/testing/compare.py b/lib/matplotlib/testing/compare.py
-index 3957188b3e2..27af3e186bd 100644
---- a/lib/matplotlib/testing/compare.py
-+++ b/lib/matplotlib/testing/compare.py
-@@ -154,15 +154,17 @@ def encode_and_escape(name):
-             + b") run flush\n")
-         self._proc.stdin.flush()
-         # GS> if nothing left on the stack; GS<n> if n items left on the stack.
--        err = self._read_until(b"GS")
--        stack = self._read_until(b">")
--        if stack or not os.path.exists(dest):
--            stack_size = int(stack[1:]) if stack else 0
--            self._proc.stdin.write(b"pop\n" * stack_size)
--            # Using the systemencoding should at least get the filenames right.
--            raise ImageComparisonFailure(
--                (err + b"GS" + stack + b">")
--                .decode(sys.getfilesystemencoding(), "replace"))
-+        err = self._read_until((b"GS<", b"GS>"))
-+        if err.endswith(b"GS<"):
-+            stack = self._read_until(b">")
-+            if stack or not os.path.exists(dest):
-+                stack_size = int(stack[1:]) if stack else 0
-+                self._proc.stdin.write(b"pop\n" * stack_size)
-+                # Using the systemencoding should at least get the filenames
-+                # right.
-+                raise ImageComparisonFailure(
-+                    (err + b"GS" + stack + b">")
-+                    .decode(sys.getfilesystemencoding(), "replace"))
- 
- 
- class _SVGConverter(_Converter):
-From d73dd52edf7ec106cf2f6c0ffc79dcda31102ecd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 20 Jun 2021 15:07:56 +0200
-Subject: [PATCH] increase test_backend_pgf.py::test_xelatex[pdf] tol
-
----
- lib/matplotlib/tests/test_backend_pgf.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 55e375311..684f38fb7 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}
--- 
-2.32.0
-

diff --git a/dev-python/matplotlib/matplotlib-3.4.2.ebuild b/dev-python/matplotlib/matplotlib-3.4.2.ebuild
deleted file mode 100644
index e3fa994405b6..000000000000
--- a/dev-python/matplotlib/matplotlib-3.4.2.ebuild
+++ /dev/null
@@ -1,285 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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/"
-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 ppc ppc64 ~riscv 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.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? (
-		$(python_gen_cond_dep '
-			dev-python/wxpython:*[${PYTHON_USEDEP}]
-		' python3_{8,9})
-	)
-"
-
-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}]
-		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/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.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] 20+ messages in thread

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

commit:     ee4230afc8bf6e846f994c3cb5a8e8da8530b18e
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 17 11:14:31 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jun 17 11:14:31 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee4230af

dev-python/matplotlib: Remove old

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

 dev-python/matplotlib/Manifest                     |   1 -
 .../matplotlib/files/matplotlib-3.4.0-test.patch   | 239 -----------------
 .../files/matplotlib-3.4.3-test-extra.patch        |  38 ---
 dev-python/matplotlib/matplotlib-3.4.3-r1.ebuild   | 284 --------------------
 dev-python/matplotlib/matplotlib-3.5.2.ebuild      | 286 ---------------------
 5 files changed, 848 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index d3a94af7e8db..aadb19159e1e 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.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.4.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.4.0-test.patch
deleted file mode 100644
index 3cedaba4ffc3..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.4.0-test.patch
+++ /dev/null
@@ -1,239 +0,0 @@
-From d44a24b3744b568fc12209ede6be782babb847b7 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                  | 8 +++++---
- lib/matplotlib/tests/test_figure.py                       | 5 +++--
- lib/matplotlib/tests/test_legend.py                       | 6 +++---
- 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 +-
- 10 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 3c95535e0..c4fad3486 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 ed76af576..772f96177 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -3807,7 +3807,7 @@ def test_hist_labels():
-     assert bars[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)
-@@ -4083,7 +4083,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 75f50ecbf..6973a9681 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -91,7 +91,8 @@ def test_xelatex():
- @needs_pdflatex
- @pytest.mark.skipif(not _has_tex_package('ucs'), reason='needs ucs.sty')
- @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'):
-         pytest.xfail("pdflatex test does not work on appveyor due to missing "
-@@ -127,7 +128,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):
-             for substring, pkg in [('sfmath', 'sfmath'), ('utf8x', 'ucs')]:
-@@ -153,7 +154,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():
-     mpl.rcParams.update({'font.family': 'serif', 'pgf.rcfonts': False})
-     Y, X = np.ogrid[-1:1:40j, -1:1:40j]
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index 15f084fc1..14fc6b191 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -21,7 +21,7 @@ import pytest
- 
- 
- @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)
-@@ -902,7 +902,8 @@ def test_subfigure():
- 
- @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_legend.py b/lib/matplotlib/tests/test_legend.py
-index cebf26ea0..d7a5c3a88 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -100,7 +100,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)
-@@ -109,7 +109,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)
-@@ -135,7 +135,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_units.py b/lib/matplotlib/tests/test_units.py
-index 3f40a99a2..059a9f9a5 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -75,7 +75,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['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
-@@ -102,7 +102,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 2d79e155e..cc46fe00c 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -14,7 +14,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, ax = plt.subplots()
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 0e1602e81..6a54b0d43 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -323,7 +323,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 9a78a2676..09300adac 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.04)
-+                  tol=0.039)
- 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 f55edaa4a..60687be5b 100644
---- a/lib/mpl_toolkits/tests/test_mplot3d.py
-+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
-@@ -1269,7 +1269,7 @@ def test_errorbar3d():
- 
- 
- @image_comparison(['stem3d.png'], style='mpl20',
--                  tol=0.0 if platform.machine() == 'x86_64' else 0.003)
-+                  tol=0.003)
- def test_stem3d():
-     fig, axs = plt.subplots(2, 3, figsize=(8, 6),
-                             constrained_layout=True,
--- 
-2.31.0
-

diff --git a/dev-python/matplotlib/files/matplotlib-3.4.3-test-extra.patch b/dev-python/matplotlib/files/matplotlib-3.4.3-test-extra.patch
deleted file mode 100644
index cf641ff753ef..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.4.3-test-extra.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From d73dd52edf7ec106cf2f6c0ffc79dcda31102ecd Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 20 Jun 2021 15:07:56 +0200
-Subject: [PATCH] increase test_backend_pgf.py::test_xelatex[pdf] tol
-
----
- lib/matplotlib/tests/test_backend_pgf.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 55e375311..684f38fb7 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}
--- 
-2.32.0
-
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index c635564..4352942 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -872,7 +872,7 @@ def test_imshow_endianess():
- 
- 
- @image_comparison(['imshow_masked_interpolation'],
--                  tol=0 if platform.machine() == 'x86_64' else 0.01,
-+                  tol=0.01,
-                   remove_text=True, style='mpl20')
- def test_imshow_masked_interpolation():
- 

diff --git a/dev-python/matplotlib/matplotlib-3.4.3-r1.ebuild b/dev-python/matplotlib/matplotlib-3.4.3-r1.ebuild
deleted file mode 100644
index c408acbf67fb..000000000000
--- a/dev-python/matplotlib/matplotlib-3.4.3-r1.ebuild
+++ /dev/null
@@ -1,284 +0,0 @@
-# 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/"
-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/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:=
-	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}
-	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/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.4.0-test.patch
-		"${FILESDIR}"/matplotlib-3.4.3-test-extra.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.5.2.ebuild b/dev-python/matplotlib/matplotlib-3.5.2.ebuild
deleted file mode 100644
index 4616acff9433..000000000000
--- a/dev-python/matplotlib/matplotlib-3.5.2.ebuild
+++ /dev/null
@@ -1,286 +0,0 @@
-# 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 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="~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/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}]
-		>=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
-		x11-libs/gtk+:3[introspection]
-	)
-"
-
-distutils_enable_tests pytest
-
-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}"/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"
-
-	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() {
-	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
-	)
-
-	# 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
-	distutils-r1_python_compile -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() {
-	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] 20+ messages in thread

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

commit:     76aaa1eeb6f001baaa68e6946f917ebb091bbd9d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 24 07:50:28 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Sep 24 08:26:03 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76aaa1ee

dev-python/matplotlib: Bump to 3.6.0

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

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.6.0-test.patch   | 260 +++++++++++++++++++
 dev-python/matplotlib/matplotlib-3.6.0.ebuild      | 284 +++++++++++++++++++++
 3 files changed, 545 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 52f0abe31c87..84825b901aed 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.1.tar.gz 35320470 BLAKE2B ebf69b62ac587c61ecf8442abaab302019f63a3c9d8db6f7f7fb32f4d14da554fd8305ea6dfed2ff86a5af4e7e4d2b81f14802692fe50c986f7da8545bd26c00 SHA512 a317dbd748e5fc1fafcf80020cb6d38a8888431487beded97acd59d759e67e54f59506b642e4a03d4351c1ac050d15e3f2e2b5443433debc78ddad52881c8d82
 DIST matplotlib-3.5.2.tar.gz 35210006 BLAKE2B e3f90a0cf1d28f041a8cdd6920a8a4efe16169bb4acf85f7b2562196db306eeb692218728ea33c7b62214e7894e83a104954cbef38c45ccbb4f630bd35c0c36b SHA512 32844dfa85dbc43360c1773d748a58d2ab089111c51c825da62956c778a0eeaf10ca33a5c6c094295388a80d5873a2e1b17484e02b653e9e8e5ba98659329974
 DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670
+DIST matplotlib-3.6.0.tar.gz 35749946 BLAKE2B 1e2e80e124ef1a0a1843ba077c3c933b55a77062fd5cc49d304dd2d12f6323ff60f32113dc0c57388796682841367734283ea5c82e149d6fa3f379516800d131 SHA512 ea8cb274b9aacb4cc9c3b52cf5eaf881074dc73840cba160289e85173d763e96d3ea3628c5cb53f765092f53b9e3d05977281cc0c9d6756529601ca336ec0e27

diff --git a/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch
new file mode 100644
index 000000000000..4f0fe2207507
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch
@@ -0,0 +1,260 @@
+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/matplotlib-3.6.0.ebuild b/dev-python/matplotlib/matplotlib-3.6.0.ebuild
new file mode 100644
index 000000000000..86141df51a4f
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.6.0.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2022 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="~amd64"
+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,${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? (
+		>=www-servers/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}]
+		>=www-servers/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.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
+}


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/, dev-python/matplotlib/files/
@ 2022-10-25  8:21 Sam James
  0 siblings, 0 replies; 20+ messages in thread
From: Sam James @ 2022-10-25  8:21 UTC (permalink / raw
  To: gentoo-commits

commit:     b58de50cb78c639864ad002e36e53d17abf97484
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 25 07:48:48 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 25 08:20:40 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b58de50c

dev-python/matplotlib: drop 3.5.1-r2, 3.5.2-r3

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-python/matplotlib/Manifest                     |   2 -
 .../matplotlib/files/matplotlib-3.5.0-test.patch   | 248 ------------------
 dev-python/matplotlib/matplotlib-3.5.1-r2.ebuild   | 289 ---------------------
 dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild   | 282 --------------------
 4 files changed, 821 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index b5b2a8c712d2..890b6bf212ef 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,5 +1,3 @@
 DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.5.1.tar.gz 35320470 BLAKE2B ebf69b62ac587c61ecf8442abaab302019f63a3c9d8db6f7f7fb32f4d14da554fd8305ea6dfed2ff86a5af4e7e4d2b81f14802692fe50c986f7da8545bd26c00 SHA512 a317dbd748e5fc1fafcf80020cb6d38a8888431487beded97acd59d759e67e54f59506b642e4a03d4351c1ac050d15e3f2e2b5443433debc78ddad52881c8d82
-DIST matplotlib-3.5.2.tar.gz 35210006 BLAKE2B e3f90a0cf1d28f041a8cdd6920a8a4efe16169bb4acf85f7b2562196db306eeb692218728ea33c7b62214e7894e83a104954cbef38c45ccbb4f630bd35c0c36b SHA512 32844dfa85dbc43360c1773d748a58d2ab089111c51c825da62956c778a0eeaf10ca33a5c6c094295388a80d5873a2e1b17484e02b653e9e8e5ba98659329974
 DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670
 DIST matplotlib-3.6.1.tar.gz 35826557 BLAKE2B b30710436a773298dcdf233e592656d9815f55f0daab0cc28811b9adbfd3b2ede08f4c13e0dfa43c5fb283bc1ba96ea793084f3d65ba13b9697d14ffa406a273 SHA512 40b148fe4574eea88e7e74c2844a4811c71651602bd7e0a863482571bfa216c01d4f5fcd36add14af82c5cacdb6ae9d441ed251ee5239d06bcc8d40c9ee8841b

diff --git a/dev-python/matplotlib/files/matplotlib-3.5.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.5.0-test.patch
deleted file mode 100644
index 214117d772ca..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.5.0-test.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-From 5487db555adb0385892216e7819a1bf6cea41116 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_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/mpl_toolkits/tests/test_axes_grid1.py  | 2 +-
- lib/mpl_toolkits/tests/test_mplot3d.py     | 2 +-
- 12 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 17f8e5c631..b44cd454ef 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -868,7 +868,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
-@@ -4163,7 +4163,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_contour.py b/lib/matplotlib/tests/test_contour.py
-index 6396105f12..45b7022d03 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -341,7 +341,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 cb8f63893a..ef56c50d25 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)
-@@ -1000,7 +1000,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 21c8ab748d..a05cb4c571 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 88c3ec2768..b536ba3ff0 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/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 3c4aa9a9eb..94ad419ceb 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -324,7 +324,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_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
-index 5fee82f519..ed55a7bf68 100644
---- a/lib/mpl_toolkits/tests/test_mplot3d.py
-+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
-@@ -1357,7 +1357,7 @@ def test_errorbar3d():
- 
- 
- @image_comparison(['stem3d.png'], style='mpl20',
--                  tol=0.0 if platform.machine() == 'x86_64' else 0.003)
-+                  tol=0.003)
- def test_stem3d():
-     fig, axs = plt.subplots(2, 3, figsize=(8, 6),
-                             constrained_layout=True,
--- 
-2.34.0
-

diff --git a/dev-python/matplotlib/matplotlib-3.5.1-r2.ebuild b/dev-python/matplotlib/matplotlib-3.5.1-r2.ebuild
deleted file mode 100644
index af0fa9dd9ef1..000000000000
--- a/dev-python/matplotlib/matplotlib-3.5.1-r2.ebuild
+++ /dev/null
@@ -1,289 +0,0 @@
-# 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/"
-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}]
-	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? (
-		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/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
-		>=dev-python/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
-
-	# 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.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
-		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.5.2-r3.ebuild b/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild
deleted file mode 100644
index 29caeb903c5c..000000000000
--- a/dev-python/matplotlib/matplotlib-3.5.2-r3.ebuild
+++ /dev/null
@@ -1,282 +0,0 @@
-# Copyright 1999-2022 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="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"
-
-	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] 20+ messages in thread

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

commit:     df2f87ba2fcc1e508d44db6a120738a5b6787424
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Nov  3 04:13:20 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Nov  3 05:32:47 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=df2f87ba

dev-python/matplotlib: Bump to 3.6.2

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

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.6.2-test.patch   | 171 +++++++++++++
 dev-python/matplotlib/matplotlib-3.6.2.ebuild      | 280 +++++++++++++++++++++
 3 files changed, 452 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 890b6bf212ef..30587c3f6ac3 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.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

diff --git a/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch
new file mode 100644
index 000000000000..b90b3d029ed2
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch
@@ -0,0 +1,171 @@
+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/matplotlib-3.6.2.ebuild b/dev-python/matplotlib/matplotlib-3.6.2.ebuild
new file mode 100644
index 000000000000..d2ab7240ae53
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.6.2.ebuild
@@ -0,0 +1,280 @@
+# Copyright 1999-2022 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 ~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}]
+	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
+	)
+
+	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] 20+ messages in thread

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

commit:     95849b100122ecaf07b77676102c305658c3677d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 14 21:03:30 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Feb 14 21:05:05 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95849b10

dev-python/matplotlib: Bump to 3.7.0

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

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.7.0-test.patch   | 244 ++++++++++++++++++
 dev-python/matplotlib/matplotlib-3.7.0.ebuild      | 283 +++++++++++++++++++++
 3 files changed, 528 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 6a671b9518cf..ffa97a657791 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -3,3 +3,4 @@ DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c5
 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

diff --git a/dev-python/matplotlib/files/matplotlib-3.7.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.7.0-test.patch
new file mode 100644
index 000000000000..dc3ed23db44e
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.7.0-test.patch
@@ -0,0 +1,244 @@
+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.7.0.ebuild b/dev-python/matplotlib/matplotlib-3.7.0.ebuild
new file mode 100644
index 000000000000..ea7b14247731
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.7.0.ebuild
@@ -0,0 +1,283 @@
+# 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] 20+ messages in thread

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

commit:     8e126e294a801a5f2995a832b1807fc17759ab83
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  4 17:53:42 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Mar  4 18:16:46 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e126e29

dev-python/matplotlib: Bump to 3.7.1

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

 dev-python/matplotlib/Manifest                     |   1 +
 .../matplotlib/files/matplotlib-3.7.1-test.patch   | 244 ++++++++++++++++++
 dev-python/matplotlib/matplotlib-3.7.1.ebuild      | 283 +++++++++++++++++++++
 3 files changed, 528 insertions(+)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index ffa97a657791..d79e6201d131 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -4,3 +4,4 @@ DIST matplotlib-3.6.1.tar.gz 35826557 BLAKE2B b30710436a773298dcdf233e592656d981
 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.7.1-test.patch b/dev-python/matplotlib/files/matplotlib-3.7.1-test.patch
new file mode 100644
index 000000000000..e2471a4282c2
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.7.1-test.patch
@@ -0,0 +1,244 @@
+From 2290694d52ef1af255b9f0fa0d9c3c9ebcee9264 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 004f6320de..63d705cb91 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 b75d3c01b2..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.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 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.2
+

diff --git a/dev-python/matplotlib/matplotlib-3.7.1.ebuild b/dev-python/matplotlib/matplotlib-3.7.1.ebuild
new file mode 100644
index 000000000000..950b499d395d
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.7.1.ebuild
@@ -0,0 +1,283 @@
+# 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.1-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] 20+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/, dev-python/matplotlib/files/
@ 2023-07-17  1:18 Benda XU
  0 siblings, 0 replies; 20+ messages in thread
From: Benda XU @ 2023-07-17  1:18 UTC (permalink / raw
  To: gentoo-commits

commit:     fd0d8fc9c944ed38be0f668286c9051c6a5e7cf9
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 17 00:05:56 2023 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Mon Jul 17 01:17:38 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd0d8fc9

dev-python/matplotlib: Do not build against Cocoa on macOS.

keyword 3.7.2 for ~arm64-macos, ~x64-macos

Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>

 .../files/matplotlib-3.7.2-macOS_no-Cocoa.patch     | 21 +++++++++++++++++++++
 dev-python/matplotlib/matplotlib-3.7.2.ebuild       |  3 ++-
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/dev-python/matplotlib/files/matplotlib-3.7.2-macOS_no-Cocoa.patch b/dev-python/matplotlib/files/matplotlib-3.7.2-macOS_no-Cocoa.patch
new file mode 100644
index 000000000000..3f29134be621
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.7.2-macOS_no-Cocoa.patch
@@ -0,0 +1,21 @@
+Do not automatically build against Cocoa on macOS.
+
+At Prefix/macOS, we do not support the propietary Cocoa SDK.  GUI
+applications use X11.
+
+The patch is specific to our need and not forwarded upstream.
+
+Signed-off-by: Benda Xu <heroxbd@gentoo.org>
+
+Index: matplotlib-3.7.2/setup.py
+===================================================================
+--- matplotlib-3.7.2.orig/setup.py
++++ matplotlib-3.7.2/setup.py
+@@ -49,7 +49,6 @@ mpl_packages = [
+     setupext.FreeType(),
+     setupext.Qhull(),
+     setupext.Tests(),
+-    setupext.BackendMacOSX(),
+     ]
+ 
+ 

diff --git a/dev-python/matplotlib/matplotlib-3.7.2.ebuild b/dev-python/matplotlib/matplotlib-3.7.2.ebuild
index 6bf2c0bcf481..213f165a0cc5 100644
--- a/dev-python/matplotlib/matplotlib-3.7.2.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.7.2.ebuild
@@ -30,7 +30,7 @@ SRC_URI+="
 # 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"
+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
@@ -151,6 +151,7 @@ python_prepare_all() {
 	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
 	)
 
 	sed \


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

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

commit:     a2c8342145573a55c5672eba8300acebe795766a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 20 06:50:23 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Feb 20 06:58:18 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a2c83421

dev-python/matplotlib: Remove old

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

 dev-python/matplotlib/Manifest                     |   5 -
 .../matplotlib/files/matplotlib-3.7.1-test.patch   | 244 ---------------
 .../files/matplotlib-3.7.2-macOS_no-Cocoa.patch    |  21 --
 .../files/matplotlib-3.7.2-pyparsing-3.1.patch     | 274 -----------------
 dev-python/matplotlib/matplotlib-3.7.1.ebuild      | 331 --------------------
 dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild   | 334 --------------------
 dev-python/matplotlib/matplotlib-3.7.2.ebuild      | 336 ---------------------
 dev-python/matplotlib/matplotlib-3.7.3.ebuild      | 328 --------------------
 dev-python/matplotlib/matplotlib-3.8.0.ebuild      | 332 --------------------
 dev-python/matplotlib/matplotlib-3.8.1.ebuild      | 332 --------------------
 10 files changed, 2537 deletions(-)

diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index e8b8bd5d91cf..9731b9c78a3b 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,8 +1,3 @@
 DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-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
-DIST matplotlib-3.8.1.tar.gz 35868840 BLAKE2B beec824c46279cb92608ffca0dc1835c1d82ef32d68b547c9a5088404a0b37044c1860c59ac16c0c1b65658c7d64b7b4c83b65b38ffb0b320d4c5a3cc4383fb9 SHA512 bb933361caba0f4ea590df56569edf4cb728f1daa1219f8793b5ae6ba591cb5d1600fdd1693b7c72a8bb70b0da696b05f1b6ddcabe93d723f29d8541fbf0372c
 DIST matplotlib-3.8.2.tar.gz 35866957 BLAKE2B 17b3de0101c4e9d76cddc7fa5e44507f1dd628fa70ac0d3c55fb83ca5d36156904bfab50212aaeb0fb89d17615799fe22082ecc1ababd172e39a069b38519064 SHA512 4336ca9799bb03fc2f885e35889ad1c62412f7d7b6aa8e284049f75d1166d2f6753c27cf827f0e7f0bb461d3707ccf63a3172ed82f26ec413c0a6578791f957b
 DIST matplotlib-3.8.3.tar.gz 35879872 BLAKE2B 2b4b819975a8386bfe2c3af8b1068512b106068c057ca62344f6636c0708327feafc75210a8b87b837779c9a57dede3b4ea2a8b7b673432d7732851d5601f4c6 SHA512 457d1d62b76752938a24780c697461949de00d779df55df122d789f9ebef154edda037f2a804241880a0b442c5fa8139b8ab13054898b8e08fd17a56bdc23312

diff --git a/dev-python/matplotlib/files/matplotlib-3.7.1-test.patch b/dev-python/matplotlib/files/matplotlib-3.7.1-test.patch
deleted file mode 100644
index e2471a4282c2..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.7.1-test.patch
+++ /dev/null
@@ -1,244 +0,0 @@
-From 2290694d52ef1af255b9f0fa0d9c3c9ebcee9264 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 004f6320de..63d705cb91 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 b75d3c01b2..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.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 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.2
-

diff --git a/dev-python/matplotlib/files/matplotlib-3.7.2-macOS_no-Cocoa.patch b/dev-python/matplotlib/files/matplotlib-3.7.2-macOS_no-Cocoa.patch
deleted file mode 100644
index 3f29134be621..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.7.2-macOS_no-Cocoa.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Do not automatically build against Cocoa on macOS.
-
-At Prefix/macOS, we do not support the propietary Cocoa SDK.  GUI
-applications use X11.
-
-The patch is specific to our need and not forwarded upstream.
-
-Signed-off-by: Benda Xu <heroxbd@gentoo.org>
-
-Index: matplotlib-3.7.2/setup.py
-===================================================================
---- matplotlib-3.7.2.orig/setup.py
-+++ matplotlib-3.7.2/setup.py
-@@ -49,7 +49,6 @@ mpl_packages = [
-     setupext.FreeType(),
-     setupext.Qhull(),
-     setupext.Tests(),
--    setupext.BackendMacOSX(),
-     ]
- 
- 

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
deleted file mode 100644
index 44082b5c0227..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.7.2-pyparsing-3.1.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-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.1.ebuild b/dev-python/matplotlib/matplotlib-3.7.1.ebuild
deleted file mode 100644
index 6d55e63a2d55..000000000000
--- a/dev-python/matplotlib/matplotlib-3.7.1.ebuild
+++ /dev/null
@@ -1,331 +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_{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"
-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
-	)
-
-	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
-}

diff --git a/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild b/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild
deleted file mode 100644
index c9db102721f2..000000000000
--- a/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild
+++ /dev/null
@@ -1,334 +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_{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
-}

diff --git a/dev-python/matplotlib/matplotlib-3.7.2.ebuild b/dev-python/matplotlib/matplotlib-3.7.2.ebuild
deleted file mode 100644
index 8c0235df7092..000000000000
--- a/dev-python/matplotlib/matplotlib-3.7.2.ebuild
+++ /dev/null
@@ -1,336 +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_{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
-#
-# <pyparsing-3.1.0 for https://github.com/matplotlib/matplotlib/issues/26152
-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/pyparsing-3.1.0[${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
-	)
-
-	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
-}

diff --git a/dev-python/matplotlib/matplotlib-3.7.3.ebuild b/dev-python/matplotlib/matplotlib-3.7.3.ebuild
deleted file mode 100644
index c140325a5722..000000000000
--- a/dev-python/matplotlib/matplotlib-3.7.3.ebuild
+++ /dev/null
@@ -1,328 +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_{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-2[${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
-	)
-
-	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
-}

diff --git a/dev-python/matplotlib/matplotlib-3.8.0.ebuild b/dev-python/matplotlib/matplotlib-3.8.0.ebuild
deleted file mode 100644
index 4f9c75f2e269..000000000000
--- a/dev-python/matplotlib/matplotlib-3.8.0.ebuild
+++ /dev/null
@@ -1,332 +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_{10..12} )
-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_{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-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
-	)
-
-	case ${EPYTHON} in
-		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
-	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
-}

diff --git a/dev-python/matplotlib/matplotlib-3.8.1.ebuild b/dev-python/matplotlib/matplotlib-3.8.1.ebuild
deleted file mode 100644
index 4784569e6848..000000000000
--- a/dev-python/matplotlib/matplotlib-3.8.1.ebuild
+++ /dev/null
@@ -1,332 +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_{10..12} )
-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.3.1[${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-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/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_{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-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
-	)
-
-	case ${EPYTHON} in
-		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
-	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] 20+ messages in thread

end of thread, other threads:[~2024-02-20  6:58 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-21 14:00 [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/, dev-python/matplotlib/files/ Andrey Grozin
  -- strict thread matches above, loose matches on Subject: below --
2024-02-20  6:58 Michał Górny
2023-07-17  1:18 Benda XU
2023-03-04 18:16 Michał Górny
2023-02-14 21:05 Michał Górny
2022-11-03  5:32 Michał Górny
2022-10-25  8:21 Sam James
2022-09-24  8:26 Michał Górny
2022-06-17 11:17 Michał Górny
2021-11-19  9:25 Michał Górny
2021-11-16 10:19 Michał Górny
2021-06-20 14:37 Michał Górny
2021-03-26 14:37 Michał Górny
2020-07-25  7:36 Michał Górny
2020-06-07 19:33 Michał Górny
2019-05-02 15:11 Virgil Dupras
2018-05-10 14:10 Andreas Sturmlechner
2018-03-17 20:57 Andrey Grozin
2018-01-05  9:36 Michał Górny
2017-06-03 10:28 Michał Górny

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