# Contributor: Isaac Dunham # Contributor: Aiden Grossman # Maintainer: pkgname=py3-matplotlib _pyname=matplotlib pkgver=3.7.3 pkgrel=2 pkgdesc="Python3 library for plots" url="https://matplotlib.org" arch="all" license="Python-2.0" depends=" py3-cairo py3-certifi py3-contourpy py3-cycler py3-dateutil py3-fonttools py3-kiwisolver py3-numpy py3-packaging py3-parsing py3-pillow py3-tz python3-tkinter " makedepends=" freetype-dev gfortran libpng-dev py3-gobject3 py3-gpep517 py3-numpy-dev py3-pybind11-dev py3-setuptools py3-setuptools_scm py3-wheel python3-dev qhull-dev tk-dev " checkdepends=" font-opensans gtk+3.0-dev py3-pytest py3-pytest-xdist " subpackages="$pkgname-pyc" source="https://github.com/matplotlib/$_pyname/archive/v$pkgver/matplotlib-v$pkgver.tar.gz $pkgname-images-$pkgver.tar.gz::https://github.com/boomanaiden154/matplotlib-test-images/releases/download/matplotlib-$pkgver/matplotlib-images.tar.gz freetype.patch test.patch test-x86.patch pytest8.patch " builddir="$srcdir/$_pyname-$pkgver" replaces="py-matplotlib" # Backwards compatibility provides="py-matplotlib=$pkgver-r$pkgrel" # Backwards compatibility # matplotlib-images does not contains loongarch64's test-images # It can be added after alpine support loongarch64 case "$CARCH" in loongarch64) options="$options !check" ;; esac prepare() { default_prepare # Use system freetype and qhull sed -e 's|#system_freetype = False|system_freetype = True|' -e 's|#system_qhull = False|system_qhull = True|' mplsetup.cfg.template > mplsetup.cfg # Install tests sed -i 's|#tests = False|tests = True|' mplsetup.cfg # Copy images from freetype mpl images repo if [ -d ../matplotlib-images/matplotlib-$CARCH ]; then cp -r ../matplotlib-images/matplotlib-$CARCH/* lib/matplotlib/tests/baseline_images/ fi } build() { export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver gpep517 build-wheel \ --wheel-dir .dist \ --output-fd 3 3>&1 >&2 } check() { python3 -m venv --clear --without-pip --system-site-packages test-env test-env/bin/python3 -m installer .dist/*.whl # Four disabled test sets fail completely, more investigation needed test-env/bin/python3 -m pytest -n $JOBS -v --pyargs matplotlib -m "not (nonfunctional or $CARCH)" \ --ignore-glob="*test_mathtext.py" \ --ignore-glob="*test_backend_nbagg.py" \ -k "not test_pcolornearestunits[png] and not test_invisible_Line_rendering" } package() { python3 -m installer --destdir="$pkgdir" .dist/*.whl # Remove tests from installation find "$pkgdir" -type d -name tests -exec rm -r {} \+ } sha512sums=" 9714098cd5c18bc8ab8f115ec1fdb5dcadd6f08f6bd6a17068050b272287ab0d9544fae98688b27555d91281614198aefeb54a72c68977c227818b24ff77613e matplotlib-v3.7.3.tar.gz 0fbf06713a51121fb1651e52e3a7d965a14ed3e22f527e7d42bdad180a333864468f2cb1bc6e6b32e4bb3c8954df7aeca5369a0f098c12cf2211b2bb3dfc0195 py3-matplotlib-images-3.7.3.tar.gz ea21b9ac0253253b657c542e31f3c8dc3161419d7c42aa92036b98338a27b59d1cc5d7f699c8cbaf0302f63a4f730301044a8d11cdee8f9fb8027a80a12a394b freetype.patch 3b4044bb701a1127ef9766782b78a61b68d3e93fff6d1eabf33323eb8e1724fafc684a7021a1dbcc1b2e6374676d30ec984af83d8841bb0d78ef1250742fbfca test.patch 0fcc506b509a93b58d225753806a1b330f7907c7e5fee3fe78226c8ce16cf86f98c1662d16b17833e1bd7f3e2c4c9cb80d4451fbc173e487e2629dbccd3c2828 test-x86.patch 1c01836a72bff0206210315888666d778ff44e49a171e4806fa41d9df728e74c61ffda9b53aa50bd81e3b9cd1707be11d44ce26046e82664d9b1dc36700fa64a pytest8.patch "