Accepting request 487684 from devel:languages:python:singlespec

1

OBS-URL: https://build.opensuse.org/request/show/487684
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Pillow?expand=0&rev=55
This commit is contained in:
Todd R 2017-04-12 18:20:07 +00:00 committed by Git OBS Bridge
parent 0bb3e57c4d
commit b2749c985e
5 changed files with 465 additions and 163 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:486f4ccddee09429cb1c63ea56c02894aecf9d69acdcaf006c53835df2549fff
size 10130206

3
Pillow-4.1.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a0fd487fed4a35717401b7566e51a1520b34e7c0f7f2a315a6509f82bc86299f
size 11257676

View File

@ -1,59 +0,0 @@
Index: Pillow-3.1.1/Tests/test_imagefont.py
===================================================================
--- Pillow-3.1.1.orig/Tests/test_imagefont.py
+++ Pillow-3.1.1/Tests/test_imagefont.py
@@ -124,7 +124,9 @@ try:
target = 'Tests/images/rectangle_surrounding_text.png'
target_img = Image.open(target)
- self.assert_image_similar(im, target_img, .5)
+ # Original epsilon=0.5 causes the test to fail with freetype >= 2.7
+ # Setting it to ~2.5 fixes this failure
+ self.assert_image_similar(im, target_img, 2.5)
def test_render_multiline(self):
im = Image.new(mode='RGB', size=(300, 100))
@@ -143,7 +145,9 @@ try:
# some versions of freetype have different horizontal spacing.
# setting a tight epsilon, I'm showing the original test failure
# at epsilon = ~38.
- self.assert_image_similar(im, target_img, .5)
+ # Original epsilon=0.5 causes the test to fail with freetype >= 2.7
+ # Setting it to ~6.5 fixes this failure
+ self.assert_image_similar(im, target_img, 6.2)
def test_render_multiline_text(self):
ttf = ImageFont.truetype(FONT_PATH, FONT_SIZE)
@@ -157,7 +161,9 @@ try:
target = 'Tests/images/multiline_text.png'
target_img = Image.open(target)
- self.assert_image_similar(im, target_img, .5)
+ # Original epsilon=0.5 causes the test to fail with freetype >= 2.7
+ # Setting it to ~6.5 fixes this failure
+ self.assert_image_similar(im, target_img, 6.2)
# Test align center and right
for align, ext in {"center": "_center",
@@ -169,7 +175,9 @@ try:
target = 'Tests/images/multiline_text'+ext+'.png'
target_img = Image.open(target)
- self.assert_image_similar(im, target_img, .5)
+ # Original epsilon=0.5 causes the test to fail with freetype >= 2.7
+ # Setting it to ~6.5 fixes this failure
+ self.assert_image_similar(im, target_img, 6.2)
def test_unknown_align(self):
im = Image.new(mode='RGB', size=(300, 100))
@@ -210,7 +218,9 @@ try:
target = 'Tests/images/multiline_text_spacing.png'
target_img = Image.open(target)
- self.assert_image_similar(im, target_img, .5)
+ # Original epsilon=0.5 causes the test to fail with freetype >= 2.7
+ # Setting it to ~6.5 fixes this failure
+ self.assert_image_similar(im, target_img, 6.2)
def test_rotated_transposed_font(self):
img_grey = Image.new("L", (100, 100))

View File

@ -1,3 +1,399 @@
-------------------------------------------------------------------
Wed Apr 12 17:33:12 UTC 2017 - toddrme2178@gmail.com
- Update to 4.1.0
* Close files after loading if possible #2330
* Fix Image Access to be reloadable when embedding the Python interpreter
#2296
* Fetch DPI from EXIF if not specified in JPEG header #2449, #2472
* Removed winbuild checksum verification #2468
* Git: Set ContainerIO test file as binary #2469
* Remove superfluous import of FixTk #2455
* Fix import of tkinter/Tkinter #2456
* Pure Python Decoders, including Python decoder to fix for MSP images #1938
* Reorganized GifImagePlugin, fixes #2314. #2374
* Doc: Reordered operating systems in Compatibility Matrix #2436
* Test: Additional tests for BurfStub, Eps, Container, GribStub, IPTC, Wmf,
XVThumb, ImageDraw, ImageMorph ImageShow #2425
* Health fixes #2437
* Test: Correctness tests ContainerIO, XVThumbImagePlugin,
BufrStubImagePlugin, GribStubImagePlugin, FitsStubImagePlugin,
Hdf5StubImagePlugin, PixarImageFile, PsdImageFile #2443, #2442, #2441, #2440,
#2431, #2430, #2428, #2427
* Remove unused imports #1822
* Replaced KeyError catch with dictionary get method #2424
* Test: Removed unrunnable code in test_image_toqimage #2415
* Removed use of spaces in TIFF kwargs names, deprecated in 2.7 #1390
* Removed deprecated ImageDraw setink, setfill, setfont methods #2220
* Send unwanted subprocess output to /dev/null #2253
* Fix division by zero when creating 0x0 image from numpy array #2419
* Test: Added matrix convert tests #2381
* Replaced broken URL to partners.adobe.com #2413
* Removed unused private functions in setup.py and build_dep.py #2414
* Test: Fixed Qt tests for QT5 and saving 1 bit PNG #2394
* Test: docker builds for Arch and Debian Stretch #2394
* Updated libwebp to 0.6.0 on appveyor #2395
* More explicit error message when saving to a file with invalid extension
#2399
* Docs: Update some http urls to https #2403
* Preserve aux/alpha channels when performing Imagecms transforms #2355
* Test linear and radial gradient effects #2382
* Test ImageDraw.Outline and and ImageDraw.Shape #2389
* Added PySide to ImageQt documentation #2392
* BUG: Empty image mode no longer causes a crash #2380
* Exclude .travis and contents from manifest #2386
* Remove 'MIT-like' from license #2145
* Tests: Add tests for several Image operations #2379
* PNG: Moved iCCP chunk before PLTE chunk when saving as PNG, restricted
chunks known value/ordering #2347
* Default to inch-interpretation for missing ResolutionUnit in
TiffImagePlugin #2365
* Bug: Fixed segfault when using ImagingTk on pypy Issue #2376, #2359.
* Bug: Fixed Integer overflow using ImagingTk on 32 bit platforms #2359
* Tests: Added docker images for testing alternate platforms. See also
https://github.com/python-pillow/docker-images. #2368
* Removed PIL 1.0 era TK readme that concerns Windows 95/NT #2360
* Prevent `nose -v` printing docstrings #2369
* Replaced absolute PIL imports with relative imports #2349
* Added context managers for file handling #2307
* Expose registered file extensions in Image #2343
* Make mode descriptor cache initialization thread-safe. #2351
* Updated Windows test dependencies: Freetype 2.7.1, zlib 1.2.11 #2331,
#2332, #2357
* Followed upstream pngquant packaging reorg to libimagquant #2354
* Fix invalid string escapes #2352
* Add test for crop operation with no argument #2333
- update to version 4.0.0:
* Refactor out postprocessing hack to load_end in PcdImageFile
[wiredfool]
* Add center and translate option to Image.rotate. #2328 [lambdafu]
* Test: Relax WMF test condition, fixes #2323 [wiredfool]
* Allow 0 size images, Fixes #2259, Reverts to pre-3.4
behavior. [wiredfool]
* SGI: Save uncompressed SGI/BW/RGB/RGBA files #2325 [jbltx]
* Depends: Updated pngquant to 2.8.2 #2319 [radarhere]
* Test: Added correctness tests for opening SGI images #2324
[wiredfool]
* Allow passing a list or tuple of individual frame durations when
saving a GIF #2298 [Xdynix]
* Unified different GIF optimize conditions #2196 [radarhere]
* Build: Refactor dependency installation #2305 [hugovk]
* Test: Add python 3.6 to travis, tox #2304 [hugovk]
* Test: Fix coveralls coverage for Python+C #2300 [hugovk]
* Remove executable bit and shebang from OleFileIO.py #2308 [jwilk,
radarhere]
* PyPy: Buffer interface workaround #2294 [wiredfool]
* Test: Switch to Ubuntu Trusty 14.04 on Travis CI #2294
* Remove vendored version of olefile Python package in favor of
upstream #2199 [jdufresne]
* Updated comments to use print as a function #2234 [radarhere]
* Set executable flag on selftest.py, setup.py and added shebang
line #2282, #2277 [radarhere, homm]
* Test: Increase epsilon for FreeType 2.7 as rendering is slightly
different. #2286 [hugovk]
* Test: Faster assert_image_similar #2279 [homm]
* Removed depreciated internal "stretch" method #2276 [homm]
* Removed the handles_eof flag in decode.c #2223 [wiredfool]
* Tiff: Fix for writing Tiff to BytesIO using libtiff #2263
[wiredfool]
* Doc: Design docs #2269 [wiredfool]
* Test: Move tests requiring libtiff to test_file_libtiff #2273
[wiredfool]
* Update Maxblock heuristic #2275 [wiredfool]
* Fix for 2-bit palette corruption #2274 [pdknsk, wiredfool]
* Tiff: Update info.icc_profile when using libtiff reader. #2193
[lambdafu]
* Test: Fix bug in test_ifd_rational_save when libtiff is not
available #2270 [ChristopherHogan]
* ICO: Only save relevant sizes #2267 [hugovk]
* ICO: Allow saving .ico files of 256x256 instead of 255x255 #2265
[hugovk]
* Fix TIFFImagePlugin ICC color profile saving. #2087 [cskau]
* Doc: Improved description of ImageOps.deform resample parameter
#2256 [radarhere]
* EMF: support negative bounding box coordinates #2249 [glexey]
* Close file if opened in WalImageFile #2216 [radarhere]
* Use Image._new() instead of _makeself() #2248 [homm]
* SunImagePlugin fixes #2241 [wiredfool]
* Use minimal scale for jpeg drafts #2240 [homm]
* Updated dependency scripts to use FreeType 2.7, OpenJpeg 2.1.2,
WebP 0.5.2 and Tcl/Tk 8.6.6 #2235, #2236, #2237, #2290, #2302
[radarhere]
* Fix "invalid escape sequence" bytestring warnings in Python 3.6
#2186 [timgraham]
* Removed support for Python 2.6 and Python 3.2 #2192 [jdufresne]
* Setup: Raise custom exceptions when required/requested
dependencies are not found #2213 [wiredfool]
* Use a context manager in FontFile.save() to ensure file is always
closed #2226 [jdufresne]
* Fixed bug in saving to fp-objects in Python >= 3.4 #2227
[radarhere]
* Use a context manager in ImageFont._load_pilfont() to ensure file
is always closed #2232 [jdufresne]
* Use generator expressions instead of list comprehension #2225
[jdufresne]
* Close file after reading in ImagePalette.load() #2215 [jdufresne]
* Changed behaviour of default box argument for paste method to
match docs #2211 [radarhere]
* Add support for another BMP bitfield #2221 [jmerdich]
* Added missing top-level test __main__ #2222 [radarhere]
* Replaced range(len()) #2197 [radarhere]
* Fix for ImageQt Segfault, fixes #1370 #2182 [wiredfool]
* Setup: Close file in setup.py after finished reading #2208
[jdufresne]
* Setup: optionally use pkg-config (when present) to detect
dependencies #2074 [garbas]
* Search for tkinter first in builtins #2210 [matthew-brett]
* Tests: Replace try/except/fail pattern with
TestCase.assertRaises() #2200 [jdufresne]
* Tests: Remove unused, open files at top level of tests #2188
[jdufresne]
* Replace type() equality checks with isinstance #2184 [jdufresne]
* Doc: Move ICO out of the list of read-only file formats #2180
[alexwlchan]
* Doc: Fix formatting, too-short title underlines and malformed
table #2175 [hugovk]
* Fix BytesWarnings #2172 [jdufresne]
* Use Integer division to eliminate deprecation warning. #2168
[mastermatt]
* Doc: Update compatibility matrix [daavve, wiredfool]
- update to version 3.4.2:
* Fix Resample coefficient calculation #2161 [homm]
- update to version 3.4.1:
* Allow lists as arguments for Image.new() #2149 [homm]
* Fix fix for map.c overflow #2151 (also in 3.3.3) [wiredfool]
- update to version 3.4.0:
* Removed Image.core.open_ppm, added negative image size checks in
Image.py. #2146 [wiredfool]
* Windows build: fetch dependencies from pillow-depends #2095
[hugovk]
* Add TIFF save_all writer. #2140 [lambdafu, vashek]
* Move libtiff fd duplication to _load_libtiff #2141 [sekrause]
* Speed up GIF save optimization step, fixes #2093. #2133
[wiredfool]
* Fix for ImageCms Segfault, Issue #2037. #2131 [wiredfool]
* Make Image.crop an immediate operation, not lazy. #2138
[wiredfool]
* Skip empty values in ImageFileDirectory #2024 [homm]
* Force reloading palette when using mmap in ImageFile. #2139
[lambdafu]
* Fix "invalid escape sequence" warning in Python 3.6 #2136
[timgraham]
* Update documentation about drafts #2137 [radarhere]
* Converted documentation parameter format, comments to docstrings
#2021 [radarhere]
* Fixed typos #2128 #2142 [radarhere]
* Renamed references to OS X to macOS #2125 2130 [radarhere]
* Use truth value when checking for progressive and optimize option
on save #2115, #2129 [radarhere]
* Convert DPI to ints when saving as JPEG #2102 [radarhere]
* Added append_images parameter to GIF saving #2103 [radarhere]
* Speedup paste with masks up to 80% #2015 [homm]
* Rewrite DDS decoders in C, add DXT3 and BC7 decoders #2068
[Mischanix]
* Fix PyArg_ParseTuple format in getink() #2070 [arjennienhuis]
* Fix saving originally missing TIFF tags. #2111 [anntzer]
* Allow pathlib.Path in Image.open on Python 2.7 #2110
[patricksnape]
* Use modern base64 interface over deprecated #2121 [hugovk]
* ImageColor.getrgb hexadecimal RGBA #2114 [homm]
* Test fix for bigendian machines #2092 [wiredfool]
* Resampling lookups, trailing empty coefficients, precision #2008
[homm]
* Add (un)packing between RGBA and BGRa #2057 [arjennienhuis]
* Added return for J2k (and fpx) Load to return a pixel access
object #2061 [wiredfool]
* Skip failing numpy tests on Pypy <= 5.3.1 #2090 [arjennienhuis]
* Show warning when trying to save RGBA image as JPEG #2010 [homm]
* Respect pixel centers during transform #2022 [homm]
* TOC for supported file formats #2056 [polarize]
* Fix conversion of bit images to numpy arrays Fixes #350, #2058
[matthew-brett]
* Add ImageOps.scale to expand or contract a PIL image by a factor
#2011 [vlmath]
* Flake8 fixes #2050 [hugovk]
* Updated freetype to 2.6.5 on Appveyor builds #2035 [radarhere]
* PCX encoder fixes #2023, pr #2041 [homm]
* Docs: Windows console prompts are > #2031 [techtonik]
* Expose Pillow package version as PIL.__version__ #2027 [techtonik]
* Add Box and Hamming filters for resampling #1959 [homm]
* Retain a reference to core image object in PyAccess #2009 [homm]
- update to version 3.3.3:
* Fix fix for map.c overflow #2151 [wiredfool]
- update to version 3.3.2:
* Fix negative image sizes in Storage.c #2105 [wiredfool]
* Fix integer overflow in map.c #2105 [wiredfool]
- update to version 3.3.1:
* Fix C90 compilation error for Tcl / Tk rewrite #2033
[matthew-brett]
* Fix image loading when rotating by 0 deg #2052 [homm]
- update to version 3.3.0:
* Fixed enums for Resolution Unit and Predictor in TiffTags.py #1998
[wiredfool]
* Fix issue converting P mode to LA #1986 [didrix]
* Moved test_j2k_overflow to check_j2k_overflow, prevent DOS of our
32bit testing machines #1995 [wiredfool]
* Skip CRC checks in PNG files when LOAD_TRUNCATED_IMAGES is enabled
#1991 [kkopachev]
* Added CMYK mode for opening EPS files #1826 [radarhere]
* Docs: OSX build instruction clarification #1994 [wiredfool]
* Docs: Filter comparison table #1993 [homm]
* Removal of pthread based Incremental.c, new interface for file
decoders/encoders to access the python file. Fixes assorted J2k
Hangs. #1934 [wiredfool]
* Skip unnecessary passes when resizing #1954 [homm]
* Removed duplicate code in ImagePalette #1832 [radarhere]
* test_imagecms: Reduce precision of extended info due to 32 bit
machine precision #1990 [AbdealiJK]
* Binary Tiff Metadata/ICC profile. #1988 [wiredfool]
* Ignore large text blocks in PNG if LOAD_TRUNCATED_IMAGES is
enabled #1970 [homm]
* Replace index = index+1 in docs with +=1 [cclauss]
* Skip extra 0xff00 in jpeg #1977 [kkopachev]
* Use bytearray for palette mutable storage #1985 [radarhere,
wiredfool]
* Added additional uint modes for Image.fromarray, more extensive
tests of fromarray #1984 [mairsbw, wiredfool]
* Fix for program importing PyQt4 when PyQt5 also installed #1942
[hugovk]
* Changed depends/install_*.sh urls to point to github
pillow-depends repo #1983 [wiredfool]
* Allow ICC profile from encoderinfo while saving PNGs #1909 [homm]
* Fix integer overflow on ILP32 systems (32-bit Linux). #1975
[lambdafu]
* Change function declaration to match Tcl_CmdProc type #1966 [homm]
* Integer overflow checks on all calls to *alloc #1781 [wiredfool]
* Change equals method on Image so it short circuits #1967
[mattBoros]
* Runtime loading of TCL/TK libraries, eliminating build time
dependency. #1932 [matthew-brett]
* Cleanup of transform methods #1941 [homm]
* Fix "Fatal Python error: UNREF invalid object" in debug builds
#1936 [wiredfool]
* Setup fixes for Alpine linux #1937 [wiredfool]
* Split resample into horizontal + vertical passes #1933 [homm]
* Box blur with premultiplied alpha #1914 [homm]
* Add libimagequant support in quantize() #1889 [rr-]
* Added internal Premultiplied luminosity (La) mode #1912 [homm]
* Fixed point integer resample #1881 [homm]
* Removed docs/BUILDME script #1924 [radarhere]
* Moved comments to docstrings #1926 [hugovk]
* Include Python.h before wchar.h so _GNU_SOURCE is set consistently
#1906 [hugovk]
* Updated example decoder in documentation #1899 [radarhere]
* Added support for GIF comment extension #1896 [radarhere]
* Removed support for pre- 1.5.2 list form of Image info in
Image.new #1897 [radarhere]
* Fix typos in TIFF tags #1918 [radarhere]
* Skip tests that require libtiff if it is not installed, fixes
#1866 [wiredfool]
* Skip test when icc profile is not available, fixes #1887 [doko42]
* Make deprecated functions raise NotImplementedError instead of
Exception. #1862, #1890 [daniel-leicht, radarhere]
* Replaced os.system with subprocess.call in setup.py #1879
[radarhere]
* Corrected Image show documentation #1886 [radarhere]
* Added check for executable permissions to ImageShow #1880
[radarhere]
* Fixed tutorial code and added explanation #1877 [radarhere]
* Added OS X support for ImageGrab grabclipboard #1837 [radarhere]
* Combined duplicate code in ImageTk #1856 [radarhere]
* Added --disable-platform-guessing option to setup.py build
extension, #1861 [angeloc]
* Fixed loading Transparent PNGs with a transparent black color
#1840 [olt]
* Add support for LA mode in Image.fromarray #1865 [pierriko]
* Make ImageFile load images in read-only mode #1864 [hdante]
* Added _accept hook for XVThumbImagePlugin #1853 [radarhere]
* Test TIFF with LZW compression #1855, TGA RLE file #1854 [hugovk]
* Improved SpiderImagePlugin help text #1863 [radarhere]
* Updated Sphinx project description #1870 [radarhere]
* Remove support for Python 3.0 from _imaging.c #1851 [radarhere]
* Jpeg qtables are unsigned chars #1814, #1921 [thebostik]
* Added additional EXIF tags #1841, TIFF Tags #1821 [radarhere]
* Changed documentation to refer to ImageSequence Iterator #1833
[radarhere]
* Fix Fedora prerequisites in installation docs, depends script
#1842 [living180]
* Added _accept hook for PixarImagePlugin #1843 [radarhere]
* Removed outdated scanner classifier #1823 [radarhere]
* Combined identical error messages in _imaging #1825 [radarhere]
* Added debug option for setup.py to trace header and library
finding #1790 [wiredfool]
* Fix doc building on travis #1820, #1844 [wiredfool]
* Fix for DIB/BMP images #1813, #1847 [wiredfool]
* Add PixarImagePlugin file extension #1809 [radarhere]
* Catch struct.errors when verifying png files #1805 [wiredfool]
* SpiderImagePlugin: raise an error when seeking in a non-stack file
#1794 [radarhere, jmichalon]
* Added Support for 2/4 bpp Tiff Grayscale Images #1789 [zwhfly]
* Removed unused variable from selftest #1788 [radarhere]
* Added warning for as_dict method (deprecated in 3.0.0) #1799
[radarhere]
* Removed powf support for older Python versions #1784 [radarhere]
* Health fixes #1625 #1903 [radarhere]
- update to version 3.2.0:
* Added install docs for Fedora 23 and FreeBSD #1729, #1739, #1792
[koobs, zandermartin, wiredfool]
* Fixed TIFF multiframe load when the frames have different
compression types #1782 [radarhere, geka000]
* Added __copy__ method to Image #1772 [radarhere]
* Updated dates in PIL license in OleFileIO README #1787 [radarhere]
* Corrected Tiff tag names #1786 [radarhere]
* Fixed documented name of JPEG property #1783 [radarhere]
* Fixed UnboundLocalError when loading a corrupt jpeg2k file #1780
[wiredfool]
* Fixed integer overflow in path.c #1773 [wiredfool, nedwill]
* Added debug to command line help text for pilprint #1766
[radarhere]
* Expose many more fields in ICC Profiles #1756 [lambdafu]
* Documentation changes, URL update, transpose, release checklist
[radarhere]
* Fixed saving to nonexistant files specified by pathlib.Path
objects, fixes #1747 [radarhere]
* Round Image.crop arguments to the nearest integer, fixes #1744
[hugovk]
* Fix uninitialized variable warning in _imaging.c:getink, fixes
#486 [wiredfool]
* Disable multiprocessing install on cygwin, fixes #1690 [wiredfool]
* Fix the error reported when libz is not found #1764 [wiredfool]
* More general error check to avoid Symbol not found:
_PyUnicodeUCS2_AsLatin1String on OS X #1761 [wiredfool]
* Added py35 to tox envlist #1724 [radarhere]
* Fix EXIF tag name typos #1736 [zarlant, radarhere]
* Updated freetype to 2.6.3, Tk/Tcl to 8.6.5 and 8.5.19 [radarhere]
* Add a loader for the FTEX format from Independence War 2: Edge of
Chaos #1688 [jleclanche]
* Improved alpha_composite documentation #1698 [radarhere]
* Extend ImageDraw.text method to pass on multiline_text method
specific arguments #1647 [radarhere]
* Allow ImageSequence to seek to zero #1686 [radarhere]
* ImageSequence Iterator is now an iterator #1649 [radarhere]
* Updated windows test builds to jpeg9b [radarhere]
* Fixed support for .gbr version 1 images, added support for version
2 in GbrImagePlugin #1653 [wiredfool]
* Clarified which YCbCr format is used #1677 [radarhere]
* Added TiffTags documentation, Moved windows build documentation to
winbuild/ #1667 [wiredfool]
* Add tests for OLE file based formats #1678 [radarhere]
* Add TIFF IFD test #1671 [radarhere]
* Add a basic DDS image plugin with more tests #1654 [jleclanche,
hugovk, wiredfool]
* Fix incorrect conditional in encode.c #1638 [manisandro]
- update to version 3.1.2:
* Fixed an integer overflow in Jpeg2KEncode.c causing a buffer
overflow. CVE-2016-3076 [wiredfool]
- removed patch python3-Pillow-tests-update-epsilon-for-freetype27.patch, fixed upstream
- require python3-olefile
-------------------------------------------------------------------
Wed Feb 22 13:26:11 UTC 2017 - jmatejek@suse.com
- update for singlespec
- drop update-alternatives
- add fdupes
- actually build in %build section
-------------------------------------------------------------------
Thu Sep 29 01:13:38 UTC 2016 - badshah400@gmail.com

View File

@ -1,7 +1,7 @@
#
# spec file for package python-Pillow
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2017 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
@ -16,22 +16,31 @@
#
%define oldpython python
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-Pillow
Version: 3.1.1
Version: 4.1.0
Release: 0
Summary: Python Imaging Library (Fork)
License: HPND
Group: Development/Languages/Python
Url: http://python-imaging.github.io/
Source: https://pypi.python.org/packages/source/P/Pillow/Pillow-%{version}.tar.gz
# PATCH-FIX-UPSTREAM python-Pillow-tests-update-epsilon-for-freetype27.patch gh#python-pillow/Pillow#2116 badshah400@gmail.com -- Fix buildfailures against freetype 2.7 by increasing the epsilon
Patch0: python-Pillow-tests-update-epsilon-for-freetype27.patch
BuildRequires: python-devel
BuildRequires: python-setuptools
BuildRequires: python-tk
BuildRequires: %{python_module devel}
BuildRequires: %{python_module nose}
BuildRequires: %{python_module olefile}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module tk}
BuildRequires: fdupes
BuildRequires: freetype2-devel
BuildRequires: libtiff-devel
BuildRequires: python-rpm-macros
BuildRequires: tix
BuildRequires: tk-devel
BuildRequires: unzip
BuildRequires: zlib-devel
Requires: python-olefile
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1210
BuildRequires: libjpeg8-devel
BuildRequires: liblcms2-devel
@ -42,31 +51,29 @@ BuildRequires: lcms2-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: libwebp-devel
%else
BuildRequires: python-unittest2
BuildRequires: %{python_module unittest2}
%endif
%endif
%if 0%{?suse_version} > 1315
BuildRequires: openjpeg2-devel
%endif
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)")}
%endif
%ifpython2
Obsoletes: %{oldpython}-imaging-sane
Provides: %{oldpython}-imaging-sane
# 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.
# http://en.opensuse.org/openSUSE:Upgrade_dependencies_explanation#Replace_a_package_by_another_with_the_same_functionality
# 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
Conflicts: %{oldpython}-imaging < %{version}
Provides: %{oldpython}-imaging = %{version}
%endif
# explicitly do this for python 2 and 3 but not other versions which never had an -imaging package
%ifpython3
Conflicts: python3-imaging < %{version}
Provides: python3-imaging = %{version}
%endif
%python_subpackages
%description
Pillow is the "friendly" PIL fork by Alex Clark and Contributors. PIL is the
@ -76,13 +83,15 @@ Python Imaging Library by Fredrik Lundh and Contributors.
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,
%ifpython2
# 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
Obsoletes: %{oldpython}-imaging-tk
Provides: %{oldpython}-imaging-tk
%endif
%description tk
Pillow is the "friendly" PIL fork by Alex Clark and Contributors. PIL is the
@ -93,105 +102,61 @@ Python Imaging Library by Fredrik Lundh and Contributors.
%prep
%setup -q -n Pillow-%{version}
%patch0 -p1
%build
# no need to build it here, as setup.py install will build it again, anyway
%python_build
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
%python_install
for p in pilconvert pildriver pilfile pilfont pilprint createfontdatachunk enhancer explode gifmaker painter player thresholder viewer; do
mv %{buildroot}%{_bindir}/$p.py %{buildroot}%{_bindir}/$p-%{py_ver}
ln -s -f %{_sysconfdir}/alternatives/$p %{buildroot}%{_bindir}/$p
touch %{buildroot}%{_sysconfdir}/alternatives/$p
# retain old alternative-based names
mv %{buildroot}%{_bindir}/$p.py %{buildroot}%{_bindir}/$p
done
%fdupes %{buildroot}%{_prefix}
# add missing path
echo "PIL" > %{buildroot}%{python_sitearch}/PIL.pth
%{python_expand echo "PIL" > %{buildroot}%{$python_sitearch}/PIL.pth}
%check
%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitearch}
%ifarch ppc ppc64 s390 s390x
PYTHONPATH=%{buildroot}/%{python_sitearch} python selftest.py --installed || \
$python selftest.py --installed || \
echo "WARNING ignore failure https://github.com/python-pillow/Pillow/issues/1204"
PYTHONPATH=%{buildroot}/%{python_sitearch} python test-installed.py || \
$python test-installed.py || \
echo "WARNING ignore failure https://github.com/python-pillow/Pillow/issues/1204"
%else
PYTHONPATH=%{buildroot}/%{python_sitearch} python selftest.py --installed
PYTHONPATH=%{buildroot}/%{python_sitearch} python test-installed.py
$python selftest.py --installed
$python test-installed.py
%endif
}
%post
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} \
--slave %{_bindir}/createfontdatachunk createfontdatachunk %{_bindir}/createfontdatachunk-%{py_ver} \
--slave %{_bindir}/enhancer enhancer %{_bindir}/enhancer-%{py_ver} \
--slave %{_bindir}/explode explode %{_bindir}/explode-%{py_ver} \
--slave %{_bindir}/gifmaker gifmaker %{_bindir}/gifmaker-%{py_ver} \
--slave %{_bindir}/painter painter %{_bindir}/painter-%{py_ver} \
--slave %{_bindir}/player player %{_bindir}/player-%{py_ver} \
--slave %{_bindir}/thresholder thresholder %{_bindir}/thresholder-%{py_ver} \
--slave %{_bindir}/viewer viewer %{_bindir}/viewer-%{py_ver}
%preun
if [ $1 -eq 0 ] ; then
update-alternatives --remove pilconvert %{_bindir}/pilconvert-%{py_ver}
fi
%files
%files %{python_files}
%defattr(-,root,root,-)
%doc CHANGES.rst README.rst LICENSE
%{_bindir}/pilconvert
%{_bindir}/pildriver
%{_bindir}/pilfile
%{_bindir}/pilfont
%{_bindir}/pilprint
%{_bindir}/createfontdatachunk
%{_bindir}/enhancer
%{_bindir}/explode
%{_bindir}/gifmaker
%{_bindir}/painter
%{_bindir}/player
%{_bindir}/thresholder
%{_bindir}/viewer
%{_bindir}/pilconvert-%{py_ver}
%{_bindir}/pildriver-%{py_ver}
%{_bindir}/pilfile-%{py_ver}
%{_bindir}/pilfont-%{py_ver}
%{_bindir}/pilprint-%{py_ver}
%{_bindir}/createfontdatachunk-%{py_ver}
%{_bindir}/enhancer-%{py_ver}
%{_bindir}/explode-%{py_ver}
%{_bindir}/gifmaker-%{py_ver}
%{_bindir}/painter-%{py_ver}
%{_bindir}/player-%{py_ver}
%{_bindir}/thresholder-%{py_ver}
%{_bindir}/viewer-%{py_ver}
%python3_only %{_bindir}/pilconvert
%python3_only %{_bindir}/pildriver
%python3_only %{_bindir}/pilfile
%python3_only %{_bindir}/pilfont
%python3_only %{_bindir}/pilprint
%python3_only %{_bindir}/createfontdatachunk
%python3_only %{_bindir}/enhancer
%python3_only %{_bindir}/explode
%python3_only %{_bindir}/gifmaker
%python3_only %{_bindir}/painter
%python3_only %{_bindir}/player
%python3_only %{_bindir}/thresholder
%python3_only %{_bindir}/viewer
%{python_sitearch}/PIL
%{python_sitearch}/PIL.pth
%{python_sitearch}/Pillow-%{version}-py%{py_ver}.egg-info
%{python_sitearch}/Pillow-%{version}-py%{python_version}.egg-info
%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
%ghost %{_sysconfdir}/alternatives/createfontdatachunk
%ghost %{_sysconfdir}/alternatives/enhancer
%ghost %{_sysconfdir}/alternatives/explode
%ghost %{_sysconfdir}/alternatives/gifmaker
%ghost %{_sysconfdir}/alternatives/painter
%ghost %{_sysconfdir}/alternatives/player
%ghost %{_sysconfdir}/alternatives/thresholder
%ghost %{_sysconfdir}/alternatives/viewer
%pycache_only %exclude %{python_sitearch}/PIL/__pycache__/ImageTk.*
%files tk
%files %{python_files tk}
%defattr(-,root,root,-)
%{python_sitearch}/PIL/ImageTk*
%{python_sitearch}/PIL/_imagingtk*
%pycache_only %{python_sitearch}/PIL/__pycache__/ImageTk.*
%changelog