summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pycallgraph')
-rw-r--r--dev-python/pycallgraph/Manifest1
-rw-r--r--dev-python/pycallgraph/files/python3.3-tests.patch87
-rw-r--r--dev-python/pycallgraph/metadata.xml13
-rw-r--r--dev-python/pycallgraph/pycallgraph-1.0.1.ebuild70
4 files changed, 171 insertions, 0 deletions
diff --git a/dev-python/pycallgraph/Manifest b/dev-python/pycallgraph/Manifest
new file mode 100644
index 000000000000..0b6a8cd2ffab
--- /dev/null
+++ b/dev-python/pycallgraph/Manifest
@@ -0,0 +1 @@
+DIST pycallgraph-1.0.1.tar.gz 458254 SHA256 1ee59de9c9bfbaa51613546103ef7923c644bbc92bce2b7df563522a7c9bd3a8 SHA512 75a20cd8c50f070c961466f89b70384c914129c8ffcbca3ffde8c4729cd5f8a3dc94c4a33d54990e5cb9e502ccd1038c64e878da84cf832065fe4ece74356e2e WHIRLPOOL a6ce038bc6529dca3e6d3b11f95d7ee521785c3ae32356bb95dfad1a3bf8830a240b51f53ca9c801534750dae16b5f14eeda625c045b2db516c8bc88aa760405
diff --git a/dev-python/pycallgraph/files/python3.3-tests.patch b/dev-python/pycallgraph/files/python3.3-tests.patch
new file mode 100644
index 000000000000..90f31a09ce4b
--- /dev/null
+++ b/dev-python/pycallgraph/files/python3.3-tests.patch
@@ -0,0 +1,87 @@
+diff --git a/pycallgraph/config.py b/pycallgraph/config.py
+index 5911fef..e3492c1 100755
+--- a/pycallgraph/config.py
++++ b/pycallgraph/config.py
+@@ -34,7 +34,7 @@ class Config(object):
+ self.did_init = True
+
+ # Update the defaults with anything from kwargs
+- [setattr(self, k, v) for k, v in kwargs.iteritems()]
++ [setattr(self, k, v) for k, v in kwargs.items()]
+
+ self.create_parser()
+
+diff --git a/pycallgraph/output/graphviz.py b/pycallgraph/output/graphviz.py
+index 6f10049..d130d65 100644
+--- a/pycallgraph/output/graphviz.py
++++ b/pycallgraph/output/graphviz.py
+@@ -148,7 +148,7 @@ class GraphvizOutput(Output):
+
+ def attrs_from_dict(self, d):
+ output = []
+- for attr, val in d.iteritems():
++ for attr, val in d.items():
+ output.append('%s = "%s"' % (attr, val))
+ return ', '.join(output)
+
+@@ -164,7 +164,7 @@ class GraphvizOutput(Output):
+
+ def generate_attributes(self):
+ output = []
+- for section, attrs in self.graph_attributes.iteritems():
++ for section, attrs in self.graph_attributes.items():
+ output.append('{} [ {} ];'.format(
+ section, self.attrs_from_dict(attrs),
+ ))
+diff --git a/pycallgraph/output/output.py b/pycallgraph/output/output.py
+index 9660d58..48eef49 100644
+--- a/pycallgraph/output/output.py
++++ b/pycallgraph/output/output.py
+@@ -16,14 +16,14 @@ class Output(object):
+ self.edge_label_func = self.edge_label
+
+ # Update the defaults with anything from kwargs
+- [setattr(self, k, v) for k, v in kwargs.iteritems()]
++ [setattr(self, k, v) for k, v in kwargs.items()]
+
+ def set_config(self, config):
+ '''
+ This is a quick hack to move the config variables set in Config into
+ the output module config variables.
+ '''
+- for k, v in config.__dict__.iteritems():
++ for k, v in config.__dict__.items():
+ if hasattr(self, k) and callable(getattr(self, k)):
+ continue
+ setattr(self, k, v)
+diff --git a/pycallgraph/tracer.py b/pycallgraph/tracer.py
+index 17e9286..74a1477 100644
+--- a/pycallgraph/tracer.py
++++ b/pycallgraph/tracer.py
+@@ -297,7 +297,7 @@ class TraceProcessor(Thread):
+ grp = defaultdict(list)
+ for node in self.nodes():
+ grp[self.group(node.name)].append(node)
+- for g in grp.iteritems():
++ for g in grp.items():
+ yield g
+
+ def stat_group_from_func(self, func, calls):
+@@ -315,14 +315,14 @@ class TraceProcessor(Thread):
+ return stat_group
+
+ def nodes(self):
+- for func, calls in self.func_count.iteritems():
++ for func, calls in self.func_count.items():
+ yield self.stat_group_from_func(func, calls)
+
+ def edges(self):
+- for src_func, dests in self.call_dict.iteritems():
++ for src_func, dests in self.call_dict.items():
+ if not src_func:
+ continue
+- for dst_func, calls in dests.iteritems():
++ for dst_func, calls in dests.items():
+ edge = self.stat_group_from_func(dst_func, calls)
+ edge.src_func = src_func
+ edge.dst_func = dst_func
diff --git a/dev-python/pycallgraph/metadata.xml b/dev-python/pycallgraph/metadata.xml
new file mode 100644
index 000000000000..1783018a2723
--- /dev/null
+++ b/dev-python/pycallgraph/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>alunduil@gentoo.org</email>
+ <name>Alex Brandt</name>
+ </maintainer>
+ <longdescription lang="en">
+ </longdescription>
+ <upstream>
+ <remote-id type="github">gak/pycallgraph</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycallgraph/pycallgraph-1.0.1.ebuild b/dev-python/pycallgraph/pycallgraph-1.0.1.ebuild
new file mode 100644
index 000000000000..79af19319453
--- /dev/null
+++ b/dev-python/pycallgraph/pycallgraph-1.0.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit distutils-r1 vcs-snapshot
+
+DESCRIPTION="library and command line tool to visualise the flow of Python applications"
+HOMEPAGE="http://pycallgraph.slowchop.com/"
+SRC_URI="https://github.com/gak/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples test"
+
+CDEPEND="media-gfx/graphviz"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ doc? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+ examples? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+ test? (
+ ${CDEPEND}
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="${CDEPEND}"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}"/python3.3-tests.patch
+ )
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use examples; then
+ cd docs/examples || die "Couldn't change to docs/examples"
+ "${PYTHON}" generate.py || die "Couldn't generate examples"
+ cd - || die "Couldn't return to previous directory"
+
+ cd docs/guide/filtering || die "Couldn't change to docs/guide/filtering"
+ "${PYTHON}" generate.py || die "Couldn't generate filtering examples"
+ cd - || die "Couldn't return to previous directory"
+ fi
+
+ use doc && emake -C docs html
+
+ emake -C docs man
+}
+
+python_test() {
+ # gephi is not in portage; thus, skip the gephi tests
+ rm -f test/test_gephi.py || die "Couldn't remove gephi tests"
+
+ py.test --ignore=pycallgraph/memory_profiler.py test pycallgraph examples || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/. )
+ use examples && local EXAMPLES=( examples/. )
+
+ distutils-r1_python_install_all
+
+ doman docs/_build/man/pycallgraph.1
+}