andreas pushed a commit to branch wip-sage
in repository guix.

commit 58dd98e76ec696f00960446f08c2d76ef99f5d3e
Author: Andreas Enge <[email protected]>
AuthorDate: Wed Feb 12 10:19:15 2025 +0100

    gnu: Add maxima-ecl.
    
    * gnu/packages/maths.scm (maxima-ecl): New variable.
    
    Change-Id: I71a14d064e67aa34fdd7f6eb8499dfbd1dea11b9
---
 gnu/packages/maths.scm | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 4a1637b952..1ba099415c 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020, 2023, 2024 Andreas Enge 
<[email protected]>
+;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020, 2023, 2024, 2025 Andreas 
Enge <[email protected]>
 ;;; Copyright © 2013 Nikita Karetnikov <[email protected]>
 ;;; Copyright © 2014, 2016, 2017 John Darrington <[email protected]>
 ;;; Copyright © 2014-2022 Eric Bavier <[email protected]>
@@ -5511,6 +5511,33 @@ point numbers.")
     ;; GPLv2 only is therefore the smallest subset.
     (license license:gpl2)))
 
+(define-public maxima-ecl
+  (package/inherit maxima
+    (name "maxima-ecl")
+    (inputs
+      (modify-inputs (package-inputs maxima)
+        (delete "sbcl")
+        (prepend ecl)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments maxima)
+       ((#:configure-flags flags)
+         #~(list "--enable-ecl"))
+        ((#:phases phases)
+          #~(modify-phases #$phases
+            (replace 'check
+              (lambda _
+                (invoke "sh" "-c"
+                        (string-append
+                          "./maxima-local "
+                          "--lisp=ecl "
+                          "--batch-string=\"run_testsuite();\" "
+                          "| grep -q \"No unexpected errors found\""))))))))
+    (description
+      (string-append
+        (package-description maxima)
+        "  This package variant uses ECL as the underlying Lisp
+implementation."))))
+
 (define-public wxmaxima
   (package
     (name "wxmaxima")

Reply via email to