gnu: ruby-shoulda-matchers: Update to 3.1.1.
[jackhill/guix/guix.git] / gnu / packages / documentation.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
3 ;;; Copyright © 2014, 2016 Andreas Enge <andreas@enge.fr>
4 ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
5 ;;;
6 ;;; This file is part of GNU Guix.
7 ;;;
8 ;;; GNU Guix is free software; you can redistribute it and/or modify it
9 ;;; under the terms of the GNU General Public License as published by
10 ;;; the Free Software Foundation; either version 3 of the License, or (at
11 ;;; your option) any later version.
12 ;;;
13 ;;; GNU Guix is distributed in the hope that it will be useful, but
14 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;;; GNU General Public License for more details.
17 ;;;
18 ;;; You should have received a copy of the GNU General Public License
19 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21 (define-module (gnu packages documentation)
22 #:use-module (guix licenses)
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix build-system gnu)
26 #:use-module (guix build-system cmake)
27 #:use-module (gnu packages)
28 #:use-module (gnu packages python)
29 #:use-module (gnu packages bison)
30 #:use-module (gnu packages flex)
31 #:use-module (gnu packages graphviz)
32 #:use-module (gnu packages gettext)
33 #:use-module (gnu packages perl)
34 #:use-module (gnu packages xml)
35 #:autoload (gnu packages zip) (unzip))
36
37 (define-public asciidoc
38 (package
39 (name "asciidoc")
40 (version "8.6.9")
41 (source (origin
42 (method url-fetch)
43 (uri (string-append "mirror://sourceforge/asciidoc/asciidoc-"
44 version ".tar.gz"))
45 (sha256
46 (base32
47 "1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq"))))
48 (build-system gnu-build-system)
49 (arguments '(#:tests? #f)) ; no 'check' target
50 (inputs `(("python" ,python-2)))
51 (home-page "http://www.methods.co.nz/asciidoc/")
52 (synopsis "Text-based document generation system")
53 (description
54 "AsciiDoc is a text document format for writing notes, documentation,
55 articles, books, ebooks, slideshows, web pages, man pages and blogs.
56 AsciiDoc files can be translated to many formats including HTML, PDF,
57 EPUB, man page.
58
59 AsciiDoc is highly configurable: both the AsciiDoc source file syntax and
60 the backend output markups (which can be almost any type of SGML/XML
61 markup) can be customized and extended by the user.")
62 (license gpl2+)))
63
64 (define-public doxygen
65 (package
66 (name "doxygen")
67 (version "1.8.11")
68 (source (origin
69 (method url-fetch)
70 (uri (string-append "http://ftp.stack.nl/pub/users/dimitri/"
71 name "-" version ".src.tar.gz"))
72 (sha256
73 (base32
74 "0ja02pm3fpfhc5dkry00kq8mn141cqvdqqpmms373ncbwi38pl35"))
75 (patches (search-patches "doxygen-test.patch"))))
76 (build-system cmake-build-system)
77 (native-inputs
78 `(("bison" ,bison)
79 ("flex" ,flex)
80 ("libxml2" ,libxml2) ; provides xmllint for the tests
81 ("python" ,python-2))) ; for creating the documentation
82 (arguments
83 `(#:test-target "tests"))
84 (home-page "http://www.stack.nl/~dimitri/doxygen/")
85 (synopsis "Generate documentation from annotated sources")
86 (description "Doxygen is the de facto standard tool for generating
87 documentation from annotated C++ sources, but it also supports other popular
88 programming languages such as C, Objective-C, C#, PHP, Java, Python,
89 IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
90 and to some extent D.")
91 (license gpl3+)))
92
93 (define-public doc++
94 (package
95 (name "doc++")
96 (version "3.4.10")
97 (source (origin
98 (method url-fetch)
99 (uri (string-append "https://sourceforge.net/projects/docpp/"
100 "files/doc++-" version ".tar.gz"))
101 (sha256
102 (base32
103 "0i37zlxl8g352s4hzpdx0657k5x3czh3xcsfr27irc708gb277pn"))
104 (patches (search-patches "doc++-include-directives.patch"
105 "doc++-segfault-fix.patch"))))
106 (build-system gnu-build-system)
107 (native-inputs
108 `(("flex" ,flex)
109 ("gettext" ,gnu-gettext)))
110 (home-page "http://docpp.sourceforge.net/")
111 (synopsis "Documentation system for C, C++, IDL, and Java")
112 (description
113 "DOC++ is a documentation system for C, C++, IDL, and Java. It can
114 generate both TeX output for high-quality hardcopies or HTML output for online
115 brwosing. The documentation is extracted directly from the C/C++/IDL source
116 or Java class files.")
117 (license gpl2+)))