From: Federico Beffa <beffa@ieee.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] gnu packages maxima: Update to 5.34.1 and fix dependencies
Date: Fri, 26 Sep 2014 18:59:34 +0200 [thread overview]
Message-ID: <CAKrPhPMrGyr+ftRZVGAqXmxy=XA-u4WfKGO2coctO1wi4bbe9Q@mail.gmail.com> (raw)
In-Reply-To: <87eguzecq2.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 3091 bytes --]
On Thu, Sep 25, 2014 at 9:12 PM, Ludovic Courtès <ludo@gnu.org> wrote:
> Federico Beffa <beffa@ieee.org> skribis:
>
>> I've found that the doc and emacs ".el" files were not installed in
>> the right place. Also
>> I've worked out how to set the full gnuplot path in the default
>> startup configuration file.
>> Now plotting works without the user having to install gnuplot in his profile.
>
> Nice.
>
>> From ab8a0e9f8f50370b4e9e7ca63d8bef1408a05da6 Mon Sep 17 00:00:00 2001
>> From: Federico Beffa <beffa@fbengineering.ch>
>> Date: Thu, 25 Sep 2014 17:04:13 +0200
>> Subject: [PATCH] maxima: Fix default gnuplot path, doc and emacs location
>>
>> * gnu/packages/maths.scm(maxima): Configure the default gnuplot path. Make doc and
>> emacs files reachable from their expected standard location.
>
> Should be something like:
>
> * gnu/packages/maths.scm (maxima): Remove Tcl from 'inputs'. Add
> 'post-install' phase.
>
> The idea is that it’s just a “conceptual undo list”, as the GCS calls it.
>
>> + ;; 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")))
>
> Since $out/share/maxima/$version is used a lot, please change the ‘let’
> to:
>
> (let* ((gnuplot (assoc-ref inputs "gnuplot"))
> (out (assoc-ref outputs "out"))
> (datadir (string-append out "/share/maxima/" ,version)))
>
> and then use ‘datadir’.
>
OK, makes sense.
>> + (with-directory-excursion out
>> + (mkdir-p "share/emacs")
>> + (mkdir-p "share/doc")
>> + (symlink
>> + (string-append out "/share/maxima/" ,version "/emacs/")
>> + (string-append out "/share/emacs/site-lisp"))
>> + (symlink
>
> The second ‘symlink’ call should be aligned with the first one.
>
>> + (string-append out "/share/maxima/" ,version "/doc/")
>> + (string-append out "/share/doc/maxima"))
>> + (with-atomic-file-replacement
>> + (string-append out "/share/maxima/"
>> + ,version "/share/maxima-init.lisp")
>> + (lambda (in out)
>> + (begin
>
> ‘begin’ is unnecessary here.
>
>> - (license license:gpl2)))
>> + (license license:gpl2)))
>
> Whitespace change?
yes.
>
> Could you send an updated patch?
>
> Thanks in advance,
> Ludo’.
Please find attached the updated patch.
Regards,
Fede
[-- Attachment #2: 0001-maxima-Remove-Tcl-from-inputs-.-Add-post-install-pha.patch --]
[-- Type: text/x-patch, Size: 3591 bytes --]
From 9bea9402675314a9ed5e74bc23919db423795663 Mon Sep 17 00:00:00 2001
From: Federico Beffa <beffa@fbengineering.ch>
Date: Thu, 25 Sep 2014 17:04:13 +0200
Subject: [PATCH] maxima: Remove Tcl from 'inputs'. Add 'post-install' phase
* gnu/packages/maths.scm(maxima): Remove Tcl from 'inputs'. Add
'post-install' phase.
---
gnu/packages/maths.scm | 35 ++++++++++++++++++++++++++++-------
1 file changed, 28 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index c11d1ef..a46c9ef 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -850,8 +850,7 @@ to BMP, JPEG or PNG image formats.")
(inputs
`(("gcl" ,gcl)
("gnuplot" ,gnuplot) ;for plots
- ("tcl" ,tcl) ;Tcl/Tk is used by 'xmaxima'
- ("tk" ,tk)))
+ ("tk" ,tk))) ;Tcl/Tk is used by 'xmaxima'
(native-inputs
`(("texinfo" ,texinfo)
("perl" ,perl)))
@@ -866,18 +865,40 @@ to BMP, JPEG or PNG image formats.")
"/bin/wish"
(let ((v ,(package-version tk)))
(string-take v (string-index-right v #\.)))))
-
;; By default Maxima attempts to write temporary files to
;; '/tmp/nix-build-maxima-5.34.1', which doesn't exist. Work around
;; that.
#:make-flags (list "TMPDIR=/tmp")
-
#:phases (alist-cons-before
'check 'pre-check
(lambda _
(chmod "src/maxima" #o555))
- %standard-phases)))
-
+ ;; 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))))
(home-page "http://maxima.sourceforge.net")
(synopsis "Numeric and symbolic expression manipulation")
(description "Maxima is a system for the manipulation of symbolic and
@@ -889,4 +910,4 @@ point numbers")
;; version (which implicitly means gpl1+).
;; At least one file (src/maxima.asd) says "version 2."
;; GPLv2 only is therefore the smallest subset.
- (license license:gpl2)))
+ (license license:gpl2)))
--
1.7.10.4
next prev parent reply other threads:[~2014-09-26 16:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-23 16:18 [PATCH] gnu packages maxima: Update to 5.34.1 and fix dependencies Federico Beffa
2014-09-24 7:45 ` Ludovic Courtès
2014-09-25 17:01 ` Federico Beffa
2014-09-25 19:12 ` Ludovic Courtès
2014-09-26 16:59 ` Federico Beffa [this message]
2014-09-27 9:24 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAKrPhPMrGyr+ftRZVGAqXmxy=XA-u4WfKGO2coctO1wi4bbe9Q@mail.gmail.com' \
--to=beffa@ieee.org \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.