summaryrefslogtreecommitdiff
path: root/dev-python/epydoc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-python/epydoc
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-python/epydoc')
-rw-r--r--dev-python/epydoc/Manifest7
-rw-r--r--dev-python/epydoc/epydoc-3.0.1-r2.ebuild46
-rw-r--r--dev-python/epydoc/files/epydoc-docutils-0.6.patch27
-rw-r--r--dev-python/epydoc/files/epydoc-python-2.6.patch60
-rw-r--r--dev-python/epydoc/metadata.xml26
5 files changed, 166 insertions, 0 deletions
diff --git a/dev-python/epydoc/Manifest b/dev-python/epydoc/Manifest
new file mode 100644
index 000000000000..689a6101fdea
--- /dev/null
+++ b/dev-python/epydoc/Manifest
@@ -0,0 +1,7 @@
+AUX epydoc-docutils-0.6.patch 1190 SHA256 43c9cdc3dbdbd66045d949c6c872f7836d54b0b8262d3dd5ef6f82917ad3d03d SHA512 d1366440fb3942d307508e2a629453dee1ba53dc01dccb6a424bc5486a34dd714cc5d502262ee4fa9d8191faabae61176592a950d0d7cfc0d037ca0fbd5abfac WHIRLPOOL 77bf80de95f364021a2a6cc28ee7c794e3edd900c2d18928cad21116b0c4e83558d442bf47dec40432993002031416f5196e12405a662921c14c982a24e18602
+AUX epydoc-python-2.6.patch 2425 SHA256 c1e3ef61ba2ba70918c9f535c4c515eaba353e79c9cbe2f3071734434c045751 SHA512 b1dbc9053125c770acb75a236a32475e98be41d77dc9c1816cc194297cbbb6334e3e4cdfb1b50e37ec37a18285be6675be50f8a029ffac96705c776c0768d173 WHIRLPOOL 6d903eb3e43ba456f4f598d4a62ab39292aec77d645d4f57910da0802c1fc4a1e7e802760b01ba3a2a16518a3437db8379402b9a1c4056750f3d12456a48504f
+DIST epydoc-3.0.1.tar.gz 1785792 SHA256 d4e5c8d90937d01b05170f592c1fa9b29e9ed0498dfe7f0eb2a3af61725b6ad1 SHA512 5c4011f0018ab956c0e1fe5fe0c1608fa2416439a60b5836a9d2d95e359428086ba403bcb5ed53e64d9d4979441ca6d537d9e5b8d6224d2202e7df3332d9ea83 WHIRLPOOL d72247342d02a71765410c8da5cfa31a17049fcb916400ec202bff81fec2246cbd93d145ba3a7f333de25de6b72a34097080d9419272656a8ec4a72eea2291cd
+EBUILD epydoc-3.0.1-r2.ebuild 1141 SHA256 a6565337d565bed9e39e10825d123fe2f43648cc7b5a77dd13b7aadf5a33420b SHA512 2c679dd207b5670e0703d2c517bb89b32ac027e6530349dba6e0e66d81e49504fa0503d5dbbb679066ec06c80d965107a26b99f68a0bfc3e787fe7960e8d0e47 WHIRLPOOL 7c8bd337efd74e9e0c6171445210503909884eb20bd05ace92fce030e96f6d008e6ad77dfdeb53cc5ecd45a069695fd22b71bb2c72d0b2d636ba20d8cdfa6596
+MISC ChangeLog 2970 SHA256 ac7688c1e5f3cf9917bc88c802ac9d0513dd4a990950818f78917d86271a180b SHA512 cbb9a06f116e88009917ddc877325836c101f05e7ecfb3d7d06054322c3deae7be2266693d54b75baedd5ed149cb0db726e9b5c398e9c6eb322d40fb47f57c7e WHIRLPOOL 5ca8cc7247945b7f1ff9e13532c54a569bbe53b6dcbc8bf4283499c53b00ad80c20266c4b46a7691968f27e66c54eca3066c6ff6f72e64dcb3792d11a0b00a2f
+MISC ChangeLog-2015 9181 SHA256 e57d174c9d1e140aa112848f44e8f18eb42757a0626cc12b30db88ab5c515362 SHA512 0bc3d7505644ecb33f580bcd4df66731310c0d20da7115f185356b7dc019cd7a78239b2b581adf1858db8c0221da0ad8737e194d063e6085a2136cb146b23b14 WHIRLPOOL 55ece1aa52f7357a43cface6038a68481361058d326eddcaaaa9baf6f388b173aaf88e481f784fc43550e19a895e24a743b5e6c10caed48c8555765dd7eb19a5
+MISC metadata.xml 1222 SHA256 65c73ed7ecd6f0e6ae570e09cb84aeffcb1467db2b59f237ec95b75bc61b1a9c SHA512 188705eb8a77c10334e981c7343d64f662fe941990248054c9d91537b391e12f0ac40c1d2a00121e391e33df0965dc3e0bde42c559f0ea25ab1288fc5265a748 WHIRLPOOL 28e5a005724705fa0095cbb98666a9294f58bf5af3aab436ff5d42234909cda766724a617858fd72083d15bb30afe6cefb46efc2c4e529b06cc2aab6f454c3e3
diff --git a/dev-python/epydoc/epydoc-3.0.1-r2.ebuild b/dev-python/epydoc/epydoc-3.0.1-r2.ebuild
new file mode 100644
index 000000000000..63cd3bcba64a
--- /dev/null
+++ b/dev-python/epydoc/epydoc-3.0.1-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='tk?'
+
+inherit distutils-r1
+
+DESCRIPTION="Tool for generating API documentation for Python modules from docstrings"
+HOMEPAGE="http://epydoc.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="doc latex tk"
+
+DEPEND=""
+RDEPEND="dev-python/docutils[${PYTHON_USEDEP}]
+ latex? ( virtual/latex-base
+ dev-texlive/texlive-latexextra
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-docutils-0.6.patch
+ "${FILESDIR}"/${PN}-python-2.6.patch
+)
+
+python_install() {
+ distutils-r1_python_install
+
+ use tk || rm "${D}$(python_get_sitedir)"/epydoc/gui.py*
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+
+ doman man/epydoc.1
+ if use tk; then
+ doman man/epydocgui.1
+ else
+ rm -f "${ED}"usr/bin/epydocgui*
+ fi
+}
diff --git a/dev-python/epydoc/files/epydoc-docutils-0.6.patch b/dev-python/epydoc/files/epydoc-docutils-0.6.patch
new file mode 100644
index 000000000000..efb6baa121b7
--- /dev/null
+++ b/dev-python/epydoc/files/epydoc-docutils-0.6.patch
@@ -0,0 +1,27 @@
+Make epydoc work with docutils-0.6.
+
+Patch created by Engelbert Gruber (grubert) and adjusted by Martin von Gagern.
+
+References:
+https://sourceforge.net/tracker/?func=detail&aid=2895197&group_id=32455&atid=405618
+http://thread.gmane.org/gmane.text.docutils.devel/4888/focus=4924
+http://bugs.gentoo.org/287546
+
+Index: epydoc-3.0.1/epydoc/markup/restructuredtext.py
+===================================================================
+--- epydoc-3.0.1.orig/epydoc/markup/restructuredtext.py
++++ epydoc-3.0.1/epydoc/markup/restructuredtext.py
+@@ -304,10 +304,11 @@ class _SummaryExtractor(NodeVisitor):
+ # Extract the first sentence.
+ for child in node:
+ if isinstance(child, docutils.nodes.Text):
+- m = self._SUMMARY_RE.match(child.data)
++ data = child.astext()
++ m = self._SUMMARY_RE.match(data)
+ if m:
+ summary_pieces.append(docutils.nodes.Text(m.group(1)))
+- other = child.data[m.end():]
++ other = data[m.end():]
+ if other and not other.isspace():
+ self.other_docs = True
+ break
diff --git a/dev-python/epydoc/files/epydoc-python-2.6.patch b/dev-python/epydoc/files/epydoc-python-2.6.patch
new file mode 100644
index 000000000000..84bb22d879c5
--- /dev/null
+++ b/dev-python/epydoc/files/epydoc-python-2.6.patch
@@ -0,0 +1,60 @@
+diff -Nur epydoc-3.0.1/epydoc/docparser.py epydoc-3.0.1/epydoc/docparser.py
+--- epydoc-3.0.1/epydoc/docparser.py
++++ epydoc-3.0.1/epydoc/docparser.py
+@@ -72,6 +72,26 @@
+ from epydoc.compat import *
+
+ ######################################################################
++## Tokenizer change in 2.6
++######################################################################
++
++def comment_includes_nl():
++ """ Determine whether comments are parsed as one or two tokens... """
++ readline = iter(u'\n#\n\n'.splitlines(True)).next
++ tokens = [
++ token.tok_name[tup[0]] for tup in tokenize.generate_tokens(readline)
++ ]
++ if tokens == ['NL', 'COMMENT', 'NL', 'ENDMARKER']:
++ return True
++ elif tokens == ['NL', 'COMMENT', 'NL', 'NL', 'ENDMARKER']:
++ return False
++ raise AssertionError(
++ "Tokenizer returns unexexpected tokens: %r" % tokens
++ )
++
++comment_includes_nl = comment_includes_nl()
++
++######################################################################
+ ## Doc Parser
+ ######################################################################
+
+@@ -520,6 +540,10 @@
+ # inside that block, not outside it.
+ start_group = None
+
++ # If the comment tokens do not include the NL, every comment token
++ # sets this to True in order to swallow the next NL token unprocessed.
++ comment_nl_waiting = False
++
+ # Check if the source file declares an encoding.
+ encoding = get_module_encoding(module_doc.filename)
+
+@@ -570,7 +594,9 @@
+ # then discard them: blank lines are not allowed between a
+ # comment block and the thing it describes.
+ elif toktype == tokenize.NL:
+- if comments and not line_toks:
++ if comment_nl_waiting:
++ comment_nl_waiting = False
++ elif comments and not line_toks:
+ log.warning('Ignoring docstring comment block followed by '
+ 'a blank line in %r on line %r' %
+ (module_doc.filename, srow-1))
+@@ -578,6 +604,7 @@
+
+ # Comment token: add to comments if appropriate.
+ elif toktype == tokenize.COMMENT:
++ comment_nl_waiting = not comment_includes_nl
+ if toktext.startswith(COMMENT_DOCSTRING_MARKER):
+ comment_line = toktext[len(COMMENT_DOCSTRING_MARKER):].rstrip()
+ if comment_line.startswith(" "):
diff --git a/dev-python/epydoc/metadata.xml b/dev-python/epydoc/metadata.xml
new file mode 100644
index 000000000000..b409ee311894
--- /dev/null
+++ b/dev-python/epydoc/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription>
+ Epydoc is a python documentation system without output similar to javadoc.
+ Epydoc uses python doc-strings, importing modules, and introsepction in
+ order to do its thing -- if your modules are not safe to import, you
+ should look for another tool. Documentation mark-up is done with restructed
+ text (reST).
+ </longdescription>
+ <longdescription lang="ja">
+ Epydocは、Javadocに似た出力をする以外はPython言語のための
+ ドキュメンテーションシステムです。Epydocはdoc-stringsを使い、
+ モジュールをインポートし、それらが自己分析したものを使います。
+ -- もしあなたが指定したモジュールがインポートするには安
+ 全でないのだとしたら、他のツールを使うべきです。ドキュメンテーション
+ の書式は再構造的文章(reST)です。
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">epydoc</remote-id>
+ </upstream>
+</pkgmetadata>