~ruther/guix-local

328b4e30c681b77bba56198168aa0098acf8c442 — Andreas Enge 1 year, 4 months ago ce4981a
gnu: Add maxima-ecl.

* gnu/packages/maths.scm (maxima-ecl): New variable.

Change-Id: I71a14d064e67aa34fdd7f6eb8499dfbd1dea11b9
1 files changed, 36 insertions(+), 1 deletions(-)

M gnu/packages/maths.scm
M gnu/packages/maths.scm => gnu/packages/maths.scm +36 -1
@@ 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")