summaryrefslogtreecommitdiff
path: root/dev-python/pipdeptree
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pipdeptree')
-rw-r--r--dev-python/pipdeptree/Manifest15
-rw-r--r--dev-python/pipdeptree/files/pipdeptree-2.18.1-fix-pypy-7.3.14.patch16
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.16.2-r1.ebuild (renamed from dev-python/pipdeptree/pipdeptree-2.16.2.ebuild)8
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.17.0-r1.ebuild58
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.18.1.ebuild (renamed from dev-python/pipdeptree/pipdeptree-2.17.0.ebuild)2
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.21.0-r1.ebuild (renamed from dev-python/pipdeptree/pipdeptree-2.21.0.ebuild)7
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.22.0-r1.ebuild (renamed from dev-python/pipdeptree/pipdeptree-2.23.0.ebuild)7
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.23.0-r1.ebuild (renamed from dev-python/pipdeptree/pipdeptree-2.22.0.ebuild)7
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.23.1.ebuild53
9 files changed, 167 insertions, 6 deletions
diff --git a/dev-python/pipdeptree/Manifest b/dev-python/pipdeptree/Manifest
index 38a199f472e8..aa7085b67925 100644
--- a/dev-python/pipdeptree/Manifest
+++ b/dev-python/pipdeptree/Manifest
@@ -1,15 +1,20 @@
AUX pipdeptree-2.13.1-expect-hpy-in-pypy-7.3.3.patch 1018 BLAKE2B 18405bf1f1ba5a457c9643738258df5d1c3d5ed709954dd274560ae9cbf139f336b75b2c896d9d8bdfe24c4d2cb98ea3e0391d73ac05ba1e38766f2cfa04a431 SHA512 da732fe18cc3f49ed3994133e8a5eefe4c6f8ebf18dad3caeb057bcdbab38f5936c245271d6ff534f3cb6069255e13291a9033594148e70e486fd85d5b9e711e
AUX pipdeptree-2.13.2-fix-pypy-7.3.14.patch 1353 BLAKE2B 5e3a6f53244de1ae185818e3e2a37a87229b46b02c390a606b65668ae1dc53fe1a6b5e6c9faaf6160f25adc7e2597cceb5fd89bb20414a609880e034c7bdc026 SHA512 e0e8e729d713d347c96ee7db5e6a14ba7a9a986aa41231731973b4ab31f8d866cd4d229b35b54411e171a446d61201675ab3df01a58079786eabf5a080de05ad
AUX pipdeptree-2.17.0-expect-hpy-in-pypy-7.3.3.patch 1170 BLAKE2B e214c79ba1183222d00525e0e795d2ba1f10a3abb1ff6e5c986ba3aa036251326d8244787f549d698ab6a015f79eb2397212060365b8c774e2d1218531f8704d SHA512 a2055d9c828352aa1d2d5ec844acf00bc202a579c2dcf7f27997ac29261680ebee0f674b42eca77c3e039ccbc482eac62adfbb82190e157e65b01755d4972f62
+AUX pipdeptree-2.18.1-fix-pypy-7.3.14.patch 806 BLAKE2B 0162fc2e6fbc9bb0aa64e34a871b24d374e154e2a017cb97154f01dda69a32013532c88de02d3b9e8de958788b3e25898de722eface63c83a84904f71e1f5780 SHA512 5f9621013ed8699ce63230e27fe9eb2b0e8d65bb3e09eb74be794c4a14329cacb9e09e24f4241d36a41261490ba97846162a440b2619e8d1d1f8606be964b6fe
AUX pipdeptree-2.21.0-pypy.patch 5682 BLAKE2B f545f7dae932b98e472ec3d4d47cf2538cff50be34257c8c97761096c6e1b3e8664759d5a40a275951591b30b1546d34ccb71afb5f4006951508bfe6707bca6d SHA512 23896b56e93faa64943ebccece52ea5145236ed3670dd962e5f0c74dde4d091c41695fe4300c8f4529bfd2d669d1ce154c01c079dd5708ba8c21de0ee28098e9
DIST pipdeptree-2.16.2.tar.gz 32151 BLAKE2B 18715b0c7835e19bd5b6846922990e321a7e06315642204e7d79375a50b692f87e2ba1ec5884c4f69ff6e8d75e863c8cf372152aca7561ab94ef265d3c1df9fb SHA512 06d72f94a9165fe52cc15b9f539e3adb6da99e4a63cae78928bf68be3499b2828a5d471f270455b94a960ba2fe2f6319f5319c20ed270029a38a81173a7cd403
DIST pipdeptree-2.17.0.tar.gz 34677 BLAKE2B 3f92c4361978d2a6b1ae46d3a7e21aca231d504abf3a3cc8388d64a70fc3853a33edeac091a0b60cd3043d86162f6816292f973e9c8691420f906e946a5c9dac SHA512 1e7a4bc7f2f872e9d3115b413acc791eeb912a6f428fca772e30a3c8164ecfa44bba7e5246f9b65cbc4d34ffcd8050ff795ced3e3f9ad918f134ce052a8e8992
+DIST pipdeptree-2.18.1.tar.gz 35101 BLAKE2B e0a9bf6d85d0ab91049b557cd0c8a0a58e93e2342eb0a495ba5978ca734ec329ff363499ecf3182bdab8f01f0fe23653c0b683ec7a288b88b28d2120f0ad8a36 SHA512 ef0b3abb0fa591c92d7dca90ac449651a562adc4a87614dc6a18212274d10ca21fd09fd7e8989454eef2e265d7a1d89801b4a864892359c39bd9eca40885c2d2
DIST pipdeptree-2.21.0.tar.gz 39119 BLAKE2B 15f37f997b89477a9e1815a2bf120ce5251e9cf2e4df9195dc76bd7414c0cf7f58c4b8e787649492c9826bda5d3f8df60577b5242af7354ad0e1583eabbf0589 SHA512 3d416683c70861de7b768a69fe59a31173e712ecb752c7948329f787c8e13bc54be544fa4a7d3bfdbf6b164202fa8b07898c6e993a53fe244a5f3d9fa9a00573
DIST pipdeptree-2.22.0.tar.gz 39555 BLAKE2B 6aae7c6a22176dbfcc5184086c37b0237629f48702e1e2484457a6b3eca9442732279c85c3d806cff14edbbea9180d0ed3005c9744780016ee9949a0b530e3aa SHA512 9775d19cc353eae79e6fbe779471998a8368a932f380f34587950a6f4ef62d9185e77764c12cd122029c8690931a5a5939d57a9b1801db9556708676096c2efe
DIST pipdeptree-2.23.0.tar.gz 39737 BLAKE2B 79fe45880f2942b2ded1d16e2767c4005aca52e0768a5723f37f764c7a60a8104a237ffe2a559f631bf760310143814b0e4afbaf1e5f3ef927828036c320da43 SHA512 9c5fdf7c6d3e519357d4aeb40f4aa2807dfec8fb387114cf40d99469becc68c5042af09f2cdebcca868dd78f3a3c1602b349dfe6cb581758c5c73efc3f6e52c6
-EBUILD pipdeptree-2.16.2.ebuild 1107 BLAKE2B 1587d84842ffc3fafe93bfaf51beb7a042d1cbd738598372366115ac16fe57788cf3df0434887358ca900cd8408da73b550f202eec0887552d21bf3904f60c80 SHA512 9c699f5a6a2a3f1861f378f42060ac5e055c7839da44b2bf515e69c917580d97e9c155cce8567199ee425985b75456f055f218c48468b318bd29839aef106773
-EBUILD pipdeptree-2.17.0.ebuild 1154 BLAKE2B a2a156605e25f6446f528ad41af50cf3e8db05c0ea1ff01dd3e4d4b9a7ab826fc5d62b016db5cfeda26021b23e94bab5b0096070bf4a7b75ace9c4b72692486d SHA512 031d9cace0407b032e372e2c76c9cc6a08e75f30a6012b0a9757e7ed3ad0cef945a1278b46b6a8f27dd2bf928f73c52ef6436f14b7c9a718419a980c1faa120c
-EBUILD pipdeptree-2.21.0.ebuild 1147 BLAKE2B ba5283c5f9a0e1b2a8f710fe77dedd016a051571ea3f8fa64e370e91fb0acaa2415733eb7877a9263f50e5455e1a81ec3b6b0cc8d08aca05a839af1a90a826c5 SHA512 cf2965fe240c7a650ded12d07074f9a7b30b3cbc2395a5f83270127d95379f5df024d5fd97bf86976afe7385555eb8d5f38babcd9e7bd2d4b10365848964835e
-EBUILD pipdeptree-2.22.0.ebuild 1053 BLAKE2B 0222aa3696e2c06d31541930a4450bfb9b358cba8c80be0e4467d574dc3aba3a798f214cd2f145aa31c3d4f51c40f94c5d0cd303b29fa2b8f1fc70eb11337b21 SHA512 56077807aff18e7fbb9ce16c93ba13d665bf36aff5ea08afda981f26d55a62e046b44d18df9fdfeb6dabfded63f27f71d8edec0b9d9645fc32f3ff78769ac791
-EBUILD pipdeptree-2.23.0.ebuild 1053 BLAKE2B 0222aa3696e2c06d31541930a4450bfb9b358cba8c80be0e4467d574dc3aba3a798f214cd2f145aa31c3d4f51c40f94c5d0cd303b29fa2b8f1fc70eb11337b21 SHA512 56077807aff18e7fbb9ce16c93ba13d665bf36aff5ea08afda981f26d55a62e046b44d18df9fdfeb6dabfded63f27f71d8edec0b9d9645fc32f3ff78769ac791
+DIST pipdeptree-2.23.1.tar.gz 39883 BLAKE2B 63b578cc466871dda284f66bacc7e262b18157e5fb98e3a884c5e3eddd6945ad3d41a95e2e24fc23d0917e902f0e9ead152259d5ddc919e77e2940c2e2933119 SHA512 bc62c9cf6ee01bb8167477a21c70a7dd4ae1141c1c0690a1e95aea49cd4cb7d7e18bf076a532b00b79014a23c069df8aa09ac1bfd2d328b57e444192f1b10e5d
+EBUILD pipdeptree-2.16.2-r1.ebuild 1274 BLAKE2B cb4e0979864fcb41c9324207e37b3b2370a6ecee49662543fde77c17cceb76b45a1bafca4c7ab38aee675788ad357ae39a2c59042a69bcf0c866fd5efa399d0a SHA512 623a7b260d0ec09b901e0a4eac31a0a5680a29a3b7138e9b6961d391616b50b9bc0314fc3fac9af811ff0710e4efa6228d128c924412594075b2b28ff18ca3ae
+EBUILD pipdeptree-2.17.0-r1.ebuild 1274 BLAKE2B e28d9b388627fe9e4cf0f7882f00fdcecfa158a160ed4f01ad47cec927528318f9da05d9a6c1b8fea20ca69feb4fef82632ebc3cb6d6729c9fb281706d10309a SHA512 5ea1417f28a16b5463702a4a3d38877bf8732a3d94fa946e054c15ea5889e78afb786271f3956417d04f7af7b153f6c285c1cc77c5594fcac85c5ed63079cc8a
+EBUILD pipdeptree-2.18.1.ebuild 1154 BLAKE2B 8dfd408252d10c406f4854d939449d4cef9045a73331ede5b554c91cfbd59391d89ae4f1bae23dc3f26e96cfafac1f39a3c2f9d6819c4a47fae192170611484b SHA512 0602f900ee3e68a635a8751634cb2c15662bdb65384564dbc13de5353c3dc49daba73f572643249e3f037989f7a104cb0ce528dc37fefd42c28ea311da09c5c5
+EBUILD pipdeptree-2.21.0-r1.ebuild 1267 BLAKE2B 55cf353976e06689c49d90397a64095f0b9631cad2855f8cd9f9422955bd992ff7ad4ccbd3ca7ed254083381a0218f44713f150f2b8e9e66b6f632c5112fabac SHA512 0d9a554ec7946910a13b28c7ece6fec5eab2b5acb7191ffb53111dabb02e79b222a528103fe0f48534ce1cc5e699b48a826469a449ad7ba4ac1f8aba3ae2761b
+EBUILD pipdeptree-2.22.0-r1.ebuild 1173 BLAKE2B 111184533b19f3510499d79ae0f988cc94f196d03ae5ba7698dfcacade79de462c9b69cbbe3a997954178c47bcf841a2721a45664d365f6c4fe1372f3158dc6e SHA512 2d29ec9227e49362744fad776bdf637d3383d5a194668beb6cfc5f603c72210564c1b23835bb1a08796e1facc1d404198e5511dc803b0a95dc51cc556dd21e63
+EBUILD pipdeptree-2.23.0-r1.ebuild 1173 BLAKE2B 111184533b19f3510499d79ae0f988cc94f196d03ae5ba7698dfcacade79de462c9b69cbbe3a997954178c47bcf841a2721a45664d365f6c4fe1372f3158dc6e SHA512 2d29ec9227e49362744fad776bdf637d3383d5a194668beb6cfc5f603c72210564c1b23835bb1a08796e1facc1d404198e5511dc803b0a95dc51cc556dd21e63
+EBUILD pipdeptree-2.23.1.ebuild 1173 BLAKE2B 111184533b19f3510499d79ae0f988cc94f196d03ae5ba7698dfcacade79de462c9b69cbbe3a997954178c47bcf841a2721a45664d365f6c4fe1372f3158dc6e SHA512 2d29ec9227e49362744fad776bdf637d3383d5a194668beb6cfc5f603c72210564c1b23835bb1a08796e1facc1d404198e5511dc803b0a95dc51cc556dd21e63
MISC metadata.xml 545 BLAKE2B cf435473fd95ac0a5bafe2b52ddd78e09c16eb190e3a979924525607fc7ab152e249419e3a21d246cd1354a714116c6c0953ed55d1efceafae441ee282c2b1eb SHA512 ad2e8d4e7bac53b26ea0bb5c2f65e0c9dc8d30afc8c569d73bac820b2dda6a343b96e52abd0353e3f50269fb431e46bd3b51b3768d9c24f658fd2eca6cc1ce97
diff --git a/dev-python/pipdeptree/files/pipdeptree-2.18.1-fix-pypy-7.3.14.patch b/dev-python/pipdeptree/files/pipdeptree-2.18.1-fix-pypy-7.3.14.patch
new file mode 100644
index 000000000000..6179d823a021
--- /dev/null
+++ b/dev-python/pipdeptree/files/pipdeptree-2.18.1-fix-pypy-7.3.14.patch
@@ -0,0 +1,16 @@
+--- a/tests/test_non_host.py 2024-06-12 21:33:13.696206671 +0200
++++ b/tests/test_non_host.py 2024-06-12 21:46:40.146193582 +0200
+@@ -32,10 +32,10 @@
+ result = virtualenv.cli_run([str(tmp_path / "venv"), "--activators", ""])
+ py = str(result.creator.exe.relative_to(tmp_path))
+ cmd = ["", f"--python={result.creator.exe}"] if args_joined else ["", "--python", py]
+- mocker.patch("pipdeptree._discovery.sys.argv", cmd)
++ mocker.patch("pipdeptree._discovery.sys.argv", [*cmd, "-j"])
+ main()
+ out, _ = capfd.readouterr()
+- found = {i.split("==")[0] for i in out.splitlines()}
++ found = {i["package"]["package_name"] for i in json.loads(out)}
+ implementation = python_implementation()
+ if implementation == "CPython":
+ expected = {"pip", "setuptools", "wheel"}
+
diff --git a/dev-python/pipdeptree/pipdeptree-2.16.2.ebuild b/dev-python/pipdeptree/pipdeptree-2.16.2-r1.ebuild
index dbb4e804f288..8c04dc58e0a6 100644
--- a/dev-python/pipdeptree/pipdeptree-2.16.2.ebuild
+++ b/dev-python/pipdeptree/pipdeptree-2.16.2-r1.ebuild
@@ -19,6 +19,7 @@ SLOT="0"
KEYWORDS="~amd64 ~arm64 ~riscv"
RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
>=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
"
BDEPEND="
@@ -38,6 +39,13 @@ PATCHES=(
distutils_enable_tests pytest
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
python_test() {
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -p pytest_mock
diff --git a/dev-python/pipdeptree/pipdeptree-2.17.0-r1.ebuild b/dev-python/pipdeptree/pipdeptree-2.17.0-r1.ebuild
new file mode 100644
index 000000000000..ab9fab7bed89
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.17.0-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/tox-dev/pipdeptree/pull/302
+ "${FILESDIR}/pipdeptree-2.17.0-expect-hpy-in-pypy-7.3.3.patch"
+ "${FILESDIR}/pipdeptree-2.13.2-fix-pypy-7.3.14.patch"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/pipdeptree/pipdeptree-2.17.0.ebuild b/dev-python/pipdeptree/pipdeptree-2.18.1.ebuild
index d4b8329e97ea..1c600a4fd312 100644
--- a/dev-python/pipdeptree/pipdeptree-2.17.0.ebuild
+++ b/dev-python/pipdeptree/pipdeptree-2.18.1.ebuild
@@ -34,7 +34,7 @@ BDEPEND="
PATCHES=(
# https://github.com/tox-dev/pipdeptree/pull/302
"${FILESDIR}/pipdeptree-2.17.0-expect-hpy-in-pypy-7.3.3.patch"
- "${FILESDIR}/pipdeptree-2.13.2-fix-pypy-7.3.14.patch"
+ "${FILESDIR}/pipdeptree-2.18.1-fix-pypy-7.3.14.patch"
)
distutils_enable_tests pytest
diff --git a/dev-python/pipdeptree/pipdeptree-2.21.0.ebuild b/dev-python/pipdeptree/pipdeptree-2.21.0-r1.ebuild
index dae7c7c1be5b..2e77548af84f 100644
--- a/dev-python/pipdeptree/pipdeptree-2.21.0.ebuild
+++ b/dev-python/pipdeptree/pipdeptree-2.21.0-r1.ebuild
@@ -39,6 +39,13 @@ PATCHES=(
distutils_enable_tests pytest
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
python_test() {
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -p pytest_mock -p console-scripts
diff --git a/dev-python/pipdeptree/pipdeptree-2.23.0.ebuild b/dev-python/pipdeptree/pipdeptree-2.22.0-r1.ebuild
index bf7d74541259..0f2bc0747e89 100644
--- a/dev-python/pipdeptree/pipdeptree-2.23.0.ebuild
+++ b/dev-python/pipdeptree/pipdeptree-2.22.0-r1.ebuild
@@ -34,6 +34,13 @@ BDEPEND="
distutils_enable_tests pytest
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
python_test() {
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -p pytest_mock -p console-scripts
diff --git a/dev-python/pipdeptree/pipdeptree-2.22.0.ebuild b/dev-python/pipdeptree/pipdeptree-2.23.0-r1.ebuild
index bf7d74541259..0f2bc0747e89 100644
--- a/dev-python/pipdeptree/pipdeptree-2.22.0.ebuild
+++ b/dev-python/pipdeptree/pipdeptree-2.23.0-r1.ebuild
@@ -34,6 +34,13 @@ BDEPEND="
distutils_enable_tests pytest
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
python_test() {
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -p pytest_mock -p console-scripts
diff --git a/dev-python/pipdeptree/pipdeptree-2.23.1.ebuild b/dev-python/pipdeptree/pipdeptree-2.23.1.ebuild
new file mode 100644
index 000000000000..0f2bc0747e89
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.23.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/pytest-console-scripts-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock -p console-scripts
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}