From 7f502fb34d084e5ee12742e23b281c8a4f416d2d Mon Sep 17 00:00:00 2001 From: Michel Alexandre Salim Date: Dec 08 2011 17:46:16 +0000 Subject: Enable python3 subpackage --- diff --git a/.gitignore b/.gitignore index 17ed307..8817c29 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1 @@ -/Sphinx-1.0.4.tar.gz -/Sphinx-1.0.6.tar.gz -/Sphinx-1.0.7.tar.gz /Sphinx-1.1.2.tar.gz diff --git a/python-sphinx.spec b/python-sphinx.spec index 85cd2aa..bb3ec1e 100644 --- a/python-sphinx.spec +++ b/python-sphinx.spec @@ -1,12 +1,15 @@ -%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())")} +%if 0%{?fedora} || 0%{?rhel} > 6 +%global with_python3 1 +%{!?python3_version: %global python3_version %(%{__python3} -c "import sys; sys.stdout.write(sys.version[:3])")} +%else +%{!?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: 1.1.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Python documentation generator Group: Development/Tools @@ -28,6 +31,17 @@ BuildRequires: python-nose Requires: python-docutils Requires: python-jinja2 Requires: python-pygments +%if 0%{?with_python3} +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-docutils +BuildRequires: python3-jinja2 +BuildRequires: python3-pygments +BuildRequires: python3-nose +Requires: python3-docutils +Requires: python3-jinja2 +Requires: python3-pygments +%endif # with_python3 %description @@ -59,6 +73,41 @@ the Python docs: snippets and inclusion of appropriately formatted docstrings. +%if 0%{?with_python3} +%package -n python3-sphinx +Summary: Python documentation generator +Group: Development/Tools + +%description -n python3-sphinx +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 +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. + +Sphinx uses reStructuredText as its markup language, and many of its +strengths come from the power and straightforwardness of +reStructuredText and its parsing and translating suite, the Docutils. + +Although it is still under constant development, the following +features are already present, work fine and can be seen "in action" in +the Python docs: + + * Output formats: HTML (including Windows HTML Help) and LaTeX, + for printable PDF versions + * Extensive cross-references: semantic markup and automatic links + for functions, classes, glossary terms and similar pieces of + information + * Hierarchical structure: easy definition of a document tree, with + automatic links to siblings, parents and children + * Automatic indices: general index as well as a module index + * Code handling: automatic highlighting using the Pygments highlighter + * Various extensions are available, e.g. for automatic testing of + snippets and inclusion of appropriately formatted docstrings. +%endif # with_python3 + + %package doc Summary: Documentation for %{name} Group: Documentation @@ -81,8 +130,20 @@ This package contains documentation in reST and HTML formats. %setup -q -n %{upstream_name}-%{version}%{?prerel} sed '1d' -i sphinx/pycode/pgen2/token.py +%if 0%{?with_python3} +rm -rf %{py3dir} +cp -a . %{py3dir} +%endif # with_python3 + + %build %{__python} setup.py build +%if 0%{?with_python3} +pushd %{py3dir} +%{__python3} setup.py build +popd +%endif # with_python3 + pushd doc make html make man @@ -94,13 +155,31 @@ popd %install rm -rf %{buildroot} -%{__python} setup.py install --skip-build --root %{buildroot} +# Must do the python3 install first because the scripts in /usr/bin are +# overwritten with every setup.py install (and we want the python2 version +# to be the default for now). +%if 0%{?with_python3} +pushd %{py3dir} +%{__python3} setup.py install --skip-build --root %{buildroot} +for f in %{buildroot}%{_bindir}/sphinx-*; +do + mv $f $f-%{python3_version} +done +popd +%endif # with_python3 +%{__python} setup.py install --skip-build --root %{buildroot} pushd doc # Deliver man pages install -d %{buildroot}%{_mandir}/man1 mv _build/man/sphinx-*.1 %{buildroot}%{_mandir}/man1/ +%if 0%{?with_python3} +for f in %{buildroot}%{_mandir}/man1/sphinx-*.1; +do + cp -p $f $(echo $f | sed -e "s|.1$|-%{python3_version}.1|") +done +%endif # with_python3 popd # Deliver rst files @@ -134,6 +213,11 @@ popd %check make test +%if 0%{?with_python3} +pushd %{py3dir} +make test +popd +%endif # with_python3 %files -f sphinx.lang @@ -144,14 +228,29 @@ make test %dir %{_datadir}/sphinx/ %dir %{_datadir}/sphinx/locale %dir %{_datadir}/sphinx/locale/* +%exclude %{_mandir}/man1/sphinx-*-%{python3_version}.1* %{_mandir}/man1/* +%if 0%{?with_python3} +%files -n python3-sphinx +%doc AUTHORS CHANGES EXAMPLES LICENSE README TODO +%{_bindir}/sphinx-*-%{python3_version} +%{python3_sitelib}/* +%dir %{_datadir}/sphinx/ +%dir %{_datadir}/sphinx/locale +%dir %{_datadir}/sphinx/locale/* +%{_mandir}/man1/sphinx-*-%{python3_version}.1* +%endif # with_python3 + %files doc %defattr(-,root,root,-) %doc html reST %changelog +* Thu Dec 8 2011 Michel Salim - 1.1.2-2 +- Enable python3 subpackage + * Mon Nov 28 2011 Toshio Kuratomi - 1.1.2-1 - Update to upstream 1.1.2