Sync from SUSE:SLFO:Main python-matplotlib revision 742f0577fa82d47204b9ca3bdcd9a474

This commit is contained in:
Adrian Schröter 2024-10-25 15:34:22 +02:00
parent 0111e373b9
commit 7ed582da26
9 changed files with 585 additions and 156 deletions

BIN
matplotlib-3.6.3.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
matplotlib-3.9.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,13 @@
Index: matplotlib-3.9.0/pyproject.toml
===================================================================
--- matplotlib-3.9.0.orig/pyproject.toml
+++ matplotlib-3.9.0/pyproject.toml
@@ -90,7 +90,7 @@ requires = [
]
[tool.meson-python.args]
-install = ['--tags=data,python-runtime,runtime']
+install = ['--tags=data,python-runtime,runtime,tests']
[tool.setuptools_scm]
version_scheme = "release-branch-semver"

View File

@ -1,39 +0,0 @@
# Rename this file to mplsetup.cfg to modify Matplotlib's build options.
[libs]
# By default, Matplotlib builds with LTO, which may be slow if you re-compile
# often, and don't need the space saving/speedup.
#
#enable_lto = True
#
# By default, Matplotlib downloads and builds its own copies of FreeType and of
# Qhull. You may set the following to True to instead link against a system
# FreeType/Qhull. As an exception, Matplotlib defaults to the system version
# of FreeType on AIX.
#
#system_freetype = False
#system_qhull = False
[packages]
# Some of Matplotlib's components are optional: the MacOSX backend (installed
# by default on MacOSX; requires the Cocoa headers included with XCode), and
# the test data (i.e., the baseline image files; not installed by default).
# You can control whether they are installed by uncommenting the following
# lines. Note that the MacOSX backend is never built on Linux or Windows,
# regardless of the config value.
#
tests = True
#macosx = True
[rc_options]
# User-configurable options
#
# Default backend, one of: Agg, Cairo, GTK3Agg, GTK3Cairo, GTK4Agg, GTK4Cairo,
# MacOSX, Pdf, Ps, QtAgg, QtCairo, SVG, TkAgg, WX, WXAgg.
#
# The Agg, Ps, Pdf and SVG backends do not require external dependencies. Do
# not choose MacOSX if you have disabled the relevant extension modules. The
# default is determined by fallback.
#
#backend = Agg

View File

@ -1,3 +1,380 @@
-------------------------------------------------------------------
Wed Oct 23 08:30:59 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Fix tests for Leap 16.0
-------------------------------------------------------------------
Thu Oct 3 08:52:39 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Disable nbagg and wx plugin also on Leap16
-------------------------------------------------------------------
Wed Jun 5 12:55:45 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 3.9.0
## Plotting and Annotation improvements
* Axes.inset_axes is no longer experimental
* Legend support for Boxplot
* Percent sign in pie labels auto-escaped with usetex=True
* hatch parameter for stackplot
* Add option to plot only one half of violin plot
* axhline and axhspan on polar axes
* Subplot titles can now be automatically aligned
* axisartist can now be used together with standard Formatters
* Toggle minorticks on Axis
* StrMethodFormatter now respects axes.unicode_minus
## Figure, Axes, and Legend Layout
* Subfigures now have controllable zorders
* Getters for xmargin, ymargin and zmargin
## Mathtext improvements
* mathtext documentation improvements
* mathtext spacing corrections
## Widget Improvements
* Check and Radio Button widgets support clearing
## 3D plotting improvements
* Setting 3D axis limits now set the limits exactly
## Other improvements
* New BackendRegistry for plotting backends
* Add widths, heights and angles setter to EllipseCollection
* image.interpolation_stage rcParam
* Arrow patch position is now modifiable
* NonUniformImage now has mouseover support
- Add matplotlib-meson-options-opensuse.patch
-------------------------------------------------------------------
Thu Apr 18 20:52:01 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 3.8.4
* Enable building against numpy 2.0; released wheels are built
against numpy 2
* Add a draw during show for macos backend
* Fix color sequence data for Set2 and Set3
* gtk: Ensure pending draws are done before GTK draw
* Update "Created with" url in hand.svg
* Avoid modifying user input to Axes.bar
* fix quiver3d incorrect arrow colors
-------------------------------------------------------------------
Sat Mar 23 12:09:06 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 3.8.3:
* Fix crash at exit for PGF backend
-------------------------------------------------------------------
Fri Mar 22 09:10:48 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
- Clean up the SPEC file
-------------------------------------------------------------------
Fri Mar 22 07:47:40 UTC 2024 - Fabian Vogt <fvogt@suse.com>
- Add explicit BuildRequires on Mesa-dri, needed to run tests
-------------------------------------------------------------------
Tue Mar 19 16:42:20 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Do not BuildRequire PyQt6 in SLE15. We don't want to include
the whole qt6 stack in SLE only for matplotlib tests.
-------------------------------------------------------------------
Tue Mar 5 18:06:28 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Don't build nbagg for python39: ipython not available anymore
-------------------------------------------------------------------
Fri Feb 23 07:40:01 UTC 2024 - Max Lin <mlin@suse.com>
- Disable nbagg and wx plugin on Leap15/SLE15
* Leap 15 doesn't have IPython stack with python 3.11 build
* python-wxPython with python 3.11 supported needs wxWidgets
version >= 3.2.0 as the minimal requirement which Leap15/SLE15
don't have that
-------------------------------------------------------------------
Tue Jan 23 17:01:35 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- force 'swrast' ("llvmpipe") Mesa/OpenGL driver to be used by
setting and exporting LIBGL_ALWAYS_SOFTWARE=1 to get rid of
issues when Mesa is trying to load 'zink' driver (messages are
just warnings, but seem to be fatal for the tests here) (boo#1219095)
-------------------------------------------------------------------
Sun Dec 17 17:11:09 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to 3.8.2
* Bugfix release without API changes
- API Changes for 3.8.1
## Behaviour
* Default behaviour of hexbin with C provided requires at least 1
point
## Deprecations
* Deprecations removed in contour
- What's new in 3.8
## Type Hints
## Plotting and Annotation improvements
* Support customizing antialiasing for text and annotation
* rcParams for AutoMinorLocator divisions
* Axline setters and getters
* Clipping for contour plots
* Axes.ecdf
* Figure.get_suptitle(), Figure.get_supxlabel(),
Figure.get_supylabel()
* Ellipse.get_vertices(), Ellipse.get_co_vertices()
* Remove inner ticks in label_outer()
* Configurable legend shadows
* offset parameter for MultipleLocator
* Add a new valid color format (matplotlib_color, alpha)
* The pie chart shadow can be controlled
* PolyQuadMesh is a new class for drawing quadrilateral meshes
* Shadow shade can be controlled
* SpinesProxy now supports calling the set() method
* Allow setting the tick label fonts with a keyword argument
## Figure, Axes, and Legend Layout
* pad_inches="layout" for savefig
* Add a public method to modify the location of Legend
* rcParams['legend.loc'] now accepts float-tuple inputs
## Mathtext improvements
* Boldsymbol mathtext command \boldsymbol
* mathtext has more sizable delimiters
* mathtext documentation improvements
* mathtext now supports \substack
* mathtext now supports \middle delimiter
* mathtext operators
* mathtext spacing corrections
* mathtext now supports \text
* Bold-italic mathtext command \mathbfit
## 3D plotting improvements
* Specify ticks and axis label positions for 3D plots
* 3D hover coordinates
* 3D plots can share view angles
## Other improvements
* matplotlib.mpl_toolkits is now an implicit namespace package
* Plot Directive now can make responsive images with "srcset"
- API Changes for 3.8.0
## Behaviour Changes
* Tk backend respects file format selection when saving figures
* Placing of maximum and minimum minor ticks
* hexbin now defaults to rcParams["patch.linewidth"]
* TwoSlopeNorm now auto-expands to always have two slopes
* Event objects emitted for axes_leave_event
* Streamplot now draws streamlines as one piece if no width or no
color variance
* canvas argument now required for FigureFrameWx
* ContourSet is now a single Collection
* SubFigure default facecolor is now transparent
* Reject size related keyword arguments to MovieWriter grab_frame
method
* Changes of API after deprecation
* Invalid types for Annotation xycoords now raise TypeError
* Default antialiasing behavior changes for Text and Annotation
* ScalarMappable.to_rgba() now respects the mask of RGB(A) arrays
* Text.get_rotation_mode return value
* PostScript paper type adds option to use figure size
* hexbin mincnt parameter made consistently inclusive
## Deprecations
* Calling paths.get_path_collection_extents with empty offsets
* axes_grid1.axes_divider API changes
* bbox.anchored() with no explicit container
* Functions in mpl_toolkits.mplot3d.proj3d
* Arguments other than renderer to get_tightbbox
* The object returned by pcolor() has changed to a PolyQuadMesh
class
* LocationEvent.lastevent
* allsegs, allkinds, tcolors and tlinewidths attributes of
ContourSet
* ContourSet.collections
* INVALID_NON_AFFINE, INVALID_AFFINE, INVALID attributes of
TransformNode
* Grouper.clean()
* GridHelperCurveLinear.get_data_boundary
* np_load parameter of cbook.get_sample_data
* RendererAgg.tostring_rgb and FigureCanvasAgg.tostring_rgb
* The parameter of Annotation.contains and Legend.contains is
renamed to mouseevent
* Accessing event.guiEvent after event handlers return
* Widgets
* Method parameters renamed to match base classes
* numdecs parameter and attribute of LogLocator
* NavigationToolbar2QT.message is deprecated
* ft2font.FT2Image.draw_rect and ft2font.FT2Font.get_xys
* backend_ps.psDefs
* Callable axisartist Axes
* AnchoredEllipse is deprecated
* Automatic papersize selection in PostScript
* Tick.set_label1 and Tick.set_label2
* Passing extra positional arguments to Figure.add_axes
* CbarAxesBase.toggle_label
* TexManager.texcache
* Artists explicitly passed in will no longer be filtered by
legend() based on their label
* FigureCanvasBase.switch_backends
* cbook.Stack is deprecated
* inset_location.InsetPosition is deprecated
* axisartist.axes_grid and axisartist.axes_rgb
* ContourSet.antialiased
* Passing non-int or sequence of non-int to
Table.auto_set_column_width
* PdfPages(keep_empty=True)
* Auto-closing of figures when switching backend
* Support for passing the "frac" key in annotate(...,
arrowprops={"frac": ...})
## Removals
* cbook removals
* Groupers from get_shared_x_axes / get_shared_y_axes are
immutable
* Deprecated modules removed
* Parameters to plt.figure() and the Figure constructor
* stem(..., use_line_collection=False)
* Positional / keyword arguments
* Methods to set parameters in LogLocator and LogFormatter*
* Axes.get_renderer_cache
* Unused methods in Axis, Tick, XAxis, and YAxis
* mlab.stride_windows
* Axes3D
* 3D Axis
* checkdep_usetex removed
* date_ticker_factory removed
* transforms.Affine2D.identity()
* Removals in testing.decorators
* text.get_rotation()
* Passing too many positional arguments to tripcolor
* The filled argument to Colorbar is removed
* Widgets
* Axes3D.set_frame_on and Axes3D.get_frame_on removed
* Miscellaneous internals
* Backend-specific removals
* Removal of deprecated APIs
- What's new in 3.7
## Plotting and Annotation improvements
* hatch parameter for pie
* Polar plot errors drawn in polar coordinates
* Additional format string options in bar_label
* ellipse boxstyle option for annotations
* The extent of imshow can now be expressed with units
* Reversed order of legend entriespcolormesh accepts RGB(A)
colors
* View current appearance settings for ticks, tick labels, and
gridlines
* Style files can be imported from third-party packages
## Improvements to 3D Plotting
* 3D plot pan and zoom buttons
* adjustable keyword argument for setting equal aspect ratios in
3D
* Poly3DCollection supports shading
* rcParam for 3D pane color
## Figure and Axes Layout
* colorbar now has a location keyword argument
* Figure legends can be placed outside figures using
constrained_layout
* Per-subplot keyword arguments in subplot_mosaic
* subplot_mosaic no longer provisional
## Widget Improvements
* Custom styling of button widgets
* Blitting in Button widgets
## Other Improvements
* Source links can be shown or hidden for each Sphinx plot
directive
* Figure hooks
- API Changes in 3.7
## Behaviour Changes
* All Axes have get_subplotspec and get_gridspec methods now,
which returns None for Axes not positioned via a gridspec
* HostAxesBase.get_aux_axes now defaults to using the same base
axes class as the host axes
* plt.get_cmap and matplotlib.cm.get_cmap return a copy
* TrapezoidMapTriFinder uses different random number generator
* FuncAnimation(save_count=None)
* CenteredNorm halfrange is not modified when vcenter changes
* fig.subplot_mosaic no longer passes the gridspec_kw args to
nested gridspecs.
* HPacker alignment with bottom or top are now correct
* On Windows only fonts known to the registry will be discovered
* QuadMesh.set_array now always raises ValueError for inputs with
incorrect shapes
* contour and contourf auto-select suitable levels when given
boolean inputs
* contour no longer warns if no contour lines are drawn.
* AxesImage.set_extent now raises TypeError for unknown keyword
arguments
* Change of legend(loc="best") behavior
## Deprecations
* Axes subclasses should override clear instead of cla
* rcParams type
* Deprecation aliases in cbook
* draw_gouraud_triangle
* matplotlib.pyplot.get_plot_commands
* matplotlib.tri submodules are deprecated
* Passing undefined label_mode to Grid
* Colorbars for orphaned mappables are deprecated, but no longer
raise
* Animation attributes
* contour.ClabelText and ContourLabeler.set_label_props
* ContourLabeler attributes
* backend_ps.PsBackendHelper and backend_ps.ps_backend_helper
* backend_webagg.ServerThread is deprecated
* parse_fontconfig_pattern will no longer ignore unknown constant
names
* BufferRegion.to_string and BufferRegion.to_string_argb
* num2julian, julian2num and JULIAN_OFFSET
* unit_cube, tunit_cube, and tunit_edges
* Most arguments to widgets have been made keyword-only
* SimpleEvent
* RadioButtons.circles
* CheckButtons.rectangles and CheckButtons.lines
* OffsetBox.get_extent_offsets and OffsetBox.get_extent
* legend.legendHandles
* ticklabels parameter of Axis.set_ticklabels renamed to labels
* offsetbox.bbox_artist
* Quiver.quiver_doc and Barbs.barbs_doc
* Deprecate unused parameter x to TextBox.begin_typing
* Deprecation of top-level cmap registration and access functions
in mpl.cm
* BrokenBarHCollection is deprecated
* Passing inconsistent loc and nth_coord to axisartist helpers
* passthru_pt
* axes3d.vvec, axes3d.eye, axes3d.sx, and axes3d.sy
* Line2D
## Removals
* epoch2num and num2epoch are removed
* Locator and Formatter wrapper methods
* Interactive cursor details
* auto_add_to_figure=True for Axes3D
* The first parameter of Axes.grid and Axis.grid has been renamed
to visible
* Removal of deprecations in the Selector widget API
* backend_template.show
* Unused positional parameters to print_<fmt> methods
* QuadMesh signature
* Expiration of FancyBboxPatch deprecations
* Testing support
* Auto-removal of grids by pcolor and pcolormesh
* Modification of Axes children sublists
* Passing incorrect types to Axes.add_* methods
* ConversionInterface.convert no longer accepts unitless values
* Normal list of Artist objects now returned by
HandlerLine2D.create_artists
* rcParams will no longer cast inputs to str
* Case-insensitive scales
* Support for nx1 = None or ny1 = None in AxesLocator and
Divider.locate
* change signature of .FigureCanvasBase.enter_notify_event
* Colorbar tick update parameters
* plot directive removals
* Miscellaneous removals
- Drop pyparsing-workaround-setName.patch
- Update the -qt5 backend module name to -qt since it also supports
PyQt6 and PySide{2,6}
- Add nbagg backend subpackage
- Test some optional stuff outside of Ring1
-------------------------------------------------------------------
Tue Jul 11 11:10:04 UTC 2023 - Markéta Machová <mmachova@suse.com>
- add pyparsing-workaround-setName.patch as a part of a workaround
for boo#1213007
* it changes the behaviour for the debugging purposes, the laic
end user shouldn't notice
-------------------------------------------------------------------
Mon May 8 06:08:18 UTC 2023 - Johannes Kastl <kastl@b1-systems.de>
@ -793,7 +1170,7 @@ Wed Sep 19 01:44:55 UTC 2018 - Todd R <toddrme2178@gmail.com>
* Figure has an ~.figure.Figure.add_artist method
* math directive renamed to mathmpl
- Python 2 support was dropped upstream, so disable it in the spec
file and drop python2-specific parts.
file and drop python2-specific parts (bsc#1184340, bsc#1198319)
- Enable wx backend for python 3, since python 3 is now supported
by wxPython upstream.

View File

@ -0,0 +1,2 @@
# Empty type stubs are valid type stubs
addFilter("zero-length .*pyi")

View File

@ -1,7 +1,7 @@
#
# spec file
# spec file for package python-matplotlib
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,6 +16,8 @@
#
%define SLE_VERSION 1600
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
@ -26,19 +28,22 @@ ExclusiveArch: x86_64 aarch64
%define psuffix %{nil}
%bcond_with test
%endif
%bcond_with ringdisabled
%{?sle15_python_module_pythons}
Name: python-matplotlib%{psuffix}
Version: 3.6.3
Version: 3.9.0
Release: 0
Summary: Plotting Library for Python
License: SUSE-Matplotlib
URL: https://matplotlib.org
# SourceRepository: https://github.com/matplotlib/matplotlib
Source: https://files.pythonhosted.org/packages/source/m/matplotlib/matplotlib-%{version}.tar.gz
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
# Use fixed versions of freetype and qhull for imagecomparison tests to succeed. See lib/matplotlib/__init__.py:_init_tests() and the meson .wrap files in subprojects/
Source98: https://github.com/qhull/qhull/archive/v8.0.2/qhull-8.0.2.tar.gz#/qhull-8.0.2.tgz
Source99: https://downloads.sourceforge.net/project/freetype/freetype2/2.6.1/freetype-2.6.1.tar.gz
Source100: python-matplotlib.rpmlintrc
# PATCH-FEATURE-OPENSUSE matplotlib-meson-options-opensuse.patch code@bnavigator.de -- Custom build options for meson-python
Patch0: matplotlib-meson-options-opensuse.patch
Recommends: ghostscript
Recommends: libxml2-tools
Recommends: poppler-tools
@ -47,12 +52,12 @@ Recommends: (%{python_flavor}-matplotlib-tk if tk)
Provides: python-matplotlib-gtk = %{version}
Obsoletes: python-matplotlib-gtk < %{version}
# SECTION build
BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module numpy-devel >= 1.19}
BuildRequires: %{python_module devel >= 3.9}
BuildRequires: %{python_module meson-python >= 0.13.1}
BuildRequires: %{python_module numpy-devel >= 1.25 with %python-numpy-devel < 2.3}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pybind11-devel >= 2.6}
BuildRequires: %{python_module setuptools_scm >= 7}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: c++_compiler
BuildRequires: fdupes
BuildRequires: pkgconfig
@ -68,13 +73,16 @@ BuildRequires: pkgconfig(tcl)
# SECTION runtime
Requires: python-Cycler >= 0.10
Requires: python-FontTools >= 4.22.0
Requires: python-Pillow >= 6.2.0
Requires: python-Pillow >= 8
Requires: python-contourpy >= 1.0.1
Requires: python-kiwisolver >= 1.0.1
Requires: python-numpy >= 1.19
Requires: python-kiwisolver >= 1.3.1
Requires: python-numpy >= 1.23
Requires: python-packaging >= 20.0
Requires: python-pyparsing > 2.2.1
Requires: python-pyparsing > 2.3.1
Requires: python-python-dateutil >= 2.7
%if 0%{?python_version_nodots} < 310
Requires: python-importlib-resources >= 3.2.0
%endif
# /SECTION
# SECTION test
%if %{with test}
@ -86,17 +94,44 @@ BuildRequires: %{python_module matplotlib-qt5 = %{version}}
BuildRequires: %{python_module matplotlib-testdata = %{version}}
BuildRequires: %{python_module matplotlib-tk = %{version}}
BuildRequires: %{python_module matplotlib-web = %{version}}
BuildRequires: %{python_module matplotlib-wx = %{version}}
BuildRequires: %{python_module psutil}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest-xvfb}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module pytz}
%if 0%{?suse_version} > %SLE_VERSION
BuildRequires: %{python_module matplotlib-nbagg = %{version} if %python-base >= 3.10}
%endif
%if 0%{?suse_version} > %SLE_VERSION
BuildRequires: %{python_module matplotlib-wx = %{version}}
%endif
# SECTION latex test dependencies
BuildRequires: %{python_module matplotlib-latex = %{version}}
BuildRequires: Mesa-dri
BuildRequires: ghostscript
BuildRequires: inkscape
BuildRequires: poppler-tools
# /SECTION
# /SECTION latex
# SECTION cairo backend options
BuildRequires: %{python_module cairo >= 1.14.0}
BuildRequires: %{python_module cairocffi >= 0.8}
# /SECTION cairo
# SECTION nbagg backend tests
%if %{without ringdisabled} && 0%{?suse_version} > %SLE_VERSION
BuildRequires: %{python_module nbconvert if %python-base >= 3.10}
BuildRequires: %{python_module nbformat if %python-base >= 3.10}
%endif
# /SECTION nbagg
# SECTION qt backends: Only test PyQt5 in Minimal-X
BuildRequires: %{python_module qt5}
%if %{without ringdisabled}
%if 0%{?suse_version} > %SLE_VERSION
BuildRequires: %{python_module PyQt6}
BuildRequires: python3-pyside2
BuildRequires: python3-pyside6
%endif
%endif
# /SECTION qt
# /SECTION test
%endif
%python_subpackages
@ -111,7 +146,7 @@ application servers, and six graphical user interface toolkits.
%package cairo
Summary: Cairo backend for %{name}
Requires: %{name} = %{version}
Requires: python-cairo
Requires: (python-cairo or python-cairocffi)
%description cairo
This package includes the non-interactive Cairo-based backend
@ -147,6 +182,15 @@ Requires: python-gobject-cairo
This package provides code common for the GTK3 and GTK4 backends
for the %{name} plotting package
%package nbagg
Summary: Jupyter nbagg backend for %{name}
Requires: %{name} = %{version}
Requires: python-ipykernel
%description nbagg
This package includes the Jupyter notebook backend
for the %{name} plotting package
%package latex
Summary: Allow rendering latex in %{name}
Requires: %{name} = %{version}
@ -163,6 +207,7 @@ Requires: texlive-sfmath
Requires: texlive-tex
Requires: texlive-txfonts
Requires: texlive-xcolor
Requires: texlive-xetex
Requires: tex(avant.sty)
Requires: tex(chancery.sty)
Requires: tex(charter.sty)
@ -183,16 +228,20 @@ BuildArch: noarch
This package allows %{name} to display latex in plots
and figures.
%package qt5
Summary: Qt5 backend for %{name}
%package qt
Summary: Qt backend for %{name}
Requires: %{name} = %{version}
Requires: python-qt5
Requires: (python-qt5 or python-PyQt6 >= 6.1 or python-pyside2 or python-pyside6)
Provides: %{name}-qt-shared = %{version}
Provides: %{name}-qt5 = %{version}
Obsoletes: %{name}-qt-shared < %{version}
# Renamed at upgrade from MPL 3.6.3 to 3.8.2
Obsoletes: %{name}-qt5 < 3.8.2
%description qt5
This package includes the Qt5-based pyqt5 backend
%description qt
This package includes the Qt-based backend
for the %{name} plotting package
PyQt5, PyQt6, Pyside2 or Pyside 6 may be used
%package testdata
Summary: Test data for %{name}
@ -207,7 +256,7 @@ Summary: Tk backend for %{name}
Requires: %{name} = %{version}
Requires: python-Pillow-tk
Requires: python-tk
Requires: tcl >= 8.3
Requires: tcl >= 8.5
%description tk
This package includes the Tk-based tkagg backend
@ -222,6 +271,7 @@ Requires: python-tornado
This package includes the browser-based webagg backend
for the %{name} plotting package
%if 0%{?suse_version} > %SLE_VERSION
%package wx
Summary: WxWidgets backend for %{name}
Requires: %{name} = %{version}
@ -230,30 +280,28 @@ Requires: python-wxPython >= 4
%description wx
This package includes the wxWidgets-based wxagg backend
for %{name} plotting package
%endif
%prep
%autosetup -p1 -n matplotlib-%{version}
# Copy freetype to the right location, so that matplotlib will not try to download it
mkdir -p ~/.cache/matplotlib/
SHA=($(sha256sum %{SOURCE98}))
cp %{SOURCE98} ~/.cache/matplotlib/${SHA}
SHA=($(sha256sum %{SOURCE99}))
cp %{SOURCE99} ~/.cache/matplotlib/${SHA}
# Copy freetype and qhull to the right location, so that matplotlib will not try to download it
mkdir subprojects/packagecache
cp %{SOURCE98} %{SOURCE99} subprojects/packagecache/
chmod -x lib/matplotlib/mpl-data/images/*.svg
find examples lib/matplotlib lib/mpl_toolkits/mplot3d -type f -name "*.py" -exec sed -i "s|#!\/usr\/bin\/env python||" {} \;
find examples lib/matplotlib lib/mpl_toolkits/mplot3d -type f -name "*.py" -exec sed -i "s|#!\/usr\/bin\/python||" {} \;
cp %{SOURCE1} mplsetup.cfg
# The setup procedure wants certifi to download packages over https. Not applicable here.
sed -i '/"certifi>=.*"/ d' setup.py
find lib/matplotlib lib/mpl_toolkits/mplot3d -type f -name "*.py" -exec sed -i "1{/#!.*python/ d}" {} \;
%{python_expand # use the last python in the buildset as generator (only the pythons in the buildset have setuptools_scm installed)
myprimarypython=%{__$python}
}
sed -i "s|find_program('python3')|'$myprimarypython'|" meson.build
find tools -type f -name "*.py" -exec sed -i "1{s|^#!.*python\S*|#!$myprimarypython|}" {} \;
%build
%if !%{with test}
%if %{without test}
%pyproject_wheel
%endif
%install
%if !%{with test}
%if %{without test}
%pyproject_install
%{python_expand sed -i -e "s/install matplotlib from source/install the $python-matplotlib-testdata package/" \
%{buildroot}%{$python_sitearch}/matplotlib/tests/__init__.py
@ -264,6 +312,11 @@ sed -i '/"certifi>=.*"/ d' setup.py
%if %{with test}
%check
# force 'swrast' ("llvmpipe") Mesa/OpenGL driver to be used by
# setting and exporting LIBGL_ALWAYS_SOFTWARE=1 to get rid of
# issues when Mesa is trying to load 'zink' driver (messages are
# just warnings, but seem to be fatal for the tests here) (boo#1219095)
export LIBGL_ALWAYS_SOFTWARE=1
# fails to detect alternative backend within xvfb
skip_tests+=" or test_backend_fallback_headful"
# test_usetex.py::test_usetex[png] - no tex text -- do not skip test_empty[png] and test_unicode_minus[png]
@ -282,33 +335,51 @@ skip_tests+=" or _sigint"
skip_tests+=" or test_get_font_names"
# different default font
skip_tests+=" or test_bold_font_output_with_none_fonttype"
# different position values on python311 (different version in a dependency or different font?)
skip_tests+=" or test_compressed1"
%ifnarch x86_64
# image comparison failures due to precisions dicrepancies to the x86 produced references
skip_tests+=" or png or svg or pdf"
%endif
# backend tests landing in the wrong xdist process may fail with an error. Test them without xdist.
no_xdist="test_backend or test_span_selector_animated_artists_callback"
%{pytest_arch --pyargs matplotlib.tests \
--pyargs mpl_toolkits.tests \
-n auto \
-m "not network" \
-vv \
-k "not (${no_xdist} ${skip_tests})"
}
%pytest_arch --pyargs matplotlib.tests -k "(${no_xdist}) and not (${skip_tests:4})"
# Fails in SLFO:Main
%if 0%{?suse_version} <= %SLE_VERSION
# Timeout, this test freeze forever
skip_tests+=" or test_determinism"
skip_tests+=" or test_pcolormesh[png] or test_pcolormesh_alpha[png]"
%endif
%if !%{with test}
# backend tests landing in the wrong xdist process may fail with an error. Test them without xdist.
no_xdist="test_backend or test_span_selector_animated_artists_callback"
%{python_expand # see https://matplotlib.org/devdocs/devel/testing.html#testing
# if one of the pyargs modules is not present, the xargs collection looks empty
# Ignore ImportWarning that happens with gtk3
$python -m pytest --pyargs matplotlib.tests \
mpl_toolkits.axes_grid1.tests \
mpl_toolkits.axisartist.tests \
mpl_toolkits.mplot3d.tests \
-n auto \
-W "ignore::ImportWarning" \
-m "not network" \
-vv -rsfE \
-k "not (${no_xdist} ${skip_tests})"
$python -m pytest --pyargs matplotlib.tests \
-vv -rsfE \
-W "ignore::ImportWarning" \
-k "(${no_xdist}) and not (${skip_tests:4})"
}
%endif
%if %{without test}
%files %{python_files}
%doc README.rst
%doc examples/
%doc README.md
%license LICENSE/
%license doc/users/project/license.rst
%{python_sitearch}/matplotlib/
%{python_sitearch}/matplotlib
%{python_sitearch}/matplotlib-%{version}.dist-info
%{python_sitearch}/matplotlib-%{version}-py*-nspkg.pth
%{python_sitearch}/mpl_toolkits
%dir %{python_sitearch}/mpl_toolkits
%{python_sitearch}/mpl_toolkits/axes_grid1
%{python_sitearch}/mpl_toolkits/axisartist
%{python_sitearch}/mpl_toolkits/mplot3d
%{python_sitearch}/pylab.py*
%pycache_only %{python_sitearch}/__pycache__/pylab.*
%exclude %{python_sitearch}/matplotlib/backends/_backend_tk.py
@ -320,6 +391,7 @@ no_xdist="test_backend or test_span_selector_animated_artists_callback"
%exclude %{python_sitearch}/matplotlib/backends/backend_gtk4.*
%exclude %{python_sitearch}/matplotlib/backends/backend_gtk4agg.*
%exclude %{python_sitearch}/matplotlib/backends/backend_gtk4cairo.*
%exclude %{python_sitearch}/matplotlib/backends/backend_nbagg.*
%exclude %{python_sitearch}/matplotlib/backends/backend_qt5.*
%exclude %{python_sitearch}/matplotlib/backends/backend_qt5agg.*
%exclude %{python_sitearch}/matplotlib/backends/backend_qt5cairo.py*
@ -342,6 +414,7 @@ no_xdist="test_backend or test_span_selector_animated_artists_callback"
%exclude %{python_sitearch}/matplotlib/backends/__pycache__/backend_gtk4.*.py*
%exclude %{python_sitearch}/matplotlib/backends/__pycache__/backend_gtk4agg.*.py*
%exclude %{python_sitearch}/matplotlib/backends/__pycache__/backend_gtk4cairo.*.py*
%exclude %{python_sitearch}/matplotlib/backends/__pycache__/backend_nbagg.*.py*
%exclude %{python_sitearch}/matplotlib/backends/__pycache__/backend_qt5.*.py*
%exclude %{python_sitearch}/matplotlib/backends/__pycache__/backend_qt5agg.*.py*
%exclude %{python_sitearch}/matplotlib/backends/__pycache__/backend_qt5cairo.*.py*
@ -354,23 +427,22 @@ no_xdist="test_backend or test_span_selector_animated_artists_callback"
%exclude %{python_sitearch}/matplotlib/backends/__pycache__/backend_wxcairo.*.py*
%exclude %{python_sitearch}/matplotlib/backends/__pycache__/qt_compat.*.py*
%exclude %{python_sitearch}/matplotlib/tests/baseline_images
%exclude %{python_sitearch}/mpl_toolkits/axes_grid1/tests/baseline_images
%exclude %{python_sitearch}/mpl_toolkits/axisartist/tests/baseline_images
%exclude %{python_sitearch}/mpl_toolkits/mplot3d/tests/baseline_images
%exclude %{python_sitearch}/matplotlib/tests/tinypages
%exclude %{python_sitearch}/mpl_toolkits/tests/baseline_images
# Dummy package to pull in latex dependencies.
%files %{python_files latex}
%license LICENSE/
%license doc/users/project/license.rst
%files %{python_files cairo}
%license LICENSE/
%license doc/users/project/license.rst
%{python_sitearch}/matplotlib/backends/backend_cairo.py*
%pycache_only %{python_sitearch}/matplotlib/backends/__pycache__/backend_cairo.*.py*
%files %{python_files gtk3}
%license LICENSE/
%license doc/users/project/license.rst
%{python_sitearch}/matplotlib/backends/backend_gtk3.py*
%{python_sitearch}/matplotlib/backends/backend_gtk3agg.py*
%{python_sitearch}/matplotlib/backends/backend_gtk3cairo.py*
@ -380,7 +452,6 @@ no_xdist="test_backend or test_span_selector_animated_artists_callback"
%files %{python_files gtk4}
%license LICENSE/
%license doc/users/project/license.rst
%{python_sitearch}/matplotlib/backends/backend_gtk4.py*
%{python_sitearch}/matplotlib/backends/backend_gtk4agg.py*
%{python_sitearch}/matplotlib/backends/backend_gtk4cairo.py*
@ -390,13 +461,18 @@ no_xdist="test_backend or test_span_selector_animated_artists_callback"
%files %{python_files gtk-common}
%license LICENSE/
%license doc/users/project/license.rst
%{python_sitearch}/matplotlib/backends/_backend_gtk.py
%pycache_only %{python_sitearch}/matplotlib/backends/__pycache__/_backend_gtk.*.py*
%files %{python_files qt5}
%if 0%{?suse_version} > %SLE_VERSION && 0%{?python_version_nodots} >= 310
%files %{python_files nbagg}
%license LICENSE/
%{python_sitearch}/matplotlib/backends/backend_nbagg.py*
%pycache_only %{python_sitearch}/matplotlib/backends/__pycache__/backend_nbagg.*.py*
%endif
%files %{python_files qt}
%license LICENSE/
%license doc/users/project/license.rst
%{python_sitearch}/matplotlib/backends/backend_qt5.py*
%{python_sitearch}/matplotlib/backends/backend_qt5agg.py*
%{python_sitearch}/matplotlib/backends/backend_qt5cairo.py*
@ -409,16 +485,16 @@ no_xdist="test_backend or test_span_selector_animated_artists_callback"
%files %{python_files testdata}
%license LICENSE/
%license doc/users/project/license.rst
%{python_sitearch}/matplotlib/tests/baseline_images
%{python_sitearch}/mpl_toolkits/axes_grid1/tests/baseline_images
%{python_sitearch}/mpl_toolkits/axisartist/tests/baseline_images
%{python_sitearch}/mpl_toolkits/mplot3d/tests/baseline_images
%{python_sitearch}/matplotlib/tests/tinypages
%{python_sitearch}/mpl_toolkits/tests/baseline_images
%exclude %{python_sitearch}/matplotlib/tests/tinypages/.gitignore
%exclude %{python_sitearch}/matplotlib/tests/tinypages/_static/.gitignore
%files %{python_files tk}
%license LICENSE/
%license doc/users/project/license.rst
%{python_sitearch}/matplotlib/backends/_backend_tk.py*
%{python_sitearch}/matplotlib/backends/backend_tkagg.py*
%{python_sitearch}/matplotlib/backends/backend_tkcairo.py*
@ -428,7 +504,6 @@ no_xdist="test_backend or test_span_selector_animated_artists_callback"
%files %{python_files web}
%license LICENSE/
%license doc/users/project/license.rst
%{python_sitearch}/matplotlib/backends/backend_webagg.py*
%{python_sitearch}/matplotlib/backends/backend_webagg_core.py*
%{python_sitearch}/matplotlib/backends/web_backend/
@ -436,9 +511,9 @@ no_xdist="test_backend or test_span_selector_animated_artists_callback"
%pycache_only %{python_sitearch}/matplotlib/backends/__pycache__/backend_webagg.*.py*
%pycache_only %{python_sitearch}/matplotlib/backends/__pycache__/backend_webagg_core.*.py*
%if 0%{?suse_version} > %SLE_VERSION
%files %{python_files wx}
%license LICENSE/
%license doc/users/project/license.rst
%{python_sitearch}/matplotlib/backends/backend_wx.py*
%{python_sitearch}/matplotlib/backends/backend_wxagg.py*
%{python_sitearch}/matplotlib/backends/backend_wxcairo.py*
@ -446,5 +521,6 @@ no_xdist="test_backend or test_span_selector_animated_artists_callback"
%pycache_only %{python_sitearch}/matplotlib/backends/__pycache__/backend_wxagg.*.py*
%pycache_only %{python_sitearch}/matplotlib/backends/__pycache__/backend_wxcairo.*.py*
%endif
%endif
%changelog

BIN
qhull-2020-src-8.0.2.tgz (Stored with Git LFS)

Binary file not shown.

BIN
qhull-8.0.2.tgz (Stored with Git LFS) Normal file

Binary file not shown.