guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: gnu: giac-xcas: Add a "doc" output


From: guix-commits
Subject: 02/02: gnu: giac-xcas: Add a "doc" output
Date: Thu, 22 Nov 2018 06:41:17 -0500 (EST)

ngz pushed a commit to branch master
in repository guix.

commit af90cc45aec1aa03ce25feae403e5d7eb90a9a01
Author: Nicolas Goaziou <address@hidden>
Date:   Sun Oct 21 21:12:00 2018 +0200

    gnu: giac-xcas: Add a "doc" output
    
    * gnu/packages/algebra.scm (giac-xcas): Add "doc" output.
    [arguments]: Add phase to install documentation in the appropriate 
directory.
---
 gnu/packages/algebra.scm | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index fdae3ac..cc1a8f2 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -257,8 +257,12 @@ precision.")
                (base32
                 "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".
@@ -271,6 +275,28 @@ precision.")
            (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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]