From 1afe1c223c048ca2c33fa230c83d620c04fecb8f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 24 Sep 2022 11:31:39 +0100 Subject: gentoo auto-resync : 24:09:2022 - 11:31:39 --- dev-python/Manifest.gz | Bin 261561 -> 261732 bytes dev-python/contourpy/Manifest | 3 + dev-python/contourpy/contourpy-1.0.5.ebuild | 47 ++++ dev-python/contourpy/metadata.xml | 12 + dev-python/matplotlib/Manifest | 3 + .../matplotlib/files/matplotlib-3.6.0-test.patch | 260 +++++++++++++++++++ dev-python/matplotlib/matplotlib-3.6.0.ebuild | 284 +++++++++++++++++++++ 7 files changed, 609 insertions(+) create mode 100644 dev-python/contourpy/Manifest create mode 100644 dev-python/contourpy/contourpy-1.0.5.ebuild create mode 100644 dev-python/contourpy/metadata.xml create mode 100644 dev-python/matplotlib/files/matplotlib-3.6.0-test.patch create mode 100644 dev-python/matplotlib/matplotlib-3.6.0.ebuild (limited to 'dev-python') diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz index 5bb0de71271e..3af6b91dc3f5 100644 Binary files a/dev-python/Manifest.gz and b/dev-python/Manifest.gz differ diff --git a/dev-python/contourpy/Manifest b/dev-python/contourpy/Manifest new file mode 100644 index 000000000000..e6dbd8b46332 --- /dev/null +++ b/dev-python/contourpy/Manifest @@ -0,0 +1,3 @@ +DIST contourpy-1.0.5.gh.tar.gz 12153420 BLAKE2B 1b3899831938c114480606f0c2ef2962248721884cd2be727f2bd11d12d322e7652c7b63860f4c5d8bd039a7e838f3f360dd1af017219caa97dfc63d69ef7e19 SHA512 47dc08f02920cb0ffc081f313dd041fa36e2fd0a81530374ae77adc288af13cf2c526fc1f45d06ef1c256c4c8fe243e0b36b54d3fff7d4f8bd6f9f4938d3c805 +EBUILD contourpy-1.0.5.ebuild 1008 BLAKE2B c8624b30bc1be86de01fad3fb5ab7d335c90bb2e7172ba4a9715dc5c2738730d26be70fecf7a8ce95269017e6be3dca1a1a6e0e02680473b8f880c0a7580dbcc SHA512 45b4c11631bdc03deaa46b4bdc846adaad5bc9db59f070ab5e710c6fedd70be65a778512dc7228d54939a27ad46c050fc7bdd480af01593ee0646ef59acf7aab +MISC metadata.xml 372 BLAKE2B de3d6cc9d8727bf43be63fdbb8aa2ad375667d189019e189be262e39d028acab98a21e200798c2d5c5c72521aa7d38202e3e235dd44de9b43a7dc9e045d50c47 SHA512 e692f94d805d7f56fc895a4c76dfbacf2f068d687b9191482b946445baa3bd0a685eda7a1b0aec2aaf9a02e6f23d87f0bf22d90f42e3c21d930724c635ff859a diff --git a/dev-python/contourpy/contourpy-1.0.5.ebuild b/dev-python/contourpy/contourpy-1.0.5.ebuild new file mode 100644 index 000000000000..9ccea39952a2 --- /dev/null +++ b/dev-python/contourpy/contourpy-1.0.5.ebuild @@ -0,0 +1,47 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..11} ) + +inherit distutils-r1 + +DESCRIPTION="Python library for calculating contours in 2D quadrilateral grids" +HOMEPAGE=" + https://pypi.org/project/contourpy/ + https://github.com/contourpy/contourpy/ +" +SRC_URI=" + https://github.com/contourpy/contourpy/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/numpy-1.16[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/pybind11-2.6[${PYTHON_USEDEP}] + test? ( + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local EPYTEST_IGNORE=( + # linters + tests/test_codebase.py + ) + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + # threaded algorithms are known to be broken + # https://github.com/contourpy/contourpy/issues/163 + epytest -k "not threaded and not threads" +} diff --git a/dev-python/contourpy/metadata.xml b/dev-python/contourpy/metadata.xml new file mode 100644 index 000000000000..ebd4ed83a551 --- /dev/null +++ b/dev-python/contourpy/metadata.xml @@ -0,0 +1,12 @@ + + + + + python@gentoo.org + Python + + + contourpy/contourpy + contourpy + + diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest index 1b8b165b2c92..07cae7331001 100644 --- a/dev-python/matplotlib/Manifest +++ b/dev-python/matplotlib/Manifest @@ -1,11 +1,14 @@ AUX matplotlib-3.3.3-disable-lto.patch 828 BLAKE2B 2044ef633091f27080d20e3e1b2c74605e13e99c9d044e97accde3b0a7946ef656f10c9bf5c036745f8ec85380e48cfd5e3d6fe8a023fa60e408d270f45a1da5 SHA512 81562749756b0415c6ce333d3cbbc197306dc9c2c425ec761767271c974badd13fe9a497c74231cd1bf9347f03ef0593bceff9b597289a8328e7c0211c7047ed AUX matplotlib-3.5.0-test.patch 10430 BLAKE2B 26f07224ad540c6fdaeec05d901ddb70c55bc3c8ba21e71fe2739e109cfad513f5a4231e99dcf65a00bbbe626b8966b46be1f4a53f80e03a7fd1ca8d3ed87b0a SHA512 560653a1a2ab311e3041e872cb9d1e82125fe4b98208160ddedfd3f6f26a9488714039736ebbf256d190307354a7a513609ea5e9b8876d8c6afef8bde034d3f9 AUX matplotlib-3.5.2-test.patch 10981 BLAKE2B cd7406a1452b22d5782ef293b10e1fbed819c0fd832a7e4d5104020250f207bb87186a95815e2357379b2dc3bc87ae2f37387c7c423bdf41122ec330712ad53f SHA512 551d3ec3fb2bb14ccecee8056d78511e9b739af8b00f41d60be9a840b661725ff2eb4b22d72d8a9ccafa22e61c99db8dff216d7fb8ce537446a95056abea4d93 +AUX matplotlib-3.6.0-test.patch 10781 BLAKE2B 797fe4c86d94ecbfa5b7699c63f68e663ab842cb0a5bdedb059103bd62bc91e73bf135d3fca49ba93bf246e0fc68012b8ee85a20c83582823cf210d238ec8d0c SHA512 195fdf5f6af23ba5eb72fbd65ded1066c7e400af73e5c64fe989a231c6a3a32f0eb8a2196b48a7ba39079e3815d4a6c346dcc41175b80a673c7beefaa85bbb53 DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b DIST matplotlib-3.5.1.tar.gz 35320470 BLAKE2B ebf69b62ac587c61ecf8442abaab302019f63a3c9d8db6f7f7fb32f4d14da554fd8305ea6dfed2ff86a5af4e7e4d2b81f14802692fe50c986f7da8545bd26c00 SHA512 a317dbd748e5fc1fafcf80020cb6d38a8888431487beded97acd59d759e67e54f59506b642e4a03d4351c1ac050d15e3f2e2b5443433debc78ddad52881c8d82 DIST matplotlib-3.5.2.tar.gz 35210006 BLAKE2B e3f90a0cf1d28f041a8cdd6920a8a4efe16169bb4acf85f7b2562196db306eeb692218728ea33c7b62214e7894e83a104954cbef38c45ccbb4f630bd35c0c36b SHA512 32844dfa85dbc43360c1773d748a58d2ab089111c51c825da62956c778a0eeaf10ca33a5c6c094295388a80d5873a2e1b17484e02b653e9e8e5ba98659329974 DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670 +DIST matplotlib-3.6.0.tar.gz 35749946 BLAKE2B 1e2e80e124ef1a0a1843ba077c3c933b55a77062fd5cc49d304dd2d12f6323ff60f32113dc0c57388796682841367734283ea5c82e149d6fa3f379516800d131 SHA512 ea8cb274b9aacb4cc9c3b52cf5eaf881074dc73840cba160289e85173d763e96d3ea3628c5cb53f765092f53b9e3d05977281cc0c9d6756529601ca336ec0e27 EBUILD matplotlib-3.5.1-r2.ebuild 7232 BLAKE2B 38969ec1fd4c035afe1be859825105203abe9ecc0c9ef409a64fe4e041d87324205e58c8085c628bf80a11550f453351ef518807c4f5365092bfc6f9498b213a SHA512 8c7424c236d0348d23c117d0433316c92d85fcd1902d436b418bc2c0602d648cfa8d24f8ddfb3ada0b8d9e68feda3e9526c93cf9dcf6569db516e2596581a886 EBUILD matplotlib-3.5.2-r3.ebuild 7393 BLAKE2B 87bea3c13eac18a8bfecffa9266bcde29681b43b4d9430e47b7a9acebc45cba14483c7ccdd0b43967c9125cc760fce9cdcaea783aec649fed06b2ddd96f55f19 SHA512 200a53e212de82d9ea655a327350cb7ddc00bdd078fa9627dca540064972e3ed03fca02af5db0ac4b52ba65445846a674c920a9275afb696c4020da897664f32 EBUILD matplotlib-3.5.3.ebuild 7448 BLAKE2B e97bfe986cbea48af575c7b60cbf5aacf4219601dd1d911cccce0c317fbaa05118721a9caa994eddd2686fd53ebd6db12b04d812b862c42d1ceb6ab6551269d5 SHA512 5179e6d5d8825917c571869bb0787241f9f6a70607ae48246f230e52108c50fdf341e3ad42efd328bd4b05f4475284e1894d0b48cb99b3a9227953bb3a5918ad +EBUILD matplotlib-3.6.0.ebuild 7441 BLAKE2B 32ee669044de4d9b7723b1ce3d8768fb0a8fb2487571231c2102e7e0f6982b4e380f5b3e8f6279a94b424f6dc4caa479b9fb2ea4115781ab2148f67ddc2e12cc SHA512 b7a4469d352c25e688c172ec1857d8ca1f6c1a3f5855135594de733389539584fe5ac38ca17e7973c8425d0fca2bfd18bf9504834f37c70d3bbecc8ce86a5157 MISC metadata.xml 1075 BLAKE2B 6e2f62f6788e5a673bd54e375e6c7e8fb32d4dd181a48cf62582b93f78ef7a0e513417d24e940844188d5ab38bb2946c09e80d40706c207648c95eeac672a796 SHA512 38d935eed141df3a8d675b51a547135c9a357ab2058292640a9e98a07e3e3cc70348011d8c4f7f9f0ddece9531b56a1b2dfb2245cf1dfe065d43dc834ca78748 diff --git a/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch new file mode 100644 index 000000000000..4f0fe2207507 --- /dev/null +++ b/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch @@ -0,0 +1,260 @@ +From 72702bcc76e3daf34d43aa76942f1008946712d6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +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 + # use former defaults to match existing baseline image +@@ -2334,7 +2334,7 @@ def test_contour_hatching(): + extend='both', alpha=0.5) + + +-@image_comparison(['contour_colorbar'], style='mpl20') ++@image_comparison(['contour_colorbar'], style='mpl20', tol=0.015) + def test_contour_colorbar(): + x, y, z = contour_dat() + +@@ -4616,7 +4616,7 @@ def test_vertex_markers(): + + + @image_comparison(['vline_hline_zorder', 'errorbar_zorder'], +- tol=0 if platform.machine() == 'x86_64' else 0.02) ++ tol=0.015 if platform.machine() == 'x86_64' else 0.02) + def test_eb_line_zorder(): + x = list(range(10)) + +diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py +index 482bc073a7..faa8cfa5ce 100644 +--- a/lib/matplotlib/tests/test_backend_pgf.py ++++ b/lib/matplotlib/tests/test_backend_pgf.py +@@ -79,7 +79,7 @@ def create_figure(): + # test compiling a figure to pdf with xelatex + @needs_pgf_xelatex + @pytest.mark.backend('pgf') +-@image_comparison(['pgf_xelatex.pdf'], style='default') ++@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8) + def test_xelatex(): + rc_xelatex = {'font.family': 'serif', + 'pgf.rcfonts': False} +diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py +index 149ed4c3d2..bf10709297 100644 +--- a/lib/matplotlib/tests/test_colorbar.py ++++ b/lib/matplotlib/tests/test_colorbar.py +@@ -231,7 +231,7 @@ def test_colorbar_single_ax_panchor_east(constrained): + assert ax.get_anchor() == 'E' + + +-@image_comparison(['contour_colorbar.png'], remove_text=True) ++@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01) + def test_contour_colorbar(): + fig, ax = plt.subplots(figsize=(4, 2)) + data = np.arange(1200).reshape(30, 40) - 500 +diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py +index 2c76f34cb1..a6a0619443 100644 +--- a/lib/matplotlib/tests/test_contour.py ++++ b/lib/matplotlib/tests/test_contour.py +@@ -318,7 +318,7 @@ def test_contourf_log_extension(): + + + @image_comparison(['contour_addlines.png'], +- remove_text=True, style='mpl20', tol=0.03) ++ remove_text=True, style='mpl20', tol=0.2) + # tolerance is because image changed minutely when tick finding on + # colorbars was cleaned up... + def test_contour_addlines(): +diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py +index 48b4a880e0..2b31fe6273 100644 +--- a/lib/matplotlib/tests/test_figure.py ++++ b/lib/matplotlib/tests/test_figure.py +@@ -26,7 +26,7 @@ import matplotlib.dates as mdates + + + @image_comparison(['figure_align_labels'], extensions=['png', 'svg'], +- tol=0 if platform.machine() == 'x86_64' else 0.01) ++ tol=0.02) + def test_align_labels(): + fig = plt.figure(layout='tight') + gs = gridspec.GridSpec(3, 3) +diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py +index 46dbe4cfe8..cb171e83f8 100644 +--- a/lib/matplotlib/tests/test_image.py ++++ b/lib/matplotlib/tests/test_image.py +@@ -1323,7 +1323,7 @@ def test_nonuniform_and_pcolor(): + + + @image_comparison(["rgba_antialias.png"], style="mpl20", +- remove_text=True) ++ remove_text=True, tol=0.005) + def test_rgba_antialias(): + fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False, + sharey=False, constrained_layout=True) +diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py +index 16847e0be6..80159952c1 100644 +--- a/lib/matplotlib/tests/test_legend.py ++++ b/lib/matplotlib/tests/test_legend.py +@@ -118,7 +118,7 @@ def test_multiple_keys(): + + + @image_comparison(['rgba_alpha.png'], remove_text=True, +- tol=0 if platform.machine() == 'x86_64' else 0.01) ++ tol=0.02) + def test_alpha_rgba(): + fig, ax = plt.subplots() + ax.plot(range(10), lw=5) +@@ -127,7 +127,7 @@ def test_alpha_rgba(): + + + @image_comparison(['rcparam_alpha.png'], remove_text=True, +- tol=0 if platform.machine() == 'x86_64' else 0.01) ++ tol=0.02) + def test_alpha_rcparam(): + fig, ax = plt.subplots() + ax.plot(range(10), lw=5) +@@ -153,7 +153,7 @@ def test_fancy(): + + + @image_comparison(['framealpha'], remove_text=True, +- tol=0 if platform.machine() == 'x86_64' else 0.02) ++ tol=0.02) + def test_framealpha(): + x = np.linspace(1, 100, 100) + y = x +diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py +index e7002df8a5..e83a90ccb1 100644 +--- a/lib/matplotlib/tests/test_lines.py ++++ b/lib/matplotlib/tests/test_lines.py +@@ -165,7 +165,8 @@ def test_set_drawstyle(): + assert len(line.get_path().vertices) == len(x) + + +-@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20') ++@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20', ++ tol=0.62) + def test_set_line_coll_dash_image(): + fig, ax = plt.subplots() + np.random.seed(0) +diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py +index 5ee6df09e4..ab059bb4a3 100644 +--- a/lib/matplotlib/tests/test_streamplot.py ++++ b/lib/matplotlib/tests/test_streamplot.py +@@ -34,7 +34,8 @@ def test_startpoints(): + plt.plot(start_x, start_y, 'ok') + + +-@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20') ++@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20', ++ tol=0.002) + def test_colormap(): + X, Y, U, V = velocity_field() + plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2, +diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py +index d3b8c5a716..56a1d0a0a4 100644 +--- a/lib/matplotlib/tests/test_units.py ++++ b/lib/matplotlib/tests/test_units.py +@@ -79,7 +79,7 @@ def quantity_converter(): + # Tests that the conversion machinery works properly for classes that + # work as a facade over numpy arrays (like pint) + @image_comparison(['plot_pint.png'], style='mpl20', +- tol=0 if platform.machine() == 'x86_64' else 0.01) ++ tol=0.002 if platform.machine() == 'x86_64' else 0.01) + def test_numpy_facade(quantity_converter): + # use former defaults to match existing baseline image + plt.rcParams['axes.formatter.limits'] = -7, 7 +@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter): + + # Tests gh-8908 + @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20', +- tol=0 if platform.machine() == 'x86_64' else 0.01) ++ tol=0.02) + def test_plot_masked_units(): + data = np.linspace(-5, 5) + data_masked = np.ma.array(data, mask=(data > -2) & (data < 2)) +diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py +index 22309afdaf..0b7cea8ac4 100644 +--- a/lib/matplotlib/tests/test_usetex.py ++++ b/lib/matplotlib/tests/test_usetex.py +@@ -14,6 +14,7 @@ import matplotlib.pyplot as plt + pytestmark = needs_usetex + + ++@pytest.mark.skip(reason="TODO: broken") + @image_comparison( + baseline_images=['test_usetex'], + extensions=['pdf', 'png'], +diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py +index 374b8c721f..77b1d5f4a1 100644 +--- a/lib/mpl_toolkits/tests/test_axes_grid1.py ++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py +@@ -335,7 +335,7 @@ def test_zooming_with_inverted_axes(): + + + @image_comparison(['anchored_direction_arrows.png'], +- tol=0 if platform.machine() == 'x86_64' else 0.01) ++ tol=0.02) + def test_anchored_direction_arrows(): + fig, ax = plt.subplots() + ax.imshow(np.zeros((10, 10)), interpolation='nearest') +-- +2.37.3 + diff --git a/dev-python/matplotlib/matplotlib-3.6.0.ebuild b/dev-python/matplotlib/matplotlib-3.6.0.ebuild new file mode 100644 index 000000000000..86141df51a4f --- /dev/null +++ b/dev-python/matplotlib/matplotlib-3.6.0.ebuild @@ -0,0 +1,284 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..11} ) +PYTHON_REQ_USE='tk?,threads(+)' + +inherit distutils-r1 flag-o-matic multiprocessing prefix toolchain-funcs \ + virtualx + +FT_PV=2.6.1 +DESCRIPTION="Pure python plotting library with matlab like syntax" +HOMEPAGE=" + https://matplotlib.org/ + https://github.com/matplotlib/matplotlib/ + https://pypi.org/project/matplotlib/ +" +SRC_URI=" + mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz + test? ( + https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz + ) +" + +# Main license: matplotlib +# Some modules: BSD +# matplotlib/backends/qt4_editor: MIT +# Fonts: BitstreamVera, OFL-1.1 +LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1" +SLOT="0" +KEYWORDS="~amd64" +IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets" + +# internal copy of pycxx highly patched +# dev-python/pycxx +RDEPEND=" + dev-python/certifi[${PYTHON_USEDEP}] + >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}] + >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}] + >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}] + >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}] + >=dev-python/numpy-1.19[${PYTHON_USEDEP}] + >=dev-python/packaging-20.0[${PYTHON_USEDEP}] + >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}] + >=dev-python/pytz-2019.3[${PYTHON_USEDEP}] + >=dev-python/six-1.14.0[${PYTHON_USEDEP}] + media-fonts/dejavu + media-fonts/stix-fonts + media-libs/freetype:2 + media-libs/libpng:0 + >=media-libs/qhull-2013:= + virtual/imagemagick-tools[jpeg,tiff] + cairo? ( + dev-python/cairocffi[${PYTHON_USEDEP}] + ) + excel? ( + dev-python/xlwt[${PYTHON_USEDEP}] + ) + gtk3? ( + >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}] + x11-libs/gtk+:3[introspection] + ) + latex? ( + virtual/latex-base + app-text/dvipng + app-text/ghostscript-gpl + app-text/poppler[utils] + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-luatex + dev-texlive/texlive-xetex + ) + qt5? ( + dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] + ) + webagg? ( + >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}] + ) + wxwidgets? ( + $(python_gen_cond_dep ' + dev-python/wxpython:*[${PYTHON_USEDEP}] + ' python3_{8..10}) + ) +" + +BDEPEND=" + ${RDEPEND} + >=dev-python/setuptools_scm-7[${PYTHON_USEDEP}] + dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}] + virtual/pkgconfig + doc? ( + >=app-text/dvipng-1.15-r1 + >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}] + >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}] + >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}] + >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}] + >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}] + >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}] + >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}] + virtual/latex-base + dev-texlive/texlive-latexextra + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-luatex + dev-texlive/texlive-xetex + >=media-gfx/graphviz-2.42.3[cairo] + ) + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}] + >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}] + x11-libs/gtk+:3[introspection] + ) +" + +distutils_enable_tests pytest + +use_setup() { + local uword="${2:-${1}}" + if use "${1}"; then + echo "${uword} = True" + echo "${uword}agg = True" + else + echo "${uword} = False" + echo "${uword}agg = False" + fi +} + +python_prepare_all() { +# Generates test failures, but fedora does it +# local PATCHES=( +# "${FILESDIR}"/${P}-unbundle-pycxx.patch +# "${FILESDIR}"/${P}-unbundle-agg.patch +# ) +# rm -r agg24 CXX || die +# rm -r agg24 || die + +# cat > lib/${PN}/externals/six.py <<-EOF +# from __future__ import absolute_import +# from six import * +# EOF + + # Affects installed _version.py, bug #854600 + export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + + local PATCHES=( + "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch + "${FILESDIR}"/matplotlib-3.6.0-test.patch + ) + + sed \ + -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \ + -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \ + || die "sed pyparsing failed" + sed -i -e '/setuptools_scm/s:,<7::' setup.py || die + + hprefixify setupext.py + + rm -rf libqhull || die + + distutils-r1_python_prepare_all +} + +python_configure_all() { + append-flags -fno-strict-aliasing + append-cppflags -DNDEBUG # or get old trying to do triangulation + tc-export PKG_CONFIG + + unset DISPLAY # bug #278524 + export XDG_RUNTIME_DIR="${T}/runtime-dir" + mkdir "${XDG_RUNTIME_DIR}" || die + chmod 0700 "${XDG_RUNTIME_DIR}" || die +} + +python_configure() { + mkdir -p "${BUILD_DIR}" || die + + # create setup.cfg (see setup.cfg.template for any changes). + + # common switches. + cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die + [directories] + basedirlist = ${EPREFIX}/usr + [provide_packages] + pytz = False + dateutil = False + [libs] + system_freetype = True + system_qhull = True + [packages] + tests = True + [gui_support] + agg = True + gtk = False + gtkagg = False + macosx = False + pyside = False + pysideagg = False + qt4 = False + qt4agg = False + $(use_setup cairo) + $(use_setup gtk3) + $(use_setup qt5) + $(use_setup tk) + $(use_setup wxwidgets wx) + EOF + + if use gtk3 && use cairo; then + echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die + else + echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die + fi +} + +wrap_setup() { + local MAKEOPTS=-j1 + local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg + "$@" +} + +python_compile() { + wrap_setup distutils-r1_python_compile + find "${BUILD_DIR}" -name '*.pth' -delete || die +} + +python_compile_all() { + if use doc; then + cd doc || die + + VARTEXFONTS="${T}"/fonts \ + emake SPHINXOPTS= O=-Dplot_formats=png:100 html + fi +} + +src_test() { + mkdir build || die + ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die + virtx distutils-r1_src_test +} + +python_test() { + local EPYTEST_DESELECT=( + # broken by -Wdefault + "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]" + "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]" + tests/test_testing.py::test_warn_to_fail + ) + [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=( + # https://github.com/matplotlib/matplotlib/issues/23384 + "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]" + "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]" + ) + + # we need to rebuild mpl against bundled freetype, otherwise + # over 1000 tests will fail because of mismatched font rendering + grep -v system_freetype "${BUILD_DIR}"/setup.cfg \ + > "${BUILD_DIR}"/test-setup.cfg || die + local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg + + esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib + local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH} + + # speed tests up + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + nonfatal epytest --pyargs matplotlib -m "not network" \ + -p xdist.plugin -n "$(makeopts_jobs)" || die +} + +python_install_all() { + use doc && local HTML_DOCS=( doc/build/html/. ) + + distutils-r1_python_install_all + + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi +} -- cgit v1.2.3