[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)