1
0

- update to 3.5.2:

* Preliminary support for Windows on arm64 target has been added; this
    requires FreeType 2.11 or above.
- drop matplotlib-pr22780-Pillow-deprecations.patch (upstream)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-matplotlib?expand=0&rev=60
This commit is contained in:
Dirk Mueller 2022-05-04 19:16:18 +00:00 committed by Git OBS Bridge
parent 5ccb35735d
commit 61583fdf9b
5 changed files with 12 additions and 134 deletions

View File

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

3
matplotlib-3.5.2.tar.gz Normal file
View File

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

View File

@ -1,128 +0,0 @@
From 0205618d243c2c9ac43fc66558daae9364c394d0 Mon Sep 17 00:00:00 2001
From: Oscar Gustafsson <oscar.gustafsson@gmail.com>
Date: Mon, 4 Apr 2022 17:50:15 +0200
Subject: [PATCH 1/2] Backport PR #22766: FIX: account for constant
deprecations in Pillow 9.1
---
azure-pipelines.yml | 3 +++
lib/matplotlib/animation.py | 18 ++++++++++--------
lib/matplotlib/backends/backend_pdf.py | 9 +++++++--
3 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 2c794033a494..c9a3ec83b70d 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -134,6 +134,9 @@ stages:
- script: env
displayName: 'print env'
+ - script: pip list
+ displayName: 'print pip'
+
- bash: |
PYTHONFAULTHANDLER=1 python -m pytest --junitxml=junit/test-results.xml -raR --maxfail=50 --timeout=300 --durations=25 --cov-report= --cov=lib -n 2 ||
[[ "$PYTHON_VERSION" = 'Pre' ]]
diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py
index 879aa945b00d..4eae790d8200 100644
--- a/lib/matplotlib/animation.py
+++ b/lib/matplotlib/animation.py
@@ -17,6 +17,7 @@
# * Can blit be enabled for movies?
# * Need to consider event sources to allow clicking through multiple figures
+
import abc
import base64
import contextlib
@@ -481,14 +482,15 @@ def grab_frame(self, **savefig_kwargs):
def finish(self):
# Call run here now that all frame grabbing is done. All temp files
# are available to be assembled.
- self._run()
- super().finish() # Will call clean-up
-
- def _cleanup(self): # Inline to finish() once cleanup() is removed.
- super()._cleanup()
- if self._tmpdir:
- _log.debug('MovieWriter: clearing temporary path=%s', self._tmpdir)
- self._tmpdir.cleanup()
+ try:
+ self._run()
+ super().finish()
+ finally:
+ if self._tmpdir:
+ _log.debug(
+ 'MovieWriter: clearing temporary path=%s', self._tmpdir
+ )
+ self._tmpdir.cleanup()
@writers.register('pillow')
diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py
index 9ca791db0c5a..d035d1680da1 100644
--- a/lib/matplotlib/backends/backend_pdf.py
+++ b/lib/matplotlib/backends/backend_pdf.py
@@ -1718,8 +1718,13 @@ def _writeImg(self, data, id, smask=None):
# Convert to indexed color if there are 256 colors or fewer
# This can significantly reduce the file size
num_colors = len(img_colors)
- img = img.convert(mode='P', dither=Image.NONE,
- palette=Image.ADAPTIVE, colors=num_colors)
+ # These constants were converted to IntEnums and deprecated in
+ # Pillow 9.2
+ dither = getattr(Image, 'Dither', Image).NONE
+ pmode = getattr(Image, 'Palette', Image).ADAPTIVE
+ img = img.convert(
+ mode='P', dither=dither, palette=pmode, colors=num_colors
+ )
png_data, bit_depth, palette = self._writePng(img)
if bit_depth is None or palette is None:
raise RuntimeError("invalid PNG header")
From 520120b1646a16f82c3f1f392c9f8b084a0fec23 Mon Sep 17 00:00:00 2001
From: Oscar Gustafsson <oscar.gustafsson@gmail.com>
Date: Mon, 4 Apr 2022 18:13:01 +0200
Subject: [PATCH 2/2] Revert the clenaup changes
---
lib/matplotlib/animation.py | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/lib/matplotlib/animation.py b/lib/matplotlib/animation.py
index 4eae790d8200..879aa945b00d 100644
--- a/lib/matplotlib/animation.py
+++ b/lib/matplotlib/animation.py
@@ -17,7 +17,6 @@
# * Can blit be enabled for movies?
# * Need to consider event sources to allow clicking through multiple figures
-
import abc
import base64
import contextlib
@@ -482,15 +481,14 @@ def grab_frame(self, **savefig_kwargs):
def finish(self):
# Call run here now that all frame grabbing is done. All temp files
# are available to be assembled.
- try:
- self._run()
- super().finish()
- finally:
- if self._tmpdir:
- _log.debug(
- 'MovieWriter: clearing temporary path=%s', self._tmpdir
- )
- self._tmpdir.cleanup()
+ self._run()
+ super().finish() # Will call clean-up
+
+ def _cleanup(self): # Inline to finish() once cleanup() is removed.
+ super()._cleanup()
+ if self._tmpdir:
+ _log.debug('MovieWriter: clearing temporary path=%s', self._tmpdir)
+ self._tmpdir.cleanup()
@writers.register('pillow')

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Wed May 4 19:15:13 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 3.5.2:
* Preliminary support for Windows on arm64 target has been added; this
requires FreeType 2.11 or above.
- drop matplotlib-pr22780-Pillow-deprecations.patch (upstream)
-------------------------------------------------------------------
Tue Apr 12 21:15:39 UTC 2022 - Ben Greiner <code@bnavigator.de>

View File

@ -31,7 +31,7 @@ ExclusiveArch: x86_64 aarch64
%bcond_with test
%endif
Name: python-matplotlib%{psuffix}
Version: 3.5.1
Version: 3.5.2
Release: 0
Summary: Plotting Library for Python
License: SUSE-Matplotlib
@ -41,8 +41,6 @@ Source1: matplotlib-mplsetup.cfg
# Bundled version of freetype and qhull for testing purposes only
Source98: http://www.qhull.org/download/qhull-2020-src-8.0.2.tgz
Source99: https://downloads.sourceforge.net/project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz
# PATCH-FIX-UPSTREAM matplotlib-pr22780-Pillow-deprecations.patch -- gh#matplotlib/matplotlib#22780
Patch1: https://github.com/matplotlib/matplotlib/pull/22780.patch#/matplotlib-pr22780-Pillow-deprecations.patch
BuildRequires: %{python_module Cycler >= 0.10}
BuildRequires: %{python_module FontTools >= 4.22.0}
BuildRequires: %{python_module devel}