Merge branch 'master' into staging
[jackhill/guix/guix.git] / gnu / packages / sphinx.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 David Thompson <davet@gnu.org>
3 ;;; Copyright © 2015, 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
4 ;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
5 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
6 ;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
7 ;;; Copyright © 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
8 ;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
9 ;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
10 ;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
11 ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
12 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
13 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
14 ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
15 ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
16 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
17 ;;;
18 ;;; This file is part of GNU Guix.
19 ;;;
20 ;;; GNU Guix is free software; you can redistribute it and/or modify it
21 ;;; under the terms of the GNU General Public License as published by
22 ;;; the Free Software Foundation; either version 3 of the License, or (at
23 ;;; your option) any later version.
24 ;;;
25 ;;; GNU Guix is distributed in the hope that it will be useful, but
26 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
27 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 ;;; GNU General Public License for more details.
29 ;;;
30 ;;; You should have received a copy of the GNU General Public License
31 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
32
33 (define-module (gnu packages sphinx)
34 #:use-module (guix packages)
35 #:use-module (guix download)
36 #:use-module (guix git-download)
37 #:use-module (guix utils)
38 #:use-module (guix build-system python)
39 #:use-module ((guix licenses) #:prefix license:)
40 #:use-module (gnu packages)
41 #:use-module (gnu packages check)
42 #:use-module (gnu packages graphviz)
43 #:use-module (gnu packages image)
44 #:use-module (gnu packages imagemagick)
45 #:use-module (gnu packages python-web)
46 #:use-module (gnu packages python-xyz)
47 #:use-module (gnu packages time))
48
49 (define-public python-sphinx
50 (package
51 (name "python-sphinx")
52 (version "3.3.1")
53 (source
54 (origin
55 (method url-fetch)
56 (uri (pypi-uri "Sphinx" version))
57 (sha256
58 (base32
59 "0023vc2i29pjxmvdqbz1wdbi7gbj56y1br1b2z8h8wa44li5k38y"))))
60 (build-system python-build-system)
61 (arguments
62 `(#:phases
63 (modify-phases %standard-phases
64 (replace 'check
65 (lambda _
66 ;; Requires Internet access.
67 (delete-file "tests/test_build_linkcheck.py")
68 (substitute* "tests/test_build_latex.py"
69 (("@pytest.mark.sphinx\\('latex', testroot='images'\\)")
70 "@pytest.mark.skip()"))
71 (invoke "make" "test"))))))
72 (propagated-inputs
73 `(("python-babel" ,python-babel)
74 ("python-docutils" ,python-docutils)
75 ("python-jinja2" ,python-jinja2)
76 ("python-imagesize" ,python-imagesize)
77 ("python-packaging" ,python-packaging)
78 ("python-pygments" ,python-pygments)
79 ("python-requests" ,python-requests)
80 ("python-snowballstemmer" ,python-snowballstemmer)
81 ("python-sphinx-alabaster-theme"
82 ,python-sphinx-alabaster-theme)
83 ("python-sphinxcontrib-applehelp" ,python-sphinxcontrib-applehelp)
84 ("python-sphinxcontrib-devhelp" ,python-sphinxcontrib-devhelp)
85 ("python-sphinxcontrib-htmlhelp" ,python-sphinxcontrib-htmlhelp)
86 ("python-sphinxcontrib-jsmath" ,python-sphinxcontrib-jsmath)
87 ("python-sphinxcontrib-qthelp" ,python-sphinxcontrib-qthelp)
88 ("python-sphinxcontrib-serializinghtml"
89 ,python-sphinxcontrib-serializinghtml)))
90 (native-inputs
91 `(("graphviz" ,graphviz)
92 ("imagemagick" ,imagemagick) ;for "convert"
93 ("python-html5lib" ,python-html5lib)
94 ("python-mock" ,python-mock)
95 ("python-nose" ,python-nose)
96 ("python-pytest" ,python-pytest)))
97 (home-page "https://www.sphinx-doc.org")
98 (synopsis "Python documentation generator")
99 (description "Sphinx is a tool that makes it easy to create documentation
100 for Python projects or other documents consisting of multiple reStructuredText
101 sources.")
102 (license license:bsd-2)
103 (properties `((python2-variant . ,(delay python-sphinx))))))
104
105 (define-public python-sphinxcontrib-applehelp
106 (package
107 (name "python-sphinxcontrib-applehelp")
108 (version "1.0.2")
109 (source (origin
110 (method url-fetch)
111 (uri (pypi-uri "sphinxcontrib-applehelp" version))
112 (sha256
113 (base32
114 "0n5wrn4l7x6gxvi1g7c6y72hkxgc223axz1jykipaxhfr1g76wm0"))))
115 (build-system python-build-system)
116 (arguments
117 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
118 (home-page "https://github.com/sphinx-doc/sphinxcontrib-applehelp")
119 (synopsis "Sphinx extension for creating Apple help books")
120 (description
121 "@code{sphinxcontrib-applehelp} is a Sphinx extension which outputs
122 Apple help books.")
123 (license license:bsd-2)))
124
125 (define-public python-sphinx-copybutton
126 (package
127 (name "python-sphinx-copybutton")
128 (version "0.2.6")
129 (source
130 (origin
131 (method url-fetch)
132 (uri (pypi-uri "sphinx-copybutton" version))
133 (sha256
134 (base32
135 "0ny9jpygj93z8jyjpi4v6jjz90pmns74s389wq16igzzq2mpgfjm"))))
136 (build-system python-build-system)
137 (arguments
138 `(#:tests? #f)) ; XXX: Check requires network access.
139 (propagated-inputs
140 `(("python-flit" ,python-flit)
141 ("python-setuptools" ,python-setuptools)
142 ("python-sphinx" ,python-sphinx)
143 ("python-wheel" ,python-wheel)))
144 (home-page "https://github.com/choldgraf/sphinx-copybutton")
145 (synopsis "Sphinx extension to add \"copy\" buttons to code blocks")
146 (description
147 "This package provides a small sphinx extension to add \"copy\" buttons
148 to code blocks.")
149 (license license:expat)))
150
151 (define-public python-sphinxcontrib-devhelp
152 (package
153 (name "python-sphinxcontrib-devhelp")
154 (version "1.0.2")
155 (source (origin
156 (method url-fetch)
157 (uri (pypi-uri "sphinxcontrib-devhelp" version))
158 (sha256
159 (base32
160 "1r1qngsbjqbg4rj93kpj44qqy7n4x5khldkr0c3ffhlnggx1lzzz"))))
161 (build-system python-build-system)
162 (arguments
163 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
164 (home-page "https://github.com/sphinx-doc/sphinxcontrib-devhelp")
165 (synopsis "Sphinx extension for creating Devhelp documents")
166 (description
167 "@code{sphinxcontrib-devhelp} is a Sphinx extension which outputs
168 @url{Devhelp,https://wiki.gnome.org/Apps/Devhelp} documents.")
169 (license license:bsd-2)))
170
171 (define-public python-sphinxcontrib-htmlhelp
172 (package
173 (name "python-sphinxcontrib-htmlhelp")
174 (version "1.0.3")
175 (source (origin
176 (method url-fetch)
177 (uri (pypi-uri "sphinxcontrib-htmlhelp" version))
178 (sha256
179 (base32
180 "16v5jdnibwrqjdr5aqchgyzpwy3rgamwhdf4kidv5nxj65zbpxg8"))))
181 (build-system python-build-system)
182 (arguments
183 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
184 (home-page "https://github.com/sphinx-doc/sphinxcontrib-htmlhelp")
185 (synopsis "Sphinx extension for rendering HTML help files")
186 (description
187 "@code{sphinxcontrib-htmlhelp} is a Sphinx extension which renders
188 HTML help files.")
189 (license license:bsd-2)))
190
191 (define-public python-sphinxcontrib-jsmath
192 (package
193 (name "python-sphinxcontrib-jsmath")
194 (version "1.0.1")
195 (source (origin
196 (method url-fetch)
197 (uri (pypi-uri "sphinxcontrib-jsmath" version))
198 (sha256
199 (base32
200 "1f64w19j33sp151jimibraw6qrbhd5gxy8hs3797w9478m55x4m9"))))
201 (build-system python-build-system)
202 (arguments
203 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
204 (home-page "https://github.com/sphinx-doc/sphinxcontrib-jsmath")
205 (synopsis "Sphinx extension to render math equations")
206 (description
207 "@code{sphinxcontrib-jsmath} is a Sphinx extension which renders display
208 math in HTML via JavaScript.")
209 (license license:bsd-2)))
210
211 (define-public python-sphinxcontrib-newsfeed
212 (package
213 (name "python-sphinxcontrib-newsfeed")
214 (version "0.1.4")
215 (source (origin
216 (method url-fetch)
217 (uri (pypi-uri "sphinxcontrib-newsfeed" version))
218 (sha256
219 (base32
220 "1d7gam3mn8v4in4p16yn3v10vps7nnaz6ilw99j4klij39dqd37p"))))
221 (arguments '(#:tests? #f)) ; No tests.
222 (build-system python-build-system)
223 (propagated-inputs
224 `(("python-sphinx" ,python-sphinx)))
225 (synopsis "News Feed extension for Sphinx")
226 (description "Sphinxcontrib-newsfeed is an extension for adding a simple
227 Blog, News or Announcements section to a Sphinx website.")
228 (home-page "https://bitbucket.org/prometheus/sphinxcontrib-newsfeed")
229 (license license:bsd-2)))
230
231 (define-public python-sphinxcontrib-programoutput
232 (package
233 (name "python-sphinxcontrib-programoutput")
234 (version "0.15")
235 (source (origin
236 (method url-fetch)
237 (uri (pypi-uri "sphinxcontrib-programoutput" version))
238 (sha256
239 (base32
240 "155bz0z2cz544pphkd3nk7ph83mz7nn0ql135kzi62kqmd75ppc0"))))
241 (build-system python-build-system)
242 (arguments
243 ;; FIXME: Many tests are failing.
244 '(#:tests? #f))
245 (propagated-inputs
246 `(("python-sphinx" ,python-sphinx)))
247 (synopsis "Sphinx extension to include program output")
248 (description "A Sphinx extension to literally insert the output of arbitrary
249 commands into documents, helping you to keep your command examples up to date.")
250 (home-page "https://github.com/NextThought/sphinxcontrib-programoutput")
251 (license license:bsd-2)))
252
253 (define-public python2-sphinxcontrib-programoutput
254 (package-with-python2 python-sphinxcontrib-programoutput))
255
256 (define-public python-sphinxcontrib-qthelp
257 (package
258 (name "python-sphinxcontrib-qthelp")
259 (version "1.0.3")
260 (source (origin
261 (method url-fetch)
262 (uri (pypi-uri "sphinxcontrib-qthelp" version))
263 (sha256
264 (base32
265 "0wjsp96d262shzkx7pb7pra7mmf0j8c5rz56i6x0vdsqw1z7ccsc"))))
266 (build-system python-build-system)
267 (arguments
268 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
269 (home-page "https://github.com/sphinx-doc/sphinxcontrib-qthelp")
270 (synopsis "Sphinx extension to output QtHelp documents")
271 (description
272 "@code{sphinxcontrib-qthelp} is a Sphinx extension which outputs QtHelp
273 documents.")
274 (license license:bsd-2)))
275
276 (define-public python-sphinxcontrib-serializinghtml
277 (package
278 (name "python-sphinxcontrib-serializinghtml")
279 (version "1.1.4")
280 (source (origin
281 (method url-fetch)
282 (uri (pypi-uri "sphinxcontrib-serializinghtml" version))
283 (sha256
284 (base32
285 "1g3pbx0g88zd9xzcrbaypa2k60axrh92vf5j76wsk0p9hv6fr87a"))))
286 (build-system python-build-system)
287 (arguments
288 `(#:tests? #f)) ;XXX: circular dependency on Sphinx
289 (home-page "https://github.com/sphinx-doc/sphinxcontrib-serializinghtml")
290 (synopsis "Sphinx extension to serialize HTML files")
291 (description
292 "@code{sphinxcontrib-serializinghtml} is a Sphinx extension which outputs
293 \"serialized\" HTML files.")
294 (license license:bsd-2)))
295
296 (define-public python-sphinxcontrib-svg2pdfconverter
297 (package
298 (name "python-sphinxcontrib-svg2pdfconverter")
299 (version "1.0.1")
300 (source (origin
301 (method url-fetch)
302 (uri (pypi-uri "sphinxcontrib-svg2pdfconverter" version))
303 (sha256
304 (base32
305 "1hhaxmqc7wh8gnyw5jaqckliknvk0p21y12wk3bdmncgkaf9ar8f"))))
306 (build-system python-build-system)
307 (propagated-inputs
308 `(("python-sphinx" ,python-sphinx)))
309 (home-page "https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter")
310 (synopsis "Sphinx SVG to PDF converter extension")
311 (description "A Sphinx extension to convert SVG images to PDF in case the
312 builder does not support SVG images natively (e.g. LaTeX).")
313 (license license:bsd-2)))
314
315 (define-public python-sphinxcontrib-websupport
316 (package
317 (name "python-sphinxcontrib-websupport")
318 (version "1.2.0")
319 (source (origin
320 (method url-fetch)
321 (uri (pypi-uri "sphinxcontrib-websupport" version))
322 (sha256
323 (base32
324 "1smma7r0rhwcmbfvvkfs5djfz1qm8wbpcvp084ca6dmw2b9zplxs"))))
325 (build-system python-build-system)
326 (arguments
327 ;; FIXME: Tests depend on Sphinx, which depends on this.
328 `(#:tests? #f))
329 (home-page "https://sphinx-doc.org/")
330 (synopsis "Sphinx API for web applications")
331 (description "This package provides a Python API to easily integrate
332 Sphinx documentation into your web application. It provides tools to
333 integrate Sphinx documents in web templates and to handle searches.")
334 (license license:bsd-3)))
335
336 (define-public python2-sphinxcontrib-websupport
337 (package-with-python2 python-sphinxcontrib-websupport))
338
339 (define-public python-sphinx-gallery
340 (package
341 (name "python-sphinx-gallery")
342 (version "0.1.13")
343 (source (origin
344 (method git-fetch)
345 (uri (git-reference
346 (url "https://github.com/sphinx-gallery/sphinx-gallery")
347 (commit (string-append "v" version))))
348 (file-name (git-file-name name version))
349 (sha256
350 (base32
351 "14nbqh9krx2l2y2ylbln6l6w8iak3wac1lngvaf278y1cx7685kg"))))
352 (build-system python-build-system)
353 (arguments
354 ;; FIXME: Tests attempt to download <https://docs.python.org/3/objects.inv>,
355 ;; <https://docs.scipy.org/doc/numpy/objects.inv>, and
356 ;; <https://matplotlib.org/objects.inv>.
357 `(#:tests? #f))
358 (native-inputs
359 `(("python-pytest-runner" ,python-pytest-runner)))
360 (home-page "https://sphinx-gallery.github.io/")
361 (synopsis "Generate an examples gallery automatically")
362 (description
363 "@code{sphinx_gallery} is a Sphinx extension that builds an HTML version
364 from any set of Python scripts and puts it into an examples gallery.")
365 (license license:bsd-3)))
366
367 (define-public python2-sphinx-gallery
368 (package-with-python2 python-sphinx-gallery))
369
370 (define-public python-sphinx-me
371 (package
372 (name "python-sphinx-me")
373 (version "0.3")
374 (source
375 (origin
376 (method url-fetch)
377 (uri (pypi-uri "sphinx-me" version))
378 (sha256
379 (base32
380 "06jzgp213zihnvpcy2y5jy3ykid3apc2ncp2pg6a2g05lhiziglq"))))
381 (build-system python-build-system)
382 (home-page "https://github.com/stephenmcd/sphinx-me")
383 (synopsis "Create a Sphinx documentation shell")
384 (description
385 "Create a Sphinx documentation shell for your project and include the
386 README file as the documentation index. It handles extracting the required
387 meta data such as the project name, author and version from your project for
388 use in your Sphinx docs.")
389 (license license:bsd-2)))
390
391 (define-public python2-sphinx-me
392 (package-with-python2 python-sphinx-me))
393
394 (define-public python-sphinx-repoze-autointerface
395 (package
396 (name "python-sphinx-repoze-autointerface")
397 (version "0.8")
398 (source (origin
399 (method url-fetch)
400 (uri (pypi-uri "repoze.sphinx.autointerface" version))
401 (sha256
402 (base32
403 "08ycivzf7bh4a1zcyp31hbyqs1b2c9r26raa3vxjwwmbfqr3iw4f"))))
404 (build-system python-build-system)
405 (arguments '(#:tests? #f)) ; No tests.
406 (propagated-inputs
407 `(("python-sphinx" ,python-sphinx)
408 ("python-zope-interface" ,python-zope-interface)))
409 (synopsis "Auto-generate Sphinx API docs from Zope interfaces")
410 (description "This package defines an extension for the Sphinx documentation
411 system. The extension allows generation of API documentation by
412 introspection of @code{zope.interface} instances in code.")
413 (home-page "https://github.com/repoze/repoze.sphinx.autointerface")
414 (license license:repoze)))
415
416 (define-public python2-sphinx-repoze-autointerface
417 (package-with-python2 python-sphinx-repoze-autointerface))
418
419 (define-public python-sphinx-alabaster-theme
420 (package
421 (name "python-sphinx-alabaster-theme")
422 (version "0.7.12")
423 (source (origin
424 (method url-fetch)
425 (uri (pypi-uri "alabaster" version))
426 (sha256
427 (base32
428 "00nwwjj2d2ym4s2kk217x7jkx1hnczc3fvm8yxbqmsp6b0nxfqd6"))))
429 (build-system python-build-system)
430 (propagated-inputs
431 `(("python-pygments" ,python-pygments)))
432 (home-page "https://alabaster.readthedocs.io/")
433 (synopsis "Configurable sidebar-enabled Sphinx theme")
434 (description "Alabaster is a visually (c)lean, responsive, configurable
435 theme for the Sphinx documentation system. It's the default theme of Sphinx.")
436 (license license:bsd-3)))
437
438 (define-public python2-sphinx-alabaster-theme
439 (package-with-python2 python-sphinx-alabaster-theme))
440
441 (define-public python-sphinx-cloud-sptheme
442 (package
443 (name "python-sphinx-cloud-sptheme")
444 (version "1.8.0")
445 (source (origin
446 (method url-fetch)
447 (uri (pypi-uri "cloud_sptheme" version))
448 (sha256
449 (base32
450 "1dniqb6a39yh786f86c4jn666rwnyi1jvzn4616zhcchb7sfdshd"))))
451 (build-system python-build-system)
452 ;; FIXME: The 'pypi' release archive does not contain tests.
453 (arguments '(#:tests? #f))
454 (native-inputs
455 `(("python-sphinx" ,python-sphinx)))
456 (home-page "https://bitbucket.org/ecollins/cloud_sptheme")
457 (synopsis "'Cloud' theme for Sphinx documenter")
458 (description "This package contains the \"Cloud\" theme for Sphinx and some
459 related extensions.")
460 (license license:bsd-3)))
461
462 (define-public python2-sphinx-cloud-sptheme
463 (package-with-python2 python-sphinx-cloud-sptheme))
464
465 (define-public python-guzzle-sphinx-theme
466 (package
467 (name "python-guzzle-sphinx-theme")
468 (version "0.7.11")
469 (source
470 (origin
471 (method url-fetch)
472 (uri (pypi-uri "guzzle_sphinx_theme" version))
473 (sha256
474 (base32
475 "1rnkzrrsbnifn3vsb4pfaia3nlvgvw6ndpxp7lzjrh23qcwid34v"))))
476 (build-system python-build-system)
477 (propagated-inputs
478 `(("python-sphinx" ,python-sphinx)))
479 (home-page "https://github.com/guzzle/guzzle_sphinx_theme")
480 (synopsis "Sphinx theme used by Guzzle")
481 (description "This package provides guzzle_sphinx_theme, a theme for the
482 Sphinx documentation system, used by @uref{http://docs.guzzlephp.org, Guzzle}
483 and several other projects.")
484 (license license:expat)))
485
486 (define-public python2-guzzle-sphinx-theme
487 (package-with-python2 python-guzzle-sphinx-theme))
488
489 (define-public python-sphinx-rtd-theme
490 (package
491 (name "python-sphinx-rtd-theme")
492 (version "0.2.4")
493 (source
494 (origin
495 (method url-fetch)
496 (uri (pypi-uri "sphinx_rtd_theme" version))
497 (sha256
498 (base32
499 "05rlhjzdyapr2w74jjs7mrm8hi69qskcr5vya9f9drpsys7lpxrd"))))
500 (build-system python-build-system)
501 (arguments '(#:tests? #f)) ; No tests.
502 (propagated-inputs
503 `(("python-sphinx" ,python-sphinx)))
504 (home-page "https://github.com/snide/sphinx_rtd_theme/")
505 (synopsis "ReadTheDocs.org theme for Sphinx")
506 (description "A theme for Sphinx used by ReadTheDocs.org.")
507 (license license:expat)))
508
509 (define-public python2-sphinx-rtd-theme
510 (package-with-python2 python-sphinx-rtd-theme))
511
512 (define-public python-breathe
513 (package
514 (name "python-breathe")
515 (version "4.22.1")
516 (source
517 (origin
518 (method url-fetch)
519 (uri (pypi-uri "breathe" version))
520 (sha256
521 (base32
522 "0snk538xv60z4vfhl3f7v5g658za7257hddkg07cknkn33k6cjvf"))))
523 (build-system python-build-system)
524 (propagated-inputs
525 `(("python-docutils" ,python-docutils)
526 ("python-six" ,python-six)
527 ("python-sphinx" ,python-sphinx)))
528 (home-page "https://github.com/michaeljones/breathe")
529 (synopsis "ReStructuredText and Sphinx bridge to Doxygen")
530 (description "This package is an extension to reStructuredText and Sphinx
531 to be able to read and render the Doxygen xml output.")
532 (license license:bsd-3)))
533
534 (define-public python-sphinx-intl
535 (package
536 (name "python-sphinx-intl")
537 (version "2.0.1")
538 (source
539 (origin
540 (method url-fetch)
541 (uri (pypi-uri "sphinx-intl" version))
542 (sha256
543 (base32 "1d1q0sanjp4nkfvhsxi75zf3xjyyi8nzxvl3v7l0jy9ld70nwnmj"))))
544 (build-system python-build-system)
545 (propagated-inputs
546 `(("python-sphinx" ,python-sphinx)
547 ("python-click" ,python-click)))
548 (home-page "https://github.com/sphinx-doc/sphinx-intl")
549 (synopsis
550 "Sphinx utility that makes it easy to translate and to apply translation")
551 (description
552 "A utility tool that provides several features that make it easy to
553 translate and to apply translation to Sphinx generated document.")
554 (license license:bsd-2)))
555
556 (define-public python-sphinx-autobuild
557 (package
558 (name "python-sphinx-autobuild")
559 (version "0.7.1")
560 (source
561 (origin
562 (method url-fetch)
563 (uri (pypi-uri "sphinx-autobuild" version))
564 (sha256
565 (base32
566 "0kn753dyh3b1s0h77lbk704niyqc7bamvq6v3s1f6rj6i20qyf36"))))
567 (build-system python-build-system)
568 (arguments
569 `(#:phases
570 (modify-phases %standard-phases
571 ;; See https://github.com/GaretJax/sphinx-autobuild/pull/72
572 (add-after 'unpack 'use-later-port-for
573 (lambda _
574 (substitute* "requirements.txt"
575 (("port_for==.*") "port_for\n"))
576 #t))
577 (delete 'check)
578 (add-after 'install 'check
579 (lambda* (#:key inputs outputs tests? #:allow-other-keys)
580 (when tests?
581 (add-installed-pythonpath inputs outputs)
582 (invoke "pytest" "-v"))
583 #t)))))
584 (propagated-inputs
585 `(("python-argh" ,python-argh)
586 ("python-livereload" ,python-livereload)
587 ("python-pathtools" ,python-pathtools)
588 ("python-port-for" ,python-port-for)
589 ("python-pyyaml" ,python-pyyaml)
590 ("python-tornado" ,python-tornado)
591 ("python-watchdog" ,python-watchdog)))
592 (native-inputs
593 `(("python-pytest" ,python-pytest)))
594 (home-page "https://github.com/GaretJax/sphinx-autobuild")
595 (synopsis "Rebuild Sphinx documentation when a change is detected")
596 (description
597 "This package lets you watch a Sphinx directory and rebuild the
598 documentation when a change is detected. It also includes a livereload
599 enabled web server.")
600 (license license:expat)))
601
602 (define-public python-nbsphinx
603 (package
604 (name "python-nbsphinx")
605 (version "0.7.1")
606 (source
607 (origin
608 (method url-fetch)
609 (uri (pypi-uri "nbsphinx" version))
610 (sha256
611 (base32
612 "0j56bxdj08vn3q1804qwb1ywhga1mdg1awgm7i64wfpfwi8df2zm"))))
613 (build-system python-build-system)
614 (propagated-inputs
615 `(("python-docutils" ,python-docutils)
616 ("python-jinja2" ,python-jinja2)
617 ("python-nbconvert" ,python-nbconvert)
618 ("python-nbformat" ,python-nbformat)
619 ("python-sphinx" ,python-sphinx)
620 ("python-traitlets" ,python-traitlets)))
621 (home-page "https://nbsphinx.readthedocs.io/")
622 (synopsis "Jupyter Notebook Tools for Sphinx")
623 (description "@code{python-nbsphinx} is a Sphinx extension that
624 provides a source parser for @code{*.ipynb} files. Custom Sphinx
625 directives are used to show Jupyter Notebook code cells (and of course
626 their results) in both HTML and LaTeX output. Un-evaluated notebooks
627 - i.e. notebooks without stored output cells - will be automatically
628 executed during the Sphinx build process.")
629 (license license:expat)))