guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

26/47: gnu: python-poliastro: Make compatible with latest matplotlib.


From: guix-commits
Subject: 26/47: gnu: python-poliastro: Make compatible with latest matplotlib.
Date: Wed, 10 Jan 2024 14:52:57 -0500 (EST)

rekado pushed a commit to branch wip-python-science
in repository guix.

commit ba80952705c5681aabc3b4f8dbe2fbe61fbaee52
Author: Ricardo Wurmus <rekado@elephly.net>
AuthorDate: Tue Jan 9 12:04:23 2024 +0100

    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 da15283ef3..71b02d1bc4 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2023 Iliya Tikhonenko <tikhonenko@mpe.mpg.de>
 ;;; Copyright © 2023 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2024 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2130,9 +2131,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 _



reply via email to

[Prev in Thread] Current Thread [Next in Thread]