mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-03-11 00:22:23 +01:00
243 lines
8.1 KiB
Plaintext
243 lines
8.1 KiB
Plaintext
# Contributor: Isaac Dunham <ibid.ag@gmail.com>
|
|
# Contributor: Aiden Grossman <agrossman154@yahoo.com>
|
|
# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
|
|
maintainer=""
|
|
pkgname=py3-matplotlib
|
|
pkgver=3.9.1
|
|
_ftver=2.13.1
|
|
pkgrel=0
|
|
pkgdesc="Python3 library for plots"
|
|
url="https://matplotlib.org"
|
|
arch="all"
|
|
license="PSF-2.0"
|
|
depends="
|
|
py3-contourpy
|
|
py3-cycler
|
|
py3-dateutil
|
|
py3-fonttools
|
|
py3-kiwisolver
|
|
$pkgname-data
|
|
py3-numpy
|
|
py3-packaging
|
|
py3-parsing
|
|
py3-pillow
|
|
"
|
|
makedepends="
|
|
freetype-dev
|
|
py3-gpep517
|
|
py3-meson-python
|
|
py3-numpy-dev
|
|
py3-pybind11-dev
|
|
py3-setuptools_scm
|
|
python3-dev
|
|
qhull-dev
|
|
"
|
|
checkdepends="
|
|
font-opensans
|
|
ghostscript
|
|
inkscape
|
|
jupyter-nbformat
|
|
jupyter-nbconvert
|
|
py3-pandas
|
|
py3-pikepdf
|
|
py3-psutil
|
|
py3-pytest
|
|
py3-pytest-cov
|
|
py3-pytest-timeout
|
|
py3-pytest-xdist
|
|
py3-pytzdata
|
|
py3-sphinx
|
|
py3-xarray
|
|
"
|
|
subpackages="
|
|
$pkgname-fonts::noarch
|
|
$pkgname-data::noarch
|
|
$pkgname-qt5-pyc:qt5_pyc
|
|
$pkgname-qt5::noarch
|
|
$pkgname-qt6::noarch
|
|
$pkgname-gtk3-pyc:gtk3_pyc
|
|
$pkgname-gtk3::noarch
|
|
$pkgname-gtk4-pyc:gtk4_pyc
|
|
$pkgname-gtk4::noarch
|
|
$pkgname-tk-pyc:tk_pyc
|
|
$pkgname-tk
|
|
$pkgname-wx-pyc:wx_pyc
|
|
$pkgname-wx::noarch
|
|
$pkgname-pyc
|
|
"
|
|
|
|
source="https://github.com/matplotlib/matplotlib/archive/v$pkgver/matplotlib-v$pkgver.tar.gz
|
|
https://github.com/QuLogic/mpl-images/archive/v$pkgver-with-freetype-$_ftver/mpl-images-$pkgver-ft$_ftver.tar.gz
|
|
10-mpl-data_path.patch
|
|
20-unpin_numpy.patch
|
|
30-freetype_version_and_tolerances.patch
|
|
40-32bit_stride_windows_impl.patch
|
|
"
|
|
builddir="$srcdir/matplotlib-$pkgver"
|
|
|
|
build() {
|
|
export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
|
|
gpep517 build-wheel \
|
|
--wheel-dir .dist \
|
|
--config-json '{"setup-args": ["-Dsystem-freetype=true", "-Dsystem-qhull=true"]}' \
|
|
--output-fd 3 3>&1 >&2
|
|
}
|
|
|
|
check() {
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
python3 -m venv --clear --without-pip --system-site-packages test-env
|
|
test-env/bin/python3 -m installer .dist/*.whl
|
|
mkdir -p test-env/share/matplotlib
|
|
cp -r test-env/lib/python${python_version}/site-packages/matplotlib/mpl-data test-env/share/matplotlib/mpl-data
|
|
|
|
for _module in matplotlib mpl_toolkits
|
|
do
|
|
cp -r lib/$_module/* test-env/lib/python$python_version/site-packages/$_module
|
|
cp -r "$srcdir"/mpl-images-$pkgver-with-freetype-$_ftver/lib/$_module/* test-env/lib/python$python_version/site-packages/$_module
|
|
done
|
|
|
|
# musl locale deficiencies
|
|
local k="not test_locale_comma"
|
|
# some ests fail on loongarch64 and riscv64
|
|
case "$CARCH" in
|
|
loongarch64|riscv64)
|
|
k="$k and not test_imshow_clip and not test_contour_addlines and not test_contour_colorbar and not test_contour3d" ;;
|
|
esac
|
|
|
|
test-env/bin/python3 -m pytest -n $JOBS -v \
|
|
--pyargs matplotlib mpl_toolkits.axes_grid1 mpl_toolkits.axisartist mpl_toolkits.mplot3d \
|
|
-k "$k"
|
|
}
|
|
|
|
package() {
|
|
python3 -m installer --destdir="$pkgdir" .dist/*.whl
|
|
|
|
# Remove tests from installation
|
|
find "$pkgdir" -type d -name tests -exec rm -r {} \+
|
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
mkdir -p $pkgdir/usr/share/matplotlib/mpl-data
|
|
mv $pkgdir/usr/lib/python${python_version}/site-packages/matplotlib/mpl-data $pkgdir/usr/share/matplotlib
|
|
}
|
|
|
|
fonts() {
|
|
pkgdesc="Fonts used by $pkgname"
|
|
license="OFL-1.0 AND Bitstream-Vera AND Public-Domain"
|
|
depends=""
|
|
|
|
amove usr/share/matplotlib/mpl-data/fonts
|
|
}
|
|
|
|
data() {
|
|
pkgdesc="Data used by $pkgname"
|
|
depends="$pkgname-fonts=$pkgver-r$pkgrel"
|
|
|
|
amove usr/share/matplotlib/mpl-data
|
|
}
|
|
|
|
qt5() {
|
|
pkgdesc="Qt5 backend for $pkgname"
|
|
depends="$pkgname=$pkgver-r$pkgrel py3-cairocffi py3-qt5"
|
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/backend_qt5*.py
|
|
}
|
|
|
|
qt5_pyc() {
|
|
pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
|
|
install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
|
|
depends="$pkgname-qt5=$pkgver-r$pkgrel"
|
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/__pycache__/backend_qt5*.pyc
|
|
}
|
|
|
|
qt6() {
|
|
pkgdesc="Qt6 backend for $pkgname"
|
|
depends="$pkgname=$pkgver-r$pkgrel py3-cairocffi py3-qt6"
|
|
|
|
# This is handled by backend_qt*.py (no number), so the package exists only for
|
|
# the dependencies.
|
|
mkdir $subpkgdir
|
|
}
|
|
|
|
gtk3() {
|
|
pkgdesc="GTK3 backend for $pkgname"
|
|
depends="$pkgname=$pkgver-r$pkgrel py3-gobject3"
|
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/backend_gtk3*.py
|
|
}
|
|
|
|
gtk3_pyc() {
|
|
pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
|
|
install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
|
|
depends="$pkgname-gtk3=$pkgver-r$pkgrel"
|
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/__pycache__/backend_gtk3*.pyc
|
|
}
|
|
|
|
gtk4() {
|
|
pkgdesc="GTK4 backend for $pkgname"
|
|
depends="$pkgname=$pkgver-r$pkgrel py3-gobject3"
|
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/backend_gtk4*.py
|
|
}
|
|
|
|
gtk4_pyc() {
|
|
pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
|
|
install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
|
|
depends="$pkgname-gtk4=$pkgver-r$pkgrel"
|
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/__pycache__/backend_gtk4*.pyc
|
|
}
|
|
|
|
tk() {
|
|
pkgdesc="Tk backend for $pkgname"
|
|
depends="$pkgname=$pkgver-r$pkgrel python3-tkinter"
|
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/backend_tk*.py
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/_backend_tk.py
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/_tkagg.*
|
|
}
|
|
|
|
tk_pyc() {
|
|
pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
|
|
install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
|
|
depends="$pkgname-tk=$pkgver-r$pkgrel"
|
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/__pycache__/backend_tk*.pyc
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/__pycache__/_backend_tk*.pyc
|
|
}
|
|
|
|
wx() {
|
|
pkgdesc="WX backend for $pkgname"
|
|
depends="$pkgname=$pkgver-r$pkgrel py3-wxpython"
|
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/backend_wx*.py
|
|
}
|
|
|
|
wx_pyc() {
|
|
pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
|
|
install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
|
|
depends="$pkgname-wx=$pkgver-r$pkgrel"
|
|
|
|
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
|
amove usr/lib/python${python_version}/site-packages/matplotlib/backends/__pycache__/backend_wx*.pyc
|
|
}
|
|
|
|
sha512sums="
|
|
0c6ef375a7866a545444d32ba9f7b5104e45d7c41aff142e2d5016a593cb908b4b57f123b8f0fe8f439dd7e1a0151f647f7adde459f0930c05eda6140f2f8ec9 matplotlib-v3.9.1.tar.gz
|
|
7d7d04d410265e6f3adc95bc103f12432f5c3c2b3788ab11f2326054f1cd116ff795bd2d2999cdb4da997df597bec00bbba61acea6de5eb9d56c686aa47a7bf7 mpl-images-3.9.1-ft2.13.1.tar.gz
|
|
7d2dd5fb6456781a87a5916b84f1d2f29864cc5d793db08dff11d37255b01be913a40fb4487165be1aaec90fd6c402fd350e5e27e4b8d6131b91eb7354f16272 10-mpl-data_path.patch
|
|
064264d9217b5dca08db8693b00bfda912e92d43c78c2bc6b00e6826dec4948d116e571108979bfe827fce07180cb56a6ba18ff5c2c5f545bbc1ee8b5068c3f4 20-unpin_numpy.patch
|
|
fb601c098f8a020552322147499fa67905d100ca4c33d36d69e8e4957b70f63f8db46167775c3d22065edfb5c542796629dccccf2be51f47b853340464795972 30-freetype_version_and_tolerances.patch
|
|
515708eef6e9830487bfbfd8becb464a12228ede2917383c97d2addd0b1f0286fb83250f15eead4ae9a3bfc58ee9e31f3fe26dbdf10f519c27e29ef265138242 40-32bit_stride_windows_impl.patch
|
|
"
|