;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.counoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system python)
+ #:use-module (guix build-system qt)
+ #:use-module (guix deprecation)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages check)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages docbook)
#:use-module (gnu packages flex)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages perl)
- #:use-module (gnu packages xml))
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages sphinx)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg))
+
+(define-public latex2html
+ (package
+ (name "latex2html")
+ (version "2020.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/latex2html/latex2html")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1icyl6kl60wh7cavprgbd8q6lpjwr7wn24m34kpiif7ahknhcbcm"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "configure"
+ (("/usr/local")
+ (assoc-ref outputs "out"))
+ (("\\$\\{CONFIG_SHELL-/bin/sh\\}")
+ (which "bash")))
+ #t))
+ (replace 'configure
+ (lambda _
+ (invoke "./configure")
+ #t))
+ (add-after 'configure 'patch-cfgcache
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "cfgcache.pm"
+ (("/usr/local")
+ (assoc-ref outputs "out")))
+ #t)))))
+ (inputs
+ (list perl))
+ (synopsis "LaTeX documents to HTML")
+ (description "LaTeX2HTML is a utility that converts LaTeX documents to web
+pages in HTML.")
+ (home-page "https://www.latex2html.org/")
+ (license gpl2+)))
(define-public asciidoc
(package
(name "asciidoc")
- (version "8.6.10")
+ (version "9.1.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/asciidoc/asciidoc/"
- "archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/asciidoc/asciidoc-py")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "10xrl1iwyvs8aqm0vzkvs3dnsn93wyk942kk4ppyl6w9imbzhlly"))))
+ "1clf1axkns23wfmh48xfspzsnw04pjh4mq1pshpzvj0cwxhz0yaq"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no 'check' target
"/xml/dtd/docbook/docbookx.dtd")))
#t)))))
(native-inputs
- `(("autoconf" ,autoconf)))
- (inputs `(("python" ,python-2)
- ("docbook-xml" ,docbook-xml)
- ("docbook-xsl" ,docbook-xsl)
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)))
- (home-page "http://asciidoc.org/")
+ (list autoconf))
+ (inputs
+ (list python docbook-xml docbook-xsl libxml2 libxslt))
+ (home-page "https://asciidoc.org/")
(synopsis "Text-based document generation system")
(description
"AsciiDoc is a text document format for writing notes, documentation,
markup) can be customized and extended by the user.")
(license gpl2+)))
+(define-deprecated asciidoc-py3 asciidoc)
+
(define-public doxygen
(package
(name "doxygen")
- (version "1.8.15")
- (home-page "http://www.doxygen.nl/")
+ (version "1.9.1")
+ (home-page "https://www.doxygen.nl/")
(source (origin
(method url-fetch)
(uri (list (string-append home-page "files/doxygen-"
".src.tar.gz")))
(sha256
(base32
- "0p94b4yb6bk2dxzs5kyl82xxgq2qakgbx5yy3ssbbadncb20x75x"))
- (patches (search-patches "doxygen-test.patch"))))
+ "1lcif1qi20gf04qyjrx7x367669g17vz2ilgi4cmamp1whdsxbk7"))))
(build-system cmake-build-system)
(native-inputs
- `(("bison" ,bison)
- ("flex" ,flex)
- ("libxml2" ,libxml2) ;provides xmllint for the tests
- ("python" ,python))) ;for creating the documentation
+ (list bison flex libxml2 ;provides xmllint for the tests
+ python)) ;for creating the documentation
(inputs
`(("bash" ,bash-minimal)))
(arguments
'())
#:test-target "tests"
#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'disable-bibtex-test
+ (lambda _
+ ;; Disable test that requires bibtex to avoid a
+ ;; circular dependency.
+ (for-each delete-file-recursively
+ '("testing/012" "testing/012_cite.dox"))))
(add-before 'configure 'patch-sh
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/portable.cpp"
"doc++-segfault-fix.patch"))))
(build-system gnu-build-system)
(native-inputs
- `(("flex" ,flex)
- ("gettext" ,gettext-minimal)))
+ (list flex gettext-minimal))
(home-page "http://docpp.sourceforge.net/")
(synopsis "Documentation system for C, C++, IDL, and Java")
(description
"DOC++ is a documentation system for C, C++, IDL, and Java. It can
generate both TeX output for high-quality hardcopies or HTML output for online
-brwosing. The documentation is extracted directly from the C/C++/IDL source
+browsing. The documentation is extracted directly from the C/C++/IDL source
or Java class files.")
(license gpl2+)))
+(define-public python-docrepr
+ (package
+ (name "python-docrepr")
+ (version "0.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spyder-ide/docrepr")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ma5gwy93m1djd3zdlnqfrwhgr8ic1qbsz5kkrb9f987ax40lfkd"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-sources
+ (lambda _
+ ;; XXX: This fixes an issue where shutil.copytree would fail
+ ;; merging directories with same files copied by Sphinx from the
+ ;; store (hence read-only, throwing a Permission denied error).
+ ;; In the case this happens, it falls back to a manual copy
+ ;; routine that omits overwriting same-named files (see:
+ ;; https://github.com/spyder-ide/docrepr/issues/54).
+ (substitute* "docrepr/utils.py"
+ (("except TypeError")
+ "except (TypeError, shutil.Error)"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-p" "no:warnings" "-vv")))))))
+ (native-inputs
+ (list python-ipython
+ python-matplotlib
+ python-numpy
+ python-pytest
+ python-pytest-asyncio))
+ (propagated-inputs
+ (list python-docutils
+ python-jinja2
+ python-matplotlib
+ python-sphinx))
+ (home-page "https://github.com/spyder-ide/docrepr/")
+ (synopsis "Python docstrings to HTML renderer")
+ (description "Docrepr renders Python docstrings to HTML with Sphinx. It
+can generate rich and plain representations of docstrings, alongside
+additional metadata about the object to which the docstring belongs.")
+ (license bsd-3)))
+
(define-public scrollkeeper
(package
(name "scrollkeeper")
(assoc-ref %build-inputs "docbook-xml")
"/xml/dtd/docbook/catalog.xml"))))
(inputs
- `(("perl" ,perl)
- ("libxml2" ,libxml2)
- ("libxslt" ,libxslt)
- ;; The configure script checks for either version 4.2 or 4.1.2.
- ("docbook-xml" ,docbook-xml-4.2)))
+ (list perl libxml2 libxslt
+ ;; The configure script checks for either version 4.2 or 4.1.2.
+ docbook-xml-4.2))
(native-inputs
- `(("intltool" ,intltool)))
+ (list intltool))
(home-page "http://scrollkeeper.sourceforge.net/")
(synopsis "Open Documentation Cataloging Project")
(description "ScrollKeeper is a cataloging system for documentation on open
with catalog servers on the Net to search for documents which are not on the
local system.")
(license lgpl2.1+)))
+
+(define-public zeal
+ (let ((commit "d3c5521c501d24050f578348ff1b9d68244b992c")
+ (revision "1"))
+ (package
+ (name "zeal")
+ (version (git-version "0.6.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zealdocs/zeal")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ky2qi2cmjckc51lm3i28815ixgqdm36j7smixxr16jxpmbqs6sl"))))
+ (build-system qt-build-system)
+ (arguments
+ `(#:tests? #f ;no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'wrap 'wrap-qt-process-path
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/zeal"))
+ (qt-process-path (string-append
+ (assoc-ref inputs "qtwebengine")
+ "/lib/qt5/libexec/QtWebEngineProcess")))
+ (wrap-program bin
+ `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))
+ #t))))))
+ (native-inputs
+ (list extra-cmake-modules pkg-config))
+ (inputs
+ `(("libarchive" ,libarchive)
+ ("sqlite" ,sqlite)
+ ("qtbase" ,qtbase-5)
+ ("qtdeclarative" ,qtdeclarative)
+ ("qtwebchannel" ,qtwebchannel)
+ ("qtwebengine" ,qtwebengine)
+ ("qtquickcontrols" ,qtquickcontrols)
+ ("qtx11extras" ,qtx11extras)
+ ("xcb-util-keyms" ,xcb-util-keysyms)))
+ (home-page "https://zealdocs.org/")
+ (synopsis "Offline documentation browser inspired by Dash")
+ (description "Zeal is a simple offline documentation browser
+inspired by Dash.")
+ (license gpl3+))))