guix-commits
[Top][All Lists]
Advanced

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

09/10: gnu: sbcl: Generate and install documentation.


From: Federico Beffa
Subject: 09/10: gnu: sbcl: Generate and install documentation.
Date: Wed, 03 Feb 2016 09:50:37 +0000

beffa pushed a commit to branch master
in repository guix.

commit 05f5ce0c39fc69dc7b230aeceb257e6a9535b1a7
Author: Federico Beffa <address@hidden>
Date:   Sun Jan 10 10:41:23 2016 +0100

    gnu: sbcl: Generate and install documentation.
    
    * gnu/packages/lisp.scm (sbcl): Add 'doc' output.
      [arguments]: Add 'build-doc' and 'install-doc' phases.
      [native-inputs]: Add 'texlive' and 'texinfo'.
---
 gnu/packages/lisp.scm |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index ba2e303..e64fd49 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014 John Darrington <address@hidden>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <address@hidden>
 ;;; Copyright © 2015 Mark H Weaver <address@hidden>
+;;; Copyright © 2016 Federico Beffa <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -215,12 +216,15 @@ an interpreter, a compiler, a debugger, and much more.")
        (sha256
         (base32 "0ab9lw056yf6y0rjmx3iirn5n59pmssqxf00fbmpyl6qsnpaja1d"))))
     (build-system gnu-build-system)
+    (outputs '("out" "doc"))
     ;; Bootstrap with CLISP.
     (native-inputs
      `(("clisp" ,clisp)
        ("which" ,which)
        ("inetutils" ,inetutils)         ;for hostname(1)
-       ("ed" ,ed)))
+       ("ed" ,ed)
+       ("texlive" ,texlive)
+       ("texinfo" ,texinfo)))
     (arguments
      '(#:phases
        (modify-phases %standard-phases
@@ -275,7 +279,24 @@ an interpreter, a compiler, a debugger, and much more.")
                                             (assoc-ref outputs "out"))))))
          (replace 'install
            (lambda _
-             (zero? (system* "sh" "install.sh")))))
+             (zero? (system* "sh" "install.sh"))))
+         (add-after 'build 'build-doc
+           (lambda _
+             (with-directory-excursion "doc/manual"
+               (and  (zero? (system* "make" "info"))
+                     (zero? (system* "make" "dist"))))))
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc"))
+                    (old-doc-dir (string-append out "/share/doc"))
+                    (new-doc/sbcl-dir (string-append doc "/share/doc/sbcl")))
+               (rmdir (string-append old-doc-dir "/sbcl/html"))
+               (mkdir-p new-doc/sbcl-dir)
+               (copy-recursively (string-append old-doc-dir "/sbcl")
+                                 new-doc/sbcl-dir)
+               (delete-file-recursively old-doc-dir)
+               #t))))
          ;; No 'check' target, though "make.sh" (build phase) runs tests.
          #:tests? #f))
     (home-page "http://www.sbcl.org/";)



reply via email to

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