# $Id$ # Maintainer: Felix Yan # Contributor: Stéphane Gaudreault # Contributor: Stefan Husmann # Contributor: Angel 'angvp' Velasquez # Contributor: Douglas Soares de Andrade # ALARM: Kevin Mihelich # - 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 }