commit:     48e07ea8abd7fe63bf7c276eae7ffa956f9f64b6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 24 20:08:30 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan 24 20:08:39 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48e07ea8

dev-python/pydot: workaround pyparsing-3 issue

Closes: https://bugs.gentoo.org/830676
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../pydot/files/pydot-1.4.2-pyparsing-3.patch      | 22 +++++++++++++
 dev-python/pydot/pydot-1.4.2-r2.ebuild             | 36 ++++++++++++++++++++++
 2 files changed, 58 insertions(+)

diff --git a/dev-python/pydot/files/pydot-1.4.2-pyparsing-3.patch 
b/dev-python/pydot/files/pydot-1.4.2-pyparsing-3.patch
new file mode 100644
index 000000000000..09d4c654ac17
--- /dev/null
+++ b/dev-python/pydot/files/pydot-1.4.2-pyparsing-3.patch
@@ -0,0 +1,22 @@
+https://github.com/pydot/pydot/pull/281
+https://bugs.gentoo.org/830676
+
+(rebased)
+
+From 4ab2c033c0dd67cab87be9a9392c558359caf80c Mon Sep 17 00:00:00 2001
+From: Anton Bolshakov <[email protected]>
+Date: Tue, 4 Jan 2022 16:05:51 +0800
+Subject: [PATCH] Update dot_parser.py
+
+https://github.com/pydot/pydot/issues/277
+--- a/dot_parser.py
++++ b/dot_parser.py
+@@ -439,6 +439,8 @@ def graph_definition():
+ 
+         noncomma = "".join([c for c in printables if c != ","])
+         alphastring_ = OneOrMore(CharsNotIn(noncomma + ' '))
++        # override pyparsing tightened whitespace-skipping logic
++        alphastring_.skipWhitespace = True
+ 
+         def parse_html(s, loc, toks):
+             return '<%s>' % ''.join(toks[0])

diff --git a/dev-python/pydot/pydot-1.4.2-r2.ebuild 
b/dev-python/pydot/pydot-1.4.2-r2.ebuild
new file mode 100644
index 000000000000..db3881e7fab5
--- /dev/null
+++ b/dev-python/pydot/pydot-1.4.2-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+DESCRIPTION="Python interface to Graphviz's Dot language"
+HOMEPAGE="https://github.com/pydot/pydot https://pypi.org/project/pydot/";
+# pypi releases don't include tests
+SRC_URI="https://github.com/pydot/pydot/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       dev-python/pyparsing[${PYTHON_USEDEP}]
+       media-gfx/graphviz"
+BDEPEND="
+       test? (
+               ${RDEPEND}
+               dev-python/chardet[${PYTHON_USEDEP}]
+       )"
+
+PATCHES=(
+#      "${FILESDIR}"/${PN}-1.4.2-pyparsing-3.patch
+)
+
+python_test() {
+       cd test || die
+       "${PYTHON}" pydot_unittest.py || die "Test failed with ${EPYTHON}"
+}

Reply via email to