* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2023-09-15 10:11 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2023-09-15 10:11 UTC (permalink / raw
To: gentoo-commits
commit: aa24c1f33bf0253773277872937fc9261f18279d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 09:21:47 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 15 10:11:22 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa24c1f3
dev-python/matplotlib: Bump to 3.8.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/matplotlib/Manifest | 1 +
.../matplotlib/files/matplotlib-3.8.0-test.patch | 263 +++++++++++++++++
dev-python/matplotlib/matplotlib-3.8.0.ebuild | 324 +++++++++++++++++++++
3 files changed, 588 insertions(+)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 7ceadb4a30ec..0377fbbbb92b 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -2,3 +2,4 @@ DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2
DIST matplotlib-3.7.1.tar.gz 38003777 BLAKE2B a387d23b58e09011cd3ae1f8c0ebf5dd8c04c8c15c1f6453c92cd22b2439fcabcf384f39ae8d2d2c6b7d2645817cd57a60856a4c05728e8f8aff9dd163af5083 SHA512 d7db4213d5b38eba779ba06ffaa8e67a435192e4a8cf62f8e1cd4b8079cd257b2e83cb79926df012b7084c785c0ce8b03275035f68cfcf0a36b0dda7322f2e67
DIST matplotlib-3.7.2.tar.gz 38095843 BLAKE2B e26e78ce3a27604ff3d0f4d280798715b21a89104908e4fa66f96e32152d61f4f640e02e1eb2327563c71f3391c03716b5f6a1e769a07725d02c042b21973a4a SHA512 3ddb223c869c01cf71ab65a628a3c996eed1ff8b2375c02e3158a5750652a5d8277a55706e50890c15c14c7a104db01f01b01ca8964f85b6ffec104fc273872d
DIST matplotlib-3.7.3.tar.gz 38097222 BLAKE2B e0207c8f8bda2db3f9e45d2f606f01374c8d829d747f29d6a5e46cbfc215960b1bf3f5ee471c2c73f4200ebb0a7c9e8b783cb8569ecbb26a3fbc0d802592db0e SHA512 034b81ef4811089e845855eb339155b18b1221ffd325ea73c83e83bb433374dfa4e650e29bbae5ad63a84090eb4b013d0f106ff37c30fd661b4d071004745caa
+DIST matplotlib-3.8.0.tar.gz 35864435 BLAKE2B d0eb2893447782f54ca9c8101ca54fa9d86a9f2ef89fb0a17d32c74f3e46728b55c6bed476852d0c11286dc0030028c241adce29024b34845546af6f579ac7bf SHA512 0f75495210946adf0a36af13a75bc9910d345cc05636019952f35856b4c2bfac8a79c48d5a3348e844cfdac797f3ce490fe6a4e1a4fc7033092fee61f9913e21
diff --git a/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
new file mode 100644
index 000000000000..5653ed6a697e
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
@@ -0,0 +1,263 @@
+From a39e8395b7f1a6388c4c0897aade3a176b7644a3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 14 Feb 2023 20:46:30 +0100
+Subject: [PATCH] Adjust tolerances to make tests pass on real hardware
+
+---
+ lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
+ lib/matplotlib/tests/test_axes.py | 9 +++++----
+ lib/matplotlib/tests/test_colorbar.py | 2 +-
+ lib/matplotlib/tests/test_constrainedlayout.py | 8 ++++----
+ lib/matplotlib/tests/test_contour.py | 3 +--
+ lib/matplotlib/tests/test_figure.py | 2 +-
+ lib/matplotlib/tests/test_image.py | 2 +-
+ lib/matplotlib/tests/test_legend.py | 6 +++---
+ lib/matplotlib/tests/test_lines.py | 2 +-
+ lib/matplotlib/tests/test_units.py | 4 ++--
+ lib/matplotlib/tests/test_usetex.py | 5 +++--
+ 11 files changed, 25 insertions(+), 24 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index 8d573b4adb..dfc42efcb9 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+ """
+@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+ """
+@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
+
+
+ @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.005)
++ tol=0.005)
+ def test_arrow_styles():
+ styles = mpatches.ArrowStyle.get_styles()
+
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index 30992d5780..0a254c95ca 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -1132,7 +1132,7 @@ def test_imshow():
+
+ @image_comparison(
+ ['imshow_clip'], style='mpl20',
+- tol=1.24 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++ tol=1.24)
+ def test_imshow_clip():
+ # As originally reported by Gellule Xg <gellule.xg@free.fr>
+ # use former defaults to match existing baseline image
+@@ -2502,7 +2502,7 @@ def test_contour_hatching():
+
+ @image_comparison(
+ ['contour_colorbar'], style='mpl20',
+- tol=0.54 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++ tol=0.54)
+ def test_contour_colorbar():
+ x, y, z = contour_dat()
+
+@@ -4856,7 +4856,7 @@ def test_vertex_markers():
+
+
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
+ def test_eb_line_zorder():
+ x = list(range(10))
+
+@@ -8709,7 +8709,8 @@ def test_zorder_and_explicit_rasterization():
+ fig.savefig(b, format='pdf')
+
+
+-@image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20")
++@image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20",
++ tol=0.02)
+ def test_preset_clip_paths():
+ fig, ax = plt.subplots()
+
+diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
+index 73c4dab9a8..ddae80c449 100644
+--- a/lib/matplotlib/tests/test_colorbar.py
++++ b/lib/matplotlib/tests/test_colorbar.py
+@@ -236,7 +236,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
+
+ @image_comparison(
+ ['contour_colorbar.png'], remove_text=True,
+- tol=0.01 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++ tol=0.01)
+ def test_contour_colorbar():
+ fig, ax = plt.subplots(figsize=(4, 2))
+ data = np.arange(1200).reshape(30, 40) - 500
+diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
+index 6703dfe315..da7770b7c7 100644
+--- a/lib/matplotlib/tests/test_constrainedlayout.py
++++ b/lib/matplotlib/tests/test_constrainedlayout.py
+@@ -652,11 +652,11 @@ def test_compressed1():
+ fig.draw_without_rendering()
+
+ pos = axs[0, 0].get_position()
+- np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
+- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
++ np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
++ np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
+ pos = axs[1, 2].get_position()
+- np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
+- np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
++ np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
++ np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
+
+
+ @pytest.mark.parametrize('arg, state', [
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index 4a32fdc6ce..e745abb9dc 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -383,8 +383,7 @@ def test_contourf_log_extension(split_collections):
+ @pytest.mark.parametrize("split_collections", [False, True])
+ @image_comparison(
+ ['contour_addlines.png'], remove_text=True, style='mpl20',
+- tol=0.15 if platform.machine() in ('aarch64', 'ppc64le', 's390x')
+- else 0.03)
++ tol=0.15)
+ # tolerance is because image changed minutely when tick finding on
+ # colorbars was cleaned up...
+ def test_contour_addlines(split_collections):
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index 6d6a3d772f..d6b5797b52 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -27,7 +27,7 @@ import matplotlib.dates as mdates
+
+
+ @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_align_labels():
+ fig = plt.figure(layout='tight')
+ gs = gridspec.GridSpec(3, 3)
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index aeeebd136b..2e5a44a9e6 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -1352,7 +1352,7 @@ def test_nonuniform_and_pcolor():
+
+ @image_comparison(
+ ['rgba_antialias.png'], style='mpl20', remove_text=True,
+- tol=0.007 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++ tol=0.007)
+ def test_rgba_antialias():
+ fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
+ sharey=False, constrained_layout=True)
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index 759ac6aada..fc35d42542 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -173,7 +173,7 @@ def test_multiple_keys():
+
+
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_alpha_rgba():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -182,7 +182,7 @@ def test_alpha_rgba():
+
+
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_alpha_rcparam():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -210,7 +210,7 @@ def test_fancy():
+
+
+ @image_comparison(['framealpha'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.02)
+ def test_framealpha():
+ x = np.linspace(1, 100, 100)
+ y = x
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index 4f23e6969b..952c643e35 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -187,7 +187,7 @@ def test_set_drawstyle():
+
+ @image_comparison(
+ ['line_collection_dashes'], remove_text=True, style='mpl20',
+- tol=0.65 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++ tol=0.65)
+ def test_set_line_coll_dash_image():
+ fig, ax = plt.subplots()
+ np.random.seed(0)
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index d3b8c5a716..56a1d0a0a4 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -79,7 +79,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
+ def test_numpy_facade(quantity_converter):
+ # use former defaults to match existing baseline image
+ plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
+
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_plot_masked_units():
+ data = np.linspace(-5, 5)
+ data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 342face450..c7256586bc 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt
+ pytestmark = needs_usetex
+
+
++@pytest.mark.skip(reason="TODO: broken")
+ @image_comparison(
+ baseline_images=['test_usetex'],
+ extensions=['pdf', 'png'],
+@@ -65,7 +66,7 @@ def test_mathdefault():
+ fig.canvas.draw()
+
+
+-@image_comparison(['eqnarray.png'])
++@image_comparison(['eqnarray.png'], tol=23)
+ def test_multiline_eqnarray():
+ text = (
+ r'\begin{eqnarray*}'
+@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError:
+
+
+ @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'],
+- style='mpl20', tol=3.91 if _old_gs_version else 0)
++ style='mpl20', tol=30)
+ def test_rotation():
+ mpl.rcParams['text.usetex'] = True
+
+--
+2.42.0
+
diff --git a/dev-python/matplotlib/matplotlib-3.8.0.ebuild b/dev-python/matplotlib/matplotlib-3.8.0.ebuild
new file mode 100644
index 000000000000..171e2fb74336
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.8.0.ebuild
@@ -0,0 +1,324 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
+inherit toolchain-funcs virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+ https://matplotlib.org/
+ https://github.com/matplotlib/matplotlib/
+ https://pypi.org/project/matplotlib/
+"
+SRC_URI+="
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="cairo doc excel gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.25[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ >=media-libs/qhull-2013:=
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ )
+ qt5? (
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ )
+ webagg? (
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{8..10})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ >=app-text/dvipng-1.15-r1
+ >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ >=media-gfx/graphviz-2.42.3[cairo]
+ )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use "${1}"; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+ # Affects installed _version.py, bug #854600
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+ "${FILESDIR}"/matplotlib-3.8.0-test.patch
+ )
+
+ hprefixify setupext.py
+
+ rm -rf libqhull || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+ tc-export PKG_CONFIG
+
+ unset DISPLAY # bug #278524
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+ [directories]
+ basedirlist = ${EPREFIX}/usr
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [libs]
+ system_freetype = True
+ system_qhull = True
+ [packages]
+ tests = True
+ [gui_support]
+ agg = True
+ gtk = False
+ gtkagg = False
+ macosx = False
+ pyside = False
+ pysideagg = False
+ qt4 = False
+ qt4agg = False
+ $(use_setup cairo)
+ $(use_setup gtk3)
+ $(use_setup qt5)
+ $(use_setup tk)
+ $(use_setup wxwidgets wx)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+}
+
+wrap_setup() {
+ local MAKEOPTS=-j1
+ local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+ "$@"
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ VARTEXFONTS="${T}"/fonts \
+ emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+ fi
+}
+
+src_test() {
+ mkdir build || die
+ ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by -Wdefault
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+ tests/test_testing.py::test_warn_to_fail
+ # TODO?
+ tests/test_backend_qt.py::test_fig_sigint_override
+ # unhappy about xdist
+ tests/test_widgets.py::test_span_selector_animated_artists_callback
+ # timeout
+ tests/test_backends_interactive.py::test_webagg
+ )
+
+ [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+ # https://github.com/matplotlib/matplotlib/issues/23384
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+ )
+
+ case "${ABI}" in
+ alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
+ EPYTEST_DESELECT+=(
+ # too large for 32-bit platforms
+ 'tests/test_axes.py::test_psd_csd[png]'
+ )
+ ;;
+ *)
+ ;;
+ esac
+
+ if use hppa ; then
+ EPYTEST_DESELECT+=(
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
+ 'tests/test_quiver.py::test_barbs[png]'
+ 'tests/test_quiver.py::test_barbs_pivot[png]'
+ 'tests/test_quiver.py::test_barbs_flip[png]'
+ 'tests/test_text.py::test_parse_math'
+ 'tests/test_text.py::test_parse_math_rcparams'
+ )
+ fi
+
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+ > "${BUILD_DIR}"/test-setup.cfg || die
+ local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+
+ esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
+ local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+ # speed tests up
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest --pyargs matplotlib -m "not network" \
+ -p xdist.plugin -n "$(makeopts_jobs)" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2024-11-15 13:50 Nowa Ammerlaan
0 siblings, 0 replies; 22+ messages in thread
From: Nowa Ammerlaan @ 2024-11-15 13:50 UTC (permalink / raw
To: gentoo-commits
commit: 11d8a249d8e09da80c278e56da8117f72dce843e
Author: Nowa Ammerlaan <nowa <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 15 13:45:41 2024 +0000
Commit: Nowa Ammerlaan <nowa <AT> gentoo <DOT> org>
CommitDate: Fri Nov 15 13:50:12 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=11d8a249
dev-python/matplotlib: add 3.10.0_rc1
Signed-off-by: Nowa Ammerlaan <nowa <AT> gentoo.org>
dev-python/matplotlib/Manifest | 1 +
.../matplotlib/files/matplotlib-3.10.0-test.patch | 236 +++++++++++++++
dev-python/matplotlib/matplotlib-3.10.0_rc1.ebuild | 316 +++++++++++++++++++++
3 files changed, 553 insertions(+)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index fecb2283fa53..ecf6bcb4c140 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,4 +1,5 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
+DIST matplotlib-3.10.0rc1.tar.gz 36682106 BLAKE2B c6948deb4749a08fa84e0a72d4c6877cfa561360c5475a9d96c56bad906b94c59f35286587f5af768e0f7e2bb5d5e30101c66da3725ac81f5981ae298089d1a8 SHA512 8ccef930c094e1d0fdb61236b968dcc556b991fd53a8171c84e19fba08e9a5d67dc62f24de832d50e805ddf040dd58828799c6046b355f17dd532fe4d23c4515
DIST matplotlib-3.9.0.tar.gz 36069890 BLAKE2B 02ddb25901b5a93a8daf6f26c98b92d5e35abe2e98783b039928338abb1d628adbf3fd4786c08cb1610bf405cb558ca31fc12dbde77ec5f2a633143c7ea659a1 SHA512 135ee2f97c26cb60479cc10bf8a833384c393993d8a905ab869f4c73b91a50ffa596f84ce349af7f1a0b08a21e1906394cf6a702bb567a9c3999d40f54974326
DIST matplotlib-3.9.1.tar.gz 36084124 BLAKE2B b7cc9e219664849411cc3133afbdb676f956c943f92d447ba5cca0467da56d1575796fe1046e7503e6d7c4dfdfad6e5181404f331ed7ac1397c8c61f4a30bd23 SHA512 a1d48c42a5f4f04b57e34d25df842917e6380b8d6b6d1018c9b630cbbea4619b1d75729a218a6f52b63d4a61c2204bb26ad8f741566f84e41ca73190e419f672
DIST matplotlib-3.9.2.tar.gz 36088381 BLAKE2B c84d08b7afa1f0460b5b57447481ef90f22380c02d20227c3a45b6f603032a11359b223397f18c8dc9111ad36fbd7510e2d5496502b3202e3074ddf8e8258bb7 SHA512 4b7437eeb085915a90db64600d0e6c59501ea1513d07b8298a159a763461ef6947a0cb332dcde1a5f0996840320ca7dd1d972d7514ff6f87b036fc631e79885f
diff --git a/dev-python/matplotlib/files/matplotlib-3.10.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.10.0-test.patch
new file mode 100644
index 000000000000..aca01d0f5689
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.10.0-test.patch
@@ -0,0 +1,236 @@
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index 254b86cb54..1f93b1a476 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+ """
+@@ -83,7 +83,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+ """
+@@ -116,7 +116,7 @@ def test_fancyarrow_dash():
+
+
+ @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.005 if platform.machine() == 'x86_64' else 0.02)
+ def test_arrow_styles():
+ styles = mpatches.ArrowStyle.get_styles()
+
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index e3a59a1751..97352c887d 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -1220,7 +1220,7 @@ def test_imshow():
+
+ @image_comparison(
+ ['imshow_clip'], style='mpl20',
+- tol=1.24 if platform.machine() in ('aarch64', 'arm64', '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
+@@ -2617,7 +2617,7 @@ def test_contour_hatching():
+
+ @image_comparison(
+ ['contour_colorbar'], style='mpl20',
+- tol=0.54 if platform.machine() in ('aarch64', 'arm64', 'ppc64le', 's390x') else 0)
++ tol=0.54)
+ def test_contour_colorbar():
+ x, y, z = contour_dat()
+
+@@ -5045,7 +5045,7 @@ def test_vertex_markers():
+
+
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+- tol=0 if platform.machine() == 'x86_64' else 0.026)
++ tol=0.015 if platform.machine() == 'x86_64' else 0.026)
+ def test_eb_line_zorder():
+ x = list(range(10))
+
+@@ -9030,7 +9030,7 @@ def test_zorder_and_explicit_rasterization():
+
+
+ @image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20",
+- tol=0.027 if platform.machine() == "arm64" else 0)
++ tol=0.027 if platform.machine() == "arm64" else 0.02)
+ def test_preset_clip_paths():
+ fig, ax = plt.subplots()
+
+diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
+index 24eeab6894..f140e031fe 100644
+--- a/lib/matplotlib/tests/test_colorbar.py
++++ b/lib/matplotlib/tests/test_colorbar.py
+@@ -235,7 +235,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
+
+
+ @image_comparison(['contour_colorbar.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.054)
++ tol=0.01 if platform.machine() == 'x86_64' else 0.054)
+ def test_contour_colorbar():
+ fig, ax = plt.subplots(figsize=(4, 2))
+ data = np.arange(1200).reshape(30, 40) - 500
+diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
+index e42e2ee9bf..040979eac1 100644
+--- a/lib/matplotlib/tests/test_constrainedlayout.py
++++ b/lib/matplotlib/tests/test_constrainedlayout.py
+@@ -655,11 +655,11 @@ def test_compressed1():
+ fig.draw_without_rendering()
+
+ pos = axs[0, 0].get_position()
+- np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
+- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
++ np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
++ np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
+ pos = axs[1, 2].get_position()
+- np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
+- np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
++ np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
++ np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
+
+
+ def test_compressed_suptitle():
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index e0ea82973a..8e304c7161 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -418,8 +418,7 @@ def test_contourf_log_extension():
+
+ @image_comparison(
+ ['contour_addlines.png'], remove_text=True, style='mpl20',
+- tol=0.15 if platform.machine() in ('aarch64', 'arm64', '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 edf5ea05f1..afadc83056 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
+
+
+ @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_align_labels():
+ fig = plt.figure(layout='tight')
+ gs = gridspec.GridSpec(3, 3)
+@@ -68,7 +68,7 @@ def test_align_labels():
+
+ @image_comparison(['figure_align_titles_tight.png',
+ 'figure_align_titles_constrained.png'],
+- tol=0 if platform.machine() == 'x86_64' else 0.022,
++ tol=0.01 if platform.machine() == 'x86_64' else 0.022,
+ style='mpl20')
+ def test_align_titles():
+ for layout in ['tight', 'constrained']:
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index 61892378bd..28d3661359 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -164,7 +164,7 @@ def test_multiple_keys():
+
+
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.03)
+ def test_alpha_rgba():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -173,7 +173,7 @@ def test_alpha_rgba():
+
+
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.03)
+ def test_alpha_rcparam():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -201,7 +201,7 @@ def test_fancy():
+
+
+ @image_comparison(['framealpha'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.024)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.024)
+ def test_framealpha():
+ x = np.linspace(1, 100, 100)
+ y = x
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index ee8b5b4aaa..8752a56ad2 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -185,7 +185,7 @@ def test_set_drawstyle():
+
+ @image_comparison(
+ ['line_collection_dashes'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.65)
++ tol=0.65)
+ def test_set_line_coll_dash_image():
+ fig, ax = plt.subplots()
+ np.random.seed(0)
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index a8735e180b..7bd9f5a951 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -79,7 +79,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.002 if platform.machine() == 'x86_64' else 0.03)
+ def test_numpy_facade(quantity_converter):
+ # use former defaults to match existing baseline image
+ plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
+
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.02)
+ def test_plot_masked_units():
+ data = np.linspace(-5, 5)
+ data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 342face450..c7256586bc 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt
+ pytestmark = needs_usetex
+
+
++@pytest.mark.skip(reason="TODO: broken")
+ @image_comparison(
+ baseline_images=['test_usetex'],
+ extensions=['pdf', 'png'],
+@@ -65,7 +66,7 @@ def test_mathdefault():
+ fig.canvas.draw()
+
+
+-@image_comparison(['eqnarray.png'])
++@image_comparison(['eqnarray.png'], tol=23)
+ def test_multiline_eqnarray():
+ text = (
+ r'\begin{eqnarray*}'
+@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError:
+
+
+ @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'],
+- style='mpl20', tol=3.91 if _old_gs_version else 0)
++ style='mpl20', tol=30)
+ def test_rotation():
+ mpl.rcParams['text.usetex'] = True
+
diff --git a/dev-python/matplotlib/matplotlib-3.10.0_rc1.ebuild b/dev-python/matplotlib/matplotlib-3.10.0_rc1.ebuild
new file mode 100644
index 000000000000..c4d37442af3e
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.10.0_rc1.ebuild
@@ -0,0 +1,316 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 pypi 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=""
+IUSE="cairo excel gtk3 latex qt6 tk webagg wxwidgets"
+
+DEPEND="
+ media-libs/freetype:2
+ >=media-libs/qhull-2013:=
+ >=dev-python/numpy-1.25:=[${PYTHON_USEDEP}]
+"
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/libpng:0
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ )
+ qt6? (
+ $(python_gen_cond_dep '
+ || (
+ dev-python/PyQt6[gui,widgets,${PYTHON_USEDEP}]
+ dev-python/pyside6[gui,widgets,${PYTHON_USEDEP}]
+ )
+ ' 'python3*')
+ )
+ webagg? (
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{10..12})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ $(python_gen_impl_dep 'tk')
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ !hppa? ( !s390? (
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ ) )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ # do not unpack freetype
+ unpack "${P//_/}.tar.gz"
+}
+
+python_prepare_all() {
+ # Affects installed _version.py, bug #854600
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.10.0-test.patch
+ )
+
+ # increase lock timeout to 30 s
+ sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ unset DISPLAY # bug #278524
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ DISTUTILS_ARGS=(
+ -Dsystem-freetype=true
+ -Dsystem-qhull=true
+ -Dmacosx=false
+ )
+}
+
+src_test() {
+ mkdir subprojects/packagecache || die
+ cp "${DISTDIR}/freetype-${FT_PV}.tar.gz" subprojects/packagecache/ || die
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by -Wdefault
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+ tests/test_testing.py::test_warn_to_fail
+ tests/test_legend.py::test_legend_nolabels_warning
+ # TODO?
+ tests/test_backend_qt.py::test_fig_sigint_override
+ tests/test_backend_qt.py::test_ipython
+ tests/test_backend_nbagg.py::test_ipynb
+ # leak tests are fragile
+ tests/test_backends_interactive.py::test_figure_leak_20490
+ # major "images not close", new texlive perhaps
+ tests/test_contour.py::test_all_algorithms
+ # "no warnings"
+ tests/test_backend_pdf.py::test_invalid_metadata
+ tests/test_figure.py::test_too_many_figures
+ # Requires qt5
+ tests/test_backends_interactive.py::test_qt5backends_uses_qt5
+ 'tests/test_backends_interactive.py::test_interactive_backend[toolbar2-MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]'
+ 'tests/test_backends_interactive.py::test_interactive_backend[toolbar2-MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]'
+ 'tests/test_backends_interactive.py::test_interactive_backend[toolmanager-MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]'
+ 'tests/test_backends_interactive.py::test_blitting_events[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]'
+ 'tests/test_backends_interactive.py::test_blitting_events[MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]'
+ 'tests/test_backends_interactive.py::test_interactive_thread_safety[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]'
+ 'tests/test_backends_interactive.py::test_interactive_timers[MPLBACKEND=qtagg-QT_API=PyQt5-BACKEND_DEPS=PyQt5]'
+ 'tests/test_backends_interactive.py::test_interactive_timers[MPLBACKEND=qtcairo-QT_API=PyQt5-BACKEND_DEPS=PyQt5,cairocffi]'
+ # Tests mixing qt5 and qt6, requires installing all Qt4Py impl.
+ tests/test_backends_interactive.py::test_cross_Qt_imports
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # TODO: warning isn't passed through
+ tests/test_image.py::test_large_image
+ # TODO
+ tests/test_pickle.py::test_complete
+ tests/test_pickle.py::test_no_pyplot
+ tests/test_pickle.py::test_pickle_load_from_subprocess
+ tests/test_pickle.py::test_simple
+ tests/test_texmanager.py::test_openin_any_paranoid
+ tests/test_widgets.py::test_check_buttons
+ tests/test_widgets.py::test_check_buttons_lines
+ tests/test_widgets.py::test_check_radio_buttons_image
+ tests/test_widgets.py::test_radio_buttons
+ )
+ if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ then
+ EPYTEST_DESELECT+=(
+ # TypeError is raised when exception is raised in a starred
+ # expression referencing a generator that uses "yield from"
+ # and raises -- non-critical, since some exception is raised
+ # after all
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4032
+ tests/test_axes.py::test_bad_plot_args
+ tests/test_axes.py::test_plot_errors
+ tests/test_axes.py::test_plot_format_errors
+ )
+ fi
+ ;;
+ python3.11)
+ EPYTEST_DESELECT+=(
+ # https://github.com/matplotlib/matplotlib/issues/23384
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+ )
+ ;;
+ python3.12)
+ EPYTEST_DESELECT+=(
+ tests/test_constrainedlayout.py::test_compressed1
+ )
+ ;;
+ esac
+
+ case ${ABI} in
+ hppa)
+ EPYTEST_DESELECT+=(
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
+ 'tests/test_quiver.py::test_barbs[png]'
+ 'tests/test_quiver.py::test_barbs_pivot[png]'
+ 'tests/test_quiver.py::test_barbs_flip[png]'
+ 'tests/test_text.py::test_parse_math'
+ 'tests/test_text.py::test_parse_math_rcparams'
+ )
+ ;&
+ alpha|arm|m68k|o32|ppc|s390|sh|sparc|x86)
+ EPYTEST_DESELECT+=(
+ # too large for 32-bit platforms
+ 'tests/test_axes.py::test_psd_csd[png]'
+ )
+ ;;
+ *)
+ ;;
+ esac
+
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ local DISTUTILS_ARGS=(
+ "${DISTUTILS_ARGS[@]}"
+ -Dsystem-freetype=false
+ )
+ distutils_pep517_install "${BUILD_DIR}"/test
+ cp -r "${BUILD_DIR}"/{install,test}"${EPREFIX}/usr/bin" || die
+ local -x PATH=${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}
+
+ pushd lib >/dev/null || die
+ local path
+ local sitedir=${BUILD_DIR}/test$(python_get_sitedir)
+ # sigh, upstream doesn't install these
+ while IFS= read -d '' path; do
+ cp -r "${path}" "${sitedir}/${path}" || die
+ done < <(
+ find \( \
+ -name baseline_images -o \
+ -name '*.ipynb' -o \
+ -name '*.pfb' -o \
+ -name '*.ttf' -o \
+ -name tinypages \
+ \) -print0
+ )
+ popd >/dev/null || die
+
+ # speed tests up
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # pretend we're on CI to increase timeouts
+ local -x CI=1
+ nonfatal epytest --pyargs matplotlib -m "not network" \
+ -p rerunfailures --reruns=3 \
+ -o tmp_path_retention_policy=all || die
+}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2024-07-11 11:59 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2024-07-11 11:59 UTC (permalink / raw
To: gentoo-commits
commit: bb5ec5f54a07f920ff49c2f7e43f46cbcc846359
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 11 10:55:20 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 11 11:59:41 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb5ec5f5
dev-python/matplotlib: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/matplotlib/Manifest | 1 -
.../files/matplotlib-3.3.3-disable-lto.patch | 25 --
.../matplotlib/files/matplotlib-3.8.0-test.patch | 263 --------------
dev-python/matplotlib/matplotlib-3.8.4-r1.ebuild | 380 ---------------------
4 files changed, 669 deletions(-)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 495752279678..3f5e79091727 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,4 +1,3 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.8.4.tar.gz 35934425 BLAKE2B e449f1d71a3152a9cf34cf13c70489d2664c8734c8e8ae0ed5dec2ed5111e0210d679f7e6a1e0b707499d9968b945a7f91573186b82c6d036238aadb5c9da006 SHA512 d4c6a5b3484927dbae1b1203e9984b67d08c958c4a5136abaa805f1eb221146fb1211e5f20456e281d41fc09c94917a796ffacfdb185c58eeeb6d19e60c78b1a
DIST matplotlib-3.9.0.tar.gz 36069890 BLAKE2B 02ddb25901b5a93a8daf6f26c98b92d5e35abe2e98783b039928338abb1d628adbf3fd4786c08cb1610bf405cb558ca31fc12dbde77ec5f2a633143c7ea659a1 SHA512 135ee2f97c26cb60479cc10bf8a833384c393993d8a905ab869f4c73b91a50ffa596f84ce349af7f1a0b08a21e1906394cf6a702bb567a9c3999d40f54974326
DIST matplotlib-3.9.1.tar.gz 36084124 BLAKE2B b7cc9e219664849411cc3133afbdb676f956c943f92d447ba5cca0467da56d1575796fe1046e7503e6d7c4dfdfad6e5181404f331ed7ac1397c8c61f4a30bd23 SHA512 a1d48c42a5f4f04b57e34d25df842917e6380b8d6b6d1018c9b630cbbea4619b1d75729a218a6f52b63d4a61c2204bb26ad8f741566f84e41ca73190e419f672
diff --git a/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch b/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch
deleted file mode 100644
index ab377e7f19b2..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7382d6205bfdc647a8e47c8e417c991d3822eace Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Mon, 4 Jan 2021 10:03:32 +0100
-Subject: [PATCH] Disable -flto
-
----
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 6e1d19d..ed85d14 100644
---- a/setup.py
-+++ b/setup.py
-@@ -147,7 +147,7 @@ class BuildExtraLibraries(BuildExtCommand):
- ranlib = True
- else:
- ranlib = shutil.which('llvm-ranlib')
-- if ranlib and has_flag(self.compiler, '-flto'):
-+ if False and ranlib and has_flag(self.compiler, '-flto'):
- for ext in self.extensions:
- ext.extra_compile_args.append('-flto')
- cppflags.append('-flto')
---
-2.30.0
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
deleted file mode 100644
index 5653ed6a697e..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
+++ /dev/null
@@ -1,263 +0,0 @@
-From a39e8395b7f1a6388c4c0897aade3a176b7644a3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 14 Feb 2023 20:46:30 +0100
-Subject: [PATCH] Adjust tolerances to make tests pass on real hardware
-
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py | 9 +++++----
- lib/matplotlib/tests/test_colorbar.py | 2 +-
- lib/matplotlib/tests/test_constrainedlayout.py | 8 ++++----
- lib/matplotlib/tests/test_contour.py | 3 +--
- lib/matplotlib/tests/test_figure.py | 2 +-
- lib/matplotlib/tests/test_image.py | 2 +-
- lib/matplotlib/tests/test_legend.py | 6 +++---
- lib/matplotlib/tests/test_lines.py | 2 +-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 5 +++--
- 11 files changed, 25 insertions(+), 24 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
-
-
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
- """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
-
-
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
- """
-@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
-
-
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.005)
-+ tol=0.005)
- def test_arrow_styles():
- styles = mpatches.ArrowStyle.get_styles()
-
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 30992d5780..0a254c95ca 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1132,7 +1132,7 @@ def test_imshow():
-
- @image_comparison(
- ['imshow_clip'], style='mpl20',
-- tol=1.24 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=1.24)
- def test_imshow_clip():
- # As originally reported by Gellule Xg <gellule.xg@free.fr>
- # use former defaults to match existing baseline image
-@@ -2502,7 +2502,7 @@ def test_contour_hatching():
-
- @image_comparison(
- ['contour_colorbar'], style='mpl20',
-- tol=0.54 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.54)
- def test_contour_colorbar():
- x, y, z = contour_dat()
-
-@@ -4856,7 +4856,7 @@ def test_vertex_markers():
-
-
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
- x = list(range(10))
-
-@@ -8709,7 +8709,8 @@ def test_zorder_and_explicit_rasterization():
- fig.savefig(b, format='pdf')
-
-
--@image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20")
-+@image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20",
-+ tol=0.02)
- def test_preset_clip_paths():
- fig, ax = plt.subplots()
-
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 73c4dab9a8..ddae80c449 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -236,7 +236,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
-
- @image_comparison(
- ['contour_colorbar.png'], remove_text=True,
-- tol=0.01 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.01)
- def test_contour_colorbar():
- fig, ax = plt.subplots(figsize=(4, 2))
- data = np.arange(1200).reshape(30, 40) - 500
-diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
-index 6703dfe315..da7770b7c7 100644
---- a/lib/matplotlib/tests/test_constrainedlayout.py
-+++ b/lib/matplotlib/tests/test_constrainedlayout.py
-@@ -652,11 +652,11 @@ def test_compressed1():
- fig.draw_without_rendering()
-
- pos = axs[0, 0].get_position()
-- np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
-- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
-+ np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
-+ np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
- pos = axs[1, 2].get_position()
-- np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
-- np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
-+ np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
-+ np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
-
-
- @pytest.mark.parametrize('arg, state', [
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 4a32fdc6ce..e745abb9dc 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -383,8 +383,7 @@ def test_contourf_log_extension(split_collections):
- @pytest.mark.parametrize("split_collections", [False, True])
- @image_comparison(
- ['contour_addlines.png'], remove_text=True, style='mpl20',
-- tol=0.15 if platform.machine() in ('aarch64', 'ppc64le', 's390x')
-- else 0.03)
-+ tol=0.15)
- # tolerance is because image changed minutely when tick finding on
- # colorbars was cleaned up...
- def test_contour_addlines(split_collections):
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index 6d6a3d772f..d6b5797b52 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -27,7 +27,7 @@ import matplotlib.dates as mdates
-
-
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_align_labels():
- fig = plt.figure(layout='tight')
- gs = gridspec.GridSpec(3, 3)
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index aeeebd136b..2e5a44a9e6 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1352,7 +1352,7 @@ def test_nonuniform_and_pcolor():
-
- @image_comparison(
- ['rgba_antialias.png'], style='mpl20', remove_text=True,
-- tol=0.007 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.007)
- def test_rgba_antialias():
- fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
- sharey=False, constrained_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 759ac6aada..fc35d42542 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -173,7 +173,7 @@ def test_multiple_keys():
-
-
- @image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rgba():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -182,7 +182,7 @@ def test_alpha_rgba():
-
-
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rcparam():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -210,7 +210,7 @@ def test_fancy():
-
-
- @image_comparison(['framealpha'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.02)
- def test_framealpha():
- x = np.linspace(1, 100, 100)
- y = x
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index 4f23e6969b..952c643e35 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -187,7 +187,7 @@ def test_set_drawstyle():
-
- @image_comparison(
- ['line_collection_dashes'], remove_text=True, style='mpl20',
-- tol=0.65 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.65)
- def test_set_line_coll_dash_image():
- fig, ax = plt.subplots()
- np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index d3b8c5a716..56a1d0a0a4 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -79,7 +79,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
-
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_plot_masked_units():
- data = np.linspace(-5, 5)
- data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 342face450..c7256586bc 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt
- pytestmark = needs_usetex
-
-
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
- baseline_images=['test_usetex'],
- extensions=['pdf', 'png'],
-@@ -65,7 +66,7 @@ def test_mathdefault():
- fig.canvas.draw()
-
-
--@image_comparison(['eqnarray.png'])
-+@image_comparison(['eqnarray.png'], tol=23)
- def test_multiline_eqnarray():
- text = (
- r'\begin{eqnarray*}'
-@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError:
-
-
- @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'],
-- style='mpl20', tol=3.91 if _old_gs_version else 0)
-+ style='mpl20', tol=30)
- def test_rotation():
- mpl.rcParams['text.usetex'] = True
-
---
-2.42.0
-
diff --git a/dev-python/matplotlib/matplotlib-3.8.4-r1.ebuild b/dev-python/matplotlib/matplotlib-3.8.4-r1.ebuild
deleted file mode 100644
index cc7b4764a854..000000000000
--- a/dev-python/matplotlib/matplotlib-3.8.4-r1.ebuild
+++ /dev/null
@@ -1,380 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic prefix pypi toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="cairo doc excel gtk3 latex qt5 tk webagg wxwidgets"
-
-DEPEND="
- >=dev-python/numpy-1.25:=[${PYTHON_USEDEP}]
- media-libs/freetype:2
- >=media-libs/qhull-2013:=
-"
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- ${DEPEND}
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/libpng:0
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- $(python_gen_cond_dep '
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- ' 'python3*')
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- !hppa? ( !s390? (
- || (
- media-video/ffmpeg[openh264]
- media-video/ffmpeg[x264]
- )
- ) )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.8.0-test.patch
- )
-
- # increase lock timeout to 30 s
- sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- # TODO?
- tests/test_backend_qt.py::test_fig_sigint_override
- # leak tests are fragile
- tests/test_backends_interactive.py::test_figure_leak_20490
- # major "images not close", new texlive perhaps
- tests/test_contour.py::test_all_algorithms
- # "no warnings"
- tests/test_backend_pdf.py::test_invalid_metadata
- tests/test_figure.py::test_too_many_figures
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # TODO: warning isn't passed through
- tests/test_image.py::test_large_image
- # TODO
- tests/test_pickle.py::test_complete
- tests/test_pickle.py::test_no_pyplot
- tests/test_pickle.py::test_pickle_load_from_subprocess
- tests/test_pickle.py::test_simple
- tests/test_texmanager.py::test_openin_any_paranoid
- tests/test_widgets.py::test_check_buttons
- tests/test_widgets.py::test_check_buttons_lines
- tests/test_widgets.py::test_check_radio_buttons_image
- tests/test_widgets.py::test_radio_buttons
- )
- if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
- has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
- then
- EPYTEST_DESELECT+=(
- # TypeError is raised when exception is raised in a starred
- # expression referencing a generator that uses "yield from"
- # and raises -- non-critical, since some exception is raised
- # after all
- # https://foss.heptapod.net/pypy/pypy/-/issues/4032
- tests/test_axes.py::test_bad_plot_args
- tests/test_axes.py::test_plot_errors
- tests/test_axes.py::test_plot_format_errors
- )
- fi
- ;;
- python3.11)
- EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
- ;;
- python3.12)
- EPYTEST_DESELECT+=(
- tests/test_constrainedlayout.py::test_compressed1
- )
- ;;
- esac
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- EPYTEST_DESELECT+=(
- # too large for 32-bit platforms
- 'tests/test_axes.py::test_psd_csd[png]'
- )
- ;;
- *)
- ;;
- esac
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
- 'tests/test_quiver.py::test_barbs[png]'
- 'tests/test_quiver.py::test_barbs_pivot[png]'
- 'tests/test_quiver.py::test_barbs_flip[png]'
- 'tests/test_text.py::test_parse_math'
- 'tests/test_text.py::test_parse_math_rcparams'
- )
- fi
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # pretend we're on CI to increase timeouts
- local -x CI=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p rerunfailures --reruns=3 \
- -o tmp_path_retention_policy=all || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2024-05-16 17:29 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2024-05-16 17:29 UTC (permalink / raw
To: gentoo-commits
commit: f5d7318ad9ced46898dd42e3563cba05ac9a54e3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu May 16 17:01:54 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu May 16 17:29:52 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5d7318a
dev-python/matplotlib: Bump to 3.9.0
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/matplotlib/Manifest | 1 +
.../matplotlib/files/matplotlib-3.9.0-test.patch | 249 +++++++++++++++++
dev-python/matplotlib/matplotlib-3.9.0.ebuild | 300 +++++++++++++++++++++
3 files changed, 550 insertions(+)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 14aeadc14202..4417a47b11b9 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,3 +1,4 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
DIST matplotlib-3.8.3.tar.gz 35879872 BLAKE2B 2b4b819975a8386bfe2c3af8b1068512b106068c057ca62344f6636c0708327feafc75210a8b87b837779c9a57dede3b4ea2a8b7b673432d7732851d5601f4c6 SHA512 457d1d62b76752938a24780c697461949de00d779df55df122d789f9ebef154edda037f2a804241880a0b442c5fa8139b8ab13054898b8e08fd17a56bdc23312
DIST matplotlib-3.8.4.tar.gz 35934425 BLAKE2B e449f1d71a3152a9cf34cf13c70489d2664c8734c8e8ae0ed5dec2ed5111e0210d679f7e6a1e0b707499d9968b945a7f91573186b82c6d036238aadb5c9da006 SHA512 d4c6a5b3484927dbae1b1203e9984b67d08c958c4a5136abaa805f1eb221146fb1211e5f20456e281d41fc09c94917a796ffacfdb185c58eeeb6d19e60c78b1a
+DIST matplotlib-3.9.0.tar.gz 36069890 BLAKE2B 02ddb25901b5a93a8daf6f26c98b92d5e35abe2e98783b039928338abb1d628adbf3fd4786c08cb1610bf405cb558ca31fc12dbde77ec5f2a633143c7ea659a1 SHA512 135ee2f97c26cb60479cc10bf8a833384c393993d8a905ab869f4c73b91a50ffa596f84ce349af7f1a0b08a21e1906394cf6a702bb567a9c3999d40f54974326
diff --git a/dev-python/matplotlib/files/matplotlib-3.9.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.9.0-test.patch
new file mode 100644
index 000000000000..db8ab5e2a0fb
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.9.0-test.patch
@@ -0,0 +1,249 @@
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index 254b86cb54..1f93b1a476 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+ """
+@@ -83,7 +83,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+ """
+@@ -116,7 +116,7 @@ def test_fancyarrow_dash():
+
+
+ @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.005 if platform.machine() == 'x86_64' else 0.02)
+ def test_arrow_styles():
+ styles = mpatches.ArrowStyle.get_styles()
+
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index 0ed5a11c13..c57ed9934e 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -1157,7 +1157,7 @@ def test_imshow():
+
+ @image_comparison(
+ ['imshow_clip'], style='mpl20',
+- tol=1.24 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++ tol=1.24)
+ def test_imshow_clip():
+ # As originally reported by Gellule Xg <gellule.xg@free.fr>
+ # use former defaults to match existing baseline image
+@@ -2541,7 +2541,7 @@ def test_contour_hatching():
+
+ @image_comparison(
+ ['contour_colorbar'], style='mpl20',
+- tol=0.54 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++ tol=0.54)
+ def test_contour_colorbar():
+ x, y, z = contour_dat()
+
+@@ -4902,7 +4902,7 @@ def test_vertex_markers():
+
+
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+- tol=0 if platform.machine() == 'x86_64' else 0.026)
++ tol=0.015 if platform.machine() == 'x86_64' else 0.026)
+ def test_eb_line_zorder():
+ x = list(range(10))
+
+@@ -8810,7 +8810,7 @@ def test_zorder_and_explicit_rasterization():
+
+
+ @image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20",
+- tol=0.027 if platform.machine() == "arm64" else 0)
++ tol=0.027 if platform.machine() == "arm64" else 0.02)
+ def test_preset_clip_paths():
+ fig, ax = plt.subplots()
+
+diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
+index 35911afc79..852075c78d 100644
+--- a/lib/matplotlib/tests/test_colorbar.py
++++ b/lib/matplotlib/tests/test_colorbar.py
+@@ -235,7 +235,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
+
+
+ @image_comparison(['contour_colorbar.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.054)
++ tol=0.01 if platform.machine() == 'x86_64' else 0.054)
+ def test_contour_colorbar():
+ fig, ax = plt.subplots(figsize=(4, 2))
+ data = np.arange(1200).reshape(30, 40) - 500
+diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
+index 4dc4d9501e..015e46cbe4 100644
+--- a/lib/matplotlib/tests/test_constrainedlayout.py
++++ b/lib/matplotlib/tests/test_constrainedlayout.py
+@@ -655,11 +655,11 @@ def test_compressed1():
+ fig.draw_without_rendering()
+
+ pos = axs[0, 0].get_position()
+- np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
+- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
++ np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
++ np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
+ pos = axs[1, 2].get_position()
+- np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
+- np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
++ np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
++ np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
+
+
+ @pytest.mark.parametrize('arg, state', [
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index d4600a14fe..d2deff9362 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -442,8 +442,7 @@ def test_contourf_log_extension(split_collections):
+ @pytest.mark.parametrize("split_collections", [False, True])
+ @image_comparison(
+ ['contour_addlines.png'], remove_text=True, style='mpl20',
+- tol=0.15 if platform.machine() in ('aarch64', 'ppc64le', 's390x')
+- else 0.03)
++ tol=0.15)
+ # tolerance is because image changed minutely when tick finding on
+ # colorbars was cleaned up...
+ def test_contour_addlines(split_collections):
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index 58aecd3dea..53f3145cbd 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
+
+
+ @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_align_labels():
+ fig = plt.figure(layout='tight')
+ gs = gridspec.GridSpec(3, 3)
+@@ -68,7 +68,7 @@ def test_align_labels():
+
+ @image_comparison(['figure_align_titles_tight.png',
+ 'figure_align_titles_constrained.png'],
+- tol=0 if platform.machine() == 'x86_64' else 0.022,
++ tol=0.01 if platform.machine() == 'x86_64' else 0.022,
+ style='mpl20')
+ def test_align_titles():
+ for layout in ['tight', 'constrained']:
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index 1602f86716..c2bc71e22f 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -1416,7 +1416,7 @@ def test_nonuniform_and_pcolor():
+
+ @image_comparison(
+ ['rgba_antialias.png'], style='mpl20', remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.007)
++ tol=0.007)
+ def test_rgba_antialias():
+ fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
+ sharey=False, constrained_layout=True)
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index 0353f1408b..4c15058e7a 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -177,7 +177,7 @@ def test_multiple_keys():
+
+
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.03)
+ def test_alpha_rgba():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -186,7 +186,7 @@ def test_alpha_rgba():
+
+
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.03)
+ def test_alpha_rcparam():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -214,7 +214,7 @@ def test_fancy():
+
+
+ @image_comparison(['framealpha'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.024)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.024)
+ def test_framealpha():
+ x = np.linspace(1, 100, 100)
+ y = x
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index 531237b2ba..0e37450e1a 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -185,7 +185,7 @@ def test_set_drawstyle():
+
+ @image_comparison(
+ ['line_collection_dashes'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.65)
++ tol=0.65)
+ def test_set_line_coll_dash_image():
+ fig, ax = plt.subplots()
+ np.random.seed(0)
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index ae6372fea1..4f0dc25732 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -79,7 +79,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.002 if platform.machine() == 'x86_64' else 0.03)
+ def test_numpy_facade(quantity_converter):
+ # use former defaults to match existing baseline image
+ plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
+
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.02)
+ def test_plot_masked_units():
+ data = np.linspace(-5, 5)
+ data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 342face450..c7256586bc 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt
+ pytestmark = needs_usetex
+
+
++@pytest.mark.skip(reason="TODO: broken")
+ @image_comparison(
+ baseline_images=['test_usetex'],
+ extensions=['pdf', 'png'],
+@@ -65,7 +66,7 @@ def test_mathdefault():
+ fig.canvas.draw()
+
+
+-@image_comparison(['eqnarray.png'])
++@image_comparison(['eqnarray.png'], tol=23)
+ def test_multiline_eqnarray():
+ text = (
+ r'\begin{eqnarray*}'
+@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError:
+
+
+ @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'],
+- style='mpl20', tol=3.91 if _old_gs_version else 0)
++ style='mpl20', tol=30)
+ def test_rotation():
+ mpl.rcParams['text.usetex'] = True
+
diff --git a/dev-python/matplotlib/matplotlib-3.9.0.ebuild b/dev-python/matplotlib/matplotlib-3.9.0.ebuild
new file mode 100644
index 000000000000..21fdd234f0a5
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.9.0.ebuild
@@ -0,0 +1,300 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic prefix pypi toolchain-funcs virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+ https://matplotlib.org/
+ https://github.com/matplotlib/matplotlib/
+ https://pypi.org/project/matplotlib/
+"
+SRC_URI+="
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="cairo excel gtk3 latex qt5 tk webagg wxwidgets"
+
+DEPEND="
+ media-libs/freetype:2
+ >=media-libs/qhull-2013:=
+"
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.25[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/libpng:0
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ )
+ qt5? (
+ $(python_gen_cond_dep '
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ ' 'python3*')
+ )
+ webagg? (
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{10..11})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ !hppa? ( !s390? (
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ ) )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ # do not unpack freetype
+ unpack "${P}.tar.gz"
+}
+
+python_prepare_all() {
+ # Affects installed _version.py, bug #854600
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.9.0-test.patch
+ )
+
+ # increase lock timeout to 30 s
+ sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ unset DISPLAY # bug #278524
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ DISTUTILS_ARGS=(
+ -Dsystem-freetype=true
+ -Dsystem-qhull=true
+ -Dmacosx=false
+ )
+}
+
+src_test() {
+ mkdir subprojects/packagecache || die
+ cp "${DISTDIR}/freetype-${FT_PV}.tar.gz" subprojects/packagecache/ || die
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by -Wdefault
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+ tests/test_testing.py::test_warn_to_fail
+ tests/test_legend.py::test_legend_nolabels_warning
+ # TODO?
+ tests/test_backend_qt.py::test_fig_sigint_override
+ tests/test_backend_qt.py::test_ipython
+ tests/test_backend_nbagg.py::test_ipynb
+ # leak tests are fragile
+ tests/test_backends_interactive.py::test_figure_leak_20490
+ # major "images not close", new texlive perhaps
+ tests/test_contour.py::test_all_algorithms
+ # "no warnings"
+ tests/test_backend_pdf.py::test_invalid_metadata
+ tests/test_figure.py::test_too_many_figures
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # TODO: warning isn't passed through
+ tests/test_image.py::test_large_image
+ # TODO
+ tests/test_pickle.py::test_complete
+ tests/test_pickle.py::test_no_pyplot
+ tests/test_pickle.py::test_pickle_load_from_subprocess
+ tests/test_pickle.py::test_simple
+ tests/test_texmanager.py::test_openin_any_paranoid
+ tests/test_widgets.py::test_check_buttons
+ tests/test_widgets.py::test_check_buttons_lines
+ tests/test_widgets.py::test_check_radio_buttons_image
+ tests/test_widgets.py::test_radio_buttons
+ )
+ if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ then
+ EPYTEST_DESELECT+=(
+ # TypeError is raised when exception is raised in a starred
+ # expression referencing a generator that uses "yield from"
+ # and raises -- non-critical, since some exception is raised
+ # after all
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4032
+ tests/test_axes.py::test_bad_plot_args
+ tests/test_axes.py::test_plot_errors
+ tests/test_axes.py::test_plot_format_errors
+ )
+ fi
+ ;;
+ python3.11)
+ EPYTEST_DESELECT+=(
+ # https://github.com/matplotlib/matplotlib/issues/23384
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+ )
+ ;;
+ python3.12)
+ EPYTEST_DESELECT+=(
+ tests/test_constrainedlayout.py::test_compressed1
+ )
+ ;;
+ esac
+
+ case ${ABI} in
+ hppa)
+ EPYTEST_DESELECT+=(
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
+ 'tests/test_quiver.py::test_barbs[png]'
+ 'tests/test_quiver.py::test_barbs_pivot[png]'
+ 'tests/test_quiver.py::test_barbs_flip[png]'
+ 'tests/test_text.py::test_parse_math'
+ 'tests/test_text.py::test_parse_math_rcparams'
+ )
+ ;&
+ alpha|arm|m68k|o32|ppc|s390|sh|sparc|x86)
+ EPYTEST_DESELECT+=(
+ # too large for 32-bit platforms
+ 'tests/test_axes.py::test_psd_csd[png]'
+ )
+ ;;
+ *)
+ ;;
+ esac
+
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ local DISTUTILS_ARGS=(
+ "${DISTUTILS_ARGS[@]}"
+ -Dsystem-freetype=false
+ )
+ distutils_pep517_install "${BUILD_DIR}"/test
+ cp -r "${BUILD_DIR}"/{install,test}"${EPREFIX}/usr/bin" || die
+ local -x PATH=${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}
+
+ pushd lib >/dev/null || die
+ local path
+ local sitedir=${BUILD_DIR}/test$(python_get_sitedir)
+ # sigh, upstream doesn't install these
+ while IFS= read -d '' path; do
+ cp -r "${path}" "${sitedir}/${path}" || die
+ done < <(
+ find \( \
+ -name baseline_images -o \
+ -name '*.ipynb' -o \
+ -name '*.pfb' -o \
+ -name '*.ttf' -o \
+ -name tinypages \
+ \) -print0
+ )
+ popd >/dev/null || die
+
+ # speed tests up
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # pretend we're on CI to increase timeouts
+ local -x CI=1
+ nonfatal epytest --pyargs matplotlib -m "not network" \
+ -p rerunfailures --reruns=3 \
+ -o tmp_path_retention_policy=all || die
+}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2023-08-30 4:02 Sam James
0 siblings, 0 replies; 22+ messages in thread
From: Sam James @ 2023-08-30 4:02 UTC (permalink / raw
To: gentoo-commits
commit: 5fccefacc5c9c11f2f31559d2d3edbb643b0b7cb
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 30 04:02:15 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 30 04:02:15 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fccefac
dev-python/matplotlib: backport pyparsing-3.1 fix
Closes: https://bugs.gentoo.org/911127
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../files/matplotlib-3.7.2-pyparsing-3.1.patch | 274 +++++++++++++++++
dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild | 334 +++++++++++++++++++++
2 files changed, 608 insertions(+)
diff --git a/dev-python/matplotlib/files/matplotlib-3.7.2-pyparsing-3.1.patch b/dev-python/matplotlib/files/matplotlib-3.7.2-pyparsing-3.1.patch
new file mode 100644
index 000000000000..44082b5c0227
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.7.2-pyparsing-3.1.patch
@@ -0,0 +1,274 @@
+https://bugs.gentoo.org/911127
+https://github.com/matplotlib/matplotlib/issues/26152
+https://github.com/matplotlib/matplotlib/pull/26432
+
+From c5183789d7d0cd151c201eeb2ce4fc786b6e43c2 Mon Sep 17 00:00:00 2001
+From: Jody Klymak <jklymak@gmail.com>
+Date: Tue, 1 Aug 2023 13:41:44 -0700
+Subject: [PATCH 1/2] Backport PR #26431: MNT: Unpin pyparsing, xfail error
+ message tests for pyparsing 3.1.0
+
+--- a/environment.yml
++++ b/environment.yml
+@@ -19,7 +19,7 @@ dependencies:
+ - pillow>=6.2
+ - pybind11>=2.6.0
+ - pygobject
+- - pyparsing!=3.1.0
++ - pyparsing>=2.3.1
+ - pyqt
+ - python-dateutil>=2.1
+ - setuptools
+--- a/lib/matplotlib/tests/test_mathtext.py
++++ b/lib/matplotlib/tests/test_mathtext.py
+@@ -6,13 +6,18 @@
+ from xml.etree import ElementTree as ET
+
+ import numpy as np
++from packaging.version import parse as parse_version
++import pyparsing
+ import pytest
+
++
+ import matplotlib as mpl
+ from matplotlib.testing.decorators import check_figures_equal, image_comparison
+ import matplotlib.pyplot as plt
+ from matplotlib import mathtext, _mathtext
+
++pyparsing_version = parse_version(pyparsing.__version__)
++
+
+ # If test is removed, use None as placeholder
+ math_tests = [
+@@ -270,6 +275,9 @@ def test_fontinfo():
+ assert table['version'] == (1, 0)
+
+
++# See gh-26152 for more context on this xfail
++@pytest.mark.xfail(pyparsing_version.release == (3, 1, 0),
++ reason="Error messages are incorrect for this version")
+ @pytest.mark.parametrize(
+ 'math, msg',
+ [
+--- a/lib/matplotlib/tests/test_text.py
++++ b/lib/matplotlib/tests/test_text.py
+@@ -4,6 +4,8 @@
+
+ import numpy as np
+ from numpy.testing import assert_almost_equal
++from packaging.version import parse as parse_version
++import pyparsing
+ import pytest
+
+ import matplotlib as mpl
+@@ -16,6 +18,8 @@
+ from matplotlib.testing._markers import needs_usetex
+ from matplotlib.text import Text
+
++pyparsing_version = parse_version(pyparsing.__version__)
++
+
+ @image_comparison(['font_styles'])
+ def test_font_styles():
+@@ -809,6 +813,9 @@ def test_unsupported_script(recwarn):
+ (r"Matplotlib currently does not support Bengali natively.",)])
+
+
++# See gh-26152 for more information on this xfail
++@pytest.mark.xfail(pyparsing_version.release == (3, 1, 0),
++ reason="Error messages are incorrect with pyparsing 3.1.0")
+ def test_parse_math():
+ fig, ax = plt.subplots()
+ ax.text(0, 0, r"$ \wrong{math} $", parse_math=False)
+@@ -819,6 +826,9 @@ def test_parse_math():
+ fig.canvas.draw()
+
+
++# See gh-26152 for more information on this xfail
++@pytest.mark.xfail(pyparsing_version.release == (3, 1, 0),
++ reason="Error messages are incorrect with pyparsing 3.1.0")
+ def test_parse_math_rcparams():
+ # Default is True
+ fig, ax = plt.subplots()
+--- a/setup.py
++++ b/setup.py
+@@ -325,7 +325,7 @@ def make_release_tree(self, base_dir, files):
+ "numpy>=1.20",
+ "packaging>=20.0",
+ "pillow>=6.2.0",
+- "pyparsing>=2.3.1,<3.1",
++ "pyparsing>=2.3.1",
+ "python-dateutil>=2.7",
+ ] + (
+ # Installing from a git checkout that is not producing a wheel.
+
+From 7f475c5088a826adffac2885d027d4f8b3cba218 Mon Sep 17 00:00:00 2001
+From: Kyle Sunden <git@ksunden.space>
+Date: Mon, 26 Jun 2023 22:17:27 -0500
+Subject: [PATCH 2/2] Manual backport of #26198
+
+Cherry picked and fixed up, ignored changes to the pyi file (which doesn't exist on this branch).
+--- a/lib/matplotlib/_mathtext.py
++++ b/lib/matplotlib/_mathtext.py
+@@ -1802,8 +1802,11 @@ def __init__(self):
+ def set_names_and_parse_actions():
+ for key, val in vars(p).items():
+ if not key.startswith('_'):
+- # Set names on everything -- very useful for debugging
+- val.setName(key)
++ # Set names on (almost) everything -- very useful for debugging
++ # token, placeable, and auto_delim are forward references which
++ # are left without names to ensure useful error messages
++ if key not in ("token", "placeable", "auto_delim"):
++ val.setName(key)
+ # Set actions
+ if hasattr(self, key):
+ val.setParseAction(getattr(self, key))
+@@ -1840,63 +1843,39 @@ def csnames(group, names):
+ p.unknown_symbol = Regex(r"\\[A-Za-z]*")("name")
+
+ p.font = csnames("font", self._fontnames)
+- p.start_group = (
+- Optional(r"\math" + oneOf(self._fontnames)("font")) + "{")
++ p.start_group = Optional(r"\math" + oneOf(self._fontnames)("font")) + "{"
+ p.end_group = Literal("}")
+
+ p.delim = oneOf(self._delims)
+
+- set_names_and_parse_actions() # for root definitions.
+-
+ # Mutually recursive definitions. (Minimizing the number of Forward
+ # elements is important for speed.)
+- p.accent = Forward()
+ p.auto_delim = Forward()
+- p.binom = Forward()
+- p.customspace = Forward()
+- p.frac = Forward()
+- p.dfrac = Forward()
+- p.function = Forward()
+- p.genfrac = Forward()
+- p.group = Forward()
+- p.operatorname = Forward()
+- p.overline = Forward()
+- p.overset = Forward()
+ p.placeable = Forward()
+ p.required_group = Forward()
+- p.simple = Forward()
+ p.optional_group = Forward()
+- p.sqrt = Forward()
+- p.subsuper = Forward()
+ p.token = Forward()
+- p.underset = Forward()
+
+ set_names_and_parse_actions() # for mutually recursive definitions.
+
+- p.customspace <<= cmd(r"\hspace", "{" + p.float_literal("space") + "}")
++ p.optional_group <<= "{" + ZeroOrMore(p.token)("group") + "}"
++ p.required_group <<= "{" + OneOrMore(p.token)("group") + "}"
+
+- p.accent <<= (
++ p.customspace = cmd(r"\hspace", "{" + p.float_literal("space") + "}")
++
++ p.accent = (
+ csnames("accent", [*self._accent_map, *self._wide_accents])
+ - p.placeable("sym"))
+
+- p.function <<= csnames("name", self._function_names)
+- p.operatorname <<= cmd(
+- r"\operatorname",
+- "{" + ZeroOrMore(p.simple | p.unknown_symbol)("name") + "}")
++ p.function = csnames("name", self._function_names)
+
+- p.group <<= p.start_group + ZeroOrMore(p.token)("group") + p.end_group
++ p.group = p.start_group + ZeroOrMore(p.token)("group") + p.end_group
+
+- p.optional_group <<= "{" + ZeroOrMore(p.token)("group") + "}"
+- p.required_group <<= "{" + OneOrMore(p.token)("group") + "}"
+-
+- p.frac <<= cmd(
+- r"\frac", p.required_group("num") + p.required_group("den"))
+- p.dfrac <<= cmd(
+- r"\dfrac", p.required_group("num") + p.required_group("den"))
+- p.binom <<= cmd(
+- r"\binom", p.required_group("num") + p.required_group("den"))
++ p.frac = cmd(r"\frac", p.required_group("num") + p.required_group("den"))
++ p.dfrac = cmd(r"\dfrac", p.required_group("num") + p.required_group("den"))
++ p.binom = cmd(r"\binom", p.required_group("num") + p.required_group("den"))
+
+- p.genfrac <<= cmd(
++ p.genfrac = cmd(
+ r"\genfrac",
+ "{" + Optional(p.delim)("ldelim") + "}"
+ + "{" + Optional(p.delim)("rdelim") + "}"
+@@ -1905,20 +1884,38 @@ def csnames(group, names):
+ + p.required_group("num")
+ + p.required_group("den"))
+
+- p.sqrt <<= cmd(
++ p.sqrt = cmd(
+ r"\sqrt{value}",
+ Optional("[" + OneOrMore(NotAny("]") + p.token)("root") + "]")
+ + p.required_group("value"))
+
+- p.overline <<= cmd(r"\overline", p.required_group("body"))
++ p.overline = cmd(r"\overline", p.required_group("body"))
+
+- p.overset <<= cmd(
++ p.overset = cmd(
+ r"\overset",
+ p.optional_group("annotation") + p.optional_group("body"))
+- p.underset <<= cmd(
++ p.underset = cmd(
+ r"\underset",
+ p.optional_group("annotation") + p.optional_group("body"))
+
++ p.subsuper = (
++ (Optional(p.placeable)("nucleus")
++ + OneOrMore(oneOf(["_", "^"]) - p.placeable)("subsuper")
++ + Regex("'*")("apostrophes"))
++ | Regex("'+")("apostrophes")
++ | (p.placeable("nucleus") + Regex("'*")("apostrophes"))
++ )
++
++ p.simple = p.space | p.customspace | p.font | p.subsuper
++
++ p.token <<= (
++ p.simple
++ | p.auto_delim
++ | p.unknown_symbol # Must be last
++ )
++
++ p.operatorname = cmd(r"\operatorname", "{" + ZeroOrMore(p.simple)("name") + "}")
++
+ p.placeable <<= (
+ p.accent # Must be before symbol as all accents are symbols
+ | p.symbol # Must be second to catch all named symbols and single
+@@ -1936,27 +1933,6 @@ def csnames(group, names):
+ | p.overline
+ )
+
+- p.simple <<= (
+- p.space
+- | p.customspace
+- | p.font
+- | p.subsuper
+- )
+-
+- p.subsuper <<= (
+- (Optional(p.placeable)("nucleus")
+- + OneOrMore(oneOf(["_", "^"]) - p.placeable)("subsuper")
+- + Regex("'*")("apostrophes"))
+- | Regex("'+")("apostrophes")
+- | (p.placeable("nucleus") + Regex("'*")("apostrophes"))
+- )
+-
+- p.token <<= (
+- p.simple
+- | p.auto_delim
+- | p.unknown_symbol # Must be last
+- )
+-
+ p.auto_delim <<= (
+ r"\left" - (p.delim("left") | Error("Expected a delimiter"))
+ + ZeroOrMore(p.simple | p.auto_delim)("mid")
+
diff --git a/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild b/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild
new file mode 100644
index 000000000000..c9db102721f2
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild
@@ -0,0 +1,334 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
+inherit toolchain-funcs virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+ https://matplotlib.org/
+ https://github.com/matplotlib/matplotlib/
+ https://pypi.org/project/matplotlib/
+"
+SRC_URI+="
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ >=media-libs/qhull-2013:=
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ )
+ qt5? (
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ )
+ webagg? (
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{8..10})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ >=app-text/dvipng-1.15-r1
+ >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ >=media-gfx/graphviz-2.42.3[cairo]
+ )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use "${1}"; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+ # Affects installed _version.py, bug #854600
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+ "${FILESDIR}"/matplotlib-3.7.1-test.patch
+ "${FILESDIR}"/matplotlib-3.7.2-macOS_no-Cocoa.patch
+ "${FILESDIR}"/matplotlib-3.7.2-pyparsing-3.1.patch
+ )
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+ sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
+
+ hprefixify setupext.py
+
+ rm -rf libqhull || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+ tc-export PKG_CONFIG
+
+ unset DISPLAY # bug #278524
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+ [directories]
+ basedirlist = ${EPREFIX}/usr
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [libs]
+ system_freetype = True
+ system_qhull = True
+ [packages]
+ tests = True
+ [gui_support]
+ agg = True
+ gtk = False
+ gtkagg = False
+ macosx = False
+ pyside = False
+ pysideagg = False
+ qt4 = False
+ qt4agg = False
+ $(use_setup cairo)
+ $(use_setup gtk3)
+ $(use_setup qt5)
+ $(use_setup tk)
+ $(use_setup wxwidgets wx)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+}
+
+wrap_setup() {
+ local MAKEOPTS=-j1
+ local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+ "$@"
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ VARTEXFONTS="${T}"/fonts \
+ emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+ fi
+}
+
+src_test() {
+ mkdir build || die
+ ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by -Wdefault
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+ tests/test_testing.py::test_warn_to_fail
+ # TODO?
+ tests/test_backend_qt.py::test_fig_sigint_override
+ # unhappy about xdist
+ tests/test_widgets.py::test_span_selector_animated_artists_callback
+ )
+
+ [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+ # https://github.com/matplotlib/matplotlib/issues/23384
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+ )
+
+ case "${ABI}" in
+ alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
+ EPYTEST_DESELECT+=(
+ # too large for 32-bit platforms
+ 'tests/test_axes.py::test_psd_csd[png]'
+ )
+ ;;
+ *)
+ ;;
+ esac
+
+ if use hppa ; then
+ EPYTEST_DESELECT+=(
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
+ 'tests/test_quiver.py::test_barbs[png]'
+ 'tests/test_quiver.py::test_barbs_pivot[png]'
+ 'tests/test_quiver.py::test_barbs_flip[png]'
+ 'tests/test_text.py::test_parse_math'
+ 'tests/test_text.py::test_parse_math_rcparams'
+ )
+ fi
+
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+ > "${BUILD_DIR}"/test-setup.cfg || die
+ local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+
+ esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
+ local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+ # speed tests up
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest --pyargs matplotlib -m "not network" \
+ -p xdist.plugin -n "$(makeopts_jobs)" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2023-07-24 10:59 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2023-07-24 10:59 UTC (permalink / raw
To: gentoo-commits
commit: e81cabf8b0e7427a4a38c66f9960a7030b9f4320
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 24 10:57:31 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 24 10:57:31 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e81cabf8
dev-python/matplotlib: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/matplotlib/Manifest | 1 -
.../matplotlib/files/matplotlib-3.5.2-test.patch | 261 -------------------
dev-python/matplotlib/matplotlib-3.5.3.ebuild | 283 ---------------------
3 files changed, 545 deletions(-)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 9f00f05603fb..ef0405210111 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,4 +1,3 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670
DIST matplotlib-3.7.1.tar.gz 38003777 BLAKE2B a387d23b58e09011cd3ae1f8c0ebf5dd8c04c8c15c1f6453c92cd22b2439fcabcf384f39ae8d2d2c6b7d2645817cd57a60856a4c05728e8f8aff9dd163af5083 SHA512 d7db4213d5b38eba779ba06ffaa8e67a435192e4a8cf62f8e1cd4b8079cd257b2e83cb79926df012b7084c785c0ce8b03275035f68cfcf0a36b0dda7322f2e67
DIST matplotlib-3.7.2.tar.gz 38095843 BLAKE2B e26e78ce3a27604ff3d0f4d280798715b21a89104908e4fa66f96e32152d61f4f640e02e1eb2327563c71f3391c03716b5f6a1e769a07725d02c042b21973a4a SHA512 3ddb223c869c01cf71ab65a628a3c996eed1ff8b2375c02e3158a5750652a5d8277a55706e50890c15c14c7a104db01f01b01ca8964f85b6ffec104fc273872d
diff --git a/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
deleted file mode 100644
index 4b54480c5adf..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
+++ /dev/null
@@ -1,261 +0,0 @@
-From ea4bae5e68e3065ca159ea309a0f3325a06e7f35 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Fri, 26 Mar 2021 13:42:49 +0100
-Subject: [PATCH] Increase image comparison limits
-
-Most of the tests require exact match which apparently doesn't always
-happen in non-pristine environments. Some of them have very big
-differences due to texlive font rendering changes.
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py | 4 ++--
- lib/matplotlib/tests/test_backend_pgf.py | 2 +-
- lib/matplotlib/tests/test_colorbar.py | 2 +-
- lib/matplotlib/tests/test_contour.py | 2 +-
- lib/matplotlib/tests/test_figure.py | 5 +++--
- lib/matplotlib/tests/test_image.py | 2 +-
- lib/matplotlib/tests/test_legend.py | 6 +++---
- lib/matplotlib/tests/test_lines.py | 3 ++-
- lib/matplotlib/tests/test_streamplot.py | 3 ++-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 1 +
- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
- 13 files changed, 23 insertions(+), 19 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
-
-
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
- """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
-
-
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
- """
-@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
-
-
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.005)
-+ tol=0.005)
- def test_arrow_styles():
- styles = mpatches.ArrowStyle.get_styles()
-
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index eb4c34382b..cca73a23f9 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -918,7 +918,7 @@ def test_imshow():
- ax.imshow("r", data=data)
-
-
--@image_comparison(['imshow_clip'], style='mpl20')
-+@image_comparison(['imshow_clip'], style='mpl20', tol=1.24)
- def test_imshow_clip():
- # As originally reported by Gellule Xg <gellule.xg@free.fr>
- # use former defaults to match existing baseline image
-@@ -4231,7 +4231,7 @@ def test_vertex_markers():
-
-
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
- x = list(range(10))
-
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 9b5b0b28ee..a374be0333 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -80,7 +80,7 @@ def test_common_texification(plain_text, escaped_text):
- # test compiling a figure to pdf with xelatex
- @needs_xelatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_xelatex.pdf'], style='default')
-+@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
- def test_xelatex():
- rc_xelatex = {'font.family': 'serif',
- 'pgf.rcfonts': False}
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 304056f6d1..9934bac550 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -218,7 +218,7 @@ def test_colorbar_single_ax_panchor_false():
- plt.colorbar(panchor=False)
-
-
--@image_comparison(['contour_colorbar.png'], remove_text=True)
-+@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01)
- def test_contour_colorbar():
- fig, ax = plt.subplots(figsize=(4, 2))
- data = np.arange(1200).reshape(30, 40) - 500
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 10fb011166..f49fb25dc8 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -345,7 +345,7 @@ def test_contourf_log_extension():
-
-
- @image_comparison(['contour_addlines.png'],
-- remove_text=True, style='mpl20', tol=0.03)
-+ remove_text=True, style='mpl20', tol=0.1)
- # tolerance is because image changed minutely when tick finding on
- # colorbars was cleaned up...
- def test_contour_addlines():
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index 1e076bd64f..11c2668d33 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -23,7 +23,7 @@ import matplotlib.gridspec as gridspec
-
-
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_align_labels():
- fig = plt.figure(tight_layout=True)
- gs = gridspec.GridSpec(3, 3)
-@@ -1124,7 +1124,8 @@ def test_subfigure_tightbbox():
-
- @image_comparison(['test_subfigure_ss.png'], style='mpl20',
- savefig_kwarg={'facecolor': 'teal'},
-- remove_text=False)
-+ remove_text=False,
-+ tol=0.013)
- def test_subfigure_ss():
- # test assigning the subfigure via subplotspec
- np.random.seed(19680801)
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index 719b190578..ee2263a88e 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1324,7 +1324,7 @@ def test_nonuniform_and_pcolor():
-
-
- @image_comparison(["rgba_antialias.png"], style="mpl20",
-- remove_text=True)
-+ remove_text=True, tol=0.005)
- def test_rgba_antialias():
- fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
- sharey=False, constrained_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index fe8a8dd5f6..43fbda8ab0 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -102,7 +102,7 @@ def test_multiple_keys():
-
-
- @image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rgba():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -111,7 +111,7 @@ def test_alpha_rgba():
-
-
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rcparam():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -137,7 +137,7 @@ def test_fancy():
-
-
- @image_comparison(['framealpha'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.02)
- def test_framealpha():
- x = np.linspace(1, 100, 100)
- y = x
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index f6917a134b..4a14abb74d 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -162,7 +162,8 @@ def test_set_drawstyle():
- assert len(line.get_path().vertices) == len(x)
-
-
--@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
-+@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
-+ tol=0.58)
- def test_set_line_coll_dash_image():
- fig, ax = plt.subplots()
- np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
-index c8824feb06..081e8c0559 100644
---- a/lib/matplotlib/tests/test_streamplot.py
-+++ b/lib/matplotlib/tests/test_streamplot.py
-@@ -34,7 +34,8 @@ def test_startpoints():
- plt.plot(start_x, start_y, 'ok')
-
-
--@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20')
-+@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20',
-+ tol=0.002)
- def test_colormap():
- X, Y, U, V = velocity_field()
- plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index a6f6b44c97..ab5ad8b5cf 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -76,7 +76,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -103,7 +103,7 @@ def test_numpy_facade(quantity_converter):
-
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_plot_masked_units():
- data = np.linspace(-5, 5)
- data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 12557cf847..25b65ead67 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -11,6 +11,7 @@ if not mpl.checkdep_usetex(True):
- pytestmark = pytest.mark.skip('Missing TeX of Ghostscript or dvipng')
-
-
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
- baseline_images=['test_usetex'],
- extensions=['pdf', 'png'],
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index f8902ca72f..323579b8b6 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -336,7 +336,7 @@ def test_zooming_with_inverted_axes():
-
-
- @image_comparison(['anchored_direction_arrows.png'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_anchored_direction_arrows():
- fig, ax = plt.subplots()
- ax.imshow(np.zeros((10, 10)), interpolation='nearest')
---
-2.35.1
-
diff --git a/dev-python/matplotlib/matplotlib-3.5.3.ebuild b/dev-python/matplotlib/matplotlib-3.5.3.ebuild
deleted file mode 100644
index a765b2f7d83c..000000000000
--- a/dev-python/matplotlib/matplotlib-3.5.3.ebuild
+++ /dev/null
@@ -1,283 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
-inherit toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
-# cat > lib/${PN}/externals/six.py <<-EOF
-# from __future__ import absolute_import
-# from six import *
-# EOF
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.5.2-test.patch
- )
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
- sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- )
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2023-04-21 4:06 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2023-04-21 4:06 UTC (permalink / raw
To: gentoo-commits
commit: de35441288c195867695b7ad41b2a871f06f0c32
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 21 04:03:13 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Apr 21 04:06:20 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de354412
dev-python/matplotlib: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/matplotlib/Manifest | 4 -
.../matplotlib/files/matplotlib-3.6.0-test.patch | 260 -------------------
.../matplotlib/files/matplotlib-3.6.2-test.patch | 171 -------------
.../matplotlib/files/matplotlib-3.6.3-test.patch | 25 --
.../matplotlib/files/matplotlib-3.7.0-test.patch | 244 ------------------
dev-python/matplotlib/matplotlib-3.6.1.ebuild | 277 --------------------
dev-python/matplotlib/matplotlib-3.6.2.ebuild | 279 --------------------
dev-python/matplotlib/matplotlib-3.6.3.ebuild | 280 --------------------
dev-python/matplotlib/matplotlib-3.7.0.ebuild | 283 ---------------------
9 files changed, 1823 deletions(-)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index d79e6201d131..296464c32ad0 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,7 +1,3 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670
-DIST matplotlib-3.6.1.tar.gz 35826557 BLAKE2B b30710436a773298dcdf233e592656d9815f55f0daab0cc28811b9adbfd3b2ede08f4c13e0dfa43c5fb283bc1ba96ea793084f3d65ba13b9697d14ffa406a273 SHA512 40b148fe4574eea88e7e74c2844a4811c71651602bd7e0a863482571bfa216c01d4f5fcd36add14af82c5cacdb6ae9d441ed251ee5239d06bcc8d40c9ee8841b
-DIST matplotlib-3.6.2.tar.gz 35843927 BLAKE2B 22b933b2ca2bfb156ee1592f522da6e7566f279fd6c7ef2d2f5aeb8697fc04085b57ba6bb5f7948572b3e671687b74d6ba9f7def2728b6224fbc98b121281a3c SHA512 51b84a4328a85f674cb44728955fca8bb5b8b702c788158b8bcfc13a44206a5a658ac12ed8f9a5f6ec53ef543395fab4f3871f91013ba1432f3e2b848c36976f
-DIST matplotlib-3.6.3.tar.gz 35868590 BLAKE2B aa511e7d82c41ff2b5622b23847c2e94ed5d400be74eddcdab12ddba8d25bcc1b778c5fb2a29935bca71b76cbf4213088286c9a6a3d085e06036069909ccc1e7 SHA512 844ca90bcc9953d3d1289a6d471180a3dadb49c75eb59858bbbfb67d4b1292b83b86b366f22ab12d9e97c980376d48b86e745607ec4e812a3010c6fec01398dc
-DIST matplotlib-3.7.0.tar.gz 36346055 BLAKE2B 558e14c5afaf7ec7f88604707b1adbd9bbcab7f8fcf2dfbc4d25b94b9fa55f4f04b4150d71f813a2be59b739dec1b70981afb0158d90fba03fbe19b291c3eafe SHA512 60207fb10394422b7a11faffb2775c23c377e6dd72ef9f3fde1099d50e1810c4be55cf814da74fd87faf49a628459472945bb901a4cbe73c9676df54b862ad5c
DIST matplotlib-3.7.1.tar.gz 38003777 BLAKE2B a387d23b58e09011cd3ae1f8c0ebf5dd8c04c8c15c1f6453c92cd22b2439fcabcf384f39ae8d2d2c6b7d2645817cd57a60856a4c05728e8f8aff9dd163af5083 SHA512 d7db4213d5b38eba779ba06ffaa8e67a435192e4a8cf62f8e1cd4b8079cd257b2e83cb79926df012b7084c785c0ce8b03275035f68cfcf0a36b0dda7322f2e67
diff --git a/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch
deleted file mode 100644
index 4f0fe2207507..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch
+++ /dev/null
@@ -1,260 +0,0 @@
-From 72702bcc76e3daf34d43aa76942f1008946712d6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 24 Sep 2022 09:21:56 +0200
-Subject: [PATCH] Increase image comparison limits
-
-Most of the tests require exact match which apparently doesn't always
-happen in non-pristine environments. Some of them have very big
-differences due to texlive font rendering changes.
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py | 6 +++---
- lib/matplotlib/tests/test_backend_pgf.py | 2 +-
- lib/matplotlib/tests/test_colorbar.py | 2 +-
- lib/matplotlib/tests/test_contour.py | 2 +-
- lib/matplotlib/tests/test_figure.py | 2 +-
- lib/matplotlib/tests/test_image.py | 2 +-
- lib/matplotlib/tests/test_legend.py | 6 +++---
- lib/matplotlib/tests/test_lines.py | 3 ++-
- lib/matplotlib/tests/test_streamplot.py | 3 ++-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 1 +
- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
- 13 files changed, 22 insertions(+), 19 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
-
-
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
- """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
-
-
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
- """
-@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
-
-
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.005)
-+ tol=0.005)
- def test_arrow_styles():
- styles = mpatches.ArrowStyle.get_styles()
-
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index a230af2ac1..c993d85856 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1025,7 +1025,7 @@ def test_imshow():
- ax.imshow("r", data=data)
-
-
--@image_comparison(['imshow_clip'], style='mpl20')
-+@image_comparison(['imshow_clip'], style='mpl20', tol=1.24)
- def test_imshow_clip():
- # As originally reported by Gellule Xg <gellule.xg@free.fr>
- # use former defaults to match existing baseline image
-@@ -2334,7 +2334,7 @@ def test_contour_hatching():
- extend='both', alpha=0.5)
-
-
--@image_comparison(['contour_colorbar'], style='mpl20')
-+@image_comparison(['contour_colorbar'], style='mpl20', tol=0.015)
- def test_contour_colorbar():
- x, y, z = contour_dat()
-
-@@ -4616,7 +4616,7 @@ def test_vertex_markers():
-
-
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
- x = list(range(10))
-
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 482bc073a7..faa8cfa5ce 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -79,7 +79,7 @@ def create_figure():
- # test compiling a figure to pdf with xelatex
- @needs_pgf_xelatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_xelatex.pdf'], style='default')
-+@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
- def test_xelatex():
- rc_xelatex = {'font.family': 'serif',
- 'pgf.rcfonts': False}
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 149ed4c3d2..bf10709297 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -231,7 +231,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
- assert ax.get_anchor() == 'E'
-
-
--@image_comparison(['contour_colorbar.png'], remove_text=True)
-+@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01)
- def test_contour_colorbar():
- fig, ax = plt.subplots(figsize=(4, 2))
- data = np.arange(1200).reshape(30, 40) - 500
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 2c76f34cb1..a6a0619443 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -318,7 +318,7 @@ def test_contourf_log_extension():
-
-
- @image_comparison(['contour_addlines.png'],
-- remove_text=True, style='mpl20', tol=0.03)
-+ remove_text=True, style='mpl20', tol=0.2)
- # tolerance is because image changed minutely when tick finding on
- # colorbars was cleaned up...
- def test_contour_addlines():
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index 48b4a880e0..2b31fe6273 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
-
-
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_align_labels():
- fig = plt.figure(layout='tight')
- gs = gridspec.GridSpec(3, 3)
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index 46dbe4cfe8..cb171e83f8 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1323,7 +1323,7 @@ def test_nonuniform_and_pcolor():
-
-
- @image_comparison(["rgba_antialias.png"], style="mpl20",
-- remove_text=True)
-+ remove_text=True, tol=0.005)
- def test_rgba_antialias():
- fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
- sharey=False, constrained_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 16847e0be6..80159952c1 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -118,7 +118,7 @@ def test_multiple_keys():
-
-
- @image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rgba():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -127,7 +127,7 @@ def test_alpha_rgba():
-
-
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rcparam():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -153,7 +153,7 @@ def test_fancy():
-
-
- @image_comparison(['framealpha'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.02)
- def test_framealpha():
- x = np.linspace(1, 100, 100)
- y = x
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index e7002df8a5..e83a90ccb1 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -165,7 +165,8 @@ def test_set_drawstyle():
- assert len(line.get_path().vertices) == len(x)
-
-
--@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
-+@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
-+ tol=0.62)
- def test_set_line_coll_dash_image():
- fig, ax = plt.subplots()
- np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
-index 5ee6df09e4..ab059bb4a3 100644
---- a/lib/matplotlib/tests/test_streamplot.py
-+++ b/lib/matplotlib/tests/test_streamplot.py
-@@ -34,7 +34,8 @@ def test_startpoints():
- plt.plot(start_x, start_y, 'ok')
-
-
--@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20')
-+@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20',
-+ tol=0.002)
- def test_colormap():
- X, Y, U, V = velocity_field()
- plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index d3b8c5a716..56a1d0a0a4 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -79,7 +79,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
-
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_plot_masked_units():
- data = np.linspace(-5, 5)
- data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 22309afdaf..0b7cea8ac4 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -14,6 +14,7 @@ import matplotlib.pyplot as plt
- pytestmark = needs_usetex
-
-
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
- baseline_images=['test_usetex'],
- extensions=['pdf', 'png'],
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 374b8c721f..77b1d5f4a1 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -335,7 +335,7 @@ def test_zooming_with_inverted_axes():
-
-
- @image_comparison(['anchored_direction_arrows.png'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_anchored_direction_arrows():
- fig, ax = plt.subplots()
- ax.imshow(np.zeros((10, 10)), interpolation='nearest')
---
-2.37.3
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch
deleted file mode 100644
index b90b3d029ed2..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.6.2-test.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-From 889e0a965c40207340e458f72279aa996a21f96e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 3 Nov 2022 05:19:14 +0100
-Subject: [PATCH] Fix tests
-
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py | 6 +++---
- lib/matplotlib/tests/test_backend_pgf.py | 2 +-
- lib/matplotlib/tests/test_colorbar.py | 2 +-
- lib/matplotlib/tests/test_contour.py | 2 +-
- lib/matplotlib/tests/test_figure.py | 2 +-
- lib/matplotlib/tests/test_image.py | 2 +-
- lib/matplotlib/tests/test_legend.py | 6 +++---
- lib/matplotlib/tests/test_lines.py | 3 ++-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 3 ++-
- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
- 12 files changed, 21 insertions(+), 19 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -69,3 +69,3 @@ def __prepare_fancyarrow_dpi_cor_test():
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=100))
-@@ -84,3 +84,3 @@ def test_fancyarrow_dpi_cor_100dpi():
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=200))
-@@ -117,3 +117,3 @@ def test_fancyarrow_dash():
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.005)
-+ tol=0.005)
- def test_arrow_styles():
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 8d6466c749..15ec51e95c 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1033,3 +1033,3 @@ def test_imshow():
-
--@image_comparison(['imshow_clip'], style='mpl20')
-+@image_comparison(['imshow_clip'], style='mpl20', tol=1.24)
- def test_imshow_clip():
-@@ -2342,3 +2342,3 @@ def test_contour_hatching():
-
--@image_comparison(['contour_colorbar'], style='mpl20')
-+@image_comparison(['contour_colorbar'], style='mpl20', tol=0.015)
- def test_contour_colorbar():
-@@ -4625,3 +4625,3 @@ def test_vertex_markers():
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 482bc073a7..faa8cfa5ce 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -81,3 +81,3 @@ def create_figure():
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_xelatex.pdf'], style='default')
-+@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
- def test_xelatex():
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 4336b761f6..421d4455a7 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -235,3 +235,3 @@ def test_colorbar_single_ax_panchor_east(constrained):
-
--@image_comparison(['contour_colorbar.png'], remove_text=True)
-+@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01)
- def test_contour_colorbar():
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 8bf77f0d54..aa9e9cbb7c 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -321,3 +321,3 @@ def test_contourf_log_extension():
- @image_comparison(['contour_addlines.png'],
-- remove_text=True, style='mpl20', tol=0.03)
-+ remove_text=True, style='mpl20', tol=0.2)
- # tolerance is because image changed minutely when tick finding on
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index cc5a3b9ae2..3426d180b4 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -28,3 +28,3 @@ import matplotlib.dates as mdates
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_align_labels():
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index 46dbe4cfe8..cb171e83f8 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1325,3 +1325,3 @@ def test_nonuniform_and_pcolor():
- @image_comparison(["rgba_antialias.png"], style="mpl20",
-- remove_text=True)
-+ remove_text=True, tol=0.005)
- def test_rgba_antialias():
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 16847e0be6..80159952c1 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -120,3 +120,3 @@ def test_multiple_keys():
- @image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rgba():
-@@ -129,3 +129,3 @@ def test_alpha_rgba():
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rcparam():
-@@ -155,3 +155,3 @@ def test_fancy():
- @image_comparison(['framealpha'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.02)
- def test_framealpha():
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index e7002df8a5..e83a90ccb1 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -167,3 +167,4 @@ def test_set_drawstyle():
-
--@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
-+@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
-+ tol=0.62)
- def test_set_line_coll_dash_image():
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index d3b8c5a716..56a1d0a0a4 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -81,3 +81,3 @@ def quantity_converter():
- @image_comparison(['plot_pint.png'], style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
-@@ -108,3 +108,3 @@ def test_numpy_facade(quantity_converter):
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_plot_masked_units():
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 0f01ebaffb..5e44dc8d22 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -16,2 +16,3 @@ pytestmark = needs_usetex
-
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
-@@ -66,3 +67,3 @@ def test_mathdefault():
-
--@image_comparison(['eqnarray.png'])
-+@image_comparison(['eqnarray.png'], tol=23)
- def test_multiline_eqnarray():
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 374b8c721f..77b1d5f4a1 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -337,3 +337,3 @@ def test_zooming_with_inverted_axes():
- @image_comparison(['anchored_direction_arrows.png'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_anchored_direction_arrows():
---
-2.38.1
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
deleted file mode 100644
index 176f2f03c5c9..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 28294f8dc7305707c6e9a481c42416b2fb5714a1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 12 Jan 2023 06:39:23 +0100
-Subject: [PATCH] Increase more tolerances
-
----
- lib/matplotlib/tests/test_lines.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index e83a90ccb1..ddba36333f 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -166,7 +166,7 @@ def test_set_drawstyle():
-
-
- @image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
-- tol=0.62)
-+ tol=0.65)
- def test_set_line_coll_dash_image():
- fig, ax = plt.subplots()
- np.random.seed(0)
---
-2.39.0
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.7.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.7.0-test.patch
deleted file mode 100644
index dc3ed23db44e..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.7.0-test.patch
+++ /dev/null
@@ -1,244 +0,0 @@
-From 52720f5ecf37be3379f7e048cadd8cf9895377ed Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 14 Feb 2023 20:46:30 +0100
-Subject: [PATCH] Adjust tolerances to make tests pass on real hardware
-
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py | 6 +++---
- lib/matplotlib/tests/test_colorbar.py | 2 +-
- lib/matplotlib/tests/test_constrainedlayout.py | 8 ++++----
- lib/matplotlib/tests/test_contour.py | 3 +--
- lib/matplotlib/tests/test_figure.py | 2 +-
- lib/matplotlib/tests/test_image.py | 2 +-
- lib/matplotlib/tests/test_legend.py | 6 +++---
- lib/matplotlib/tests/test_lines.py | 2 +-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 3 ++-
- 11 files changed, 22 insertions(+), 22 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
-
-
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
- """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
-
-
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
- """
-@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
-
-
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.005)
-+ tol=0.005)
- def test_arrow_styles():
- styles = mpatches.ArrowStyle.get_styles()
-
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 8bf6051b3e..fce27f1528 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1034,7 +1034,7 @@ def test_imshow():
-
- @image_comparison(
- ['imshow_clip'], style='mpl20',
-- tol=1.24 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=1.24)
- def test_imshow_clip():
- # As originally reported by Gellule Xg <gellule.xg@free.fr>
- # use former defaults to match existing baseline image
-@@ -2364,7 +2364,7 @@ def test_contour_hatching():
-
- @image_comparison(
- ['contour_colorbar'], style='mpl20',
-- tol=0.02 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.02)
- def test_contour_colorbar():
- x, y, z = contour_dat()
-
-@@ -4704,7 +4704,7 @@ def test_vertex_markers():
-
-
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
- x = list(range(10))
-
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index e39d007378..fa0cb2e72f 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -237,7 +237,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
-
- @image_comparison(
- ['contour_colorbar.png'], remove_text=True,
-- tol=0.01 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.01)
- def test_contour_colorbar():
- fig, ax = plt.subplots(figsize=(4, 2))
- data = np.arange(1200).reshape(30, 40) - 500
-diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
-index b0833052ad..c7633f6842 100644
---- a/lib/matplotlib/tests/test_constrainedlayout.py
-+++ b/lib/matplotlib/tests/test_constrainedlayout.py
-@@ -651,11 +651,11 @@ def test_compressed1():
- fig.draw_without_rendering()
-
- pos = axs[0, 0].get_position()
-- np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
-- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
-+ np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
-+ np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
- pos = axs[1, 2].get_position()
-- np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
-- np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
-+ np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
-+ np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
-
-
- @pytest.mark.parametrize('arg, state', [
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 41d4dc8501..e0f9f5c112 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -316,8 +316,7 @@ def test_contourf_log_extension():
-
- @image_comparison(
- ['contour_addlines.png'], remove_text=True, style='mpl20',
-- tol=0.15 if platform.machine() in ('aarch64', 'ppc64le', 's390x')
-- else 0.03)
-+ tol=0.15)
- # tolerance is because image changed minutely when tick finding on
- # colorbars was cleaned up...
- def test_contour_addlines():
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index f3ece07660..18c95e4a55 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
-
-
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_align_labels():
- fig = plt.figure(layout='tight')
- gs = gridspec.GridSpec(3, 3)
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index 76a622181d..af81d2fc0d 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1339,7 +1339,7 @@ def test_nonuniform_and_pcolor():
-
- @image_comparison(
- ['rgba_antialias.png'], style='mpl20', remove_text=True,
-- tol=0.007 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.007)
- def test_rgba_antialias():
- fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
- sharey=False, constrained_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index a8d7fd107d..2f658bc116 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -174,7 +174,7 @@ def test_multiple_keys():
-
-
- @image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rgba():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -183,7 +183,7 @@ def test_alpha_rgba():
-
-
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rcparam():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -209,7 +209,7 @@ def test_fancy():
-
-
- @image_comparison(['framealpha'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.02)
- def test_framealpha():
- x = np.linspace(1, 100, 100)
- y = x
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index 7eecf5675a..d08cc79172 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -185,7 +185,7 @@ def test_set_drawstyle():
-
- @image_comparison(
- ['line_collection_dashes'], remove_text=True, style='mpl20',
-- tol=0.62 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.65)
- def test_set_line_coll_dash_image():
- fig, ax = plt.subplots()
- np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index 85a63ecc2f..3cfbb260a2 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -79,7 +79,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
-
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_plot_masked_units():
- data = np.linspace(-5, 5)
- data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 0f01ebaffb..5e44dc8d22 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -14,6 +14,7 @@ import matplotlib.pyplot as plt
- pytestmark = needs_usetex
-
-
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
- baseline_images=['test_usetex'],
- extensions=['pdf', 'png'],
-@@ -64,7 +65,7 @@ def test_mathdefault():
- fig.canvas.draw()
-
-
--@image_comparison(['eqnarray.png'])
-+@image_comparison(['eqnarray.png'], tol=23)
- def test_multiline_eqnarray():
- text = (
- r'\begin{eqnarray*}'
---
-2.39.1
-
diff --git a/dev-python/matplotlib/matplotlib-3.6.1.ebuild b/dev-python/matplotlib/matplotlib-3.6.1.ebuild
deleted file mode 100644
index 9c33e0855603..000000000000
--- a/dev-python/matplotlib/matplotlib-3.6.1.ebuild
+++ /dev/null
@@ -1,277 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix toolchain-funcs \
- virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.6.0-test.patch
- )
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
- sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- )
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/matplotlib/matplotlib-3.6.2.ebuild b/dev-python/matplotlib/matplotlib-3.6.2.ebuild
deleted file mode 100644
index 5c8c474ba51d..000000000000
--- a/dev-python/matplotlib/matplotlib-3.6.2.ebuild
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix toolchain-funcs \
- virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.6.2-test.patch
- )
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
- sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- # TODO?
- tests/test_backend_qt.py::test_fig_sigint_override
- )
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/matplotlib/matplotlib-3.6.3.ebuild b/dev-python/matplotlib/matplotlib-3.6.3.ebuild
deleted file mode 100644
index 03f03abb8ddd..000000000000
--- a/dev-python/matplotlib/matplotlib-3.6.3.ebuild
+++ /dev/null
@@ -1,280 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix toolchain-funcs \
- virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI="
- mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.6.2-test.patch
- "${FILESDIR}"/matplotlib-3.6.3-test.patch
- )
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
- sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- # TODO?
- tests/test_backend_qt.py::test_fig_sigint_override
- )
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/matplotlib/matplotlib-3.7.0.ebuild b/dev-python/matplotlib/matplotlib-3.7.0.ebuild
deleted file mode 100644
index 3b74c8223639..000000000000
--- a/dev-python/matplotlib/matplotlib-3.7.0.ebuild
+++ /dev/null
@@ -1,283 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
-inherit toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- $(python_gen_cond_dep '
- dev-python/importlib-resources[${PYTHON_USEDEP}]
- ' 3.9)
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.7.0-test.patch
- )
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
- sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- # TODO?
- tests/test_backend_qt.py::test_fig_sigint_override
- # unhappy about xdist
- tests/test_widgets.py::test_span_selector_animated_artists_callback
- )
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2023-01-12 6:14 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2023-01-12 6:14 UTC (permalink / raw
To: gentoo-commits
commit: 4e288a50eaaa453834259089cb9f89ef11d4b9ba
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 12 05:22:34 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 12 06:13:47 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4e288a50
dev-python/matplotlib: Bump to 3.6.3
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/matplotlib/Manifest | 1 +
.../matplotlib/files/matplotlib-3.6.3-test.patch | 25 ++
dev-python/matplotlib/matplotlib-3.6.3.ebuild | 281 +++++++++++++++++++++
3 files changed, 307 insertions(+)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 30587c3f6ac3..6a671b9518cf 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -2,3 +2,4 @@ DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2
DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670
DIST matplotlib-3.6.1.tar.gz 35826557 BLAKE2B b30710436a773298dcdf233e592656d9815f55f0daab0cc28811b9adbfd3b2ede08f4c13e0dfa43c5fb283bc1ba96ea793084f3d65ba13b9697d14ffa406a273 SHA512 40b148fe4574eea88e7e74c2844a4811c71651602bd7e0a863482571bfa216c01d4f5fcd36add14af82c5cacdb6ae9d441ed251ee5239d06bcc8d40c9ee8841b
DIST matplotlib-3.6.2.tar.gz 35843927 BLAKE2B 22b933b2ca2bfb156ee1592f522da6e7566f279fd6c7ef2d2f5aeb8697fc04085b57ba6bb5f7948572b3e671687b74d6ba9f7def2728b6224fbc98b121281a3c SHA512 51b84a4328a85f674cb44728955fca8bb5b8b702c788158b8bcfc13a44206a5a658ac12ed8f9a5f6ec53ef543395fab4f3871f91013ba1432f3e2b848c36976f
+DIST matplotlib-3.6.3.tar.gz 35868590 BLAKE2B aa511e7d82c41ff2b5622b23847c2e94ed5d400be74eddcdab12ddba8d25bcc1b778c5fb2a29935bca71b76cbf4213088286c9a6a3d085e06036069909ccc1e7 SHA512 844ca90bcc9953d3d1289a6d471180a3dadb49c75eb59858bbbfb67d4b1292b83b86b366f22ab12d9e97c980376d48b86e745607ec4e812a3010c6fec01398dc
diff --git a/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
new file mode 100644
index 000000000000..176f2f03c5c9
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
@@ -0,0 +1,25 @@
+From 28294f8dc7305707c6e9a481c42416b2fb5714a1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 12 Jan 2023 06:39:23 +0100
+Subject: [PATCH] Increase more tolerances
+
+---
+ lib/matplotlib/tests/test_lines.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index e83a90ccb1..ddba36333f 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -166,7 +166,7 @@ def test_set_drawstyle():
+
+
+ @image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
+- tol=0.62)
++ tol=0.65)
+ def test_set_line_coll_dash_image():
+ fig, ax = plt.subplots()
+ np.random.seed(0)
+--
+2.39.0
+
diff --git a/dev-python/matplotlib/matplotlib-3.6.3.ebuild b/dev-python/matplotlib/matplotlib-3.6.3.ebuild
new file mode 100644
index 000000000000..5815c0dee7bc
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.6.3.ebuild
@@ -0,0 +1,281 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic multiprocessing prefix toolchain-funcs \
+ virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+ https://matplotlib.org/
+ https://github.com/matplotlib/matplotlib/
+ https://pypi.org/project/matplotlib/
+"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ >=media-libs/qhull-2013:=
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ )
+ qt5? (
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ )
+ webagg? (
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{8..10})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ >=dev-python/setuptools_scm-7[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ >=app-text/dvipng-1.15-r1
+ >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ >=media-gfx/graphviz-2.42.3[cairo]
+ )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+"
+
+distutils_enable_tests pytest
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use "${1}"; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+ # Affects installed _version.py, bug #854600
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+ "${FILESDIR}"/matplotlib-3.6.2-test.patch
+ "${FILESDIR}"/matplotlib-3.6.3-test.patch
+ )
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+ sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
+
+ hprefixify setupext.py
+
+ rm -rf libqhull || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+ tc-export PKG_CONFIG
+
+ unset DISPLAY # bug #278524
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+ [directories]
+ basedirlist = ${EPREFIX}/usr
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [libs]
+ system_freetype = True
+ system_qhull = True
+ [packages]
+ tests = True
+ [gui_support]
+ agg = True
+ gtk = False
+ gtkagg = False
+ macosx = False
+ pyside = False
+ pysideagg = False
+ qt4 = False
+ qt4agg = False
+ $(use_setup cairo)
+ $(use_setup gtk3)
+ $(use_setup qt5)
+ $(use_setup tk)
+ $(use_setup wxwidgets wx)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+}
+
+wrap_setup() {
+ local MAKEOPTS=-j1
+ local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+ "$@"
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ VARTEXFONTS="${T}"/fonts \
+ emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+ fi
+}
+
+src_test() {
+ mkdir build || die
+ ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by -Wdefault
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+ tests/test_testing.py::test_warn_to_fail
+ # TODO?
+ tests/test_backend_qt.py::test_fig_sigint_override
+ )
+ [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+ # https://github.com/matplotlib/matplotlib/issues/23384
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+ )
+
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+ > "${BUILD_DIR}"/test-setup.cfg || die
+ local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+
+ esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
+ local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+ # speed tests up
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest --pyargs matplotlib -m "not network" \
+ -p xdist.plugin -n "$(makeopts_jobs)" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2022-05-03 10:20 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2022-05-03 10:20 UTC (permalink / raw
To: gentoo-commits
commit: dd9857e36002f18fd68211cf7e523323eb8da121
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May 3 07:02:36 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 3 10:20:00 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd9857e3
dev-python/matplotlib: Bump to 3.5.2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/matplotlib/Manifest | 1 +
.../matplotlib/files/matplotlib-3.5.2-test.patch | 261 ++++++++++++++++++
dev-python/matplotlib/matplotlib-3.5.2.ebuild | 294 +++++++++++++++++++++
3 files changed, 556 insertions(+)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index bcd051ad24c7..d3a94af7e8db 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,3 +1,4 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
DIST matplotlib-3.4.3.tar.gz 37850796 BLAKE2B 15b40da8f6973ece4a91fffb5caf249cb8642263bfc2a784ec482bfaad250b6d3beffb9d2ba8a03e5fa10abab02b0e35728a8499ccb870aca06df57c5c1f91f4 SHA512 c2fe54e7517a1417aa8e55596e83edd090534c07f22882634d6ba0a07196441b5bbdd15958473805d8e8871b1b73380487aff3224294d472cd6122490c783145
DIST matplotlib-3.5.1.tar.gz 35320470 BLAKE2B ebf69b62ac587c61ecf8442abaab302019f63a3c9d8db6f7f7fb32f4d14da554fd8305ea6dfed2ff86a5af4e7e4d2b81f14802692fe50c986f7da8545bd26c00 SHA512 a317dbd748e5fc1fafcf80020cb6d38a8888431487beded97acd59d759e67e54f59506b642e4a03d4351c1ac050d15e3f2e2b5443433debc78ddad52881c8d82
+DIST matplotlib-3.5.2.tar.gz 35210006 BLAKE2B e3f90a0cf1d28f041a8cdd6920a8a4efe16169bb4acf85f7b2562196db306eeb692218728ea33c7b62214e7894e83a104954cbef38c45ccbb4f630bd35c0c36b SHA512 32844dfa85dbc43360c1773d748a58d2ab089111c51c825da62956c778a0eeaf10ca33a5c6c094295388a80d5873a2e1b17484e02b653e9e8e5ba98659329974
diff --git a/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
new file mode 100644
index 000000000000..4b54480c5adf
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
@@ -0,0 +1,261 @@
+From ea4bae5e68e3065ca159ea309a0f3325a06e7f35 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 26 Mar 2021 13:42:49 +0100
+Subject: [PATCH] Increase image comparison limits
+
+Most of the tests require exact match which apparently doesn't always
+happen in non-pristine environments. Some of them have very big
+differences due to texlive font rendering changes.
+---
+ lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
+ lib/matplotlib/tests/test_axes.py | 4 ++--
+ lib/matplotlib/tests/test_backend_pgf.py | 2 +-
+ lib/matplotlib/tests/test_colorbar.py | 2 +-
+ lib/matplotlib/tests/test_contour.py | 2 +-
+ lib/matplotlib/tests/test_figure.py | 5 +++--
+ lib/matplotlib/tests/test_image.py | 2 +-
+ lib/matplotlib/tests/test_legend.py | 6 +++---
+ lib/matplotlib/tests/test_lines.py | 3 ++-
+ lib/matplotlib/tests/test_streamplot.py | 3 ++-
+ lib/matplotlib/tests/test_units.py | 4 ++--
+ lib/matplotlib/tests/test_usetex.py | 1 +
+ lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
+ 13 files changed, 23 insertions(+), 19 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index 8d573b4adb..dfc42efcb9 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+ """
+@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+ """
+@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
+
+
+ @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.005)
++ tol=0.005)
+ def test_arrow_styles():
+ styles = mpatches.ArrowStyle.get_styles()
+
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index eb4c34382b..cca73a23f9 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -918,7 +918,7 @@ def test_imshow():
+ ax.imshow("r", data=data)
+
+
+-@image_comparison(['imshow_clip'], style='mpl20')
++@image_comparison(['imshow_clip'], style='mpl20', tol=1.24)
+ def test_imshow_clip():
+ # As originally reported by Gellule Xg <gellule.xg@free.fr>
+ # use former defaults to match existing baseline image
+@@ -4231,7 +4231,7 @@ def test_vertex_markers():
+
+
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
+ def test_eb_line_zorder():
+ x = list(range(10))
+
+diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
+index 9b5b0b28ee..a374be0333 100644
+--- a/lib/matplotlib/tests/test_backend_pgf.py
++++ b/lib/matplotlib/tests/test_backend_pgf.py
+@@ -80,7 +80,7 @@ def test_common_texification(plain_text, escaped_text):
+ # test compiling a figure to pdf with xelatex
+ @needs_xelatex
+ @pytest.mark.backend('pgf')
+-@image_comparison(['pgf_xelatex.pdf'], style='default')
++@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
+ def test_xelatex():
+ rc_xelatex = {'font.family': 'serif',
+ 'pgf.rcfonts': False}
+diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
+index 304056f6d1..9934bac550 100644
+--- a/lib/matplotlib/tests/test_colorbar.py
++++ b/lib/matplotlib/tests/test_colorbar.py
+@@ -218,7 +218,7 @@ def test_colorbar_single_ax_panchor_false():
+ plt.colorbar(panchor=False)
+
+
+-@image_comparison(['contour_colorbar.png'], remove_text=True)
++@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01)
+ def test_contour_colorbar():
+ fig, ax = plt.subplots(figsize=(4, 2))
+ data = np.arange(1200).reshape(30, 40) - 500
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index 10fb011166..f49fb25dc8 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -345,7 +345,7 @@ def test_contourf_log_extension():
+
+
+ @image_comparison(['contour_addlines.png'],
+- remove_text=True, style='mpl20', tol=0.03)
++ remove_text=True, style='mpl20', tol=0.1)
+ # tolerance is because image changed minutely when tick finding on
+ # colorbars was cleaned up...
+ def test_contour_addlines():
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index 1e076bd64f..11c2668d33 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -23,7 +23,7 @@ import matplotlib.gridspec as gridspec
+
+
+ @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_align_labels():
+ fig = plt.figure(tight_layout=True)
+ gs = gridspec.GridSpec(3, 3)
+@@ -1124,7 +1124,8 @@ def test_subfigure_tightbbox():
+
+ @image_comparison(['test_subfigure_ss.png'], style='mpl20',
+ savefig_kwarg={'facecolor': 'teal'},
+- remove_text=False)
++ remove_text=False,
++ tol=0.013)
+ def test_subfigure_ss():
+ # test assigning the subfigure via subplotspec
+ np.random.seed(19680801)
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index 719b190578..ee2263a88e 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -1324,7 +1324,7 @@ def test_nonuniform_and_pcolor():
+
+
+ @image_comparison(["rgba_antialias.png"], style="mpl20",
+- remove_text=True)
++ remove_text=True, tol=0.005)
+ def test_rgba_antialias():
+ fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
+ sharey=False, constrained_layout=True)
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index fe8a8dd5f6..43fbda8ab0 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -102,7 +102,7 @@ def test_multiple_keys():
+
+
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_alpha_rgba():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -111,7 +111,7 @@ def test_alpha_rgba():
+
+
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_alpha_rcparam():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -137,7 +137,7 @@ def test_fancy():
+
+
+ @image_comparison(['framealpha'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.02)
+ def test_framealpha():
+ x = np.linspace(1, 100, 100)
+ y = x
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index f6917a134b..4a14abb74d 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -162,7 +162,8 @@ def test_set_drawstyle():
+ assert len(line.get_path().vertices) == len(x)
+
+
+-@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
++@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
++ tol=0.58)
+ def test_set_line_coll_dash_image():
+ fig, ax = plt.subplots()
+ np.random.seed(0)
+diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
+index c8824feb06..081e8c0559 100644
+--- a/lib/matplotlib/tests/test_streamplot.py
++++ b/lib/matplotlib/tests/test_streamplot.py
+@@ -34,7 +34,8 @@ def test_startpoints():
+ plt.plot(start_x, start_y, 'ok')
+
+
+-@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20')
++@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20',
++ tol=0.002)
+ def test_colormap():
+ X, Y, U, V = velocity_field()
+ plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index a6f6b44c97..ab5ad8b5cf 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -76,7 +76,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
+ def test_numpy_facade(quantity_converter):
+ # use former defaults to match existing baseline image
+ plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -103,7 +103,7 @@ def test_numpy_facade(quantity_converter):
+
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_plot_masked_units():
+ data = np.linspace(-5, 5)
+ data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 12557cf847..25b65ead67 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -11,6 +11,7 @@ if not mpl.checkdep_usetex(True):
+ pytestmark = pytest.mark.skip('Missing TeX of Ghostscript or dvipng')
+
+
++@pytest.mark.skip(reason="TODO: broken")
+ @image_comparison(
+ baseline_images=['test_usetex'],
+ extensions=['pdf', 'png'],
+diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
+index f8902ca72f..323579b8b6 100644
+--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
+@@ -336,7 +336,7 @@ def test_zooming_with_inverted_axes():
+
+
+ @image_comparison(['anchored_direction_arrows.png'],
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_anchored_direction_arrows():
+ fig, ax = plt.subplots()
+ ax.imshow(np.zeros((10, 10)), interpolation='nearest')
+--
+2.35.1
+
diff --git a/dev-python/matplotlib/matplotlib-3.5.2.ebuild b/dev-python/matplotlib/matplotlib-3.5.2.ebuild
new file mode 100644
index 000000000000..b34037d20297
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.5.2.ebuild
@@ -0,0 +1,294 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+ https://matplotlib.org/
+ https://github.com/matplotlib/matplotlib/
+ https://pypi.org/project/matplotlib/
+"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ >=media-libs/qhull-2013:=
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ )
+ qt5? (
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ )
+ webagg? (
+ >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ >=app-text/dvipng-1.15-r1
+ >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ >=media-gfx/graphviz-2.42.3[cairo]
+ )
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+"
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+distutils_enable_tests pytest
+
+pkg_setup() {
+ unset DISPLAY # bug #278524
+}
+
+use_supported() {
+ case ${1} in
+ wxwidgets)
+ [[ ${EPYTHON} == python3.[678] ]]
+ ;;
+ esac
+
+ return 0
+}
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use_supported "${1}" && use "${1}"; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+# cat > lib/${PN}/externals/six.py <<-EOF
+# from __future__ import absolute_import
+# from six import *
+# EOF
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+ "${FILESDIR}"/matplotlib-3.5.2-test.patch
+ )
+
+ # requires jupyter-nbconvert
+ rm lib/matplotlib/tests/test_backend_nbagg.py || die
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+
+ sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
+ -i lib/matplotlib/tests/test_*.py || die
+
+ hprefixify setupext.py
+
+ rm -rf libqhull || die
+
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+ tc-export PKG_CONFIG
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+ [directories]
+ basedirlist = ${EPREFIX}/usr
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [libs]
+ system_freetype = True
+ system_qhull = True
+ [packages]
+ tests = $(usex test True False)
+ [gui_support]
+ agg = True
+ gtk = False
+ gtkagg = False
+ macosx = False
+ pyside = False
+ pysideagg = False
+ qt4 = False
+ qt4agg = False
+ $(use_setup cairo)
+ $(use_setup gtk3)
+ $(use_setup qt5)
+ $(use_setup tk)
+ $(use_setup wxwidgets wx)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+}
+
+wrap_setup() {
+ local MAKEOPTS=-j1
+ local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+ "$@"
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ # necessary for in-source build
+ local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+ VARTEXFONTS="${T}"/fonts \
+ emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+ > "${BUILD_DIR}"/test-setup.cfg || die
+ local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+ ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
+ distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
+ local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+ "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
+}
+
+python_install() {
+ wrap_setup distutils-r1_python_install
+
+ # mpl_toolkits namespace
+ python_moduleinto mpl_toolkits
+ python_domodule lib/mpl_toolkits/__init__.py
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ find "${D}" -name '*.pth' -delete || die
+}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2021-09-07 7:10 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2021-09-07 7:10 UTC (permalink / raw
To: gentoo-commits
commit: 04c7991ef9a7e1619f387a6600abaea808f41aa7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 7 05:14:38 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 7 07:10:27 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04c7991e
dev-python/matplotlib: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/matplotlib/Manifest | 3 -
.../matplotlib/files/matplotlib-3.3.0-test.patch | 225 ----------------
| 25 --
| 12 -
dev-python/matplotlib/matplotlib-3.3.4.ebuild | 282 ---------------------
dev-python/matplotlib/matplotlib-3.4.0.ebuild | 280 --------------------
dev-python/matplotlib/matplotlib-3.4.1.ebuild | 279 --------------------
7 files changed, 1106 deletions(-)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 39a8b399b75..64a5e12872c 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,6 +1,3 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.3.4.tar.gz 37941665 BLAKE2B 77b86dc3ceec3695a0d749197bcec684893d237da1aaf8778d9dc2038da1ba56b757bbce94efcf215ac30f35420b77e0a0e75ebb75b6d2cde5146d8a35ee25e7 SHA512 aadfe3db4edde9940b9e15daf1b6c5f237d3a6f38610956ceee994f919d711fce818ea12be4db18aa2a8638c4e8f434d79541fecaa7233e233bf4c73792bc4c4
-DIST matplotlib-3.4.0.tar.gz 37142983 BLAKE2B 64b23d5b9e93e6b319674cea06d0ad425def952e50e7cb163ae91ae0d4460872bb329144271472b7dc2d0ab0a742c9c93ea735dca60ee4b4aa569cb4350cca0b SHA512 880c1e1027c819a34f5528b96d1b730cdd6541aa23931aef4185406ecec971ec2f4c8ca374eced56e654e016652472f7abcd0aae977dd4f327b8c511983a2a1d
-DIST matplotlib-3.4.1.tar.gz 37253296 BLAKE2B e1dfd1b0d8bb0d3ed13ac03a5b3112a237c4b7ef3c82694ad6779c810bbd94c165bde88d00fad270d5da6e269d778b33f276620b51e1f134fa2c5b9dcb0a4f28 SHA512 076510ddd152a395fabb76aa47566e9b75f3c8ba3c5246b39229b20fbfc209d4bbdfd441271b22e364f0974963309c02bdd0519fc2a7e8a406afc462f69246b6
DIST matplotlib-3.4.2.tar.gz 37308683 BLAKE2B b769244b3d7a7da9125f6b634e9340676d849322491390d1c9a0cec3dfce59a8b5b5c0b567575ae78212129f7303b6b1fbbf30ce7c8a23c43c1304e83c9c5f5e SHA512 d4798dd2d6c857db0fe6d4ec85ebabc028b78627311bab17f7b9b30f6aa61d5243114b1cfe9d83293ad66ae47df83add5272f032954990dfc04054a792049f2a
DIST matplotlib-3.4.3.tar.gz 37850796 BLAKE2B 15b40da8f6973ece4a91fffb5caf249cb8642263bfc2a784ec482bfaad250b6d3beffb9d2ba8a03e5fa10abab02b0e35728a8499ccb870aca06df57c5c1f91f4 SHA512 c2fe54e7517a1417aa8e55596e83edd090534c07f22882634d6ba0a07196441b5bbdd15958473805d8e8871b1b73380487aff3224294d472cd6122490c783145
diff --git a/dev-python/matplotlib/files/matplotlib-3.3.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.3.0-test.patch
deleted file mode 100644
index c7ce64b9b3b..00000000000
--- a/dev-python/matplotlib/files/matplotlib-3.3.0-test.patch
+++ /dev/null
@@ -1,225 +0,0 @@
-From 2fa4f25b9db19a1f59b03d56221c4752c03912fb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 7 Jun 2020 20:02:48 +0200
-Subject: [PATCH] Increase image comparison limits
-
-Most of the tests require exact match which apparently doesn't always
-happen in non-pristine environments. Some of them have very big
-differences due to texlive font rendering changes.
----
- lib/matplotlib/tests/test_arrow_patches.py | 4 ++--
- lib/matplotlib/tests/test_axes.py | 2 +-
- lib/matplotlib/tests/test_backend_pgf.py | 8 +++++---
- lib/matplotlib/tests/test_figure.py | 2 +-
- lib/matplotlib/tests/test_legend.py | 6 +++---
- lib/matplotlib/tests/test_pickle.py | 2 +-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 3 ++-
- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
- .../tests/test_axisartist_grid_helper_curvelinear.py | 2 +-
- lib/mpl_toolkits/tests/test_mplot3d.py | 2 +-
- 11 files changed, 20 insertions(+), 17 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index cca505ab9..871935c15 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
-
-
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
- """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
-
-
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
- """
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 6eedf20d5..198ed41ec 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -3718,7 +3718,7 @@ def test_vertex_markers():
-
-
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
- x = list(range(10))
-
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 702cc6c35..71038e702 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -114,7 +114,8 @@ def test_xelatex():
- # test compiling a figure to pdf with pdflatex
- @needs_pdflatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_pdflatex.pdf'], style='default')
-+@image_comparison(['pgf_pdflatex.pdf'], style='default',
-+ tol=11.669)
- def test_pdflatex():
- if os.environ.get('APPVEYOR', False):
- pytest.xfail("pdflatex test does not work on appveyor due to missing "
-@@ -151,7 +152,7 @@ def test_rcupdate():
- 'pgf.preamble': ('\\usepackage[utf8x]{inputenc}'
- '\\usepackage[T1]{fontenc}'
- '\\usepackage{sfmath}')}]
-- tol = [6, 0]
-+ tol = [6, 14]
- for i, rc_set in enumerate(rc_sets):
- with mpl.rc_context(rc_set):
- create_figure()
-@@ -178,7 +179,8 @@ def test_pathclip():
- # test mixed mode rendering
- @needs_xelatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_mixedmode.pdf'], style='default')
-+@image_comparison(['pgf_mixedmode.pdf'], style='default',
-+ tol=1.086)
- def test_mixedmode():
- rc_xelatex = {'font.family': 'serif',
- 'pgf.rcfonts': False}
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index aab35201c..a657198f7 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -22,7 +22,7 @@ import pytest
-
-
- @image_comparison(['figure_align_labels'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_align_labels():
- fig = plt.figure(tight_layout=True)
- gs = gridspec.GridSpec(3, 3)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 8e9c0771f..d1fb3818a 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -105,7 +105,7 @@ def test_multiple_keys():
-
-
- @image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rgba():
- fig, ax = plt.subplots(1, 1)
- ax.plot(range(10), lw=5)
-@@ -114,7 +114,7 @@ def test_alpha_rgba():
-
-
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rcparam():
- fig, ax = plt.subplots(1, 1)
- ax.plot(range(10), lw=5)
-@@ -140,7 +140,7 @@ def test_fancy():
-
-
- @image_comparison(['framealpha'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.02)
- def test_framealpha():
- x = np.linspace(1, 100, 100)
- y = x
-diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py
-index 82bf4d8e8..13046357a 100644
---- a/lib/matplotlib/tests/test_pickle.py
-+++ b/lib/matplotlib/tests/test_pickle.py
-@@ -41,7 +41,7 @@ def test_simple():
-
-
- @image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.082)
-+ tol=0.082)
- def test_complete():
- fig = plt.figure('Figure with a label?', figsize=(10, 6))
-
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index 252136b4d..f0e7ced31 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -74,7 +74,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -101,7 +101,7 @@ def test_numpy_facade(quantity_converter):
-
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_plot_masked_units():
- data = np.linspace(-5, 5)
- data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 25006f174..694a510e7 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -13,7 +13,8 @@ if not mpl.checkdep_usetex(True):
- @image_comparison(
- baseline_images=['test_usetex'],
- extensions=['pdf', 'png'],
-- style="mpl20")
-+ style="mpl20",
-+ tol=21)
- def test_usetex():
- mpl.rcParams['text.usetex'] = True
- fig = plt.figure()
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 96830441e..c403b0bf2 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -331,7 +331,7 @@ def test_zooming_with_inverted_axes():
-
-
- @image_comparison(['anchored_direction_arrows.png'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_anchored_direction_arrows():
- fig, ax = plt.subplots()
- ax.imshow(np.zeros((10, 10)), interpolation='nearest')
-diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-index 05534869a..6e7053722 100644
---- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
-
-
- @image_comparison(['custom_transform.png'], style='default',
-- tol=0.03 if platform.machine() == 'x86_64' else 0.034)
-+ tol=0.034)
- def test_custom_transform():
- class MyTransform(Transform):
- input_dims = output_dims = 2
-diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
-index 37532335e..5a2645235 100644
---- a/lib/mpl_toolkits/tests/test_mplot3d.py
-+++ b/lib/mpl_toolkits/tests/test_mplot3d.py
-@@ -287,7 +287,7 @@ def test_marker_draw_order_view_rotated(fig_test, fig_ref):
- ax.view_init(elev=0, azim=azim - 180) # view rotated by 180 degrees
-
-
--@mpl3d_image_comparison(['plot_3d_from_2d.png'], tol=0.01)
-+@mpl3d_image_comparison(['plot_3d_from_2d.png'], tol=0.012)
- def test_plot_3d_from_2d():
- fig = plt.figure()
- ax = fig.add_subplot(111, projection='3d')
---
-2.27.0
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch b/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch
deleted file mode 100644
index 1fff166295b..00000000000
--- a/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5d2f40b312966c08436b4495980313f2dacd9750 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 15 Sep 2020 23:48:05 +0200
-Subject: [PATCH] Increase tolerance for test_transparent_markers
-
----
- lib/matplotlib/tests/test_axes.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 412dd2471..52a32f9f1 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -3500,7 +3500,7 @@ def test_hist_labels():
- assert l[2][0].get_label() == '00'
-
-
--@image_comparison(['transparent_markers'], remove_text=True)
-+@image_comparison(['transparent_markers'], remove_text=True, tol=5)
- def test_transparent_markers():
- np.random.seed(0)
- data = np.random.random(50)
---
-2.28.0
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch b/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch
deleted file mode 100644
index 0c62334086a..00000000000
--- a/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -dupr a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
---- a/lib/mpl_toolkits/tests/test_mplot3d.py 2021-01-29 10:43:01.196582153 +0100
-+++ b/lib/mpl_toolkits/tests/test_mplot3d.py 2021-01-29 10:44:36.084875177 +0100
-@@ -150,7 +150,7 @@ def test_contourf3d_fill():
- ax.set_zlim(-1, 1)
-
-
--@mpl3d_image_comparison(['tricontour.png'])
-+@mpl3d_image_comparison(['tricontour.png'], tol=0.02)
- def test_tricontour():
- fig = plt.figure()
-
diff --git a/dev-python/matplotlib/matplotlib-3.3.4.ebuild b/dev-python/matplotlib/matplotlib-3.3.4.ebuild
deleted file mode 100644
index 9e754ff8b2d..00000000000
--- a/dev-python/matplotlib/matplotlib-3.3.4.ebuild
+++ /dev/null
@@ -1,282 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
- dev-python/python-dateutil:0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
- dev-python/versioneer[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{6,7,8})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
- unset DISPLAY # bug #278524
-}
-
-use_supported() {
- case ${1} in
- wxwidgets)
- [[ ${EPYTHON} == python3.[678] ]]
- ;;
- esac
-
- return 0
-}
-
-use_setup() {
- local uword="${2:-${1}}"
- if use_supported "${1}" && use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
-# cat > lib/${PN}/externals/six.py <<-EOF
-# from __future__ import absolute_import
-# from six import *
-# EOF
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.0-test.patch
- "${FILESDIR}"/matplotlib-3.3.2-test-extra.patch
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.3.4-test-extra.patch
- )
-
- # requires jupyter-nbconvert
- rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
-
- sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
- -i lib/matplotlib/tests/test_*.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = $(usex test True False)
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- # necessary for in-source build
- local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
- ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
- distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
-}
-
-python_install() {
- wrap_setup distutils-r1_python_install
-
- # mpl_toolkits namespace
- python_moduleinto mpl_toolkits
- python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- find "${D}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/matplotlib/matplotlib-3.4.0.ebuild b/dev-python/matplotlib/matplotlib-3.4.0.ebuild
deleted file mode 100644
index 70fc4ea111b..00000000000
--- a/dev-python/matplotlib/matplotlib-3.4.0.ebuild
+++ /dev/null
@@ -1,280 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
- dev-python/versioneer[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{6,7,8})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
- unset DISPLAY # bug #278524
-}
-
-use_supported() {
- case ${1} in
- wxwidgets)
- [[ ${EPYTHON} == python3.[678] ]]
- ;;
- esac
-
- return 0
-}
-
-use_setup() {
- local uword="${2:-${1}}"
- if use_supported "${1}" && use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
-# cat > lib/${PN}/externals/six.py <<-EOF
-# from __future__ import absolute_import
-# from six import *
-# EOF
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.4.0-test.patch
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- )
-
- # requires jupyter-nbconvert
- rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
-
- sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
- -i lib/matplotlib/tests/test_*.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = $(usex test True False)
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- # necessary for in-source build
- local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
- ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
- distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
-}
-
-python_install() {
- wrap_setup distutils-r1_python_install
-
- # mpl_toolkits namespace
- python_moduleinto mpl_toolkits
- python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- find "${D}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/matplotlib/matplotlib-3.4.1.ebuild b/dev-python/matplotlib/matplotlib-3.4.1.ebuild
deleted file mode 100644
index a145e84f8c2..00000000000
--- a/dev-python/matplotlib/matplotlib-3.4.1.ebuild
+++ /dev/null
@@ -1,279 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~sparc ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
- dev-python/versioneer[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
- unset DISPLAY # bug #278524
-}
-
-use_supported() {
- case ${1} in
- wxwidgets)
- [[ ${EPYTHON} == python3.[678] ]]
- ;;
- esac
-
- return 0
-}
-
-use_setup() {
- local uword="${2:-${1}}"
- if use_supported "${1}" && use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
-# cat > lib/${PN}/externals/six.py <<-EOF
-# from __future__ import absolute_import
-# from six import *
-# EOF
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.4.0-test.patch
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.4.1-xelatex-test.patch
- )
-
- # requires jupyter-nbconvert
- rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
-
- sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
- -i lib/matplotlib/tests/test_*.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = $(usex test True False)
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- # necessary for in-source build
- local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
- ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
- distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
-}
-
-python_install() {
- wrap_setup distutils-r1_python_install
-
- # mpl_toolkits namespace
- python_moduleinto mpl_toolkits
- python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- find "${D}" -name '*.pth' -delete || die
-}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2021-02-25 13:24 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2021-02-25 13:24 UTC (permalink / raw
To: gentoo-commits
commit: c26e6df60b8a229041d980037b501a215b10e947
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 25 11:45:39 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Feb 25 13:24:52 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c26e6df6
dev-python/matplotlib: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/matplotlib/Manifest | 3 -
.../matplotlib/files/matplotlib-3.1.2-qhull.patch | 20 -
.../matplotlib/files/matplotlib-3.2.2-test.patch | 419 ---------------------
dev-python/matplotlib/matplotlib-3.2.2-r2.ebuild | 271 -------------
dev-python/matplotlib/matplotlib-3.3.0-r1.ebuild | 275 --------------
dev-python/matplotlib/matplotlib-3.3.2.ebuild | 277 --------------
6 files changed, 1265 deletions(-)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index f00b711f586..e3c0efed072 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,6 +1,3 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.2.2.tar.gz 40295831 BLAKE2B 32fb34b95d1df928f949fd7b04909da2494b56efbe543f75bffedf1d9d85a0089a50cd27b82a28ac75361b56fe3f2a6c95b7d9e777778ce46f1d2805e5dae9df SHA512 4b8080fddc717f311a87b6ef1a279304da2931ef2d6de85688c153f14da5009351f42d9533c44695ca43ce1496bb642927aca822a7946a2d50d40a7d25224b31
-DIST matplotlib-3.3.0.tar.gz 38782487 BLAKE2B 97330d93b8d8a64a1296ccb173e44ebcc54c61e22aacdd73cc38a46fb2d22fbfe7334fb3c6993be001c475724c47f530243affddd71ec647232ac093db6e3135 SHA512 2ffd9e79e300a37092ab4b5a7156c2f57e408975818abd413c74477ad622030c7636695467aab821c9996564cddec57e26ba6a8004f6639070964fcb7a510a75
-DIST matplotlib-3.3.2.tar.gz 37939974 BLAKE2B f28e184a0fccd4192ba8135b70569bf463d08cae0f4eb8e7f997f417cb947500a9fe46eb5f979473b4d7d22c0ad03ab55aba4067082c86f63eacbf837b8606ad SHA512 cae68e63d879bcfb41b25df4de48472461f7987403d42d34c7205a65ed3ef567660309c04d2a55e155fbe1ef708fd9de0b0d66e71578f34c3ee93379c4ea1e1a
DIST matplotlib-3.3.3.tar.gz 37944403 BLAKE2B 30358d7b7df87b0b15724c4eeb132acdacf31ac900d5c06b22c7ebc7217d6cabcc76b7e29cea6af0b4711b5b1724ce34dd065f63cabcfd40c0fcf9788f94c1fe SHA512 36b482a6c36ee08c47f3c02c160289bbdec8746d4d246084723bd3e1fd632c6383f6db58c950a9773a6993d10f24dacd870a91faafc34864616288cd05b6232c
DIST matplotlib-3.3.4.tar.gz 37941665 BLAKE2B 77b86dc3ceec3695a0d749197bcec684893d237da1aaf8778d9dc2038da1ba56b757bbce94efcf215ac30f35420b77e0a0e75ebb75b6d2cde5146d8a35ee25e7 SHA512 aadfe3db4edde9940b9e15daf1b6c5f237d3a6f38610956ceee994f919d711fce818ea12be4db18aa2a8638c4e8f434d79541fecaa7233e233bf4c73792bc4c4
diff --git a/dev-python/matplotlib/files/matplotlib-3.1.2-qhull.patch b/dev-python/matplotlib/files/matplotlib-3.1.2-qhull.patch
deleted file mode 100644
index e02e03e65ed..00000000000
--- a/dev-python/matplotlib/files/matplotlib-3.1.2-qhull.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: matplotlib-3.1.2/setupext.py
-===================================================================
---- matplotlib-3.1.2.orig/setupext.py
-+++ matplotlib-3.1.2/setupext.py
-@@ -839,14 +839,7 @@ class Qhull(SetupPackage):
- name = "qhull"
-
- def add_flags(self, ext):
-- # Qhull doesn't distribute pkg-config info, so we have no way of
-- # knowing whether a system install is recent enough. Thus, always use
-- # the vendored version.
-- ext.include_dirs.insert(0, 'extern')
-- ext.sources.extend(sorted(glob.glob('extern/libqhull/*.c')))
-- if sysconfig.get_config_var('LIBM') == '-lm':
-- ext.libraries.extend('m')
--
-+ ext.libraries.extend(['qhull'])
-
- class TTConv(SetupPackage):
- name = "ttconv"
diff --git a/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch
deleted file mode 100644
index 13755eaa33e..00000000000
--- a/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch
+++ /dev/null
@@ -1,419 +0,0 @@
-From 7a65dfda781777872083623595c27dc1174b2ed7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 7 Jun 2020 20:02:48 +0200
-Subject: [PATCH 1/2] Increase image comparison limits
-
-Most of the tests require exact match which apparently doesn't always
-happen in non-pristine environments. Some of them have very big
-differences due to texlive font rendering changes.
----
- lib/matplotlib/tests/test_arrow_patches.py | 4 ++--
- lib/matplotlib/tests/test_axes.py | 2 +-
- lib/matplotlib/tests/test_backend_pgf.py | 7 ++++---
- lib/matplotlib/tests/test_figure.py | 2 +-
- lib/matplotlib/tests/test_legend.py | 6 +++---
- lib/matplotlib/tests/test_pickle.py | 2 +-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 3 ++-
- lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
- .../tests/test_axisartist_grid_helper_curvelinear.py | 2 +-
- 10 files changed, 18 insertions(+), 16 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index a9409e2c1..0e356e921 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
-
-
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
-+ tol={'aarch64': 0.02}.get(platform.machine(), 0.015),
- savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
- """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
-
-
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
-+ tol={'aarch64': 0.02}.get(platform.machine(), 0.018),
- savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
- """
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 75636301d..af057d598 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -3673,7 +3673,7 @@ def test_vertex_markers():
-
-
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol={'aarch64': 0.02}.get(platform.machine(), 0.015))
- def test_eb_line_zorder():
- x = list(range(10))
-
-diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
-index 7843b4101..ddb2991c1 100644
---- a/lib/matplotlib/tests/test_backend_pgf.py
-+++ b/lib/matplotlib/tests/test_backend_pgf.py
-@@ -97,7 +97,8 @@ def test_xelatex():
- # test compiling a figure to pdf with pdflatex
- @needs_pdflatex
- @pytest.mark.backend('pgf')
--@image_comparison(['pgf_pdflatex.pdf'], style='default')
-+@image_comparison(['pgf_pdflatex.pdf'], style='default',
-+ tol=11.669)
- def test_pdflatex():
- if os.environ.get('APPVEYOR', False):
- pytest.xfail("pdflatex test does not work on appveyor due to missing "
-@@ -133,7 +134,7 @@ def test_rcupdate():
- 'pgf.preamble': ['\\usepackage[utf8x]{inputenc}',
- '\\usepackage[T1]{fontenc}',
- '\\usepackage{sfmath}']}]
-- tol = [6, 0]
-+ tol = [6, 14]
- for i, rc_set in enumerate(rc_sets):
- with mpl.rc_context(rc_set):
- create_figure()
-@@ -161,7 +162,7 @@ def test_pathclip():
- @needs_xelatex
- @pytest.mark.backend('pgf')
- @image_comparison(['pgf_mixedmode.pdf'], style='default',
-- tol={'aarch64': 1.086}.get(platform.machine(), 0.0))
-+ tol=1.086)
- def test_mixedmode():
- rc_xelatex = {'font.family': 'serif',
- 'pgf.rcfonts': False}
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index b5ca0ed5b..885afa5f8 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -14,7 +14,7 @@ import pytest
-
-
- @image_comparison(['figure_align_labels'],
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.02)
- def test_align_labels():
- # Check the figure.align_labels() command
- fig = plt.figure(tight_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 71499da44..a8bda6e84 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -106,7 +106,7 @@ def test_multiple_keys():
-
-
- @image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.02)
- def test_alpha_rgba():
- import matplotlib.pyplot as plt
-
-@@ -117,7 +117,7 @@ def test_alpha_rgba():
-
-
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.02)
- def test_alpha_rcparam():
- import matplotlib.pyplot as plt
-
-@@ -145,7 +145,7 @@ def test_fancy():
-
-
- @image_comparison(['framealpha'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.02)
- def test_framealpha():
- x = np.linspace(1, 100, 100)
- y = x
-diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py
-index 0fad3cdf2..4d2599607 100644
---- a/lib/matplotlib/tests/test_pickle.py
-+++ b/lib/matplotlib/tests/test_pickle.py
-@@ -41,7 +41,7 @@ def test_simple():
-
-
- @image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20',
-- tol={'aarch64': 0.082}.get(platform.machine(), 0.0))
-+ tol=0.082)
- def test_complete():
- fig = plt.figure('Figure with a label?', figsize=(10, 6))
-
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index f14425144..7f744da47 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -74,7 +74,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol={'aarch64': 0.02}.get(platform.machine(), 0.002))
- def test_numpy_facade(quantity_converter):
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -101,7 +101,7 @@ def test_numpy_facade(quantity_converter):
-
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.02)
- def test_plot_masked_units():
- data = np.linspace(-5, 5)
- data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index ec693288e..8af6b69eb 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -15,7 +15,8 @@ if not mpl.checkdep_usetex(True):
- @image_comparison(
- baseline_images=['test_usetex'],
- extensions=['pdf', 'png'],
-- style="mpl20")
-+ style="mpl20",
-+ tol=21)
- def test_usetex():
- mpl.rcParams['text.usetex'] = True
- fig = plt.figure()
-diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
-index 9ed9a9280..56a3bd14a 100644
---- a/lib/mpl_toolkits/tests/test_axes_grid1.py
-+++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
-@@ -343,7 +343,7 @@ def test_zooming_with_inverted_axes():
-
-
- @image_comparison(['anchored_direction_arrows.png'],
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ tol=0.02)
- def test_anchored_direction_arrows():
- fig, ax = plt.subplots()
- ax.imshow(np.zeros((10, 10)), interpolation='nearest')
-diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-index 611908063..dc294aef5 100644
---- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-+++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
-@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
-
-
- @image_comparison(['custom_transform.png'], style='default',
-- tol={'aarch64': 0.034}.get(platform.machine(), 0.03))
-+ tol=0.034)
- def test_custom_transform():
- class MyTransform(Transform):
- input_dims = 2
---
-2.27.0
-
-From 506611e80a4fd12b3f633583d20119fc2f096ba7 Mon Sep 17 00:00:00 2001
-From: Antony Lee <anntzer.lee@gmail.com>
-Date: Tue, 10 Dec 2019 11:18:24 +0100
-Subject: [PATCH 2/2] Rewrite test_cycles to avoid image comparison tests.
-
-They can all be reasonably written by checking the artist properties.
----
- lib/matplotlib/tests/test_cycles.py | 141 ++++++++++------------------
- 1 file changed, 51 insertions(+), 90 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
-index ee67b4e41..a340b6166 100644
---- a/lib/matplotlib/tests/test_cycles.py
-+++ b/lib/matplotlib/tests/test_cycles.py
-@@ -1,6 +1,4 @@
--import platform
--
--from matplotlib.testing.decorators import image_comparison
-+import matplotlib as mpl
- import matplotlib.pyplot as plt
- import numpy as np
- import pytest
-@@ -8,133 +6,96 @@ import pytest
- from cycler import cycler
-
-
--@image_comparison(['color_cycle_basic.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
- def test_colorcycle_basic():
- fig, ax = plt.subplots()
- ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']))
-- xs = np.arange(10)
-- ys = 0.25 * xs + 2
-- ax.plot(xs, ys, label='red', lw=4)
-- ys = 0.45 * xs + 3
-- ax.plot(xs, ys, label='green', lw=4)
-- ys = 0.65 * xs + 4
-- ax.plot(xs, ys, label='yellow', lw=4)
-- ys = 0.85 * xs + 5
-- ax.plot(xs, ys, label='red2', lw=4)
-- ax.legend(loc='upper left')
--
--
--@image_comparison(['marker_cycle.png', 'marker_cycle.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ for _ in range(4):
-+ ax.plot(range(10), range(10))
-+ assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
-+
-+
- def test_marker_cycle():
- fig, ax = plt.subplots()
- ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
- cycler('marker', ['.', '*', 'x']))
-- xs = np.arange(10)
-- ys = 0.25 * xs + 2
-- ax.plot(xs, ys, label='red dot', lw=4, ms=16)
-- ys = 0.45 * xs + 3
-- ax.plot(xs, ys, label='green star', lw=4, ms=16)
-- ys = 0.65 * xs + 4
-- ax.plot(xs, ys, label='yellow x', lw=4, ms=16)
-- ys = 0.85 * xs + 5
-- ax.plot(xs, ys, label='red2 dot', lw=4, ms=16)
-- ax.legend(loc='upper left')
-+ for _ in range(4):
-+ ax.plot(range(10), range(10))
-+ assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
-+ assert [l.get_marker() for l in ax.lines] == ['.', '*', 'x', '.']
-
-+
-+def test_marker_cycle_kwargs_arrays_iterators():
- fig, ax = plt.subplots()
-- # Test keyword arguments, numpy arrays, and generic iterators
- ax.set_prop_cycle(c=np.array(['r', 'g', 'y']),
- marker=iter(['.', '*', 'x']))
-- xs = np.arange(10)
-- ys = 0.25 * xs + 2
-- ax.plot(xs, ys, label='red dot', lw=4, ms=16)
-- ys = 0.45 * xs + 3
-- ax.plot(xs, ys, label='green star', lw=4, ms=16)
-- ys = 0.65 * xs + 4
-- ax.plot(xs, ys, label='yellow x', lw=4, ms=16)
-- ys = 0.85 * xs + 5
-- ax.plot(xs, ys, label='red2 dot', lw=4, ms=16)
-- ax.legend(loc='upper left')
--
--
--@image_comparison(['lineprop_cycle_basic.png'], remove_text=True,
-- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
-+ for _ in range(4):
-+ ax.plot(range(10), range(10))
-+ assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
-+ assert [l.get_marker() for l in ax.lines] == ['.', '*', 'x', '.']
-+
-+
- def test_linestylecycle_basic():
- fig, ax = plt.subplots()
- ax.set_prop_cycle(cycler('ls', ['-', '--', ':']))
-- xs = np.arange(10)
-- ys = 0.25 * xs + 2
-- ax.plot(xs, ys, label='solid', lw=4, color='k')
-- ys = 0.45 * xs + 3
-- ax.plot(xs, ys, label='dashed', lw=4, color='k')
-- ys = 0.65 * xs + 4
-- ax.plot(xs, ys, label='dotted', lw=4, color='k')
-- ys = 0.85 * xs + 5
-- ax.plot(xs, ys, label='solid2', lw=4, color='k')
-- ax.legend(loc='upper left')
--
--
--@image_comparison(['fill_cycle_basic.png'], remove_text=True)
-+ for _ in range(4):
-+ ax.plot(range(10), range(10))
-+ assert [l.get_linestyle() for l in ax.lines] == ['-', '--', ':', '-']
-+
-+
- def test_fillcycle_basic():
- fig, ax = plt.subplots()
- ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
- cycler('hatch', ['xx', 'O', '|-']) +
- cycler('linestyle', ['-', '--', ':']))
-- xs = np.arange(10)
-- ys = 0.25 * xs**.5 + 2
-- ax.fill(xs, ys, label='red, xx', linewidth=3)
-- ys = 0.45 * xs**.5 + 3
-- ax.fill(xs, ys, label='green, circle', linewidth=3)
-- ys = 0.65 * xs**.5 + 4
-- ax.fill(xs, ys, label='yellow, cross', linewidth=3)
-- ys = 0.85 * xs**.5 + 5
-- ax.fill(xs, ys, label='red2, xx', linewidth=3)
-- ax.legend(loc='upper left')
--
--
--@image_comparison(['fill_cycle_ignore.png'], remove_text=True)
-+ for _ in range(4):
-+ ax.fill(range(10), range(10))
-+ assert ([p.get_facecolor() for p in ax.patches]
-+ == [mpl.colors.to_rgba(c) for c in ['r', 'g', 'y', 'r']])
-+ assert [p.get_hatch() for p in ax.patches] == ['xx', 'O', '|-', 'xx']
-+ assert [p.get_linestyle() for p in ax.patches] == ['-', '--', ':', '-']
-+
-+
- def test_fillcycle_ignore():
- fig, ax = plt.subplots()
- ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']) +
- cycler('hatch', ['xx', 'O', '|-']) +
- cycler('marker', ['.', '*', 'D']))
-- xs = np.arange(10)
-- ys = 0.25 * xs**.5 + 2
-+ t = range(10)
- # Should not advance the cycler, even though there is an
- # unspecified property in the cycler "marker".
- # "marker" is not a Polygon property, and should be ignored.
-- ax.fill(xs, ys, 'r', hatch='xx', label='red, xx')
-- ys = 0.45 * xs**.5 + 3
-+ ax.fill(t, t, 'r', hatch='xx')
- # Allow the cycler to advance, but specify some properties
-- ax.fill(xs, ys, hatch='O', label='red, circle')
-- ys = 0.65 * xs**.5 + 4
-- ax.fill(xs, ys, label='green, circle')
-- ys = 0.85 * xs**.5 + 5
-- ax.fill(xs, ys, label='yellow, cross')
-- ax.legend(loc='upper left')
-+ ax.fill(t, t, hatch='O')
-+ ax.fill(t, t)
-+ ax.fill(t, t)
-+ assert ([p.get_facecolor() for p in ax.patches]
-+ == [mpl.colors.to_rgba(c) for c in ['r', 'r', 'g', 'y']])
-+ assert [p.get_hatch() for p in ax.patches] == ['xx', 'O', 'O', '|-']
-
-
--@image_comparison(['property_collision_plot.png'], remove_text=True)
- def test_property_collision_plot():
- fig, ax = plt.subplots()
- ax.set_prop_cycle('linewidth', [2, 4])
-+ t = range(10)
- for c in range(1, 4):
-- ax.plot(np.arange(10), c * np.arange(10), lw=0.1, color='k')
-- ax.plot(np.arange(10), 4 * np.arange(10), color='k')
-- ax.plot(np.arange(10), 5 * np.arange(10), color='k')
-+ ax.plot(t, t, lw=0.1)
-+ ax.plot(t, t)
-+ ax.plot(t, t)
-+ assert [l.get_linewidth() for l in ax.lines] == [0.1, 0.1, 0.1, 2, 4]
-
-
--@image_comparison(['property_collision_fill.png'], remove_text=True)
- def test_property_collision_fill():
- fig, ax = plt.subplots()
-- xs = np.arange(10)
-- ys = 0.25 * xs**.5 + 2
- ax.set_prop_cycle(linewidth=[2, 3, 4, 5, 6], facecolor='bgcmy')
-+ t = range(10)
- for c in range(1, 4):
-- ax.fill(xs, c * ys, lw=0.1)
-- ax.fill(xs, 4 * ys)
-- ax.fill(xs, 5 * ys)
-+ ax.fill(t, t, lw=0.1)
-+ ax.fill(t, t)
-+ ax.fill(t, t)
-+ assert ([p.get_facecolor() for p in ax.patches]
-+ == [mpl.colors.to_rgba(c) for c in 'bgcmy'])
-+ assert [p.get_linewidth() for p in ax.patches] == [0.1, 0.1, 0.1, 5, 6]
-
-
- def test_valid_input_forms():
---
-2.27.0
-
diff --git a/dev-python/matplotlib/matplotlib-3.2.2-r2.ebuild b/dev-python/matplotlib/matplotlib-3.2.2-r2.ebuild
deleted file mode 100644
index c72b85e3e6f..00000000000
--- a/dev-python/matplotlib/matplotlib-3.2.2-r2.ebuild
+++ /dev/null
@@ -1,271 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
- dev-python/python-dateutil:0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
- dev-python/versioneer[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{6,7,8})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
- unset DISPLAY # bug #278524
-}
-
-use_supported() {
- case ${1} in
- wxwidgets)
- [[ ${EPYTHON} == python3.[678] ]]
- ;;
- esac
-
- return 0
-}
-
-use_setup() {
- local uword="${2:-${1}}"
- if use_supported "${1}" && use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
-# cat > lib/${PN}/externals/six.py <<-EOF
-# from __future__ import absolute_import
-# from six import *
-# EOF
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.1.2-qhull.patch
- "${FILESDIR}"/matplotlib-3.2.2-test.patch
- )
-
- # requires jupyter-nbconvert
- rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
-
- sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
- -i lib/matplotlib/tests/test_*.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [packages]
- tests = $(usex test True False)
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- # necessary for in-source build
- local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- local -x MPLLOCALFREETYPE=1
- ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
- wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(verbosity=2))" || die
-}
-
-python_install() {
- wrap_setup distutils-r1_python_install
-
- # mpl_toolkits namespace
- python_moduleinto mpl_toolkits
- python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- find "${D}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/matplotlib/matplotlib-3.3.0-r1.ebuild b/dev-python/matplotlib/matplotlib-3.3.0-r1.ebuild
deleted file mode 100644
index 5419196c019..00000000000
--- a/dev-python/matplotlib/matplotlib-3.3.0-r1.ebuild
+++ /dev/null
@@ -1,275 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~ppc ppc64 ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
- dev-python/python-dateutil:0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
- dev-python/versioneer[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{6,7,8})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
- unset DISPLAY # bug #278524
-}
-
-use_supported() {
- case ${1} in
- wxwidgets)
- [[ ${EPYTHON} == python3.[678] ]]
- ;;
- esac
-
- return 0
-}
-
-use_setup() {
- local uword="${2:-${1}}"
- if use_supported "${1}" && use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
-# cat > lib/${PN}/externals/six.py <<-EOF
-# from __future__ import absolute_import
-# from six import *
-# EOF
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.0-test.patch
- )
-
- # requires jupyter-nbconvert
- rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
-
- sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
- -i lib/matplotlib/tests/test_*.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = $(usex test True False)
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- # necessary for in-source build
- local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
- ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
- distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(verbosity=2))" || die
-}
-
-python_install() {
- wrap_setup distutils-r1_python_install
-
- # mpl_toolkits namespace
- python_moduleinto mpl_toolkits
- python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- find "${D}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/matplotlib/matplotlib-3.3.2.ebuild b/dev-python/matplotlib/matplotlib-3.3.2.ebuild
deleted file mode 100644
index 84bd21b203b..00000000000
--- a/dev-python/matplotlib/matplotlib-3.3.2.ebuild
+++ /dev/null
@@ -1,277 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-DISTUTILS_USE_SETUPTOOLS=bdepend
-inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="https://matplotlib.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
- dev-python/python-dateutil:0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
- dev-python/versioneer[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{6,7,8})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
-"
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-distutils_enable_tests pytest
-
-pkg_setup() {
- unset DISPLAY # bug #278524
-}
-
-use_supported() {
- case ${1} in
- wxwidgets)
- [[ ${EPYTHON} == python3.[678] ]]
- ;;
- esac
-
- return 0
-}
-
-use_setup() {
- local uword="${2:-${1}}"
- if use_supported "${1}" && use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
-# cat > lib/${PN}/externals/six.py <<-EOF
-# from __future__ import absolute_import
-# from six import *
-# EOF
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.0-test.patch
- "${FILESDIR}"/matplotlib-3.3.2-test-extra.patch
- )
-
- # requires jupyter-nbconvert
- rm lib/matplotlib/tests/test_backend_nbagg.py || die
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
-
- sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
- -i lib/matplotlib/tests/test_*.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = $(usex test True False)
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- # necessary for in-source build
- local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
- ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
- distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
-}
-
-python_install() {
- wrap_setup distutils-r1_python_install
-
- # mpl_toolkits namespace
- python_moduleinto mpl_toolkits
- python_domodule lib/mpl_toolkits/__init__.py
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- find "${D}" -name '*.pth' -delete || die
-}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2021-01-29 10:43 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2021-01-29 10:43 UTC (permalink / raw
To: gentoo-commits
commit: c75dad06a2633931da495ed1a7c166015ed8fd2b
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 29 09:03:37 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 29 10:42:57 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c75dad06
dev-python/matplotlib: Bump to 3.3.4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/matplotlib/Manifest | 1 +
| 12 +
dev-python/matplotlib/matplotlib-3.3.4.ebuild | 282 +++++++++++++++++++++
3 files changed, 295 insertions(+)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 507b0f8b7a0..f00b711f586 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -3,3 +3,4 @@ DIST matplotlib-3.2.2.tar.gz 40295831 BLAKE2B 32fb34b95d1df928f949fd7b04909da249
DIST matplotlib-3.3.0.tar.gz 38782487 BLAKE2B 97330d93b8d8a64a1296ccb173e44ebcc54c61e22aacdd73cc38a46fb2d22fbfe7334fb3c6993be001c475724c47f530243affddd71ec647232ac093db6e3135 SHA512 2ffd9e79e300a37092ab4b5a7156c2f57e408975818abd413c74477ad622030c7636695467aab821c9996564cddec57e26ba6a8004f6639070964fcb7a510a75
DIST matplotlib-3.3.2.tar.gz 37939974 BLAKE2B f28e184a0fccd4192ba8135b70569bf463d08cae0f4eb8e7f997f417cb947500a9fe46eb5f979473b4d7d22c0ad03ab55aba4067082c86f63eacbf837b8606ad SHA512 cae68e63d879bcfb41b25df4de48472461f7987403d42d34c7205a65ed3ef567660309c04d2a55e155fbe1ef708fd9de0b0d66e71578f34c3ee93379c4ea1e1a
DIST matplotlib-3.3.3.tar.gz 37944403 BLAKE2B 30358d7b7df87b0b15724c4eeb132acdacf31ac900d5c06b22c7ebc7217d6cabcc76b7e29cea6af0b4711b5b1724ce34dd065f63cabcfd40c0fcf9788f94c1fe SHA512 36b482a6c36ee08c47f3c02c160289bbdec8746d4d246084723bd3e1fd632c6383f6db58c950a9773a6993d10f24dacd870a91faafc34864616288cd05b6232c
+DIST matplotlib-3.3.4.tar.gz 37941665 BLAKE2B 77b86dc3ceec3695a0d749197bcec684893d237da1aaf8778d9dc2038da1ba56b757bbce94efcf215ac30f35420b77e0a0e75ebb75b6d2cde5146d8a35ee25e7 SHA512 aadfe3db4edde9940b9e15daf1b6c5f237d3a6f38610956ceee994f919d711fce818ea12be4db18aa2a8638c4e8f434d79541fecaa7233e233bf4c73792bc4c4
--git a/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch b/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch
new file mode 100644
index 00000000000..0c62334086a
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch
@@ -0,0 +1,12 @@
+diff -dupr a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
+--- a/lib/mpl_toolkits/tests/test_mplot3d.py 2021-01-29 10:43:01.196582153 +0100
++++ b/lib/mpl_toolkits/tests/test_mplot3d.py 2021-01-29 10:44:36.084875177 +0100
+@@ -150,7 +150,7 @@ def test_contourf3d_fill():
+ ax.set_zlim(-1, 1)
+
+
+-@mpl3d_image_comparison(['tricontour.png'])
++@mpl3d_image_comparison(['tricontour.png'], tol=0.02)
+ def test_tricontour():
+ fig = plt.figure()
+
diff --git a/dev-python/matplotlib/matplotlib-3.3.4.ebuild b/dev-python/matplotlib/matplotlib-3.3.4.ebuild
new file mode 100644
index 00000000000..a103db251a0
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.3.4.ebuild
@@ -0,0 +1,282 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="https://matplotlib.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
+ dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ >=media-libs/qhull-2013:=
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-xetex
+ )
+ qt5? (
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ )
+ webagg? (
+ >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{6,7,8})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ >=app-text/dvipng-1.15-r1
+ >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ >=media-gfx/graphviz-2.42.3[cairo]
+ )
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
+ >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+"
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+distutils_enable_tests pytest
+
+pkg_setup() {
+ unset DISPLAY # bug #278524
+}
+
+use_supported() {
+ case ${1} in
+ wxwidgets)
+ [[ ${EPYTHON} == python3.[678] ]]
+ ;;
+ esac
+
+ return 0
+}
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use_supported "${1}" && use "${1}"; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+# cat > lib/${PN}/externals/six.py <<-EOF
+# from __future__ import absolute_import
+# from six import *
+# EOF
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.3.0-test.patch
+ "${FILESDIR}"/matplotlib-3.3.2-test-extra.patch
+ "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+ "${FILESDIR}"/matplotlib-3.3.4-test-extra.patch
+ )
+
+ # requires jupyter-nbconvert
+ rm lib/matplotlib/tests/test_backend_nbagg.py || die
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+
+ sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
+ -i lib/matplotlib/tests/test_*.py || die
+
+ hprefixify setupext.py
+
+ rm -rf libqhull || die
+
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+ tc-export PKG_CONFIG
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+ [directories]
+ basedirlist = ${EPREFIX}/usr
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [libs]
+ system_freetype = True
+ system_qhull = True
+ [packages]
+ tests = $(usex test True False)
+ [gui_support]
+ agg = True
+ gtk = False
+ gtkagg = False
+ macosx = False
+ pyside = False
+ pysideagg = False
+ qt4 = False
+ qt4agg = False
+ $(use_setup cairo)
+ $(use_setup gtk3)
+ $(use_setup qt5)
+ $(use_setup tk)
+ $(use_setup wxwidgets wx)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+}
+
+wrap_setup() {
+ local MAKEOPTS=-j1
+ local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+ "$@"
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ # necessary for in-source build
+ local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+ VARTEXFONTS="${T}"/fonts \
+ emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+ > "${BUILD_DIR}"/test-setup.cfg || die
+ local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+ ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
+ distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
+ local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+ "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
+}
+
+python_install() {
+ wrap_setup distutils-r1_python_install
+
+ # mpl_toolkits namespace
+ python_moduleinto mpl_toolkits
+ python_domodule lib/mpl_toolkits/__init__.py
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ find "${D}" -name '*.pth' -delete || die
+}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2021-01-04 9:45 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2021-01-04 9:45 UTC (permalink / raw
To: gentoo-commits
commit: 96de8f81d7b7ff64bf39798f8790913e2759080f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 4 09:08:22 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan 4 09:45:45 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=96de8f81
dev-python/matplotlib: Remove -flto
Closes: https://bugs.gentoo.org/736122
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
.../files/matplotlib-3.3.3-disable-lto.patch | 25 ++++++++++++++++++++++
...lib-3.3.3.ebuild => matplotlib-3.3.3-r1.ebuild} | 1 +
2 files changed, 26 insertions(+)
diff --git a/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch b/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch
new file mode 100644
index 00000000000..ab377e7f19b
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch
@@ -0,0 +1,25 @@
+From 7382d6205bfdc647a8e47c8e417c991d3822eace Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 4 Jan 2021 10:03:32 +0100
+Subject: [PATCH] Disable -flto
+
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 6e1d19d..ed85d14 100644
+--- a/setup.py
++++ b/setup.py
+@@ -147,7 +147,7 @@ class BuildExtraLibraries(BuildExtCommand):
+ ranlib = True
+ else:
+ ranlib = shutil.which('llvm-ranlib')
+- if ranlib and has_flag(self.compiler, '-flto'):
++ if False and ranlib and has_flag(self.compiler, '-flto'):
+ for ext in self.extensions:
+ ext.extra_compile_args.append('-flto')
+ cppflags.append('-flto')
+--
+2.30.0
+
diff --git a/dev-python/matplotlib/matplotlib-3.3.3.ebuild b/dev-python/matplotlib/matplotlib-3.3.3-r1.ebuild
similarity index 99%
rename from dev-python/matplotlib/matplotlib-3.3.3.ebuild
rename to dev-python/matplotlib/matplotlib-3.3.3-r1.ebuild
index 1f794c15026..f8757316477 100644
--- a/dev-python/matplotlib/matplotlib-3.3.3.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.3.3-r1.ebuild
@@ -150,6 +150,7 @@ python_prepare_all() {
local PATCHES=(
"${FILESDIR}"/matplotlib-3.3.0-test.patch
"${FILESDIR}"/matplotlib-3.3.2-test-extra.patch
+ "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
)
# requires jupyter-nbconvert
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2020-09-15 22:19 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2020-09-15 22:19 UTC (permalink / raw
To: gentoo-commits
commit: 0bc6bf85697af01ff47b1d5489db7336da98c680
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 15 22:15:03 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Sep 15 22:19:17 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0bc6bf85
dev-python/matplotlib: Bump to 3.3.2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
| 25 ++++++++++++++++++++++
dev-python/matplotlib/matplotlib-3.3.2.ebuild | 1 +
2 files changed, 26 insertions(+)
--git a/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch b/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch
new file mode 100644
index 00000000000..1fff166295b
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.3.2-test-extra.patch
@@ -0,0 +1,25 @@
+From 5d2f40b312966c08436b4495980313f2dacd9750 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 15 Sep 2020 23:48:05 +0200
+Subject: [PATCH] Increase tolerance for test_transparent_markers
+
+---
+ lib/matplotlib/tests/test_axes.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index 412dd2471..52a32f9f1 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -3500,7 +3500,7 @@ def test_hist_labels():
+ assert l[2][0].get_label() == '00'
+
+
+-@image_comparison(['transparent_markers'], remove_text=True)
++@image_comparison(['transparent_markers'], remove_text=True, tol=5)
+ def test_transparent_markers():
+ np.random.seed(0)
+ data = np.random.random(50)
+--
+2.28.0
+
diff --git a/dev-python/matplotlib/matplotlib-3.3.2.ebuild b/dev-python/matplotlib/matplotlib-3.3.2.ebuild
index d8b120fa06f..9ded3690e45 100644
--- a/dev-python/matplotlib/matplotlib-3.3.2.ebuild
+++ b/dev-python/matplotlib/matplotlib-3.3.2.ebuild
@@ -146,6 +146,7 @@ python_prepare_all() {
local PATCHES=(
"${FILESDIR}"/matplotlib-3.3.0-test.patch
+ "${FILESDIR}"/matplotlib-3.3.2-test-extra.patch
)
# requires jupyter-nbconvert
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2020-06-18 10:26 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2020-06-18 10:26 UTC (permalink / raw
To: gentoo-commits
commit: a956b9ef5a5c759521ed18f0db829d86876ced35
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 18 07:30:44 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jun 18 10:26:03 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a956b9ef
dev-python/matplotlib: Bump to 3.2.2
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/matplotlib/Manifest | 1 +
.../matplotlib/files/matplotlib-3.2.2-test.patch | 419 +++++++++++++++++++++
dev-python/matplotlib/matplotlib-3.2.2.ebuild | 271 +++++++++++++
3 files changed, 691 insertions(+)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 084a32c6e21..76cf20e63bd 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -3,3 +3,4 @@ DIST matplotlib-2.2.2.tar.gz 37317332 BLAKE2B 4120265263c5b1e4ab57f7c0eb7a477b40
DIST matplotlib-2.2.4.tar.gz 36974286 BLAKE2B 9c4c69163a23ff02107ee155f72e142dcf31ba965f6a20f468b96f3f4b70b95ff6caade6b14bcbacd5b231848d2000ce6af9f113feefb41d6e186725349490d3 SHA512 968f5731b8a9a2c5575403c60d5b0a98a452b33094e520be44f4d901f892d082babc8fc1d73c519e1ff2baf756f3cb7652f4b796e166d66dfda31f7e50c58139
DIST matplotlib-3.1.2.tar.gz 40909582 BLAKE2B 670907670335ca13ec01f3acf036fd502ce34abd12666b2e0d10867c6115a0fe80039326cee89099471aa6b3bbd25f1ca4aa837072dea624ee41984da9f647be SHA512 2eff3c0525d01824ed758a87f50a3f6094767b580fca1eae4e9dbc2cc972af3d0cc3ac9615e576c5685e8bfc1ec90754bc826635f4f2a919d0b26bbb686cccab
DIST matplotlib-3.2.1.tar.gz 40325615 BLAKE2B 7fd299f7d3948987e341e4313ed82d15de286a05c9819893e099ccd6c1f861ce5548ec85588a382603011e7710d08d6fc9a4f168f0b5705b0873b97e40d2dd39 SHA512 d6497a3c47eaff9c0d981bc03de5894a3f4a5413cbe320924b1df6d68eb421e548cf4247c035fd636a4403cd2d50071633e6906e795b74ec7d9c4816193e42be
+DIST matplotlib-3.2.2.tar.gz 40295831 BLAKE2B 32fb34b95d1df928f949fd7b04909da2494b56efbe543f75bffedf1d9d85a0089a50cd27b82a28ac75361b56fe3f2a6c95b7d9e777778ce46f1d2805e5dae9df SHA512 4b8080fddc717f311a87b6ef1a279304da2931ef2d6de85688c153f14da5009351f42d9533c44695ca43ce1496bb642927aca822a7946a2d50d40a7d25224b31
diff --git a/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch
new file mode 100644
index 00000000000..13755eaa33e
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.2.2-test.patch
@@ -0,0 +1,419 @@
+From 7a65dfda781777872083623595c27dc1174b2ed7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 7 Jun 2020 20:02:48 +0200
+Subject: [PATCH 1/2] Increase image comparison limits
+
+Most of the tests require exact match which apparently doesn't always
+happen in non-pristine environments. Some of them have very big
+differences due to texlive font rendering changes.
+---
+ lib/matplotlib/tests/test_arrow_patches.py | 4 ++--
+ lib/matplotlib/tests/test_axes.py | 2 +-
+ lib/matplotlib/tests/test_backend_pgf.py | 7 ++++---
+ lib/matplotlib/tests/test_figure.py | 2 +-
+ lib/matplotlib/tests/test_legend.py | 6 +++---
+ lib/matplotlib/tests/test_pickle.py | 2 +-
+ lib/matplotlib/tests/test_units.py | 4 ++--
+ lib/matplotlib/tests/test_usetex.py | 3 ++-
+ lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
+ .../tests/test_axisartist_grid_helper_curvelinear.py | 2 +-
+ 10 files changed, 18 insertions(+), 16 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index a9409e2c1..0e356e921 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
++ tol={'aarch64': 0.02}.get(platform.machine(), 0.015),
+ savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+ """
+@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0),
++ tol={'aarch64': 0.02}.get(platform.machine(), 0.018),
+ savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+ """
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index 75636301d..af057d598 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -3673,7 +3673,7 @@ def test_vertex_markers():
+
+
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol={'aarch64': 0.02}.get(platform.machine(), 0.015))
+ def test_eb_line_zorder():
+ x = list(range(10))
+
+diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
+index 7843b4101..ddb2991c1 100644
+--- a/lib/matplotlib/tests/test_backend_pgf.py
++++ b/lib/matplotlib/tests/test_backend_pgf.py
+@@ -97,7 +97,8 @@ def test_xelatex():
+ # test compiling a figure to pdf with pdflatex
+ @needs_pdflatex
+ @pytest.mark.backend('pgf')
+-@image_comparison(['pgf_pdflatex.pdf'], style='default')
++@image_comparison(['pgf_pdflatex.pdf'], style='default',
++ tol=11.669)
+ def test_pdflatex():
+ if os.environ.get('APPVEYOR', False):
+ pytest.xfail("pdflatex test does not work on appveyor due to missing "
+@@ -133,7 +134,7 @@ def test_rcupdate():
+ 'pgf.preamble': ['\\usepackage[utf8x]{inputenc}',
+ '\\usepackage[T1]{fontenc}',
+ '\\usepackage{sfmath}']}]
+- tol = [6, 0]
++ tol = [6, 14]
+ for i, rc_set in enumerate(rc_sets):
+ with mpl.rc_context(rc_set):
+ create_figure()
+@@ -161,7 +162,7 @@ def test_pathclip():
+ @needs_xelatex
+ @pytest.mark.backend('pgf')
+ @image_comparison(['pgf_mixedmode.pdf'], style='default',
+- tol={'aarch64': 1.086}.get(platform.machine(), 0.0))
++ tol=1.086)
+ def test_mixedmode():
+ rc_xelatex = {'font.family': 'serif',
+ 'pgf.rcfonts': False}
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index b5ca0ed5b..885afa5f8 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -14,7 +14,7 @@ import pytest
+
+
+ @image_comparison(['figure_align_labels'],
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol=0.02)
+ def test_align_labels():
+ # Check the figure.align_labels() command
+ fig = plt.figure(tight_layout=True)
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index 71499da44..a8bda6e84 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -106,7 +106,7 @@ def test_multiple_keys():
+
+
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol=0.02)
+ def test_alpha_rgba():
+ import matplotlib.pyplot as plt
+
+@@ -117,7 +117,7 @@ def test_alpha_rgba():
+
+
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol=0.02)
+ def test_alpha_rcparam():
+ import matplotlib.pyplot as plt
+
+@@ -145,7 +145,7 @@ def test_fancy():
+
+
+ @image_comparison(['framealpha'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol=0.02)
+ def test_framealpha():
+ x = np.linspace(1, 100, 100)
+ y = x
+diff --git a/lib/matplotlib/tests/test_pickle.py b/lib/matplotlib/tests/test_pickle.py
+index 0fad3cdf2..4d2599607 100644
+--- a/lib/matplotlib/tests/test_pickle.py
++++ b/lib/matplotlib/tests/test_pickle.py
+@@ -41,7 +41,7 @@ def test_simple():
+
+
+ @image_comparison(['multi_pickle.png'], remove_text=True, style='mpl20',
+- tol={'aarch64': 0.082}.get(platform.machine(), 0.0))
++ tol=0.082)
+ def test_complete():
+ fig = plt.figure('Figure with a label?', figsize=(10, 6))
+
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index f14425144..7f744da47 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -74,7 +74,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol={'aarch64': 0.02}.get(platform.machine(), 0.002))
+ def test_numpy_facade(quantity_converter):
+ # use former defaults to match existing baseline image
+ plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -101,7 +101,7 @@ def test_numpy_facade(quantity_converter):
+
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol=0.02)
+ def test_plot_masked_units():
+ data = np.linspace(-5, 5)
+ data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index ec693288e..8af6b69eb 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -15,7 +15,8 @@ if not mpl.checkdep_usetex(True):
+ @image_comparison(
+ baseline_images=['test_usetex'],
+ extensions=['pdf', 'png'],
+- style="mpl20")
++ style="mpl20",
++ tol=21)
+ def test_usetex():
+ mpl.rcParams['text.usetex'] = True
+ fig = plt.figure()
+diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
+index 9ed9a9280..56a3bd14a 100644
+--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
+@@ -343,7 +343,7 @@ def test_zooming_with_inverted_axes():
+
+
+ @image_comparison(['anchored_direction_arrows.png'],
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ tol=0.02)
+ def test_anchored_direction_arrows():
+ fig, ax = plt.subplots()
+ ax.imshow(np.zeros((10, 10)), interpolation='nearest')
+diff --git a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
+index 611908063..dc294aef5 100644
+--- a/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
++++ b/lib/mpl_toolkits/tests/test_axisartist_grid_helper_curvelinear.py
+@@ -17,7 +17,7 @@ from mpl_toolkits.axisartist.grid_helper_curvelinear import \
+
+
+ @image_comparison(['custom_transform.png'], style='default',
+- tol={'aarch64': 0.034}.get(platform.machine(), 0.03))
++ tol=0.034)
+ def test_custom_transform():
+ class MyTransform(Transform):
+ input_dims = 2
+--
+2.27.0
+
+From 506611e80a4fd12b3f633583d20119fc2f096ba7 Mon Sep 17 00:00:00 2001
+From: Antony Lee <anntzer.lee@gmail.com>
+Date: Tue, 10 Dec 2019 11:18:24 +0100
+Subject: [PATCH 2/2] Rewrite test_cycles to avoid image comparison tests.
+
+They can all be reasonably written by checking the artist properties.
+---
+ lib/matplotlib/tests/test_cycles.py | 141 ++++++++++------------------
+ 1 file changed, 51 insertions(+), 90 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_cycles.py b/lib/matplotlib/tests/test_cycles.py
+index ee67b4e41..a340b6166 100644
+--- a/lib/matplotlib/tests/test_cycles.py
++++ b/lib/matplotlib/tests/test_cycles.py
+@@ -1,6 +1,4 @@
+-import platform
+-
+-from matplotlib.testing.decorators import image_comparison
++import matplotlib as mpl
+ import matplotlib.pyplot as plt
+ import numpy as np
+ import pytest
+@@ -8,133 +6,96 @@ import pytest
+ from cycler import cycler
+
+
+-@image_comparison(['color_cycle_basic.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
+ def test_colorcycle_basic():
+ fig, ax = plt.subplots()
+ ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']))
+- xs = np.arange(10)
+- ys = 0.25 * xs + 2
+- ax.plot(xs, ys, label='red', lw=4)
+- ys = 0.45 * xs + 3
+- ax.plot(xs, ys, label='green', lw=4)
+- ys = 0.65 * xs + 4
+- ax.plot(xs, ys, label='yellow', lw=4)
+- ys = 0.85 * xs + 5
+- ax.plot(xs, ys, label='red2', lw=4)
+- ax.legend(loc='upper left')
+-
+-
+-@image_comparison(['marker_cycle.png', 'marker_cycle.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ for _ in range(4):
++ ax.plot(range(10), range(10))
++ assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
++
++
+ def test_marker_cycle():
+ fig, ax = plt.subplots()
+ ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
+ cycler('marker', ['.', '*', 'x']))
+- xs = np.arange(10)
+- ys = 0.25 * xs + 2
+- ax.plot(xs, ys, label='red dot', lw=4, ms=16)
+- ys = 0.45 * xs + 3
+- ax.plot(xs, ys, label='green star', lw=4, ms=16)
+- ys = 0.65 * xs + 4
+- ax.plot(xs, ys, label='yellow x', lw=4, ms=16)
+- ys = 0.85 * xs + 5
+- ax.plot(xs, ys, label='red2 dot', lw=4, ms=16)
+- ax.legend(loc='upper left')
++ for _ in range(4):
++ ax.plot(range(10), range(10))
++ assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
++ assert [l.get_marker() for l in ax.lines] == ['.', '*', 'x', '.']
+
++
++def test_marker_cycle_kwargs_arrays_iterators():
+ fig, ax = plt.subplots()
+- # Test keyword arguments, numpy arrays, and generic iterators
+ ax.set_prop_cycle(c=np.array(['r', 'g', 'y']),
+ marker=iter(['.', '*', 'x']))
+- xs = np.arange(10)
+- ys = 0.25 * xs + 2
+- ax.plot(xs, ys, label='red dot', lw=4, ms=16)
+- ys = 0.45 * xs + 3
+- ax.plot(xs, ys, label='green star', lw=4, ms=16)
+- ys = 0.65 * xs + 4
+- ax.plot(xs, ys, label='yellow x', lw=4, ms=16)
+- ys = 0.85 * xs + 5
+- ax.plot(xs, ys, label='red2 dot', lw=4, ms=16)
+- ax.legend(loc='upper left')
+-
+-
+-@image_comparison(['lineprop_cycle_basic.png'], remove_text=True,
+- tol={'aarch64': 0.02}.get(platform.machine(), 0.0))
++ for _ in range(4):
++ ax.plot(range(10), range(10))
++ assert [l.get_color() for l in ax.lines] == ['r', 'g', 'y', 'r']
++ assert [l.get_marker() for l in ax.lines] == ['.', '*', 'x', '.']
++
++
+ def test_linestylecycle_basic():
+ fig, ax = plt.subplots()
+ ax.set_prop_cycle(cycler('ls', ['-', '--', ':']))
+- xs = np.arange(10)
+- ys = 0.25 * xs + 2
+- ax.plot(xs, ys, label='solid', lw=4, color='k')
+- ys = 0.45 * xs + 3
+- ax.plot(xs, ys, label='dashed', lw=4, color='k')
+- ys = 0.65 * xs + 4
+- ax.plot(xs, ys, label='dotted', lw=4, color='k')
+- ys = 0.85 * xs + 5
+- ax.plot(xs, ys, label='solid2', lw=4, color='k')
+- ax.legend(loc='upper left')
+-
+-
+-@image_comparison(['fill_cycle_basic.png'], remove_text=True)
++ for _ in range(4):
++ ax.plot(range(10), range(10))
++ assert [l.get_linestyle() for l in ax.lines] == ['-', '--', ':', '-']
++
++
+ def test_fillcycle_basic():
+ fig, ax = plt.subplots()
+ ax.set_prop_cycle(cycler('c', ['r', 'g', 'y']) +
+ cycler('hatch', ['xx', 'O', '|-']) +
+ cycler('linestyle', ['-', '--', ':']))
+- xs = np.arange(10)
+- ys = 0.25 * xs**.5 + 2
+- ax.fill(xs, ys, label='red, xx', linewidth=3)
+- ys = 0.45 * xs**.5 + 3
+- ax.fill(xs, ys, label='green, circle', linewidth=3)
+- ys = 0.65 * xs**.5 + 4
+- ax.fill(xs, ys, label='yellow, cross', linewidth=3)
+- ys = 0.85 * xs**.5 + 5
+- ax.fill(xs, ys, label='red2, xx', linewidth=3)
+- ax.legend(loc='upper left')
+-
+-
+-@image_comparison(['fill_cycle_ignore.png'], remove_text=True)
++ for _ in range(4):
++ ax.fill(range(10), range(10))
++ assert ([p.get_facecolor() for p in ax.patches]
++ == [mpl.colors.to_rgba(c) for c in ['r', 'g', 'y', 'r']])
++ assert [p.get_hatch() for p in ax.patches] == ['xx', 'O', '|-', 'xx']
++ assert [p.get_linestyle() for p in ax.patches] == ['-', '--', ':', '-']
++
++
+ def test_fillcycle_ignore():
+ fig, ax = plt.subplots()
+ ax.set_prop_cycle(cycler('color', ['r', 'g', 'y']) +
+ cycler('hatch', ['xx', 'O', '|-']) +
+ cycler('marker', ['.', '*', 'D']))
+- xs = np.arange(10)
+- ys = 0.25 * xs**.5 + 2
++ t = range(10)
+ # Should not advance the cycler, even though there is an
+ # unspecified property in the cycler "marker".
+ # "marker" is not a Polygon property, and should be ignored.
+- ax.fill(xs, ys, 'r', hatch='xx', label='red, xx')
+- ys = 0.45 * xs**.5 + 3
++ ax.fill(t, t, 'r', hatch='xx')
+ # Allow the cycler to advance, but specify some properties
+- ax.fill(xs, ys, hatch='O', label='red, circle')
+- ys = 0.65 * xs**.5 + 4
+- ax.fill(xs, ys, label='green, circle')
+- ys = 0.85 * xs**.5 + 5
+- ax.fill(xs, ys, label='yellow, cross')
+- ax.legend(loc='upper left')
++ ax.fill(t, t, hatch='O')
++ ax.fill(t, t)
++ ax.fill(t, t)
++ assert ([p.get_facecolor() for p in ax.patches]
++ == [mpl.colors.to_rgba(c) for c in ['r', 'r', 'g', 'y']])
++ assert [p.get_hatch() for p in ax.patches] == ['xx', 'O', 'O', '|-']
+
+
+-@image_comparison(['property_collision_plot.png'], remove_text=True)
+ def test_property_collision_plot():
+ fig, ax = plt.subplots()
+ ax.set_prop_cycle('linewidth', [2, 4])
++ t = range(10)
+ for c in range(1, 4):
+- ax.plot(np.arange(10), c * np.arange(10), lw=0.1, color='k')
+- ax.plot(np.arange(10), 4 * np.arange(10), color='k')
+- ax.plot(np.arange(10), 5 * np.arange(10), color='k')
++ ax.plot(t, t, lw=0.1)
++ ax.plot(t, t)
++ ax.plot(t, t)
++ assert [l.get_linewidth() for l in ax.lines] == [0.1, 0.1, 0.1, 2, 4]
+
+
+-@image_comparison(['property_collision_fill.png'], remove_text=True)
+ def test_property_collision_fill():
+ fig, ax = plt.subplots()
+- xs = np.arange(10)
+- ys = 0.25 * xs**.5 + 2
+ ax.set_prop_cycle(linewidth=[2, 3, 4, 5, 6], facecolor='bgcmy')
++ t = range(10)
+ for c in range(1, 4):
+- ax.fill(xs, c * ys, lw=0.1)
+- ax.fill(xs, 4 * ys)
+- ax.fill(xs, 5 * ys)
++ ax.fill(t, t, lw=0.1)
++ ax.fill(t, t)
++ ax.fill(t, t)
++ assert ([p.get_facecolor() for p in ax.patches]
++ == [mpl.colors.to_rgba(c) for c in 'bgcmy'])
++ assert [p.get_linewidth() for p in ax.patches] == [0.1, 0.1, 0.1, 5, 6]
+
+
+ def test_valid_input_forms():
+--
+2.27.0
+
diff --git a/dev-python/matplotlib/matplotlib-3.2.2.ebuild b/dev-python/matplotlib/matplotlib-3.2.2.ebuild
new file mode 100644
index 00000000000..59b72308455
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.2.2.ebuild
@@ -0,0 +1,271 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+DISTUTILS_USE_SETUPTOOLS=bdepend
+inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="https://matplotlib.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk wxwidgets"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
+ dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ >=media-libs/qhull-2013
+ >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-xetex
+ )
+ qt5? (
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{6,7,8})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ >=app-text/dvipng-1.15-r1
+ >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/pillow-7.1.1[${PYTHON_USEDEP}]
+ >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+ >=sci-libs/scipy-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ >=media-gfx/graphviz-2.42.3[cairo]
+ )
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+"
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+distutils_enable_tests pytest
+
+pkg_setup() {
+ unset DISPLAY # bug #278524
+}
+
+use_supported() {
+ case ${1} in
+ wxwidgets)
+ [[ ${EPYTHON} == python3.[678] ]]
+ ;;
+ esac
+
+ return 0
+}
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use_supported "${1}" && use "${1}"; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+# cat > lib/${PN}/externals/six.py <<-EOF
+# from __future__ import absolute_import
+# from six import *
+# EOF
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.1.2-qhull.patch
+ "${FILESDIR}"/matplotlib-3.2.2-test.patch
+ )
+
+ # requires jupyter-nbconvert
+ rm lib/matplotlib/tests/test_backend_nbagg.py || die
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+
+ sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
+ -i lib/matplotlib/tests/test_*.py || die
+
+ hprefixify setupext.py
+
+ rm -rf libqhull || die
+
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+ tc-export PKG_CONFIG
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+ [directories]
+ basedirlist = ${EPREFIX}/usr
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [packages]
+ tests = $(usex test True False)
+ [gui_support]
+ agg = True
+ gtk = False
+ gtkagg = False
+ pyside = False
+ pysideagg = False
+ qt4 = False
+ qt4agg = False
+ $(use_setup cairo)
+ $(use_setup gtk3)
+ $(use_setup qt5)
+ $(use_setup tk)
+ $(use_setup wxwidgets wx)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+}
+
+wrap_setup() {
+ local MAKEOPTS=-j1
+ local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+ "$@"
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ # necessary for in-source build
+ local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+ VARTEXFONTS="${T}"/fonts \
+ emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ local -x MPLLOCALFREETYPE=1
+ ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
+ wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/test-lib
+ local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+ "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(verbosity=2))" || die
+}
+
+python_install() {
+ wrap_setup distutils-r1_python_install
+
+ # mpl_toolkits namespace
+ python_moduleinto mpl_toolkits
+ python_domodule lib/mpl_toolkits/__init__.py
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ find "${D}" -name '*.pth' -delete || die
+}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2018-03-08 22:37 Andrey Grozin
0 siblings, 0 replies; 22+ messages in thread
From: Andrey Grozin @ 2018-03-08 22:37 UTC (permalink / raw
To: gentoo-commits
commit: 4d0afb5f0661fbeb6c7d76b07b65cf40f8781318
Author: Andrey Grozin <grozin <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 8 22:36:53 2018 +0000
Commit: Andrey Grozin <grozin <AT> gentoo <DOT> org>
CommitDate: Thu Mar 8 22:36:53 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d0afb5f
dev-python/matplotlib: bump to 2.2.0
Package-Manager: Portage-2.3.19, Repoman-2.3.6
dev-python/matplotlib/Manifest | 1 +
.../files/matplotlib-2.2.0-doc-make.patch | 10 +
dev-python/matplotlib/matplotlib-2.2.0.ebuild | 257 +++++++++++++++++++++
3 files changed, 268 insertions(+)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index e38eadd8a39..8a95b4c2349 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,3 +1,4 @@
DIST matplotlib-1.4.3.tar.gz 49933525 BLAKE2B 40ea29ef7197d364f9caea63904b11231a4f74ca93184de8b1f8c7f78713cf887ea8a6fbee1b3f545c895eb353e0eeb5d65308657a3138986fb080ac44164427 SHA512 51b0f58b2618b47b653e17e4f6b6a1215d3a3b0f1331ce3555cc7435e365d9c75693f289ce12fe3bf8f69fd57b663e545f0f1c2c94e81eaa661cac0689e125f5
DIST matplotlib-2.1.0.tar.bz2 33051088 BLAKE2B 6a97909a44ca37c3ec09a9e723909bb0169828e56daeec5711220a6caac632d19e77ef2fc042a61cb82760c9750d04753654761a707b6265a038af9c55b91bd7 SHA512 872ff86e989b4e9352663f4abde1768aa05b1adea3e1b234efdb301429d421718314b27950e508d92df8fc9136764b07e8a6861b66512e9695a496993076bb5f
DIST matplotlib-2.1.2.tar.bz2 33422388 BLAKE2B cb4826b563e9820a17e568de78044cb81af6fbe86221505fe9cfbab7e06fb95cc3a4eff8772443197cdddf6e49b4b59d204fab39054e627b95f0169b74f630a4 SHA512 861354363f625a45f40ce7b31263088c950c8664b8ef13f8019da222ba4a8df7d0a8ee048a1bd84102e472ec48318cfea9df905d58a28efb788ba59cd5348061
+DIST matplotlib-2.2.0.tar.gz 37246563 BLAKE2B 98d0b2cd6221f7e35d6d023b9c580733370b2def914e1ea879245a10399767f6269d81da561630518d1663da4b8afadf801c627b4c713cc37ad628a917cc446a SHA512 70932e4511e6748cc97c1c6b55705d31e93c1c2bd91b163158a4585dd916318337243ba89e6a62319c628fba955bb768bb73380991f6b7ed8678ef61413926e5
diff --git a/dev-python/matplotlib/files/matplotlib-2.2.0-doc-make.patch b/dev-python/matplotlib/files/matplotlib-2.2.0-doc-make.patch
new file mode 100644
index 00000000000..7ca0c697423
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-2.2.0-doc-make.patch
@@ -0,0 +1,10 @@
+diff -r -U2 matplotlib-2.1.2.orig/doc/conf.py matplotlib-2.1.2/doc/conf.py
+--- matplotlib-2.1.2.orig/doc/conf.py 2018-01-19 11:07:49.000000000 +0700
++++ matplotlib-2.1.2/doc/conf.py 2018-01-21 20:06:44.120901546 +0700
+@@ -136,5 +136,5 @@
+ }
+
+-plot_gallery = 'True'
++plot_gallery = True
+
+ # Add any paths that contain templates here, relative to this directory.
diff --git a/dev-python/matplotlib/matplotlib-2.2.0.ebuild b/dev-python/matplotlib/matplotlib-2.2.0.ebuild
new file mode 100644
index 00000000000..0cbaceef40b
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-2.2.0.ebuild
@@ -0,0 +1,257 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
+
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="http://matplotlib.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="cairo doc excel examples gtk2 gtk3 latex pyside qt5 test tk wxwidgets"
+
+PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
+REQUIRED_USE="
+ doc? ( ${PY2_FLAGS} )
+ excel? ( ${PY2_FLAGS} )
+ gtk2? ( ${PY2_FLAGS} )
+ wxwidgets? ( ${PY2_FLAGS} )
+ test? (
+ cairo latex qt5 tk wxwidgets
+ || ( gtk2 gtk3 )
+ )"
+
+# #456704 -- a lot of py2-only deps
+PY2_USEDEP=$(python_gen_usedep python2_7)
+PY2_DEPEND="
+ $(python_gen_cond_dep 'dev-python/functools32[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep 'dev-python/subprocess32[${PYTHON_USEDEP}]' python2_7)
+ $(python_gen_cond_dep 'dev-python/backports-functools-lru-cache[${PYTHON_USEDEP}]' python2_7)"
+COMMON_DEPEND="
+ dev-python/cycler[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.7.1[${PYTHON_USEDEP}]
+ dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10[${PYTHON_USEDEP}]
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ >=media-libs/qhull-2013
+ cairo? ( dev-python/cairocffi[${PYTHON_USEDEP}] )
+ gtk2? (
+ dev-libs/glib:2=
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2
+ dev-python/pygtk[${PY2_USEDEP}] )
+ wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+
+DEPEND="${COMMON_DEPEND}
+ ${PY2_DEPEND}
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ app-text/dvipng
+ dev-python/colorspacious[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/mock[${PY2_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ sci-libs/scipy[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-gallery-0.1.12[${PYTHON_USEDEP}]
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ media-gfx/graphviz[cairo]
+ dev-python/kiwisolver[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ ${PY2_DEPEND}
+ >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
+ excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
+ gtk3? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection] )
+ latex? (
+ virtual/latex-base
+ app-text/ghostscript-gpl
+ app-text/dvipng
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-xetex
+ )
+ pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
+ qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
+ "
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ unset DISPLAY # bug #278524
+}
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use ${1}; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+# cat > lib/${PN}/externals/six.py <<-EOF
+# from __future__ import absolute_import
+# from six import *
+# EOF
+
+ local PATCHES=( "${FILESDIR}"/${P}-doc-make.patch )
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+
+ hprefixify setupext.py
+
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+ tc-export PKG_CONFIG
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+ [directories]
+ basedirlist = ${EPREFIX}/usr
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [packages]
+ tests = $(usex test True False)
+ [gui_support]
+ agg = True
+ qt4 = False
+ qt4agg = False
+ $(use_setup cairo)
+ $(use_setup gtk3)
+ $(use_setup pyside)
+ $(use_setup qt5)
+ $(use_setup tk)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+
+ if python_is_python3; then
+ cat >> "${BUILD_DIR}"/setup.cfg <<- EOF || die
+ gtk = False
+ gtkagg = False
+ wx = False
+ wxagg = False
+ EOF
+ else
+ cat >> "${BUILD_DIR}"/setup.cfg <<-EOF || die
+ $(use_setup gtk2 gtk)
+ $(use_setup wxwidgets wx)
+ EOF
+ fi
+}
+
+wrap_setup() {
+ local -x MPLSETUPCFG=${BUILD_DIR}/setup.cfg
+ unset DISPLAY
+ "$@"
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ # necessary for in-source build
+ local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+ VARTEXFONTS="${T}"/fonts \
+ emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+ fi
+}
+
+python_test() {
+ wrap_setup distutils_install_for_testing
+
+ virtx "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)"
+}
+
+python_install() {
+ wrap_setup distutils-r1_python_install
+
+ # mpl_toolkits namespace
+ python_moduleinto mpl_toolkits
+ python_domodule lib/mpl_toolkits/__init__.py
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ find "${D}" -name '*.pth' -delete || die
+}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2017-05-03 7:37 Michał Górny
0 siblings, 0 replies; 22+ messages in thread
From: Michał Górny @ 2017-05-03 7:37 UTC (permalink / raw
To: gentoo-commits
commit: aacf1c95aced54e84cf6243b494a429efad319d6
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 3 06:42:33 2017 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 3 07:37:35 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aacf1c95
dev-python/matplotlib: Clean old versions up
dev-python/matplotlib/Manifest | 2 -
.../files/matplotlib-1.3.1-unbundle-agg.patch | 26 --
.../files/matplotlib-1.3.1-unbundle-pycxx.patch | 22 --
.../matplotlib-1.5.1-sphinx-1.4.3-backport.patch | 58 -----
.../matplotlib-1.5.1-test-fix-backport-2.patch | 22 --
.../files/matplotlib-1.5.1-test-fix-backport.patch | 115 ---------
dev-python/matplotlib/matplotlib-1.5.0.ebuild | 266 --------------------
dev-python/matplotlib/matplotlib-1.5.1.ebuild | 273 ---------------------
8 files changed, 784 deletions(-)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index ac1be133fae..fde7fcea976 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,4 +1,2 @@
DIST matplotlib-1.4.3.tar.gz 49933525 SHA256 5b9544472d9d6ab3d47423bdb5a0e64fdf913e505c1c083f25283dd0362bc0b6 SHA512 51b0f58b2618b47b653e17e4f6b6a1215d3a3b0f1331ce3555cc7435e365d9c75693f289ce12fe3bf8f69fd57b663e545f0f1c2c94e81eaa661cac0689e125f5 WHIRLPOOL 160ca48ecb44db58f1c56bd6e89592c5d1badd8e434fc25d32aa6d4d7a346ae7c7444d1c8e0c2ca2bf5c3246fd56cd93856ec7b1e3e51f5e471b9b55a0f2c1ad
-DIST matplotlib-1.5.0.tar.gz 53962448 SHA256 67b08b1650a00a6317d94b76a30a47320087e5244920604c5462188cba0c2646 SHA512 559a3ef031ca65b431157f0dd50f7d81f2d854f92150ee2b9de5e44b31d49615bfdc049a682667bc2e1399b8cd724dfcefec8f4de7e92848fe5756f93ddef5fa WHIRLPOOL b30a7299dd0690cd0355883cbe7d335d76314bab85f5b67b326b0e600b479db3cd5e7f48e9e68d3604832e9605f5025c70ff0006b1980b945aeaf22f78e3469f
-DIST matplotlib-1.5.1.tar.gz 54031672 SHA256 3ab8d968eac602145642d0db63dd8d67c85e9a5444ce0e2ecb2a8fedc7224d40 SHA512 a0e78b5027a3a49cf8e77dc0d26f5f380dcd80f7b309b6121199acd5e1d94f48482864a9eee3bd397f7ac6f07fe1d3c21bf517217df3c72e8e3d105b7c2ae58e WHIRLPOOL 5d56b1e17542d01ea58cbe6a085fae930dd71dac793260fd418633d1364ab7822d5a0ef16041260637f2472b1d9276c002f84603ab655573b7d8058d959475cd
DIST matplotlib-1.5.3.tar.gz 51606089 SHA256 a0a5dc39f785014f2088fed2c6d2d129f0444f71afbb9c44f7bdf1b14d86ebbc SHA512 553be9f661a1923d8ec7504a11dd3317e5ffb429c19339c58047715f4c28358d6d2ac38d46bd27ecd1dcf7159f157aab80d90713fbc4071e2e395bbf11ee6385 WHIRLPOOL 7e2b0472bb7d913e78260da95c93c3243562e76352790318286e5d194f88ac05a9f51fa029a7b0ad17bbbbd0dc9658769fe6301b544ec03f1ab5c205835ea894
diff --git a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-agg.patch b/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-agg.patch
deleted file mode 100644
index d5a4ae39bad..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-agg.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- setupext.py.orig 2013-08-02 09:39:43.914247832 +0200
-+++ setupext.py 2013-08-02 09:40:14.785304342 +0200
-@@ -749,22 +749,7 @@
- return str(e) + ' Using local copy.'
-
- def add_flags(self, ext):
-- if self.found_external:
-- pkg_config.setup_extension(ext, 'libagg')
-- else:
-- ext.include_dirs.append('agg24/include')
-- agg_sources = [
-- 'agg_bezier_arc.cpp',
-- 'agg_curves.cpp',
-- 'agg_image_filters.cpp',
-- 'agg_trans_affine.cpp',
-- 'agg_vcgen_contour.cpp',
-- 'agg_vcgen_dash.cpp',
-- 'agg_vcgen_stroke.cpp',
-- 'agg_vpgen_segmentator.cpp'
-- ]
-- ext.sources.extend(
-- os.path.join('agg24', 'src', x) for x in agg_sources)
-+ pkg_config.setup_extension(ext, 'libagg', default_include_dirs=["/usr/include/agg2"])
-
-
- class FreeType(SetupPackage):
diff --git a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-pycxx.patch b/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-pycxx.patch
deleted file mode 100644
index c27922eb11d..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.3.1-unbundle-pycxx.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/setupext.py b/setupext.py
-index 7b629b6..8131bb1 100644
---- a/setupext.py
-+++ b/setupext.py
-@@ -674,16 +674,9 @@ class CXX(SetupPackage):
- name = 'pycxx'
-
- def check(self):
-- if sys.version_info[0] >= 3:
-- # There is no version of PyCXX in the wild that will work
-- # with Python 3.x
-- self.__class__.found_external = False
-- return ("Official versions of PyCXX are not compatible with "
-- "Python 3.x. Using local copy")
--
- self.__class__.found_external = True
- old_stdout = sys.stdout
-- sys.stdout = io.BytesIO()
-+ #sys.stdout = io.BytesIO()
- try:
- import CXX
- except ImportError:
diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch
deleted file mode 100644
index 19c111d8796..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From b7dfa4fa7a69d091dac0ead295d28422c4e33b45 Mon Sep 17 00:00:00 2001
-From: Thomas A Caswell <tcaswell@gmail.com>
-Date: Sun, 24 Jan 2016 13:05:18 -0500
-Subject: [PATCH] Merge pull request #5872 from jenshnielsen/sphinx134
-
-DOC: Fix issue with Sphinx 1.3.4
-
-Discarded changes to .travis.yml from #5872
----
- lib/matplotlib/dviread.py | 2 +-
- lib/matplotlib/patches.py | 18 ++++++++++++------
- 2 files changed, 13 insertions(+), 7 deletions(-)
-
-diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py
-index db6e976..1141f6a 100644
---- a/lib/matplotlib/dviread.py
-+++ b/lib/matplotlib/dviread.py
-@@ -841,7 +841,7 @@ def find_tex_file(filename, format=None):
- """
- Call :program:`kpsewhich` to find a file in the texmf tree. If
- *format* is not None, it is used as the value for the
-- :option:`--format` option.
-+ `--format` option.
-
- Apparently most existing TeX distributions on Unix-like systems
- use kpathsea. I hear MikTeX (a popular distribution on Windows)
-diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py
-index b8b7363..917eca7 100644
---- a/lib/matplotlib/patches.py
-+++ b/lib/matplotlib/patches.py
-@@ -2992,15 +2992,21 @@ class Bar(_Base):
-
- def __init__(self, armA=0., armB=0., fraction=0.3, angle=None):
- """
-- *armA* : minimum length of armA
-+ Parameters
-+ ----------
-+ armA : float
-+ minimum length of armA
-
-- *armB* : minimum length of armB
-+ armB : float
-+ minimum length of armB
-
-- *fraction* : a fraction of the distance between two points that
-- will be added to armA and armB.
-+ fraction : float
-+ a fraction of the distance between two points that
-+ will be added to armA and armB.
-
-- *angle* : angle of the connecting line (if None, parallel to A
-- and B)
-+ angle : float or None
-+ angle of the connecting line (if None, parallel
-+ to A and B)
- """
- self.armA = armA
- self.armB = armB
diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch
deleted file mode 100644
index c850d090f79..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From c28e1b0aebe19b7db292eb7c1b6deba8af6754e0 Mon Sep 17 00:00:00 2001
-From: Jens Hedegaard Nielsen <jens.nielsen@ucl.ac.uk>
-Date: Wed, 13 Jan 2016 13:48:06 +0000
-Subject: [PATCH] Fix new pep8 issue in legend_demo5
-
----
- examples/pylab_examples/legend_demo5.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/examples/pylab_examples/legend_demo5.py b/examples/pylab_examples/legend_demo5.py
-index 699babe..5668966 100644
---- a/examples/pylab_examples/legend_demo5.py
-+++ b/examples/pylab_examples/legend_demo5.py
-@@ -41,7 +41,7 @@ def create_artists(self, legend, orig_handle,
- lw = orig_handle.get_linewidths()[i]
- except IndexError:
- lw = orig_handle.get_linewidths()[0]
-- if dashes[0] != None:
-+ if dashes[0] is not None:
- legline.set_dashes(dashes[1])
- legline.set_color(color)
- legline.set_transform(trans)
diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch
deleted file mode 100644
index d031e5aeee6..00000000000
--- a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From 72cf5b80537157decc741d81db550e6cf82648f6 Mon Sep 17 00:00:00 2001
-From: Michael Droettboom <mdboom@gmail.com>
-Date: Mon, 11 Jan 2016 16:48:04 -0500
-Subject: [PATCH] Fix #5829. Update the baseline image.
-
----
- .../baseline_images/test_image/rasterize_10dpi.svg | 56 ++++++++++------------
- 1 file changed, 26 insertions(+), 30 deletions(-)
-
-diff --git a/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg b/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
-index 47e354d..1f73c8f 100644
---- a/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
-+++ b/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
-@@ -5,31 +5,29 @@
- <svg height="72pt" version="1.1" viewBox="0 0 216 72" width="216pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <style type="text/css">
--*{stroke-linecap:butt;stroke-linejoin:round;}
-+*{stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:100000;}
- </style>
- </defs>
- <g id="figure_1">
- <g id="patch_1">
-- <path d="
--M0 72
--L216 72
--L216 0
--L0 0
-+ <path d="M 0 72
-+L 216 72
-+L 216 0
-+L 0 0
- z
- " style="fill:#ffffff;"/>
- </g>
- <g id="axes_1">
- <g id="patch_2">
-- <path d="
--M27 60.6176
--L76.2353 60.6176
--L76.2353 11.3824
--L27 11.3824
-+ <path d="M 27 60.617647
-+L 76.235294 60.617647
-+L 76.235294 11.382353
-+L 27 11.382353
- z
- " style="fill:#ffffff;"/>
- </g>
-- <g clip-path="url(#pc31db6f15f)">
-- <image height="50.4" id="image2c20c31ecf" width="57.6" x="27.0" xlink:href="data:image/png;base64,
-+ <g clip-path="url(#p306f09a014)">
-+ <image height="50.4" id="image207c5863ce" width="57.6" x="27.0" xlink:href="data:image/png;base64,
- iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAABHNCSVQICAgIfAhkiAAAAIVJREFUCJmFzjkKwlAAhOEvKi5FMLU2HkEQwdbSU3knL+EBLMUFQayCUaMYF55FQEsH/mYYZiZiGkA3Ydj70UlAxR/Vhv09eLfPivipuOUe69QrjcvAZLwE99CShYPsnMgWiSI0QTSfdQNcjjWHTeNLnlXLhtGgnDju2KbEV+orTqX9/+QHCXAwPEkx7O0AAAAASUVORK5CYII=" y="10.2176470588"/>
- </g>
- <g id="matplotlib.axis_1"/>
-@@ -37,43 +35,41 @@ iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAABHNCSVQICAgIfAhkiAAAAIVJREFUCJmF
- </g>
- <g id="axes_2">
- <g id="patch_3">
-- <path d="
--M86.0824 64.8
--L135.318 64.8
--L135.318 7.2
--L86.0824 7.2
-+ <path d="M 86.082353 64.8
-+L 135.317647 64.8
-+L 135.317647 7.2
-+L 86.082353 7.2
- z
- " style="fill:#ffffff;"/>
- </g>
-- <image height="64.8" id="image1d9f73e233" width="136.8" x="79.2" xlink:href="data:image/png;base64,
--iVBORw0KGgoAAAANSUhEUgAAABMAAAAJCAYAAADQHRcxAAAABHNCSVQICAgIfAhkiAAAAHNJREFUKJG10kENwlAQBuH5OVQBImoBAzVQA1hABxoQUAUYqIWaqIRepqdHmoaE9AGbzGU3+U4blV/N6d0yoUnoE56HNPUV2IJ3cAYF3d4/VZArOBZgWw22RxZwALtvsAm8gecjyB57gBcwNUgpf3+N2lkBB3gBDVzLDTYAAAAASUVORK5CYII=" y="7.2"/>
-+ <image height="43.2" id="image2e9ed63e7b" width="50.4" x="86.39999999999999" xlink:href="data:image/png;base64,
-+iVBORw0KGgoAAAANSUhEUgAAAAcAAAAGCAYAAAAPDoR2AAAABHNCSVQICAgIfAhkiAAAAFVJREFUCJllzjEVwlAAxdDbBQUVgQUMYAADWKgONCAABRjAQk0ggSUdGPoPDFnyhjyVETrQhZ6jPNKN3tQXXem1i5F/+aEHncdxpYXmPaU7nWj6PbcBc+lWnSEOzhQAAAAASUVORK5CYII=" y="14.4"/>
- <g id="matplotlib.axis_3"/>
- <g id="matplotlib.axis_4"/>
- </g>
- <g id="axes_3">
- <g id="patch_4">
-- <path d="
--M145.165 64.8
--L194.4 64.8
--L194.4 7.2
--L145.165 7.2
-+ <path d="M 145.164706 64.8
-+L 194.4 64.8
-+L 194.4 7.2
-+L 145.164706 7.2
- z
- " style="fill:#ffffff;"/>
- </g>
- <g id="line2d_1">
-- <path clip-path="url(#p19b1e86336)" d="
--M145.165 45.6
--L194.4 26.4" style="fill:none;stroke:#0000ff;stroke-linecap:square;stroke-width:20.0;"/>
-+ <path clip-path="url(#pef029be595)" d="M 145.164706 45.6
-+L 194.4 26.4
-+" style="fill:none;stroke:#0000ff;stroke-linecap:square;stroke-width:20.0;"/>
- </g>
- <g id="matplotlib.axis_5"/>
- <g id="matplotlib.axis_6"/>
- </g>
- </g>
- <defs>
-- <clipPath id="p19b1e86336">
-+ <clipPath id="pef029be595">
- <rect height="57.6" width="49.2352941176" x="145.164705882" y="7.2"/>
- </clipPath>
-- <clipPath id="pc31db6f15f">
-+ <clipPath id="p306f09a014">
- <rect height="49.2352941176" width="49.2352941176" x="27.0" y="11.3823529412"/>
- </clipPath>
- </defs>
diff --git a/dev-python/matplotlib/matplotlib-1.5.0.ebuild b/dev-python/matplotlib/matplotlib-1.5.0.ebuild
deleted file mode 100644
index 53b90641e0d..00000000000
--- a/dev-python/matplotlib/matplotlib-1.5.0.ebuild
+++ /dev/null
@@ -1,266 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 eutils flag-o-matic virtualx toolchain-funcs
-
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="http://matplotlib.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-SLOT="0"
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="cairo doc excel examples fltk gtk2 gtk3 latex pyside qt4 qt5 test tk wxwidgets"
-
-PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
-REQUIRED_USE="
- doc? ( ${PY2_FLAGS} )
- excel? ( ${PY2_FLAGS} )
- fltk? ( ${PY2_FLAGS} )
- gtk2? ( ${PY2_FLAGS} )
- wxwidgets? ( ${PY2_FLAGS} )
- test? (
- cairo fltk latex pyside qt5 qt4 tk wxwidgets
- || ( gtk2 gtk3 )
- )"
-
-# #456704 -- a lot of py2-only deps
-PY2_USEDEP=$(python_gen_usedep python2_7)
-COMMON_DEPEND="
- dev-python/cycler[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
- dev-python/python-dateutil:0[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/six-1.4[${PYTHON_USEDEP}]
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- media-libs/qhull
- cairo? (
- || (
- dev-python/pycairo[${PYTHON_USEDEP}]
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- )
- gtk2? (
- dev-libs/glib:2=
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:2
- dev-python/pygtk[${PY2_USEDEP}] )
- wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-
-DEPEND="${COMMON_DEPEND}
- dev-python/versioneer[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- app-text/dvipng
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/mock[${PY2_USEDEP}]
- dev-python/numpydoc[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- !~dev-python/sphinx-1.3.4
- dev-python/xlwt[${PYTHON_USEDEP}]
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- media-gfx/graphviz[cairo]
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
- )"
-
-RDEPEND="${COMMON_DEPEND}
- >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
- excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
- fltk? ( dev-python/pyfltk[${PYTHON_USEDEP}] )
- gtk3? (
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection] )
- latex? (
- virtual/latex-base
- app-text/ghostscript-gpl
- app-text/dvipng
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-xetex
- )
- pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
- qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )
- qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
- "
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-pkg_setup() {
- unset DISPLAY # bug #278524
- use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
-}
-
-use_setup() {
- local uword="${2:-${1}}"
- if use ${1}; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
-# cat > lib/${PN}/externals/six.py <<-EOF
-# from __future__ import absolute_import
-# from six import *
-# EOF
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
-
- # suggested by upstream
-# sed \
-# -e '/tol/s:32:35:g' \
-# -i lib/matplotlib/tests/test_mathtext.py || die
-
- sed \
- -e "s:/usr/:${EPREFIX}/usr/:g" \
- -i setupext.py || die
-
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF
- [directories]
- basedirlist = "${EPREFIX}/usr"
- [provide_packages]
- pytz = False
- dateutil = False
- [gui_support]
- agg = True
- $(use_setup cairo)
- $(use_setup pyside)
- $(use_setup qt4)
- $(use_setup qt5)
- $(use_setup tk)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-
- if $(python_is_python3); then
- cat >> "${BUILD_DIR}"/setup.cfg <<- EOF
- six = True
- fltk = False
- fltkagg = False
- gtk = False
- gtkagg = False
- wx = False
- wxagg = False
- EOF
- else
- cat >> "${BUILD_DIR}"/setup.cfg <<-EOF
- six = False
- $(use_setup fltk)
- $(use_setup gtk2 gtk)
- $(use_setup gtk3)
- $(use_setup wxwidgets wx)
- EOF
- fi
-}
-
-wrap_setup() {
- local MPLSETUPCFG=${BUILD_DIR}/setup.cfg
- export MPLSETUPCFG
- unset DISPLAY
-
- # Note: remove build... if switching to out-of-source build
- "${@}" build --build-lib="${BUILD_DIR}"/build/lib
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- # necessary for in-source build
- local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
- VARTEXFONTS="${T}"/fonts \
- "${PYTHON}" ./make.py --small html || die
- fi
-}
-
-python_test() {
- wrap_setup distutils_install_for_testing
-
- #cd "${TMPDIR}" || die
- VIRTUALX_COMMAND="${PYTHON}"
- virtualmake -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)" || \
- die "Tests fail with ${EPYTHON}"
-# VIRTUALX_COMMAND=esetup.py
-# virtualmake test
-}
-
-python_install() {
- wrap_setup distutils-r1_python_install
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/matplotlib/matplotlib-1.5.1.ebuild b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
deleted file mode 100644
index 4be84aed2a4..00000000000
--- a/dev-python/matplotlib/matplotlib-1.5.1.ebuild
+++ /dev/null
@@ -1,273 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
-
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 eutils flag-o-matic multiprocessing virtualx toolchain-funcs
-
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="http://matplotlib.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-SLOT="0"
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="cairo doc excel examples fltk gtk2 gtk3 latex pyside qt4 qt5 test tk wxwidgets"
-
-PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
-REQUIRED_USE="
- doc? ( ${PY2_FLAGS} )
- excel? ( ${PY2_FLAGS} )
- fltk? ( ${PY2_FLAGS} )
- gtk2? ( ${PY2_FLAGS} )
- wxwidgets? ( ${PY2_FLAGS} )
- test? (
- cairo fltk latex pyside qt5 qt4 tk wxwidgets
- || ( gtk2 gtk3 )
- )"
-
-# #456704 -- a lot of py2-only deps
-PY2_USEDEP=$(python_gen_usedep python2_7)
-COMMON_DEPEND="
- dev-python/cycler[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
- dev-python/python-dateutil:0[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/six-1.4[${PYTHON_USEDEP}]
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- media-libs/qhull
- cairo? (
- || (
- dev-python/pycairo[${PYTHON_USEDEP}]
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- )
- gtk2? (
- dev-libs/glib:2=
- x11-libs/gdk-pixbuf
- x11-libs/gtk+:2
- dev-python/pygtk[${PY2_USEDEP}] )
- wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-
-DEPEND="${COMMON_DEPEND}
- dev-python/versioneer[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- app-text/dvipng
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/mock[${PY2_USEDEP}]
- dev-python/numpydoc[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/xlwt[${PYTHON_USEDEP}]
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- media-gfx/graphviz[cairo]
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
- )"
-
-RDEPEND="${COMMON_DEPEND}
- >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
- excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
- fltk? ( dev-python/pyfltk[${PYTHON_USEDEP}] )
- gtk3? (
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection] )
- latex? (
- virtual/latex-base
- app-text/ghostscript-gpl
- app-text/dvipng
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-xetex
- )
- pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
- qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )
- qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
- "
-
-# A few C++ source files are written to srcdir.
-# Other than that, the ebuild shall be fit for out-of-source build.
-DISTUTILS_IN_SOURCE_BUILD=1
-
-PATCHES=(
- "${FILESDIR}"/${P}-sphinx-1.4.3-backport.patch
- "${FILESDIR}"/${P}-test-fix-backport.patch
- "${FILESDIR}"/${P}-test-fix-backport-2.patch
- )
-
-pkg_setup() {
- unset DISPLAY # bug #278524
- use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
-}
-
-use_setup() {
- local uword="${2:-${1}}"
- if use ${1}; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
-# cat > lib/${PN}/externals/six.py <<-EOF
-# from __future__ import absolute_import
-# from six import *
-# EOF
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
-
- # suggested by upstream
-# sed \
-# -e '/tol/s:32:35:g' \
-# -i lib/matplotlib/tests/test_mathtext.py || die
-
- sed \
- -e "s:/usr/:${EPREFIX}/usr/:g" \
- -i setupext.py || die
-
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF
- [directories]
- basedirlist = "${EPREFIX}/usr"
- [provide_packages]
- pytz = False
- dateutil = False
- [gui_support]
- agg = True
- $(use_setup cairo)
- $(use_setup pyside)
- $(use_setup qt4)
- $(use_setup qt5)
- $(use_setup tk)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-
- if $(python_is_python3); then
- cat >> "${BUILD_DIR}"/setup.cfg <<- EOF
- six = True
- fltk = False
- fltkagg = False
- gtk = False
- gtkagg = False
- wx = False
- wxagg = False
- EOF
- else
- cat >> "${BUILD_DIR}"/setup.cfg <<-EOF
- six = False
- $(use_setup fltk)
- $(use_setup gtk2 gtk)
- $(use_setup gtk3)
- $(use_setup wxwidgets wx)
- EOF
- fi
-}
-
-wrap_setup() {
- local MPLSETUPCFG=${BUILD_DIR}/setup.cfg
- export MPLSETUPCFG
- unset DISPLAY
-
- # Note: remove build... if switching to out-of-source build
- "${@}" build --build-lib="${BUILD_DIR}"/build/lib
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- # necessary for in-source build
- local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
-
- VARTEXFONTS="${T}"/fonts \
- "${PYTHON}" ./make.py --small html || die
- fi
-}
-
-python_test() {
- wrap_setup distutils_install_for_testing
-
-# virtx ${PYTHON} tests.py \
-# --no-pep8 \
-# --no-network \
-# --verbose \
-# --processes=$(makeopts_jobs)
-
- virtx "${PYTHON}" -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)"
-}
-
-python_install() {
- wrap_setup distutils-r1_python_install
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2016-09-11 8:56 David Seifert
0 siblings, 0 replies; 22+ messages in thread
From: David Seifert @ 2016-09-11 8:56 UTC (permalink / raw
To: gentoo-commits
commit: dd36b6b07773e6c5fea7000c6ae288795787f6ea
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 10 21:13:40 2016 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Sep 11 08:47:52 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd36b6b0
dev-python/matplotlib: Version bump to 1.5.3
Gentoo-bug: 590396
* EAPI=6
Package-Manager: portage-2.3.0
dev-python/matplotlib/Manifest | 1 +
...atplotlib-1.5.3-freetype-spurious-failure.patch | 26 ++
dev-python/matplotlib/matplotlib-1.5.3.ebuild | 269 +++++++++++++++++++++
3 files changed, 296 insertions(+)
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index b2f8629..ac1be13 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,3 +1,4 @@
DIST matplotlib-1.4.3.tar.gz 49933525 SHA256 5b9544472d9d6ab3d47423bdb5a0e64fdf913e505c1c083f25283dd0362bc0b6 SHA512 51b0f58b2618b47b653e17e4f6b6a1215d3a3b0f1331ce3555cc7435e365d9c75693f289ce12fe3bf8f69fd57b663e545f0f1c2c94e81eaa661cac0689e125f5 WHIRLPOOL 160ca48ecb44db58f1c56bd6e89592c5d1badd8e434fc25d32aa6d4d7a346ae7c7444d1c8e0c2ca2bf5c3246fd56cd93856ec7b1e3e51f5e471b9b55a0f2c1ad
DIST matplotlib-1.5.0.tar.gz 53962448 SHA256 67b08b1650a00a6317d94b76a30a47320087e5244920604c5462188cba0c2646 SHA512 559a3ef031ca65b431157f0dd50f7d81f2d854f92150ee2b9de5e44b31d49615bfdc049a682667bc2e1399b8cd724dfcefec8f4de7e92848fe5756f93ddef5fa WHIRLPOOL b30a7299dd0690cd0355883cbe7d335d76314bab85f5b67b326b0e600b479db3cd5e7f48e9e68d3604832e9605f5025c70ff0006b1980b945aeaf22f78e3469f
DIST matplotlib-1.5.1.tar.gz 54031672 SHA256 3ab8d968eac602145642d0db63dd8d67c85e9a5444ce0e2ecb2a8fedc7224d40 SHA512 a0e78b5027a3a49cf8e77dc0d26f5f380dcd80f7b309b6121199acd5e1d94f48482864a9eee3bd397f7ac6f07fe1d3c21bf517217df3c72e8e3d105b7c2ae58e WHIRLPOOL 5d56b1e17542d01ea58cbe6a085fae930dd71dac793260fd418633d1364ab7822d5a0ef16041260637f2472b1d9276c002f84603ab655573b7d8058d959475cd
+DIST matplotlib-1.5.3.tar.gz 51606089 SHA256 a0a5dc39f785014f2088fed2c6d2d129f0444f71afbb9c44f7bdf1b14d86ebbc SHA512 553be9f661a1923d8ec7504a11dd3317e5ffb429c19339c58047715f4c28358d6d2ac38d46bd27ecd1dcf7159f157aab80d90713fbc4071e2e395bbf11ee6385 WHIRLPOOL 7e2b0472bb7d913e78260da95c93c3243562e76352790318286e5d194f88ac05a9f51fa029a7b0ad17bbbbd0dc9658769fe6301b544ec03f1ab5c205835ea894
diff --git a/dev-python/matplotlib/files/matplotlib-1.5.3-freetype-spurious-failure.patch b/dev-python/matplotlib/files/matplotlib-1.5.3-freetype-spurious-failure.patch
new file mode 100644
index 00000000..bc6891a
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.5.3-freetype-spurious-failure.patch
@@ -0,0 +1,26 @@
+Increase the tolerance margin in order to pass tests caused by
+freetype producing unreproducible images across different versions.
+See also: https://github.com/matplotlib/matplotlib/issues/2667
+
+--- a/lib/matplotlib/tests/test_mathtext.py
++++ b/lib/matplotlib/tests/test_mathtext.py
+@@ -158,7 +158,7 @@
+ def make_set(basename, fontset, tests, extensions=None):
+ def make_test(filename, test):
+ @image_comparison(baseline_images=[filename], extensions=extensions,
+- tol=32)
++ tol=40)
+ def single_test():
+ matplotlib.rcParams['mathtext.fontset'] = fontset
+ fig = plt.figure(figsize=(5.25, 0.75))
+--- a/lib/matplotlib/tests/test_text.py
++++ b/lib/matplotlib/tests/test_text.py
+@@ -18,7 +18,7 @@
+ from matplotlib.backends.backend_agg import RendererAgg
+
+
+-@image_comparison(baseline_images=['font_styles'])
++@image_comparison(baseline_images=['font_styles'], tol=20)
+ def test_font_styles():
+ from matplotlib import _get_data_path
+ data_path = _get_data_path()
diff --git a/dev-python/matplotlib/matplotlib-1.5.3.ebuild b/dev-python/matplotlib/matplotlib-1.5.3.ebuild
new file mode 100644
index 00000000..2afda5b
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-1.5.3.ebuild
@@ -0,0 +1,269 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{3,4,5} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 eutils flag-o-matic multiprocessing virtualx toolchain-funcs
+
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="http://matplotlib.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="cairo doc excel examples fltk gtk2 gtk3 latex pyside qt4 qt5 test tk wxwidgets"
+
+PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
+REQUIRED_USE="
+ doc? ( ${PY2_FLAGS} )
+ excel? ( ${PY2_FLAGS} )
+ fltk? ( ${PY2_FLAGS} )
+ gtk2? ( ${PY2_FLAGS} )
+ wxwidgets? ( ${PY2_FLAGS} )
+ test? (
+ cairo fltk latex pyside qt5 qt4 tk wxwidgets
+ || ( gtk2 gtk3 )
+ )"
+
+# #456704 -- a lot of py2-only deps
+PY2_USEDEP=$(python_gen_usedep python2_7)
+COMMON_DEPEND="
+ dev-python/cycler[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4[${PYTHON_USEDEP}]
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ media-libs/qhull
+ cairo? (
+ || (
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ )
+ gtk2? (
+ dev-libs/glib:2=
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2
+ dev-python/pygtk[${PY2_USEDEP}] )
+ wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+
+DEPEND="${COMMON_DEPEND}
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ app-text/dvipng
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/mock[${PY2_USEDEP}]
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ media-gfx/graphviz[cairo]
+ )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
+ excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
+ fltk? ( dev-python/pyfltk[${PYTHON_USEDEP}] )
+ gtk3? (
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection] )
+ latex? (
+ virtual/latex-base
+ app-text/ghostscript-gpl
+ app-text/dvipng
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-xetex
+ )
+ pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
+ qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )
+ qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
+ "
+
+# A few C++ source files are written to srcdir.
+# Other than that, the ebuild shall be fit for out-of-source build.
+DISTUTILS_IN_SOURCE_BUILD=1
+
+PATCHES=( "${FILESDIR}/${PN}-1.5.3-freetype-spurious-failure.patch" )
+
+pkg_setup() {
+ unset DISPLAY # bug #278524
+ use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
+}
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use ${1}; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+# cat > lib/${PN}/externals/six.py <<-EOF
+# from __future__ import absolute_import
+# from six import *
+# EOF
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+
+ # suggested by upstream
+# sed \
+# -e '/tol/s:32:35:g' \
+# -i lib/matplotlib/tests/test_mathtext.py || die
+
+ sed \
+ -e "s:/usr/:${EPREFIX}/usr/:g" \
+ -i setupext.py || die
+
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+ tc-export PKG_CONFIG
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+ [directories]
+ basedirlist = "${EPREFIX}/usr"
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [gui_support]
+ agg = True
+ $(use_setup cairo)
+ $(use_setup pyside)
+ $(use_setup qt4)
+ $(use_setup qt5)
+ $(use_setup tk)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+
+ if $(python_is_python3); then
+ cat >> "${BUILD_DIR}"/setup.cfg <<- EOF || die
+ six = True
+ fltk = False
+ fltkagg = False
+ gtk = False
+ gtkagg = False
+ wx = False
+ wxagg = False
+ EOF
+ else
+ cat >> "${BUILD_DIR}"/setup.cfg <<-EOF || die
+ six = False
+ $(use_setup fltk)
+ $(use_setup gtk2 gtk)
+ $(use_setup gtk3)
+ $(use_setup wxwidgets wx)
+ EOF
+ fi
+}
+
+wrap_setup() {
+ local MPLSETUPCFG=${BUILD_DIR}/setup.cfg
+ export MPLSETUPCFG
+ unset DISPLAY
+
+ # Note: remove build... if switching to out-of-source build
+ "${@}" build --build-lib="${BUILD_DIR}"/build/lib
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ # necessary for in-source build
+ local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+ VARTEXFONTS="${T}"/fonts \
+ "${EPYTHON}" ./make.py --small html || die
+ fi
+}
+
+python_test() {
+ wrap_setup distutils_install_for_testing
+
+# virtx ${EPYTHON} tests.py \
+# --no-pep8 \
+# --no-network \
+# --verbose \
+# --processes=$(makeopts_jobs)
+
+ virtx "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)"
+}
+
+python_install() {
+ wrap_setup distutils-r1_python_install
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2016-01-25 8:31 Justin Lecher
0 siblings, 0 replies; 22+ messages in thread
From: Justin Lecher @ 2016-01-25 8:31 UTC (permalink / raw
To: gentoo-commits
commit: e76eb6f17968c523b546fc42d2f50e6e4102ca53
Author: Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 25 07:46:49 2016 +0000
Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Mon Jan 25 07:46:49 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e76eb6f1
dev-python/matplotlib: Backport patch for problems with sphinx-1.3.4
Package-Manager: portage-2.2.27
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>
.../matplotlib-1.5.1-sphinx-1.4.3-backport.patch | 58 ++++++++++++++++++++++
dev-python/matplotlib/matplotlib-1.5.1.ebuild | 2 +-
2 files changed, 59 insertions(+), 1 deletion(-)
diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch
new file mode 100644
index 0000000..19c111d
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.5.1-sphinx-1.4.3-backport.patch
@@ -0,0 +1,58 @@
+From b7dfa4fa7a69d091dac0ead295d28422c4e33b45 Mon Sep 17 00:00:00 2001
+From: Thomas A Caswell <tcaswell@gmail.com>
+Date: Sun, 24 Jan 2016 13:05:18 -0500
+Subject: [PATCH] Merge pull request #5872 from jenshnielsen/sphinx134
+
+DOC: Fix issue with Sphinx 1.3.4
+
+Discarded changes to .travis.yml from #5872
+---
+ lib/matplotlib/dviread.py | 2 +-
+ lib/matplotlib/patches.py | 18 ++++++++++++------
+ 2 files changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/lib/matplotlib/dviread.py b/lib/matplotlib/dviread.py
+index db6e976..1141f6a 100644
+--- a/lib/matplotlib/dviread.py
++++ b/lib/matplotlib/dviread.py
+@@ -841,7 +841,7 @@ def find_tex_file(filename, format=None):
+ """
+ Call :program:`kpsewhich` to find a file in the texmf tree. If
+ *format* is not None, it is used as the value for the
+- :option:`--format` option.
++ `--format` option.
+
+ Apparently most existing TeX distributions on Unix-like systems
+ use kpathsea. I hear MikTeX (a popular distribution on Windows)
+diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py
+index b8b7363..917eca7 100644
+--- a/lib/matplotlib/patches.py
++++ b/lib/matplotlib/patches.py
+@@ -2992,15 +2992,21 @@ class Bar(_Base):
+
+ def __init__(self, armA=0., armB=0., fraction=0.3, angle=None):
+ """
+- *armA* : minimum length of armA
++ Parameters
++ ----------
++ armA : float
++ minimum length of armA
+
+- *armB* : minimum length of armB
++ armB : float
++ minimum length of armB
+
+- *fraction* : a fraction of the distance between two points that
+- will be added to armA and armB.
++ fraction : float
++ a fraction of the distance between two points that
++ will be added to armA and armB.
+
+- *angle* : angle of the connecting line (if None, parallel to A
+- and B)
++ angle : float or None
++ angle of the connecting line (if None, parallel
++ to A and B)
+ """
+ self.armA = armA
+ self.armB = armB
diff --git a/dev-python/matplotlib/matplotlib-1.5.1.ebuild b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
index 904233a..3635965 100644
--- a/dev-python/matplotlib/matplotlib-1.5.1.ebuild
+++ b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
@@ -74,7 +74,6 @@ DEPEND="${COMMON_DEPEND}
dev-python/mock[${PY2_USEDEP}]
dev-python/numpydoc[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
- !~dev-python/sphinx-1.3.4
dev-python/xlwt[${PYTHON_USEDEP}]
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
@@ -112,6 +111,7 @@ RDEPEND="${COMMON_DEPEND}
DISTUTILS_IN_SOURCE_BUILD=1
PATCHES=(
+ "${FILESDIR}"/${P}-sphinx-1.4.3-backport.patch
"${FILESDIR}"/${P}-test-fix-backport.patch
"${FILESDIR}"/${P}-test-fix-backport-2.patch
)
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2016-01-15 12:32 Justin Lecher
0 siblings, 0 replies; 22+ messages in thread
From: Justin Lecher @ 2016-01-15 12:32 UTC (permalink / raw
To: gentoo-commits
commit: 0842291d0ea6a9c62513692c7320f0ef85e167f5
Author: Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 15 12:31:54 2016 +0000
Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Fri Jan 15 12:32:09 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0842291d
dev-python/matplotlib: Backport test fix
Package-Manager: portage-2.2.26
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>
.../matplotlib-1.5.1-test-fix-backport-2.patch | 22 ++++++++++++++++++++++
dev-python/matplotlib/matplotlib-1.5.1.ebuild | 10 ++++------
2 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch
new file mode 100644
index 0000000..c850d09
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport-2.patch
@@ -0,0 +1,22 @@
+From c28e1b0aebe19b7db292eb7c1b6deba8af6754e0 Mon Sep 17 00:00:00 2001
+From: Jens Hedegaard Nielsen <jens.nielsen@ucl.ac.uk>
+Date: Wed, 13 Jan 2016 13:48:06 +0000
+Subject: [PATCH] Fix new pep8 issue in legend_demo5
+
+---
+ examples/pylab_examples/legend_demo5.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/examples/pylab_examples/legend_demo5.py b/examples/pylab_examples/legend_demo5.py
+index 699babe..5668966 100644
+--- a/examples/pylab_examples/legend_demo5.py
++++ b/examples/pylab_examples/legend_demo5.py
+@@ -41,7 +41,7 @@ def create_artists(self, legend, orig_handle,
+ lw = orig_handle.get_linewidths()[i]
+ except IndexError:
+ lw = orig_handle.get_linewidths()[0]
+- if dashes[0] != None:
++ if dashes[0] is not None:
+ legline.set_dashes(dashes[1])
+ legline.set_color(color)
+ legline.set_transform(trans)
diff --git a/dev-python/matplotlib/matplotlib-1.5.1.ebuild b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
index 9fabf36..410effc 100644
--- a/dev-python/matplotlib/matplotlib-1.5.1.ebuild
+++ b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
@@ -110,7 +110,10 @@ RDEPEND="${COMMON_DEPEND}
# Other than that, the ebuild shall be fit for out-of-source build.
DISTUTILS_IN_SOURCE_BUILD=1
-PATCHES=( "${FILESDIR}"/${P}-test-fix-backport.patch )
+PATCHES=(
+ "${FILESDIR}"/${P}-test-fix-backport.patch
+ "${FILESDIR}"/${P}-test-fix-backport-2.patch
+ )
pkg_setup() {
unset DISPLAY # bug #278524
@@ -156,11 +159,6 @@ python_prepare_all() {
-e "s:/usr/:${EPREFIX}/usr/:g" \
-i setupext.py || die
- # https://github.com/matplotlib/matplotlib/issues/5857
- sed \
- -e 's:test_pep8_conformance_examples:_&:g' \
- -i lib/matplotlib/tests/test_coding_standards.py || die
-
export XDG_RUNTIME_DIR="${T}/runtime-dir"
mkdir "${XDG_RUNTIME_DIR}" || die
chmod 0700 "${XDG_RUNTIME_DIR}" || die
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2016-01-15 9:50 Justin Lecher
0 siblings, 0 replies; 22+ messages in thread
From: Justin Lecher @ 2016-01-15 9:50 UTC (permalink / raw
To: gentoo-commits
commit: f14b48b11ac6a9af9ce16712f165aab754436282
Author: Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 15 09:25:01 2016 +0000
Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Fri Jan 15 09:50:34 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f14b48b1
dev-python/matplotlib: Backport test fix and skip next one
Package-Manager: portage-2.2.26
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>
.../files/matplotlib-1.5.1-test-fix-backport.patch | 115 +++++++++++++++++++++
dev-python/matplotlib/matplotlib-1.5.1.ebuild | 8 +-
2 files changed, 120 insertions(+), 3 deletions(-)
diff --git a/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch
new file mode 100644
index 0000000..d031e5a
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.5.1-test-fix-backport.patch
@@ -0,0 +1,115 @@
+From 72cf5b80537157decc741d81db550e6cf82648f6 Mon Sep 17 00:00:00 2001
+From: Michael Droettboom <mdboom@gmail.com>
+Date: Mon, 11 Jan 2016 16:48:04 -0500
+Subject: [PATCH] Fix #5829. Update the baseline image.
+
+---
+ .../baseline_images/test_image/rasterize_10dpi.svg | 56 ++++++++++------------
+ 1 file changed, 26 insertions(+), 30 deletions(-)
+
+diff --git a/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg b/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
+index 47e354d..1f73c8f 100644
+--- a/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
++++ b/lib/matplotlib/tests/baseline_images/test_image/rasterize_10dpi.svg
+@@ -5,31 +5,29 @@
+ <svg height="72pt" version="1.1" viewBox="0 0 216 72" width="216pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <style type="text/css">
+-*{stroke-linecap:butt;stroke-linejoin:round;}
++*{stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:100000;}
+ </style>
+ </defs>
+ <g id="figure_1">
+ <g id="patch_1">
+- <path d="
+-M0 72
+-L216 72
+-L216 0
+-L0 0
++ <path d="M 0 72
++L 216 72
++L 216 0
++L 0 0
+ z
+ " style="fill:#ffffff;"/>
+ </g>
+ <g id="axes_1">
+ <g id="patch_2">
+- <path d="
+-M27 60.6176
+-L76.2353 60.6176
+-L76.2353 11.3824
+-L27 11.3824
++ <path d="M 27 60.617647
++L 76.235294 60.617647
++L 76.235294 11.382353
++L 27 11.382353
+ z
+ " style="fill:#ffffff;"/>
+ </g>
+- <g clip-path="url(#pc31db6f15f)">
+- <image height="50.4" id="image2c20c31ecf" width="57.6" x="27.0" xlink:href="data:image/png;base64,
++ <g clip-path="url(#p306f09a014)">
++ <image height="50.4" id="image207c5863ce" width="57.6" x="27.0" xlink:href="data:image/png;base64,
+ iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAABHNCSVQICAgIfAhkiAAAAIVJREFUCJmFzjkKwlAAhOEvKi5FMLU2HkEQwdbSU3knL+EBLMUFQayCUaMYF55FQEsH/mYYZiZiGkA3Ydj70UlAxR/Vhv09eLfPivipuOUe69QrjcvAZLwE99CShYPsnMgWiSI0QTSfdQNcjjWHTeNLnlXLhtGgnDju2KbEV+orTqX9/+QHCXAwPEkx7O0AAAAASUVORK5CYII=" y="10.2176470588"/>
+ </g>
+ <g id="matplotlib.axis_1"/>
+@@ -37,43 +35,41 @@ iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAABHNCSVQICAgIfAhkiAAAAIVJREFUCJmF
+ </g>
+ <g id="axes_2">
+ <g id="patch_3">
+- <path d="
+-M86.0824 64.8
+-L135.318 64.8
+-L135.318 7.2
+-L86.0824 7.2
++ <path d="M 86.082353 64.8
++L 135.317647 64.8
++L 135.317647 7.2
++L 86.082353 7.2
+ z
+ " style="fill:#ffffff;"/>
+ </g>
+- <image height="64.8" id="image1d9f73e233" width="136.8" x="79.2" xlink:href="data:image/png;base64,
+-iVBORw0KGgoAAAANSUhEUgAAABMAAAAJCAYAAADQHRcxAAAABHNCSVQICAgIfAhkiAAAAHNJREFUKJG10kENwlAQBuH5OVQBImoBAzVQA1hABxoQUAUYqIWaqIRepqdHmoaE9AGbzGU3+U4blV/N6d0yoUnoE56HNPUV2IJ3cAYF3d4/VZArOBZgWw22RxZwALtvsAm8gecjyB57gBcwNUgpf3+N2lkBB3gBDVzLDTYAAAAASUVORK5CYII=" y="7.2"/>
++ <image height="43.2" id="image2e9ed63e7b" width="50.4" x="86.39999999999999" xlink:href="data:image/png;base64,
++iVBORw0KGgoAAAANSUhEUgAAAAcAAAAGCAYAAAAPDoR2AAAABHNCSVQICAgIfAhkiAAAAFVJREFUCJllzjEVwlAAxdDbBQUVgQUMYAADWKgONCAABRjAQk0ggSUdGPoPDFnyhjyVETrQhZ6jPNKN3tQXXem1i5F/+aEHncdxpYXmPaU7nWj6PbcBc+lWnSEOzhQAAAAASUVORK5CYII=" y="14.4"/>
+ <g id="matplotlib.axis_3"/>
+ <g id="matplotlib.axis_4"/>
+ </g>
+ <g id="axes_3">
+ <g id="patch_4">
+- <path d="
+-M145.165 64.8
+-L194.4 64.8
+-L194.4 7.2
+-L145.165 7.2
++ <path d="M 145.164706 64.8
++L 194.4 64.8
++L 194.4 7.2
++L 145.164706 7.2
+ z
+ " style="fill:#ffffff;"/>
+ </g>
+ <g id="line2d_1">
+- <path clip-path="url(#p19b1e86336)" d="
+-M145.165 45.6
+-L194.4 26.4" style="fill:none;stroke:#0000ff;stroke-linecap:square;stroke-width:20.0;"/>
++ <path clip-path="url(#pef029be595)" d="M 145.164706 45.6
++L 194.4 26.4
++" style="fill:none;stroke:#0000ff;stroke-linecap:square;stroke-width:20.0;"/>
+ </g>
+ <g id="matplotlib.axis_5"/>
+ <g id="matplotlib.axis_6"/>
+ </g>
+ </g>
+ <defs>
+- <clipPath id="p19b1e86336">
++ <clipPath id="pef029be595">
+ <rect height="57.6" width="49.2352941176" x="145.164705882" y="7.2"/>
+ </clipPath>
+- <clipPath id="pc31db6f15f">
++ <clipPath id="p306f09a014">
+ <rect height="49.2352941176" width="49.2352941176" x="27.0" y="11.3823529412"/>
+ </clipPath>
+ </defs>
diff --git a/dev-python/matplotlib/matplotlib-1.5.1.ebuild b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
index 053e68d..9fabf36 100644
--- a/dev-python/matplotlib/matplotlib-1.5.1.ebuild
+++ b/dev-python/matplotlib/matplotlib-1.5.1.ebuild
@@ -110,6 +110,8 @@ RDEPEND="${COMMON_DEPEND}
# Other than that, the ebuild shall be fit for out-of-source build.
DISTUTILS_IN_SOURCE_BUILD=1
+PATCHES=( "${FILESDIR}"/${P}-test-fix-backport.patch )
+
pkg_setup() {
unset DISPLAY # bug #278524
use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
@@ -154,10 +156,10 @@ python_prepare_all() {
-e "s:/usr/:${EPREFIX}/usr/:g" \
-i setupext.py || die
- # https://github.com/matplotlib/matplotlib/issues/5829
+ # https://github.com/matplotlib/matplotlib/issues/5857
sed \
- -e '/rasterize_10dpi/s:5e-2:10:g' \
- -i lib/matplotlib/tests/test_image.py || die
+ -e 's:test_pep8_conformance_examples:_&:g' \
+ -i lib/matplotlib/tests/test_coding_standards.py || die
export XDG_RUNTIME_DIR="${T}/runtime-dir"
mkdir "${XDG_RUNTIME_DIR}" || die
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/
@ 2015-10-21 13:41 Justin Lecher
0 siblings, 0 replies; 22+ messages in thread
From: Justin Lecher @ 2015-10-21 13:41 UTC (permalink / raw
To: gentoo-commits
commit: e87319182c93cb6b8052275993e6a67cac9bc224
Author: Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 21 10:00:30 2015 +0000
Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Wed Oct 21 13:40:24 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e8731918
dev-python/matplotlib: Backported test fix
Package-Manager: portage-2.2.23
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>
.../matplotlib-1.4.3-backport-GH5291-2462.patch | 126 +++++++++++++++++++++
dev-python/matplotlib/matplotlib-1.4.3.ebuild | 4 +
dev-python/matplotlib/matplotlib-9999.ebuild | 1 +
3 files changed, 131 insertions(+)
diff --git a/dev-python/matplotlib/files/matplotlib-1.4.3-backport-GH5291-2462.patch b/dev-python/matplotlib/files/matplotlib-1.4.3-backport-GH5291-2462.patch
new file mode 100644
index 0000000..d6b2ae8
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-1.4.3-backport-GH5291-2462.patch
@@ -0,0 +1,126 @@
+commit f98c4846dc3c15b3d24aafb973764cb9b860d935
+Author: Thomas A Caswell <tcaswell@gmail.com>
+Date: Sat Jan 10 16:10:29 2015 -0500
+
+ MNT : removed deprecated method/kwargs from patheffects
+
+ Deprecated in #2462 / 84e0063bd37c629f129d36c548e8ce3a30692cae
+
+ attn @pelson had to known-fail a test which was using the
+ proxy renderer to verify that PathEffectRender was working
+ correctly.
+
+diff --git a/lib/matplotlib/patheffects.py b/lib/matplotlib/patheffects.py
+index 13f8ce0..19e1c4a 100644
+--- a/lib/matplotlib/patheffects.py
++++ b/lib/matplotlib/patheffects.py
+@@ -10,9 +10,7 @@ from __future__ import (absolute_import, division, print_function,
+ import six
+
+ from matplotlib.backend_bases import RendererBase
+-from matplotlib.backends.backend_mixed import MixedModeRenderer
+ import matplotlib.transforms as mtransforms
+-import matplotlib.cbook as cbook
+ from matplotlib.colors import colorConverter
+ import matplotlib.patches as mpatches
+
+@@ -42,12 +40,6 @@ class AbstractPathEffect(object):
+ return transform + self._offset_trans.clear().translate(offset_x,
+ offset_y)
+
+- def get_proxy_renderer(self, renderer):
+- """Return a PathEffectRenderer instance for this PathEffect."""
+- cbook.deprecated('v1.4', name='get_proxy_renderer',
+- alternative='PathEffectRenderer')
+- return PathEffectRenderer([self], renderer)
+-
+ def _update_gc(self, gc, new_gc_dict):
+ """
+ Update the given GraphicsCollection with the given
+@@ -219,9 +211,9 @@ class withStroke(Stroke):
+
+ class SimplePatchShadow(AbstractPathEffect):
+ """A simple shadow via a filled patch."""
+- def __init__(self, offset=(2,-2),
+- shadow_rgbFace=None, alpha=None, patch_alpha=None,
+- rho=0.3, offset_xy=None, **kwargs):
++ def __init__(self, offset=(2, -2),
++ shadow_rgbFace=None, alpha=None,
++ rho=0.3, **kwargs):
+ """
+ Parameters
+ ----------
+@@ -241,24 +233,12 @@ class SimplePatchShadow(AbstractPathEffect):
+ :meth:`AbstractPathEffect._update_gc`.
+
+ """
+- if offset_xy is not None:
+- cbook.deprecated('v1.4', 'The offset_xy keyword is deprecated. '
+- 'Use the offset keyword instead.')
+- offset = offset_xy
+ super(SimplePatchShadow, self).__init__(offset)
+
+ if shadow_rgbFace is None:
+ self._shadow_rgbFace = shadow_rgbFace
+ else:
+ self._shadow_rgbFace = colorConverter.to_rgba(shadow_rgbFace)
+- if patch_alpha is not None:
+- cbook.deprecated('v1.4', 'The patch_alpha keyword is deprecated. '
+- 'Use the alpha keyword instead. Transform your '
+- 'patch_alpha by alpha = 1 - patch_alpha')
+- if alpha is not None:
+- raise ValueError("Both alpha and patch_alpha were set. "
+- "Just use alpha.")
+- alpha = 1 - patch_alpha
+
+ if alpha is None:
+ alpha = 0.3
+diff --git a/lib/matplotlib/tests/test_patheffects.py b/lib/matplotlib/tests/test_patheffects.py
+index 8298ceb..5af71e5 100644
+--- a/lib/matplotlib/tests/test_patheffects.py
++++ b/lib/matplotlib/tests/test_patheffects.py
+@@ -5,7 +5,8 @@ import six
+
+ import numpy as np
+
+-from matplotlib.testing.decorators import image_comparison, cleanup
++from matplotlib.testing.decorators import (image_comparison, cleanup,
++ knownfailureif)
+ import matplotlib.pyplot as plt
+ import matplotlib.patheffects as path_effects
+
+@@ -84,19 +85,7 @@ def test_patheffect3():
+
+
+ @cleanup
+-def test_PathEffect_get_proxy():
+- pe = path_effects.AbstractPathEffect()
+- fig = plt.gcf()
+- renderer = fig.canvas.get_renderer()
+-
+- with mock.patch('matplotlib.cbook.deprecated') as dep:
+- proxy_renderer = pe.get_proxy_renderer(renderer)
+- assert_equal(proxy_renderer._renderer, renderer)
+- assert_equal(proxy_renderer._path_effects, [pe])
+- dep.assert_called()
+-
+-
+-@cleanup
++@knownfailureif(True)
+ def test_PathEffect_points_to_pixels():
+ fig = plt.figure(dpi=150)
+ p1, = plt.plot(range(10))
+@@ -116,11 +105,9 @@ def test_PathEffect_points_to_pixels():
+ pe_renderer.points_to_pixels(15))
+
+
+-def test_SimplePatchShadow_offset_xy():
+- with mock.patch('matplotlib.cbook.deprecated') as dep:
+- pe = path_effects.SimplePatchShadow(offset_xy=(4, 5))
++def test_SimplePatchShadow_offset():
++ pe = path_effects.SimplePatchShadow(offset=(4, 5))
+ assert_equal(pe._offset, (4, 5))
+- dep.assert_called()
+
+
+ @image_comparison(baseline_images=['collection'])
diff --git a/dev-python/matplotlib/matplotlib-1.4.3.ebuild b/dev-python/matplotlib/matplotlib-1.4.3.ebuild
index 78303eb..bf6eb50 100644
--- a/dev-python/matplotlib/matplotlib-1.4.3.ebuild
+++ b/dev-python/matplotlib/matplotlib-1.4.3.ebuild
@@ -126,6 +126,10 @@ use_setup() {
fi
}
+PATCHES=(
+ "${FILESDIR}"/${P}-backport-GH5291-2462.patch
+)
+
python_prepare_all() {
# Generates test failures, but fedora does it
# local PATCHES=(
diff --git a/dev-python/matplotlib/matplotlib-9999.ebuild b/dev-python/matplotlib/matplotlib-9999.ebuild
index 7fd7da9..64665e7 100644
--- a/dev-python/matplotlib/matplotlib-9999.ebuild
+++ b/dev-python/matplotlib/matplotlib-9999.ebuild
@@ -39,6 +39,7 @@ REQUIRED_USE="
# #456704 -- a lot of py2-only deps
PY2_USEDEP=$(python_gen_usedep python2_7)
COMMON_DEPEND="
+ dev-python/cycler[${PYTHON_USEDEP}]
>=dev-python/numpy-1.6[${PYTHON_USEDEP}]
dev-python/python-dateutil:0[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
^ permalink raw reply related [flat|nested] 22+ messages in thread
end of thread, other threads:[~2024-11-15 13:50 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-15 10:11 [gentoo-commits] repo/gentoo:master commit in: dev-python/matplotlib/files/, dev-python/matplotlib/ Michał Górny
-- strict thread matches above, loose matches on Subject: below --
2024-11-15 13:50 Nowa Ammerlaan
2024-07-11 11:59 Michał Górny
2024-05-16 17:29 Michał Górny
2023-08-30 4:02 Sam James
2023-07-24 10:59 Michał Górny
2023-04-21 4:06 Michał Górny
2023-01-12 6:14 Michał Górny
2022-05-03 10:20 Michał Górny
2021-09-07 7:10 Michał Górny
2021-02-25 13:24 Michał Górny
2021-01-29 10:43 Michał Górny
2021-01-04 9:45 Michał Górny
2020-09-15 22:19 Michał Górny
2020-06-18 10:26 Michał Górny
2018-03-08 22:37 Andrey Grozin
2017-05-03 7:37 Michał Górny
2016-09-11 8:56 David Seifert
2016-01-25 8:31 Justin Lecher
2016-01-15 12:32 Justin Lecher
2016-01-15 9:50 Justin Lecher
2015-10-21 13:41 Justin Lecher
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox