[Python-modules-commits] r8412 - in packages/python-django/trunk/debian (3 files)

lamby at users.alioth.debian.org lamby at users.alioth.debian.org
Sun May 10 21:13:02 UTC 2009


    Date: Sunday, May 10, 2009 @ 21:13:01
  Author: lamby
Revision: 8412

Backport patch from <http://code.djangoproject.com/ticket/10539> to fix FTBFS when using python-sphinx >= 0.6. (Closes: #527492)

Added:
  packages/python-django/trunk/debian/patches/05_10539-sphinx06-compatibility.diff
Modified:
  packages/python-django/trunk/debian/changelog
  packages/python-django/trunk/debian/patches/series

Modified: packages/python-django/trunk/debian/changelog
===================================================================
--- packages/python-django/trunk/debian/changelog	2009-05-10 20:09:43 UTC (rev 8411)
+++ packages/python-django/trunk/debian/changelog	2009-05-10 21:13:01 UTC (rev 8412)
@@ -1,3 +1,10 @@
+python-django (1.0.2-6) UNRELEASED; urgency=low
+
+  * Backport patch from <http://code.djangoproject.com/ticket/10539> to fix
+    FTBFS when using python-sphinx >= 0.6. (Closes: #527492)
+
+ -- Chris Lamb <lamby at debian.org>  Thu, 07 May 2009 22:25:41 +0100
+
 python-django (1.0.2-5) unstable; urgency=low
 
   * Fix issue where newly created projects do not have their manage.py file

Added: packages/python-django/trunk/debian/patches/05_10539-sphinx06-compatibility.diff
===================================================================
--- packages/python-django/trunk/debian/patches/05_10539-sphinx06-compatibility.diff	                        (rev 0)
+++ packages/python-django/trunk/debian/patches/05_10539-sphinx06-compatibility.diff	2009-05-10 21:13:01 UTC (rev 8412)
@@ -0,0 +1,131 @@
+Forwarded-Upstream: not needed
+Comment:
+ Backported version of patch from <http://code.djangoproject.com/ticket/10539>
+ to fix compatibility with python-sphinx >= 0.6. This patch should retain
+ compatibility with 0.4 too.
+
+diff -urNad a/docs/_ext/djangodocs.py b/docs/_ext/djangodocs.py
+--- Django-1.0.2-final.orig/docs/_ext/djangodocs.py	2009-05-07 22:14:38.000000000 +0100
++++ Django-1.0.2-final/docs/_ext/djangodocs.py	2009-05-07 22:16:39.000000000 +0100
+@@ -6,10 +6,16 @@
+ import docutils.transforms
+ import sphinx
+ import sphinx.addnodes
+-import sphinx.builder
++try:
++    from sphinx import builders
++except ImportError:
++    import sphinx.builder as builders
+ import sphinx.directives
+ import sphinx.environment
+-import sphinx.htmlwriter
++try:
++    import sphinx.writers.html as sphinx_htmlwriter
++except ImportError:
++    import sphinx.htmlwriter as sphinx_htmlwriter
+ 
+ def setup(app):
+     app.add_crossref_type(
+@@ -42,7 +48,7 @@
+         directivename = "django-admin-option",
+         rolename      = "djadminopt",
+         indextemplate = "pair: %s; django-admin command-line option",
+-        parse_node    = lambda env, sig, signode: sphinx.directives.parse_option_desc(signode, sig),
++        parse_node    = parse_django_adminopt_node,
+     )
+     app.add_transform(SuppressBlockquotes)
+     
+@@ -71,7 +77,7 @@
+             if len(node.children) == 1 and isinstance(node.children[0], self.suppress_blockquote_child_nodes):
+                 node.replace_self(node.children[0])
+ 
+-class DjangoHTMLTranslator(sphinx.htmlwriter.SmartyPantsHTMLTranslator):
++class DjangoHTMLTranslator(sphinx_htmlwriter.SmartyPantsHTMLTranslator):
+     """
+     Django-specific reST to HTML tweaks.
+     """
+@@ -94,10 +100,10 @@
+     #
+     def visit_literal_block(self, node):
+         self.no_smarty += 1
+-        sphinx.htmlwriter.SmartyPantsHTMLTranslator.visit_literal_block(self, node)
++        sphinx_htmlwriter.SmartyPantsHTMLTranslator.visit_literal_block(self, node)
+         
+     def depart_literal_block(self, node):
+-        sphinx.htmlwriter.SmartyPantsHTMLTranslator.depart_literal_block(self, node) 
++        sphinx_htmlwriter.SmartyPantsHTMLTranslator.depart_literal_block(self, node) 
+         self.no_smarty -= 1
+         
+     #
+@@ -132,7 +138,7 @@
+     # This is different on docutils 0.5 vs. 0.4...
+     
+     # The docutils 0.4 override.
+-    if hasattr(sphinx.htmlwriter.SmartyPantsHTMLTranslator, 'start_tag_with_title'):
++    if hasattr(sphinx_htmlwriter.SmartyPantsHTMLTranslator, 'start_tag_with_title'):
+         def start_tag_with_title(self, node, tagname, **atts):
+             node = {
+                 'classes': node.get('classes', []), 
+@@ -145,7 +151,7 @@
+         def visit_section(self, node):
+             old_ids = node.get('ids', [])
+             node['ids'] = ['s-' + i for i in old_ids]
+-            sphinx.htmlwriter.SmartyPantsHTMLTranslator.visit_section(self, node)
++            sphinx_htmlwriter.SmartyPantsHTMLTranslator.visit_section(self, node)
+             node['ids'] = old_ids
+ 
+ def parse_django_admin_node(env, sig, signode):
+@@ -155,6 +161,25 @@
+     signode += sphinx.addnodes.desc_name(title, title)
+     return sig
+ 
++def parse_django_adminopt_node(env, sig, signode):
++    """A copy of sphinx.directives.CmdoptionDesc.parse_signature()"""
++    from sphinx import addnodes
++    from sphinx.directives.desc import option_desc_re
++    count = 0
++    firstname = ''
++    for m in option_desc_re.finditer(sig):
++        optname, args = m.groups()
++        if count:
++            signode += addnodes.desc_addname(', ', ', ')
++        signode += addnodes.desc_name(optname, optname)
++        signode += addnodes.desc_addname(args, args)
++        if not count:
++            firstname = optname
++        count += 1
++    if not firstname:
++        raise ValueError
++    return firstname
++
+ def monkeypatch_pickle_builder():
+     import shutil
+     from os import path
+@@ -183,12 +208,12 @@
+ 
+         # copy the environment file from the doctree dir to the output dir
+         # as needed by the web app
+-        shutil.copyfile(path.join(self.doctreedir, sphinx.builder.ENV_PICKLE_FILENAME),
+-                        path.join(self.outdir, sphinx.builder.ENV_PICKLE_FILENAME))
++        shutil.copyfile(path.join(self.doctreedir, builders.ENV_PICKLE_FILENAME),
++                        path.join(self.outdir, builders.ENV_PICKLE_FILENAME))
+ 
+         # touch 'last build' file, used by the web application to determine
+         # when to reload its environment and clear the cache
+-        open(path.join(self.outdir, sphinx.builder.LAST_BUILD_FILENAME), 'w').close()
++        open(path.join(self.outdir, builders.LAST_BUILD_FILENAME), 'w').close()
+ 
+-    sphinx.builder.PickleHTMLBuilder.handle_finish = handle_finish
++    builders.PickleHTMLBuilder.handle_finish = handle_finish
+     
+diff -urNad a/docs/_templates/layout.html b/docs/_templates/layout.html
+--- a/docs/_templates/layout.html	2009-05-07 22:14:38.000000000 +0100
++++ b/docs/_templates/layout.html	2009-05-07 22:17:03.000000000 +0100
+@@ -1,6 +1,6 @@
+ {% extends "!layout.html" %}
+ 
+-{%- macro secondnav %}
++{%- macro secondnav() %}
+   {%- if prev %}
+     &laquo; <a href="{{ prev.link|e }}" title="{{ prev.title|e }}">previous</a> 
+     {{ reldelim2 }}

Modified: packages/python-django/trunk/debian/patches/series
===================================================================
--- packages/python-django/trunk/debian/patches/series	2009-05-10 20:09:43 UTC (rev 8411)
+++ packages/python-django/trunk/debian/patches/series	2009-05-10 21:13:01 UTC (rev 8412)
@@ -1,2 +1,3 @@
 03_manpage.diff
 04_hyphen-manpage.diff
+05_10539-sphinx06-compatibility.diff




More information about the Python-modules-commits mailing list