commit:     c81c9f363c84d88bc8221276dfa79c6f30004c19
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 17 10:33:40 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb 17 10:38:34 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c81c9f36

dev-python/tikzplotlib: enable py3.11, fix running tests

Tests are a mess here, they've been failing for a while but the
virtx nonfatal sneaky bit meant nobody noticed (now fixed).

Applied a patch from a PR upstream to partially fix compat
w/ new matplotlib but it only brings us from 34->25 failed tests.

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

 dev-python/tikzplotlib/Manifest                    |  2 +-
 .../tikzplotlib-0.10.1-matplotlib-3.6.0.patch      | 48 ++++++++++++++++++++++
 ...-0.10.1.ebuild => tikzplotlib-0.10.1-r1.ebuild} | 19 ++++++---
 3 files changed, 63 insertions(+), 6 deletions(-)

diff --git a/dev-python/tikzplotlib/Manifest b/dev-python/tikzplotlib/Manifest
index 3b505fe0be91..a43373fd4058 100644
--- a/dev-python/tikzplotlib/Manifest
+++ b/dev-python/tikzplotlib/Manifest
@@ -1 +1 @@
-DIST tikzplotlib-0.10.1.tar.gz 98265 BLAKE2B 
7664e702afb38580af78f2b0887000215a5a0c2ef57e4f9ca5d1100bcba257365b89aee805e800e3a9b5a992487c1ee9733088dadc53941405c0055336478130
 SHA512 
13a750d9929db1d4ce4608a296523be55878c702846b0b339c6c002cbdf4e8f7b1ffea84db612d8932a379fafce9b4fe6ab6ce4325bf780f211cc0b885a15818
+DIST tikzplotlib-0.10.1.gh.tar.gz 98265 BLAKE2B 
7664e702afb38580af78f2b0887000215a5a0c2ef57e4f9ca5d1100bcba257365b89aee805e800e3a9b5a992487c1ee9733088dadc53941405c0055336478130
 SHA512 
13a750d9929db1d4ce4608a296523be55878c702846b0b339c6c002cbdf4e8f7b1ffea84db612d8932a379fafce9b4fe6ab6ce4325bf780f211cc0b885a15818

diff --git 
a/dev-python/tikzplotlib/files/tikzplotlib-0.10.1-matplotlib-3.6.0.patch 
b/dev-python/tikzplotlib/files/tikzplotlib-0.10.1-matplotlib-3.6.0.patch
new file mode 100644
index 000000000000..2c3a0e506cc6
--- /dev/null
+++ b/dev-python/tikzplotlib/files/tikzplotlib-0.10.1-matplotlib-3.6.0.patch
@@ -0,0 +1,48 @@
+https://github.com/texworld/tikzplotlib/issues/567
+https://github.com/texworld/tikzplotlib/pull/558
+
+From f9988eb6aa7cc7d55c0bb528c53e7a8408308939 Mon Sep 17 00:00:00 2001
+From: Paul Kim <44695374+thekp...@users.noreply.github.com>
+Date: Mon, 3 Oct 2022 01:15:21 +0900
+Subject: [PATCH 1/2] Legend Compatibility Issue in texworld#557
+
+.
+
+.
+--- a/src/tikzplotlib/_legend.py
++++ b/src/tikzplotlib/_legend.py
+@@ -78,7 +78,7 @@ def draw_legend(data, obj):
+     if alignment:
+         data["current axes"].axis_options.append(f"legend cell 
align={{{alignment}}}")
+ 
+-    if obj._ncol != 1:
++    if obj._ncols != 1:
+         data["current axes"].axis_options.append(f"legend 
columns={obj._ncol}")
+ 
+     # Write styles to data
+
+From 61f7ea2fb2633f1c0de48f8da1f90a5f9ba078c1 Mon Sep 17 00:00:00 2001
+From: Paul Kim <44695374+thekp...@users.noreply.github.com>
+Date: Wed, 5 Oct 2022 11:30:48 +0900
+Subject: [PATCH 2/2] Backwards Compat for `ncol`
+
+Co-authored-by: st-- <s...@users.noreply.github.com>
+--- a/src/tikzplotlib/_legend.py
++++ b/src/tikzplotlib/_legend.py
+@@ -78,8 +78,13 @@ def draw_legend(data, obj):
+     if alignment:
+         data["current axes"].axis_options.append(f"legend cell 
align={{{alignment}}}")
+ 
+-    if obj._ncols != 1:
+-        data["current axes"].axis_options.append(f"legend 
columns={obj._ncol}")
++    try:
++        ncols = obj._ncols
++    except AttributeError:
++        # backwards-compatibility with matplotlib < 3.6.0
++        ncols = obj._ncol
++    if ncols != 1:
++        data["current axes"].axis_options.append(f"legend columns={ncols}")
+ 
+     # Write styles to data
+     if legend_style:
+

diff --git a/dev-python/tikzplotlib/tikzplotlib-0.10.1.ebuild 
b/dev-python/tikzplotlib/tikzplotlib-0.10.1-r1.ebuild
similarity index 73%
rename from dev-python/tikzplotlib/tikzplotlib-0.10.1.ebuild
rename to dev-python/tikzplotlib/tikzplotlib-0.10.1-r1.ebuild
index 67419d0063ef..7b21d67ed209 100644
--- a/dev-python/tikzplotlib/tikzplotlib-0.10.1.ebuild
+++ b/dev-python/tikzplotlib/tikzplotlib-0.10.1-r1.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..10} )
+PYTHON_COMPAT=( python3_{9..11} )
 
 inherit distutils-r1 virtualx
 
@@ -13,26 +13,31 @@ HOMEPAGE="
        https://github.com/texworld/tikzplotlib/
        https://pypi.org/project/tikzplotlib/
 "
-SRC_URI="https://github.com/texworld/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+SRC_URI="https://github.com/texworld/${PN}/archive/v${PV}.tar.gz -> 
${P}.gh.tar.gz"
 
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
 
+# https://github.com/texworld/tikzplotlib/issues/567 for mpl-3.6.0 dep
 RDEPEND="
        app-text/texlive[extra]
-       dev-python/matplotlib[latex,${PYTHON_USEDEP}]
+       <dev-python/matplotlib-3.6.0[latex,${PYTHON_USEDEP}]
        dev-python/numpy[${PYTHON_USEDEP}]
        dev-python/pillow[${PYTHON_USEDEP}]
        dev-python/webcolors[${PYTHON_USEDEP}]
 "
-
 BDEPEND="
        test? (
                dev-python/pandas[${PYTHON_USEDEP}]
                dev-python/pytest-codeblocks[${PYTHON_USEDEP}]
                dev-python/scipy[${PYTHON_USEDEP}]
-       )"
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.10.1-matplotlib-3.6.0.patch
+)
 
 distutils_enable_tests pytest
 distutils_enable_sphinx doc dev-python/mock
@@ -41,3 +46,7 @@ src_test() {
        local -x MPLBACKEND=Agg
        virtx distutils-r1_src_test
 }
+
+python_test() {
+       epytest || die "Tests failed with ${EPYTHON}"
+}

Reply via email to