Commit | Line | Data |
---|---|---|
233e7676 | 1 | ;;; GNU Guix --- Functional package management for GNU |
8c4c2a98 | 2 | ;;; Copyright © 2012, 2013, 2015, 2016 Ludovic Courtès <ludo@gnu.org> |
1022da10 | 3 | ;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org> |
f7b55b04 | 4 | ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> |
db32c281 | 5 | ;;; |
233e7676 | 6 | ;;; This file is part of GNU Guix. |
db32c281 | 7 | ;;; |
233e7676 | 8 | ;;; GNU Guix is free software; you can redistribute it and/or modify it |
db32c281 LC |
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 | ;;; | |
233e7676 | 13 | ;;; GNU Guix is distributed in the hope that it will be useful, but |
db32c281 LC |
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 | |
233e7676 | 19 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
db32c281 | 20 | |
1ffa7090 | 21 | (define-module (gnu packages texinfo) |
4a44e743 | 22 | #:use-module (guix licenses) |
db32c281 LC |
23 | #:use-module (guix packages) |
24 | #:use-module (guix download) | |
25 | #:use-module (guix build-system gnu) | |
c5d83768 | 26 | #:use-module (gnu packages) |
1ffa7090 | 27 | #:use-module (gnu packages compression) |
a24b75d8 | 28 | #:use-module (gnu packages perl) |
47ed8e04 | 29 | #:use-module (gnu packages linux) |
1ffa7090 | 30 | #:use-module (gnu packages ncurses)) |
db32c281 LC |
31 | |
32 | (define-public texinfo | |
33 | (package | |
34 | (name "texinfo") | |
42d1e525 | 35 | (version "6.3") |
a24b75d8 | 36 | (source (origin |
f7b55b04 MW |
37 | (method url-fetch) |
38 | (uri (string-append "mirror://gnu/texinfo/texinfo-" | |
39 | version ".tar.xz")) | |
40 | (sha256 | |
41 | (base32 | |
42d1e525 | 42 | "0fpr9kdjjl6nj2pc50k2zr7134hvqz8bi8pfqa7131a9lpzz6v14")))) |
db32c281 | 43 | (build-system gnu-build-system) |
47ed8e04 | 44 | (native-inputs `(("procps" ,procps))) ;one of the tests needs pgrep |
f6d7be1e | 45 | (inputs `(("ncurses" ,ncurses) |
3d6b71e8 | 46 | ("perl" ,perl))) |
1668dfcd LC |
47 | |
48 | (native-search-paths | |
49 | ;; This is the variable used by the standalone Info reader. | |
50 | (list (search-path-specification | |
51 | (variable "INFOPATH") | |
52 | (files '("share/info"))))) | |
53 | ||
6fd52309 | 54 | (home-page "https://www.gnu.org/software/texinfo/") |
f50d2669 | 55 | (synopsis "The GNU documentation format") |
db32c281 | 56 | (description |
a22dc0c4 | 57 | "Texinfo is the official documentation format of the GNU project. It |
79c311b8 LC |
58 | uses a single source file using explicit commands to produce a final document |
59 | in any of several supported output formats, such as HTML or PDF. This | |
60 | package includes both the tools necessary to produce Info documents from | |
61 | their source and the command-line Info reader. The emphasis of the language | |
62 | is on expressing the content semantically, avoiding physical markup commands.") | |
4a44e743 | 63 | (license gpl3+))) |
bbafef3f | 64 | |
f7b55b04 MW |
65 | (define-public texinfo-5 |
66 | (package (inherit texinfo) | |
67 | (version "5.2") | |
ce1e4bd5 LC |
68 | (source (origin |
69 | (method url-fetch) | |
70 | (uri (string-append "mirror://gnu/texinfo/texinfo-" | |
71 | version ".tar.xz")) | |
72 | (sha256 | |
73 | (base32 | |
47ed8e04 MW |
74 | "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal")))) |
75 | (native-inputs '()))) | |
ce1e4bd5 | 76 | |
bbafef3f MW |
77 | (define-public texinfo-4 |
78 | (package (inherit texinfo) | |
79 | (version "4.13a") | |
80 | (source (origin | |
81 | (method url-fetch) | |
82 | (uri (string-append | |
83 | "mirror://gnu/texinfo/texinfo-" | |
84 | version | |
85 | ".tar.lzma")) | |
86 | (sha256 | |
87 | (base32 | |
88 | "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d")))) | |
47ed8e04 | 89 | (native-inputs '()) |
bbafef3f | 90 | (inputs `(("ncurses" ,ncurses) ("xz" ,xz))))) |
c5d83768 | 91 | |
7feebd33 LC |
92 | (define-public info-reader |
93 | ;; The idea of this package is to have the standalone Info reader without | |
94 | ;; the dependency on Perl that 'makeinfo' drags. | |
95 | (package | |
8f03b70b | 96 | (inherit texinfo) |
7feebd33 LC |
97 | (name "info-reader") |
98 | (arguments | |
8f03b70b | 99 | `(#:disallowed-references ,(assoc-ref (package-inputs texinfo) |
7feebd33 LC |
100 | "perl") |
101 | ||
102 | #:modules ((ice-9 ftw) (srfi srfi-1) | |
103 | ,@%gnu-build-system-modules) | |
104 | ||
105 | #:phases (modify-phases %standard-phases | |
106 | (add-after 'install 'keep-only-info-reader | |
107 | (lambda* (#:key outputs #:allow-other-keys) | |
108 | ;; Remove everything but 'bin/info' and associated | |
109 | ;; files. | |
110 | (define (files) | |
111 | (scandir "." (lambda (file) | |
112 | (not (member file '("." "..")))))) | |
113 | ||
114 | (let ((out (assoc-ref outputs "out"))) | |
115 | (with-directory-excursion out | |
116 | (for-each delete-file-recursively | |
117 | (fold delete (files) '("bin" "share")))) | |
118 | (with-directory-excursion (string-append out "/bin") | |
119 | (for-each delete-file (delete "info" (files)))) | |
120 | (with-directory-excursion (string-append out "/share") | |
121 | (for-each delete-file-recursively | |
122 | (fold delete (files) | |
123 | '("info" "locale")))) | |
124 | #t)))))) | |
125 | (synopsis "Standalone Info documentation reader"))) | |
126 | ||
c5d83768 EB |
127 | (define-public texi2html |
128 | (package | |
129 | (name "texi2html") | |
130 | (version "5.0") | |
131 | (source (origin | |
132 | (method url-fetch) | |
133 | (uri (string-append "mirror://savannah/" name "/" name "-" | |
134 | version ".tar.bz2")) | |
135 | (sha256 | |
136 | (base32 | |
137 | "1yprv64vrlcbksqv25asplnjg07mbq38lfclp1m5lj8cw878pag8")) | |
d759cf67 | 138 | (patches |
fc1adab1 AK |
139 | (search-patches "texi2html-document-encoding.patch" |
140 | "texi2html-i18n.patch")) | |
d759cf67 LC |
141 | (snippet |
142 | ;; This file is modified by the patch above, but reset its | |
143 | ;; timestamp so we don't trigger the rule to update PO files, | |
144 | ;; which would require Gettext. | |
145 | ;; See <http://bugs.gnu.org/18247>. | |
146 | '(utime "texi2html.pl" 0 0 0 0)))) | |
c5d83768 | 147 | (build-system gnu-build-system) |
c5d83768 | 148 | (inputs `(("perl" ,perl))) |
1022da10 EB |
149 | (arguments |
150 | ;; Tests fail because of warnings on stderr from Perl 5.22. Adjusting | |
151 | ;; texi2html.pl to avoid the warnings seems non-trivial, so we simply | |
152 | ;; disable the tests. | |
153 | '(#:tests? #f)) | |
c5d83768 EB |
154 | (home-page "http://www.nongnu.org/texi2html/") |
155 | (synopsis "Convert Texinfo to HTML") | |
156 | (description | |
157 | "Texi2HTML is a Perl script which converts Texinfo source files to HTML | |
158 | output. It now supports many advanced features, such as internationalization | |
159 | and extremely configurable output formats. | |
160 | ||
161 | Development of Texi2HTML moved to the GNU Texinfo repository in 2010, since it | |
162 | was meant to replace the makeinfo implementation in GNU Texinfo. The route | |
163 | forward for authors is, in most cases, to alter manuals and build processes as | |
164 | necessary to use the new features of the makeinfo/texi2any implementation of | |
165 | GNU Texinfo. The Texi2HTML maintainers (one of whom is the principal author | |
166 | of the GNU Texinfo implementation) do not intend to make further releases of | |
167 | Texi2HTML.") | |
168 | ;; Files in /lib under lgpl2.1+ and x11 | |
169 | (license gpl2+))) |