Changes 4.0.0: - Refactor out postprocessing hack to load_end in PcdImageFile - Add center and translate option to Image.rotate. 2328 - Test: Relax WMF test condition, fixes 2323 - Allow 0 size images, Fixes 2259, Reverts to pre-3.4 behavior. - SGI: Save uncompressed SGI/BW/RGB/RGBA files 2325 - Depends: Updated pngquant to 2.8.2 2319 - Test: Added correctness tests for opening SGI images 2324 - Allow passing a list or tuple of individual frame durations when saving a GIF 2298 - Unified different GIF optimize conditions 2196 - Build: Refactor dependency installation 2305 - Test: Add python 3.6 to travis, tox 2304 - Test: Fix coveralls coverage for Python+C 2300 - Remove executable bit and shebang from OleFileIO.py 2308 - PyPy: Buffer interface workaround 2294 - Test: Switch to Ubuntu Trusty 14.04 on Travis CI 2294 - Remove vendored version of olefile Python package in favor of upstream 2199 - Updated comments to use print as a function 2234 - Set executable flag on selftest.py, setup.py and added shebang line 2282, 2277 - Test: Increase epsilon for FreeType 2.7 as rendering is slightly different. 2286 - Test: Faster assert_image_similar 2279 - Removed depreciated internal "stretch" method 2276 - Removed the handles_eof flag in decode.c 2223 - Tiff: Fix for writing Tiff to BytesIO using libtiff 2263 - Doc: Design docs 2269 - Test: Move tests requiring libtiff to test_file_libtiff 2273 - Update Maxblock heuristic 2275 - Fix for 2-bit palette corruption 2274 - Tiff: Update info.icc_profile when using libtiff reader. 2193 - Test: Fix bug in test_ifd_rational_save when libtiff is not available 2270 - ICO: Only save relevant sizes 2267 - ICO: Allow saving .ico files of 256x256 instead of 255x255 2265 - Fix TIFFImagePlugin ICC color profile saving. 2087 - Doc: Improved description of ImageOps.deform resample parameter 2256 - EMF: support negative bounding box coordinates 2249 - Close file if opened in WalImageFile 2216 - Use Image._new() instead of _makeself() 2248 - SunImagePlugin fixes 2241 - Use minimal scale for jpeg drafts 2240 - 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 - Fix "invalid escape sequence" bytestring warnings in Python 3.6 2186 - Removed support for Python 2.6 and Python 3.2 2192 - Setup: Raise custom exceptions when required/requested dependencies are not found 2213 - Use a context manager in FontFile.save() to ensure file is always closed 2226 - Fixed bug in saving to fp-objects in Python >= 3.4 2227 - Use a context manager in ImageFont._load_pilfont() to ensure file is always closed 2232 - Use generator expressions instead of list comprehension 2225 - Close file after reading in ImagePalette.load() 2215 - Changed behaviour of default box argument for paste method to match docs 2211 - Add support for another BMP bitfield 2221 - Added missing top-level test __main__ 2222 - Replaced range(len()) 2197 - Fix for ImageQt Segfault, fixes 1370 2182 - Setup: Close file in setup.py after finished reading 2208 - Setup: optionally use pkg-config (when present) to detect dependencies 2074 - Search for tkinter first in builtins 2210 - Tests: Replace try/except/fail pattern with TestCase.assertRaises() 2200 - Tests: Remove unused, open files at top level of tests 2188 - Replace type() equality checks with isinstance 2184 - Doc: Move ICO out of the list of read-only file formats 2180 - Doc: Fix formatting, too-short title underlines and malformed table 2175 - Fix BytesWarnings 2172 - Use Integer division to eliminate deprecation warning. 2168 - Doc: Update compatibility matrixdiff -r1.29 -r1.30 pkgsrc/graphics/py-Pillow/Makefile
(adam)
@@ -1,42 +1,44 @@ | @@ -1,42 +1,44 @@ | |||
1 | # $NetBSD: Makefile,v 1.29 2016/11/06 15:05:30 adam Exp $ | 1 | # $NetBSD: Makefile,v 1.30 2017/01/29 12:46:45 adam Exp $ | |
2 | 2 | |||
3 | DISTNAME= Pillow-3.4.2 | 3 | DISTNAME= Pillow-4.0.0 | |
4 | PKGNAME= ${PYPKGPREFIX}-${DISTNAME} | 4 | PKGNAME= ${PYPKGPREFIX}-${DISTNAME} | |
5 | CATEGORIES= graphics python | 5 | CATEGORIES= graphics python | |
6 | MASTER_SITES= ${MASTER_SITE_PYPI:=P/Pillow/} | 6 | MASTER_SITES= ${MASTER_SITE_PYPI:=P/Pillow/} | |
7 | 7 | |||
8 | MAINTAINER= pkgsrc-users@NetBSD.org | 8 | MAINTAINER= pkgsrc-users@NetBSD.org | |
9 | HOMEPAGE= http://python-pillow.github.io/ | 9 | HOMEPAGE= http://python-pillow.org/ | |
10 | COMMENT= Python Imaging Library (Fork) | 10 | COMMENT= Python Imaging Library (Fork) | |
11 | LICENSE= hpnd | 11 | LICENSE= hpnd | |
12 | 12 | |||
13 | CONFLICTS+= ${PYPKGPREFIX}-imaging-[0-9]* | 13 | CONFLICTS+= ${PYPKGPREFIX}-imaging-[0-9]* | |
14 | 14 | |||
15 | SUBST_CLASSES+= fix-path | 15 | SUBST_CLASSES+= fix-path | |
16 | SUBST_MESSAGE.fix-path= Fixing paths. | 16 | SUBST_MESSAGE.fix-path= Fixing paths. | |
17 | SUBST_STAGE.fix-path= pre-configure | 17 | SUBST_STAGE.fix-path= pre-configure | |
18 | SUBST_FILES.fix-path= setup.py | 18 | SUBST_FILES.fix-path= setup.py | |
19 | SUBST_SED.fix-path= -e 's,/usr/pkg,${PREFIX},' | 19 | SUBST_SED.fix-path= -e 's,/usr/pkg,${PREFIX},' | |
20 | SUBST_SED.fix-path+= -e 's,JPEG_ROOT = None,JPEG_ROOT = _lib_include("${BUILDLINK_PREFIX.jpeg}"),' | 20 | SUBST_SED.fix-path+= -e 's,JPEG_ROOT = None,JPEG_ROOT = _lib_include("${BUILDLINK_PREFIX.jpeg}"),' | |
21 | SUBST_SED.fix-path+= -e 's,JPEG2K_ROOT = None,JPEG2K_ROOT = _lib_include("${BUILDLINK_PREFIX.openjpeg}"),' | 21 | SUBST_SED.fix-path+= -e 's,JPEG2K_ROOT = None,JPEG2K_ROOT = _lib_include("${BUILDLINK_PREFIX.openjpeg}"),' | |
22 | SUBST_SED.fix-path+= -e 's,ZLIB_ROOT = None,ZLIB_ROOT = _lib_include("${BUILDLINK_PREFIX.zlib}"),' | 22 | SUBST_SED.fix-path+= -e 's,ZLIB_ROOT = None,ZLIB_ROOT = _lib_include("${BUILDLINK_PREFIX.zlib}"),' | |
23 | SUBST_SED.fix-path+= -e 's,IMAGEQUANT_ROOT = None,IMAGEQUANT_ROOT = _lib_include("${BUILDLINK_PREFIX.libimagequant}"),' | |||
23 | SUBST_SED.fix-path+= -e 's,TIFF_ROOT = None,TIFF_ROOT = _lib_include("${BUILDLINK_PREFIX.tiff}"),' | 24 | SUBST_SED.fix-path+= -e 's,TIFF_ROOT = None,TIFF_ROOT = _lib_include("${BUILDLINK_PREFIX.tiff}"),' | |
24 | SUBST_SED.fix-path+= -e 's,FREETYPE_ROOT = None,FREETYPE_ROOT = _lib_include("${BUILDLINK_PREFIX.freetype2}"),' | 25 | SUBST_SED.fix-path+= -e 's,FREETYPE_ROOT = None,FREETYPE_ROOT = _lib_include("${BUILDLINK_PREFIX.freetype2}"),' | |
25 | SUBST_SED.fix-path+= -e 's,LCMS_ROOT = None,LCMS_ROOT = _lib_include("${BUILDLINK_PREFIX.lcms2}"),' | 26 | SUBST_SED.fix-path+= -e 's,LCMS_ROOT = None,LCMS_ROOT = _lib_include("${BUILDLINK_PREFIX.lcms2}"),' | |
26 | 27 | |||
27 | # XXX: (automatically) testing Pillow fails because it is builded on a | 28 | # XXX: (automatically) testing Pillow fails because it is builded on a | |
28 | # separate directory (build/lib.*/PIL/). Manually cp(1) all the files to PIL/ | 29 | # separate directory (build/lib.*/PIL/). Manually cp(1) all the files to PIL/ | |
29 | # fixes that (but implementing a similar distutils.cmd logic here can easily | 30 | # fixes that (but implementing a similar distutils.cmd logic here can easily | |
30 | # leads to a buggy one). Disable the test for now. | 31 | # leads to a buggy one). Disable the test for now. | |
31 | #do-test: | 32 | #do-test: | |
32 | # ${RUN}cd ${WRKSRC};${PKGSRC_SETENV} ${TEST_ENV} ${PYTHONBIN} selftest.py | 33 | # ${RUN}cd ${WRKSRC};${PKGSRC_SETENV} ${TEST_ENV} ${PYTHONBIN} selftest.py | |
33 | 34 | |||
34 | .include "../../devel/zlib/buildlink3.mk" | 35 | .include "../../devel/zlib/buildlink3.mk" | |
35 | .include "../../graphics/freetype2/buildlink3.mk" | 36 | .include "../../graphics/freetype2/buildlink3.mk" | |
36 | .include "../../graphics/lcms2/buildlink3.mk" | 37 | .include "../../graphics/lcms2/buildlink3.mk" | |
38 | .include "../../graphics/libimagequant/buildlink3.mk" | |||
37 | .include "../../graphics/libwebp/buildlink3.mk" | 39 | .include "../../graphics/libwebp/buildlink3.mk" | |
38 | .include "../../graphics/openjpeg/buildlink3.mk" | 40 | .include "../../graphics/openjpeg/buildlink3.mk" | |
39 | .include "../../graphics/tiff/buildlink3.mk" | 41 | .include "../../graphics/tiff/buildlink3.mk" | |
40 | .include "../../lang/python/egg.mk" | 42 | .include "../../lang/python/egg.mk" | |
41 | .include "../../mk/jpeg.buildlink3.mk" | 43 | .include "../../mk/jpeg.buildlink3.mk" | |
42 | .include "../../mk/bsd.pkg.mk" | 44 | .include "../../mk/bsd.pkg.mk" |
@@ -1,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
1 | @comment $NetBSD: PLIST,v 1.10 2016/08/13 08:07:22 wen Exp $ | 1 | @comment $NetBSD: PLIST,v 1.11 2017/01/29 12:46:45 adam Exp $ | |
2 | ${PYSITELIB}/PIL/BdfFontFile.py | 2 | ${PYSITELIB}/PIL/BdfFontFile.py | |
3 | ${PYSITELIB}/PIL/BdfFontFile.pyc | 3 | ${PYSITELIB}/PIL/BdfFontFile.pyc | |
4 | ${PYSITELIB}/PIL/BdfFontFile.pyo | 4 | ${PYSITELIB}/PIL/BdfFontFile.pyo | |
5 | ${PYSITELIB}/PIL/BmpImagePlugin.py | 5 | ${PYSITELIB}/PIL/BmpImagePlugin.py | |
6 | ${PYSITELIB}/PIL/BmpImagePlugin.pyc | 6 | ${PYSITELIB}/PIL/BmpImagePlugin.pyc | |
7 | ${PYSITELIB}/PIL/BmpImagePlugin.pyo | 7 | ${PYSITELIB}/PIL/BmpImagePlugin.pyo | |
8 | ${PYSITELIB}/PIL/BufrStubImagePlugin.py | 8 | ${PYSITELIB}/PIL/BufrStubImagePlugin.py | |
9 | ${PYSITELIB}/PIL/BufrStubImagePlugin.pyc | 9 | ${PYSITELIB}/PIL/BufrStubImagePlugin.pyc | |
10 | ${PYSITELIB}/PIL/BufrStubImagePlugin.pyo | 10 | ${PYSITELIB}/PIL/BufrStubImagePlugin.pyo | |
11 | ${PYSITELIB}/PIL/ContainerIO.py | 11 | ${PYSITELIB}/PIL/ContainerIO.py | |
12 | ${PYSITELIB}/PIL/ContainerIO.pyc | 12 | ${PYSITELIB}/PIL/ContainerIO.pyc | |
13 | ${PYSITELIB}/PIL/ContainerIO.pyo | 13 | ${PYSITELIB}/PIL/ContainerIO.pyo | |
14 | ${PYSITELIB}/PIL/CurImagePlugin.py | 14 | ${PYSITELIB}/PIL/CurImagePlugin.py | |
@@ -163,27 +163,26 @@ ${PYSITELIB}/PIL/McIdasImagePlugin.pyc | @@ -163,27 +163,26 @@ ${PYSITELIB}/PIL/McIdasImagePlugin.pyc | |||
163 | ${PYSITELIB}/PIL/McIdasImagePlugin.pyo | 163 | ${PYSITELIB}/PIL/McIdasImagePlugin.pyo | |
164 | ${PYSITELIB}/PIL/MicImagePlugin.py | 164 | ${PYSITELIB}/PIL/MicImagePlugin.py | |
165 | ${PYSITELIB}/PIL/MicImagePlugin.pyc | 165 | ${PYSITELIB}/PIL/MicImagePlugin.pyc | |
166 | ${PYSITELIB}/PIL/MicImagePlugin.pyo | 166 | ${PYSITELIB}/PIL/MicImagePlugin.pyo | |
167 | ${PYSITELIB}/PIL/MpegImagePlugin.py | 167 | ${PYSITELIB}/PIL/MpegImagePlugin.py | |
168 | ${PYSITELIB}/PIL/MpegImagePlugin.pyc | 168 | ${PYSITELIB}/PIL/MpegImagePlugin.pyc | |
169 | ${PYSITELIB}/PIL/MpegImagePlugin.pyo | 169 | ${PYSITELIB}/PIL/MpegImagePlugin.pyo | |
170 | ${PYSITELIB}/PIL/MpoImagePlugin.py | 170 | ${PYSITELIB}/PIL/MpoImagePlugin.py | |
171 | ${PYSITELIB}/PIL/MpoImagePlugin.pyc | 171 | ${PYSITELIB}/PIL/MpoImagePlugin.pyc | |
172 | ${PYSITELIB}/PIL/MpoImagePlugin.pyo | 172 | ${PYSITELIB}/PIL/MpoImagePlugin.pyo | |
173 | ${PYSITELIB}/PIL/MspImagePlugin.py | 173 | ${PYSITELIB}/PIL/MspImagePlugin.py | |
174 | ${PYSITELIB}/PIL/MspImagePlugin.pyc | 174 | ${PYSITELIB}/PIL/MspImagePlugin.pyc | |
175 | ${PYSITELIB}/PIL/MspImagePlugin.pyo | 175 | ${PYSITELIB}/PIL/MspImagePlugin.pyo | |
176 | ${PYSITELIB}/PIL/OleFileIO-README.md | |||
177 | ${PYSITELIB}/PIL/OleFileIO.py | 176 | ${PYSITELIB}/PIL/OleFileIO.py | |
178 | ${PYSITELIB}/PIL/OleFileIO.pyc | 177 | ${PYSITELIB}/PIL/OleFileIO.pyc | |
179 | ${PYSITELIB}/PIL/OleFileIO.pyo | 178 | ${PYSITELIB}/PIL/OleFileIO.pyo | |
180 | ${PYSITELIB}/PIL/PSDraw.py | 179 | ${PYSITELIB}/PIL/PSDraw.py | |
181 | ${PYSITELIB}/PIL/PSDraw.pyc | 180 | ${PYSITELIB}/PIL/PSDraw.pyc | |
182 | ${PYSITELIB}/PIL/PSDraw.pyo | 181 | ${PYSITELIB}/PIL/PSDraw.pyo | |
183 | ${PYSITELIB}/PIL/PaletteFile.py | 182 | ${PYSITELIB}/PIL/PaletteFile.py | |
184 | ${PYSITELIB}/PIL/PaletteFile.pyc | 183 | ${PYSITELIB}/PIL/PaletteFile.pyc | |
185 | ${PYSITELIB}/PIL/PaletteFile.pyo | 184 | ${PYSITELIB}/PIL/PaletteFile.pyo | |
186 | ${PYSITELIB}/PIL/PalmImagePlugin.py | 185 | ${PYSITELIB}/PIL/PalmImagePlugin.py | |
187 | ${PYSITELIB}/PIL/PalmImagePlugin.pyc | 186 | ${PYSITELIB}/PIL/PalmImagePlugin.pyc | |
188 | ${PYSITELIB}/PIL/PalmImagePlugin.pyo | 187 | ${PYSITELIB}/PIL/PalmImagePlugin.pyo | |
189 | ${PYSITELIB}/PIL/PcdImagePlugin.py | 188 | ${PYSITELIB}/PIL/PcdImagePlugin.py | |
@@ -267,15 +266,16 @@ ${PYSITELIB}/PIL/_imagingtk.so | @@ -267,15 +266,16 @@ ${PYSITELIB}/PIL/_imagingtk.so | |||
267 | ${PYSITELIB}/PIL/_tkinter_finder.py | 266 | ${PYSITELIB}/PIL/_tkinter_finder.py | |
268 | ${PYSITELIB}/PIL/_tkinter_finder.pyc | 267 | ${PYSITELIB}/PIL/_tkinter_finder.pyc | |
269 | ${PYSITELIB}/PIL/_tkinter_finder.pyo | 268 | ${PYSITELIB}/PIL/_tkinter_finder.pyo | |
270 | ${PYSITELIB}/PIL/_util.py | 269 | ${PYSITELIB}/PIL/_util.py | |
271 | ${PYSITELIB}/PIL/_util.pyc | 270 | ${PYSITELIB}/PIL/_util.pyc | |
272 | ${PYSITELIB}/PIL/_util.pyo | 271 | ${PYSITELIB}/PIL/_util.pyo | |
273 | ${PYSITELIB}/PIL/_webp.so | 272 | ${PYSITELIB}/PIL/_webp.so | |
274 | ${PYSITELIB}/PIL/features.py | 273 | ${PYSITELIB}/PIL/features.py | |
275 | ${PYSITELIB}/PIL/features.pyc | 274 | ${PYSITELIB}/PIL/features.pyc | |
276 | ${PYSITELIB}/PIL/features.pyo | 275 | ${PYSITELIB}/PIL/features.pyo | |
277 | ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO | 276 | ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO | |
278 | ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt | 277 | ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt | |
279 | ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt | 278 | ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt | |
279 | ${PYSITELIB}/${EGG_INFODIR}/requires.txt | |||
280 | ${PYSITELIB}/${EGG_INFODIR}/top_level.txt | 280 | ${PYSITELIB}/${EGG_INFODIR}/top_level.txt | |
281 | ${PYSITELIB}/${EGG_INFODIR}/zip-safe | 281 | ${PYSITELIB}/${EGG_INFODIR}/zip-safe |
@@ -1,7 +1,7 @@ | @@ -1,7 +1,7 @@ | |||
1 | $NetBSD: distinfo,v 1.22 2016/11/06 15:05:30 adam Exp $ | 1 | $NetBSD: distinfo,v 1.23 2017/01/29 12:46:45 adam Exp $ | |
2 | 2 | |||
3 | SHA1 (Pillow-3.4.2.tar.gz) = 0915c36e3607b3caafcd387e0bb6da63a6bc7d5a | 3 | SHA1 (Pillow-4.0.0.tar.gz) = ad2e2faac93f4ff1a17f4bca602bfc87f77c793d | |
4 | RMD160 (Pillow-3.4.2.tar.gz) = 40f983f9a57844c8338c1649b3473a8339dd85cf | 4 | RMD160 (Pillow-4.0.0.tar.gz) = 018edb6030851a4ae17eba1ec9e0b03933b4922b | |
5 | SHA512 (Pillow-3.4.2.tar.gz) = a8b6711d28ad94f568e836f3eca313cf5c4277a5c9dd6accdb1cc2b0abdc47cd79bd850baf96e33a24a251e8011b67e80d2bea0395105a8c03e198d4caa70e47 | 5 | SHA512 (Pillow-4.0.0.tar.gz) = 61d4f5d0264289074b073ba2f531a9d94d5de4cbec1bfe12606454076dacd50c926934d364d6fb2336ab74d59a09a37b88a47620d7b76db565b3637db09a5b04 | |
6 | Size (Pillow-3.4.2.tar.gz) = 10814666 bytes | 6 | Size (Pillow-4.0.0.tar.gz) = 11077480 bytes | |
7 | SHA1 (patch-setup.py) = 329a628cef8ec752d7829e3a317379a6577e4b3a | 7 | SHA1 (patch-setup.py) = 585f78d03e4f0cc658d3752fa80bfc245b32f8a6 |
@@ -1,28 +1,28 @@ | @@ -1,28 +1,28 @@ | |||
1 | $NetBSD: patch-setup.py,v 1.9 2016/11/06 15:05:30 adam Exp $ | 1 | $NetBSD: patch-setup.py,v 1.10 2017/01/29 12:46:45 adam Exp $ | |
2 | 2 | |||
3 | * Prevent to detect optional tkinter. | 3 | * Prevent to detect optional tkinter. | |
4 | * Disable demo programs. | 4 | * Disable demo programs. | |
5 | 5 | |||
6 | --- setup.py.orig 2016-10-18 19:12:54.000000000 +0000 | 6 | --- setup.py.orig 2017-01-02 11:47:11.000000000 +0000 | |
7 | +++ setup.py | 7 | +++ setup.py | |
8 | @@ -103,11 +103,7 @@ def _read(file): | 8 | @@ -99,11 +99,7 @@ def _read(file): | |
9 | return open(file, 'rb').read() | 9 | return fp.read() | |
10 | 10 | |||
11 | 11 | |||
12 | -try: | 12 | -try: | |
13 | - import _tkinter | 13 | - import _tkinter | |
14 | -except (ImportError, OSError): | 14 | -except (ImportError, OSError): | |
15 | - # pypy emits an oserror | 15 | - # pypy emits an oserror | |
16 | - _tkinter = None | 16 | - _tkinter = None | |
17 | +_tkinter = None | 17 | +_tkinter = None | |
18 | 18 | |||
19 | NAME = 'Pillow' | 19 | NAME = 'Pillow' | |
20 | PILLOW_VERSION = '3.4.2' | 20 | PILLOW_VERSION = '4.0.0' | |
21 | @@ -746,7 +742,6 @@ setup(name=NAME, | 21 | @@ -771,7 +767,6 @@ try: | |
22 | ext_modules=[Extension("PIL._imaging", ["_imaging.c"])], | 22 | ext_modules=[Extension("PIL._imaging", ["_imaging.c"])], | |
23 | include_package_data=True, | 23 | include_package_data=True, | |
24 | packages=find_packages(), | 24 | packages=find_packages(), | |
25 | - scripts=glob.glob("Scripts/*.py"), | 25 | - scripts=glob.glob("Scripts/*.py"), | |
26 | test_suite='nose.collector', | 26 | install_requires=['olefile'], | |
27 | keywords=["Imaging", ], | 27 | test_suite='nose.collector', | |
28 | license='Standard PIL License', | 28 | keywords=["Imaging", ], |