[arch-commits] Commit in python2-matplotlib/repos/community-x86_64 (8 files)

Bruno Pagani archange at archlinux.org
Thu Jan 17 22:51:29 UTC 2019


    Date: Thursday, January 17, 2019 @ 22:51:28
  Author: archange
Revision: 423965

archrelease: copy trunk to community-x86_64

Added:
  python2-matplotlib/repos/community-x86_64/PKGBUILD
    (from rev 423964, python2-matplotlib/trunk/PKGBUILD)
  python2-matplotlib/repos/community-x86_64/python2-matplotlib-13181.diff
    (from rev 423964, python2-matplotlib/trunk/python2-matplotlib-13181.diff)
  python2-matplotlib/repos/community-x86_64/python2-matplotlib.install
    (from rev 423964, python2-matplotlib/trunk/python2-matplotlib.install)
  python2-matplotlib/repos/community-x86_64/setup.cfg
    (from rev 423964, python2-matplotlib/trunk/setup.cfg)
Deleted:
  python2-matplotlib/repos/community-x86_64/PKGBUILD
  python2-matplotlib/repos/community-x86_64/python2-matplotlib-13181.diff
  python2-matplotlib/repos/community-x86_64/python2-matplotlib.install
  python2-matplotlib/repos/community-x86_64/setup.cfg

-------------------------------+
 PKGBUILD                      |  166 ++++++------
 python2-matplotlib-13181.diff |  542 +++++++++++++++++++++++++++++++++-------
 python2-matplotlib.install    |   32 +-
 setup.cfg                     |    6 
 4 files changed, 551 insertions(+), 195 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2019-01-17 22:51:11 UTC (rev 423964)
+++ PKGBUILD	2019-01-17 22:51:28 UTC (rev 423965)
@@ -1,83 +0,0 @@
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Maintainer: Bruno Pagani <archange at archlinux.org>
-# Contributor: Stéphane Gaudreault <stephane at archlinux.org>
-# Contributor: Stefan Husmann <stefan-husmann at t-online.de>
-# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
-# Contributor: Douglas Soares de Andrade <dsa at aur.archlinux.org>
-
-pkgname=python2-matplotlib
-pkgver=2.2.3
-pkgrel=4
-pkgdesc="A python plotting library, making publication quality plots"
-arch=('x86_64')
-url="https://matplotlib.org"
-license=('custom')
-depends=('python2-numpy' 'python2-dateutil' 'python2-pyparsing' 'python2-pytz' 'libpng' 'freetype2'
-         'python2-cycler' 'python2-six' 'python2-backports.functools_lru_cache' 'python2-subprocess32' 'python2-kiwisolver')
-optdepends=('tk: Tk{Agg,Cairo} backends'
-            'python2-pyqt5: Qt5{Agg,Cairo} backends'
-            'pygtk: GTK{,Agg,Cairo} backends'
-            'python2-gobject: for GTK3{Agg,Cairo} backend'
-            'python2-wxpython3: WX{,Agg,Cairo} backend'
-            'python2-cairo: {GTK,GTK3,Qt5,Tk,WX}Cairo backends'
-            'python2-cairocffi: alternative for Cairo backends'
-            'python2-tornado: WebAgg backend'
-            'ffmpeg: for saving movies'
-            'imagemagick: for saving animated gifs'
-            'python2-pillow: for reading/saving jpeg/bmp/tiff files'
-            'ghostscript: usetex dependencies'
-            'texlive-bin: usetex dependencies')
-makedepends=('python2-setuptools'
-             'tk' 'python2-pyqt5' 'pygtk' 'python2-gobject'
-             'python2-wxpython3' 'python2-cairocffi' 'python2-tornado'
-             'python2-pillow' 'ghostscript' 'texlive-bin')
-checkdepends=('python2-pytest-xdist' 'python2-pytest-runner' 'xorg-server-xvfb'
-              'texlive-core' 'texlive-latexextra' 'inkscape' 'mencoder'
-              'ffmpeg' 'imagemagick' 'ttf-freefont' 'python2-pandas' 'python2-mock')
-install=$pkgname.install
-source=($pkgname-$pkgver.tar.gz::"https://github.com/matplotlib/matplotlib/archive/v$pkgver.tar.gz"
-        $pkgname-numpy-asscalar.patch::"https://github.com/matplotlib/matplotlib/commit/62297d167c2b7ac8305ba6a60ec0191c6e7a09af.patch"
-        $pkgname-13181.diff
-        setup.cfg)
-sha512sums=('d118f5d56e2f578031aba22933c0b3a4423a31a04f50f08cc1aa660186546d09692a9cf401bb5f24cb296f94fbfd8707460728d501ac2bd4a624dfa89e92949b'
-            'bb307885c17de71edf33dd09322aca99c2fade6dfbdf3482a7c11f2522fc40e2d41d8f51e77d2531de746906aabf3a68fa1bd8d76d48ea979c8010937713c0a9'
-            'e63cd9b7a26de901815e3cdcc6a8e8f70e07bf9eed2befe4240747d245c96a4a44cc4b2fe876198b7bf055779c735d7571db2ca3904acdb1e4ddd288b3e24d2f'
-            'f08c0b2e94599fdf2b736b8a655d862209934441d90f20ed872cfc128b8d2a6525763ab7cf64f2b3630e22a90798f4c52aa93b18087e9b48708d9bae34aada0b')
-
-prepare() {
-  cd matplotlib-$pkgver
-
-  patch -p1 -i ../$pkgname-numpy-asscalar.patch
-  patch -p1 -i ../$pkgname-13181.diff
-
-  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
-
-  cd ..
-
-  cp -a matplotlib-$pkgver{,-test}
-
-  # Configure tests (FS#48175)
-  cp setup.cfg matplotlib-$pkgver-test/
-}
-
-build() {
-  cd matplotlib-$pkgver
-  python2 setup.py build
-}
-
-check() {
-  cd matplotlib-$pkgver-test
-  xvfb-run -a -s "+extension GLX +extension RANDR +render -screen 0 1280x1024x24" \
-    python2 setup.py pytest --addopts="-n auto" || warning "Tests failed" # Different font rendering details
-}
-
-package() {
-  cd matplotlib-$pkgver
-  python2 setup.py install --root "$pkgdir" --prefix=/usr --optimize=1 --skip-build
-  # FS#41820 - unset default backend
-  sed -i 's/backend      : qt5agg/#backend      : agg/' $pkgdir/usr/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc
-  install -Dm644 doc/users/license.rst -t "$pkgdir"/usr/share/licenses/${pkgname}/
-}

Copied: python2-matplotlib/repos/community-x86_64/PKGBUILD (from rev 423964, python2-matplotlib/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2019-01-17 22:51:28 UTC (rev 423965)
@@ -0,0 +1,83 @@
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Maintainer: Bruno Pagani <archange at archlinux.org>
+# Contributor: Stéphane Gaudreault <stephane at archlinux.org>
+# Contributor: Stefan Husmann <stefan-husmann at t-online.de>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: Douglas Soares de Andrade <dsa at aur.archlinux.org>
+
+pkgname=python2-matplotlib
+pkgver=2.2.3
+pkgrel=5
+pkgdesc="A python plotting library, making publication quality plots"
+arch=('x86_64')
+url="https://matplotlib.org"
+license=('custom')
+depends=('python2-numpy' 'python2-dateutil' 'python2-pyparsing' 'python2-pytz' 'libpng' 'freetype2'
+         'python2-cycler' 'python2-six' 'python2-backports.functools_lru_cache' 'python2-subprocess32' 'python2-kiwisolver')
+optdepends=('tk: Tk{Agg,Cairo} backends'
+            'python2-pyqt5: Qt5{Agg,Cairo} backends'
+            'pygtk: GTK{,Agg,Cairo} backends'
+            'python2-gobject: for GTK3{Agg,Cairo} backend'
+            'python2-wxpython3: WX{,Agg,Cairo} backend'
+            'python2-cairo: {GTK,GTK3,Qt5,Tk,WX}Cairo backends'
+            'python2-cairocffi: alternative for Cairo backends'
+            'python2-tornado: WebAgg backend'
+            'ffmpeg: for saving movies'
+            'imagemagick: for saving animated gifs'
+            'python2-pillow: for reading/saving jpeg/bmp/tiff files'
+            'ghostscript: usetex dependencies'
+            'texlive-bin: usetex dependencies')
+makedepends=('python2-setuptools'
+             'tk' 'python2-pyqt5' 'pygtk' 'python2-gobject'
+             'python2-wxpython3' 'python2-cairocffi' 'python2-tornado'
+             'python2-pillow' 'ghostscript' 'texlive-bin')
+checkdepends=('python2-pytest-xdist' 'python2-pytest-runner' 'xorg-server-xvfb'
+              'texlive-core' 'texlive-latexextra' 'inkscape' 'mencoder'
+              'ffmpeg' 'imagemagick' 'ttf-freefont' 'python2-pandas' 'python2-mock')
+install=$pkgname.install
+source=($pkgname-$pkgver.tar.gz::"https://github.com/matplotlib/matplotlib/archive/v$pkgver.tar.gz"
+        $pkgname-numpy-asscalar.patch::"https://github.com/matplotlib/matplotlib/commit/62297d167c2b7ac8305ba6a60ec0191c6e7a09af.patch"
+        $pkgname-13181.diff
+        setup.cfg)
+sha512sums=('d118f5d56e2f578031aba22933c0b3a4423a31a04f50f08cc1aa660186546d09692a9cf401bb5f24cb296f94fbfd8707460728d501ac2bd4a624dfa89e92949b'
+            'bb307885c17de71edf33dd09322aca99c2fade6dfbdf3482a7c11f2522fc40e2d41d8f51e77d2531de746906aabf3a68fa1bd8d76d48ea979c8010937713c0a9'
+            '88d71e85f707c9becc1d77812770889759b4dd96ec5c5fce20361c0c1a3fe1bd6e04ba804fcd7ff0472249ec8099ec63716184975b3d609aed84bfdd0a8e05ad'
+            'f08c0b2e94599fdf2b736b8a655d862209934441d90f20ed872cfc128b8d2a6525763ab7cf64f2b3630e22a90798f4c52aa93b18087e9b48708d9bae34aada0b')
+
+prepare() {
+  cd matplotlib-$pkgver
+
+  patch -p1 -i ../$pkgname-numpy-asscalar.patch
+  patch -p1 -i ../$pkgname-13181.diff
+
+  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
+
+  cd ..
+
+  cp -a matplotlib-$pkgver{,-test}
+
+  # Configure tests (FS#48175)
+  cp setup.cfg matplotlib-$pkgver-test/
+}
+
+build() {
+  cd matplotlib-$pkgver
+  python2 setup.py build
+}
+
+check() {
+  cd matplotlib-$pkgver-test
+  xvfb-run -a -s "+extension GLX +extension RANDR +render -screen 0 1280x1024x24" \
+    python2 setup.py pytest --addopts="-n auto" || warning "Tests failed" # Different font rendering details
+}
+
+package() {
+  cd matplotlib-$pkgver
+  python2 setup.py install --root "$pkgdir" --prefix=/usr --optimize=1 --skip-build
+  # FS#41820 - unset default backend
+  sed -i 's/backend      : qt5agg/#backend      : agg/' $pkgdir/usr/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc
+  install -Dm644 doc/users/license.rst -t "$pkgdir"/usr/share/licenses/${pkgname}/
+}

Deleted: python2-matplotlib-13181.diff
===================================================================
--- python2-matplotlib-13181.diff	2019-01-17 22:51:11 UTC (rev 423964)
+++ python2-matplotlib-13181.diff	2019-01-17 22:51:28 UTC (rev 423965)
@@ -1,93 +0,0 @@
-diff --git a/lib/matplotlib/testing/conftest.py b/lib/matplotlib/testing/conftest.py
-index 9dc180c9600..fb306594780 100644
---- a/lib/matplotlib/testing/conftest.py
-+++ b/lib/matplotlib/testing/conftest.py
-@@ -24,19 +24,19 @@ def mpl_test_settings(request):
-     original_settings = matplotlib.rcParams.copy()
- 
-     backend = None
--    backend_marker = request.keywords.get('backend')
-+    backend_marker = request.node.get_closest_marker('backend')
-     if backend_marker is not None:
-         assert len(backend_marker.args) == 1, \
-             "Marker 'backend' must specify 1 backend."
--        backend = backend_marker.args[0]
-+        backend, = backend_marker.args
-         prev_backend = matplotlib.get_backend()
- 
-     style = '_classic_test'  # Default of cleanup and image_comparison too.
--    style_marker = request.keywords.get('style')
-+    style_marker = request.node.get_closest_marker('style')
-     if style_marker is not None:
-         assert len(style_marker.args) == 1, \
-             "Marker 'style' must specify 1 style."
--        style = style_marker.args[0]
-+        style, = style_marker.args
- 
-     matplotlib.testing.setup()
-     if backend is not None:
-@@ -64,7 +64,7 @@ def mpl_image_comparison_parameters(request, extension):
-     # pytest won't get confused.
-     # We annotate the decorated function with any parameters captured by this
-     # fixture so that they can be used by the wrapper in image_comparison.
--    baseline_images = request.keywords['baseline_images'].args[0]
-+    baseline_images, = request.node.get_closest_marker('baseline_images').args
-     if baseline_images is None:
-         # Allow baseline image list to be produced on the fly based on current
-         # parametrization.
-diff --git a/lib/matplotlib/tests/test_backend_ps.py b/lib/matplotlib/tests/test_backend_ps.py
-index 8bf6e7dde38..10d8033d4ca 100644
---- a/lib/matplotlib/tests/test_backend_ps.py
-+++ b/lib/matplotlib/tests/test_backend_ps.py
-@@ -31,13 +31,16 @@
- @pytest.mark.flaky(reruns=3)
- @pytest.mark.parametrize('format, use_log, rcParams', [
-     ('ps', False, {}),
--    needs_ghostscript(('ps', False, {'ps.usedistiller': 'ghostscript'})),
--    needs_usetex(needs_ghostscript(('ps', False, {'text.latex.unicode': True,
--                                                  'text.usetex': True}))),
-+    pytest.param('ps', False, {'ps.usedistiller': 'ghostscript'},
-+                 marks=needs_ghostscript),
-+    pytest.param('ps', False, {'text.latex.unicode': True,
-+                               'text.usetex': True},
-+                 marks=[needs_ghostscript, needs_usetex]),
-     ('eps', False, {}),
-     ('eps', True, {'ps.useafm': True}),
--    needs_usetex(needs_ghostscript(('eps', False, {'text.latex.unicode': True,
--                                                   'text.usetex': True}))),
-+    pytest.param('eps', False, {'text.latex.unicode': True,
-+                                'text.usetex': True},
-+                 marks=[needs_ghostscript, needs_usetex]),
- ], ids=[
-     'ps',
-     'ps with distiller',
-diff --git a/lib/matplotlib/tests/test_backend_svg.py b/lib/matplotlib/tests/test_backend_svg.py
-index e0cbdfa8bce..1f6bf7cc3a6 100644
---- a/lib/matplotlib/tests/test_backend_svg.py
-+++ b/lib/matplotlib/tests/test_backend_svg.py
-@@ -130,7 +130,7 @@ def _test_determinism_save(filename, usetex):
-     "filename, usetex",
-     # unique filenames to allow for parallel testing
-     [("determinism_notex.svg", False),
--     needs_usetex(("determinism_tex.svg", True))])
-+     pytest.param("determinism_tex.svg", True, marks=needs_usetex)])
- def test_determinism(filename, usetex):
-     import sys
-     from subprocess import check_output, STDOUT, CalledProcessError
-diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py
-index df7a5d08a10..8cd4585bffc 100644
---- a/lib/matplotlib/tests/test_backends_interactive.py
-+++ b/lib/matplotlib/tests/test_backends_interactive.py
-@@ -31,8 +31,10 @@ def _get_testable_interactive_backends():
-             reason = "No $DISPLAY"
-         elif any(importlib.util.find_spec(dep) is None for dep in deps):
-             reason = "Missing dependency"
--        backends.append(pytest.mark.skip(reason=reason)(backend) if reason
--                        else backend)
-+        if reason:
-+            backend = pytest.param(
-+                backend, marks=pytest.mark.skip(reason=reason))
-+        backends.append(backend)
-     return backends
- 
- 

Copied: python2-matplotlib/repos/community-x86_64/python2-matplotlib-13181.diff (from rev 423964, python2-matplotlib/trunk/python2-matplotlib-13181.diff)
===================================================================
--- python2-matplotlib-13181.diff	                        (rev 0)
+++ python2-matplotlib-13181.diff	2019-01-17 22:51:28 UTC (rev 423965)
@@ -0,0 +1,449 @@
+diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py
+index aff6cddf492..491a9b2c5d6 100644
+--- a/lib/matplotlib/backends/backend_agg.py
++++ b/lib/matplotlib/backends/backend_agg.py
+@@ -391,7 +391,7 @@ def post_processing(image, dpi):
+         self._update_methods()
+ 
+         if w > 0 and h > 0:
+-            img = np.fromstring(buffer, np.uint8)
++            img = np.frombuffer(buffer, np.uint8)
+             img, ox, oy = post_processing(img.reshape((h, w, 4)) / 255.,
+                                           self.dpi)
+             gc = self.new_gc()
+diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py
+index 2712d64291a..290341146d8 100644
+--- a/lib/matplotlib/dates.py
++++ b/lib/matplotlib/dates.py
+@@ -1369,10 +1369,9 @@ def get_locator(self, dmin, dmax):
+         else:
+             locator = MicrosecondLocator(interval, tz=self.tz)
+             if dmin.year > 20 and interval < 1000:
+-                _log.warn('Plotting microsecond time intervals is not'
+-                          ' well supported. Please see the'
+-                          ' MicrosecondLocator documentation'
+-                          ' for details.')
++                _log.warning('Plotting microsecond time intervals is not well '
++                             'supported. Please see the MicrosecondLocator '
++                             'documentation for details.')
+ 
+         locator.set_axis(self.axis)
+ 
+diff --git a/lib/matplotlib/image.py b/lib/matplotlib/image.py
+index 58a28c8f689..3bdcccf4882 100644
+--- a/lib/matplotlib/image.py
++++ b/lib/matplotlib/image.py
+@@ -1447,9 +1447,9 @@ def pil_to_array(pilImage):
+         # return MxN luminance array of uint16
+         raw = pilImage.tobytes('raw', pilImage.mode)
+         if pilImage.mode.endswith('B'):
+-            x = np.fromstring(raw, '>u2')
++            x = np.frombuffer(raw, '>u2')
+         else:
+-            x = np.fromstring(raw, '<u2')
++            x = np.frombuffer(raw, '<u2')
+         return x.reshape(pilImage.size[::-1]).astype('=u2')
+     else:  # try to convert to an rgba image
+         try:
+diff --git a/lib/matplotlib/testing/conftest.py b/lib/matplotlib/testing/conftest.py
+index 9dc180c9600..fb306594780 100644
+--- a/lib/matplotlib/testing/conftest.py
++++ b/lib/matplotlib/testing/conftest.py
+@@ -24,19 +24,19 @@ def mpl_test_settings(request):
+     original_settings = matplotlib.rcParams.copy()
+ 
+     backend = None
+-    backend_marker = request.keywords.get('backend')
++    backend_marker = request.node.get_closest_marker('backend')
+     if backend_marker is not None:
+         assert len(backend_marker.args) == 1, \
+             "Marker 'backend' must specify 1 backend."
+-        backend = backend_marker.args[0]
++        backend, = backend_marker.args
+         prev_backend = matplotlib.get_backend()
+ 
+     style = '_classic_test'  # Default of cleanup and image_comparison too.
+-    style_marker = request.keywords.get('style')
++    style_marker = request.node.get_closest_marker('style')
+     if style_marker is not None:
+         assert len(style_marker.args) == 1, \
+             "Marker 'style' must specify 1 style."
+-        style = style_marker.args[0]
++        style, = style_marker.args
+ 
+     matplotlib.testing.setup()
+     if backend is not None:
+@@ -64,7 +64,7 @@ def mpl_image_comparison_parameters(request, extension):
+     # pytest won't get confused.
+     # We annotate the decorated function with any parameters captured by this
+     # fixture so that they can be used by the wrapper in image_comparison.
+-    baseline_images = request.keywords['baseline_images'].args[0]
++    baseline_images, = request.node.get_closest_marker('baseline_images').args
+     if baseline_images is None:
+         # Allow baseline image list to be produced on the fly based on current
+         # parametrization.
+diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
+index 0ce6e625249..d008446dcbf 100644
+--- a/lib/matplotlib/testing/decorators.py
++++ b/lib/matplotlib/testing/decorators.py
+@@ -223,15 +223,25 @@ def _xfail_if_format_is_uncomparable(extension):
+ 
+ def _mark_xfail_if_format_is_uncomparable(extension):
+     if isinstance(extension, six.string_types):
+-        will_fail = extension not in comparable_formats()
++        name = extension
++        marks = []
++    elif isinstance(extension, tuple):
++        # Extension might be a pytest ParameterSet instead of a plain string.
++        # Unfortunately, this type is not exposed, so since it's a namedtuple,
++        # check for a tuple instead.
++        name = extension.values[0]
++        marks = list(extension.marks)
+     else:
+         # Extension might be a pytest marker instead of a plain string.
+-        will_fail = extension.args[0] not in comparable_formats()
+-    if will_fail:
+-        fail_msg = 'Cannot compare %s files on this system' % extension
++        name = extension.args[0]
++        marks = [extension.mark]
++
++    if name not in comparable_formats():
++        fail_msg = 'Cannot compare %s files on this system' % (name, )
+         import pytest
+-        return pytest.mark.xfail(extension, reason=fail_msg, strict=False,
+-                                 raises=ImageComparisonFailure)
++        marks += [pytest.mark.xfail(reason=fail_msg, strict=False,
++                                    raises=ImageComparisonFailure)]
++        return pytest.param(name, marks=marks)
+     else:
+         return extension
+ 
+diff --git a/lib/matplotlib/tests/test_backend_pdf.py b/lib/matplotlib/tests/test_backend_pdf.py
+index 13fa0374ec7..c028eed8f2e 100644
+--- a/lib/matplotlib/tests/test_backend_pdf.py
++++ b/lib/matplotlib/tests/test_backend_pdf.py
+@@ -8,6 +8,7 @@
+ import os
+ import sys
+ import tempfile
++import warnings
+ 
+ import numpy as np
+ import pytest
+@@ -20,9 +21,11 @@
+                                             _determinism_check)
+ 
+ 
+-needs_usetex = pytest.mark.xfail(
+-    not checkdep_usetex(True),
+-    reason="This test needs a TeX installation")
++with warnings.catch_warnings():
++    warnings.simplefilter('ignore')
++    needs_usetex = pytest.mark.skipif(
++        not checkdep_usetex(True),
++        reason="This test needs a TeX installation")
+ 
+ 
+ @image_comparison(baseline_images=['pdf_use14corefonts'],
+diff --git a/lib/matplotlib/tests/test_backend_ps.py b/lib/matplotlib/tests/test_backend_ps.py
+index 8bf6e7dde38..46cb355c986 100644
+--- a/lib/matplotlib/tests/test_backend_ps.py
++++ b/lib/matplotlib/tests/test_backend_ps.py
+@@ -4,6 +4,7 @@
+ 
+ import io
+ import re
++import warnings
+ 
+ import numpy as np
+ import pytest
+@@ -17,27 +18,30 @@
+                                             _determinism_check)
+ 
+ 
+-needs_ghostscript = pytest.mark.xfail(
+-    matplotlib.checkdep_ghostscript()[0] is None,
+-    reason="This test needs a ghostscript installation")
+-
+-
+-needs_usetex = pytest.mark.xfail(
+-    not matplotlib.checkdep_usetex(True),
+-    reason="This test needs a TeX installation")
++with warnings.catch_warnings():
++    warnings.simplefilter('ignore')
++    needs_ghostscript = pytest.mark.skipif(
++        matplotlib.checkdep_ghostscript()[0] is None,
++        reason="This test needs a ghostscript installation")
++    needs_usetex = pytest.mark.skipif(
++        not matplotlib.checkdep_usetex(True),
++        reason="This test needs a TeX installation")
+ 
+ 
+ # This tests tends to hit a TeX cache lock on AppVeyor.
+ @pytest.mark.flaky(reruns=3)
+ @pytest.mark.parametrize('format, use_log, rcParams', [
+     ('ps', False, {}),
+-    needs_ghostscript(('ps', False, {'ps.usedistiller': 'ghostscript'})),
+-    needs_usetex(needs_ghostscript(('ps', False, {'text.latex.unicode': True,
+-                                                  'text.usetex': True}))),
++    pytest.param('ps', False, {'ps.usedistiller': 'ghostscript'},
++                 marks=needs_ghostscript),
++    pytest.param('ps', False, {'text.latex.unicode': True,
++                               'text.usetex': True},
++                 marks=[needs_ghostscript, needs_usetex]),
+     ('eps', False, {}),
+     ('eps', True, {'ps.useafm': True}),
+-    needs_usetex(needs_ghostscript(('eps', False, {'text.latex.unicode': True,
+-                                                   'text.usetex': True}))),
++    pytest.param('eps', False, {'text.latex.unicode': True,
++                                'text.usetex': True},
++                 marks=[needs_ghostscript, needs_usetex]),
+ ], ids=[
+     'ps',
+     'ps with distiller',
+diff --git a/lib/matplotlib/tests/test_backend_qt4.py b/lib/matplotlib/tests/test_backend_qt4.py
+index a621329772e..ede4bca9078 100644
+--- a/lib/matplotlib/tests/test_backend_qt4.py
++++ b/lib/matplotlib/tests/test_backend_qt4.py
+@@ -29,7 +29,7 @@
+     py_qt_ver = QtCore.__version_info__[0]
+ 
+ if py_qt_ver != 4:
+-    pytestmark = pytest.mark.xfail(reason='Qt4 is not available')
++    pytestmark = pytest.mark.skipif(reason='Qt4 is not available')
+ 
+ 
+ @pytest.mark.backend('Qt4Agg')
+diff --git a/lib/matplotlib/tests/test_backend_svg.py b/lib/matplotlib/tests/test_backend_svg.py
+index e0cbdfa8bce..da93e2d3880 100644
+--- a/lib/matplotlib/tests/test_backend_svg.py
++++ b/lib/matplotlib/tests/test_backend_svg.py
+@@ -6,6 +6,7 @@
+ from io import BytesIO
+ import os
+ import tempfile
++import warnings
+ import xml.parsers.expat
+ 
+ import pytest
+@@ -16,9 +17,11 @@
+ from matplotlib import dviread
+ 
+ 
+-needs_usetex = pytest.mark.xfail(
+-    not matplotlib.checkdep_usetex(True),
+-    reason="This test needs a TeX installation")
++with warnings.catch_warnings():
++    warnings.simplefilter('ignore')
++    needs_usetex = pytest.mark.skipif(
++        not matplotlib.checkdep_usetex(True),
++        reason="This test needs a TeX installation")
+ 
+ 
+ def test_visibility():
+@@ -130,7 +133,7 @@ def _test_determinism_save(filename, usetex):
+     "filename, usetex",
+     # unique filenames to allow for parallel testing
+     [("determinism_notex.svg", False),
+-     needs_usetex(("determinism_tex.svg", True))])
++     pytest.param("determinism_tex.svg", True, marks=needs_usetex)])
+ def test_determinism(filename, usetex):
+     import sys
+     from subprocess import check_output, STDOUT, CalledProcessError
+diff --git a/lib/matplotlib/tests/test_backends_interactive.py b/lib/matplotlib/tests/test_backends_interactive.py
+index df7a5d08a10..8cd4585bffc 100644
+--- a/lib/matplotlib/tests/test_backends_interactive.py
++++ b/lib/matplotlib/tests/test_backends_interactive.py
+@@ -31,8 +31,10 @@ def _get_testable_interactive_backends():
+             reason = "No $DISPLAY"
+         elif any(importlib.util.find_spec(dep) is None for dep in deps):
+             reason = "Missing dependency"
+-        backends.append(pytest.mark.skip(reason=reason)(backend) if reason
+-                        else backend)
++        if reason:
++            backend = pytest.param(
++                backend, marks=pytest.mark.skip(reason=reason))
++        backends.append(backend)
+     return backends
+ 
+ 
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index e6da25789f0..c8a23347f65 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -23,14 +23,6 @@
+ import pytest
+ 
+ 
+-try:
+-    from PIL import Image
+-    HAS_PIL = True
+-except ImportError:
+-    HAS_PIL = False
+-needs_pillow = pytest.mark.xfail(not HAS_PIL, reason='Test requires Pillow')
+-
+-
+ @image_comparison(baseline_images=['image_interps'], style='mpl20')
+ def test_image_interps():
+     'make the basic nearest, bilinear and bicubic interps'
+@@ -113,8 +105,8 @@ def test_image_python_io():
+     plt.imread(buffer)
+ 
+ 
+- at needs_pillow
+ def test_imread_pil_uint16():
++    pytest.importorskip("PIL")
+     img = plt.imread(os.path.join(os.path.dirname(__file__),
+                      'baseline_images', 'test_image', 'uint16.tif'))
+     assert (img.dtype == np.uint16)
+@@ -122,8 +114,8 @@ def test_imread_pil_uint16():
+ 
+ 
+ @pytest.mark.skipif(sys.version_info < (3, 6), reason="requires Python 3.6+")
+- at needs_pillow
+ def test_imread_fspath():
++    pytest.importorskip("PIL")
+     from pathlib import Path
+     img = plt.imread(
+         Path(__file__).parent / 'baseline_images/test_image/uint16.tif')
+@@ -497,8 +489,8 @@ def test_nonuniformimage_setnorm():
+     im.set_norm(plt.Normalize())
+ 
+ 
+- at needs_pillow
+ def test_jpeg_2d():
++    Image = pytest.importorskip('PIL.Image')
+     # smoke test that mode-L pillow images work.
+     imd = np.ones((10, 10), dtype='uint8')
+     for i in range(10):
+@@ -509,8 +501,9 @@ def test_jpeg_2d():
+     ax.imshow(im)
+ 
+ 
+- at needs_pillow
+ def test_jpeg_alpha():
++    Image = pytest.importorskip('PIL.Image')
++
+     plt.figure(figsize=(1, 1), dpi=300)
+     # Create an image that is all black, with a gradient from 0-1 in
+     # the alpha channel from left to right.
+diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
+index cdc1093e141..af6701a0f1d 100644
+--- a/lib/matplotlib/tests/test_mathtext.py
++++ b/lib/matplotlib/tests/test_mathtext.py
+@@ -271,7 +271,7 @@ def test_single_minus_sign():
+ 
+     buff = io.BytesIO()
+     plt.savefig(buff, format="rgba", dpi=1000)
+-    array = np.fromstring(buff.getvalue(), dtype=np.uint8)
++    array = np.frombuffer(buff.getvalue(), dtype=np.uint8)
+ 
+     # If this fails, it would be all white
+     assert not np.all(array == 0xff)
+diff --git a/lib/matplotlib/tests/test_simplification.py b/lib/matplotlib/tests/test_simplification.py
+index fca140877bd..1b3ccb3f019 100644
+--- a/lib/matplotlib/tests/test_simplification.py
++++ b/lib/matplotlib/tests/test_simplification.py
+@@ -273,7 +273,7 @@ def test_start_with_moveto():
+         # Python 2 case
+         decodebytes = base64.decodestring
+ 
+-    verts = np.fromstring(decodebytes(data), dtype='<i4')
++    verts = np.frombuffer(decodebytes(data), dtype='<i4')
+     verts = verts.reshape((len(verts) // 2, 2))
+     path = Path(verts)
+     segs = path.iter_segments(transforms.IdentityTransform(),
+diff --git a/lib/matplotlib/tests/test_text.py b/lib/matplotlib/tests/test_text.py
+index 7bc878accc9..e438766b703 100644
+--- a/lib/matplotlib/tests/test_text.py
++++ b/lib/matplotlib/tests/test_text.py
+@@ -14,9 +14,11 @@
+ from matplotlib.testing.decorators import image_comparison
+ 
+ 
+-needs_usetex = pytest.mark.xfail(
+-    not matplotlib.checkdep_usetex(True),
+-    reason="This test needs a TeX installation")
++with warnings.catch_warnings():
++    warnings.simplefilter('ignore')
++    needs_usetex = pytest.mark.skipif(
++        not matplotlib.checkdep_usetex(True),
++        reason="This test needs a TeX installation")
+ 
+ 
+ @image_comparison(baseline_images=['font_styles'])
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 5d6a939e8a1..e3b1c1f6ce3 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -1,4 +1,5 @@
+ from __future__ import absolute_import, division, print_function
++import warnings
+ 
+ import pytest
+ 
+@@ -7,8 +8,14 @@
+ import matplotlib.pyplot as plt
+ 
+ 
+- at pytest.mark.skipif(not matplotlib.checkdep_usetex(True),
+-                    reason='Missing TeX or Ghostscript or dvipng')
++with warnings.catch_warnings():
++    warnings.simplefilter('ignore')
++    needs_usetex = pytest.mark.skipif(
++        not matplotlib.checkdep_usetex(True),
++        reason='Missing TeX of Ghostscript or dvipng')
++
++
++ at needs_usetex
+ @image_comparison(baseline_images=['test_usetex'],
+                   extensions=['pdf', 'png'],
+                   tol=0.3)
+diff --git a/lib/matplotlib/tri/triinterpolate.py b/lib/matplotlib/tri/triinterpolate.py
+index e0c2047489a..f3c6deb0c97 100644
+--- a/lib/matplotlib/tri/triinterpolate.py
++++ b/lib/matplotlib/tri/triinterpolate.py
+@@ -581,9 +581,9 @@ def _compute_tri_eccentricities(tris_pts):
+               The so-called eccentricity parameters [1] needed for
+               HCT triangular element.
+         """
+-        a = np.expand_dims(tris_pts[:, 2, :]-tris_pts[:, 1, :], axis=2)
+-        b = np.expand_dims(tris_pts[:, 0, :]-tris_pts[:, 2, :], axis=2)
+-        c = np.expand_dims(tris_pts[:, 1, :]-tris_pts[:, 0, :], axis=2)
++        a = np.expand_dims(tris_pts[:, 2, :] - tris_pts[:, 1, :], axis=2)
++        b = np.expand_dims(tris_pts[:, 0, :] - tris_pts[:, 2, :], axis=2)
++        c = np.expand_dims(tris_pts[:, 1, :] - tris_pts[:, 0, :], axis=2)
+         # Do not use np.squeeze, this is dangerous if only one triangle
+         # in the triangulation...
+         dot_a = _prod_vectorized(_transpose_vectorized(a), a)[:, 0, 0]
+@@ -1071,9 +1071,9 @@ def get_dof_vec(tri_z, tri_dz, J):
+         J1 = _prod_vectorized(_ReducedHCT_Element.J0_to_J1, J)
+         J2 = _prod_vectorized(_ReducedHCT_Element.J0_to_J2, J)
+ 
+-        col0 = _prod_vectorized(J, np.expand_dims(tri_dz[:, 0, :], axis=3))
+-        col1 = _prod_vectorized(J1, np.expand_dims(tri_dz[:, 1, :], axis=3))
+-        col2 = _prod_vectorized(J2, np.expand_dims(tri_dz[:, 2, :], axis=3))
++        col0 = _prod_vectorized(J, np.expand_dims(tri_dz[:, 0, :], axis=2))
++        col1 = _prod_vectorized(J1, np.expand_dims(tri_dz[:, 1, :], axis=2))
++        col2 = _prod_vectorized(J2, np.expand_dims(tri_dz[:, 2, :], axis=2))
+ 
+         dfdksi = _to_matrix_vectorized([
+             [col0[:, 0, 0], col1[:, 0, 0], col2[:, 0, 0]],
+diff --git a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
+index 0a506db92ad..d6e57b9b4e6 100644
+--- a/lib/mpl_toolkits/tests/test_mplot3d.py
++++ b/lib/mpl_toolkits/tests/test_mplot3d.py
+@@ -125,9 +125,10 @@ def test_lines3d():
+ 
+ 
+ # Reason for flakiness of SVG test is still unknown.
+- at image_comparison(baseline_images=['mixedsubplot'], remove_text=True,
+-                  extensions=['png', 'pdf',
+-                              pytest.mark.xfail('svg', strict=False)])
++ at image_comparison(
++    baseline_images=['mixedsubplot'], remove_text=True,
++    extensions=['png', 'pdf',
++                pytest.param('svg', marks=pytest.mark.xfail(strict=False))])
+ def test_mixedsubplots():
+     def f(t):
+         s1 = np.cos(2*np.pi*t)

Deleted: python2-matplotlib.install
===================================================================
--- python2-matplotlib.install	2019-01-17 22:51:11 UTC (rev 423964)
+++ python2-matplotlib.install	2019-01-17 22:51:28 UTC (rev 423965)
@@ -1,16 +0,0 @@
-post_install() {
-    cat << EOF
-
-Starting with python2-matplotlib 2.2.3-3, the Python 2.7 version of matplotlib
-now defaults to 'Agg' backend. This is a rendering only backend with no GUI.
-If you want to use a GUI backend, install the required optdepends and set the
-backend value in your matplotlibrc.
-
-EOF
-}
-
-post_upgrade() {
-    if [ $(vercmp $2 2.2.3-3) -lt 0 ] ; then
-        post_install
-    fi
-}

Copied: python2-matplotlib/repos/community-x86_64/python2-matplotlib.install (from rev 423964, python2-matplotlib/trunk/python2-matplotlib.install)
===================================================================
--- python2-matplotlib.install	                        (rev 0)
+++ python2-matplotlib.install	2019-01-17 22:51:28 UTC (rev 423965)
@@ -0,0 +1,16 @@
+post_install() {
+    cat << EOF
+
+Starting with python2-matplotlib 2.2.3-3, the Python 2.7 version of matplotlib
+now defaults to 'Agg' backend. This is a rendering only backend with no GUI.
+If you want to use a GUI backend, install the required optdepends and set the
+backend value in your matplotlibrc.
+
+EOF
+}
+
+post_upgrade() {
+    if [ $(vercmp $2 2.2.3-3) -lt 0 ] ; then
+        post_install
+    fi
+}

Deleted: setup.cfg
===================================================================
--- setup.cfg	2019-01-17 22:51:11 UTC (rev 423964)
+++ setup.cfg	2019-01-17 22:51:28 UTC (rev 423965)
@@ -1,3 +0,0 @@
-[packages]
-tests = True
-toolkits_tests = True

Copied: python2-matplotlib/repos/community-x86_64/setup.cfg (from rev 423964, python2-matplotlib/trunk/setup.cfg)
===================================================================
--- setup.cfg	                        (rev 0)
+++ setup.cfg	2019-01-17 22:51:28 UTC (rev 423965)
@@ -0,0 +1,3 @@
+[packages]
+tests = True
+toolkits_tests = True



More information about the arch-commits mailing list