[bug#36605,2/2] gnu: Build documentation for gunicorn and gunicorn-python2.
diff mbox series

Message ID 20190711202644.32014-9-h.goebel@crazy-compilers.com
State New
Headers show
Series
  • Untitled series #1393
Related show

Commit Message

Hartmut Goebel July 11, 2019, 8:26 p.m. UTC
* gnu/packages/web.scm (gunicorn): Add build and install documentation
  (html, info, examples).
---
 gnu/packages/web.scm | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

Patch
diff mbox series

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 3841c6b..e04cce0 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3648,6 +3648,7 @@  and similar services.")
         (base32
          "065n5z91607q4l8wncqkz297cdcb60cz8wnyxy88wk4as4b6jgw1"))))
     (build-system python-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -3658,12 +3659,36 @@  and similar services.")
            ; list.
            (lambda _
              (substitute* "requirements_test.txt"
-               ((".*") "")))))))
+               ((".*") ""))))
+         (add-after 'build 'build-doc
+           (lambda _
+             (zero? (system* "make" "-C" "docs" "PAPER=a4"
+                             "html" "info"))
+             (delete-file "docs/build/texinfo/Makefile")
+             (delete-file "docs/build/texinfo/Gunicorn.texi")))
+        (add-after 'install 'install-doc
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let* ((doc (string-append (assoc-ref outputs "doc")
+                                       "/share/doc/" ,name "-" ,version))
+                   (html (string-append doc "/html"))
+                   (info (string-append doc "/info"))
+                   (examples (string-append doc "/examples")))
+              (mkdir-p html)
+              (mkdir-p info)
+              (mkdir-p examples)
+              (copy-recursively "docs/build/html" html)
+              (copy-recursively "docs/build/texinfo" info)
+              (copy-recursively "examples" examples)
+              (for-each (lambda (file)
+                          (copy-file file (string-append doc "/" file)))
+                        '("README.rst" "NOTICE" "LICENSE" "THANKS"))))))))
     (native-inputs
      `(("python-setuptools" ,python-setuptools)
        ; optional test-requirement pytest-cov used only when running
        ; setup.y with `test --cov`
-       ("python-pytest" ,python-pytest)))
+       ("python-pytest" ,python-pytest)
+       ("python-sphinx" ,python-sphinx)
+       ("texinfo" ,texinfo)))
     (home-page "http://gunicorn.org/")
     (synopsis "Python WSGI HTTP Server for UNIX")
     (description "Gunicorn ‘Green Unicorn’ is a Python WSGI HTTP