File python-Pillow.spec of Package python-Pillow

# spec file for package python-Pillow
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

Name:           python-Pillow
Version:        2.7.0
Release:        0
Summary:        Python Imaging Library (Fork)
License:        HPND
Group:          Development/Languages/Python
Patch0:         Pillow-fixtests.patch
Patch1:         fix-textsize-equal.patch
BuildRequires:  python-devel
BuildRequires:  python-setuptools
BuildRequires:  python-tk
BuildRequires:  tix
BuildRequires:  tk-devel
BuildRequires:  unzip
%if 0%{?suse_version} > 1210
BuildRequires:  libjpeg8-devel
BuildRequires:  liblcms2-devel
BuildRequires:  libwebp-devel
BuildRequires:  python-unittest2
%if 0%{?suse_version} > 1315
BuildRequires:  openjpeg2-devel
BuildRequires:  freetype2-devel
BuildRequires:  libtiff-devel
BuildRequires:  python-nose
BuildRequires:  zlib-devel
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
# Pillow is a friendly PIL fork which we package as 'imaging', the latter isn't obsolete though:
Conflicts:      python-imaging < %{version}
# NOTE(saschpe): python-imaging should have never provided this and I'm a bit relucatant do it either.
# ALSO NOTE (frispete): without providing python-imaging, all packages requiring it will break
Provides:       python-imaging = %{version}

Obsoletes:      python-imaging-sane
Provides:       python-imaging-sane

Pillow is the "friendly" PIL fork by Alex Clark and Contributors. PIL is the
Python Imaging Library by Fredrik Lundh and Contributors.

%package tk
Summary:        Python Imaging Library (Fork) - Tcl/Tk Module
Group:          Development/Languages/Python
Requires:       %{name} = %{version}
# NOTE: We don't need to conflict with python-imaging here, 
# because this package depends on python-Pillow, which already conflicts with python-imaging,
# so this cannot be installed alongside python-imaging
# And we cannot conflict with python-imaging directly, since python-Pillow provides python-imaging
# Just in case, conflict with python-imaging-tk in case it is ever implemented.
Obsoletes:      python-imaging-tk
Provides:       python-imaging-tk

%description tk
Pillow is the "friendly" PIL fork by Alex Clark and Contributors. PIL is the
Python Imaging Library by Fredrik Lundh and Contributors.

#NOTE(saschpe): No 'sane' subpackage like "python-imaging", that stuff
# would belong into python-pysane, if anybody would care :-)

%setup -q -n Pillow-%{version}
%patch0 -p1
%patch1 -p1

python build

python install --prefix=%{_prefix} --root=%{buildroot}
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
for p in pilconvert pildriver pilfile pilfont pilprint ; do
  mv %{buildroot}%{_bindir}/$ %{buildroot}%{_bindir}/$p-%{py_ver}
  ln -s %{_bindir}/$p-%{py_ver} %{buildroot}%{_bindir}/$p
  ln -s %{_bindir}/$p-%{py_ver} %{buildroot}%{_sysconfdir}/alternatives/$p
# add missing path
echo "PIL" > %{buildroot}%{python_sitearch}/PIL.pth

PYTHONPATH=%{buildroot}/%{python_sitearch} python --installed
PYTHONPATH=%{buildroot}/%{python_sitearch} python

update-alternatives \
    --install %{_bindir}/pilconvert pilconvert %{_bindir}/pilconvert-%{py_ver} 20 \
    --slave %{_bindir}/pildriver pildriver %{_bindir}/pildriver-%{py_ver} \
    --slave %{_bindir}/pilfile pilfile %{_bindir}/pilfile-%{py_ver} \
    --slave %{_bindir}/pilfont pilfont %{_bindir}/pilfont-%{py_ver} \
    --slave %{_bindir}/pilprint pilprint %{_bindir}/pilprint-%{py_ver}

if [ $1 -eq 0 ] ; then
    update-alternatives --remove pilconvert %{_bindir}/pilconvert-%{py_ver}

%doc CHANGES.rst README.rst
%ghost %{_bindir}/pilconvert
%ghost %{_bindir}/pildriver
%ghost %{_bindir}/pilfile
%ghost %{_bindir}/pilfont
%ghost %{_bindir}/pilprint
%exclude %{python_sitearch}/PIL/ImageTk*
%exclude %{python_sitearch}/PIL/_imagingtk*
%ghost %{_sysconfdir}/alternatives/pilconvert
%ghost %{_sysconfdir}/alternatives/pildriver
%ghost %{_sysconfdir}/alternatives/pilfile
%ghost %{_sysconfdir}/alternatives/pilfont
%ghost %{_sysconfdir}/alternatives/pilprint

%files tk