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 @@ (define-public gsegrafix (define-public maxima (package (name "maxima") - (version "5.34.1") + (version "5.36.1") (source (origin (method url-fetch) @@ -930,7 +930,8 @@ (define-public maxima 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 @@ (define-public maxima (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