Doing this and removing eventlet-0.9.7/doc/._examples.rst should allow the docs build to complete with old sphinx. The removal of the todo and intersphinx extensions is a reduction in functionality so the docs won't be as featureful as on other platforms but they should be buildable. diff -uNr eventlet-0.9.7.pristine/doc/conf.py eventlet-0.9.7/doc/conf.py --- eventlet-0.9.7.pristine/doc/conf.py 2010-06-11 15:50:34.756526421 -0400 +++ eventlet-0.9.7/doc/conf.py 2010-06-11 15:51:11.801545513 -0400 @@ -22,8 +22,7 @@ # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', 'sphinx.ext.todo', 'sphinx.ext.coverage', - 'sphinx.ext.intersphinx'] +extensions = ['sphinx.ext.autodoc', 'sphinx.ext.coverage'] # If this is True, '.. todo::' and '.. todolist::' produce output, else they produce # nothing. The default is False. @@ -129,7 +128,7 @@ # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +html_static_path = ['images'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. Binary files eventlet-0.9.7.pristine/doc/._examples.rst and eventlet-0.9.7/doc/._examples.rst differ diff -uNr eventlet-0.9.7.pristine/doc/Makefile eventlet-0.9.7/doc/Makefile --- eventlet-0.9.7.pristine/doc/Makefile 2010-06-11 15:50:34.787527301 -0400 +++ eventlet-0.9.7/doc/Makefile 2010-06-11 15:51:53.937651778 -0400 @@ -3,7 +3,7 @@ # You can set these variables from the command line. SPHINXOPTS = -SPHINXBUILD = PYTHONPATH=../:$PYTHONPATH sphinx-build +SPHINXBUILD = PYTHONPATH=../:$(PYTHONPATH) sphinx-build PAPER = # Internal variables. diff -uNr eventlet-0.9.7.pristine/doc/threading.rst eventlet-0.9.7/doc/threading.rst --- eventlet-0.9.7.pristine/doc/threading.rst 2010-06-11 15:50:34.812526842 -0400 +++ eventlet-0.9.7/doc/threading.rst 2010-06-11 15:53:36.904652119 -0400 @@ -3,7 +3,7 @@ Eventlet is thread-safe and can be used in conjunction with normal Python threads. The way this works is that coroutines are confined to their 'parent' Python thread. It's like each thread contains its own little world of coroutines that can switch between themselves but not between coroutines in other threads. -.. image:: /images/threading_illustration.png +.. image:: images/threading_illustration.png You can only communicate cross-thread using the "real" thread primitives and pipes. Fortunately, there's little reason to use threads for concurrency when you're already using coroutines.