aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2025-02-12 10:19:15 +0100
committerAndreas Enge <andreas@enge.fr>2025-02-15 21:17:46 +0100
commit328b4e30c681b77bba56198168aa0098acf8c442 (patch)
treec79053f4482cc1741471db72df6444d3950cf59e
parentce4981aa4bdeb7f774338fc2c37a5e9872075b53 (diff)
downloadguix-328b4e30c681b77bba56198168aa0098acf8c442.tar.gz
guix-328b4e30c681b77bba56198168aa0098acf8c442.zip
gnu: Add maxima-ecl.
* gnu/packages/maths.scm (maxima-ecl): New variable. Change-Id: I71a14d064e67aa34fdd7f6eb8499dfbd1dea11b9
-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 <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020, 2023, 2024, 2025 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016, 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2014-2022 Eric Bavier <bavier@posteo.net>
@@ -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")