From efd98a9c450c7783c45214d03e65ac409ae9864c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Jan 2024 12:04:23 +0100 Subject: gnu: python-poliastro: Make compatible with latest matplotlib. * gnu/packages/astronomy.scm (python-poliastro)[arguments]: Add phase 'matplotlib-compatibility; disable test_porkchop_plotting. Change-Id: Ie70673c69d4bdfa424e324d2848e9567360b03ef --- gnu/packages/astronomy.scm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 9b842621ee..4f019cb765 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2023 Iliya Tikhonenko ;;; Copyright © 2023 Andreas Enge ;;; Copyright © 2023 Simon Tournier +;;; Copyright © 2024 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -2140,9 +2141,24 @@ of astronomical sources.") " and not test_czml_custom_packet" " and not test_czml_ground_station" " and not test_czml_groundtrack" - " and not test_czml_preamble")) + " and not test_czml_preamble" + ;; This fails with "ufunc 'isfinite' not + ;; supported for the input types" + " and not test_porkchop_plotting")) #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'matplotlib-compatibility + (lambda _ + (substitute* "src/poliastro/plotting/static.py" + (("import numpy as np.*" m) + (string-append m "\ +import itertools\n")) + (("( +)self._ax = ax.*" m indent) + (string-append m indent + "\ +self.colors = itertools.cycle(plt.rcParams[\"axes.prop_cycle\"].by_key()[\"color\"])\n")) + (("color = next\\(self._ax._get_lines.prop_cycler\\)\\[\"color\"\\]") + "color = next(self.colors)")))) ;; NOTE: Tests take about 7-10 minutes to pass. (add-before 'check 'prepare-test-environment (lambda _ -- cgit v1.2.3