From 7d6f0f4a4788ec2f7ccda76055e48aa7e2c74ef8d8b48844686d5cecabb3b19e Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Wed, 5 Jun 2024 23:18:42 +0000 Subject: [PATCH] Accepting request 1178863 from home:bnavigator:branches:devel:languages:python:numeric - 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 OBS-URL: https://build.opensuse.org/request/show/1178863 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-matplotlib?expand=0&rev=98 --- matplotlib-3.8.4.tar.gz | 3 -- matplotlib-3.9.0.tar.gz | 3 ++ matplotlib-meson-options-opensuse.patch | 13 +++++++ matplotlib-mplsetup.cfg | 39 --------------------- python-matplotlib.changes | 33 ++++++++++++++++++ python-matplotlib.spec | 46 +++++++++---------------- qhull-2020-src-8.0.2.tgz | 3 -- qhull-8.0.2.tgz | 3 ++ 8 files changed, 68 insertions(+), 75 deletions(-) delete mode 100644 matplotlib-3.8.4.tar.gz create mode 100644 matplotlib-3.9.0.tar.gz create mode 100644 matplotlib-meson-options-opensuse.patch delete mode 100644 matplotlib-mplsetup.cfg delete mode 100644 qhull-2020-src-8.0.2.tgz create mode 100644 qhull-8.0.2.tgz diff --git a/matplotlib-3.8.4.tar.gz b/matplotlib-3.8.4.tar.gz deleted file mode 100644 index c66390a..0000000 --- a/matplotlib-3.8.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8aac397d5e9ec158960e31c381c5ffc52ddd52bd9a47717e2a694038167dffea -size 35934425 diff --git a/matplotlib-3.9.0.tar.gz b/matplotlib-3.9.0.tar.gz new file mode 100644 index 0000000..306f584 --- /dev/null +++ b/matplotlib-3.9.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6d29ea6c19e34b30fb7d88b7081f869a03014f66fe06d62cc77d5a6ea88ed7a +size 36069890 diff --git a/matplotlib-meson-options-opensuse.patch b/matplotlib-meson-options-opensuse.patch new file mode 100644 index 0000000..0eed96f --- /dev/null +++ b/matplotlib-meson-options-opensuse.patch @@ -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" diff --git a/matplotlib-mplsetup.cfg b/matplotlib-mplsetup.cfg deleted file mode 100644 index 0202db3..0000000 --- a/matplotlib-mplsetup.cfg +++ /dev/null @@ -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 \ No newline at end of file diff --git a/python-matplotlib.changes b/python-matplotlib.changes index 87c0190..d6fe8f1 100644 --- a/python-matplotlib.changes +++ b/python-matplotlib.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Wed Jun 5 12:55:45 UTC 2024 - Ben Greiner + +- 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 diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 3f1c7df..214544c 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -29,17 +29,19 @@ ExclusiveArch: x86_64 aarch64 %bcond_with ringdisabled %{?sle15_python_module_pythons} Name: python-matplotlib%{psuffix} -Version: 3.8.4 +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 @@ -49,12 +51,11 @@ Provides: python-matplotlib-gtk = %{version} Obsoletes: python-matplotlib-gtk < %{version} # SECTION build 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 >= 64} BuildRequires: %{python_module setuptools_scm >= 7} -BuildRequires: %{python_module wheel} BuildRequires: c++_compiler BuildRequires: fdupes BuildRequires: pkgconfig @@ -68,12 +69,12 @@ BuildRequires: pkgconfig(libpng) >= 1.2 BuildRequires: pkgconfig(tcl) # /SECTION # SECTION runtime -Requires: python-numpy >= 1.21 Requires: python-Cycler >= 0.10 Requires: python-FontTools >= 4.22.0 Requires: python-Pillow >= 8 Requires: python-contourpy >= 1.0.1 Requires: python-kiwisolver >= 1.3.1 +Requires: python-numpy >= 1.23 Requires: python-packaging >= 20.0 Requires: python-pyparsing > 2.3.1 Requires: python-python-dateutil >= 2.7 @@ -281,19 +282,16 @@ for %{name} plotting package %prep %autosetup -p1 -n matplotlib-%{version} -%{python_expand # Extract freetype and qhull to the right location, so that matplotlib will not try to download it -mkdir build -pushd build -tar xfz %{SOURCE98} -tar xfz %{SOURCE99} -popd -} - +# 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 lib/matplotlib lib/mpl_toolkits/mplot3d -type f -name "*.py" -exec sed -i "1{/#!.*python/ d}" {} \; -cp %{SOURCE1} mplsetup.cfg -# The setup procedure wants certifi to download packages over https. Not applicable here. -sed -i '/"certifi>=.*"/ d' pyproject.toml +%{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 %{without test} @@ -363,7 +361,6 @@ $python -m pytest --pyargs matplotlib.tests \ %files %{python_files} %doc README.md %license LICENSE/ -%license doc/users/project/license.rst %{python_sitearch}/matplotlib %{python_sitearch}/matplotlib-%{version}.dist-info %dir %{python_sitearch}/mpl_toolkits @@ -425,17 +422,14 @@ $python -m pytest --pyargs matplotlib.tests \ # 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* @@ -445,7 +439,6 @@ $python -m pytest --pyargs matplotlib.tests \ %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* @@ -455,21 +448,18 @@ $python -m pytest --pyargs matplotlib.tests \ %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* %if 0%{?suse_version} > 1500 && 0%{?python_version_nodots} >= 310 %files %{python_files nbagg} %license LICENSE/ -%license doc/users/project/license.rst %{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* @@ -482,7 +472,6 @@ $python -m pytest --pyargs matplotlib.tests \ %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 @@ -493,7 +482,6 @@ $python -m pytest --pyargs matplotlib.tests \ %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* @@ -503,7 +491,6 @@ $python -m pytest --pyargs matplotlib.tests \ %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/ @@ -514,7 +501,6 @@ $python -m pytest --pyargs matplotlib.tests \ %if 0%{?suse_version} > 1500 %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* diff --git a/qhull-2020-src-8.0.2.tgz b/qhull-2020-src-8.0.2.tgz deleted file mode 100644 index fc2c353..0000000 --- a/qhull-2020-src-8.0.2.tgz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b5c2d7eb833278881b952c8a52d20179eab87766b00b865000469a45c1838b7e -size 1298874 diff --git a/qhull-8.0.2.tgz b/qhull-8.0.2.tgz new file mode 100644 index 0000000..b4edd75 --- /dev/null +++ b/qhull-8.0.2.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8774e9a12c70b0180b95d6b0b563c5aa4bea8d5960c15e18ae3b6d2521d64f8b +size 1307301