Updated for standards per BZ#1433650

This commit is contained in:
Steve Milner 2017-03-20 10:26:09 -04:00
parent 259afea88c
commit b41b8228b2

View File

@ -1,9 +1,3 @@
%if 0%{?fedora} > 12
%global with_python3 1
%else
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}
%endif
%if 0%{?rhel} == 5 %if 0%{?rhel} == 5
%global with_python26 1 %global with_python26 1
%endif %endif
@ -17,13 +11,15 @@
%global __os_install_post %__multiple_python_os_install_post %global __os_install_post %__multiple_python_os_install_post
%endif %endif
%global upstream_name Pygments %global upstream_name Pygments
%global srcname pygments
%global sum Syntax highlighting engine written in Python
Name: python-pygments Name: python-pygments
Version: 2.2.0 Version: 2.2.0
Release: 4%{?dist} Release: 5%{?dist}
Summary: Syntax highlighting engine written in Python Summary: %{sum}
Group: Development/Libraries Group: Development/Libraries
License: BSD License: BSD
@ -32,19 +28,6 @@ Source0: https://pypi.org/packages/source/P/%{upstream_name}/%{upstream_n
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch BuildArch: noarch
BuildRequires: python2-devel >= 2.4, python-setuptools, python-nose, python-sphinx
%if 0%{?with_python3}
BuildRequires: python3-devel, python3-setuptools, python3-nose
# The binary location was moved from Python 2 to Python 3. See BZ#1429075
Conflicts: python-pygments < 2.2.0
%endif # if with_python3
%if 0%{?with_python26}
BuildRequires: python26-devel, python26-distributea
Requires: python26-setuptools
%endif
%description %description
Pygments is a generic syntax highlighter for general use in all kinds Pygments is a generic syntax highlighter for general use in all kinds
@ -61,13 +44,21 @@ need to prettify source code. Highlights are:
* it is usable as a command-line tool and as a library * it is usable as a command-line tool and as a library
* ... and it highlights even Brainf*ck! * ... and it highlights even Brainf*ck!
%if 0%{?with_python3}
%package -n python3-pygments
Summary: Syntax highlighting engine written in Python 3
Group: Development/Libraries
Requires: python3-setuptools
%description -n python3-pygments # We either build for python26 or for python2 and python3
%if 0%{?with_python26}
%package -n python26-pygments
Summary: %{sum}
Group: Development/Libraries
BuildRequires: python26-devel, python26-distributea
Requires: python26-distribute
Requires: python26-imaging
Requires: python(abi) = 2.6
Requires: python26-setuptools
%{?python_provide:%python_provide python26-%{srcname}}
%description -n python26-pygments
Pygments is a generic syntax highlighter for general use in all kinds Pygments is a generic syntax highlighter for general use in all kinds
of software such as forum systems, wikis or other applications that of software such as forum systems, wikis or other applications that
need to prettify source code. Highlights are: need to prettify source code. Highlights are:
@ -81,69 +72,85 @@ need to prettify source code. Highlights are:
LaTeX and ANSI sequences LaTeX and ANSI sequences
* it is usable as a command-line tool and as a library * it is usable as a command-line tool and as a library
* ... and it highlights even Brainf*ck! * ... and it highlights even Brainf*ck!
%endif # if with_python3
%if 0%{?with_python26} %else
%package -n python26-pygments
Summary: A syntax highlighting engine written in Python 2.6
Group: Development/Libraries
Requires: python26-distribute
Requires: python26-imaging
Requires: python(abi) = 2.6
%description -n python26-pygments %package -n python2-%{srcname}
BuildRequires: python2-devel >= 2.4, python-setuptools, python-nose, python-sphinx
Summary: %{sum}
%{?python_provide:%python_provide python2-%{srcname}}
%description -n python2-%{srcname}
Pygments is a generic syntax highlighter for general use in all kinds Pygments is a generic syntax highlighter for general use in all kinds
of software such as forum systems, wikis or other applications that of software such as forum systems, wikis or other applications that
need to prettify source code. Highlights are: need to prettify source code. Highlights are:
%endif #end of python2.6
* a wide range of common languages and markup formats is supported
* special attention is paid to details that increase highlighting
quality
* support for new languages and formats are added easily; most
languages use a simple regex-based lexing mechanism
* a number of output formats is available, among them HTML, RTF,
LaTeX and ANSI sequences
* it is usable as a command-line tool and as a library
* ... and it highlights even Brainf*ck!
%package -n python3-%{srcname}
BuildRequires: python3-devel, python3-setuptools, python3-nose, python3-sphinx
Summary: %{sum}
%{?python_provide:%python_provide python3-%{srcname}}
%description -n python3-%{srcname}
Pygments is a generic syntax highlighter for general use in all kinds
of software such as forum systems, wikis or other applications that
need to prettify source code. Highlights are:
* a wide range of common languages and markup formats is supported
* special attention is paid to details that increase highlighting
quality
* support for new languages and formats are added easily; most
languages use a simple regex-based lexing mechanism
* a number of output formats is available, among them HTML, RTF,
LaTeX and ANSI sequences
* it is usable as a command-line tool and as a library
* ... and it highlights even Brainf*ck!
%endif
%prep %prep
%setup -q -n Pygments-%{version} %setup -q -n %{upstream_name}-%{version}
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|'
%endif # with_python3
%if 0%{?with_python26}
rm -rf %{py26dir}
cp -a . %{py26dir}
find %{py26dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python26}|'
%endif # with_python26
%build %build
%{__python} setup.py build
%{__sed} -i 's/\r//' LICENSE %{__sed} -i 's/\r//' LICENSE
# Build for python26 or for python2 and python3
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py build
popd
%endif # with_python3
%if 0%{?with_python26} %if 0%{?with_python26}
pushd %{py26dir} pushd %{py26dir}
%{__python26} setup.py build %{__python26} setup.py build
popd popd
%endif # with_python26
%else
%py2_build
%py3_build
%endif
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
# Run the Python 2.6 build first so that the Python 2.6 version of # Install for python26 or python2 and python3
# /usr/bin/pygmentize "wins":
%if 0%{?with_python26} %if 0%{?with_python26}
pushd %{py26dir} pushd %{py26dir}
%{__python26} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT %{__python26} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
popd popd
%endif # with_python26 rm -rf %{py26dir}
cp -a . %{py26dir}
find %{py26dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python26}|'
# Python2 version %else
%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
%py2_install
%{__python} setup.py build_sphinx %{__python} setup.py build_sphinx
pushd doc pushd doc
install -d %{buildroot}%{_mandir}/man1 install -d %{buildroot}%{_mandir}/man1
@ -151,13 +158,8 @@ mv pygmentize.1 $RPM_BUILD_ROOT%{_mandir}/man1/pygmentize.1
popd popd
cp -r doc/docs doc/reST cp -r doc/docs doc/reST
# Run the Python 3 build last so that the Python 3 version of %py3_install
# /usr/bin/pygmentize "wins": %endif
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
popd
%endif # with_python3
%clean %clean
@ -167,37 +169,6 @@ rm -rf $RPM_BUILD_ROOT
%check %check
make test || : make test || :
%if 0%{?with_python26}
pushd %{py26dir}
# There's currently no python26-nose
#make test
popd
%endif # with_python26
# python3-nose is available from f15 on
%if 0%{?with_python3}
pushd %{py3dir}
%if 0%{?fedora} >= 15
make test || :
%endif
popd
%endif # with_python3
%files
%defattr(-,root,root,-)
%doc AUTHORS CHANGES build/sphinx/html doc/reST LICENSE TODO
# For noarch packages: sitelib
%{python_sitelib}/*
%lang(en) %{_mandir}/man1/pygmentize.1.gz
%if 0%{?with_python3}
%files -n python3-pygments
%defattr(-,root,root,-)
%doc AUTHORS CHANGES build/sphinx/html doc/reST LICENSE TODO
%{python3_sitelib}/*
%{_bindir}/pygmentize
%endif # with_python3
%if 0%{?with_python26} %if 0%{?with_python26}
%files -n python26-pygments %files -n python26-pygments
@ -205,10 +176,29 @@ popd
%doc AUTHORS CHANGES doc/ LICENSE TODO %doc AUTHORS CHANGES doc/ LICENSE TODO
%{python26_sitelib}/* %{python26_sitelib}/*
%{_bindir}/pygmentize %{_bindir}/pygmentize
%endif # with_python26
%else
%files -n python2-pygments
%defattr(-,root,root,-)
%doc AUTHORS CHANGES build/sphinx/html doc/reST LICENSE TODO
# For noarch packages: sitelib
%{python_sitelib}/*
%files -n python3-pygments
%defattr(-,root,root,-)
%doc AUTHORS CHANGES build/sphinx/html doc/reST LICENSE TODO
%{python3_sitelib}/*
%{_bindir}/pygmentize
%lang(en) %{_mandir}/man1/pygmentize.1.gz
%endif
%changelog %changelog
* Mon Mar 20 2017 Steve Milner <smilner@redhat.com> - 2.2.0-5
- Updated for standards per BZ#1433650
* Mon Mar 6 2017 Steve Milner <smilner@redhat.com> - 2.2.0-4 * Mon Mar 6 2017 Steve Milner <smilner@redhat.com> - 2.2.0-4
- Added conflict per BZ#1429075 - Added conflict per BZ#1429075