[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available a
From: |
Kei Kebreau |
Subject: |
[bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime. |
Date: |
Sat, 8 Jul 2017 21:16:34 -0400 |
* gnu/packages/maths.scm (maxima)[arguments]: Use modify-phases syntax.
Modify 'post-install' phase.
---
gnu/packages/maths.scm | 72 +++++++++++++++++++++++++++++---------------------
1 file changed, 42 insertions(+), 30 deletions(-)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 0b738e6a2..cfc4cafd2 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2097,36 +2097,48 @@ 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))
+ (input-path (lambda (lib path)
+ (string-append
+ (assoc-ref inputs lib) path)))
+ (binaries '("gcc" "ld-wrapper" "binutils")))
+ (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 GCC and its required
+ ;; components at runtime.
+ (wrap-program (string-append out "/bin/maxima")
+ `("PATH" prefix
+ ,(map (lambda (binary)
+ (input-path binary "/bin"))
+ binaries))))
+ #t)))))
(home-page "http://maxima.sourceforge.net")
(synopsis "Numeric and symbolic expression manipulation")
(description "Maxima is a system for the manipulation of symbolic and
--
2.13.2
- [bug#27628] Fix compilation features of GCL and Maxima, Kei Kebreau, 2017/07/08
- [bug#27628] [PATCH 1/3] gnu: gcl: Ensure gcc and binutils are available at runtime., Kei Kebreau, 2017/07/08
- [bug#27628] [PATCH 2/3] Revert "gnu: maxima: Ensure gcc is available at runtime.", Kei Kebreau, 2017/07/08
- [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime.,
Kei Kebreau <=
- [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime., Ludovic Courtès, 2017/07/12
- [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime., Ludovic Courtès, 2017/07/12
- [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime., Kei Kebreau, 2017/07/12
- [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime., Ludovic Courtès, 2017/07/17
- [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime., Kei Kebreau, 2017/07/18
- [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime., Ludovic Courtès, 2017/07/18
- [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime., Kei Kebreau, 2017/07/18
- [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime., Marius Bakke, 2017/07/18
- [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime., Kei Kebreau, 2017/07/19
- [bug#27628] [PATCH 3/3] gnu: maxima: Ensure gcc and binutils available at runtime., Kei Kebreau, 2017/07/24