diff --git a/fix-tests-pytest72.patch b/fix-tests-pytest72.patch deleted file mode 100644 index b3ee25e..0000000 --- a/fix-tests-pytest72.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: matplotlib-3.5.3/lib/matplotlib/tests/test_cbook.py -=================================================================== ---- matplotlib-3.5.3.orig/lib/matplotlib/tests/test_cbook.py -+++ matplotlib-3.5.3/lib/matplotlib/tests/test_cbook.py -@@ -52,7 +52,7 @@ class Test_delete_masked_points: - - - class Test_boxplot_stats: -- def setup(self): -+ def setup_method(self): - np.random.seed(937) - self.nrows = 37 - self.ncols = 4 -@@ -178,7 +178,7 @@ class Test_boxplot_stats: - - - class Test_callback_registry: -- def setup(self): -+ def setup_method(self): - self.signal = 'test' - self.callbacks = cbook.CallbackRegistry() - -Index: matplotlib-3.5.3/lib/matplotlib/tests/test_mlab.py -=================================================================== ---- matplotlib-3.5.3.orig/lib/matplotlib/tests/test_mlab.py -+++ matplotlib-3.5.3/lib/matplotlib/tests/test_mlab.py -@@ -92,7 +92,7 @@ def test_window(): - - - class TestDetrend: -- def setup(self): -+ def setup_method(self): - np.random.seed(0) - n = 1000 - x = np.linspace(0., 100, n) diff --git a/matplotlib-3.5.3.tar.gz b/matplotlib-3.5.3.tar.gz deleted file mode 100644 index 26a467f..0000000 --- a/matplotlib-3.5.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:339cac48b80ddbc8bfd05daae0a3a73414651a8596904c2a881cfd1edb65f26c -size 35236343 diff --git a/matplotlib-3.6.2.tar.gz b/matplotlib-3.6.2.tar.gz new file mode 100644 index 0000000..e1001f0 --- /dev/null +++ b/matplotlib-3.6.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b03fd10a1709d0101c054883b550f7c4c5e974f751e2680318759af005964990 +size 35843927 diff --git a/matplotlib-mplsetup.cfg b/matplotlib-mplsetup.cfg index b71bb0c..0202db3 100644 --- a/matplotlib-mplsetup.cfg +++ b/matplotlib-mplsetup.cfg @@ -1,28 +1,29 @@ + # 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] -# There are a number of data subpackages from Matplotlib that are -# considered optional. All except 'tests' data (meaning the baseline -# image files) are installed by default, but that can be changed here. -tests = True - -[gui_support] -# Matplotlib supports multiple GUI toolkits, known as backends. -# The MacOSX backend requires the Cocoa headers included with XCode. -# You can select whether to build it by uncommenting the following line. -# It is never built on Linux or Windows, regardless of the config value. +# 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] @@ -35,4 +36,4 @@ tests = True # not choose MacOSX if you have disabled the relevant extension modules. The # default is determined by fallback. # -#backend = Agg +#backend = Agg \ No newline at end of file diff --git a/python-matplotlib.changes b/python-matplotlib.changes index 7292628..d3518d1 100644 --- a/python-matplotlib.changes +++ b/python-matplotlib.changes @@ -1,3 +1,103 @@ +------------------------------------------------------------------- +Thu Dec 22 15:40:39 UTC 2022 - Ben Greiner + +- Update to 3.6.2 + * Avoid mutating dictionaries passed to subplots + * Fix bbox_inches='tight' on a figure with constrained layout + enabled + * Fix auto-scaling of ax.hist density with histtype='step' + * Fix compatibility with PySide6 6.4 + * Fix evaluating colormaps on non-NumPy arrays + * Fix key reporting in pick events + * Fix thread check on PyPy 3.8 + * Handle input to ax.bar that is all NaN + * Make rubber band more visible on Tk and Wx backends + * Restore (and warn on) seaborn styles in style.library + * Restore get_renderer function in deprecated tight_layout + * nb/webagg: Fix resize handle on WebKit browsers (e.g., Safari) +- Release 3.6.1 + * A warning is no longer raised when constrained layout + explicitly disabled and tight layout is applied + * Add missing get_cmap method to ColormapRegistry + * Adding a colorbar on a ScalarMappable that is not attached to + an Axes is now deprecated instead of raising a hard error + * Fix barplot being empty when first element is NaN + * Fix FigureManager.resize on GTK4 + * Fix fill_between compatibility with NumPy 1.24 development + version + * Fix hexbin with empty arrays and log scaling + * Fix resize_event deprecation warnings when creating figure on + macOS + * Fix build in mingw + * Fix compatibility with PyCharm's interagg backend + * Fix crash on empty Text in PostScript backend + * Fix generic font families in SVG exports + * Fix horizontal colorbars with hatches + * Fix misplaced mathtext using eqnarray + * stackplot no longer changes the Axes cycler +- Release 3.6.0 + ## Figure and Axes creation / management + * subplots, subplot_mosaic accept height_ratios and width_ratios + arguments + * Constrained layout is no longer considered experimental + * New layout_engine module + * Compressed layout added for fixed-aspect ratio Axes + * Layout engines may now be removed + * Axes.inset_axes flexibility + * WebP is now a supported output format + * Garbage collection is no longer run on figure close + ## Plotting methods + * Striped lines (experimental) + * Custom cap widths in box and whisker plots in bxp and boxplot + * Easier labelling of bars in bar plot + * New style format string for colorbar ticks + * Linestyles for negative contours may be set individually + * Improved quad contour calculations via ContourPy + * errorbar supports markerfacecoloralt + * streamplot can disable streamline breaks + * New axis scale asinh (experimental) + * stairs(..., fill=True) hides patch edge by setting linewidth + * Fix the dash offset of the Patch class + * Rectangle patch rotation point + ## Colors and colormaps + * Color sequence registry + * Colormap method for creating a different lookup table size + * Setting norms with strings + ## Titles, ticks, and labels + * plt.xticks and plt.yticks support minor keyword argument + ## Legends + * Legend can control alignment of title and handles + * ncol keyword argument to legend renamed to ncols + ## Markers + * marker can now be set to the string "none" + * Customization of MarkerStyle join and cap style + ## Fonts and Text + * Font fallback + * List of available font names + * math_to_image now has a color keyword argument + * Active URL area rotates with link text + ## rcParams improvements + * Allow setting figure label size and weight globally and + separately from title + * Mathtext parsing can be disabled globally + * Double-quoted strings in matplotlibrc + ## 3D Axes improvements + * Standardized views for primary plane viewing angles + * Custom focal length for 3D camera + * 3D plots gained a 3rd "roll" viewing angle + * Equal aspect ratio for 3D plots + ## Interactive tool improvements + * Rotation, aspect ratio correction and add/remove state + * MultiCursor now supports Axes split over multiple figures + * PolygonSelector bounding boxes + * Setting PolygonSelector vertices + * SpanSelector widget can now be snapped to specified values + * More toolbar icons are styled for dark themes + ## Platform-specific changes + * Wx backend uses standard toolbar +- Drop upstream patch fix-tests-pytest72.patch +- Move to PEP518 build + ------------------------------------------------------------------- Wed Dec 7 11:28:09 UTC 2022 - Daniel Garcia diff --git a/python-matplotlib.spec b/python-matplotlib.spec index 4c07266..4c7c205 100644 --- a/python-matplotlib.spec +++ b/python-matplotlib.spec @@ -16,10 +16,6 @@ # -%{?!python_module:%define python_module() python3-%{**}} -%define skip_python2 1 -# NEP 29: Numpy 1.20 dropped Python 3.6. No python36-numpy in TW anymore. -%define skip_python36 1 %global flavor @BUILD_FLAVOR@%{nil} %if "%{flavor}" == "test" %define psuffix -test @@ -31,7 +27,7 @@ ExclusiveArch: x86_64 aarch64 %bcond_with test %endif Name: python-matplotlib%{psuffix} -Version: 3.5.3 +Version: 3.6.2 Release: 0 Summary: Plotting Library for Python License: SUSE-Matplotlib @@ -41,34 +37,36 @@ 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 fix-tests-pytest72.patch gh#matplotlib/matplotlib#24173 -Patch1: fix-tests-pytest72.patch -BuildRequires: %{python_module Cycler >= 0.10} -BuildRequires: %{python_module FontTools >= 4.22.0} -BuildRequires: %{python_module devel} -BuildRequires: %{python_module kiwisolver >= 1.0.1} -BuildRequires: %{python_module numpy >= 1.17} -BuildRequires: %{python_module numpy-devel >= 1.16} -BuildRequires: %{python_module packaging >= 20.0} +# SECTION build +BuildRequires: %{python_module setuptools_scm >= 7} +BuildRequires: %{python_module devel >= 3.8} +BuildRequires: %{python_module numpy-devel >= 1.19} BuildRequires: %{python_module pip} -BuildRequires: %{python_module pyparsing > 2.2.1} -BuildRequires: %{python_module pytz} -BuildRequires: %{python_module setuptools_scm} BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} BuildRequires: c++_compiler BuildRequires: fdupes BuildRequires: pkgconfig BuildRequires: python-rpm-macros BuildRequires: qhull-devel >= 2003.1 +# /SECTION +# SECTION tk dependencies via tcl +BuildRequires: tcl +BuildRequires: pkgconfig(freetype2) >= 2.3 +BuildRequires: pkgconfig(libpng) >= 1.2 +BuildRequires: pkgconfig(tcl) +# /SECTION +# SECTION runtime +Requires: python-contourpy >= 1.0.1 Requires: python-Cycler >= 0.10 Requires: python-FontTools >= 4.22.0 -Requires: python-Pillow >= 6.2 +Requires: python-Pillow >= 6.2.0 Requires: python-kiwisolver >= 1.0.1 -Requires: python-numpy >= 1.17 +Requires: python-numpy >= 1.19 Requires: python-packaging >= 20.0 Requires: python-pyparsing > 2.2.1 Requires: python-python-dateutil >= 2.7 -Requires: python-pytz +# /SECTION Recommends: ghostscript Recommends: libxml2-tools Recommends: poppler-tools @@ -76,12 +74,7 @@ Recommends: python-certifi Recommends: (%{python_flavor}-matplotlib-tk if tk) Provides: python-matplotlib-gtk = %{version} Obsoletes: python-matplotlib-gtk < %{version} -# SECTION tk dependencies via tcl -BuildRequires: tcl -BuildRequires: pkgconfig(freetype2) >= 2.3 -BuildRequires: pkgconfig(libpng) >= 1.2 -BuildRequires: pkgconfig(tcl) -# /SECTION +# SECTION test %if %{with test} BuildRequires: %{python_module matplotlib = %{version}} BuildRequires: %{python_module matplotlib-cairo = %{version}} @@ -102,6 +95,7 @@ BuildRequires: ghostscript BuildRequires: inkscape BuildRequires: poppler-tools # /SECTION +# /SECTION test %endif %python_subpackages @@ -140,7 +134,7 @@ This package includes the GTK4-based gtk4, gtk4agg, and gtk4cairo backends for the %{name} plotting package %package gtk-common -Summary: code common for GTK3 and GTK4 backends for %{name} +Summary: Code common for GTK3 and GTK4 backends for %{name} Requires: %{name} = %{version} Requires: %{name}-cairo = %{version} Requires: gdk-pixbuf-loader-rsvg @@ -181,6 +175,7 @@ Requires: tex(type1cm.sty) Requires: tex(type1ec.sty) Requires: tex(ucs.sty) Requires: tex(underscore.sty) +BuildArch: noarch %description latex This package allows %{name} to display latex in plots @@ -236,7 +231,7 @@ for %{name} plotting package %prep %autosetup -p1 -n matplotlib-%{version} -#copy freetype to the right location, so that matplotlib will not try to download it +# 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} @@ -249,19 +244,15 @@ find examples lib/matplotlib lib/mpl_toolkits/mplot3d -type f -name "*.py" -exec cp %{SOURCE1} mplsetup.cfg # The setup procedure wants certifi to download packages over https. Not applicable here. sed -i '/"certifi>=.*"/ d' setup.py -# To make it work with setuptools_scm >= 7 -# https://discourse.matplotlib.org/t/matplotlib-announce-amm-matplotlib-3-5-3/23046 -sed -i 's/setuptools_scm>=4,<7/setuptools_scm>=4/' setup.py -sed -i '/"setuptools_scm_git_archive"/ d' setup.py %build %if !%{with test} -%python_build +%pyproject_wheel %endif %install %if !%{with test} -%python_install +%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 } @@ -277,9 +268,6 @@ skip_tests+=" or test_backend_fallback_headful" skip_tests+=" or (test_usetex and png and not empty and not unicode)" # output slightly differs: text moves a bit skip_tests+=" or test_pdflatex" -# we do not ship the qt4 backend -skip_tests+=" or (test_correct_key and Qt4Agg)" -skip_tests+=" or (test_fig_close and Qt4Agg)" # timing tests on obs can fail unpredictably skip_tests+=" or test_invisible_Line_rendering" # too much memory consumption on obs parallel workers @@ -288,18 +276,25 @@ skip_tests+=" or (test_agg and chunksize) or test_throw_rendering_complexity_exc skip_tests+=" or (test_backends_interactive and test_figure_leak_20490)" # flaky signal termination tests inside obs skip_tests+=" or _sigint" +# test finds extra system fonts not found by the mpl fontmanager +skip_tests+=" or test_get_font_names" +# different default font +skip_tests+=" or test_bold_font_output_with_none_fonttype" %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" \ - -k "not ( ${skip_tests:4} or test_backend )" + -vv \ + -k "not (${no_xdist} ${skip_tests})" } -# backend tests landing in the wrong xdist process may fail with an error. Test them without xdist. -%pytest_arch --pyargs matplotlib.tests -k "test_backend and not ( ${skip_tests:4} )" + +%pytest_arch --pyargs matplotlib.tests -k "(${no_xdist}) and not (${skip_tests:4})" %endif %if !%{with test} @@ -309,7 +304,7 @@ skip_tests+=" or png or svg or pdf" %license LICENSE/ %license doc/users/project/license.rst %{python_sitearch}/matplotlib/ -%{python_sitearch}/matplotlib-%{version}-py*.egg-info +%{python_sitearch}/matplotlib-%{version}.dist-info %{python_sitearch}/matplotlib-%{version}-py*-nspkg.pth %{python_sitearch}/mpl_toolkits %{python_sitearch}/pylab.py* @@ -323,9 +318,6 @@ skip_tests+=" or png or svg or pdf" %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_qt4.py* -%exclude %{python_sitearch}/matplotlib/backends/backend_qt4agg.py* -%exclude %{python_sitearch}/matplotlib/backends/backend_qt4cairo.py* %exclude %{python_sitearch}/matplotlib/backends/backend_qt5.* %exclude %{python_sitearch}/matplotlib/backends/backend_qt5agg.* %exclude %{python_sitearch}/matplotlib/backends/backend_qt5cairo.py* @@ -348,9 +340,6 @@ skip_tests+=" or png or svg or pdf" %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_qt4.*.py* -%exclude %{python_sitearch}/matplotlib/backends/__pycache__/backend_qt4agg.*.py* -%exclude %{python_sitearch}/matplotlib/backends/__pycache__/backend_qt4cairo.*.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*