summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-python/docutils
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-python/docutils')
-rw-r--r--dev-python/docutils/Manifest5
-rw-r--r--dev-python/docutils/docutils-0.10.ebuild72
-rw-r--r--dev-python/docutils/docutils-0.11.ebuild71
-rw-r--r--dev-python/docutils/docutils-0.12.ebuild69
-rw-r--r--dev-python/docutils/docutils-0.9.1-r1.ebuild93
-rw-r--r--dev-python/docutils/files/docutils-0.10-optparser.patch34
-rw-r--r--dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch30
-rw-r--r--dev-python/docutils/files/docutils-0.6-extra_modules.patch24
-rw-r--r--dev-python/docutils/files/docutils-0.7-encoding.patch83
-rw-r--r--dev-python/docutils/files/docutils-0.7-python-3.2-configparser.patch49
-rw-r--r--dev-python/docutils/files/docutils-0.7-python-3.2-xml.etree.ElementTree.patch16
-rw-r--r--dev-python/docutils/metadata.xml11
12 files changed, 557 insertions, 0 deletions
diff --git a/dev-python/docutils/Manifest b/dev-python/docutils/Manifest
new file mode 100644
index 000000000000..915b23bb9ee8
--- /dev/null
+++ b/dev-python/docutils/Manifest
@@ -0,0 +1,5 @@
+DIST docutils-0.10.tar.gz 1602552 SHA256 370624e61b6773da2f2fb17cc2a4eaea4bb596c3585d13f75ff193c1c738603e SHA512 255474d4d9efc427ecb2123939af64475335c1f2af2f1b398a0c540693629f6ce6b105fb45f6ef962800948e2844b5140ecc6b81218e3c8619d14c9c7f2705c4 WHIRLPOOL 7e25c5b9206f019acc9131a0b5baf05fd21d042d121e2c472a8d908cc668346e26572d6db6546200dc9b85fb9b8a462e3ada59eb9c760f9915efaa510ffe74fa
+DIST docutils-0.11.tar.gz 1611755 SHA256 9af4166adf364447289c5c697bb83c52f1d6f57e77849abcccd6a4a18a5e7ec9 SHA512 8e87581b27ce4fb5e97dcef56047f4bf3a076b98e9e42f5dc66f4c370e5893d1571e46f00fee6f1c8b9f8c8a79e128e4599b9ee213ad1dee2bf16a0246e187df WHIRLPOOL 0231e34e8c84a29f52f244dfe8d3fdbb8f2db9f6e5f26d0a5953c109a2620b15f86874e3b7604aeccf805f789abef7e7af5cc076dde25f2e2947bad11d2ae58c
+DIST docutils-0.12.tar.gz 1618353 SHA256 c7db717810ab6965f66c8cf0398a98c9d8df982da39b4cd7f162911eb89596fa SHA512 0087433f8b76e1d0302d2fab77fdbda941132d16ac1fcecb26ca66119687eefd9e2f6901e05d705f857fa31e2526136c9827dfd57c44cd295bd10dcce3faebf9 WHIRLPOOL 9b9d9d7315351e4b803195a157836df13a10fc706c0aea2c6ac7c6d01bd034870106d0ceedfbd7e9fae17420f3d116df30cc222ad5b3c7205d5eca767d550564
+DIST docutils-0.9.1.tar.gz 1541437 SHA256 e89f187dbbc6674f839239c89fec44af9f18809b66a8a55a41b57b9ee2356994 SHA512 ac1158c562533796f26d4bc451cc9cd371f7fad60d190aa43c763d53a15c2b7656962e7ef72248439896a5fd759c53f6aee14b08bca2292542e944fa9bb044e9 WHIRLPOOL 6b197c1e96a218d9a3a2116ea6e68cae22130c77025fe6e6942f698a918b96579a9216daf23e01cb1c54c7d52ddcc4a3e8ec1b8279ae7be7e3044e044e14c039
+DIST glep-0.4-r1.tbz2 4667 SHA256 d0b421869fb3437e96484687fd57f34d4f5cdd5a1fbdb2314f1474b1f9afa058 SHA512 098d9f5043a60af9dfac63f6472b576e66ffeda924902ca825ed63f573aeb8bad7c9f9a6853fd99e648683488ee6db2ee55c139df3dde06983b72cfb5dd8cdd3 WHIRLPOOL 277cdf4a7fe70990864a4f0fd592561bcf5edc1de8d4830da96c75093d47d8d64214b95ac5ae7960670a8520650a5e23355df248f61bddcd9cd5dc23cab0fe19
diff --git a/dev-python/docutils/docutils-0.10.ebuild b/dev-python/docutils/docutils-0.10.ebuild
new file mode 100644
index 000000000000..46483c512f6a
--- /dev/null
+++ b/dev-python/docutils/docutils-0.10.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Documentation Utilities"
+HOMEPAGE="http://docutils.sourceforge.net/ http://pypi.python.org/pypi/docutils"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2 GPL-3 public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="glep"
+
+DEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ glep? ( dev-python/docutils-glep[${PYTHON_USEDEP}] )"
+
+PATCHES=(
+ # fix buildhtml.py option parsing
+ "${FILESDIR}"/${P}-optparser.patch
+)
+
+python_compile_all() {
+ # Generate html docs from reStructured text sources.
+
+ # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
+ cp docutils/writers/html4css1/html4css1.css . || die
+
+ cd tools || die
+ "${PYTHON}" buildhtml.py --input-encoding=utf-8 \
+ --stylesheet-path=../html4css1.css, --traceback ../docs || die
+}
+
+python_test() {
+ local tests=test
+ [[ ${EPYTHON} == python3* ]] && tests=test3
+
+ cp -r -l ${tests} "${BUILD_DIR}"/test || die
+ ln -s "${S}"/docs "${BUILD_DIR}"/ || die
+ "${PYTHON}" "${BUILD_DIR}"/test/alltests.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Install tools.
+ python_doscript tools/{buildhtml,quicktest}.py
+}
+
+install_txt_doc() {
+ local doc="${1}"
+ local dir="txt/$(dirname ${doc})"
+ docinto "${dir}"
+ dodoc "${doc}"
+}
+
+python_install_all() {
+ local DOCS=( *.txt )
+ local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
+
+ distutils-r1_python_install_all
+
+ local doc
+ while IFS= read -r -d '' doc; do
+ install_txt_doc "${doc}"
+ done < <(find docs tools -name '*.txt' -print0)
+}
diff --git a/dev-python/docutils/docutils-0.11.ebuild b/dev-python/docutils/docutils-0.11.ebuild
new file mode 100644
index 000000000000..354b591443a0
--- /dev/null
+++ b/dev-python/docutils/docutils-0.11.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Documentation Utilities"
+HOMEPAGE="http://docutils.sourceforge.net/ http://pypi.python.org/pypi/docutils"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2 GPL-3 public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+PATCHES=( "${FILESDIR}"/docutils-0.11-python3.3-odt-writer.patch )
+
+python_compile_all() {
+ # Generate html docs from reStructured text sources.
+
+ # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
+ cp docutils/writers/html4css1/html4css1.css . || die
+
+ cd tools || die
+ "${PYTHON}" buildhtml.py --input-encoding=utf-8 \
+ --stylesheet-path=../html4css1.css, --traceback ../docs || die
+}
+
+python_test() {
+ if python_is_python3; then
+ pushd test3 > /dev/null || die
+ else
+ pushd test > /dev/null || die
+ fi
+ "${PYTHON}" alltests.py || die "Testing failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Install tools.
+ python_doscript tools/{buildhtml,quicktest}.py
+}
+
+install_txt_doc() {
+ local doc="${1}"
+ local dir="txt/$(dirname ${doc})"
+ docinto "${dir}"
+ dodoc "${doc}"
+}
+
+python_install_all() {
+ local DOCS=( *.txt )
+ local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
+
+ distutils-r1_python_install_all
+
+ local doc
+ while IFS= read -r -d '' doc; do
+ install_txt_doc "${doc}"
+ done < <(find docs tools -name '*.txt' -print0)
+}
diff --git a/dev-python/docutils/docutils-0.12.ebuild b/dev-python/docutils/docutils-0.12.ebuild
new file mode 100644
index 000000000000..334fa8ee3d6b
--- /dev/null
+++ b/dev-python/docutils/docutils-0.12.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Documentation Utilities"
+HOMEPAGE="http://docutils.sourceforge.net/ http://pypi.python.org/pypi/docutils"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2 GPL-3 public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+DISTUTILS_NO_PARALLEL_BUILD=1
+
+python_compile_all() {
+ # Generate html docs from reStructured text sources.
+
+ # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
+ cp docutils/writers/html4css1/html4css1.css . || die
+
+ cd tools || die
+ "${PYTHON}" buildhtml.py --input-encoding=utf-8 \
+ --stylesheet-path=../html4css1.css, --traceback ../docs || die
+}
+
+python_test() {
+ if python_is_python3; then
+ pushd test3 > /dev/null || die
+ else
+ pushd test > /dev/null || die
+ fi
+ "${PYTHON}" alltests.py || die "Testing failed with ${EPYTHON}"
+ popd > /dev/null || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Install tools.
+ python_doscript tools/{buildhtml,quicktest}.py
+}
+
+install_txt_doc() {
+ local doc="${1}"
+ local dir="txt/$(dirname ${doc})"
+ docinto "${dir}"
+ dodoc "${doc}"
+}
+
+python_install_all() {
+ local DOCS=( *.txt )
+ local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
+
+ distutils-r1_python_install_all
+
+ local doc
+ while IFS= read -r -d '' doc; do
+ install_txt_doc "${doc}"
+ done < <(find docs tools -name '*.txt' -print0)
+}
diff --git a/dev-python/docutils/docutils-0.9.1-r1.ebuild b/dev-python/docutils/docutils-0.9.1-r1.ebuild
new file mode 100644
index 000000000000..5ddc12851125
--- /dev/null
+++ b/dev-python/docutils/docutils-0.9.1-r1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python Documentation Utilities"
+HOMEPAGE="http://docutils.sourceforge.net/ http://pypi.python.org/pypi/docutils"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI+=" glep? ( mirror://gentoo/glep-0.4-r1.tbz2 )"
+
+LICENSE="BSD-2 GPL-3 public-domain"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="glep"
+
+RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+GLEP_SRC="${WORKDIR}/glep-0.4-r1"
+
+python_prepare_all() {
+ # It's easier to move them around now.
+ # TODO: add python_newmodule?
+ if use glep; then
+ mkdir "${GLEP_SRC}"/{read,trans} || die
+ mv "${GLEP_SRC}"/{glepread,read/glep}.py || die
+ mv "${GLEP_SRC}"/{glepstrans,trans/gleps}.py || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # Generate html docs from reStructured text sources.
+
+ # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
+ cp docutils/writers/html4css1/html4css1.css . || die
+
+ cd tools || die
+ "${PYTHON}" buildhtml.py --input-encoding=utf-8 \
+ --stylesheet-path=../html4css1.css --traceback ../docs || die
+}
+
+python_test() {
+ local tests=test
+ [[ ${EPYTHON} == python3* ]] && tests=test3
+
+ cp -r -l ${tests} "${BUILD_DIR}"/test || die
+ ln -s "${S}"/docs "${BUILD_DIR}"/ || die
+ "${PYTHON}" "${BUILD_DIR}"/test/alltests.py || die "Tests fail with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Install tools.
+ python_doscript tools/{buildhtml,quicktest}.py
+
+ # Install Gentoo GLEP tools.
+ if use glep; then
+ python_doscript "${GLEP_SRC}"/glep.py
+
+ python_moduleinto docutils/readers
+ python_domodule "${GLEP_SRC}"/read/glep.py
+ python_moduleinto docutils/transforms
+ python_domodule "${GLEP_SRC}"/trans/gleps.py
+ python_moduleinto docutils/writers
+ python_domodule "${GLEP_SRC}"/glep_html
+ fi
+}
+
+install_txt_doc() {
+ local doc="${1}"
+ local dir="txt/$(dirname ${doc})"
+ docinto "${dir}"
+ dodoc "${doc}"
+}
+
+python_install_all() {
+ local DOCS=( *.txt )
+ local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
+
+ distutils-r1_python_install_all
+
+ local doc
+ while IFS= read -r -d '' doc; do
+ install_txt_doc "${doc}"
+ done < <(find docs tools -name '*.txt' -print0)
+}
diff --git a/dev-python/docutils/files/docutils-0.10-optparser.patch b/dev-python/docutils/files/docutils-0.10-optparser.patch
new file mode 100644
index 000000000000..a65fbde71ce0
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.10-optparser.patch
@@ -0,0 +1,34 @@
+Patch by Arfrever
+http://sourceforge.net/tracker/?func=detail&aid=3598893&group_id=38414&atid=422030
+
+Index: docutils/frontend.py
+===================================================================
+--- docutils/frontend.py (revision 7578)
++++ docutils/frontend.py (working copy)
+@@ -158,7 +158,7 @@
+
+ def validate_colon_separated_string_list(
+ setting, value, option_parser, config_parser=None, config_section=None):
+- if isinstance(value, unicode):
++ if isinstance(value, basestring):
+ value = value.split(':')
+ else:
+ last = value.pop()
+@@ -171,7 +171,7 @@
+ """
+ # `value` is already a list when given as command line option
+ # and "action" is "append"
+- if isinstance(value, unicode):
++ if isinstance(value, basestring):
+ value = [value]
+ # this function is called for every option added to `value`
+ # -> split the last item and apped the result:
+@@ -731,7 +731,7 @@
+ """Wrapper around sys.stderr catching en-/decoding errors"""
+
+ def read(self, filenames, option_parser):
+- if type(filenames) in (str, unicode):
++ if isinstance(filenames, basestring):
+ filenames = [filenames]
+ for filename in filenames:
+ try:
diff --git a/dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch b/dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch
new file mode 100644
index 000000000000..e84256f3dc43
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.11-python3.3-odt-writer.patch
@@ -0,0 +1,30 @@
+--- a/docutils/writers/odf_odt/__init__.py
++++ b/docutils/writers/odf_odt/__init__.py
+@@ -88,16 +88,20 @@
+ # that support for the ability to get the parent of an element.
+ #
+ if WhichElementTree == 'elementtree':
+- class _ElementInterfaceWrapper(etree._ElementInterface):
++ import weakref
++ _parents = weakref.WeakKeyDictionary()
++ if isinstance(etree.Element, type):
++ _ElementInterface = etree.Element
++ else:
++ _ElementInterface = etree._ElementInterface
++ class _ElementInterfaceWrapper(_ElementInterface):
+ def __init__(self, tag, attrib=None):
+- etree._ElementInterface.__init__(self, tag, attrib)
+- if attrib is None:
+- attrib = {}
+- self.parent = None
++ _ElementInterface.__init__(self, tag, attrib)
++ _parents[self] = None
+ def setparent(self, parent):
+- self.parent = parent
++ _parents[self] = parent
+ def getparent(self):
+- return self.parent
++ return _parents[self]
+
+
+ #
diff --git a/dev-python/docutils/files/docutils-0.6-extra_modules.patch b/dev-python/docutils/files/docutils-0.6-extra_modules.patch
new file mode 100644
index 000000000000..ca5de4b7fc4e
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.6-extra_modules.patch
@@ -0,0 +1,24 @@
+--- setup.py
++++ setup.py
+@@ -182,19 +182,8 @@
+ List of (module name, minimum __version__ string, [attribute names])."""
+
+ def get_extras():
+- extras = []
+- for module_name, version, attributes in extra_modules:
+- try:
+- module = __import__(module_name)
+- if version and module.__version__ < version:
+- raise ValueError
+- for attribute in attributes or []:
+- getattr(module, attribute)
+- print ('"%s" module already present; ignoring extras/%s.py.'
+- % (module_name, module_name))
+- except (ImportError, AttributeError, ValueError):
+- extras.append(module_name)
+- return extras
++ # Old method does not work for upgrading/downgrading docutils.
++ return ["roman"]
+
+
+ if __name__ == '__main__' :
diff --git a/dev-python/docutils/files/docutils-0.7-encoding.patch b/dev-python/docutils/files/docutils-0.7-encoding.patch
new file mode 100644
index 000000000000..9a88f9fedaa6
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.7-encoding.patch
@@ -0,0 +1,83 @@
+--- docutils/nodes.py
++++ docutils/nodes.py
+@@ -27,6 +27,7 @@
+ import warnings
+ import types
+ import unicodedata
++import locale
+
+ # ==============================
+ # Functional Node Base Classes
+@@ -328,6 +329,9 @@
+ else:
+ def __new__(cls, data, rawsource=None):
+ """Prevent the rawsource argument from propagating to str."""
++ encoding = locale.getdefaultlocale()[1]
++ if isinstance(data, str) and encoding is not None:
++ data = data.decode(encoding)
+ return reprunicode.__new__(cls, data)
+
+ def __init__(self, data, rawsource=''):
+--- docutils/parsers/rst/directives/misc.py
++++ docutils/parsers/rst/directives/misc.py
+@@ -10,6 +10,7 @@
+ import os.path
+ import re
+ import time
++import locale
+ from docutils import io, nodes, statemachine, utils
+ from docutils.parsers.rst import Directive, convert_directive_function
+ from docutils.parsers.rst import directives, roles, states
+@@ -66,8 +67,16 @@
+ input_encoding_error_handler),
+ handle_io_errors=None)
+ except IOError, error:
+- raise self.severe('Problems with "%s" directive path:\n%s: %s.' %
+- (self.name, error.__class__.__name__, str(error)))
++ if sys.version_info < (3,):
++ error_string = str(error)
++ encoding = locale.getdefaultlocale()[1]
++ if encoding is not None:
++ error_string = error_string.decode(encoding)
++ raise self.severe(u'Problems with "%s" directive path:\n%s: %s.' %
++ (self.name, error.__class__.__name__, error_string))
++ else:
++ raise self.severe('Problems with "%s" directive path:\n%s: %s.' %
++ (self.name, error.__class__.__name__, str(error)))
+ # Hack: Since Python 2.6, the string interpolation returns a
+ # unicode object if one of the supplied %s replacements is a
+ # unicode object. IOError has no `__unicode__` method and the
+--- tools/buildhtml.py
++++ tools/buildhtml.py
+@@ -15,8 +15,8 @@
+ __docformat__ = 'reStructuredText'
+
+
++import locale
+ try:
+- import locale
+ locale.setlocale(locale.LC_ALL, '')
+ except:
+ pass
+@@ -236,8 +236,19 @@
+ writer_name=pub_struct.writer_name,
+ settings=settings)
+ except ApplicationError, error:
+- print >>sys.stderr, (' Error (%s): %s'
+- % (error.__class__.__name__, error))
++ if sys.version_info < (3,):
++ encoding = locale.getdefaultlocale()[1]
++ if isinstance(error.message, unicode) and encoding is not None:
++ error_message = (u' Error (%s): %s'
++ % (error.__class__.__name__, error))
++ error_message = error_message.encode(encoding)
++ else:
++ error_message = (' Error (%s): %s'
++ % (error.__class__.__name__, error))
++ print >>sys.stderr, error_message
++ else:
++ print >>sys.stderr, (' Error (%s): %s'
++ % (error.__class__.__name__, error))
+
+
+ if __name__ == "__main__":
diff --git a/dev-python/docutils/files/docutils-0.7-python-3.2-configparser.patch b/dev-python/docutils/files/docutils-0.7-python-3.2-configparser.patch
new file mode 100644
index 000000000000..3f67f244cfd1
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.7-python-3.2-configparser.patch
@@ -0,0 +1,49 @@
+http://sourceforge.net/tracker/?func=detail&atid=422030&aid=3149845&group_id=38414
+
+--- docutils/frontend.py
++++ docutils/frontend.py
+@@ -671,7 +671,7 @@
+ raise KeyError('No option with dest == %r.' % dest)
+
+
+-class ConfigParser(CP.ConfigParser):
++class ConfigParser(CP.RawConfigParser):
+
+ old_settings = {
+ 'pep_stylesheet': ('pep_html writer', 'stylesheet'),
+@@ -693,7 +693,7 @@
+ """
+
+ def __init__(self, *args, **kwargs):
+- CP.ConfigParser.__init__(self, *args, **kwargs)
++ CP.RawConfigParser.__init__(self, *args, **kwargs)
+
+ self._files = []
+ """List of paths of configuration files read."""
+@@ -708,7 +708,7 @@
+ except IOError:
+ continue
+ try:
+- CP.ConfigParser.readfp(self, fp, filename)
++ CP.RawConfigParser.readfp(self, fp, filename)
+ except UnicodeDecodeError:
+ sys.stderr.write(self.not_utf8_error % (filename, filename))
+ fp.close()
+@@ -749,7 +749,7 @@
+ except KeyError:
+ continue
+ if option.validator:
+- value = self.get(section, setting, raw=1)
++ value = self.get(section, setting)
+ try:
+ new_value = option.validator(
+ setting, value, option_parser,
+@@ -778,7 +778,7 @@
+ section_dict = {}
+ if self.has_section(section):
+ for option in self.options(section):
+- section_dict[option] = self.get(section, option, raw=1)
++ section_dict[option] = self.get(section, option)
+ return section_dict
+
+
diff --git a/dev-python/docutils/files/docutils-0.7-python-3.2-xml.etree.ElementTree.patch b/dev-python/docutils/files/docutils-0.7-python-3.2-xml.etree.ElementTree.patch
new file mode 100644
index 000000000000..0e77f7e974a8
--- /dev/null
+++ b/dev-python/docutils/files/docutils-0.7-python-3.2-xml.etree.ElementTree.patch
@@ -0,0 +1,16 @@
+http://svn.berlios.de/viewvc/docutils?view=revision&revision=7013
+
+--- docutils/writers/odf_odt/__init__.py
++++ docutils/writers/odf_odt/__init__.py
+@@ -300,7 +300,10 @@
+
+ def ToString(et):
+ outstream = StringIO.StringIO()
+- et.write(outstream)
++ if sys.version_info >= (3, 2):
++ et.write(outstream, encoding="unicode")
++ else:
++ et.write(outstream)
+ s1 = outstream.getvalue()
+ outstream.close()
+ return s1
diff --git a/dev-python/docutils/metadata.xml b/dev-python/docutils/metadata.xml
new file mode 100644
index 000000000000..b75fdfa0d43f
--- /dev/null
+++ b/dev-python/docutils/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>python</herd>
+ <use>
+ <flag name="glep">Install support for GLEPs</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">docutils</remote-id>
+ </upstream>
+</pkgmetadata>