diff --git a/.cvsignore b/.cvsignore index ab16ecd..11c96c5 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -Sphinx-0.6.4.tar.gz +Sphinx-0.6.5.tar.gz diff --git a/python-sphinx-0.6.5_move_locale_files_outside_sitelib.patch b/python-sphinx-0.6.5_move_locale_files_outside_sitelib.patch new file mode 100644 index 0000000..76dffc4 --- /dev/null +++ b/python-sphinx-0.6.5_move_locale_files_outside_sitelib.patch @@ -0,0 +1,56 @@ +# HG changeset patch +# Parent 552e51b26229a9a918c76a401f2f487bf81f2ee6 + +Index: Sphinx-0.6.5/sphinx/builders/html.py +=================================================================== +--- Sphinx-0.6.5.orig/sphinx/builders/html.py ++++ Sphinx-0.6.5/sphinx/builders/html.py +@@ -10,6 +10,7 @@ + """ + + import os ++import sys + import codecs + import posixpath + import cPickle as pickle +@@ -91,10 +92,15 @@ class StandaloneHTMLBuilder(Builder): + self.link_suffix = self.out_suffix + + if self.config.language is not None: +- jsfile = path.join(package_dir, 'locale', self.config.language, +- 'LC_MESSAGES', 'sphinx.js') +- if path.isfile(jsfile): +- self.script_files.append('_static/translations.js') ++ jsfile_list = [path.join(package_dir, 'locale', ++ self.config.language, 'LC_MESSAGES', 'sphinx.js'), ++ path.join(sys.prefix, 'share/sphinx/locale', ++ self.config.language, 'sphinx.js')] ++ ++ for jsfile in jsfile_list: ++ if path.isfile(jsfile): ++ self.script_files.append('_static/translations.js') ++ break + + def init_templates(self): + Theme.init_themes(self) +@@ -528,11 +534,15 @@ class StandaloneHTMLBuilder(Builder): + f.close() + # then, copy translations JavaScript file + if self.config.language is not None: +- jsfile = path.join(package_dir, 'locale', self.config.language, +- 'LC_MESSAGES', 'sphinx.js') +- if path.isfile(jsfile): +- copyfile(jsfile, path.join(self.outdir, '_static', +- 'translations.js')) ++ jsfile_list = [path.join(package_dir, 'locale', ++ self.config.language, 'LC_MESSAGES', 'sphinx.js'), ++ path.join(sys.prefix, 'share/sphinx/locale', ++ self.config.language, 'sphinx.js')] ++ for jsfile in jsfile_list: ++ if path.isfile(jsfile): ++ copyfile(jsfile, path.join(self.outdir, '_static', ++ 'translations.js')) ++ break + # then, copy over all user-supplied static files + if self.theme: + staticdirnames = [path.join(themepath, 'static') diff --git a/python-sphinx-0.6.5_setuptools.patch b/python-sphinx-0.6.5_setuptools.patch new file mode 100644 index 0000000..e8bcc44 --- /dev/null +++ b/python-sphinx-0.6.5_setuptools.patch @@ -0,0 +1,24 @@ +# HG changeset patch +# Parent 5da6d572bd088b04711b3bf70991c976d8f9c605 + +Index: Sphinx-0.6.5/setup.py +=================================================================== +--- Sphinx-0.6.5.orig/setup.py ++++ Sphinx-0.6.5/setup.py +@@ -1,10 +1,13 @@ + # -*- coding: utf-8 -*- +-import ez_setup +-ez_setup.use_setuptools() ++try: ++ from setuptools import setup, find_packages ++except ImportError: ++ import ez_setup ++ ez_setup.use_setuptools() ++ from setuptools import setup, find_packages + + import os + import sys +-from setuptools import setup, find_packages + from distutils import log + + import sphinx diff --git a/python-sphinx-setuptools.patch b/python-sphinx-setuptools.patch deleted file mode 100644 index c4cfb6a..0000000 --- a/python-sphinx-setuptools.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- setup.py.orig 2009-06-05 07:42:36.000000000 -0400 -+++ setup.py 2009-06-05 07:42:40.000000000 -0400 -@@ -1,6 +1,4 @@ - # -*- coding: utf-8 -*- --import ez_setup --ez_setup.use_setuptools() - - import os - import sys diff --git a/python-sphinx.spec b/python-sphinx.spec index 33f73ae..52c5b4f 100644 --- a/python-sphinx.spec +++ b/python-sphinx.spec @@ -1,23 +1,31 @@ -%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} -%{!?pyver: %define pyver %(%{__python} -c "import sys ; print sys.version[:3]")} - -%define upstream_name Sphinx - -Name: python-sphinx -Version: 0.6.4 -Release: 1%{?dist} -Summary: Python documentation generator - -Group: Development/Tools -License: BSD -URL: http://sphinx.pocoo.org/ -Source0: http://pypi.python.org/packages/source/S/%{upstream_name}/%{upstream_name}-%{version}.tar.gz -Patch0: %{name}-setuptools.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -BuildArch: noarch -BuildRequires: python-devel python-docutils python-jinja2 python-setuptools -Requires: python-docutils python-jinja2 python-pygments +%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5) +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} +%endif + +%global upstream_name Sphinx + +Name: python-sphinx +Version: 0.6.5 +Release: 2%{?dist} +Summary: Python documentation generator + +Group: Development/Tools +License: BSD +URL: http://sphinx.pocoo.org/ +Source0: http://pypi.python.org/packages/source/S/%{upstream_name}/%{upstream_name}-%{version}.tar.gz +Patch0: %{name}-0.6.5_setuptools.patch +Patch1: %{name}-0.6.5_move_locale_files_outside_sitelib.patch + +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +BuildArch: noarch +BuildRequires: python2-devel >= 2.4 +BuildRequires: python-setuptools +BuildRequires: python-docutils +BuildRequires: python-jinja2 +BuildRequires: python-nose +Requires: python-docutils +Requires: python-jinja2 +Requires: python-pygments %description @@ -49,14 +57,14 @@ the Python docs: snippets and inclusion of appropriately formatted docstrings. -%package doc -Summary: Documentation for %{name} -Group: Documentation -License: BSD -Requires: %{name} = %{version}-%{release} +%package doc +Summary: Documentation for %{name} +Group: Documentation +License: BSD +Requires: %{name} = %{version}-%{release} -%description doc +%description doc Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText sources), written by Georg @@ -64,51 +72,101 @@ Brandl. It was originally created to translate the new Python documentation, but has now been cleaned up in the hope that it will be useful to many other projects. -This package contains documentation in rST and HTML formats +This package contains documentation in reST and HTML formats. %prep %setup -q -n %{upstream_name}-%{version} -%patch0 -p0 -b .setuptools +%patch0 -p1 -b .setuptools +%patch1 -p1 -b .language_files +sed '1d' -i sphinx/pycode/pgen2/token.py %build %{__python} setup.py build -cd doc +pushd doc make html +rm -rf _build/html/.buildinfo mv _build/html .. rm -rf _* +popd %install -rm -rf $RPM_BUILD_ROOT -# Fix EOL delimiters -sed -i 's|\r||g' LICENSE -%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT +rm -rf %{buildroot} + +%{__python} setup.py install --skip-build --root %{buildroot} + + +pushd doc +# Deliver man pages +install -d %{buildroot}%{_mandir}/man1 +mv sphinx-*.1 %{buildroot}%{_mandir}/man1/ +popd -# Language files; not under /usr/share, need to be handled manually -(cd $RPM_BUILD_ROOT && find . -name 'sphinx.mo') | sed -e 's|^.||' | sed -e \ - 's:\(.*/locale/\)\([^/_]\+\)\(.*\.mo$\):%lang(\2) \1\2\3:' \ - >> %{name}.lang +# Deliver rst files +mv doc reST + +# Move language files to /usr/share in association with %patch1 +pushd %{buildroot}%{python_sitelib} + +for lang in `find sphinx/locale -maxdepth 1 -mindepth 1 -type d -printf "%f "`; +do + install -d %{buildroot}%{_datadir}/sphinx/locale/$lang + install -d %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES + mv sphinx/locale/$lang/LC_MESSAGES/sphinx.js \ + %{buildroot}%{_datadir}/sphinx/locale/$lang/ + mv sphinx/locale/$lang/LC_MESSAGES/sphinx.mo \ + %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES/ + rm -rf sphinx/locale/$lang +done +popd +%find_lang sphinx + +# Language files; Since these are javascript, it's not immediately obvious to +# find_lang that they need to be marked with a language. +(cd %{buildroot} && find . -name 'sphinx.js') | sed -e 's|^.||' | sed -e \ + 's:\(.*/locale/\)\([^/_]\+\)\(.*\.js$\):%lang(\2) \1\2\3:' \ + >> sphinx.lang %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} -%files -f %{name}.lang +%check +make test + + +%files -f sphinx.lang %defattr(-,root,root,-) -%doc AUTHORS CHANGES LICENSE README TODO +%doc AUTHORS CHANGES EXAMPLES LICENSE README TODO %{_bindir}/sphinx-* -%{python_sitelib}/sphinx -%{python_sitelib}/*.egg-info +%{python_sitelib}/* +%{_datadir}/sphinx/ +%exclude %{_datadir}/sphinx/locale/*/sphinx.js +%{_mandir}/man1/* %files doc %defattr(-,root,root,-) -%doc doc html +%doc html reST %changelog +* Fri May 21 2010 Toshio Kuratomi - 0.6.5-2 +- Few minor tweaks to Gareth's spec file update + +* Mon May 10 2010 Gareth Armstrong - 0.6.5-1.hp +- Update to 0.6.5 +- Initial import of python-sphinx from Fedora Rawhide for use in HP CMS +- Enforce that Sphinx requires Python 2.4 or later via an explicit BR +- Minor tweaks to spec file +- Move language files to %%{_datadir}, idea borrowed from Debian's sphinx + package +- Deliver man pages for sphinx-build & sphinx-quickstart +- Deliver rst documentation files to reST directory in doc sub-package +- Add %%check section for Python2 and add BR on python-nose + * Wed Jan 13 2010 Toshio Kuratomi - 0.6.4-1 - Update to 0.6.4 - Fixes a problem using autodoc with pylons projects. diff --git a/sources b/sources index ad5c2c8..6c0c1e6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a65e0bcff6f79a7c013220d00ea137ad Sphinx-0.6.4.tar.gz +86dd5dbd55cb44d1f8091a4a1c3743b2 Sphinx-0.6.5.tar.gz