[python-sphinx] Enable python3 subpackage
Michel Alexandre Salim
salimma at fedoraproject.org
Thu Dec 8 17:46:23 UTC 2011
commit 7f502fb34d084e5ee12742e23b281c8a4f416d2d
Author: Michel Alexandre Salim <salimma at fedoraproject.org>
Date: Thu Dec 8 18:46:16 2011 +0100
Enable python3 subpackage
.gitignore | 3 -
python-sphinx.spec | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 103 insertions(+), 7 deletions(-)
---
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 <salimma at fedoraproject.org> - 1.1.2-2
+- Enable python3 subpackage
+
* Mon Nov 28 2011 Toshio Kuratomi <toshio at fedoraproject.org> - 1.1.2-1
- Update to upstream 1.1.2
More information about the scm-commits
mailing list