summary refs log tree commit diff
path: root/gnu/packages/algebra.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-11-24 01:58:18 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-11-24 01:58:18 +0100
commit4d8f4a3f00268230f879a81f32524fd7c3576ad0 (patch)
tree59afedfc2fb422ef043e6624001290300ed6d800 /gnu/packages/algebra.scm
parentc491f7f8de66d0f8386ba6fd7c2da5c3c0d1b24a (diff)
parentdc4851093ce6f3bd2ac71fa189ad87cd740cb656 (diff)
downloadguix-4d8f4a3f00268230f879a81f32524fd7c3576ad0.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/algebra.scm')
-rw-r--r--gnu/packages/algebra.scm40
1 files changed, 36 insertions, 4 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index eea23bd621..8ee4bc4080 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -243,7 +243,7 @@ precision.")
 (define-public giac-xcas
   (package
     (name "giac-xcas")
-    (version "1.4.9-59")
+    (version "1.5.0-19")
     (source (origin
               (method url-fetch)
               ;; "~parisse/giac" is not used because the maintainer regularly
@@ -255,16 +255,48 @@ precision.")
                                   "source/giac_" version ".tar.gz"))
               (sha256
                (base32
-                "0dv5p5y6gkrsmz3xa7fw87rjyabwdwk09mqb09kb7gai9n9dgayk"))))
+                "0ds1zh712sr20qh0fih8jnm4nlv90andllp8n263qs7rlhblz551"))))
     (build-system gnu-build-system)
+    (outputs '("out" "doc"))            ;77MiB of documentation
     (arguments
-     `(#:phases
+     `(#:modules ((ice-9 ftw)
+                  (guix build utils)
+                  (guix build gnu-build-system))
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-bin-cp
+           ;; Some Makefiles contain hard-coded "/bin/cp".
            (lambda _
-             ;; Some Makefiles contain hard-coded "/bin/cp".
              (substitute* (find-files "doc" "^Makefile")
                (("/bin/cp") (which "cp")))
+             #t))
+         (add-after 'unpack 'disable-failing-test
+           ;; FIXME: Test failing.  Not sure why.
+           (lambda _
+             (substitute* "check/Makefile.in"
+               (("chk_fhan11") ""))
+             #t))
+         (add-after 'install 'install-doc
+           ;; Setting --docdir to "doc" output isn't sufficient as
+           ;; documentation and examples are scattered throughout the source.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc"))
+                    (docdir (string-append doc
+                                           "/share/doc/"
+                                           (string-append ,name "-" ,version))))
+               ;; For some reason, the install process moves
+               ;; "share/giac/examples" instead of "share/giac/doc" to
+               ;; "$(docdir)".  Clean up the mess and start over.
+               (delete-file-recursively (string-append doc "/share"))
+               (mkdir-p docdir)
+               (with-directory-excursion out
+                 (for-each (lambda (f)
+                             (unless (member f '("." ".."))
+                               (copy-recursively (string-append "share/giac/" f)
+                                                 (string-append docdir "/" f))))
+                           (scandir "share/giac"))
+                 (delete-file-recursively "share/giac")))
              #t)))))
     (inputs
      `(("fltk" ,fltk)