PKGBUILDs/community/python-matplotlib/PKGBUILD
2018-01-21 21:38:59 +00:00

124 lines
5.4 KiB
Bash

# $Id$
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - replace make/optdepends on python{,2}-cairocffi with python{,2}-cairo (cffi has haskell dep)
pkgbase=python-matplotlib
pkgname=('python-matplotlib' 'python2-matplotlib')
pkgver=2.1.2
pkgrel=1
pkgdesc="A python plotting library, making publication quality plots"
arch=('x86_64')
url='http://matplotlib.org'
license=('custom')
checkdepends=('python-pytest-xdist' 'python2-pytest-xdist' 'python-pytest-runner'
'python2-pytest-runner' 'python2-mock' 'xorg-server-xvfb' 'texlive-core'
'texlive-latexextra' 'imagemagick' 'ffmpeg' 'mencoder' 'inkscape' 'python-pandas'
'python2-pandas' 'ttf-freefont')
makedepends=('python2-pytz' 'python2-numpy' 'python2-pyqt4' 'python-pytz' 'python-numpy'
'python-pyqt4' 'tk' 'python-cairo' 'python2-cairo' 'python-dateutil'
'python2-dateutil' 'python-gobject' 'python2-gobject' 'python-pyparsing'
'python2-pyparsing' 'pygtk' 'python-six' 'ghostscript' 'texlive-bin'
'python-tornado' 'python2-tornado' 'gtk3' 'wxpython' 'python-pyqt5' 'python2-pyqt5'
'libxkbcommon-x11' 'python-pillow' 'python2-pillow' 'python-setuptools'
'python2-setuptools' 'python-cycler' 'python2-cycler'
'python2-backports.functools_lru_cache')
source=("$pkgbase-$pkgver.tar.gz::https://github.com/matplotlib/matplotlib/archive/v$pkgver.tar.gz"
setup.cfg)
sha512sums=('fd93901b12a7f47cdc36d38d18de43b0cc8623dcd5597cfc1177e63cf90b0c87f718135176e2c077cd1316566a394e09e8e8e9db2ce128ee7f03021cac45543e'
'f08c0b2e94599fdf2b736b8a655d862209934441d90f20ed872cfc128b8d2a6525763ab7cf64f2b3630e22a90798f4c52aa93b18087e9b48708d9bae34aada0b')
prepare() {
sed -i '/Subprocess32/d' matplotlib-$pkgver/setup.py
cp -a "$srcdir"/matplotlib-$pkgver{,-py2}
cd "$srcdir"/matplotlib-$pkgver
for file in $(find . -name '*.py' -print); do
sed -i -e "s|^#!.*/usr/bin/python|#!/usr/bin/python3|" \
-e "s|^#!.*/usr/bin/env *python|#!/usr/bin/env python3|" $file
done
cd "$srcdir"/matplotlib-$pkgver-py2
for file in $(find . -name '*.py' -print); do
sed -i -e "s|^#!.*/usr/bin/python|#!/usr/bin/python2|" \
-e "s|^#!.*/usr/bin/env *python|#!/usr/bin/env python2|" $file
done
cp -a "$srcdir"/matplotlib-$pkgver{,-test}
cp -a "$srcdir"/matplotlib-$pkgver-py2{,-test}
# Configure tests (FS#48175)
cp "$srcdir/setup.cfg" "$srcdir"/matplotlib-$pkgver-test/
cp "$srcdir/setup.cfg" "$srcdir"/matplotlib-$pkgver-py2-test/
}
build() {
# this seems to need to be present or gtk/gdk dies
# and hangs the build checking if gtk3cairo is installed
export XDG_RUNTIME_DIR=/tmp
cd "$srcdir"/matplotlib-$pkgver
python3 setup.py build
cd "$srcdir"/matplotlib-$pkgver-py2
python2 setup.py build
}
check() {
# Different font rendering details
cd "$srcdir"/matplotlib-$pkgver-test
xvfb-run -a -s "+extension GLX +extension RANDR +render -screen 0 1280x1024x24" \
python setup.py pytest --addopts="-n auto" || warning "Tests failed"
cd "$srcdir"/matplotlib-$pkgver-py2-test
xvfb-run -a -s "+extension GLX +extension RANDR +render -screen 0 1280x1024x24" \
python2 setup.py pytest --addopts="-n auto" || warning "Tests failed"
}
package_python-matplotlib() {
depends=('python-pytz' 'python-numpy' 'python-pyqt5' 'python-dateutil' 'python-pyparsing'
'python-cycler' 'libxkbcommon-x11')
optdepends=('python-gobject: for GTK3Agg/GTK3Cairo backend'
'python-cairo: for GTK3Agg/GTK3Cairo backend'
'python-pyqt4: for Qt4Agg backend'
'tk: used by the TkAgg backend'
'ghostscript: usetex dependencies'
'texlive-bin: usetex dependencies'
'python-tornado: for webagg backend'
'python-pillow: for reading/saving .jpg/bmp/tiff files')
cd matplotlib-$pkgver
python3 setup.py install -O1 --skip-build --root "$pkgdir" --prefix=/usr
install -dm755 "$pkgdir"/usr/share/licenses/python-matplotlib
install -m 644 doc/users/license.rst "$pkgdir"/usr/share/licenses/python-matplotlib
}
package_python2-matplotlib() {
depends=('python2-pytz' 'python2-numpy' 'python2-pyqt5' 'python2-dateutil' 'python2-pyparsing'
'python2-cycler' 'libxkbcommon-x11' 'python2-backports.functools_lru_cache')
optdepends=('pygtk: for GTK/GTKAgg/GTKCairo backend'
'python2-cairo: for GTKCairo/GTK3Cairo backend'
'python2-pyqt4: for Qt4Agg backend'
'tk: used by the TkAgg backend'
'ghostscript: usetex dependencies'
'texlive-bin: usetex dependencies'
'python2-tornado: for webagg backend'
'python2-gobject: for GTK3Agg/GTK3Cairo backend'
'wxpython: for WX/WXAgg backend'
'python2-pillow: for reading/saving .jpg/bmp/tiff files')
cd matplotlib-$pkgver-py2
python2 setup.py install -O1 --skip-build --root "$pkgdir" --prefix=/usr
install -dm755 "$pkgdir"/usr/share/licenses/python2-matplotlib
install -m 644 doc/users/license.rst "$pkgdir"/usr/share/licenses/python2-matplotlib
}