summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/maths.scm9
-rw-r--r--gnu/packages/patches/maxima-defsystem-mkdir.patch13
3 files changed, 19 insertions, 4 deletions
diff --git a/gnu-system.am b/gnu-system.am
index a79495480a..43ced1213b 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -490,6 +490,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/luit-posix.patch				\
   gnu/packages/patches/m4-gets-undeclared.patch			\
   gnu/packages/patches/make-impure-dirs.patch			\
+  gnu/packages/patches/maxima-defsystem-mkdir.patch		\
   gnu/packages/patches/mc-fix-ncurses-build.patch		\
   gnu/packages/patches/mcron-install.patch			\
   gnu/packages/patches/mhash-keygen-test-segfault.patch		\
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 89e0a17ab1..ca21806ced 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -922,7 +922,7 @@ to BMP, JPEG or PNG image formats.")
 (define-public maxima
   (package
     (name "maxima")
-    (version "5.34.1")
+    (version "5.36.1")
     (source
      (origin
        (method url-fetch)
@@ -930,7 +930,8 @@ to BMP, JPEG or PNG image formats.")
                            version "-source/" name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1dw9vfzldpj7lv303xbw0wpyn6ra6i2yzwlrjbcx7j0jm5n43ji0"))))
+         "0x1rk659sn3cq0n5c90848ilzr1gb1wf0072fl6jhkdq00qgh2s0"))
+       (patches (list (search-patch "maxima-defsystem-mkdir.patch")))))
     (build-system gnu-build-system)
     (inputs
      `(("gcl" ,gcl)
@@ -951,8 +952,8 @@ to BMP, JPEG or PNG image formats.")
                             (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.
+       ;; '/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
diff --git a/gnu/packages/patches/maxima-defsystem-mkdir.patch b/gnu/packages/patches/maxima-defsystem-mkdir.patch
new file mode 100644
index 0000000000..bc42e51a32
--- /dev/null
+++ b/gnu/packages/patches/maxima-defsystem-mkdir.patch
@@ -0,0 +1,13 @@
+Change 'ensure-directories-exist' to look for 'mkdir' in $PATH, not in /bin.
+
+--- maxima-5.36.1/lisp-utils/defsystem.lisp.orig	2014-11-22 16:21:30.000000000 -0500
++++ maxima-5.36.1/lisp-utils/defsystem.lisp	2015-05-25 21:53:31.223648483 -0400
+@@ -4627,7 +4627,7 @@
+         (cmd (if (member :win32 *features*)
+                  (format nil "mkdir \"~a\""
+                          (coerce (subst #\\ #\/ (coerce (namestring dir) 'list)) 'string))
+-                 (format nil "/bin/mkdir -p ~S" (namestring dir)))))
++                 (format nil "mkdir -p ~S" (namestring dir)))))
+    (unless (directory dir)
+      (lisp:system cmd))
+    ;; The second return value is supposed to be T if directories were