Fri Jan 5 23:47:53 2024 UTC (162d)
py-Pillow: updated to 10.2.0

10.2.0 (2024-01-02)

- Add ``keep_rgb`` option when saving JPEG to prevent conversion of RGB colorspace
- Trim glyph size in ImageFont.getmask()
- Deprecate IptcImagePlugin helpers
- Allow uncompressed TIFF images to be saved in chunks
- Concatenate multiple JPEG EXIF markers
- Changed IPTC tile tuple to match other plugins
- Do not assign new fp attribute when exiting context manager
- Support arbitrary masks for uncompressed RGB DDS images
- Support setting ROWSPERSTRIP tag
- Apply ImageFont.MAX_STRING_LENGTH to ImageFont.getmask()
- Optimise ``ImageColor`` using ``functools.lru_cache``
- Restricted environment keys for ImageMath.eval()
- Optimise ``ImageMode.getmode`` using ``functools.lru_cache``
- Fix incorrect color blending for overlapping glyphs
- Attempt memory mapping when tile args is a string
- Fill identical pixels with transparency in subsequent frames when saving GIF
- Corrected duration when combining multiple GIF frames into single frame
- Handle disposing GIF background from outside palette
- Seek past the data when skipping a PSD layer
- Import plugins relative to the module
- Translate encoder error codes to strings; deprecate ``ImageFile.raise_oserror()``
- Support reading BC4U and DX10 BC1 images
- Optimize ImageStat.Stat.extrema
- Handle pathlib.Path in FreeTypeFont
- Added support for reading DX10 BC4 DDS images
- Optimized ImageStat.Stat.count
- Correct PDF palette size when saving
- Fixed closing file pointer with olefile 0.47
- Raise ValueError when TrueType font size is not greater than zero
- If absent, do not try to close fp when closing image
- Allow configuring JPEG restart marker interval on save
- Decrement reference count for PyObject
- Implement ``streamtype=1`` option for tables-only JPEG encoding
- If save_all PNG only has one frame, do not create animated image
- Fixed frombytes() for images with a zero dimension


(adam)
diff -r1.77 -r1.78 pkgsrc/graphics/py-Pillow/Makefile
diff -r1.21 -r1.22 pkgsrc/graphics/py-Pillow/PLIST
diff -r1.60 -r1.61 pkgsrc/graphics/py-Pillow/distinfo
diff -r1.24 -r1.25 pkgsrc/graphics/py-Pillow/patches/patch-setup.py

cvs diff -r1.77 -r1.78 pkgsrc/graphics/py-Pillow/Makefile (expand / switch to context diff)
--- pkgsrc/graphics/py-Pillow/Makefile 2023/11/12 13:22:12 1.77
+++ pkgsrc/graphics/py-Pillow/Makefile 2024/01/05 23:47:53 1.78
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.77 2023/11/12 13:22:12 wiz Exp $
+# $NetBSD: Makefile,v 1.78 2024/01/05 23:47:53 adam Exp $
 
-DISTNAME=	Pillow-10.1.0
-PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
-PKGREVISION=	2
+DISTNAME=	pillow-10.2.0
+PKGNAME=	${PYPKGPREFIX}-${DISTNAME:S/^p/P/}
 CATEGORIES=	graphics python
-MASTER_SITES=	${MASTER_SITE_PYPI:=P/Pillow/}
+MASTER_SITES=	${MASTER_SITE_PYPI:=p/pillow/}
 
 MAINTAINER=	pkgsrc-users@NetBSD.org
 HOMEPAGE=	https://python-pillow.org/
@@ -15,20 +14,17 @@
 
 CONFLICTS+=	${PYPKGPREFIX}-imaging-[0-9]*
 
+TOOL_DEPENDS+=	${PYPKGPREFIX}-setuptools>=67.8:../../devel/py-setuptools
+TOOL_DEPENDS+=	${PYPKGPREFIX}-wheel-[0-9]*:../../devel/py-wheel
 DEPENDS+=	${PYPKGPREFIX}-olefile-[0-9]*:../../devel/py-olefile
-TOOL_DEPENDS+=	${PYPKGPREFIX}-test-runner-[0-9]*:../../devel/py-test-runner
 TEST_DEPENDS+=	netpbm-[0-9]*:../../graphics/netpbm
+TEST_DEPENDS+=	${PYPKGPREFIX}-test-cov-[0-9]*:../../devel/py-test-cov
+TEST_DEPENDS+=	${PYPKGPREFIX}-test-timeout-[0-9]*:../../devel/py-test-timeout
 
 PYTHON_VERSIONS_INCOMPATIBLE=	27
 
-PYSETUPBUILDTARGET=	build_ext
-PYSETUPBUILDARGS+=	--disable-xcb
-
 DISTUTILS_BUILDDIR_IN_TEST_ENV=	yes
 
-do-test:
-	cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHONBIN} selftest.py
-
 .include "../../devel/zlib/buildlink3.mk"
 .include "../../graphics/freetype2/buildlink3.mk"
 .include "../../graphics/lcms2/buildlink3.mk"
@@ -36,6 +32,6 @@
 .include "../../graphics/libwebp/buildlink3.mk"
 .include "../../graphics/openjpeg/buildlink3.mk"
 .include "../../graphics/tiff/buildlink3.mk"
-.include "../../lang/python/egg.mk"
+.include "../../lang/python/wheel.mk"
 .include "../../mk/jpeg.buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"

cvs diff -r1.21 -r1.22 pkgsrc/graphics/py-Pillow/PLIST (expand / switch to context diff)
--- pkgsrc/graphics/py-Pillow/PLIST 2023/07/05 20:10:14 1.21
+++ pkgsrc/graphics/py-Pillow/PLIST 2024/01/05 23:47:53 1.22
@@ -1,4 +1,10 @@
-@comment $NetBSD: PLIST,v 1.21 2023/07/05 20:10:14 wiz Exp $
+@comment $NetBSD: PLIST,v 1.22 2024/01/05 23:47:53 adam Exp $
+${PYSITELIB}/${WHEEL_INFODIR}/LICENSE
+${PYSITELIB}/${WHEEL_INFODIR}/METADATA
+${PYSITELIB}/${WHEEL_INFODIR}/RECORD
+${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
+${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
+${PYSITELIB}/${WHEEL_INFODIR}/zip-safe
 ${PYSITELIB}/PIL/BdfFontFile.py
 ${PYSITELIB}/PIL/BdfFontFile.pyc
 ${PYSITELIB}/PIL/BdfFontFile.pyo
@@ -270,7 +276,9 @@
 ${PYSITELIB}/PIL/_deprecate.pyc
 ${PYSITELIB}/PIL/_deprecate.pyo
 ${PYSITELIB}/PIL/_imaging.so
+${PYSITELIB}/PIL/_imagingcms.pyi
 ${PYSITELIB}/PIL/_imagingcms.so
+${PYSITELIB}/PIL/_imagingft.pyi
 ${PYSITELIB}/PIL/_imagingft.so
 ${PYSITELIB}/PIL/_imagingmath.so
 ${PYSITELIB}/PIL/_imagingmorph.so
@@ -278,6 +286,9 @@
 ${PYSITELIB}/PIL/_tkinter_finder.py
 ${PYSITELIB}/PIL/_tkinter_finder.pyc
 ${PYSITELIB}/PIL/_tkinter_finder.pyo
+${PYSITELIB}/PIL/_typing.py
+${PYSITELIB}/PIL/_typing.pyc
+${PYSITELIB}/PIL/_typing.pyo
 ${PYSITELIB}/PIL/_util.py
 ${PYSITELIB}/PIL/_util.pyc
 ${PYSITELIB}/PIL/_util.pyo
@@ -288,9 +299,3 @@
 ${PYSITELIB}/PIL/features.py
 ${PYSITELIB}/PIL/features.pyc
 ${PYSITELIB}/PIL/features.pyo
-${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
-${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
-${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
-${PYSITELIB}/${EGG_INFODIR}/requires.txt
-${PYSITELIB}/${EGG_INFODIR}/top_level.txt
-${PYSITELIB}/${EGG_INFODIR}/zip-safe

cvs diff -r1.60 -r1.61 pkgsrc/graphics/py-Pillow/distinfo (expand / switch to context diff)
--- pkgsrc/graphics/py-Pillow/distinfo 2023/10/16 19:26:49 1.60
+++ pkgsrc/graphics/py-Pillow/distinfo 2024/01/05 23:47:53 1.61
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.60 2023/10/16 19:26:49 adam Exp $
+$NetBSD: distinfo,v 1.61 2024/01/05 23:47:53 adam Exp $
 
-BLAKE2s (Pillow-10.1.0.tar.gz) = f56f286d7d2fea81e4a8692357425a812eff011bbe49415f483da0d842bec6d3
+BLAKE2s (pillow-10.2.0.tar.gz) = 14a9e9655b2623c4d0928df7446eea99a0b5617414802e4f7531d520bc79318c
-SHA512 (Pillow-10.1.0.tar.gz) = 77eeaee6f2b8b77b33438d6a5f3a2c79ff1154e39bc225f279f066d6471b6991aad4390756575fa53448062f7bf8763462e95a5b2cc8af1414c1d52f27529736
+SHA512 (pillow-10.2.0.tar.gz) = 9fac2cdc9539f947629cee428d55cf60a8d44c91cee8d8205907a79a9d0334062a46e3eb316069069d2f1298a8c0bbcc8f55b24122695d19e72728e093df63e5
-Size (Pillow-10.1.0.tar.gz) = 50781360 bytes
+Size (pillow-10.2.0.tar.gz) = 46212712 bytes
-SHA1 (patch-setup.py) = 9e95214579d45b1a3230ea342ae8be82ed2d61c9
+SHA1 (patch-setup.py) = 80ee74a110e21e7c4071ab9ba0a7c1f3ede64355

cvs diff -r1.24 -r1.25 pkgsrc/graphics/py-Pillow/patches/patch-setup.py (expand / switch to context diff)
--- pkgsrc/graphics/py-Pillow/patches/patch-setup.py 2022/08/01 14:51:15 1.24
+++ pkgsrc/graphics/py-Pillow/patches/patch-setup.py 2024/01/05 23:47:53 1.25
@@ -1,10 +1,11 @@
-$NetBSD: patch-setup.py,v 1.24 2022/08/01 14:51:15 wiz Exp $
+$NetBSD: patch-setup.py,v 1.25 2024/01/05 23:47:53 adam Exp $
 
 Fix finding zlib.h.
+Do not look for xcb.
 
---- setup.py.orig	2022-07-01 13:14:51.000000000 +0000
+--- setup.py.orig	2024-01-02 08:28:43.000000000 +0000
 +++ setup.py
-@@ -636,7 +636,9 @@ class pil_build_ext(build_ext):
+@@ -642,7 +642,9 @@ class pil_build_ext(build_ext):
  
          if feature.want("zlib"):
              _dbg("Looking for zlib")
@@ -15,3 +16,15 @@
                  if _find_library_file(self, "z"):
                      feature.zlib = "z"
                  elif sys.platform == "win32" and _find_library_file(self, "zlib"):
+@@ -800,11 +802,6 @@ class pil_build_ext(build_ext):
+                 ):
+                     feature.webpmux = "libwebpmux"
+ 
+-        if feature.want("xcb"):
+-            _dbg("Looking for xcb")
+-            if _find_include_file(self, "xcb/xcb.h"):
+-                if _find_library_file(self, "xcb"):
+-                    feature.xcb = "xcb"
+ 
+         for f in feature:
+             if not getattr(feature, f) and feature.require(f):