Files
termux-packages/packages/matplotlib/build.sh
termux-pacman-bot 9c67005bc6 bump(main/python-numpy): 2.1.1 and update revdeps
Update to numpy 2, and update reverse dependencies:

- matplotlib from 3.9.1 to 3.9.2
- python-contourpy from 1.2.1 to 1.3.0
- python-numpy from 1.26.5 to 2.1.1
- python-onnxruntime from 1.19.0 to 1.19.2
- python-scipy from 1.14.0 to 1.14.1
- python-torch from 2.1.2 to 2.4.1
- python-torchaudio from 2.0.1 to 2.4.1
- python-torchvision from 0.15.1 to `0.19.1
- Revbump: python-pyarrow, inkscape and opencv

Some of these packages does not currently build before this PR. Getting these updated and buildable is a nice step to prepare for [python 3.12](https://github.com/termux/termux-packages/pull/18078).

Fixes #21059, #21110, #21194 and #21284.

Co-authored-by: Chongyun Lee <45286352+licy183@users.noreply.github.com>
2024-10-04 19:08:43 +00:00

66 lines
2.3 KiB
Bash

TERMUX_PKG_HOMEPAGE=https://matplotlib.org/
TERMUX_PKG_DESCRIPTION="A comprehensive library for creating static, animated, and interactive visualizations in Python"
TERMUX_PKG_LICENSE="custom"
TERMUX_PKG_LICENSE_FILE="\
LICENSE/LICENSE
LICENSE/LICENSE_AMSFONTS
LICENSE/LICENSE_BAKOMA
LICENSE/LICENSE_CARLOGO
LICENSE/LICENSE_COLORBREWER
LICENSE/LICENSE_COURIERTEN
LICENSE/LICENSE_JSXTOOLS_RESIZE_OBSERVER
LICENSE/LICENSE_QT4_EDITOR
LICENSE/LICENSE_SOLARIZED
LICENSE/LICENSE_STIX
LICENSE/LICENSE_YORICK"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="3.9.2"
TERMUX_PKG_SRCURL=https://github.com/matplotlib/matplotlib/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=9c49b6683a34469e6d20864c7d5b975c4f29d7c60de1ce857980bead48769c3f
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="freetype, libc++, patchelf, ninja, python, python-contourpy, python-numpy, python-pillow, python-pip"
_NUMPY_VERSION=$(. $TERMUX_SCRIPTDIR/packages/python-numpy/build.sh; echo $TERMUX_PKG_VERSION)
TERMUX_PKG_PYTHON_COMMON_DEPS="build, 'meson-python>=0.13.1', wheel, 'numpy==$_NUMPY_VERSION', 'pybind11>=2.6.0', 'setuptools>=64', 'setuptools_scm>=7'"
TERMUX_MESON_WHEEL_CROSSFILE="$TERMUX_PKG_TMPDIR/wheel-cross-file.txt"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
--cross-file $TERMUX_MESON_WHEEL_CROSSFILE
-Dsystem-freetype=true
"
termux_step_pre_configure() {
if $TERMUX_ON_DEVICE_BUILD; then
termux_error_exit "Package '$TERMUX_PKG_NAME' is not available for on-device builds."
fi
}
termux_step_configure() {
termux_setup_meson
cp -f $TERMUX_MESON_CROSSFILE $TERMUX_MESON_WHEEL_CROSSFILE
sed -i 's|^\(\[binaries\]\)$|\1\npython = '\'$(command -v python)\''|g' \
$TERMUX_MESON_WHEEL_CROSSFILE
termux_step_configure_meson
}
termux_step_make() {
pushd $TERMUX_PKG_SRCDIR
python -m build -w -n -x --config-setting builddir=$TERMUX_PKG_BUILDDIR .
popd
}
termux_step_make_install() {
local _pyv="${TERMUX_PYTHON_VERSION/./}"
local _whl="matplotlib-$TERMUX_PKG_VERSION-cp$_pyv-cp$_pyv-linux_$TERMUX_ARCH.whl"
pip install --no-deps --prefix=$TERMUX_PREFIX --force-reinstall $TERMUX_PKG_SRCDIR/dist/$_whl
}
termux_step_create_debscripts() {
cat <<- EOF > ./postinst
#!$TERMUX_PREFIX/bin/sh
echo "Installing dependencies through pip. This may take a while..."
MATHLIB="m" pip3 install matplotlib
EOF
}