summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-01-24 20:08:30 +0000
committerSam James <sam@gentoo.org>2022-01-24 20:08:39 +0000
commit48e07ea8abd7fe63bf7c276eae7ffa956f9f64b6 (patch)
tree49589c403d4174bc2b1b8580605c8ac86bc0ce1e
parentsys-libs/glibc: Remove old (diff)
downloadgentoo-48e07ea8abd7fe63bf7c276eae7ffa956f9f64b6.tar.gz
gentoo-48e07ea8abd7fe63bf7c276eae7ffa956f9f64b6.tar.bz2
gentoo-48e07ea8abd7fe63bf7c276eae7ffa956f9f64b6.zip
dev-python/pydot: workaround pyparsing-3 issue
Closes: https://bugs.gentoo.org/830676 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--dev-python/pydot/files/pydot-1.4.2-pyparsing-3.patch22
-rw-r--r--dev-python/pydot/pydot-1.4.2-r2.ebuild36
2 files changed, 58 insertions, 0 deletions
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 <blshkv@users.noreply.github.com>
+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}"
+}