gnu: maxima: Ensure binutils are available at runtime.
* gnu/packages/maths.scm (maxima)[arguments]: Use modify-phases syntax. Modify 'post-install' phase.
This commit is contained in:
parent
6b2eafaaa8
commit
0093b1262b
|
@ -2097,36 +2097,43 @@ to BMP, JPEG or PNG image formats.")
|
|||
;; '/tmp/nix-build-maxima-*', which won't exist at run time.
|
||||
;; Work around that.
|
||||
#:make-flags (list "TMPDIR=/tmp")
|
||||
#:phases (alist-cons-before
|
||||
'check 'pre-check
|
||||
(lambda _
|
||||
(chmod "src/maxima" #o555))
|
||||
;; Make sure the doc and emacs files are found in the
|
||||
;; standard location. Also configure maxima to find gnuplot
|
||||
;; without having it on the PATH.
|
||||
(alist-cons-after
|
||||
'install 'post-install
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
(let* ((gnuplot (assoc-ref inputs "gnuplot"))
|
||||
(out (assoc-ref outputs "out"))
|
||||
(datadir (string-append out "/share/maxima/" ,version)))
|
||||
(with-directory-excursion out
|
||||
(mkdir-p "share/emacs")
|
||||
(mkdir-p "share/doc")
|
||||
(symlink
|
||||
(string-append datadir "/emacs/")
|
||||
(string-append out "/share/emacs/site-lisp"))
|
||||
(symlink
|
||||
(string-append datadir "/doc/")
|
||||
(string-append out "/share/doc/maxima"))
|
||||
(with-atomic-file-replacement
|
||||
(string-append datadir "/share/maxima-init.lisp")
|
||||
(lambda (in out)
|
||||
(format out "~a ~s~a~%"
|
||||
"(setf $gnuplot_command "
|
||||
(string-append gnuplot "/bin/gnuplot") ")")
|
||||
(dump-port in out))))))
|
||||
%standard-phases))))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
(chmod "src/maxima" #o555)
|
||||
#t))
|
||||
;; Make sure the doc and emacs files are found in the
|
||||
;; standard location. Also configure maxima to find gnuplot
|
||||
;; without having it on the PATH.
|
||||
(add-after 'install 'post-install
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
(let* ((gnuplot (assoc-ref inputs "gnuplot"))
|
||||
(out (assoc-ref outputs "out"))
|
||||
(datadir (string-append out "/share/maxima/" ,version))
|
||||
(binutils (string-append (assoc-ref inputs "binutils")
|
||||
"/bin")))
|
||||
(with-directory-excursion out
|
||||
(mkdir-p "share/emacs")
|
||||
(mkdir-p "share/doc")
|
||||
(symlink
|
||||
(string-append datadir "/emacs/")
|
||||
(string-append out "/share/emacs/site-lisp"))
|
||||
(symlink
|
||||
(string-append datadir "/doc/")
|
||||
(string-append out "/share/doc/maxima"))
|
||||
(with-atomic-file-replacement
|
||||
(string-append datadir "/share/maxima-init.lisp")
|
||||
(lambda (in out)
|
||||
(format out "~a ~s~a~%"
|
||||
"(setf $gnuplot_command "
|
||||
(string-append gnuplot "/bin/gnuplot") ")")
|
||||
(dump-port in out))))
|
||||
;; Ensure that Maxima will have access to the GNU binutils
|
||||
;; components at runtime.
|
||||
(wrap-program (string-append out "/bin/maxima")
|
||||
`("PATH" prefix (,binutils))))
|
||||
#t)))))
|
||||
(home-page "http://maxima.sourceforge.net")
|
||||
(synopsis "Numeric and symbolic expression manipulation")
|
||||
(description "Maxima is a system for the manipulation of symbolic and
|
||||
|
|
Loading…
Reference in New Issue