* [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 -----------------
| 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 --
2021-06-20 14:37 [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/, dev-python/matplotlib/files/ Michał Górny
-- 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-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-21 14:00 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