I would like to propose the attached patch for maxima.
This updates it to version 5.34.1 which fixes an upstream bug in
plot2d and friends. Also it fixes dependencies to gnuplot and tk.

In preparing the patch I've observed the following:

The build procedure (make) generates some temporary files. When I
build the package with guix, guix extracts the program tar.gz archive
in the temporary directory

/tmp/nix-build-maxima-5.34.1.drv-0

However, maxima attempts to create temporary files in

/tmp/nix-build-maxima-5.34.1

and fails. To correct for this I've explicitly passed "TMPDIR=/tmp" to
make. Is this the expected behavior?

Regards,
Fede
From 998303ea042361727837baf38193462148c07565 Mon Sep 17 00:00:00 2001
From: Federico Beffa <be...@fbengineering.ch>
Date: Tue, 23 Sep 2014 16:20:02 +0200
Subject: [PATCH] gnu packages maxima: Update to 5.34.1 and fix dependencies

* gnu/packages/maths.scm(maxima): Update to 5.34.1 which fixes a bug in the
  plotting capabilities (plot2d, ...) present in the previous version
  (5.33.0).  Add the 'gnuplot' depencency which is required to generate plots.
  Add 'tcl' and 'tk' as dependencies: they are required by the 'xmaxima'
  command.
---
 gnu/packages/maths.scm | 33 ++++++++++++++++++++++++---------
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index af9feff..0321929 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -58,6 +58,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages tcsh)
+  #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages texlive)
   #:use-module (gnu packages xml))
@@ -836,7 +837,7 @@ to BMP, JPEG or PNG image formats.")
 (define-public maxima
   (package
     (name "maxima")
-    (version "5.33.0")
+    (version "5.34.1")
     (source
      (origin
        (method url-fetch)
@@ -844,19 +845,33 @@ to BMP, JPEG or PNG image formats.")
                            version "-source/" name "-" version ".tar.gz"))
        (sha256
         (base32
-         "13axm11xw0f3frx5b0qdidi7igkn1524fzz77s9rbpl2yy2nrbz2"))))
+         "1dw9vfzldpj7lv303xbw0wpyn6ra6i2yzwlrjbcx7j0jm5n43ji0"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:phases (alist-cons-before
-                 'check 'pre-check
-                 (lambda _ 
-                   (chmod "src/maxima" #o555))
-                 %standard-phases)))
     (inputs 
-     `(("gcl" ,gcl)))
+     `(("gcl" ,gcl)
+       ("gnuplot" ,gnuplot)
+       ("tcl" ,tcl)
+       ("tk" ,tk)))
     (native-inputs 
      `(("texinfo" ,texinfo)
        ("perl" ,perl)))
+    (arguments
+     `(#:configure-flags 
+       (list "--enable-gcl"
+	     (string-append "--with-posix-shell="
+			    (assoc-ref %build-inputs "bash")
+			    "/bin/sh")
+	     (string-append "--with-wish="
+			    (assoc-ref %build-inputs "tk")
+			    "/bin/wish"
+			    (let ((v ,(package-version tk)))
+			      (string-take v (string-index-right v #\.)))))
+       #:make-flags (list "TMPDIR=/tmp")
+       #:phases (alist-cons-before
+		 'check 'pre-check
+		 (lambda _ 
+		   (chmod "src/maxima" #o555))
+		 %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
-- 
1.8.4

Reply via email to