summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2016-02-05 03:20:44 -0500
committerLeo Famulari <leo@famulari.name>2016-02-22 00:40:25 -0500
commitf9263d9a90e457431ed895e7d20e1a45fb4f2323 (patch)
tree7d58f12233d1a12037460ce0be8dea26b18a27e4
parent548d7165396065eb7ecb1c73274f72ef47277359 (diff)
downloadguix-f9263d9a90e457431ed895e7d20e1a45fb4f2323.tar.gz
gnu: letsencrypt: Generate and install documentation.
* gnu/packages/tls.scm (letsencrypt)[arguments]: Add 'docs' phase.
[native-inputs]: Add python2-sphinx, python2-sphinx-rtd-theme,
python2-sphinx-repoze-autointerface,
python2-sphinxcontrib-programoutput, texinfo.
-rw-r--r--gnu/packages/tls.scm29
1 files changed, 26 insertions, 3 deletions
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 0f6a0b5877..ba259c9434 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -375,11 +375,34 @@ security, and applying best practice development processes.")
                 "1wwq8yvfdybf4d0gv4yfddkrg865s7rhng5xg563kks4wza1a2wp"))))
     (build-system python-build-system)
     (arguments
-     `(#:python ,python-2))
-    ;; TODO: Add optional inputs for testing building documentation.
+     `(#:python ,python-2
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (man1 (string-append out "/share/man/man1"))
+                    (man7 (string-append out "/share/man/man7"))
+                    (info (string-append out "/info")))
+               (substitute* "docs/man/letsencrypt.rst"
+                 (("letsencrypt --help all")
+                  (string-append out "/bin/letsencrypt" " --help all")))
+               (and
+                 (zero? (system* "make" "-C" "docs" "man" "info"))
+                 (install-file "docs/_build/texinfo/LetsEncrypt.info" info)
+                 (install-file "docs/_build/man/letsencrypt.1" man1)
+                 (install-file "docs/_build/man/letsencrypt.7" man7)
+                 #t)))))))
+    ;; TODO: Add optional inputs for testing.
     (native-inputs
      `(("python2-nose" ,python2-nose)
-       ("python2-mock" ,python2-mock)))
+       ("python2-mock" ,python2-mock)
+       ;; For documentation
+       ("python2-sphinx" ,python2-sphinx)
+       ("python2-sphinx-rtd-theme" ,python2-sphinx-rtd-theme)
+       ("python2-sphinx-repoze-autointerface" ,python2-sphinx-repoze-autointerface)
+       ("python2-sphinxcontrib-programoutput" ,python2-sphinxcontrib-programoutput)
+       ("texinfo" ,texinfo)))
     (propagated-inputs
      `(("python2-acme" ,python2-acme)
        ("python2-zope-interface" ,python2-zope-interface)