Commit | Line | Data |
---|---|---|
29a2ccd3 | 1 | ;;; GNU Guix --- Functional package management for GNU |
c9ea41ff | 2 | ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> |
29a2ccd3 | 3 | ;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de> |
833efa0d | 4 | ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> |
29a2ccd3 AP |
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 web) | |
22 | #:use-module ((guix licenses) | |
23 | #:renamer (symbol-prefix-proc 'l:)) | |
24 | #:use-module (guix packages) | |
25 | #:use-module (guix download) | |
833efa0d | 26 | #:use-module (guix git-download) |
c9ea41ff | 27 | #:use-module (guix build-system perl) |
29a2ccd3 AP |
28 | #:use-module (guix build-system gnu) |
29 | #:use-module (gnu packages apr) | |
b777d784 JD |
30 | #:use-module (gnu packages asciidoc) |
31 | #:use-module (gnu packages docbook) | |
833efa0d LC |
32 | #:use-module (gnu packages autotools) |
33 | #:use-module ((gnu packages compression) #:select (zlib)) | |
29a2ccd3 | 34 | #:use-module (gnu packages openssl) |
c9ea41ff | 35 | #:use-module (gnu packages pcre) |
b777d784 | 36 | #:use-module (gnu packages xml) |
c9ea41ff | 37 | #:use-module (gnu packages perl)) |
29a2ccd3 AP |
38 | |
39 | (define-public httpd | |
40 | (package | |
41 | (name "httpd") | |
42 | (version "2.4.6") | |
43 | (source (origin | |
44 | (method url-fetch) | |
45 | (uri (string-append "mirror://apache/httpd/httpd-" | |
46 | version ".tar.bz2")) | |
47 | (sha256 | |
48 | (base32 | |
49 | "1sig08xxq1kqxr2a42ndwr9g4mm6zdqnxldhxraym2y0xcjkd7yw")))) | |
50 | (build-system gnu-build-system) | |
51 | (inputs `(("apr" ,apr) | |
52 | ("apr-util" ,apr-util) | |
53 | ("openssl" ,openssl) | |
54 | ("pcre" ,pcre))) | |
55 | (arguments | |
56 | `(#:test-target "test" | |
57 | #:configure-flags (list "--enable-rewrite" | |
58 | "--enable-userdir" | |
59 | "--enable-vhost-alias" | |
60 | "--enable-ssl" | |
61 | "--enable-mime-magic" | |
62 | (string-append "--sysconfdir=" | |
63 | (assoc-ref %outputs "out") | |
64 | "/etc/httpd")))) | |
65 | (synopsis "Featureful HTTP server") | |
66 | (description | |
67 | "The Apache HTTP Server Project is a collaborative software development | |
68 | effort aimed at creating a robust, commercial-grade, featureful, and | |
69 | freely-available source code implementation of an HTTP (Web) server. The project | |
70 | is jointly managed by a group of volunteers located around the world, using the | |
71 | Internet and the Web to communicate, plan, and develop the server and its | |
72 | related documentation.") | |
73 | (license l:asl2.0) | |
74 | (home-page "https://httpd.apache.org/"))) | |
c9ea41ff | 75 | |
833efa0d LC |
76 | (define-public libwebsockets |
77 | (package | |
78 | (name "libwebsockets") | |
79 | (version "1.2") | |
80 | (source (origin | |
81 | ;; The project does not publish tarballs, so we have to take | |
82 | ;; things from Git. | |
83 | (method git-fetch) | |
84 | (uri (git-reference | |
85 | (url "git://git.libwebsockets.org/libwebsockets") | |
86 | (commit (string-append "v" version | |
87 | "-chrome26-firefox18")))) | |
88 | (sha256 | |
89 | (base32 | |
90 | "1293hbz8qj4p27m1qjf8dn97r10xjyiwdpq491m87zi025s558cl")) | |
91 | (file-name (string-append name "-" version)))) | |
92 | ||
93 | ;; The package has both CMake and GNU build systems, but the latter is | |
94 | ;; apparently better supported (CMake-generated makefiles lack an | |
95 | ;; 'install' target, for instance.) | |
96 | (build-system gnu-build-system) | |
97 | ||
98 | (arguments | |
829ecd00 LC |
99 | '(#:phases (alist-cons-before |
100 | 'configure 'bootstrap | |
101 | (lambda _ | |
102 | (chmod "libwebsockets-api-doc.html" #o666) | |
103 | (zero? (system* "./autogen.sh"))) | |
104 | %standard-phases))) | |
833efa0d LC |
105 | |
106 | (native-inputs `(("autoconf" ,autoconf) | |
107 | ("automake" ,automake) | |
108 | ("libtool" ,libtool "bin") | |
109 | ("perl" ,perl))) ; to build the HTML doc | |
110 | (inputs `(("zlib" ,zlib) | |
111 | ("openssl" ,openssl))) | |
112 | (synopsis "WebSockets library written in C") | |
113 | (description | |
114 | "libwebsockets is a library that allows C programs to establish client | |
115 | and server WebSockets connections---a protocol layered above HTTP that allows | |
116 | for efficient socket-like bidirectional reliable communication channels.") | |
117 | (home-page "http://libwebsockets.org/") | |
118 | ||
119 | ;; This is LGPLv2.1-only with extra exceptions specified in 'LICENSE'. | |
120 | (license l:lgpl2.1))) | |
121 | ||
c9ea41ff AE |
122 | (define-public perl-html-tagset |
123 | (package | |
124 | (name "perl-html-tagset") | |
125 | (version "3.20") | |
126 | (source (origin | |
127 | (method url-fetch) | |
128 | (uri (string-append | |
129 | "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-" | |
130 | version ".tar.gz")) | |
131 | (sha256 | |
132 | (base32 | |
133 | "1qh8249wgr4v9vgghq77zh1d2zs176bir223a8gh3k9nksn7vcdd")))) | |
134 | (build-system perl-build-system) | |
135 | (license (package-license perl)) | |
136 | (synopsis "Perl data tables useful in parsing HTML") | |
137 | (description | |
138 | "The HTML::Tagset module contains several data tables useful in various | |
139 | kinds of HTML parsing operations.") | |
140 | (home-page "http://search.cpan.org/dist/HTML-Tagset/"))) | |
141 | ||
8ec0d3fb AE |
142 | (define-public perl-html-parser |
143 | (package | |
144 | (name "perl-html-parser") | |
145 | (version "3.71") | |
146 | (source (origin | |
147 | (method url-fetch) | |
148 | (uri (string-append | |
149 | "mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-" | |
150 | version ".tar.gz")) | |
151 | (sha256 | |
152 | (base32 | |
153 | "00nqzdgl7c3jilx7mil19k5jwcw3as14pvkjgxi97zyk94vqp4dy")))) | |
154 | (build-system perl-build-system) | |
155 | (inputs | |
156 | `(("perl-html-tagset" ,perl-html-tagset))) | |
157 | (license (package-license perl)) | |
158 | (synopsis "Perl HTML parser class") | |
159 | (description | |
160 | "Objects of the HTML::Parser class will recognize markup and separate | |
161 | it from plain text (alias data content) in HTML documents. As different | |
162 | kinds of markup and text are recognized, the corresponding event handlers | |
163 | are invoked.") | |
164 | (home-page "http://search.cpan.org/~gaas/HTML-Parser/"))) | |
ae2aa18d AE |
165 | |
166 | (define-public perl-http-date | |
167 | (package | |
168 | (name "perl-http-date") | |
169 | (version "6.02") | |
170 | (source (origin | |
171 | (method url-fetch) | |
172 | (uri (string-append | |
173 | "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-" | |
174 | version ".tar.gz")) | |
175 | (sha256 | |
176 | (base32 | |
177 | "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8")))) | |
178 | (build-system perl-build-system) | |
179 | (license (package-license perl)) | |
180 | (synopsis "Perl date conversion routines") | |
181 | (description | |
182 | "The HTTP::Date module provides functions that deal with date formats | |
183 | used by the HTTP protocol (and then some more).") | |
184 | (home-page "http://search.cpan.org/~gaas/HTTP-Date/"))) | |
fea5ebb1 AE |
185 | |
186 | (define-public perl-uri | |
187 | (package | |
188 | (name "perl-uri") | |
189 | (version "1.60") | |
190 | (source (origin | |
191 | (method url-fetch) | |
192 | (uri (string-append | |
193 | "mirror://cpan/authors/id/G/GA/GAAS/URI-" | |
194 | version ".tar.gz")) | |
195 | (sha256 | |
196 | (base32 | |
197 | "0xr31mf7lfrwhyvlx4pzp6p7alls5gi4bj8pk5g89f5cckfd74hz")))) | |
198 | (build-system perl-build-system) | |
199 | (license (package-license perl)) | |
200 | (synopsis "Perl Uniform Resource Identifiers (absolute and relative)") | |
201 | (description | |
202 | "The URI module implements the URI class. Objects of this class | |
203 | represent \"Uniform Resource Identifier references\" as specified in RFC 2396 | |
204 | (and updated by RFC 2732).") | |
205 | (home-page "http://search.cpan.org/~gaas/URI/"))) | |
24b3c053 AE |
206 | |
207 | (define-public perl-lwp-mediatypes | |
208 | (package | |
209 | (name "perl-lwp-mediatypes") | |
210 | (version "6.02") | |
211 | (source (origin | |
212 | (method url-fetch) | |
213 | (uri (string-append | |
214 | "mirror://cpan/authors/id/G/GA/GAAS/LWP-MediaTypes-" | |
215 | version ".tar.gz")) | |
216 | (sha256 | |
217 | (base32 | |
218 | "0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q")))) | |
219 | (build-system perl-build-system) | |
220 | (license (package-license perl)) | |
221 | (synopsis "Perl module to guess the media type for a file or a URL") | |
222 | (description | |
223 | "The LWP::MediaTypes module provides functions for handling media (also | |
224 | known as MIME) types and encodings. The mapping from file extensions to | |
225 | media types is defined by the media.types file. If the ~/.media.types file | |
226 | exists it is used instead.") | |
227 | (home-page "http://search.cpan.org/~gaas/LWP-MediaTypes/"))) | |
e426106b AE |
228 | |
229 | (define-public perl-io-html | |
230 | (package | |
231 | (name "perl-io-html") | |
232 | (version "1.00") | |
233 | (source (origin | |
234 | (method url-fetch) | |
235 | (uri (string-append | |
236 | "mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-" | |
237 | version ".tar.gz")) | |
238 | (sha256 | |
239 | (base32 | |
240 | "06nj3a0xgp5jxwxx6ayglfk2v7npf5a7gwkqsjlkapjkybarzqh4")))) | |
241 | (build-system perl-build-system) | |
242 | (license (package-license perl)) | |
243 | (synopsis "Perl module to open an HTML file with automatic charset detection") | |
244 | (description | |
245 | "IO::HTML provides an easy way to open a file containing HTML while | |
246 | automatically determining its encoding. It uses the HTML5 encoding sniffing | |
247 | algorithm specified in section 8.2.2.1 of the draft standard.") | |
248 | (home-page "http://search.cpan.org/~cjm/IO-HTML/"))) | |
91318a9e AE |
249 | |
250 | (define-public perl-http-message | |
251 | (package | |
252 | (name "perl-http-message") | |
253 | (version "6.06") | |
254 | (source (origin | |
255 | (method url-fetch) | |
256 | (uri (string-append | |
257 | "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Message-" | |
258 | version ".tar.gz")) | |
259 | (sha256 | |
260 | (base32 | |
261 | "0qxdrcak97azjvqyx1anpb2ky6vp6vc37x0wcfjdqfajkh09fzh8")))) | |
262 | (build-system perl-build-system) | |
daee66fc | 263 | (propagated-inputs |
91318a9e | 264 | `(("perl-http-date" ,perl-http-date) |
f852114e AE |
265 | ("perl-uri" ,perl-uri))) |
266 | (inputs | |
267 | `(("perl-io-html" ,perl-io-html) | |
daee66fc | 268 | ("perl-lwp-mediatypes" ,perl-lwp-mediatypes))) |
91318a9e AE |
269 | (license (package-license perl)) |
270 | (synopsis "Perl HTTP style message") | |
271 | (description | |
272 | "An HTTP::Message object contains some headers and a content body.") | |
273 | (home-page "http://search.cpan.org/~gaas/HTTP-Message/"))) | |
b3d18aff AE |
274 | |
275 | (define-public perl-http-cookies | |
276 | (package | |
277 | (name "perl-http-cookies") | |
278 | (version "6.01") | |
279 | (source (origin | |
280 | (method url-fetch) | |
281 | (uri (string-append | |
282 | "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Cookies-" | |
283 | version ".tar.gz")) | |
284 | (sha256 | |
285 | (base32 | |
286 | "087bqmg22dg3vj7gssh3pcsh9y1scimkbl5h1kc8jqyfhgisvlzm")))) | |
287 | (build-system perl-build-system) | |
800de8da | 288 | (propagated-inputs |
f852114e | 289 | `(("perl-http-message" ,perl-http-message))) |
b3d18aff AE |
290 | (license (package-license perl)) |
291 | (synopsis "Perl HTTP cookie jars") | |
292 | (description | |
293 | "The HTTP::Cookies class is for objects that represent a cookie jar, | |
294 | that is, a database of all the HTTP cookies that a given LWP::UserAgent | |
295 | object knows about.") | |
296 | (home-page "http://search.cpan.org/~gaas/HTTP-Cookies/"))) | |
3f41e6b3 AE |
297 | |
298 | (define-public perl-http-daemon | |
299 | (package | |
300 | (name "perl-http-daemon") | |
301 | (version "6.01") | |
302 | (source (origin | |
303 | (method url-fetch) | |
304 | (uri (string-append | |
305 | "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Daemon-" | |
306 | version ".tar.gz")) | |
307 | (sha256 | |
308 | (base32 | |
309 | "1hmd2isrkilf0q0nkxms1q64kikjmcw9imbvrjgky6kh89vqdza3")))) | |
310 | (build-system perl-build-system) | |
6e8cf5c9 | 311 | (propagated-inputs |
f852114e | 312 | `(("perl-http-message" ,perl-http-message) |
6e8cf5c9 | 313 | ("perl-lwp-mediatypes" ,perl-lwp-mediatypes))) |
3f41e6b3 AE |
314 | (license (package-license perl)) |
315 | (synopsis "Perl simple http server class") | |
316 | (description | |
317 | "Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen | |
318 | on a socket for incoming requests. The HTTP::Daemon is a subclass of | |
319 | IO::Socket::INET, so you can perform socket operations directly on it too.") | |
320 | (home-page "http://search.cpan.org/~gaas/HTTP-Daemon/"))) | |
e7444ee2 AE |
321 | |
322 | (define-public perl-http-negotiate | |
323 | (package | |
324 | (name "perl-http-negotiate") | |
325 | (version "6.01") | |
326 | (source (origin | |
327 | (method url-fetch) | |
328 | (uri (string-append | |
329 | "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-" | |
330 | version ".tar.gz")) | |
331 | (sha256 | |
332 | (base32 | |
333 | "05p053vjs5g91v5cmjnny7a3xzddz5k7vnjw81wfh01ilqg9qwhw")))) | |
334 | (build-system perl-build-system) | |
d0bb5f77 AE |
335 | (propagated-inputs |
336 | `(("perl-http-message" ,perl-http-message))) | |
e7444ee2 AE |
337 | (license (package-license perl)) |
338 | (synopsis "Perl http content negotiation") | |
339 | (description | |
340 | "The HTTP::Negotiate module provides a complete implementation of the | |
341 | HTTP content negotiation algorithm specified in | |
342 | draft-ietf-http-v11-spec-00.ps chapter 12. Content negotiation allows for | |
343 | the selection of a preferred content representation based upon attributes | |
344 | of the negotiable variants and the value of the various Accept* header | |
345 | fields in the request.") | |
346 | (home-page "http://search.cpan.org/~gaas/HTTP-Negotiate/"))) | |
a3eb919f AE |
347 | |
348 | (define-public perl-www-robotrules | |
349 | (package | |
350 | (name "perl-www-robotrules") | |
351 | (version "6.02") | |
352 | (source (origin | |
353 | (method url-fetch) | |
354 | (uri (string-append | |
355 | "mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-" | |
356 | version ".tar.gz")) | |
357 | (sha256 | |
358 | (base32 | |
359 | "07m50dp5n5jxv3m93i55qvnd67a6g7cvbvlik115kmc8lbkh5da6")))) | |
360 | (build-system perl-build-system) | |
3adf5888 | 361 | (propagated-inputs |
a3eb919f AE |
362 | `(("perl-uri" ,perl-uri))) |
363 | (license (package-license perl)) | |
364 | (synopsis "Perl database of robots.txt-derived permissions") | |
365 | (description | |
366 | "The WWW::RobotRules module parses /robots.txt files as specified in | |
367 | \"A Standard for Robot Exclusion\", at | |
368 | <http://www.robotstxt.org/wc/norobots.html>. Webmasters can use the | |
369 | /robots.txt file to forbid conforming robots from accessing parts of | |
370 | their web site.") | |
371 | (home-page "http://search.cpan.org/~gaas/WWW-RobotRules/"))) | |
677078b4 AE |
372 | |
373 | (define-public perl-net-http | |
374 | (package | |
375 | (name "perl-net-http") | |
376 | (version "6.06") | |
377 | (source (origin | |
378 | (method url-fetch) | |
379 | (uri (string-append | |
380 | "mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-" | |
381 | version ".tar.gz")) | |
382 | (sha256 | |
383 | (base32 | |
384 | "1m1rvniffadq99gsy25298ia3lixwymr6kan64jd3ylyi7nkqkhx")))) | |
385 | (build-system perl-build-system) | |
386 | (license (package-license perl)) | |
387 | (synopsis "Perl low-level HTTP connection (client)") | |
388 | (description | |
389 | "The Net::HTTP class is a low-level HTTP client. An instance of the | |
390 | Net::HTTP class represents a connection to an HTTP server. The HTTP protocol | |
391 | is described in RFC 2616. The Net::HTTP class supports HTTP/1.0 and | |
392 | HTTP/1.1.") | |
393 | (home-page "http://search.cpan.org/~gaas/Net-HTTP/"))) | |
56aa03b0 AE |
394 | |
395 | (define-public perl-file-listing | |
396 | (package | |
397 | (name "perl-file-listing") | |
398 | (version "6.04") | |
399 | (source (origin | |
400 | (method url-fetch) | |
401 | (uri (string-append | |
402 | "mirror://cpan/authors/id/G/GA/GAAS/File-Listing-" | |
403 | version ".tar.gz")) | |
404 | (sha256 | |
405 | (base32 | |
406 | "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y")))) | |
407 | (build-system perl-build-system) | |
846972eb | 408 | (propagated-inputs |
56aa03b0 AE |
409 | `(("perl-http-date" ,perl-http-date))) |
410 | (license (package-license perl)) | |
411 | (synopsis "Perl directory listing parser") | |
412 | (description | |
413 | "The File::Listing module exports a single function called parse_dir(), | |
414 | which can be used to parse directory listings.") | |
415 | (home-page "http://search.cpan.org/~gaas/File-Listing/"))) | |
09a8778f AE |
416 | |
417 | (define-public perl-encode-locale | |
418 | (package | |
419 | (name "perl-encode-locale") | |
420 | (version "1.03") | |
421 | (source (origin | |
422 | (method url-fetch) | |
423 | (uri (string-append | |
424 | "mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-" | |
425 | version ".tar.gz")) | |
426 | (sha256 | |
427 | (base32 | |
428 | "0m9d1vdphlyzybgmdanipwd9ndfvyjgk3hzw250r299jjgh3fqzp")))) | |
429 | (build-system perl-build-system) | |
430 | (license (package-license perl)) | |
431 | (synopsis "Perl locale encoding determination") | |
432 | (description | |
433 | "The POSIX locale system is used to specify both the language | |
434 | conventions requested by the user and the preferred character set to consume | |
435 | and output. The Encode::Locale module looks up the charset and encoding | |
436 | (called a CODESET in the locale jargon) and arranges for the Encode module | |
437 | to know this encoding under the name \"locale\". It means bytes obtained | |
438 | from the environment can be converted to Unicode strings by calling | |
439 | Encode::encode(locale => $bytes) and converted back again with | |
440 | Encode::decode(locale => $string).") | |
441 | (home-page "http://search.cpan.org/~gaas/Encode-Locale/"))) | |
374a9a85 AE |
442 | |
443 | (define-public perl-libwww | |
444 | (package | |
445 | (name "perl-libwww") | |
446 | (version "6.05") | |
447 | (source (origin | |
448 | (method url-fetch) | |
449 | (uri (string-append | |
450 | "mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-" | |
451 | version ".tar.gz")) | |
452 | (sha256 | |
453 | (base32 | |
454 | "08wgwyz7748pv5cyngxia0xl6nragfnhrp4p9s78xhgfyygpj9bv")))) | |
455 | (build-system perl-build-system) | |
d42daec0 | 456 | (propagated-inputs |
374a9a85 AE |
457 | `(("perl-encode-locale" ,perl-encode-locale) |
458 | ("perl-file-listing" ,perl-file-listing) | |
459 | ("perl-html-parser" ,perl-html-parser) | |
460 | ("perl-http-cookies" ,perl-http-cookies) | |
374a9a85 | 461 | ("perl-http-daemon" ,perl-http-daemon) |
374a9a85 | 462 | ("perl-http-negotiate" ,perl-http-negotiate) |
374a9a85 | 463 | ("perl-net-http" ,perl-net-http) |
374a9a85 AE |
464 | ("perl-www-robotrules" ,perl-www-robotrules))) |
465 | (license (package-license perl)) | |
466 | (synopsis "Perl modules for the WWW") | |
467 | (description | |
468 | "The libwww-perl collection is a set of Perl modules which provides a | |
469 | simple and consistent application programming interface to the | |
470 | World-Wide Web. The main focus of the library is to provide classes | |
471 | and functions that allow you to write WWW clients. The library also | |
472 | contain modules that are of more general use and even classes that | |
473 | help you implement simple HTTP servers.") | |
474 | (home-page "http://search.cpan.org/~gaas/libwww-perl/"))) | |
b777d784 JD |
475 | |
476 | (define-public tinyproxy | |
477 | (package | |
478 | (name "tinyproxy") | |
479 | (version "1.8.3") | |
480 | (source (origin | |
481 | (method url-fetch) | |
482 | (uri (string-append | |
483 | "http://www.samba.org/~obnox/" name "/download/" name "-" version ".tar.bz2")) | |
484 | (sha256 | |
485 | (base32 | |
486 | "0vl9igw7vm924rs6d6bkib7zfclxnlf9s8rmml1sfwj7xda9nmdy")))) | |
487 | (build-system gnu-build-system) | |
488 | (arguments | |
489 | `(#:configure-flags | |
490 | (list | |
491 | ;; For the log file, etc. | |
492 | "--localstatedir=/var") | |
493 | #:phases | |
494 | (alist-cons-before | |
495 | 'build 'pre-build | |
496 | (lambda* (#:key inputs #:allow-other-keys #:rest args) | |
497 | ;; This stuff is needed, because without it, xmlint etc tries | |
498 | ;; to download docbookx.dtd and docbook.xsl from the net | |
499 | (let ((build (assoc-ref %standard-phases 'build)) | |
500 | (docbook-xml (assoc-ref inputs "docbook-xml")) | |
501 | (docbook-xsl (assoc-ref inputs "docbook-xsl")) | |
502 | (our-catalog "/tmp/docbook-xml.xml")) | |
503 | (setenv "XML_CATALOG_FILES" our-catalog) | |
504 | (with-output-to-file our-catalog | |
505 | (lambda () | |
506 | (display (string-append | |
507 | "<?xml version=\"1.0\"?> | |
508 | <!DOCTYPE catalog PUBLIC \"-//OASIS//DTD XML Catalogs V1.0//EN\" | |
509 | \"file:///usr/share/xml/schema/xml-core/catalog.dtd\"> | |
510 | <catalog xmlns=\"urn:oasis:names:tc:entity:xmlns:xml:catalog\"> | |
511 | <system systemId=\"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\" | |
512 | uri=\"file://" docbook-xml "/xml/dtd/docbook/docbookx.dtd\"/> | |
513 | <system systemId=\"http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\" | |
514 | uri=\"file://" docbook-xsl "/xml/xsl/docbook-xsl-1.72.0/manpages/docbook.xsl\"/> | |
515 | </catalog>\n")))))) | |
516 | %standard-phases))) | |
517 | ;; All of the below are used to generate the documentation | |
518 | ;; (Should they be propagated inputs of asciidoc ??) | |
519 | (native-inputs `(("asciidoc" ,asciidoc) | |
520 | ("libxml2" ,libxml2) | |
521 | ("docbook-xml" ,docbook-xml) | |
522 | ("docbook-xsl" ,docbook-xsl) | |
523 | ("libxslt" ,libxslt))) | |
524 | (home-page "https://banu.com/tinyproxy/") | |
525 | (synopsis "Light-weight HTTP/HTTPS proxy daemon") | |
526 | (description "Tinyproxy is a light-weight HTTP/HTTPS proxy | |
527 | daemon. Designed from the ground up to be fast and yet small, it is an ideal | |
528 | solution for use cases such as embedded deployments where a full featured HTTP | |
529 | proxy is required, but the system resources for a larger proxy are | |
530 | unavailable.") | |
531 | (license l:gpl2+))) |