From b2749c985e053c54a70aa4bd2e2ecc943bc1b19783b951f653a8abaf2f25ec24 Mon Sep 17 00:00:00 2001 From: Todd R Date: Wed, 12 Apr 2017 18:20:07 +0000 Subject: [PATCH] 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 --- Pillow-3.1.1.tar.gz | 3 - Pillow-4.1.0.tar.gz | 3 + ...-tests-update-epsilon-for-freetype27.patch | 59 --- python-Pillow.changes | 396 ++++++++++++++++++ python-Pillow.spec | 167 +++----- 5 files changed, 465 insertions(+), 163 deletions(-) delete mode 100644 Pillow-3.1.1.tar.gz create mode 100644 Pillow-4.1.0.tar.gz delete mode 100644 python-Pillow-tests-update-epsilon-for-freetype27.patch diff --git a/Pillow-3.1.1.tar.gz b/Pillow-3.1.1.tar.gz deleted file mode 100644 index c0961e9..0000000 --- a/Pillow-3.1.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:486f4ccddee09429cb1c63ea56c02894aecf9d69acdcaf006c53835df2549fff -size 10130206 diff --git a/Pillow-4.1.0.tar.gz b/Pillow-4.1.0.tar.gz new file mode 100644 index 0000000..b664f7a --- /dev/null +++ b/Pillow-4.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0fd487fed4a35717401b7566e51a1520b34e7c0f7f2a315a6509f82bc86299f +size 11257676 diff --git a/python-Pillow-tests-update-epsilon-for-freetype27.patch b/python-Pillow-tests-update-epsilon-for-freetype27.patch deleted file mode 100644 index 81fc7f5..0000000 --- a/python-Pillow-tests-update-epsilon-for-freetype27.patch +++ /dev/null @@ -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)) diff --git a/python-Pillow.changes b/python-Pillow.changes index d8c2428..6048953 100644 --- a/python-Pillow.changes +++ b/python-Pillow.changes @@ -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 diff --git a/python-Pillow.spec b/python-Pillow.spec index 7f14b49..ec21ed5 100644 --- a/python-Pillow.spec +++ b/python-Pillow.spec @@ -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