summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/maths.scm37
1 files changed, 36 insertions, 1 deletions
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 8427b7f6db..4092dfac46 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,41 @@ point numbers.")
;; GPLv2 only is therefore the smallest subset.
(license license:gpl2)))
+(define-public maxima-ecl
+ (package/inherit maxima
+ (name "maxima-ecl")
+ (properties '((hidden? . #t)))
+ (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
+ (add-after 'install 'install-lib
+ (lambda _
+ (let ((lib (string-append
+ #$output "/lib/maxima/"
+ #$(package-version this-package)
+ "/binary-ecl")))
+ (install-file "src/binary-ecl/maxima.fas" lib))))
+ (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")