%global py2_incdir %(python2 -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_inc())')
%global py3_incdir %(python3 -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_inc())')
%global py2_libbuilddir %(python2 -c 'import sys; import sysconfig; print("lib.{p}-{v[0]}.{v[1]}".format(p=sysconfig.get_platform(), v=sys.version_info))')
%global py3_libbuilddir %(python3 -c 'import sys; import sysconfig; print("lib.{p}-{v[0]}.{v[1]}".format(p=sysconfig.get_platform(), v=sys.version_info))')

Name:               python-pillow
Version:            5.3.0
Release:            3
Summary:            Python image processing library
License:            MIT
URL:                http://python-pillow.github.io/
Source0:            https://github.com/python-pillow/Pillow/archive/%{version}/Pillow-%{version}.tar.gz
BuildRequires:      freetype-devel ghostscript lcms2-devel libimagequant-devel libjpeg-devel
BuildRequires:      libtiff-devel libwebp-devel openjpeg2-devel tk-devel zlib-devel
BuildRequires:      python2-cffi python2-devel python2-numpy python2-olefile python2-setuptools
BuildRequires:      python2-sphinx python2-sphinx_rtd_theme python2-tkinter
BuildRequires:      python3-cffi python3-devel python3-numpy python3-olefile
BuildRequires:      python3-setuptools python3-sphinx python3-sphinx_rtd_theme python3-tkinter

Requires:           ghostscript

%global __provides_exclude_from ^%{python2_sitearch}/PIL/.*\\.so$
%global __provides_exclude_from ^%{python3_sitearch}/PIL/.*\\.so$

%description
Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging \
Library by Fredrik Lundh and Contributors. As of 2019, Pillow development is supported by Tidelift.


%package -n         python2-pillow
Summary:            Python 2 image processing library
%{?python_provide:%python_provide python2-pillow}
Provides:           python-imaging = %{version}-%{release} python2-imaging = %{version}-%{release}
Provides:	    python2-pillow-tk = %{version}-%{release} python2-pillow-qt = %{version}-%{release}
Provides:           python-imaging-tk = %{version}-%{release} python2-imaging-tk = %{version}-%{release}
Provides:           python-imaging-qt = %{version}-%{release} python2-imaging-qt = %{version}-%{release}
Requires:           python2-olefile python2-tkinter python2-PyQt4

Obsoletes:          python2-pillow-tk < %{version}-%{release} python2-pillow-qt < %{version}-%{release}
%{?python_provide:%python_provide python2-pillow-tk}
%{?python_provide:%python_provide python2-pillow-qt}

%description -n     python2-pillow
Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging \
Library by Fredrik Lundh and Contributors. As of 2019, Pillow development is supported by Tidelift.


%package -n         python2-pillow-devel
Summary:            Development files for pillow
Requires:           python2-devel libjpeg-devel zlib-devel  python2-pillow = %{version}-%{release}
%{?python_provide:%python_provide python2-pillow-devel}
Provides:           python-imaging-devel = %{version}-%{release} python2-imaging-devel = %{version}-%{release}

%description -n     python2-pillow-devel
Development files for pillow.

%package -n         python2-pillow-help
Summary:            Documentation for pillow
BuildArch:          noarch
Requires:           python2-pillow = %{version}-%{release}
%{?python_provide:%python_provide python2-pillow-doc}
Provides:           python-imaging-doc = %{version}-%{release} python2-imaging-doc = %{version}-%{release}
Provides:	    python2-pillow-doc = %{version}-%{release}
Obsoletes:	    python2-pillow-doc < %{version}-%{release}

%description -n     python2-pillow-help
Documentation for pillow.


%package -n         python3-pillow
Summary:            Python 3 image processing library
%{?python_provide:%python_provide python3-pillow}
Provides:           python3-imaging = %{version}-%{release}
Provides:	    python3-pillow-tk = %{version}-%{release} python3-imaging-tk = %{version}-%{release}
Provides:	    python3-pillow-qt = %{version}-%{release} python3-imaging-qt = %{version}-%{release}
Requires:           python3-olefile python3-tkinter python3-PyQt4
Obsoletes:          python3-pillow-tk < %{version}-%{release} python3-pillow-qt < %{version}-%{release}
%{?python_provide:%python_provide python3-pillow-tk}
%{?python_provide:%python_provide python3-pillow-qt}

%description -n     python3-pillow
Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging \
Library by Fredrik Lundh and Contributors. As of 2019, Pillow development is supported by Tidelift.

%package -n         python3-pillow-devel
Summary:            Development files for pillow
Requires:           python3-devel libjpeg-devel zlib-devel python3-pillow = %{version}-%{release}
%{?python_provide:%python_provide python3-pillow-devel}
Provides:           python3-imaging-devel = %{version}-%{release}

%description -n     python3-pillow-devel
Development files for pillow.

%package -n         python3-pillow-help
Summary:            Documentation for pillow
BuildArch:          noarch
Requires:           python3-pillow = %{version}-%{release}
%{?python_provide:%python_provide python3-pillow-doc}
Provides:           python3-imaging-doc = %{version}-%{release} python3-pillow-doc = %{version}-%{release}
Obsoletes:	    python3-pillow-doc < %{version}-%{release}

%description -n     python3-pillow-help
Documentation for pillow.


%prep
%autosetup -p1 -n   Pillow-%{version}

%build
%py2_build
PYTHONPATH=$PWD/build/%py2_libbuilddir make -C docs html BUILDDIR=_build_py2 SPHINXBUILD=sphinx-build-%python2_version
rm -f docs/_build_py2/html/.buildinfo
%py3_build
PYTHONPATH=$PWD/build/%py3_libbuilddir make -C docs html BUILDDIR=_build_py3 SPHINXBUILD=sphinx-build-%python3_version
rm -f docs/_build_py3/html/.buildinfo


%install
mkdir -p %{buildroot}/%{py2_incdir}/Imaging
install -m 644 src/libImaging/*.h %{buildroot}/%{py2_incdir}/Imaging
%py2_install
mkdir -p %{buildroot}/%{py3_incdir}/Imaging
install -m 644 src/libImaging/*.h %{buildroot}/%{py3_incdir}/Imaging
%py3_install


%check
ln -s $PWD/Images $PWD/build/%py2_libbuilddir/Images
cp -R $PWD/Tests $PWD/build/%py2_libbuilddir/Tests
install $PWD/selftest.py $PWD/build/%py2_libbuilddir/selftest.py
pushd build/%py2_libbuilddir
PYTHONPATH=$PWD %{__python2} selftest.py
popd

ln -s $PWD/Images $PWD/build/%py3_libbuilddir/Images
cp -R $PWD/Tests $PWD/build/%py3_libbuilddir/Tests
install $PWD/selftest.py $PWD/build/%py3_libbuilddir/selftest.py
pushd build/%py3_libbuilddir
PYTHONPATH=$PWD %{__python3} selftest.py
popd

%files -n python2-pillow
%doc README.rst CHANGES.rst
%license docs/COPYING
%{python2_sitearch}/*

%files -n python2-pillow-devel
%{py2_incdir}/Imaging/

%files -n python2-pillow-help
%doc docs/_build_py2/html

%files -n python3-pillow
%doc README.rst CHANGES.rst
%license docs/COPYING
%{python3_sitearch}/*


%files -n python3-pillow-devel
%{py3_incdir}/Imaging/

%files -n python3-pillow-help
%doc docs/_build_py3/html

%changelog
* Thu Dec 12 2019 Senlin Xia <xiasenlin1@huawei.com> - 5.3.0-2
- Package init
