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
					
				
					 1 changed files with 37 additions and 30 deletions
				
			
		|  | @ -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 | ||||
|  |  | |||
		Reference in a new issue