linux-initrd: Add USB kernel modules to the default initrd.
[jackhill/guix/guix.git] / gnu / packages / web.scm
CommitLineData
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>
3246cc91 4;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
c9d512fa 5;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
29a2ccd3
AP
6;;;
7;;; This file is part of GNU Guix.
8;;;
9;;; GNU Guix is free software; you can redistribute it and/or modify it
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
14;;; GNU Guix is distributed in the hope that it will be useful, but
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
21
22(define-module (gnu packages web)
c9d512fa 23 #:use-module (ice-9 match)
b5b73a82 24 #:use-module ((guix licenses) #:prefix l:)
29a2ccd3
AP
25 #:use-module (guix packages)
26 #:use-module (guix download)
833efa0d 27 #:use-module (guix git-download)
29a2ccd3 28 #:use-module (guix build-system gnu)
c2337213
LC
29 #:use-module (guix build-system perl)
30 #:use-module (guix build-system cmake)
29a2ccd3 31 #:use-module (gnu packages apr)
b777d784
JD
32 #:use-module (gnu packages asciidoc)
33 #:use-module (gnu packages docbook)
833efa0d
LC
34 #:use-module (gnu packages autotools)
35 #:use-module ((gnu packages compression) #:select (zlib))
29a2ccd3 36 #:use-module (gnu packages openssl)
488e8863
EB
37 #:use-module (gnu packages gettext)
38 #:use-module (gnu packages icu4c)
39 #:use-module (gnu packages which)
c9ea41ff 40 #:use-module (gnu packages pcre)
b777d784 41 #:use-module (gnu packages xml)
d22d72fc 42 #:use-module (gnu packages curl)
c9ea41ff 43 #:use-module (gnu packages perl))
29a2ccd3
AP
44
45(define-public httpd
46 (package
47 (name "httpd")
48 (version "2.4.6")
49 (source (origin
50 (method url-fetch)
51 (uri (string-append "mirror://apache/httpd/httpd-"
52 version ".tar.bz2"))
53 (sha256
54 (base32
55 "1sig08xxq1kqxr2a42ndwr9g4mm6zdqnxldhxraym2y0xcjkd7yw"))))
56 (build-system gnu-build-system)
57 (inputs `(("apr" ,apr)
58 ("apr-util" ,apr-util)
59 ("openssl" ,openssl)
60 ("pcre" ,pcre)))
61 (arguments
62 `(#:test-target "test"
63 #:configure-flags (list "--enable-rewrite"
64 "--enable-userdir"
65 "--enable-vhost-alias"
66 "--enable-ssl"
67 "--enable-mime-magic"
68 (string-append "--sysconfdir="
69 (assoc-ref %outputs "out")
70 "/etc/httpd"))))
71 (synopsis "Featureful HTTP server")
72 (description
73 "The Apache HTTP Server Project is a collaborative software development
74effort aimed at creating a robust, commercial-grade, featureful, and
35b9e423
EB
75freely-available source code implementation of an HTTP (Web) server. The
76project is jointly managed by a group of volunteers located around the world,
77using the Internet and the Web to communicate, plan, and develop the server
78and its related documentation.")
29a2ccd3
AP
79 (license l:asl2.0)
80 (home-page "https://httpd.apache.org/")))
c9ea41ff 81
c9d512fa
MW
82(define-public nginx
83 (package
84 (name "nginx")
85 (version "1.6.2")
86 (source (origin
87 (method url-fetch)
88 (uri (string-append "http://nginx.org/download/nginx-"
89 version ".tar.gz"))
90 (sha256
91 (base32
92 "060s77qxhkn02fjkcndsr0xppj2bppjzkj0gn84svrykb4lqqq5m"))))
93 (build-system gnu-build-system)
94 (inputs `(("pcre" ,pcre)
95 ("openssl" ,openssl)
96 ("zlib" ,zlib)))
97 (arguments
98 `(#:tests? #f ; no test target
99 #:phases
100 (alist-cons-before
101 'configure 'patch-/bin/sh
102 (lambda _
103 (substitute* "auto/feature"
104 (("/bin/sh") (which "bash"))))
105 (alist-replace
106 'configure
107 (lambda* (#:key outputs #:allow-other-keys)
108 (let ((flags
109 (list (string-append "--prefix=" (assoc-ref outputs "out"))
110 "--with-http_ssl_module"
111 "--with-pcre-jit"
112 "--with-ipv6"
113 "--with-debug"
114 ;; Even when not cross-building, we pass the
115 ;; --crossbuild option to avoid customizing for the
116 ;; kernel version on the build machine.
117 ,(let ((system "Linux") ; uname -s
118 (release "2.6.32") ; uname -r
119 ;; uname -m
120 (machine (match (or (%current-target-system)
121 (%current-system))
122 ("x86_64-linux" "x86_64")
123 ("i686-linux" "i686")
124 ("mips64el-linux" "mips64"))))
125 (string-append "--crossbuild="
126 system ":" release ":" machine)))))
127 (setenv "CC" "gcc")
128 (format #t "environment variable `CC' set to `gcc'~%")
129 (format #t "configure flags: ~s~%" flags)
130 (zero? (apply system* "./configure" flags))))
131 %standard-phases))))
132 (home-page "http://nginx.org")
133 (synopsis "HTTP and reverse proxy server")
134 (description
135 "Nginx (\"engine X\") is a high-performance web and reverse proxy server
136created by Igor Sysoev. It can be used both as a standalone web server
137and as a proxy to reduce the load on back-end HTTP or mail servers.")
138 ;; Almost all of nginx is distributed under the bsd-2 license.
139 ;; The exceptions are:
140 ;; * The 'nginx-http-push' module is covered by the expat license.
141 ;; * The 'nginx-development-kit' module is mostly covered by bsd-3,
142 ;; except for two source files which are bsd-4 licensed.
143 (license (list l:bsd-2 l:expat l:bsd-3 l:bsd-4))))
144
f6ad09ae
LC
145(define-public json-c
146 (package
147 (name "json-c")
148 (version "0.12")
149 (source (origin
150 (method url-fetch)
151 (uri (string-append "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
152 version ".tar.gz"))
153 (sha256
154 (base32
155 "0gwzic3ifg2d0w32ya3agpxh8i083cgvf7kmc51cnbgqnfr02300"))
156 (modules '((guix build utils)))
157 (snippet
158 '(begin
159 ;; Somehow 'config.h.in' is older than
160 ;; 'aclocal.m4', which would trigger a rule to
161 ;; run 'autoheader'.
162 (set-file-time "config.h.in"
163 (stat "aclocal.m4"))
164
165 ;; Don't try to build with -Werror.
166 (substitute* (find-files "." "Makefile\\.in")
167 (("-Werror") ""))))))
168 (build-system gnu-build-system)
169 (arguments '(#:parallel-build? #f
170 #:parallel-tests? #f))
171 (home-page "https://github.com/json-c/json-c/wiki")
172 (synopsis "JSON implementation in C")
173 (description
174 "JSON-C implements a reference counting object model that allows you to
175easily construct JSON objects in C, output them as JSON formatted strings and
176parse JSON formatted strings back into the C representation of JSON objects.")
177 (license l:x11)))
178
833efa0d
LC
179(define-public libwebsockets
180 (package
181 (name "libwebsockets")
c2337213 182 (version "1.3")
833efa0d
LC
183 (source (origin
184 ;; The project does not publish tarballs, so we have to take
185 ;; things from Git.
186 (method git-fetch)
187 (uri (git-reference
188 (url "git://git.libwebsockets.org/libwebsockets")
189 (commit (string-append "v" version
c2337213 190 "-chrome37-firefox30"))))
833efa0d
LC
191 (sha256
192 (base32
c2337213 193 "12fqh2d2098mgf0ls19p9lzibpsqhv7mc5rn1yvrbfnazmcr40g4"))
833efa0d
LC
194 (file-name (string-append name "-" version))))
195
c2337213 196 (build-system cmake-build-system)
833efa0d 197 (arguments
c2337213
LC
198 ;; XXX: The thing lacks a 'make test' target, because CMakeLists.txt
199 ;; doesn't use 'add_test', and it's unclear how to run the test suite.
200 '(#:tests? #f))
833efa0d 201
c2337213 202 (native-inputs `(("perl" ,perl))) ; to build the HTML doc
833efa0d
LC
203 (inputs `(("zlib" ,zlib)
204 ("openssl" ,openssl)))
205 (synopsis "WebSockets library written in C")
206 (description
35b9e423 207 "Libwebsockets is a library that allows C programs to establish client
833efa0d
LC
208and server WebSockets connections---a protocol layered above HTTP that allows
209for efficient socket-like bidirectional reliable communication channels.")
210 (home-page "http://libwebsockets.org/")
211
212 ;; This is LGPLv2.1-only with extra exceptions specified in 'LICENSE'.
213 (license l:lgpl2.1)))
214
488e8863
EB
215(define-public libpsl
216 (package
217 (name "libpsl")
218 (version "0.6.0")
219 (source (origin
220 (method url-fetch)
221 (uri (string-append "https://github.com/rockdaboot/libpsl/"
222 "archive/" version ".tar.gz"))
223 (sha256
224 (base32
5220e620
MW
225 "10s7xxxx6pp4ydp3san69sa6q379ih3pv92fyi565ggmlw8igv7a"))
226 (file-name (string-append name "-" version ".tar.gz"))))
488e8863
EB
227 (build-system gnu-build-system)
228 (inputs `(("icu4c" ,icu4c)))
229 ;; The release tarball lacks the generated files.
230 (native-inputs `(("autoconf" ,autoconf)
231 ("automake" ,automake)
232 ("gettext" ,gnu-gettext)
233 ("which" ,which)
3246cc91 234 ("libtool" ,libtool)))
488e8863
EB
235 (arguments
236 `(#:phases (alist-cons-before
237 'bootstrap 'fix-autogen-shebang
238 (lambda _
239 (substitute* "autogen.sh"
240 ;; Removing -e as it causes the whole script to fail when
241 ;; `which gtkdocize` fails.
242 (("# !/bin/sh -e") (string-append "#!" (which "sh")))))
243 (alist-cons-before
244 'patch-usr-bin-file 'bootstrap
245 (lambda _
246 (zero? (system* "./autogen.sh")))
247 %standard-phases))))
248 (home-page "https://github.com/rockdaboot/libpsl")
249 (synopsis "C library for the Publix Suffix List")
250 (description
251 "A \"public suffix\" is a domain name under which Internet users can
252directly register own names.
253
254Browsers and other web clients can use it to avoid privacy-leaking
255\"supercookies\", avoid privacy-leaking \"super domain\" certificates, domain
256highlighting parts of the domain in a user interface, and sorting domain lists
257by site.
258
259Libpsl has built-in PSL data for fast access, allows to load PSL data from
260files, checks if a given domain is a public suffix, provides immediate cookie
261domain verification, finds the longest public part of a given domain, finds
262the shortest private part of a given domain, works with international
263domains (UTF-8 and IDNA2008 Punycode), is thread-safe, and handles IDNA2008
264UTS#46")
265 (license l:x11)))
266
c9ea41ff
AE
267(define-public perl-html-tagset
268 (package
269 (name "perl-html-tagset")
270 (version "3.20")
271 (source (origin
272 (method url-fetch)
273 (uri (string-append
274 "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-"
275 version ".tar.gz"))
276 (sha256
277 (base32
278 "1qh8249wgr4v9vgghq77zh1d2zs176bir223a8gh3k9nksn7vcdd"))))
279 (build-system perl-build-system)
280 (license (package-license perl))
281 (synopsis "Perl data tables useful in parsing HTML")
282 (description
283 "The HTML::Tagset module contains several data tables useful in various
284kinds of HTML parsing operations.")
285 (home-page "http://search.cpan.org/dist/HTML-Tagset/")))
286
8ec0d3fb
AE
287(define-public perl-html-parser
288 (package
289 (name "perl-html-parser")
290 (version "3.71")
291 (source (origin
292 (method url-fetch)
293 (uri (string-append
294 "mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-"
295 version ".tar.gz"))
296 (sha256
297 (base32
298 "00nqzdgl7c3jilx7mil19k5jwcw3as14pvkjgxi97zyk94vqp4dy"))))
299 (build-system perl-build-system)
300 (inputs
301 `(("perl-html-tagset" ,perl-html-tagset)))
302 (license (package-license perl))
303 (synopsis "Perl HTML parser class")
304 (description
305 "Objects of the HTML::Parser class will recognize markup and separate
306it from plain text (alias data content) in HTML documents. As different
307kinds of markup and text are recognized, the corresponding event handlers
308are invoked.")
309 (home-page "http://search.cpan.org/~gaas/HTML-Parser/")))
ae2aa18d
AE
310
311(define-public perl-http-date
312 (package
313 (name "perl-http-date")
314 (version "6.02")
315 (source (origin
316 (method url-fetch)
317 (uri (string-append
318 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-"
319 version ".tar.gz"))
320 (sha256
321 (base32
322 "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8"))))
323 (build-system perl-build-system)
324 (license (package-license perl))
325 (synopsis "Perl date conversion routines")
326 (description
327 "The HTTP::Date module provides functions that deal with date formats
328used by the HTTP protocol (and then some more).")
329 (home-page "http://search.cpan.org/~gaas/HTTP-Date/")))
fea5ebb1
AE
330
331(define-public perl-uri
332 (package
333 (name "perl-uri")
334 (version "1.60")
335 (source (origin
336 (method url-fetch)
337 (uri (string-append
338 "mirror://cpan/authors/id/G/GA/GAAS/URI-"
339 version ".tar.gz"))
340 (sha256
341 (base32
342 "0xr31mf7lfrwhyvlx4pzp6p7alls5gi4bj8pk5g89f5cckfd74hz"))))
343 (build-system perl-build-system)
344 (license (package-license perl))
345 (synopsis "Perl Uniform Resource Identifiers (absolute and relative)")
346 (description
347 "The URI module implements the URI class. Objects of this class
348represent \"Uniform Resource Identifier references\" as specified in RFC 2396
349(and updated by RFC 2732).")
350 (home-page "http://search.cpan.org/~gaas/URI/")))
24b3c053
AE
351
352(define-public perl-lwp-mediatypes
353 (package
354 (name "perl-lwp-mediatypes")
355 (version "6.02")
356 (source (origin
357 (method url-fetch)
358 (uri (string-append
359 "mirror://cpan/authors/id/G/GA/GAAS/LWP-MediaTypes-"
360 version ".tar.gz"))
361 (sha256
362 (base32
363 "0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q"))))
364 (build-system perl-build-system)
365 (license (package-license perl))
366 (synopsis "Perl module to guess the media type for a file or a URL")
367 (description
368 "The LWP::MediaTypes module provides functions for handling media (also
369known as MIME) types and encodings. The mapping from file extensions to
370media types is defined by the media.types file. If the ~/.media.types file
371exists it is used instead.")
372 (home-page "http://search.cpan.org/~gaas/LWP-MediaTypes/")))
e426106b
AE
373
374(define-public perl-io-html
375 (package
376 (name "perl-io-html")
377 (version "1.00")
378 (source (origin
379 (method url-fetch)
380 (uri (string-append
381 "mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-"
382 version ".tar.gz"))
383 (sha256
384 (base32
385 "06nj3a0xgp5jxwxx6ayglfk2v7npf5a7gwkqsjlkapjkybarzqh4"))))
386 (build-system perl-build-system)
387 (license (package-license perl))
388 (synopsis "Perl module to open an HTML file with automatic charset detection")
389 (description
390 "IO::HTML provides an easy way to open a file containing HTML while
391automatically determining its encoding. It uses the HTML5 encoding sniffing
392algorithm specified in section 8.2.2.1 of the draft standard.")
393 (home-page "http://search.cpan.org/~cjm/IO-HTML/")))
91318a9e
AE
394
395(define-public perl-http-message
396 (package
397 (name "perl-http-message")
398 (version "6.06")
399 (source (origin
400 (method url-fetch)
401 (uri (string-append
402 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Message-"
403 version ".tar.gz"))
404 (sha256
405 (base32
406 "0qxdrcak97azjvqyx1anpb2ky6vp6vc37x0wcfjdqfajkh09fzh8"))))
407 (build-system perl-build-system)
daee66fc 408 (propagated-inputs
91318a9e 409 `(("perl-http-date" ,perl-http-date)
f852114e
AE
410 ("perl-uri" ,perl-uri)))
411 (inputs
412 `(("perl-io-html" ,perl-io-html)
daee66fc 413 ("perl-lwp-mediatypes" ,perl-lwp-mediatypes)))
91318a9e
AE
414 (license (package-license perl))
415 (synopsis "Perl HTTP style message")
416 (description
417 "An HTTP::Message object contains some headers and a content body.")
418 (home-page "http://search.cpan.org/~gaas/HTTP-Message/")))
b3d18aff
AE
419
420(define-public perl-http-cookies
421 (package
422 (name "perl-http-cookies")
423 (version "6.01")
424 (source (origin
425 (method url-fetch)
426 (uri (string-append
427 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Cookies-"
428 version ".tar.gz"))
429 (sha256
430 (base32
431 "087bqmg22dg3vj7gssh3pcsh9y1scimkbl5h1kc8jqyfhgisvlzm"))))
432 (build-system perl-build-system)
800de8da 433 (propagated-inputs
f852114e 434 `(("perl-http-message" ,perl-http-message)))
b3d18aff
AE
435 (license (package-license perl))
436 (synopsis "Perl HTTP cookie jars")
437 (description
438 "The HTTP::Cookies class is for objects that represent a cookie jar,
439that is, a database of all the HTTP cookies that a given LWP::UserAgent
440object knows about.")
441 (home-page "http://search.cpan.org/~gaas/HTTP-Cookies/")))
3f41e6b3
AE
442
443(define-public perl-http-daemon
444 (package
445 (name "perl-http-daemon")
446 (version "6.01")
447 (source (origin
448 (method url-fetch)
449 (uri (string-append
450 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Daemon-"
451 version ".tar.gz"))
452 (sha256
453 (base32
454 "1hmd2isrkilf0q0nkxms1q64kikjmcw9imbvrjgky6kh89vqdza3"))))
455 (build-system perl-build-system)
6e8cf5c9 456 (propagated-inputs
f852114e 457 `(("perl-http-message" ,perl-http-message)
6e8cf5c9 458 ("perl-lwp-mediatypes" ,perl-lwp-mediatypes)))
3f41e6b3
AE
459 (license (package-license perl))
460 (synopsis "Perl simple http server class")
461 (description
462 "Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen
463on a socket for incoming requests. The HTTP::Daemon is a subclass of
464IO::Socket::INET, so you can perform socket operations directly on it too.")
465 (home-page "http://search.cpan.org/~gaas/HTTP-Daemon/")))
e7444ee2
AE
466
467(define-public perl-http-negotiate
468 (package
469 (name "perl-http-negotiate")
470 (version "6.01")
471 (source (origin
472 (method url-fetch)
473 (uri (string-append
474 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-"
475 version ".tar.gz"))
476 (sha256
477 (base32
478 "05p053vjs5g91v5cmjnny7a3xzddz5k7vnjw81wfh01ilqg9qwhw"))))
479 (build-system perl-build-system)
d0bb5f77
AE
480 (propagated-inputs
481 `(("perl-http-message" ,perl-http-message)))
e7444ee2
AE
482 (license (package-license perl))
483 (synopsis "Perl http content negotiation")
484 (description
485 "The HTTP::Negotiate module provides a complete implementation of the
486HTTP content negotiation algorithm specified in
487draft-ietf-http-v11-spec-00.ps chapter 12. Content negotiation allows for
488the selection of a preferred content representation based upon attributes
489of the negotiable variants and the value of the various Accept* header
490fields in the request.")
491 (home-page "http://search.cpan.org/~gaas/HTTP-Negotiate/")))
a3eb919f
AE
492
493(define-public perl-www-robotrules
494 (package
495 (name "perl-www-robotrules")
496 (version "6.02")
497 (source (origin
498 (method url-fetch)
499 (uri (string-append
500 "mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-"
501 version ".tar.gz"))
502 (sha256
503 (base32
504 "07m50dp5n5jxv3m93i55qvnd67a6g7cvbvlik115kmc8lbkh5da6"))))
505 (build-system perl-build-system)
3adf5888 506 (propagated-inputs
a3eb919f
AE
507 `(("perl-uri" ,perl-uri)))
508 (license (package-license perl))
509 (synopsis "Perl database of robots.txt-derived permissions")
510 (description
511 "The WWW::RobotRules module parses /robots.txt files as specified in
512\"A Standard for Robot Exclusion\", at
513<http://www.robotstxt.org/wc/norobots.html>. Webmasters can use the
514/robots.txt file to forbid conforming robots from accessing parts of
515their web site.")
516 (home-page "http://search.cpan.org/~gaas/WWW-RobotRules/")))
677078b4
AE
517
518(define-public perl-net-http
519 (package
520 (name "perl-net-http")
521 (version "6.06")
522 (source (origin
523 (method url-fetch)
524 (uri (string-append
525 "mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-"
526 version ".tar.gz"))
527 (sha256
528 (base32
529 "1m1rvniffadq99gsy25298ia3lixwymr6kan64jd3ylyi7nkqkhx"))))
530 (build-system perl-build-system)
531 (license (package-license perl))
532 (synopsis "Perl low-level HTTP connection (client)")
533 (description
534 "The Net::HTTP class is a low-level HTTP client. An instance of the
535Net::HTTP class represents a connection to an HTTP server. The HTTP protocol
536is described in RFC 2616. The Net::HTTP class supports HTTP/1.0 and
537HTTP/1.1.")
538 (home-page "http://search.cpan.org/~gaas/Net-HTTP/")))
56aa03b0
AE
539
540(define-public perl-file-listing
541 (package
542 (name "perl-file-listing")
543 (version "6.04")
544 (source (origin
545 (method url-fetch)
546 (uri (string-append
547 "mirror://cpan/authors/id/G/GA/GAAS/File-Listing-"
548 version ".tar.gz"))
549 (sha256
550 (base32
551 "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y"))))
552 (build-system perl-build-system)
846972eb 553 (propagated-inputs
56aa03b0
AE
554 `(("perl-http-date" ,perl-http-date)))
555 (license (package-license perl))
556 (synopsis "Perl directory listing parser")
557 (description
558 "The File::Listing module exports a single function called parse_dir(),
559which can be used to parse directory listings.")
560 (home-page "http://search.cpan.org/~gaas/File-Listing/")))
09a8778f
AE
561
562(define-public perl-encode-locale
563 (package
564 (name "perl-encode-locale")
565 (version "1.03")
566 (source (origin
567 (method url-fetch)
568 (uri (string-append
569 "mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-"
570 version ".tar.gz"))
571 (sha256
572 (base32
573 "0m9d1vdphlyzybgmdanipwd9ndfvyjgk3hzw250r299jjgh3fqzp"))))
574 (build-system perl-build-system)
575 (license (package-license perl))
576 (synopsis "Perl locale encoding determination")
577 (description
578 "The POSIX locale system is used to specify both the language
579conventions requested by the user and the preferred character set to consume
580and output. The Encode::Locale module looks up the charset and encoding
581(called a CODESET in the locale jargon) and arranges for the Encode module
582to know this encoding under the name \"locale\". It means bytes obtained
583from the environment can be converted to Unicode strings by calling
584Encode::encode(locale => $bytes) and converted back again with
585Encode::decode(locale => $string).")
586 (home-page "http://search.cpan.org/~gaas/Encode-Locale/")))
374a9a85
AE
587
588(define-public perl-libwww
589 (package
590 (name "perl-libwww")
591 (version "6.05")
592 (source (origin
593 (method url-fetch)
594 (uri (string-append
595 "mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-"
596 version ".tar.gz"))
597 (sha256
598 (base32
599 "08wgwyz7748pv5cyngxia0xl6nragfnhrp4p9s78xhgfyygpj9bv"))))
600 (build-system perl-build-system)
d42daec0 601 (propagated-inputs
374a9a85
AE
602 `(("perl-encode-locale" ,perl-encode-locale)
603 ("perl-file-listing" ,perl-file-listing)
604 ("perl-html-parser" ,perl-html-parser)
605 ("perl-http-cookies" ,perl-http-cookies)
374a9a85 606 ("perl-http-daemon" ,perl-http-daemon)
374a9a85 607 ("perl-http-negotiate" ,perl-http-negotiate)
374a9a85 608 ("perl-net-http" ,perl-net-http)
374a9a85
AE
609 ("perl-www-robotrules" ,perl-www-robotrules)))
610 (license (package-license perl))
611 (synopsis "Perl modules for the WWW")
612 (description
613 "The libwww-perl collection is a set of Perl modules which provides a
614simple and consistent application programming interface to the
615World-Wide Web. The main focus of the library is to provide classes
35b9e423
EB
616and functions that allow you to write WWW clients. The library also
617contains modules that are of more general use and even classes that
374a9a85
AE
618help you implement simple HTTP servers.")
619 (home-page "http://search.cpan.org/~gaas/libwww-perl/")))
b777d784
JD
620
621(define-public tinyproxy
622 (package
623 (name "tinyproxy")
624 (version "1.8.3")
625 (source (origin
626 (method url-fetch)
627 (uri (string-append
35b9e423
EB
628 "http://www.samba.org/~obnox/" name "/download/"
629 name "-" version ".tar.bz2"))
b777d784
JD
630 (sha256
631 (base32
632 "0vl9igw7vm924rs6d6bkib7zfclxnlf9s8rmml1sfwj7xda9nmdy"))))
633 (build-system gnu-build-system)
634 (arguments
635 `(#:configure-flags
636 (list
637 ;; For the log file, etc.
638 "--localstatedir=/var")
639 #:phases
640 (alist-cons-before
641 'build 'pre-build
642 (lambda* (#:key inputs #:allow-other-keys #:rest args)
6217ca12
JD
643 ;; Uncommenting the next two lines may assist in debugging
644 ;; (substitute* "docs/man5/Makefile" (("a2x") "a2x -v"))
645 ;; (setenv "XML_DEBUG_CATALOG" "1")
2a8d4401 646 #t)
b777d784
JD
647 %standard-phases)))
648 ;; All of the below are used to generate the documentation
649 ;; (Should they be propagated inputs of asciidoc ??)
650 (native-inputs `(("asciidoc" ,asciidoc)
651 ("libxml2" ,libxml2)
652 ("docbook-xml" ,docbook-xml)
653 ("docbook-xsl" ,docbook-xsl)
654 ("libxslt" ,libxslt)))
655 (home-page "https://banu.com/tinyproxy/")
656 (synopsis "Light-weight HTTP/HTTPS proxy daemon")
657 (description "Tinyproxy is a light-weight HTTP/HTTPS proxy
35b9e423 658daemon. Designed from the ground up to be fast and yet small, it is an ideal
b777d784
JD
659solution for use cases such as embedded deployments where a full featured HTTP
660proxy is required, but the system resources for a larger proxy are
35b9e423 661unavailable.")
b777d784 662 (license l:gpl2+)))
d22d72fc
LC
663
664(define-public perl-www-curl
665 (package
666 (name "perl-www-curl")
667 (version "4.17")
668 (source (origin
669 (method url-fetch)
670 (uri (string-append
671 "mirror://cpan/authors/id/S/SZ/SZBALINT/WWW-Curl-"
672 version".tar.gz"))
673 (sha256
674 (base32
675 "1fmp9aib1kaps9vhs4dwxn7b15kgnlz9f714bxvqsd1j1q8spzsj"))))
676 (build-system perl-build-system)
677 (arguments
678 '(#:tests? #f)) ;XXX: tests require network access
679 (inputs `(("curl" ,curl)))
680 (synopsis "Perl extension interface for libcurl")
681 (description
682 "This is a Perl extension interface for the libcurl file downloading
683library.")
684 (license (package-license perl))
685 (home-page "http://search.cpan.org/~szbalint/WWW-Curl-4.17/lib/WWW/Curl.pm")))
3484d052
EB
686
687(define-public perl-io-socket-ssl
688 (package
689 (name "perl-io-socket-ssl")
690 (version "2.002")
691 (source (origin
692 (method url-fetch)
693 (uri (string-append "mirror://cpan/authors/id/S/SU/SULLR/"
694 "IO-Socket-SSL-" version ".tar.gz"))
695 (sha256
696 (base32
697 "1mph52lw6x5v44wf8mw00llzi8pp6k5c4jnrnrvlacrlfv260jb8"))))
698 (build-system perl-build-system)
699 (propagated-inputs `(("perl-net-ssleay" ,perl-net-ssleay)))
700 (synopsis "Nearly transparent SSL encapsulation for IO::Socket::INET")
701 (description
702 "IO::Socket::SSL makes using SSL/TLS much easier by wrapping the
703necessary functionality into the familiar IO::Socket interface and providing
704secure defaults whenever possible. This way existing applications can be made
705SSL-aware without much effort, at least if you do blocking I/O and don't use
706select or poll.")
707 (license (package-license perl))
708 (home-page "https://github.com/noxxi/p5-io-socket-ssl")))