From 328b4e30c681b77bba56198168aa0098acf8c442 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 12 Feb 2025 10:19:15 +0100 Subject: [PATCH] gnu: Add maxima-ecl. * gnu/packages/maths.scm (maxima-ecl): New variable. Change-Id: I71a14d064e67aa34fdd7f6eb8499dfbd1dea11b9 --- gnu/packages/maths.scm | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 8427b7f6db64d4d5d5c5a15d7392093c41b2d2a0..4092dfac46dfe0a0e2d67d8515a5ac9e836cc51d 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 +;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020, 2023, 2024, 2025 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014, 2016, 2017 John Darrington ;;; Copyright © 2014-2022 Eric Bavier @@ -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")