commit: c66593ad312f60d619d83653f73f158395b8edb7 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Mon Jan 1 12:15:39 2024 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Mon Jan 1 12:30:54 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c66593ad
dev-python/pillow: Backport file closing fix for olefile-0.47 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> .../pillow/files/pillow-10.1.0-olefile-0.47.patch | 50 ++++++++++++++++++++++ ...illow-10.1.0.ebuild => pillow-10.1.0-r1.ebuild} | 7 ++- 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/dev-python/pillow/files/pillow-10.1.0-olefile-0.47.patch b/dev-python/pillow/files/pillow-10.1.0-olefile-0.47.patch new file mode 100644 index 000000000000..e3b6a6473dfc --- /dev/null +++ b/dev-python/pillow/files/pillow-10.1.0-olefile-0.47.patch @@ -0,0 +1,50 @@ +From 0e523d986858e7c0b4acd45ea1c5a3a639e39b4b Mon Sep 17 00:00:00 2001 +From: Andrew Murray <[email protected]> +Date: Sat, 2 Dec 2023 10:57:16 +1100 +Subject: [PATCH] Fixed closing file pointer with olefile 0.47 + +--- + src/PIL/FpxImagePlugin.py | 1 + + src/PIL/MicImagePlugin.py | 3 +++ + 2 files changed, 4 insertions(+) + +diff --git a/src/PIL/FpxImagePlugin.py b/src/PIL/FpxImagePlugin.py +index a878cbfd2..3027ef45b 100644 +--- a/src/PIL/FpxImagePlugin.py ++++ b/src/PIL/FpxImagePlugin.py +@@ -227,6 +227,7 @@ class FpxImageFile(ImageFile.ImageFile): + break # isn't really required + + self.stream = stream ++ self._fp = self.fp + self.fp = None + + def load(self): +diff --git a/src/PIL/MicImagePlugin.py b/src/PIL/MicImagePlugin.py +index 801318930..e4154902f 100644 +--- a/src/PIL/MicImagePlugin.py ++++ b/src/PIL/MicImagePlugin.py +@@ -66,6 +66,7 @@ class MicImageFile(TiffImagePlugin.TiffImageFile): + self._n_frames = len(self.images) + self.is_animated = self._n_frames > 1 + ++ self.__fp = self.fp + self.seek(0) + + def seek(self, frame): +@@ -87,10 +88,12 @@ class MicImageFile(TiffImagePlugin.TiffImageFile): + return self.frame + + def close(self): ++ self.__fp.close() + self.ole.close() + super().close() + + def __exit__(self, *args): ++ self.__fp.close() + self.ole.close() + super().__exit__() + +-- +2.43.0 + diff --git a/dev-python/pillow/pillow-10.1.0.ebuild b/dev-python/pillow/pillow-10.1.0-r1.ebuild similarity index 96% rename from dev-python/pillow/pillow-10.1.0.ebuild rename to dev-python/pillow/pillow-10.1.0-r1.ebuild index 1e25a3391179..0c65cdff5b1c 100644 --- a/dev-python/pillow/pillow-10.1.0.ebuild +++ b/dev-python/pillow/pillow-10.1.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -70,6 +70,11 @@ EPYTEST_DESELECT=( Tests/test_qt_image_qapplication.py::test_sanity ) +PATCHES=( + # https://github.com/python-pillow/pillow/pull/7594 + "${FILESDIR}/${P}-olefile-0.47.patch" +) + usepil() { usex "${1}" enable disable }
