summaryrefslogtreecommitdiff
path: root/dev-python/epydoc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-python/epydoc
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-python/epydoc')
-rw-r--r--dev-python/epydoc/Manifest5
-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, 164 insertions, 0 deletions
diff --git a/dev-python/epydoc/Manifest b/dev-python/epydoc/Manifest
new file mode 100644
index 000000000000..149c28eada3c
--- /dev/null
+++ b/dev-python/epydoc/Manifest
@@ -0,0 +1,5 @@
+AUX epydoc-docutils-0.6.patch 1190 BLAKE2B ad424efe439798076d99e3eb5c516277eaf05fbc73a24bb07ac32d4199d537d1a93af15660543ba8a038edb2b8539ce2392c7f8d008a13d5ff8abbbae870c901 SHA512 d1366440fb3942d307508e2a629453dee1ba53dc01dccb6a424bc5486a34dd714cc5d502262ee4fa9d8191faabae61176592a950d0d7cfc0d037ca0fbd5abfac
+AUX epydoc-python-2.6.patch 2425 BLAKE2B 9eb7426637243073fc0ed93975e2ad77631f11243c5d22b5fe8bb79c7379ed0771ab3af244b10d88333394e4f9690fe117e60e2777646eed9e40d436af49ee48 SHA512 b1dbc9053125c770acb75a236a32475e98be41d77dc9c1816cc194297cbbb6334e3e4cdfb1b50e37ec37a18285be6675be50f8a029ffac96705c776c0768d173
+DIST epydoc-3.0.1.tar.gz 1785792 BLAKE2B 405e58132f4d0f9c40bfe58ada11618865e29c3b7a1eb41954f4769287ff780b4f17e57b50214fdc0f38a269093e35d11c83629e22c8ba854ed78ce299825826 SHA512 5c4011f0018ab956c0e1fe5fe0c1608fa2416439a60b5836a9d2d95e359428086ba403bcb5ed53e64d9d4979441ca6d537d9e5b8d6224d2202e7df3332d9ea83
+EBUILD epydoc-3.0.1-r2.ebuild 1129 BLAKE2B c3364a90b101419b4d207d61e0716494196349737385a49b68f2aeaf7d4b0199e37ec5ce532d07c2366b550d82ca71b8d20e6048b1b5efb80110ade58e49099d SHA512 7d2b1dc5a3bbe28a82594cd63e43643f46e010df26071a8d154f91a1ec20e8b1727bf67e3ec037f0b8867c2f87fb2efae26bae42d2ab9d026342f318da4da3ca
+MISC metadata.xml 1217 BLAKE2B 89ec592e9bf635d08b60cede28d77fc2efc5674eb409120a51f107676c3f87dffb7ce57269ef936b723a55e32cff2287affeca88faedd7fb90264f52ada262b8 SHA512 3a8b0a2194a7899b9e7fedf2136a587e38947d395fda15d17b9ce6aabc65adae91783f8e4ab37acdc5b2ded8281615dd9831f5dafaf7e6c0d22ef771ce253c39
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..1cacbff4e908
--- /dev/null
+++ b/dev-python/epydoc/epydoc-3.0.1-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2018 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 ~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..1f008fb50214
--- /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>