Download raw body.
[update] matplotlib 3.8.3 -> 3.9.4
On 2025/05/18 16:20, Daniel Dickman wrote:
> Now that we have numpy2, here's an update of matplotlib to the 3.9.x
> series.
>
> As per the dev change notes:
> - the build system changed to meson
> - mplsetup.cfg was moved into meson_options.txt
> - the test data flag was moved into pyproject.toml
>
> The matplotlib system states an upper bound of meson-python of 16.x,
> however since what we have in-tree is newer and seems to work, I've
> loosened it to allow 18.x.
Based on https://github.com/matplotlib/matplotlib/commit/03fa1ffb1b26733f109ae10ac67c8432f48ec320
it looks like they were avoiding a known-buggy version which we've
already passed, so I think it would be good to remove the upper bound
on mesonpy.
ok.
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/graphics/py-matplotlib/Makefile,v
> diff -u -p -u -r1.102 Makefile
> --- Makefile 15 May 2025 21:38:54 -0000 1.102
> +++ Makefile 18 May 2025 20:14:11 -0000
> @@ -1,9 +1,8 @@
> COMMENT = Python charting and plotting API
>
> -MODPY_DISTV = 3.8.3
> +MODPY_DISTV = 3.9.4
> DISTNAME = matplotlib-${MODPY_DISTV}
> PKGNAME = py-${DISTNAME}
> -REVISION = 3
>
> CATEGORIES = graphics devel math
>
> @@ -21,13 +20,14 @@ COMPILER = base-clang ports-gcc base-gc
> MODULES = lang/python
>
> MODPY_PI = Yes
> -MODPY_PYBUILD = setuptools_scm
> +MODPY_PYBUILD = mesonpy
>
> MODPY_TEST_LINK_SO = Yes
> MODPY_TEST_LINK_SRC = ${WRKSRC}/lib
>
> BUILD_DEPENDS = devel/py-certifi>=2020.06.20 \
> devel/py-pybind11>=2.6 \
> + devel/py-setuptools_scm \
> math/qhull \
> math/py-numpy>=1.25 \
> textproc/py-sphinx
> @@ -56,12 +56,8 @@ MAKE_ENV+= LDSHARED="${CC} -shared -fPIC
>
> EXAMPLESDIR= ${PREFIX}/share/examples/${MODPY_PY_PREFIX}matplotlib
>
> -post-patch:
> - cp ${WRKSRC}/mplsetup.cfg{.template,}
> -
> pre-configure:
> find ${WRKSRC}/galleries/examples -name \*.py -exec ${MODPY_BIN_ADJ} {} +
> - ${SUBST_CMD} ${WRKSRC}/setupext.py
>
> post-install:
> ${INSTALL_DATA_DIR} ${EXAMPLESDIR}
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/graphics/py-matplotlib/distinfo,v
> diff -u -p -u -r1.23 distinfo
> --- distinfo 23 Feb 2024 02:36:51 -0000 1.23
> +++ distinfo 18 May 2025 20:14:11 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (matplotlib-3.8.3.tar.gz) = e0FiOemuOL5UsCirv5BIr/UFSpq6VBa+8L0X+RYs4WE=
> -SIZE (matplotlib-3.8.3.tar.gz) = 35879872
> +SHA256 (matplotlib-3.9.4.tar.gz) = HgDovnOTy9xv7fqKb7oCzz6DgUsoXbHGC5BqAjukG8M=
> +SIZE (matplotlib-3.9.4.tar.gz) = 36106529
> Index: patches/patch-meson_options
> ===================================================================
> RCS file: patches/patch-meson_options
> diff -N patches/patch-meson_options
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-meson_options 18 May 2025 20:14:11 -0000
> @@ -0,0 +1,15 @@
> +Index: meson.options
> +--- meson.options.orig
> ++++ meson.options
> +@@ -5,9 +5,9 @@
> + # Qhull. You may use the following options to instead link against a system
> + # FreeType/Qhull. As an exception, Matplotlib defaults to the system version of
> + # FreeType on AIX.
> +-option('system-freetype', type: 'boolean', value: false,
> ++option('system-freetype', type: 'boolean', value: true,
> + description: 'Build against system version of FreeType')
> +-option('system-qhull', type: 'boolean', value: false,
> ++option('system-qhull', type: 'boolean', value: true,
> + description: 'Build against system version of Qhull')
> +
> + # Some of Matplotlib's components are optional: the MacOSX backend (installed
> Index: patches/patch-mplsetup_cfg_template
> ===================================================================
> RCS file: patches/patch-mplsetup_cfg_template
> diff -N patches/patch-mplsetup_cfg_template
> --- patches/patch-mplsetup_cfg_template 16 Jan 2023 17:09:43 -0000 1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,23 +0,0 @@
> -Index: mplsetup.cfg.template
> ---- mplsetup.cfg.template.orig
> -+++ mplsetup.cfg.template
> -@@ -11,8 +11,8 @@
> - # FreeType/Qhull. As an exception, Matplotlib defaults to the system version
> - # of FreeType on AIX.
> - #
> --#system_freetype = False
> --#system_qhull = False
> -+system_freetype = True
> -+system_qhull = True
> -
> - [packages]
> - # Some of Matplotlib's components are optional: the MacOSX backend (installed
> -@@ -22,7 +22,7 @@
> - # lines. Note that the MacOSX backend is never built on Linux or Windows,
> - # regardless of the config value.
> - #
> --#tests = False
> -+tests = True
> - #macosx = True
> -
> - [rc_options]
> Index: patches/patch-pyproject_toml
> ===================================================================
> RCS file: patches/patch-pyproject_toml
> diff -N patches/patch-pyproject_toml
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-pyproject_toml 18 May 2025 20:14:11 -0000
> @@ -0,0 +1,21 @@
> +Index: pyproject.toml
> +--- pyproject.toml.orig
> ++++ pyproject.toml
> +@@ -73,7 +73,7 @@ dev = [
> + build-backend = "mesonpy"
> + # Also keep in sync with optional dependencies above.
> + requires = [
> +- "meson-python>=0.13.1,<0.17.0",
> ++ "meson-python>=0.13.1,<0.19.0",
> + "pybind11>=2.6,!=2.13.3",
> + "setuptools_scm>=7",
> +
> +@@ -91,7 +91,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"
> Index: patches/patch-setupext_py
> ===================================================================
> RCS file: patches/patch-setupext_py
> diff -N patches/patch-setupext_py
> --- patches/patch-setupext_py 22 Jan 2024 23:13:46 -0000 1.25
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,19 +0,0 @@
> -Index: setupext.py
> ---- setupext.py.orig
> -+++ setupext.py
> -@@ -445,6 +445,7 @@ class Matplotlib(SetupPackage):
> - ext = Extension(
> - "matplotlib._qhull", ["src/_qhull_wrapper.cpp"],
> - define_macros=[("MPL_DEVNULL", os.devnull)])
> -+ ext.include_dirs.extend(['${PREFIX}/include'])
> - add_numpy_flags(ext)
> - Qhull.add_flags(ext)
> - yield ext
> -@@ -458,6 +459,7 @@ class Matplotlib(SetupPackage):
> - libraries={"linux": ["dl"], "win32": ["comctl32", "psapi"],
> - "cygwin": ["comctl32", "psapi"]}.get(sys.platform, []),
> - extra_link_args={"win32": ["-mwindows"]}.get(sys.platform, []))
> -+ ext.include_dirs.extend(['${X11BASE}/include'])
> - add_numpy_flags(ext)
> - add_libagg_flags(ext)
> - yield ext
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/graphics/py-matplotlib/pkg/PLIST,v
> diff -u -p -u -r1.29 PLIST
> --- pkg/PLIST 29 Apr 2025 10:38:37 -0000 1.29
> +++ pkg/PLIST 18 May 2025 20:14:13 -0000
> @@ -4,24 +4,10 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/${MODPY_PYCACHE}pylab.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/
> lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/
> +lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/LICENSE
> lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/METADATA
> lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/RECORD
> lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/WHEEL
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE_AMSFONTS
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE_BAKOMA
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE_CARLOGO
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE_COLORBREWER
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE_COURIERTEN
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE_JSXTOOLS_RESIZE_OBSERVER
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE_QHULL
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE_QT4_EDITOR
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE_SOLARIZED
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE_STIX
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/licenses/LICENSE/LICENSE_YORICK
> -lib/python${MODPY_VERSION}/site-packages/matplotlib-${MODPY_DISTV}.dist-info/top_level.txt
> lib/python${MODPY_VERSION}/site-packages/matplotlib/__init__.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/__init__.pyi
> ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/matplotlib/${MODPY_PYCACHE}/
> @@ -316,6 +302,8 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/${MODPY_PYCACHE}backend_wxcairo.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/${MODPY_PYCACHE}qt_compat.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/${MODPY_PYCACHE}qt_compat.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/${MODPY_PYCACHE}registry.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/${MODPY_PYCACHE}registry.${MODPY_PYC_MAGIC_TAG}pyc
> @so lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/_backend_agg.${MODPY_PYC_MAGIC_TAG}so
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/_backend_agg.pyi
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/_backend_gtk.py
> @@ -365,10 +353,8 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/qt_editor/${MODPY_PYCACHE}figureoptions.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/qt_editor/_formlayout.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/qt_editor/figureoptions.py
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/registry.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/.eslintrc.js
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/.prettierignore
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/.prettierrc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/all_figures.html
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/css/
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/css/boilerplate.css
> @@ -381,7 +367,6 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/js/mpl_tornado.js
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/js/nbagg_mpl.js
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/nbagg_uat.ipynb
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/package.json
> lib/python${MODPY_VERSION}/site-packages/matplotlib/backends/web_backend/single_figure.html
> lib/python${MODPY_VERSION}/site-packages/matplotlib/bezier.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/bezier.pyi
> @@ -681,9 +666,12 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/sphinxext/${MODPY_PYCACHE}mathmpl.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/sphinxext/${MODPY_PYCACHE}plot_directive.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/matplotlib/sphinxext/${MODPY_PYCACHE}plot_directive.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/sphinxext/${MODPY_PYCACHE}roles.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/sphinxext/${MODPY_PYCACHE}roles.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/sphinxext/figmpl_directive.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/sphinxext/mathmpl.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/sphinxext/plot_directive.py
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/sphinxext/roles.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/spines.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/spines.pyi
> lib/python${MODPY_VERSION}/site-packages/matplotlib/stackplot.py
> @@ -757,6 +745,7 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/testing/widgets.pyi
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/Courier10PitchBT-Bold.pfb
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/README
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/__init__.py
> ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}/
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -815,8 +804,6 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_basic.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_bbox_tight.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_bbox_tight.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_bezier.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_bezier.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_category.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_category.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_cbook.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -839,6 +826,8 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_cycles.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_dates.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_dates.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_datetime.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_datetime.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_determinism.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_determinism.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/${MODPY_PYCACHE}test_doc.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -1000,6 +989,7 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/axhspan_epoch.pdf
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/axhspan_epoch.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/axhspan_epoch.svg
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/axhvlinespan_interpolation.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/axis_options.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/axisbelow.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/axvspan_epoch.pdf
> @@ -1268,6 +1258,8 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/step_linestyle.pdf
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/step_linestyle.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/step_linestyle.svg
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/sticky_tolerance.png
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/sticky_tolerance_cf.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/symlog.pdf
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/symlog2.pdf
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/test_alpha.pdf
> @@ -1296,6 +1288,7 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/violinplot_horiz_showextrema.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/violinplot_horiz_showmeans.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/violinplot_horiz_showmedians.png
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/violinplot_sides.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/violinplot_vert_baseline.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/violinplot_vert_custompoints_10.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_axes/violinplot_vert_custompoints_200.png
> @@ -1487,6 +1480,7 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_contour/contour_manual_labels.svg
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_contour/contour_test_label_transforms.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_contour/contour_uneven.png
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_contour/contourf_hatch_colors.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_dates/
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_dates/DateFormatter_fractionalSeconds.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_dates/RRuleLocator_bounds.png
> @@ -1500,6 +1494,8 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_figure/alpha_background.svg
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_figure/figure_align_labels.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_figure/figure_align_labels.svg
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_figure/figure_align_titles_constrained.png
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_figure/figure_align_titles_tight.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_figure/figure_legend.pdf
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_figure/figure_legend.png
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/baseline_images/test_figure/figure_legend.svg
> @@ -3373,7 +3369,6 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_backends_interactive.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_basic.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_bbox_tight.py
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_bezier.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_category.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_cbook.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_collections.py
> @@ -3385,6 +3380,7 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_contour.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_cycles.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_dates.py
> +lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_datetime.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_determinism.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_doc.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tests/test_dviread.py
> @@ -3490,22 +3486,6 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}_trirefine.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}_tritools.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}_tritools.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}triangulation.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}triangulation.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}tricontour.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}tricontour.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}trifinder.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}trifinder.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}triinterpolate.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}triinterpolate.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}tripcolor.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}tripcolor.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}triplot.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}triplot.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}trirefine.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}trirefine.${MODPY_PYC_MAGIC_TAG}pyc
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}tritools.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/${MODPY_PYCACHE}tritools.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/_triangulation.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/_triangulation.pyi
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/_tricontour.py
> @@ -3522,14 +3502,6 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/_trirefine.pyi
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/_tritools.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/_tritools.pyi
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/triangulation.py
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/tricontour.py
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/trifinder.py
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/triinterpolate.py
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/tripcolor.py
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/triplot.py
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/trirefine.py
> -lib/python${MODPY_VERSION}/site-packages/matplotlib/tri/tritools.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/typing.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/units.py
> lib/python${MODPY_VERSION}/site-packages/matplotlib/widgets.py
> @@ -3746,6 +3718,7 @@ lib/python${MODPY_VERSION}/site-packages
> lib/python${MODPY_VERSION}/site-packages/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/proj3d_axes_cube.png
> lib/python${MODPY_VERSION}/site-packages/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/proj3d_axes_cube_ortho.png
> lib/python${MODPY_VERSION}/site-packages/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/quiver3d.png
> +lib/python${MODPY_VERSION}/site-packages/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/quiver3d_colorcoded.png
> lib/python${MODPY_VERSION}/site-packages/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/quiver3d_masked.png
> lib/python${MODPY_VERSION}/site-packages/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/scatter3d.png
> lib/python${MODPY_VERSION}/site-packages/mpl_toolkits/mplot3d/tests/baseline_images/test_axes3d/scatter3d_color.png
> @@ -3807,7 +3780,6 @@ share/examples/${MODPY_PY_PREFIX}matplot
> share/examples/${MODPY_PY_PREFIX}matplotlib/axes_grid1/demo_axes_grid2.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/axes_grid1/demo_axes_hbox_divider.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/axes_grid1/demo_axes_rgb.py
> -share/examples/${MODPY_PY_PREFIX}matplotlib/axes_grid1/demo_colorbar_of_inset_axes.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/axes_grid1/demo_colorbar_with_axes_divider.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/axes_grid1/demo_colorbar_with_inset_locator.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/axes_grid1/demo_edge_colorbar.py
> @@ -3825,7 +3797,6 @@ share/examples/${MODPY_PY_PREFIX}matplot
> share/examples/${MODPY_PY_PREFIX}matplotlib/axes_grid1/simple_axesgrid.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/axes_grid1/simple_axesgrid2.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/axes_grid1/simple_axisline4.py
> -share/examples/${MODPY_PY_PREFIX}matplotlib/axes_grid1/simple_colorbar.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/axisartist/
> share/examples/${MODPY_PY_PREFIX}matplotlib/axisartist/README.txt
> share/examples/${MODPY_PY_PREFIX}matplotlib/axisartist/axis_direction.py
> @@ -4025,6 +3996,8 @@ share/examples/${MODPY_PY_PREFIX}matplot
> share/examples/${MODPY_PY_PREFIX}matplotlib/mplot3d/custom_shaded_3d_surface.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/mplot3d/errorbar3d.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/mplot3d/hist3d.py
> +share/examples/${MODPY_PY_PREFIX}matplotlib/mplot3d/imshow3d.py
> +share/examples/${MODPY_PY_PREFIX}matplotlib/mplot3d/intersecting_planes.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/mplot3d/lines3d.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/mplot3d/lorenz_attractor.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/mplot3d/mixed_subplots.py
> @@ -4110,6 +4083,7 @@ share/examples/${MODPY_PY_PREFIX}matplot
> share/examples/${MODPY_PY_PREFIX}matplotlib/showcase/firefox.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/showcase/integral.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/showcase/mandelbrot.py
> +share/examples/${MODPY_PY_PREFIX}matplotlib/showcase/pan_zoom_overlap.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/showcase/stock_prices.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/showcase/xkcd.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/specialty_plots/
> @@ -4149,10 +4123,11 @@ share/examples/${MODPY_PY_PREFIX}matplot
> share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/errorbars_and_boxes.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/hexbin_demo.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/hist.py
> +share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/histogram_bihistogram.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/histogram_cumulative.py
> -share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/histogram_features.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/histogram_histtypes.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/histogram_multihist.py
> +share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/histogram_normalization.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/multiple_histograms_side_by_side.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/time_series_histogram.py
> share/examples/${MODPY_PY_PREFIX}matplotlib/statistics/violinplot.py
>
[update] matplotlib 3.8.3 -> 3.9.4