gnu: Add fcgi.
[jackhill/guix/guix.git] / gnu / packages / web.scm
CommitLineData
29a2ccd3 1;;; GNU Guix --- Functional package management for GNU
be6bfa7d 2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
29a2ccd3 3;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
bb8afbf5 4;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
5fb205c6 5;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
e6f0ca2f 6;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
38012ed5 7;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
7b158c4e 8;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
d8f1c074 9;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
67c2fc01 10;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
ec672946 11;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
6c277c89 12;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
7ffbbea0 13;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
bd9fe0f0 14;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
0ee23de9 15;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
01497dfe 16;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
797a5cf5 17;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
bb6e6415 18;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
29a2ccd3
AP
19;;;
20;;; This file is part of GNU Guix.
21;;;
22;;; GNU Guix is free software; you can redistribute it and/or modify it
23;;; under the terms of the GNU General Public License as published by
24;;; the Free Software Foundation; either version 3 of the License, or (at
25;;; your option) any later version.
26;;;
27;;; GNU Guix is distributed in the hope that it will be useful, but
28;;; WITHOUT ANY WARRANTY; without even the implied warranty of
29;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30;;; GNU General Public License for more details.
31;;;
32;;; You should have received a copy of the GNU General Public License
33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34
35(define-module (gnu packages web)
c9d512fa 36 #:use-module (ice-9 match)
b5b73a82 37 #:use-module ((guix licenses) #:prefix l:)
29a2ccd3
AP
38 #:use-module (guix packages)
39 #:use-module (guix download)
833efa0d 40 #:use-module (guix git-download)
18cb3df8 41 #:use-module (guix cvs-download)
b8ae816b 42 #:use-module (guix utils)
29a2ccd3 43 #:use-module (guix build-system gnu)
7ffbbea0 44 #:use-module (guix build-system glib-or-gtk)
c2337213
LC
45 #:use-module (guix build-system perl)
46 #:use-module (guix build-system cmake)
a359c9c1 47 #:use-module (guix build-system r)
0ee23de9 48 #:use-module (guix build-system trivial)
da069d7e 49 #:use-module (guix build-system python)
38e62c81 50 #:use-module (gnu packages)
29a2ccd3 51 #:use-module (gnu packages apr)
99828fa7 52 #:use-module (gnu packages documentation)
b777d784 53 #:use-module (gnu packages docbook)
833efa0d 54 #:use-module (gnu packages autotools)
ce0614dd 55 #:use-module (gnu packages compression)
bb470bd3 56 #:use-module (gnu packages cyrus-sasl)
f643a6e9 57 #:use-module (gnu packages databases)
22df7001
EB
58 #:use-module (gnu packages bison)
59 #:use-module (gnu packages flex)
9fe938c1 60 #:use-module (gnu packages mit-krb5)
57c2680e 61 #:use-module (gnu packages gd)
488e8863 62 #:use-module (gnu packages gettext)
7ffbbea0
RS
63 #:use-module (gnu packages glib)
64 #:use-module (gnu packages gnome)
22df7001
EB
65 #:use-module (gnu packages gperf)
66 #:use-module (gnu packages gtk)
488e8863 67 #:use-module (gnu packages icu4c)
22df7001 68 #:use-module (gnu packages image)
bb470bd3 69 #:use-module (gnu packages lua)
8cecd22e 70 #:use-module (gnu packages ncurses)
ce0614dd 71 #:use-module (gnu packages base)
bd9fe0f0 72 #:use-module (gnu packages perl)
ed865936 73 #:use-module (gnu packages python)
c9ea41ff 74 #:use-module (gnu packages pcre)
bb470bd3 75 #:use-module (gnu packages pkg-config)
ec672946 76 #:use-module (gnu packages valgrind)
b777d784 77 #:use-module (gnu packages xml)
d22d72fc 78 #:use-module (gnu packages curl)
38012ed5 79 #:use-module (gnu packages perl)
cc2b77df 80 #:use-module (gnu packages texinfo)
ec672946 81 #:use-module (gnu packages textutils)
a359c9c1
RW
82 #:use-module (gnu packages tls)
83 #:use-module (gnu packages statistics))
29a2ccd3
AP
84
85(define-public httpd
86 (package
87 (name "httpd")
25a814ce 88 (version "2.4.23")
29a2ccd3
AP
89 (source (origin
90 (method url-fetch)
91 (uri (string-append "mirror://apache/httpd/httpd-"
92 version ".tar.bz2"))
93 (sha256
94 (base32
25a814ce 95 "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc"))))
29a2ccd3 96 (build-system gnu-build-system)
74c8b174 97 (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config'
29a2ccd3
AP
98 (inputs `(("apr" ,apr)
99 ("apr-util" ,apr-util)
100 ("openssl" ,openssl)
50b7a6a0 101 ("perl" ,perl))) ; needed to run bin/apxs
29a2ccd3
AP
102 (arguments
103 `(#:test-target "test"
104 #:configure-flags (list "--enable-rewrite"
105 "--enable-userdir"
106 "--enable-vhost-alias"
107 "--enable-ssl"
108 "--enable-mime-magic"
109 (string-append "--sysconfdir="
110 (assoc-ref %outputs "out")
111 "/etc/httpd"))))
112 (synopsis "Featureful HTTP server")
113 (description
114 "The Apache HTTP Server Project is a collaborative software development
115effort aimed at creating a robust, commercial-grade, featureful, and
35b9e423
EB
116freely-available source code implementation of an HTTP (Web) server. The
117project is jointly managed by a group of volunteers located around the world,
118using the Internet and the Web to communicate, plan, and develop the server
119and its related documentation.")
29a2ccd3
AP
120 (license l:asl2.0)
121 (home-page "https://httpd.apache.org/")))
c9ea41ff 122
c9d512fa
MW
123(define-public nginx
124 (package
125 (name "nginx")
88d45b74 126 (version "1.11.6")
c9d512fa
MW
127 (source (origin
128 (method url-fetch)
59fed2b6 129 (uri (string-append "https://nginx.org/download/nginx-"
c9d512fa
MW
130 version ".tar.gz"))
131 (sha256
132 (base32
88d45b74 133 "1gc5phrzm2hbpvryaya6rlvasa00vjips4hv5q1rqbcfa6xsnlri"))))
c9d512fa
MW
134 (build-system gnu-build-system)
135 (inputs `(("pcre" ,pcre)
136 ("openssl" ,openssl)
137 ("zlib" ,zlib)))
138 (arguments
139 `(#:tests? #f ; no test target
140 #:phases
a71c315b 141 (modify-phases %standard-phases
3a4de6b2 142 (add-before 'configure 'patch-/bin/sh
a71c315b
DT
143 (lambda _
144 (substitute* "auto/feature"
59fed2b6
EF
145 (("/bin/sh") (which "bash")))
146 #t))
3a4de6b2 147 (replace 'configure
a71c315b
DT
148 (lambda* (#:key outputs #:allow-other-keys)
149 (let ((flags
150 (list (string-append "--prefix=" (assoc-ref outputs "out"))
151 "--with-http_ssl_module"
152 "--with-pcre-jit"
a71c315b
DT
153 "--with-debug"
154 ;; Even when not cross-building, we pass the
155 ;; --crossbuild option to avoid customizing for the
156 ;; kernel version on the build machine.
157 ,(let ((system "Linux") ; uname -s
158 (release "2.6.32") ; uname -r
159 ;; uname -m
160 (machine (match (or (%current-target-system)
161 (%current-system))
162 ("x86_64-linux" "x86_64")
163 ("i686-linux" "i686")
4788deea
MW
164 ("mips64el-linux" "mips64")
165 ;; Prevent errors when querying
166 ;; this package on unsupported
167 ;; platforms, e.g. when running
168 ;; "guix package --search="
169 (_ "UNSUPPORTED"))))
a71c315b
DT
170 (string-append "--crossbuild="
171 system ":" release ":" machine)))))
172 (setenv "CC" "gcc")
173 (format #t "environment variable `CC' set to `gcc'~%")
174 (format #t "configure flags: ~s~%" flags)
59446b20 175 (zero? (apply system* "./configure" flags)))))
3a4de6b2 176 (add-after 'install 'fix-root-dirs
59446b20
DT
177 (lambda* (#:key outputs #:allow-other-keys)
178 ;; 'make install' puts things in strange places, so we need to
179 ;; clean it up ourselves.
180 (let* ((out (assoc-ref outputs "out"))
181 (share (string-append out "/share/nginx")))
182 ;; This directory is empty, so get rid of it.
183 (rmdir (string-append out "/logs"))
184 ;; Example configuration and HTML files belong in
185 ;; /share.
186 (mkdir-p share)
187 (rename-file (string-append out "/conf")
188 (string-append share "/conf"))
189 (rename-file (string-append out "/html")
190 (string-append share "/html"))))))))
59fed2b6 191 (home-page "https://nginx.org")
c9d512fa
MW
192 (synopsis "HTTP and reverse proxy server")
193 (description
194 "Nginx (\"engine X\") is a high-performance web and reverse proxy server
195created by Igor Sysoev. It can be used both as a standalone web server
196and as a proxy to reduce the load on back-end HTTP or mail servers.")
197 ;; Almost all of nginx is distributed under the bsd-2 license.
198 ;; The exceptions are:
199 ;; * The 'nginx-http-push' module is covered by the expat license.
200 ;; * The 'nginx-development-kit' module is mostly covered by bsd-3,
201 ;; except for two source files which are bsd-4 licensed.
202 (license (list l:bsd-2 l:expat l:bsd-3 l:bsd-4))))
203
ab519cfa
RW
204(define-public fcgi
205 (package
206 (name "fcgi")
207 (version "2.4.0")
208 (source
209 (origin
210 (method url-fetch)
211 ;; Upstream has disappeared
212 (uri (string-append "https://sources.archlinux.org/other/packages/fcgi/"
213 "fcgi-" version ".tar.gz"))
214 (sha256
215 (base32
216 "1f857wnl1d6jfrgfgfpz3zdaj8fch3vr13mnpcpvy8bang34bz36"))
217 (patches (search-patches "fcgi-2.4.0-poll.patch"
218 "fcgi-2.4.0-gcc44-fixes.patch"))))
219 (build-system gnu-build-system)
220 (home-page "http://www.fastcgi.com")
221 (synopsis "Language-independent, high-performant extension to CGI")
222 (description "FastCGI is a language independent, scalable extension to CGI
223that provides high performance without the limitations of server specific
224APIs.")
225 ;; This package is released under the Open Market License, a variant of
226 ;; the Expat license, incompatible with the GPL.
227 (license (l:non-copyleft "file://LICENSE.TERMS"))))
228
a641b579
EB
229(define-public starman
230 (package
231 (name "starman")
654116c1 232 (version "0.4014")
a641b579
EB
233 (source
234 (origin
235 (method url-fetch)
236 (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/"
237 "Starman-" version ".tar.gz"))
238 (sha256
239 (base32
654116c1 240 "1sbb5rb3vs82rlh1fjkgkcmj5pj62b4y9si4ihh45sl9m8c2qxx5"))))
a641b579
EB
241 (build-system perl-build-system)
242 (native-inputs
243 `(("perl-libwww" ,perl-libwww)
244 ("perl-module-build-tiny" ,perl-module-build-tiny)
245 ("perl-test-requires" ,perl-test-requires)))
246 (propagated-inputs
247 `(("perl-data-dump" ,perl-data-dump)
248 ("perl-http-date" ,perl-http-date)
249 ("perl-http-message" ,perl-http-message)
250 ("perl-http-parser-xs" ,perl-http-parser-xs)
251 ("perl-net-server" ,perl-net-server)
252 ("perl-plack" ,perl-plack)
253 ("perl-test-tcp" ,perl-test-tcp)))
254 (home-page "http://search.cpan.org/dist/Starman")
255 (synopsis "PSGI/Plack web server")
256 (description "Starman is a PSGI perl web server that has unique features
257such as high performance, preforking, signal support, superdaemon awareness,
258and UNIX socket support.")
259 (license (package-license perl))))
260
2b0bba49
RW
261(define-public jansson
262 (package
263 (name "jansson")
14ac8e48 264 (version "2.9")
2b0bba49
RW
265 (source (origin
266 (method url-fetch)
267 (uri
268 (string-append "http://www.digip.org/jansson/releases/jansson-"
269 version ".tar.gz"))
270 (sha256
271 (base32
14ac8e48 272 "19fjgfwjfj99rqa3kf96x5rssj88siazggksgrikd6h4r9sd1l0a"))))
2b0bba49
RW
273 (build-system gnu-build-system)
274 (home-page "http://www.digip.org/jansson/")
275 (synopsis "JSON C library")
276 (description
277 "Jansson is a C library for encoding, decoding and manipulating JSON
278data.")
279 (license l:expat)))
280
f6ad09ae
LC
281(define-public json-c
282 (package
283 (name "json-c")
87312f8a 284 (version "0.12.1")
f6ad09ae
LC
285 (source (origin
286 (method url-fetch)
a124bbd2
SB
287 (uri (string-append
288 "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
289 version ".tar.gz"))
f6ad09ae
LC
290 (sha256
291 (base32
87312f8a 292 "08qibrq29a5v7g23wi5icy6l4fbfw90h9ccps6vq0bcklx8n84ra"))
f6ad09ae
LC
293 (modules '((guix build utils)))
294 (snippet
295 '(begin
296 ;; Somehow 'config.h.in' is older than
297 ;; 'aclocal.m4', which would trigger a rule to
298 ;; run 'autoheader'.
299 (set-file-time "config.h.in"
300 (stat "aclocal.m4"))
301
302 ;; Don't try to build with -Werror.
303 (substitute* (find-files "." "Makefile\\.in")
304 (("-Werror") ""))))))
305 (build-system gnu-build-system)
306 (arguments '(#:parallel-build? #f
307 #:parallel-tests? #f))
308 (home-page "https://github.com/json-c/json-c/wiki")
309 (synopsis "JSON implementation in C")
310 (description
311 "JSON-C implements a reference counting object model that allows you to
312easily construct JSON objects in C, output them as JSON formatted strings and
313parse JSON formatted strings back into the C representation of JSON objects.")
314 (license l:x11)))
315
bd9fe0f0
BW
316(define-public krona-tools
317 (package
318 (name "krona-tools")
9712ef8d 319 (version "2.7")
bd9fe0f0
BW
320 (source (origin
321 (method url-fetch)
322 (uri (string-append
323 "https://github.com/marbl/Krona/releases/download/v"
324 version "/KronaTools-" version ".tar"))
325 (sha256
326 (base32
9712ef8d 327 "0wvgllcqscsfb4xc09y3fqhx8i38pmr4w55vjs5y79wx56n710iq"))))
bd9fe0f0
BW
328 (build-system perl-build-system)
329 (arguments
5d52ac74 330 `(#:phases
bd9fe0f0
BW
331 (modify-phases %standard-phases
332 ;; There is no configure or build steps.
333 (delete 'configure)
9712ef8d 334 (delete 'build)
bd9fe0f0
BW
335 ;; Install script "install.pl" expects the build directory to remain
336 ;; after installation, creating symlinks etc., so re-implement it
337 ;; here.
338 (replace 'install
339 (lambda* (#:key outputs #:allow-other-keys)
340 (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
341 (perl (string-append (assoc-ref outputs "out")
5d52ac74 342 "/lib/perl5/site_perl/krona-tools/lib")))
bd9fe0f0
BW
343 (mkdir-p bin)
344 (for-each
345 (lambda (script)
346 (let* ((executable (string-append "scripts/" script ".pl")))
347 ;; Prefix executables with 'kt' as install script does.
348 (copy-file executable (string-append bin "/kt" script))))
349 '("ClassifyBLAST"
350 "GetContigMagnitudes"
9712ef8d
BW
351 "GetLCA"
352 "GetTaxIDFromAcc"
353 "GetTaxInfo"
bd9fe0f0
BW
354 "ImportBLAST"
355 "ImportDiskUsage"
356 "ImportEC"
357 "ImportFCP"
358 "ImportGalaxy"
359 "ImportKrona"
360 "ImportMETAREP-BLAST"
361 "ImportMETAREP-EC"
362 "ImportMGRAST"
363 "ImportPhymmBL"
364 "ImportRDP"
365 "ImportRDPComparison"
366 "ImportTaxonomy"
367 "ImportText"
368 "ImportXML"))
9712ef8d
BW
369 (for-each
370 (lambda (directory)
371 (copy-recursively directory
372 (string-append perl "/../" directory)))
373 (list "data" "img" "taxonomy" "src"))
bd9fe0f0
BW
374 (install-file "lib/KronaTools.pm" perl))))
375 (add-after 'install 'wrap-program
376 (lambda* (#:key inputs outputs #:allow-other-keys)
377 (let* ((out (assoc-ref outputs "out"))
378 (path (getenv "PERL5LIB")))
379 (for-each
380 (lambda (executable)
381 (wrap-program executable
382 `("PERL5LIB" ":" prefix
5d52ac74
BW
383 (,(string-append out "/lib/perl5/site_perl/krona-tools/lib")))))
384 (find-files (string-append out "/bin/") ".*")))))
385 (delete 'check)
386 (add-after 'wrap-program 'check
387 (lambda* (#:key inputs outputs #:allow-other-keys)
388 (with-directory-excursion "data"
389 (zero? (system* (string-append (assoc-ref outputs "out") "/bin/ktImportText")
390 "ec.tsv"))))))))
bd9fe0f0
BW
391 (inputs
392 `(("perl" ,perl)))
393 (home-page "https://github.com/marbl/Krona/wiki")
394 (synopsis "Hierarchical data exploration with zoomable HTML5 pie charts")
395 (description
396 "Krona is a flexible tool for exploring the relative proportions of
397hierarchical data, such as metagenomic classifications, using a radial,
398space-filling display. It is implemented using HTML5 and JavaScript, allowing
399charts to be explored locally or served over the Internet, requiring only a
400current version of any major web browser.")
401 (license l:bsd-3)))
402
ccb8da26
RW
403(define-public rapidjson
404 (package
405 (name "rapidjson")
406 (version "1.0.2")
407 (source (origin
408 (method url-fetch)
409 (uri (string-append
410 "https://github.com/miloyip/rapidjson/archive/v"
411 version ".tar.gz"))
412 (file-name (string-append name "-" version ".tar.gz"))
413 (sha256
414 (base32
c5c4c4b4
LC
415 "0rl6s0vg5y1dhh9vfl1lqay3sxf69sxjh0czxrjmasn7ng91wwf3"))
416 (modules '((guix build utils)))
417 (snippet
418 ;; Building with GCC 4.8 with -Werror was fine, but 4.9.3
419 ;; complains in new ways, so turn of -Werror.
420 '(substitute* (find-files "." "^CMakeLists\\.txt$")
421 (("-Werror") "")))))
ccb8da26
RW
422 (build-system cmake-build-system)
423 (home-page "https://github.com/miloyip/rapidjson")
424 (synopsis "JSON parser/generator for C++ with both SAX/DOM style API")
425 (description
426 "RapidJSON is a fast JSON parser/generator for C++ with both SAX/DOM
427style API.")
428 (license l:expat)))
429
d8f1c074
ED
430(define-public libyajl
431 (package
432 (name "libyajl")
433 (version "2.1.0")
434 (source (origin
435 (method url-fetch)
436 (uri (string-append "https://github.com/lloyd/yajl/"
437 "archive/" version ".tar.gz"))
438 (file-name (string-append name "-" version ".tar.gz"))
439 (sha256
440 (base32
441 "0nmcqpaiq4pv7dymyg3n3jsd57yhp5npxl26a1hzw3m3lmj37drz"))))
442 (build-system cmake-build-system)
443 (home-page "https://lloyd.github.io/yajl/")
444 (synopsis "C library for parsing JSON")
445 (description
446 "Yet Another JSON Library (YAJL) is a small event-driven (SAX-style) JSON
447parser written in ANSI C and a small validating JSON generator.")
448 (license l:isc)))
449
833efa0d
LC
450(define-public libwebsockets
451 (package
452 (name "libwebsockets")
c2337213 453 (version "1.3")
833efa0d
LC
454 (source (origin
455 ;; The project does not publish tarballs, so we have to take
456 ;; things from Git.
457 (method git-fetch)
458 (uri (git-reference
459 (url "git://git.libwebsockets.org/libwebsockets")
460 (commit (string-append "v" version
c2337213 461 "-chrome37-firefox30"))))
833efa0d
LC
462 (sha256
463 (base32
c2337213 464 "12fqh2d2098mgf0ls19p9lzibpsqhv7mc5rn1yvrbfnazmcr40g4"))
833efa0d
LC
465 (file-name (string-append name "-" version))))
466
c2337213 467 (build-system cmake-build-system)
833efa0d 468 (arguments
c2337213
LC
469 ;; XXX: The thing lacks a 'make test' target, because CMakeLists.txt
470 ;; doesn't use 'add_test', and it's unclear how to run the test suite.
471 '(#:tests? #f))
833efa0d 472
c2337213 473 (native-inputs `(("perl" ,perl))) ; to build the HTML doc
833efa0d
LC
474 (inputs `(("zlib" ,zlib)
475 ("openssl" ,openssl)))
476 (synopsis "WebSockets library written in C")
477 (description
35b9e423 478 "Libwebsockets is a library that allows C programs to establish client
833efa0d
LC
479and server WebSockets connections---a protocol layered above HTTP that allows
480for efficient socket-like bidirectional reliable communication channels.")
481 (home-page "http://libwebsockets.org/")
482
483 ;; This is LGPLv2.1-only with extra exceptions specified in 'LICENSE'.
484 (license l:lgpl2.1)))
485
488e8863
EB
486(define-public libpsl
487 (package
488 (name "libpsl")
88eaed61 489 (version "0.15.0")
488e8863
EB
490 (source (origin
491 (method url-fetch)
492 (uri (string-append "https://github.com/rockdaboot/libpsl/"
6c277c89
EF
493 "releases/download/libpsl-" version
494 "/libpsl-" version ".tar.gz"))
488e8863
EB
495 (sha256
496 (base32
88eaed61 497 "0wm9i3qshfdasd5s5nrdihl4f5c6zrd1nkqrqjnh7zhhv1an755m"))))
488e8863 498 (build-system gnu-build-system)
6c277c89
EF
499 (inputs
500 `(("icu4c" ,icu4c)
501 ("python-2" ,python-2)))
488e8863
EB
502 (home-page "https://github.com/rockdaboot/libpsl")
503 (synopsis "C library for the Publix Suffix List")
504 (description
505 "A \"public suffix\" is a domain name under which Internet users can
506directly register own names.
507
508Browsers and other web clients can use it to avoid privacy-leaking
509\"supercookies\", avoid privacy-leaking \"super domain\" certificates, domain
510highlighting parts of the domain in a user interface, and sorting domain lists
511by site.
512
513Libpsl has built-in PSL data for fast access, allows to load PSL data from
514files, checks if a given domain is a public suffix, provides immediate cookie
515domain verification, finds the longest public part of a given domain, finds
516the shortest private part of a given domain, works with international
517domains (UTF-8 and IDNA2008 Punycode), is thread-safe, and handles IDNA2008
e881752c 518UTS#46.")
488e8863
EB
519 (license l:x11)))
520
18cb3df8
DT
521(define-public tidy
522 (package
523 (name "tidy")
524 (version "20091223")
525 (source (origin
526 (method cvs-fetch)
527 (uri (cvs-reference
528 (root-directory
529 ":pserver:anonymous@tidy.cvs.sourceforge.net:/cvsroot/tidy")
530 (module "tidy")
531 (revision "2009-12-23")))
532 (sha256
533 (base32
4d853910 534 "14dsnmirjcrvwsffqp3as70qr6bbfaig2fv3zvs5g7005jrsbvpb"))
fc1adab1 535 (patches (search-patches "tidy-CVE-2015-5522+5523.patch"))))
18cb3df8
DT
536 (build-system gnu-build-system)
537 (arguments
917239ff
TGR
538 '(#:phases (modify-phases %standard-phases
539 (add-after 'unpack 'bootstrap
540 (lambda* (#:key inputs #:allow-other-keys)
541 ;; configure.in and Makefile.am aren't in the root of the
542 ;; source tree.
543 (copy-recursively "build/gnuauto" ".")
544 (setenv "AUTOMAKE" "automake --foreign")
545 (zero? (system* "autoreconf" "-vfi")))))))
18cb3df8
DT
546 (native-inputs
547 `(("automake" ,automake)
548 ("autoconf" ,autoconf)
549 ("libtool" ,libtool)))
550 (synopsis "HTML validator and tidier")
551 (description "HTML Tidy is a command-line tool and C library that can be
552used to validate and fix HTML data.")
553 (home-page "http://tidy.sourceforge.net/")
554 (license (l:x11-style "file:///include/tidy.h"))))
555
8142aff3 556(define-public tinyproxy
c9ea41ff 557 (package
8142aff3 558 (name "tinyproxy")
b5076461 559 (version "1.8.4")
8142aff3
EB
560 (source (origin
561 (method url-fetch)
b5076461
EF
562 (uri (string-append "https://github.com/tinyproxy/tinyproxy/"
563 "releases/download/" version "/tinyproxy-"
564 version ".tar.xz"))
8142aff3
EB
565 (sha256
566 (base32
b5076461 567 "002hi97687czhfkwsjkr174yvlp10224qi6gd5s53z230bgls7x4"))))
8142aff3
EB
568 (build-system gnu-build-system)
569 (arguments
570 `(#:configure-flags
571 (list
572 ;; For the log file, etc.
573 "--localstatedir=/var")
574 #:phases
575 (alist-cons-before
576 'build 'pre-build
577 (lambda* (#:key inputs #:allow-other-keys #:rest args)
578 ;; Uncommenting the next two lines may assist in debugging
579 ;; (substitute* "docs/man5/Makefile" (("a2x") "a2x -v"))
580 ;; (setenv "XML_DEBUG_CATALOG" "1")
581 #t)
582 %standard-phases)))
583 ;; All of the below are used to generate the documentation
584 ;; (Should they be propagated inputs of asciidoc ??)
585 (native-inputs `(("asciidoc" ,asciidoc)
e881752c 586 ("libxml2" ,libxml2)
8142aff3
EB
587 ("docbook-xml" ,docbook-xml)
588 ("docbook-xsl" ,docbook-xsl)
589 ("libxslt" ,libxslt)))
b5076461 590 (home-page "https://tinyproxy.github.io/")
8142aff3
EB
591 (synopsis "Light-weight HTTP/HTTPS proxy daemon")
592 (description "Tinyproxy is a light-weight HTTP/HTTPS proxy
593daemon. Designed from the ground up to be fast and yet small, it is an ideal
594solution for use cases such as embedded deployments where a full featured HTTP
595proxy is required, but the system resources for a larger proxy are
596unavailable.")
597 (license l:gpl2+)))
598
599(define-public polipo
600 (package
601 (name "polipo")
602 (version "1.1.1")
603 (source
604 (origin
605 (method url-fetch)
606 (uri (string-append
607 "http://www.pps.univ-paris-diderot.fr/~jch/software/files/polipo/polipo-"
608 version ".tar.gz"))
609 (sha256
610 (base32
611 "05g09sg9qkkhnc2mxldm1w1xkxzs2ylybkjzs28w8ydbjc3pand2"))))
612 (native-inputs `(("texinfo" ,texinfo)))
613 (build-system gnu-build-system)
614 (arguments
9bd259d8
TGR
615 `(#:phases (modify-phases %standard-phases
616 (delete 'configure))
8142aff3
EB
617 #:make-flags (let ((out (assoc-ref %outputs "out")))
618 (list (string-append "PREFIX=" out)
619 (string-append "LOCAL_ROOT="
620 out "/share/polipo/www")
621 "CC=gcc"))
622 ;; No 'check' target.
623 #:tests? #f))
624 (home-page "http://www.pps.univ-paris-diderot.fr/~jch/software/polipo/")
625 (synopsis "Small caching web proxy")
626 (description
627 "Polipo is a small caching web proxy (web cache, HTTP proxy, and proxy
628server). It was primarily designed to be used by one person or a small group
629of people.")
630 (license l:expat)))
631
632(define-public libyaml
633 (package
634 (name "libyaml")
e00df583 635 (version "0.1.6")
8142aff3
EB
636 (source
637 (origin
638 (method url-fetch)
639 (uri (string-append
640 "http://pyyaml.org/download/libyaml/yaml-"
641 version ".tar.gz"))
0d567b55 642 (patches (search-patches "libyaml-CVE-2014-9130.patch"))
8142aff3
EB
643 (sha256
644 (base32
e00df583 645 "0j9731s5zjb8mjx7wzf6vh7bsqi38ay564x6s9nri2nh9cdrg9kx"))))
8142aff3
EB
646 (build-system gnu-build-system)
647 (home-page "http://pyyaml.org/wiki/LibYAML")
648 (synopsis "YAML 1.1 parser and emitter written in C")
649 (description
650 "LibYAML is a YAML 1.1 parser and emitter written in C.")
651 (license l:expat)))
652
653(define-public libquvi-scripts
654 (package
655 (name "libquvi-scripts")
656 (version "0.4.21")
657 (source
658 (origin
659 (method url-fetch)
660 (uri (string-append
de67e922
LF
661 "mirror://sourceforge/quvi/" (version-major+minor version) "/"
662 name "/" name "-" version ".tar.xz"))
8142aff3
EB
663 (sha256
664 (base32 "0d0giry6bb57pnidymvdl7i5x9bq3ljk3g4bs294hcr5mj3cq0kw"))))
665 (build-system gnu-build-system)
666 (home-page "http://quvi.sourceforge.net/")
667 (synopsis "Media stream URL parser")
668 (description "This package contains support scripts called by libquvi to
669parse media stream properties.")
670 (license l:lgpl2.1+)))
671
672(define-public libquvi
673 (package
674 (name "libquvi")
675 (version "0.4.1")
676 (source
677 (origin
678 (method url-fetch)
679 (uri (string-append
de67e922
LF
680 "mirror://sourceforge/quvi/" (version-major+minor version) "/" name "/"
681 name "-" version ".tar.xz"))
8142aff3
EB
682 (sha256
683 (base32 "00x9gbmzc5cns0gnfag0hsphcr3cb33vbbb9s7ppvvd6bxz2z1mm"))))
684 (build-system gnu-build-system)
685 (native-inputs `(("pkg-config" ,pkg-config)))
686 (inputs
687 `(("curl" ,curl)
688 ("cyrus-sasl" ,cyrus-sasl)
689 ("libquvi-scripts" ,libquvi-scripts)
690 ("lua" ,lua-5.1)
691 ("openssl" ,openssl)
692 ("zlib" ,zlib)))
693 (arguments
694 ;; Lua provides no .pc file, so add CFLAGS/LIBS manually.
695 '(#:configure-flags
696 (let ((lua (assoc-ref %build-inputs "lua")))
697 (list
698 (string-append "liblua_CFLAGS=-I" lua "/include")
699 (string-append "liblua_LIBS=-L" lua "/libs -llua")))))
700 (home-page "http://quvi.sourceforge.net/")
701 (synopsis "Media stream URL parser")
702 (description "libquvi is a library with a C API for parsing media stream
703URLs and extracting their actual media files.")
704 (license l:lgpl2.1+)))
705
706(define-public quvi
707 (package
708 (name "quvi")
709 (version "0.4.2")
710 (source
711 (origin
712 (method url-fetch)
713 (uri (string-append
de67e922
LF
714 "mirror://sourceforge/" name "/" (version-major+minor version)
715 "/" name "/" name "-" version ".tar.xz"))
8142aff3
EB
716 (sha256
717 (base32 "09lhl6dv5zpryasx7yjslfrcdcqlsbwapvd5lg7w6sm5x5n3k8ci"))))
718 (build-system gnu-build-system)
719 (native-inputs `(("pkg-config" ,pkg-config)))
720 (inputs
721 `(("curl" ,curl)
722 ("libquvi" ,libquvi)))
723 (home-page "http://quvi.sourceforge.net/")
724 (synopsis "Media stream URL parser")
725 (description "quvi is a command-line-tool suite to extract media files
726from streaming URLs. It is a command-line wrapper for the libquvi library.")
727 (license l:lgpl2.1+)))
728
ed865936
MW
729(define-public serf
730 (package
731 (name "serf")
732 (version "1.3.8")
733 (source
734 (origin
735 (method url-fetch)
6d22653e 736 (uri (string-append "https://archive.apache.org/dist/serf/serf-"
ed865936
MW
737 version ".tar.bz2"))
738 (sha256
88b6b125 739 (base32 "14155g48gamcv5s0828bzij6vr14nqmbndwq8j8f9g6vcph0nl70"))
fc1adab1
AK
740 (patches (search-patches "serf-comment-style-fix.patch"
741 "serf-deflate-buckets-test-fix.patch"))
88b6b125 742 (patch-flags '("-p0"))))
ed865936
MW
743 (build-system gnu-build-system)
744 (native-inputs
745 `(("scons" ,scons)
746 ("python" ,python-2)))
747 (propagated-inputs
748 `(("apr" ,apr)
749 ("apr-util" ,apr-util)
750 ("openssl" ,openssl)))
751 (inputs
752 `(;; TODO: Fix build with gss.
753 ;;("gss" ,gss)
754 ("zlib" ,zlib)))
755 (arguments
756 `(#:phases
757 ;; TODO: Add scons-build-system and use it here.
758 (modify-phases %standard-phases
759 (delete 'configure)
760 (add-after 'unpack 'scons-propagate-environment
761 (lambda _
762 ;; By design, SCons does not, by default, propagate
763 ;; environment variables to subprocesses. See:
764 ;; <http://comments.gmane.org/gmane.linux.distributions.nixos/4969>
765 ;; Here, we modify the SConstruct file to arrange for
766 ;; environment variables to be propagated.
767 (substitute* "SConstruct"
768 (("^env = Environment\\(")
769 "env = Environment(ENV=os.environ, "))))
ed865936
MW
770 (replace 'build
771 (lambda* (#:key inputs outputs #:allow-other-keys)
772 (let ((out (assoc-ref outputs "out"))
773 (apr (assoc-ref inputs "apr"))
774 (apr-util (assoc-ref inputs "apr-util"))
775 (openssl (assoc-ref inputs "openssl"))
776 ;;(gss (assoc-ref inputs "gss"))
777 (zlib (assoc-ref inputs "zlib")))
778 (zero? (system* "scons"
779 (string-append "APR=" apr)
780 (string-append "APU=" apr-util)
781 (string-append "OPENSSL=" openssl)
782 ;;(string-append "GSSAPI=" gss)
783 (string-append "ZLIB=" zlib)
784 (string-append "PREFIX=" out))))))
785 (replace 'check (lambda _ (zero? (system* "scons" "check"))))
786 (replace 'install (lambda _ (zero? (system* "scons" "install")))))))
6d22653e 787 (home-page "https://serf.apache.org/")
ed865936
MW
788 (synopsis "High-performance asynchronous HTTP client library")
789 (description
790 "serf is a C-based HTTP client library built upon the Apache Portable
791Runtime (APR) library. It multiplexes connections, running the read/write
792communication asynchronously. Memory copies and transformations are kept to a
793minimum to provide high performance operation.")
794 ;; Most of the code is covered by the Apache License, Version 2.0, but the
795 ;; bundled CuTest framework uses a different non-copyleft license.
796 (license (list l:asl2.0 (l:non-copyleft "file://test/CuTest-README.txt")))))
797
385a44be
DT
798(define-public sassc
799 ;; libsass must be statically linked and it isn't included in the sassc
800 ;; release tarballs, hence this odd package recipe.
801 (let* ((version "3.2.5")
802 (libsass
803 (origin
804 (method url-fetch)
805 (uri (string-append
806 "https://github.com/sass/libsass/archive/"
807 version ".tar.gz"))
808 (file-name (string-append "libsass-" version ".tar.gz"))
809 (sha256
810 (base32
811 "1x25k6p1s1yzsdpzb7bzh8japilmi1mk3z96q66pycbinj9z9is4")))))
812 (package
813 (name "sassc")
814 (version version)
815 (source (origin
816 (method url-fetch)
817 (uri (string-append "https://github.com/sass/sassc/archive/"
818 version ".tar.gz"))
819 (file-name (string-append "sassc-" version ".tar.gz"))
820 (sha256
821 (base32
822 "1xf3w75w840rj0nx375rxi7mcv1ngqqq8p3zrzjlyx8jfpnldmv5"))))
823 (build-system gnu-build-system)
824 (arguments
825 `(#:make-flags '("CC=gcc")
826 #:test-target "test"
827 #:phases
828 (modify-phases %standard-phases
829 (delete 'configure)
830 (add-after 'unpack 'unpack-libsass-and-set-path
831 (lambda* (#:key inputs #:allow-other-keys)
832 (and (zero? (system* "tar" "xvf" (assoc-ref inputs "libsass")))
833 (begin
834 (setenv "SASS_LIBSASS_PATH"
835 (string-append (getcwd) "/libsass-" ,version))
836 #t))))
837 (replace 'install ; no install target
838 (lambda* (#:key outputs #:allow-other-keys)
839 (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
840 (mkdir-p bin)
841 (copy-file "bin/sassc" (string-append bin "/sassc"))
842 #t))))))
843 (inputs
844 `(("libsass" ,libsass)))
845 (synopsis "CSS pre-processor")
846 (description "SassC is a compiler written in C for the CSS pre-processor
847language known as SASS.")
848 (home-page "http://sass-lang.com/libsass")
849 (license l:expat))))
850
8142aff3 851\f
dc1c804a
EB
852(define-public perl-apache-logformat-compiler
853 (package
854 (name "perl-apache-logformat-compiler")
faf806db 855 (version "0.33")
dc1c804a
EB
856 (source
857 (origin
858 (method url-fetch)
859 (uri (string-append "mirror://cpan/authors/id/K/KA/KAZEBURO/"
860 "Apache-LogFormat-Compiler-" version ".tar.gz"))
861 (sha256
862 (base32
faf806db 863 "17blk3zhp05azgypn25ydxf3d7fyfgr9bxyiv7xkchhqma96vwqv"))))
dc1c804a
EB
864 (build-system perl-build-system)
865 (native-inputs
866 `(("perl-http-message" ,perl-http-message)
a2190ccc 867 ("perl-module-build" ,perl-module-build)
dc1c804a
EB
868 ("perl-test-mocktime" ,perl-test-mocktime)
869 ("perl-try-tiny" ,perl-try-tiny)
870 ("perl-uri" ,perl-uri)))
871 (propagated-inputs
872 `(("perl-posix-strftime-compiler" ,perl-posix-strftime-compiler)))
873 (arguments `(#:tests? #f)) ;TODO: Timezone test failures
874 (home-page "http://search.cpan.org/dist/Apache-LogFormat-Compiler")
875 (synopsis "Compile a log format string to perl-code")
876 (description "This module provides methods to compile a log format string
877to perl-code, for faster generation of access_log lines.")
878 (license (package-license perl))))
879
c6ee18ab
EB
880(define-public perl-authen-sasl
881 (package
882 (name "perl-authen-sasl")
883 (version "2.16")
884 (source
885 (origin
886 (method url-fetch)
887 (uri (string-append "mirror://cpan/authors/id/G/GB/GBARR/"
888 "Authen-SASL-" version ".tar.gz"))
889 (sha256
890 (base32
891 "02afhlrdq5hh5g8b32fa79fqq5i76qzwfqqvfi9zi57h31szl536"))))
892 (build-system perl-build-system)
893 (propagated-inputs
894 `(("perl-digest-hmac" ,perl-digest-hmac)
895 ("perl-gssapi" ,perl-gssapi)))
896 (home-page "http://search.cpan.org/dist/Authen-SASL")
897 (synopsis "SASL authentication framework")
898 (description "Authen::SASL provides an SASL authentication framework.")
899 (license (package-license perl))))
900
cd39d814
EB
901(define-public perl-catalyst-action-renderview
902 (package
903 (name "perl-catalyst-action-renderview")
904 (version "0.16")
905 (source
906 (origin
907 (method url-fetch)
908 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
909 "Catalyst-Action-RenderView-"
910 version ".tar.gz"))
911 (sha256
912 (base32
913 "0j1rrld13cjk7ks92b5hv3xw4rfm2lvmksb4rlzd8mx0a0wj0rc5"))))
914 (build-system perl-build-system)
915 (native-inputs
916 `(("perl-http-request-ascgi" ,perl-http-request-ascgi)))
917 (propagated-inputs
918 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
919 ("perl-data-visitor" ,perl-data-visitor)
920 ("perl-mro-compat" ,perl-mro-compat)))
921 (home-page "http://search.cpan.org/dist/Catalyst-Action-RenderView")
922 (synopsis "Sensible default Catalyst action")
923 (description "This Catalyst action implements a sensible default end
924action, which will forward to the first available view.")
925 (license (package-license perl))))
926
aaef00bf
EB
927(define-public perl-catalyst-action-rest
928 (package
929 (name "perl-catalyst-action-rest")
abafd66d 930 (version "1.20")
aaef00bf
EB
931 (source (origin
932 (method url-fetch)
d0b9c34f 933 (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
aaef00bf
EB
934 "Catalyst-Action-REST-" version ".tar.gz"))
935 (sha256
936 (base32
abafd66d 937 "1mpa64p61f3dp24xnhdraswch4sqj5vyv1iivcvvh5h0xi0haiy0"))))
aaef00bf
EB
938 (build-system perl-build-system)
939 (native-inputs
940 `(("perl-test-requires" ,perl-test-requires)))
941 (propagated-inputs
942 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
943 ("perl-class-inspector" ,perl-class-inspector)
abafd66d
EF
944 ("perl-config-general" ,perl-config-general)
945 ("perl-cpanel-json-xs" ,perl-cpanel-json-xs)
aaef00bf
EB
946 ("perl-libwww" ,perl-libwww)
947 ("perl-moose" ,perl-moose)
948 ("perl-mro-compat" ,perl-mro-compat)
949 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
950 ("perl-params-validate" ,perl-params-validate)
abafd66d
EF
951 ("perl-uri-find" ,perl-uri-find)
952 ("perl-xml-simple" ,perl-xml-simple)))
aaef00bf
EB
953 (home-page "http://search.cpan.org/dist/Catalyst-Action-REST")
954 (synopsis "Automated REST Method Dispatching")
955 (description "This Action handles doing automatic method dispatching for
956REST requests. It takes a normal Catalyst action, and changes the dispatch to
957append an underscore and method name. First it will try dispatching to an
958action with the generated name, and failing that it will try to dispatch to a
959regular method.")
960 (license (package-license perl))))
961
6e545bbf
EB
962(define-public perl-catalyst-authentication-store-dbix-class
963 (package
964 (name "perl-catalyst-authentication-store-dbix-class")
965 (version "0.1506")
966 (source
967 (origin
968 (method url-fetch)
969 (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
970 "Catalyst-Authentication-Store-DBIx-Class-"
971 version ".tar.gz"))
972 (sha256
973 (base32
974 "0i5ja7690fs9nhxcij6lw51j804sm8s06m5mvk1n8pi8jljrymvw"))))
975 (build-system perl-build-system)
976 (native-inputs
977 `(("perl-catalyst-plugin-authorization-roles"
978 ,perl-catalyst-plugin-authorization-roles)
979 ("perl-catalyst-plugin-session-state-cookie"
980 ,perl-catalyst-plugin-session-state-cookie)
981 ("perl-dbd-sqlite" ,perl-dbd-sqlite)
982 ("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst)))
983 (propagated-inputs
984 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
985 ("perl-catalyst-plugin-authentication"
986 ,perl-catalyst-plugin-authentication)
987 ("perl-dbix-class" ,perl-dbix-class)
988 ("perl-catalyst-model-dbic-schema" ,perl-catalyst-model-dbic-schema)))
989 (home-page
990 "http://search.cpan.org/dist/Catalyst-Authentication-Store-DBIx-Class")
991 (synopsis "Storage class for Catalyst authentication using DBIx::Class")
992 (description "The Catalyst::Authentication::Store::DBIx::Class class
993provides access to authentication information stored in a database via
994DBIx::Class.")
995 (license (package-license perl))))
996
040a52fd
EB
997(define-public perl-catalyst-component-instancepercontext
998 (package
999 (name "perl-catalyst-component-instancepercontext")
1000 (version "0.001001")
1001 (source
1002 (origin
1003 (method url-fetch)
1004 (uri (string-append "mirror://cpan/authors/id/G/GR/GRODITI/"
1005 "Catalyst-Component-InstancePerContext-"
1006 version ".tar.gz"))
1007 (sha256
1008 (base32
1009 "0wfj4vnn2cvk6jh62amwlg050p37fcwdgrn9amcz24z6w4qgjqvz"))))
1010 (build-system perl-build-system)
1011 (propagated-inputs
1012 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1013 ("perl-moose" ,perl-moose)))
1014 (home-page
1015 "http://search.cpan.org/dist/Catalyst-Component-InstancePerContext")
1016 (synopsis "Create only one instance of Moose component per context")
1017 (description "Catalyst::Component::InstancePerContext returns a new
1018instance of a component on each request.")
1019 (license (package-license perl))))
1020
bdec3223
EB
1021(define-public perl-catalyst-devel
1022 (package
1023 (name "perl-catalyst-devel")
1024 (version "1.39")
1025 (source
1026 (origin
1027 (method url-fetch)
1028 (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
1029 "Catalyst-Devel-" version ".tar.gz"))
1030 (sha256
1031 (base32
1032 "12m50bbkggjmpxihv3wnvr0g2qng0zwhlzi5ygppjz8wh2x73qxw"))))
1033 (build-system perl-build-system)
1034 (native-inputs
1035 `(("perl-test-fatal" ,perl-test-fatal)))
1036 (propagated-inputs
1037 `(("perl-catalyst-action-renderview" ,perl-catalyst-action-renderview)
1038 ("perl-catalyst-plugin-configloader" ,perl-catalyst-plugin-configloader)
1039 ("perl-catalyst-plugin-static-simple" ,perl-catalyst-plugin-static-simple)
1040 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1041 ("perl-config-general" ,perl-config-general)
1042 ("perl-file-changenotify" ,perl-file-changenotify)
1043 ("perl-file-copy-recursive" ,perl-file-copy-recursive)
1044 ("perl-file-sharedir" ,perl-file-sharedir)
1045 ("perl-module-install" ,perl-module-install)
1046 ("perl-moose" ,perl-moose)
1047 ("perl-moosex-emulate-class-accessor-fast"
1048 ,perl-moosex-emulate-class-accessor-fast)
1049 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1050 ("perl-namespace-clean" ,perl-namespace-clean)
1051 ("perl-path-class" ,perl-path-class)
1052 ("perl-template-toolkit" ,perl-template-toolkit)))
1053 (home-page "http://search.cpan.org/dist/Catalyst-Devel")
1054 (synopsis "Catalyst Development Tools")
1055 (description "The Catalyst-Devel distribution includes a variety of
1056modules useful for the development of Catalyst applications, but not required
1057to run them. Catalyst-Devel includes the Catalyst::Helper system, which
1058autogenerates scripts and tests; Module::Install::Catalyst, a Module::Install
1059extension for Catalyst; and requirements for a variety of development-related
1060modules.")
1061 (license (package-license perl))))
1062
9473af1d
EB
1063(define-public perl-catalyst-dispatchtype-regex
1064 (package
1065 (name "perl-catalyst-dispatchtype-regex")
1066 (version "5.90035")
1067 (source
1068 (origin
1069 (method url-fetch)
1070 (uri (string-append "mirror://cpan/authors/id/M/MG/MGRIMES/"
1071 "Catalyst-DispatchType-Regex-" version ".tar.gz"))
1072 (sha256
1073 (base32
1074 "06jq1lmpq88rmp9zik5gqczg234xac0hiyc3l698iif7zsgcyb80"))))
1075 (build-system perl-build-system)
1076 (native-inputs
1077 `(("perl-module-build" ,perl-module-build) ;needs Module::Build >= 0.4004
1078 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1079 ("perl-catalyst-runtime" ,perl-catalyst-runtime)))
1080 (propagated-inputs
1081 `(("perl-moose" ,perl-moose)
1082 ("perl-text-simpletable" ,perl-text-simpletable)))
1083 (home-page "http://search.cpan.org/dist/Catalyst-DispatchType-Regex")
1084 (synopsis "Regex DispatchType for Catalyst")
1085 (description "Dispatch type managing path-matching behaviour using
1086regexes. Regex dispatch types have been deprecated and removed from Catalyst
1087core. It is recommend that you use Chained methods or other techniques
1088instead. As part of the refactoring, the dispatch priority of Regex vs Regexp
1089vs LocalRegex vs LocalRegexp may have changed. Priority is now influenced by
1090when the dispatch type is first seen in your application.")
1091 (license (package-license perl))))
1092
f643a6e9
EB
1093(define-public perl-catalyst-model-dbic-schema
1094 (package
1095 (name "perl-catalyst-model-dbic-schema")
1096 (version "0.65")
1097 (source
1098 (origin
1099 (method url-fetch)
1100 (uri (string-append "mirror://cpan/authors/id/G/GB/GBJK/"
1101 "Catalyst-Model-DBIC-Schema-"
1102 version ".tar.gz"))
1103 (sha256
1104 (base32
1105 "1spfjcjc0b9dv3k2gbanqj1m1cqzyxb32p76dhdwizzpbvpi3a96"))))
1106 (build-system perl-build-system)
1107 (native-inputs
1108 `(("perl-dbd-sqlite" ,perl-dbd-sqlite)
1109 ("perl-test-exception" ,perl-test-exception)
1110 ("perl-test-requires" ,perl-test-requires)))
1111 (propagated-inputs
1112 `(("perl-carp-clan" ,perl-carp-clan)
1113 ("perl-catalyst-component-instancepercontext"
1114 ,perl-catalyst-component-instancepercontext)
1115 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1116 ("perl-catalystx-component-traits" ,perl-catalystx-component-traits)
1117 ("perl-dbix-class" ,perl-dbix-class)
1118 ("perl-dbix-class-cursor-cached" ,perl-dbix-class-cursor-cached)
1119 ("perl-dbix-class-schema-loader" ,perl-dbix-class-schema-loader)
1120 ("perl-hash-merge" ,perl-hash-merge)
1121 ("perl-list-moreutils" ,perl-list-moreutils)
1122 ("perl-module-runtime" ,perl-module-runtime)
1123 ("perl-moose" ,perl-moose)
1124 ("perl-moosex-markasmethods" ,perl-moosex-markasmethods)
1125 ("perl-moosex-nonmoose" ,perl-moosex-nonmoose)
1126 ("perl-moosex-types" ,perl-moosex-types)
1127 ("perl-moosex-types-loadableclass" ,perl-moosex-types-loadableclass)
1128 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1129 ("perl-namespace-clean" ,perl-namespace-clean)
1130 ("perl-tie-ixhash" ,perl-tie-ixhash)
1131 ("perl-try-tiny" ,perl-try-tiny)))
1132 (home-page "http://search.cpan.org/dist/Catalyst-Model-DBIC-Schema")
1133 (synopsis "DBIx::Class::Schema Model Class")
1134 (description "This is a Catalyst Model for DBIx::Class::Schema-based
1135Models.")
1136 (license (package-license perl))))
1137
0a74d78d
EB
1138(define-public perl-catalyst-plugin-accesslog
1139 (package
1140 (name "perl-catalyst-plugin-accesslog")
9fc41452 1141 (version "1.10")
0a74d78d
EB
1142 (source
1143 (origin
1144 (method url-fetch)
1145 (uri (string-append "mirror://cpan/authors/id/A/AR/ARODLAND/"
1146 "Catalyst-Plugin-AccessLog-" version ".tar.gz"))
1147 (sha256
1148 (base32
9fc41452 1149 "0811rj45q4v2y8wka3wb9d5m4vbyhcmkvddf2wz4x69awzjbhgc7"))))
0a74d78d
EB
1150 (build-system perl-build-system)
1151 (propagated-inputs
1152 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1153 ("perl-datetime" ,perl-datetime)
1154 ("perl-moose" ,perl-moose)
1155 ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
0a74d78d
EB
1156 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-AccessLog")
1157 (synopsis "Request logging from within Catalyst")
1158 (description "This Catalyst plugin enables you to create \"access logs\"
1159from within a Catalyst application instead of requiring a webserver to do it
1160for you. It will work even with Catalyst debug logging turned off.")
1161 (license (package-license perl))))
1162
4b4fe57d
EB
1163(define-public perl-catalyst-plugin-authentication
1164 (package
1165 (name "perl-catalyst-plugin-authentication")
1166 (version "0.10023")
1167 (source
1168 (origin
1169 (method url-fetch)
1170 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1171 "Catalyst-Plugin-Authentication-"
1172 version ".tar.gz"))
1173 (sha256
1174 (base32
1175 "0v6hb4r1wv3djrnqvnjcn3xx1scgqzx8nyjdg9lfc1ybvamrl0rn"))))
1176 (build-system perl-build-system)
1177 (propagated-inputs
1178 `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
1179 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1180 ("perl-class-inspector" ,perl-class-inspector)
1181 ("perl-moose" ,perl-moose)
1182 ("perl-moosex-emulate-class-accessor-fast"
1183 ,perl-moosex-emulate-class-accessor-fast)
1184 ("perl-mro-compat" ,perl-mro-compat)
1185 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1186 ("perl-string-rewriteprefix" ,perl-string-rewriteprefix)
1187 ("perl-test-exception" ,perl-test-exception)
1188 ("perl-try-tiny" ,perl-try-tiny)))
1189 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Authentication")
1190 (synopsis "Infrastructure plugin for the Catalyst authentication framework")
1191 (description "The authentication plugin provides generic user support for
e881752c 1192Catalyst apps. It is the basis for both authentication (checking the user is
4b4fe57d
EB
1193who they claim to be), and authorization (allowing the user to do what the
1194system authorises them to do).")
1195 (license (package-license perl))))
1196
514214cb
EB
1197(define-public perl-catalyst-plugin-authorization-roles
1198 (package
1199 (name "perl-catalyst-plugin-authorization-roles")
1200 (version "0.09")
1201 (source
1202 (origin
1203 (method url-fetch)
1204 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1205 "Catalyst-Plugin-Authorization-Roles-"
1206 version ".tar.gz"))
1207 (sha256
1208 (base32
1209 "0l83lkwmq0lngwh8b1rv3r719pn8w1gdbyhjqm74rnd0wbjl8h7f"))))
1210 (build-system perl-build-system)
1211 (native-inputs
1212 `(("perl-test-exception" ,perl-test-exception)))
1213 (propagated-inputs
1214 `(("perl-catalyst-plugin-authentication"
1215 ,perl-catalyst-plugin-authentication)
1216 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1217 ("perl-set-object" ,perl-set-object)
1218 ("perl-universal-isa" ,perl-universal-isa)))
1219 (home-page
1220 "http://search.cpan.org/dist/Catalyst-Plugin-Authorization-Roles")
1221 (synopsis "Role-based authorization for Catalyst")
1222 (description "Catalyst::Plugin::Authorization::Roles provides role-based
1223authorization for Catalyst based on Catalyst::Plugin::Authentication.")
1224 (license (package-license perl))))
1225
57c2680e
EB
1226(define-public perl-catalyst-plugin-captcha
1227 (package
1228 (name "perl-catalyst-plugin-captcha")
1229 (version "0.04")
1230 (source
1231 (origin
1232 (method url-fetch)
1233 (uri (string-append "mirror://cpan/authors/id/D/DI/DIEGOK/"
1234 "Catalyst-Plugin-Captcha-" version ".tar.gz"))
1235 (sha256
1236 (base32
1237 "0llyj3v5nx9cx46jdbbvxf1lc9s9cxq5ml22xmx3wkb201r5qgaa"))))
1238 (build-system perl-build-system)
1239 (propagated-inputs
1240 `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
1241 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1242 ("perl-gd-securityimage" ,perl-gd-securityimage)
1243 ("perl-http-date" ,perl-http-date)))
1244 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Captcha")
1245 (synopsis "Captchas for Catalyst")
1246 (description "This plugin creates and validates Captcha images for
1247Catalyst.")
1248 (license (package-license perl))))
1249
7c4eaa56
EB
1250(define-public perl-catalyst-plugin-configloader
1251 (package
1252 (name "perl-catalyst-plugin-configloader")
1253 (version "0.34")
1254 (source
1255 (origin
1256 (method url-fetch)
1257 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1258 "Catalyst-Plugin-ConfigLoader-"
1259 version ".tar.gz"))
1260 (sha256
1261 (base32
1262 "19j7p4v7mbx6wrmpvmrnd974apx7hdl2s095ga3b9zcbdrl77h5q"))))
1263 (build-system perl-build-system)
1264 (native-inputs
1265 `(("perl-path-class" ,perl-path-class)))
1266 (propagated-inputs
1267 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1268 ("perl-config-any" ,perl-config-any)
1269 ("perl-data-visitor" ,perl-data-visitor)
1270 ("perl-mro-compat" ,perl-mro-compat)))
1271 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-ConfigLoader")
1272 (synopsis "Load config files of various types")
1273 (description "This module will attempt to load find and load configuration
1274files of various types. Currently it supports YAML, JSON, XML, INI and Perl
1275formats.")
1276 (license (package-license perl))))
1277
3d4644e4
EB
1278(define-public perl-catalyst-plugin-session
1279 (package
1280 (name "perl-catalyst-plugin-session")
e8b20020 1281 (version "0.40")
3d4644e4
EB
1282 (source
1283 (origin
1284 (method url-fetch)
1285 (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
1286 "Catalyst-Plugin-Session-" version ".tar.gz"))
1287 (sha256
1288 (base32
e8b20020 1289 "171vi9xcl775scjaw4fcfdmqvz0rb1nr0xxg2gb3ng6bjzpslhgv"))))
3d4644e4
EB
1290 (build-system perl-build-system)
1291 (native-inputs
1292 `(("perl-test-deep" ,perl-test-deep)
1293 ("perl-test-exception" ,perl-test-exception)))
1294 (propagated-inputs
1295 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1296 ("perl-moose" ,perl-moose)
1297 ("perl-moosex-emulate-class-accessor-fast"
1298 ,perl-moosex-emulate-class-accessor-fast)
e8b20020 1299 ("perl-mro-compat" ,perl-mro-compat)
3d4644e4
EB
1300 ("perl-namespace-clean" ,perl-namespace-clean)
1301 ("perl-object-signature" ,perl-object-signature)
1302 ("perl-test-www-mechanize-psgi" ,perl-test-www-mechanize-psgi)))
1303 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Session")
1304 (synopsis "Catalyst generic session plugin")
1305 (description "This plugin links the two pieces required for session
1306management in web applications together: the state, and the store.")
1307 (license (package-license perl))))
1308
be734479
EB
1309(define-public perl-catalyst-plugin-session-state-cookie
1310 (package
1311 (name "perl-catalyst-plugin-session-state-cookie")
1312 (version "0.17")
1313 (source
1314 (origin
1315 (method url-fetch)
1316 (uri (string-append "mirror://cpan/authors/id/M/MS/MSTROUT/"
1317 "Catalyst-Plugin-Session-State-Cookie-"
1318 version ".tar.gz"))
1319 (sha256
1320 (base32
1321 "1rvxbfnpf9x2pc2zgpazlcgdlr2dijmxgmcs0m5nazs0w6xikssb"))))
1322 (build-system perl-build-system)
1323 (propagated-inputs
1324 `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
1325 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1326 ("perl-moose" ,perl-moose)
1327 ("perl-mro-compat" ,perl-mro-compat)
1328 ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
1329 (home-page
1330 "http://search.cpan.org/dist/Catalyst-Plugin-Session-State-Cookie")
1331 (synopsis "Maintain session IDs using cookies")
1332 (description "In order for Catalyst::Plugin::Session to work, the session
1333ID needs to be stored on the client, and the session data needs to be stored
1334on the server. This plugin stores the session ID on the client using the
1335cookie mechanism.")
1336 (license (package-license perl))))
1337
47533b6f
EB
1338(define-public perl-catalyst-plugin-session-store-fastmmap
1339 (package
1340 (name "perl-catalyst-plugin-session-store-fastmmap")
1341 (version "0.16")
1342 (source
1343 (origin
1344 (method url-fetch)
1345 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1346 "Catalyst-Plugin-Session-Store-FastMmap-"
1347 version ".tar.gz"))
1348 (sha256
1349 (base32
1350 "0x3j6zv3wr41jlwr6yb2jpmcx019ibyn11y8653ffnwhpzbpzsxs"))))
1351 (build-system perl-build-system)
1352 (propagated-inputs
1353 `(("perl-cache-fastmmap" ,perl-cache-fastmmap)
1354 ("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
1355 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1356 ("perl-moosex-emulate-class-accessor-fast"
1357 ,perl-moosex-emulate-class-accessor-fast)
1358 ("perl-mro-compat" ,perl-mro-compat)
1359 ("perl-path-class" ,perl-path-class)))
1360 (home-page
1361 "http://search.cpan.org/dist/Catalyst-Plugin-Session-Store-FastMmap")
e881752c 1362 (synopsis "FastMmap session storage backend")
47533b6f
EB
1363 (description "Catalyst::Plugin::Session::Store::FastMmap is a fast session
1364storage plugin for Catalyst that uses an mmap'ed file to act as a shared
1365memory interprocess cache. It is based on Cache::FastMmap.")
1366 (license (package-license perl))))
1367
996f4110
EB
1368(define-public perl-catalyst-plugin-stacktrace
1369 (package
1370 (name "perl-catalyst-plugin-stacktrace")
1371 (version "0.12")
1372 (source
1373 (origin
1374 (method url-fetch)
1375 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1376 "Catalyst-Plugin-StackTrace-" version ".tar.gz"))
1377 (sha256
1378 (base32
1379 "1b2ksz74cpigxqzf63rddar3vfmnbpwpdcbs11v0ml89pb8ar79j"))))
1380 (build-system perl-build-system)
1381 (propagated-inputs
1382 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1383 ("perl-devel-stacktrace" ,perl-devel-stacktrace)
1384 ("perl-mro-compat" ,perl-mro-compat)))
1385 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-StackTrace")
1386 (synopsis "Stack trace on the Catalyst debug screen")
1387 (description "This plugin enhances the standard Catalyst debug screen by
69b4ffcf 1388including a stack trace of your application up to the point where the error
996f4110
EB
1389occurred. Each stack frame is displayed along with the package name, line
1390number, file name, and code context surrounding the line number.")
1391 (license (package-license perl))))
1392
4cb5426c
EB
1393(define-public perl-catalyst-plugin-static-simple
1394 (package
1395 (name "perl-catalyst-plugin-static-simple")
1396 (version "0.33")
1397 (source
1398 (origin
1399 (method url-fetch)
1400 (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
1401 "Catalyst-Plugin-Static-Simple-" version ".tar.gz"))
1402 (sha256
1403 (base32
1404 "1h8f12bhzh0ssq9gs8r9g3hqn8zn2k0q944vc1vm8j81bns16msy"))))
1405 (build-system perl-build-system)
1406 (propagated-inputs
1407 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1408 ("perl-mime-types" ,perl-mime-types)
1409 ("perl-moose" ,perl-moose)
1410 ("perl-moosex-types" ,perl-moosex-types)
1411 ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
1412 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Static-Simple")
1413 (synopsis "Simple serving of static pages")
1414 (description "The Static::Simple plugin is designed to make serving static
1415content in your application during development quick and easy, without
1416requiring a single line of code from you. This plugin detects static files by
1417looking at the file extension in the URL (such as .css or .png or .js). The
1418plugin uses the lightweight MIME::Types module to map file extensions to
1419IANA-registered MIME types, and will serve your static files with the correct
1420MIME type directly to the browser, without being processed through Catalyst.")
1421 (license (package-license perl))))
1422
91f06299
EB
1423(define-public perl-catalyst-runtime
1424 (package
1425 (name "perl-catalyst-runtime")
1426 (version "5.90082")
1427 (source
1428 (origin
1429 (method url-fetch)
1430 (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
1431 "Catalyst-Runtime-" version ".tar.gz"))
1432 (sha256
1433 (base32
1434 "1gs70nq4rikpq6siwds9disb1z03vwjzf979xi9kf7saa1drfncs"))))
1435 (build-system perl-build-system)
1436 (native-inputs
1437 `(("perl-test-fatal" ,perl-test-fatal)))
1438 (propagated-inputs
1439 `(("perl-cgi-simple" ,perl-cgi-simple)
1440 ("perl-cgi-struct" ,perl-cgi-struct)
1441 ("perl-class-c3-adopt-next" ,perl-class-c3-adopt-next)
1442 ("perl-class-data-inheritable" ,perl-class-data-inheritable)
1443 ("perl-class-date" ,perl-class-date)
1444 ("perl-class-load" ,perl-class-load)
1445 ("perl-data-dump" ,perl-data-dump)
1446 ("perl-http-body" ,perl-http-body)
1447 ("perl-http-message" ,perl-http-message)
1448 ("perl-http-request-ascgi" ,perl-http-request-ascgi)
1449 ("perl-io-stringy" ,perl-io-stringy)
1450 ("perl-json-maybexs" ,perl-json-maybexs)
1451 ("perl-libwww" ,perl-libwww)
a2190ccc 1452 ("perl-module-pluggable" ,perl-module-pluggable)
91f06299
EB
1453 ("perl-moose" ,perl-moose)
1454 ("perl-moosex-emulate-class-accessor-fast"
1455 ,perl-moosex-emulate-class-accessor-fast)
1456 ("perl-moosex-getopt" ,perl-moosex-getopt)
1457 ("perl-moosex-methodattributes" ,perl-moosex-methodattributes)
1458 ("perl-moosex-role-withoverloading" ,perl-moosex-role-withoverloading)
1459 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1460 ("perl-namespace-clean" ,perl-namespace-clean)
1461 ("perl-path-class" ,perl-path-class)
1462 ("perl-plack" ,perl-plack)
1463 ("perl-plack-middleware-fixmissingbodyinredirect"
1464 ,perl-plack-middleware-fixmissingbodyinredirect)
1465 ("perl-plack-middleware-methodoverride"
1466 ,perl-plack-middleware-methodoverride)
1467 ("perl-plack-middleware-removeredundantbody"
1468 ,perl-plack-middleware-removeredundantbody)
1469 ("perl-plack-middleware-reverseproxy"
1470 ,perl-plack-middleware-reverseproxy)
1471 ("perl-plack-test-externalserver" ,perl-plack-test-externalserver)
1472 ("perl-safe-isa" ,perl-safe-isa)
1473 ("perl-string-rewriteprefix" ,perl-string-rewriteprefix)
1474 ("perl-text-simpletable" ,perl-text-simpletable)
1475 ("perl-tree-simple" ,perl-tree-simple)
1476 ("perl-tree-simple-visitorfactory" ,perl-tree-simple-visitorfactory)
1477 ("perl-try-tiny" ,perl-try-tiny)
1478 ("perl-uri" ,perl-uri)
1479 ("perl-uri-ws" ,perl-uri-ws)))
1480 (home-page "http://search.cpan.org/dist/Catalyst-Runtime")
1481 (synopsis "The Catalyst Framework Runtime")
1482 (description "Catalyst is a modern framework for making web applications.
1483It is designed to make it easy to manage the various tasks you need to do to
1484run an application on the web, either by doing them itself, or by letting you
1485\"plug in\" existing Perl modules that do what you need.")
1486 (license (package-license perl))))
1487
b902eb1c
EB
1488(define-public perl-catalyst-traitfor-request-proxybase
1489 (package
1490 (name "perl-catalyst-traitfor-request-proxybase")
1491 (version "0.000005")
1492 (source
1493 (origin
1494 (method url-fetch)
1495 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1496 "Catalyst-TraitFor-Request-ProxyBase-"
1497 version ".tar.gz"))
1498 (sha256
1499 (base32
1500 "02kir63d5cs2ipj3fn1qlmmx3gqi1xqzrxfr4pv5vjhjgsm0zgx7"))))
1501 (build-system perl-build-system)
1502 (native-inputs
1503 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1504 ("perl-catalystx-roleapplicator" ,perl-catalystx-roleapplicator)
1505 ("perl-http-message" ,perl-http-message)))
1506 (propagated-inputs
1507 `(("perl-moose" ,perl-moose)
1508 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1509 ("perl-uri" ,perl-uri)))
1510 (home-page
1511 "http://search.cpan.org/dist/Catalyst-TraitFor-Request-ProxyBase")
1512 (synopsis "Replace request base with value passed by HTTP proxy")
1513 (description "This module is a Moose::Role which allows you more
1514flexibility in your application's deployment configurations when deployed
1515behind a proxy. Using this module, the request base ($c->req->base) is
1516replaced with the contents of the X-Request-Base header.")
1517 (license (package-license perl))))
1518
83261658
EB
1519(define-public perl-catalyst-view-download
1520 (package
1521 (name "perl-catalyst-view-download")
1522 (version "0.09")
1523 (source
1524 (origin
1525 (method url-fetch)
1526 (uri (string-append "mirror://cpan/authors/id/G/GA/GAUDEON/"
1527 "Catalyst-View-Download-" version ".tar.gz"))
1528 (sha256
1529 (base32
1530 "1qgq6y9iwfbhbkbgpw9czang2ami6z8jk1zlagrzdisy4igqzkvs"))))
1531 (build-system perl-build-system)
1532 (native-inputs
1533 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1534 ("perl-test-simple" ,perl-test-simple)
1535 ("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst)
1536 ("perl-text-csv" ,perl-text-csv)
1537 ("perl-xml-simple" ,perl-xml-simple)))
1538 (home-page "http://search.cpan.org/dist/Catalyst-View-Download")
1539 (synopsis "Download data in many formats")
1540 (description "The purpose of this module is to provide a method for
1541downloading data into many supportable formats. For example, downloading a
e881752c 1542table based report in a variety of formats (CSV, HTML, etc.).")
83261658
EB
1543 (license (package-license perl))))
1544
c985cfe6
EB
1545(define-public perl-catalyst-view-json
1546 (package
1547 (name "perl-catalyst-view-json")
0018eb57 1548 (version "0.36")
c985cfe6
EB
1549 (source
1550 (origin
1551 (method url-fetch)
1552 (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
1553 "Catalyst-View-JSON-" version ".tar.gz"))
1554 (sha256
1555 (base32
0018eb57 1556 "0x943j1n2r0zqanyzdrs1xsnn8ayn2wqskn7h144xcqa6v6gcisl"))))
c985cfe6
EB
1557 (build-system perl-build-system)
1558 (native-inputs
1559 `(("perl-yaml" ,perl-yaml)))
1560 (inputs
1561 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1562 ("perl-json-maybexs" ,perl-json-maybexs)
1563 ("perl-mro-compat" ,perl-mro-compat)))
1564 (home-page "http://search.cpan.org/dist/Catalyst-View-JSON")
1565 (synopsis "Catalyst JSON view")
1566 (description "Catalyst::View::JSON is a Catalyst View handler that returns
1567stash data in JSON format.")
1568 (license (package-license perl))))
1569
5c2c9ab2
EB
1570(define-public perl-catalyst-view-tt
1571 (package
1572 (name "perl-catalyst-view-tt")
776ca1cb 1573 (version "0.44")
5c2c9ab2
EB
1574 (source
1575 (origin
1576 (method url-fetch)
94692757 1577 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
5c2c9ab2
EB
1578 "Catalyst-View-TT-" version ".tar.gz"))
1579 (sha256
1580 (base32
776ca1cb 1581 "06d1zg4nbb6kcyjbnyxrkf8z4zlscxr8650d94f7187jygfl8rvh"))))
5c2c9ab2
EB
1582 (build-system perl-build-system)
1583 (propagated-inputs
1584 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1585 ("perl-class-accessor" ,perl-class-accessor)
776ca1cb 1586 ("perl-data-dump" ,perl-data-dump)
5c2c9ab2
EB
1587 ("perl-mro-compat" ,perl-mro-compat)
1588 ("perl-path-class" ,perl-path-class)
1589 ("perl-template-timer" ,perl-template-timer)
1590 ("perl-template-toolkit" ,perl-template-toolkit)))
1591 (home-page "http://search.cpan.org/dist/Catalyst-View-TT")
1592 (synopsis "Template View Class")
1593 (description "This module is a Catalyst view class for the Template
1594Toolkit.")
1595 (license (package-license perl))))
1596
89a2aa36
EB
1597(define-public perl-catalystx-component-traits
1598 (package
1599 (name "perl-catalystx-component-traits")
1600 (version "0.19")
1601 (source
1602 (origin
1603 (method url-fetch)
1604 (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/"
1605 "CatalystX-Component-Traits-" version ".tar.gz"))
1606 (sha256
1607 (base32
1608 "0iq4ci8m6g2c4g01fvdl568y7pjz28f3widk986v3pyhr7ll8j88"))))
1609 (build-system perl-build-system)
1610 (native-inputs
1611 `(("perl-moose" ,perl-moose)
1612 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1613 ("perl-moosex-methodattributes" ,perl-moosex-methodattributes)))
1614 (propagated-inputs
1615 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1616 ("perl-class-load" ,perl-class-load)
1617 ("perl-moose" ,perl-moose)
1618 ("perl-moosex-traits-pluggable" ,perl-moosex-traits-pluggable)
1619 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1620 ("perl-list-moreutils" ,perl-list-moreutils)))
1621 (home-page "http://search.cpan.org/dist/CatalystX-Component-Traits")
1622 (synopsis "Trait Loading and Resolution for Catalyst Components")
1623 (description "Adds a \"COMPONENT\" in Catalyst::Component method to your
1624Catalyst component base class that reads the optional \"traits\" parameter
1625from app and component config and instantiates the component subclass with
1626those traits using \"new_with_traits\" in MooseX::Traits from
1627MooseX::Traits::Pluggable.")
1628 (license (package-license perl))))
1629
227687ae
EB
1630(define-public perl-catalystx-roleapplicator
1631 (package
1632 (name "perl-catalystx-roleapplicator")
1633 (version "0.005")
1634 (source
1635 (origin
1636 (method url-fetch)
1637 (uri (string-append "mirror://cpan/authors/id/H/HD/HDP/"
1638 "CatalystX-RoleApplicator-" version ".tar.gz"))
1639 (sha256
1640 (base32
1641 "0vwaapxn8g5hs2xp63c4dwv9jmapmji4272fakssvgc9frklg3p2"))))
1642 (build-system perl-build-system)
1643 (propagated-inputs
1644 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1645 ("perl-moose" ,perl-moose)
1646 ("perl-moosex-relatedclassroles" ,perl-moosex-relatedclassroles)))
1647 (home-page "http://search.cpan.org/dist/CatalystX-RoleApplicator")
1648 (synopsis "Apply roles to Catalyst classes")
1649 (description "CatalystX::RoleApplicator applies roles to Catalyst
1650application classes.")
1651 (license (package-license perl))))
1652
ca8e6196
EB
1653(define-public perl-catalystx-script-server-starman
1654 (package
1655 (name "perl-catalystx-script-server-starman")
1656 (version "0.02")
1657 (source
1658 (origin
1659 (method url-fetch)
1660 (uri (string-append "mirror://cpan/authors/id/A/AB/ABRAXXA/"
1661 "CatalystX-Script-Server-Starman-"
1662 version ".tar.gz"))
1663 (sha256
1664 (base32
1665 "0h02mpkc4cmi3jpvcd7iw7xyzx55bqvvl1qkf967gqkvpklm0qx5"))))
1666 (build-system perl-build-system)
1667 (native-inputs
1668 `(("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst)))
1669 (propagated-inputs
1670 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1671 ("perl-moose" ,perl-moose)
1672 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1673 ("starman" ,starman)))
1674 (home-page "http://search.cpan.org/dist/CatalystX-Script-Server-Starman")
1675 (synopsis "Catalyst development server with Starman")
1676 (description "This module provides a Catalyst extension to replace the
1677development server with Starman.")
1678 (license (package-license perl))))
1679
7b158c4e
EB
1680(define-public perl-cgi
1681 (package
1682 (name "perl-cgi")
caa01944 1683 (version "4.35")
7b158c4e
EB
1684 (source
1685 (origin
1686 (method url-fetch)
1687 (uri (string-append "mirror://cpan/authors/id/L/LE/LEEJO/"
1688 "CGI-" version ".tar.gz"))
1689 (sha256
1690 (base32
caa01944 1691 "07gwnlc7vq58fjwmfsrv0hfyirqqdrpjhf89caq34rjrkz2wsd0b"))))
7b158c4e
EB
1692 (build-system perl-build-system)
1693 (native-inputs
1694 `(("perl-test-deep" ,perl-test-deep)
1695 ("perl-test-nowarnings" ,perl-test-nowarnings)
1696 ("perl-test-warn" ,perl-test-warn)))
1697 (propagated-inputs
1698 `(("perl-html-parser" ,perl-html-parser)))
1699 (home-page "http://search.cpan.org/dist/CGI")
1700 (synopsis "Handle Common Gateway Interface requests and responses")
1701 (description "CGI.pm is a stable, complete and mature solution for
1702processing and preparing HTTP requests and responses. Major features include
1703processing form submissions, file uploads, reading and writing cookies, query
1704string generation and manipulation, and processing and preparing HTTP
1705headers.")
1706 (license (package-license perl))))
1707
0148aa55
EB
1708(define-public perl-cgi-simple
1709 (package
1710 (name "perl-cgi-simple")
1711 (version "1.115")
1712 (source
1713 (origin
1714 (method url-fetch)
1715 (uri (string-append "mirror://cpan/authors/id/S/SZ/SZABGAB/"
1716 "CGI-Simple-" version ".tar.gz"))
1717 (sha256
1718 (base32
1719 "1nkyb1m1g5r47xykflf68dplanih5p15njv82frbgbsms34kp1sg"))))
1720 (build-system perl-build-system)
1721 (native-inputs
bb8afbf5
LC
1722 `(("perl-module-build" ,perl-module-build)
1723 ("perl-io-stringy" ,perl-io-stringy))) ;for IO::Scalar
0148aa55
EB
1724 (home-page "http://search.cpan.org/dist/CGI-Simple")
1725 (synopsis "CGI interface that is CGI.pm compliant")
1726 (description "CGI::Simple provides a relatively lightweight drop in
1727replacement for CGI.pm. It shares an identical OO interface to CGI.pm for
1728parameter parsing, file upload, cookie handling and header generation.")
1729 (license (package-license perl))))
1730
76b8b86c
EB
1731(define-public perl-cgi-struct
1732 (package
1733 (name "perl-cgi-struct")
1734 (version "1.21")
1735 (source
1736 (origin
1737 (method url-fetch)
1738 (uri (string-append "mirror://cpan/authors/id/F/FU/FULLERMD/"
1739 "CGI-Struct-" version ".tar.gz"))
1740 (sha256
1741 (base32
1742 "0v4xq2qpryr7i6jngw1wpn8yr2kiib10yxp4aih90vfdznkqsgfi"))))
1743 (build-system perl-build-system)
1744 (native-inputs
1745 `(("perl-test-deep" ,perl-test-deep)))
1746 (home-page "http://search.cpan.org/dist/CGI-Struct")
1747 (synopsis "Build structures from CGI data")
1748 (description "This is a module for building structured data from CGI
1749inputs, in a manner reminiscent of how PHP does.")
1750 (license l:bsd-2)))
1751
9151712c
EB
1752(define-public perl-datetime-format-http
1753 (package
1754 (name "perl-datetime-format-http")
1755 (version "0.42")
1756 (source
1757 (origin
1758 (method url-fetch)
1759 (uri (string-append "mirror://cpan/authors/id/C/CK/CKRAS/"
1760 "DateTime-Format-HTTP-" version ".tar.gz"))
1761 (sha256
1762 (base32
1763 "0h6qqdg1yzqkdxp7hqlp0qa7d1y64nilgimxs79dys2ryjfpcknh"))))
1764 (build-system perl-build-system)
a2190ccc
EB
1765 (native-inputs
1766 `(("perl-module-build" ,perl-module-build)))
9151712c
EB
1767 (propagated-inputs
1768 `(("perl-datetime" ,perl-datetime)
1769 ("perl-http-date" ,perl-http-date)))
1770 (home-page "http://search.cpan.org/dist/DateTime-Format-HTTP")
1771 (synopsis "Date conversion routines")
1772 (description "This module provides functions that deal with the date
1773formats used by the HTTP protocol.")
1774 (license (package-license perl))))
1775
0a24e9b8
EB
1776(define-public perl-digest-md5-file
1777 (package
1778 (name "perl-digest-md5-file")
1779 (version "0.08")
1780 (source
1781 (origin
1782 (method url-fetch)
1783 (uri (string-append "mirror://cpan/authors/id/D/DM/DMUEY/"
1784 "Digest-MD5-File-" version ".tar.gz"))
1785 (sha256
1786 (base32
1787 "060jzf45dlwysw5wsm7av1wvpl06xgk415kwwpvv89r6wda3md5d"))))
1788 (build-system perl-build-system)
1789 (propagated-inputs
1790 `(("perl-libwww" ,perl-libwww)))
1791 (home-page "http://search.cpan.org/dist/Digest-MD5-File")
1792 (synopsis "MD5 sums for files and urls")
1793 (description "Digest::MD5::File is a Perl extension for getting MD5 sums
1794for files and urls.")
1795 (license (package-license perl))))
1796
8142aff3
EB
1797(define-public perl-encode-locale
1798 (package
1799 (name "perl-encode-locale")
85b9c18b 1800 (version "1.05")
c9ea41ff
AE
1801 (source (origin
1802 (method url-fetch)
1803 (uri (string-append
8142aff3 1804 "mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-"
c9ea41ff
AE
1805 version ".tar.gz"))
1806 (sha256
1807 (base32
85b9c18b 1808 "1h8fvcdg3n20c2yp7107yhdkkx78534s9hnvn7ps8hpmf4ks0vqp"))))
c9ea41ff
AE
1809 (build-system perl-build-system)
1810 (license (package-license perl))
8142aff3 1811 (synopsis "Perl locale encoding determination")
c9ea41ff 1812 (description
8142aff3 1813 "The POSIX locale system is used to specify both the language
7c125ce0
AK
1814conventions requested by the user and the preferred character set to
1815consume and output. The Encode::Locale module looks up the charset and
1816encoding (called a CODESET in the locale jargon) and arranges for the
1817Encode module to know this encoding under the name \"locale\". It means
1818bytes obtained from the environment can be converted to Unicode strings
1819by calling Encode::encode(locale => $bytes) and converted back again
1820with Encode::decode(locale => $string).")
8142aff3
EB
1821 (home-page "http://search.cpan.org/~gaas/Encode-Locale/")))
1822
46173a0d 1823(define-public perl-feed-find
1824 (package
1825 (name "perl-feed-find")
1826 (version "0.07")
1827 (source (origin
1828 (method url-fetch)
1829 (uri (string-append "mirror://cpan/authors/id/B/BT/BTROTT/"
1830 "Feed-Find-" version ".tar.gz"))
1831 (sha256
1832 (base32
1833 "0sa33cm8ww55cymnl8j7b5yspi2y5xkkkgqqa4h6fs3wdqylz600"))))
1834 (build-system perl-build-system)
1835 (arguments
1836 ;; Tests expect to query files at http://stupidfool.org/perl/feeds/
1837 `(#:tests? #f))
1838 (inputs
1839 `(("perl-class-errorhandler" ,perl-class-errorhandler)
1840 ("perl-html-parser" ,perl-html-parser)
1841 ("perl-libwww" ,perl-libwww)
1842 ("perl-uri" ,perl-uri)))
1843 (home-page "http://search.cpan.org/dist/Feed-Find")
1844 (synopsis "Syndication feed auto-discovery")
1845 (description "@code{Feed::Find} implements feed auto-discovery for finding
1846syndication feeds, given a URI. It will discover the following feed formats:
1847RSS 0.91, RSS 1.0, RSS 2.0, Atom.")
1848 (license (package-license perl))))
1849
8142aff3
EB
1850(define-public perl-file-listing
1851 (package
1852 (name "perl-file-listing")
1853 (version "6.04")
1854 (source (origin
1855 (method url-fetch)
1856 (uri (string-append
1857 "mirror://cpan/authors/id/G/GA/GAAS/File-Listing-"
1858 version ".tar.gz"))
1859 (sha256
1860 (base32
1861 "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y"))))
1862 (build-system perl-build-system)
1863 (propagated-inputs
1864 `(("perl-http-date" ,perl-http-date)))
1865 (license (package-license perl))
1866 (synopsis "Perl directory listing parser")
1867 (description
1868 "The File::Listing module exports a single function called parse_dir(),
1869which can be used to parse directory listings.")
1870 (home-page "http://search.cpan.org/~gaas/File-Listing/")))
c9ea41ff 1871
8b459932
EB
1872(define-public perl-finance-quote
1873 (package
1874 (name "perl-finance-quote")
97c0cfdc 1875 (version "1.38")
8b459932
EB
1876 (source
1877 (origin
1878 (method url-fetch)
1879 (uri (string-append "https://cpan.metacpan.org/authors/id/E/EC/ECOCODE/"
1880 "Finance-Quote-" version ".tar.gz"))
1881 (sha256
1882 (base32
97c0cfdc 1883 "0zhqb27y4vdxn476s2kwm9zl2f970yjcyyybnjm9b406krr2fm59"))
fc1adab1
AK
1884 (patches (search-patches
1885 "perl-finance-quote-unuse-mozilla-ca.patch"))))
8b459932
EB
1886 (build-system perl-build-system)
1887 (propagated-inputs
a2190ccc
EB
1888 `(("perl-cgi" ,perl-cgi)
1889 ("perl-datetime" ,perl-datetime)
8b459932
EB
1890 ("perl-html-parser" ,perl-html-parser)
1891 ("perl-html-tableextract" ,perl-html-tableextract)
1892 ("perl-html-tree" ,perl-html-tree)
1893 ("perl-http-cookies" ,perl-http-cookies)
1894 ("perl-http-message" ,perl-http-message)
1895 ("perl-json" ,perl-json)
1896 ("perl-libwww" ,perl-libwww)
1897 ("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
1898 ("perl-uri" ,perl-uri)))
1899 (home-page "http://search.cpan.org/dist/Finance-Quote")
1900 (synopsis "Stock and mutual fund quotes")
1901 (description
1902 "Finance::Quote gets stock quotes from various internet sources, including
1903Yahoo! Finance, Fidelity Investments, and the Australian Stock Exchange.")
1904 (license l:gpl2)))
1905
9fe938c1
EB
1906(define-public perl-gssapi
1907 (package
1908 (name "perl-gssapi")
1909 (version "0.28")
1910 (source
1911 (origin
1912 (method url-fetch)
1913 (uri (string-append "mirror://cpan/authors/id/A/AG/AGROLMS/"
1914 "GSSAPI-" version ".tar.gz"))
1915 (sha256
1916 (base32
1917 "1mkhwxjjlhr58pd770i9gnf7zy7jj092iv6jfbnb8bvnc5xjr3vx"))))
1918 (build-system perl-build-system)
1919 (inputs `(("gssapi" ,mit-krb5)))
1920 (arguments
1921 `(#:make-maker-flags
1922 `(,(string-append "--gssapiimpl=" (assoc-ref %build-inputs "gssapi")))))
1923 (home-page "http://search.cpan.org/dist/GSSAPI")
1924 (synopsis "Perl extension providing access to the GSSAPIv2 library")
1925 (description "This is a Perl extension for using GSSAPI C bindings as
1926described in RFC 2744.")
1927 (license (package-license perl))))
1928
c1b9e7e7
EB
1929(define-public perl-html-element-extended
1930 (package
1931 (name "perl-html-element-extended")
1932 (version "1.18")
1933 (source
1934 (origin
1935 (method url-fetch)
1936 (uri (string-append "mirror://cpan/authors/id/M/MS/MSISK/"
1937 "HTML-Element-Extended-" version ".tar.gz"))
1938 (sha256
1939 (base32
1940 "0axknss8c368r5i082yhkfj8mq0w4nglfrpcxcayyzzj13qimvzk"))))
1941 (build-system perl-build-system)
1942 (propagated-inputs
1943 `(("perl-html-tree" ,perl-html-tree)))
1944 (home-page "http://search.cpan.org/dist/HTML-Element-Extended")
1945 (synopsis "Manipulate tables of HTML::Element")
1946 (description
1947 "HTML::Element::Extended is a Perl extension for manipulating a table
1948composed of HTML::Element style components.")
1949 (license (package-license perl))))
1950
bab57fcd
EB
1951(define-public perl-html-form
1952 (package
1953 (name "perl-html-form")
1954 (version "6.03")
1955 (source
1956 (origin
1957 (method url-fetch)
1958 (uri (string-append "mirror://cpan/authors/id/G/GA/GAAS/"
1959 "HTML-Form-" version ".tar.gz"))
1960 (sha256
1961 (base32
1962 "0dpwr7yz6hjc3bcqgcbdzjjk9l58ycdjmbam9nfcmm85y2a1vh38"))))
1963 (build-system perl-build-system)
1964 (propagated-inputs
1965 `(("perl-html-parser" ,perl-html-parser)
1966 ("perl-html-tagset" ,perl-html-tagset)
1967 ("perl-http-message" ,perl-http-message)
1968 ("perl-lwp-mediatypes" ,perl-lwp-mediatypes)
1969 ("perl-uri" ,perl-uri)))
1970 (home-page "http://search.cpan.org/dist/HTML-Form")
1971 (synopsis "Perl class representing an HTML form element")
1972 (description "Objects of the HTML::Form class represents a single HTML
1973<form> ... </form> instance.")
1974 (license (package-license perl))))
1975
0cd2ab30
EB
1976(define-public perl-html-lint
1977 (package
1978 (name "perl-html-lint")
1979 (version "2.20")
1980 (source
1981 (origin
1982 (method url-fetch)
1983 (uri (string-append "mirror://cpan/authors/id/P/PE/PETDANCE/"
1984 "HTML-Lint-" version ".tar.gz"))
1985 (sha256
1986 (base32
1987 "15vrqjnlb0f8rib1kqdf4islqy6i33h08wy7b1bkgd550p7lfjwk"))))
1988 (build-system perl-build-system)
1989 (propagated-inputs
1990 `(("perl-html-parser" ,perl-html-parser)
1991 ("perl-html-tagset" ,perl-html-tagset)
1992 ("perl-libwww" ,perl-libwww)))
1993 (home-page "http://search.cpan.org/dist/HTML-Lint")
1994 (synopsis "Check for HTML errors in a string or file")
1995 (description "HTML::Lint is a pure-Perl HTML parser and checker for
1996syntactic legitmacy.")
1997 (license l:artistic2.0)))
1998
9cf6c9fc
EB
1999(define-public perl-html-tableextract
2000 (package
2001 (name "perl-html-tableextract")
2002 (version "2.13")
2003 (source
2004 (origin
2005 (method url-fetch)
2006 (uri (string-append "https://cpan.metacpan.org/authors/id/M/MS/MSISK/"
2007 "HTML-TableExtract-" version ".tar.gz"))
2008 (sha256
2009 (base32
2010 "01jimmss3q68a89696wmclvqwb2ybz6xgabpnbp6mm6jcni82z8a"))))
2011 (build-system perl-build-system)
2012 (propagated-inputs
2013 `(("perl-html-element-extended" ,perl-html-element-extended)
2014 ("perl-html-parser" ,perl-html-parser)))
2015 (home-page "http://search.cpan.org/dist/HTML-TableExtract")
2016 (synopsis "Extract contents from HTML tables")
2017 (description
2018 "HTML::TableExtract is a Perl module for extracting the content contained
2019in tables within an HTML document, either as text or encoded element trees.")
2020 (license (package-license perl))))
2021
ddc36cd8
EB
2022(define-public perl-html-tree
2023 (package
2024 (name "perl-html-tree")
2025 (version "5.03")
2026 (source
2027 (origin
2028 (method url-fetch)
2029 (uri (string-append "mirror://cpan/authors/id/C/CJ/CJM/"
2030 "HTML-Tree-" version ".tar.gz"))
2031 (sha256
2032 (base32
2033 "13qlqbpixw470gnck0xgny8hyjj576m8y24bba2p9ai2lvy76vbx"))))
2034 (build-system perl-build-system)
2035 (native-inputs
a2190ccc
EB
2036 `(("perl-module-build" ,perl-module-build)
2037 ("perl-test-fatal" ,perl-test-fatal)))
ddc36cd8
EB
2038 (propagated-inputs
2039 `(("perl-html-parser" ,perl-html-parser)
2040 ("perl-html-tagset" ,perl-html-tagset)
2041 ("perl-libwww" ,perl-libwww)))
2042 (home-page "http://search.cpan.org/dist/HTML-Tree")
2043 (synopsis "Work with HTML in a DOM-like tree structure")
2044 (description "This distribution contains a suite of modules for
2045representing, creating, and extracting information from HTML syntax trees.")
2046 (license (package-license perl))))
2047
8ec0d3fb
AE
2048(define-public perl-html-parser
2049 (package
2050 (name "perl-html-parser")
3700b27d 2051 (version "3.72")
8ec0d3fb
AE
2052 (source (origin
2053 (method url-fetch)
2054 (uri (string-append
2055 "mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-"
2056 version ".tar.gz"))
2057 (sha256
2058 (base32
3700b27d 2059 "12v05ywlnsi9lc17z32k9jxx3sj1viy7y1wpl7n4az76v7hwfa7c"))))
8ec0d3fb
AE
2060 (build-system perl-build-system)
2061 (inputs
3700b27d
EF
2062 `(("perl-html-tagset" ,perl-html-tagset)
2063 ("perl-http-message" ,perl-http-message)))
8ec0d3fb
AE
2064 (license (package-license perl))
2065 (synopsis "Perl HTML parser class")
2066 (description
2067 "Objects of the HTML::Parser class will recognize markup and separate
2068it from plain text (alias data content) in HTML documents. As different
2069kinds of markup and text are recognized, the corresponding event handlers
2070are invoked.")
2071 (home-page "http://search.cpan.org/~gaas/HTML-Parser/")))
ae2aa18d 2072
8142aff3 2073(define-public perl-html-tagset
ae2aa18d 2074 (package
8142aff3
EB
2075 (name "perl-html-tagset")
2076 (version "3.20")
ae2aa18d
AE
2077 (source (origin
2078 (method url-fetch)
2079 (uri (string-append
8142aff3 2080 "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-"
ae2aa18d
AE
2081 version ".tar.gz"))
2082 (sha256
2083 (base32
8142aff3 2084 "1qh8249wgr4v9vgghq77zh1d2zs176bir223a8gh3k9nksn7vcdd"))))
ae2aa18d
AE
2085 (build-system perl-build-system)
2086 (license (package-license perl))
8142aff3 2087 (synopsis "Perl data tables useful in parsing HTML")
ae2aa18d 2088 (description
8142aff3
EB
2089 "The HTML::Tagset module contains several data tables useful in various
2090kinds of HTML parsing operations.")
2091 (home-page "http://search.cpan.org/dist/HTML-Tagset/")))
fea5ebb1 2092
a05996e0
RW
2093(define-public perl-html-template
2094 (package
2095 (name "perl-html-template")
2096 (version "2.95")
2097 (source (origin
2098 (method url-fetch)
2099 (uri (string-append "mirror://cpan/authors/id/W/WO/WONKO/"
2100 "HTML-Template-" version ".tar.gz"))
2101 (sha256
2102 (base32
2103 "07ahpfgidxsw2yb7y8i7bbr8s64aq6qgq832h9jswmksxbd0l43q"))))
2104 (build-system perl-build-system)
a2190ccc
EB
2105 (propagated-inputs
2106 `(("perl-cgi" ,perl-cgi)))
a05996e0
RW
2107 (home-page "http://search.cpan.org/dist/HTML-Template")
2108 (synopsis "HTML-like templates")
2109 (description
2110 "This module attempts to make using HTML templates simple and natural.
2111It extends standard HTML with a few new HTML-esque tags: @code{<TMPL_VAR>},
2112@code{<TMPL_LOOP>}, @code{<TMPL_INCLUDE>}, @code{<TMPL_IF>},
2113@code{<TMPL_ELSE>} and @code{<TMPL_UNLESS>}. The file written with HTML and
2114these new tags is called a template. Using this module you fill in the values
2115for the variables, loops and branches declared in the template. This allows
2116you to separate design from the data.")
2117 (license (package-license perl))))
2118
5ec8ec83
EB
2119(define-public perl-http-body
2120 (package
2121 (name "perl-http-body")
1bb8ca40 2122 (version "1.22")
5ec8ec83
EB
2123 (source
2124 (origin
2125 (method url-fetch)
2126 (uri (string-append "mirror://cpan/authors/id/G/GE/GETTY/"
2127 "HTTP-Body-" version ".tar.gz"))
2128 (sha256
2129 (base32
1bb8ca40 2130 "15vj488i62mdp4ps9k77h39prj70i7anb6b0j8nm7l9vbdc2q3gw"))))
5ec8ec83
EB
2131 (build-system perl-build-system)
2132 (native-inputs
2133 `(("perl-test-deep" ,perl-test-deep)))
2134 (propagated-inputs
2135 `(("perl-file-temp" ,perl-file-temp)
2136 ("perl-http-message" ,perl-http-message))) ;For HTTP::Headers
2137 (home-page "http://search.cpan.org/dist/HTTP-Body")
2138 (synopsis "HTTP Body Parser")
2139 (description "HTTP::Body parses chunks of HTTP POST data and supports
2140application/octet-stream, application/json, application/x-www-form-urlencoded,
2141and multipart/form-data.")
2142 (license (package-license perl))))
2143
c8a316a3
EB
2144(define-public perl-http-cookiejar
2145 (package
2146 (name "perl-http-cookiejar")
1ade054c 2147 (version "0.008")
c8a316a3
EB
2148 (source
2149 (origin
2150 (method url-fetch)
2151 (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
2152 "HTTP-CookieJar-" version ".tar.gz"))
2153 (sha256
2154 (base32
1ade054c 2155 "0rfw6avcralggs7bf7n86flvhaahxjnqzvpwszp0sk4z4wwy01wm"))))
c8a316a3
EB
2156 (build-system perl-build-system)
2157 (native-inputs
2158 `(("perl-test-deep" ,perl-test-deep)
2159 ("perl-test-requires" ,perl-test-requires)
1ade054c
EF
2160 ("perl-time-mock" ,perl-time-mock)
2161 ("perl-uri" ,perl-uri)))
c8a316a3
EB
2162 (inputs
2163 `(("perl-time-local" ,perl-time-local)
2164 ("perl-http-date" ,perl-http-date)))
2165 (home-page "http://search.cpan.org/dist/HTTP-CookieJar")
2166 (synopsis "Minimalist HTTP user agent cookie jar")
2167 (description "This module implements a minimalist HTTP user agent cookie
2168jar in conformance with RFC 6265 <http://tools.ietf.org/html/rfc6265>.")
2169 (license l:asl2.0)))
2170
8142aff3 2171(define-public perl-http-cookies
fea5ebb1 2172 (package
8142aff3
EB
2173 (name "perl-http-cookies")
2174 (version "6.01")
fea5ebb1
AE
2175 (source (origin
2176 (method url-fetch)
2177 (uri (string-append
8142aff3 2178 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Cookies-"
fea5ebb1
AE
2179 version ".tar.gz"))
2180 (sha256
2181 (base32
8142aff3 2182 "087bqmg22dg3vj7gssh3pcsh9y1scimkbl5h1kc8jqyfhgisvlzm"))))
fea5ebb1 2183 (build-system perl-build-system)
8142aff3
EB
2184 (propagated-inputs
2185 `(("perl-http-message" ,perl-http-message)))
fea5ebb1 2186 (license (package-license perl))
8142aff3 2187 (synopsis "Perl HTTP cookie jars")
fea5ebb1 2188 (description
8142aff3
EB
2189 "The HTTP::Cookies class is for objects that represent a cookie jar,
2190that is, a database of all the HTTP cookies that a given LWP::UserAgent
2191object knows about.")
2192 (home-page "http://search.cpan.org/~gaas/HTTP-Cookies/")))
24b3c053 2193
8142aff3 2194(define-public perl-http-daemon
24b3c053 2195 (package
8142aff3
EB
2196 (name "perl-http-daemon")
2197 (version "6.01")
24b3c053
AE
2198 (source (origin
2199 (method url-fetch)
2200 (uri (string-append
8142aff3 2201 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Daemon-"
24b3c053
AE
2202 version ".tar.gz"))
2203 (sha256
2204 (base32
8142aff3 2205 "1hmd2isrkilf0q0nkxms1q64kikjmcw9imbvrjgky6kh89vqdza3"))))
24b3c053 2206 (build-system perl-build-system)
8142aff3
EB
2207 (propagated-inputs
2208 `(("perl-http-message" ,perl-http-message)
2209 ("perl-lwp-mediatypes" ,perl-lwp-mediatypes)))
24b3c053 2210 (license (package-license perl))
8142aff3 2211 (synopsis "Perl simple http server class")
24b3c053 2212 (description
8142aff3
EB
2213 "Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen
2214on a socket for incoming requests. The HTTP::Daemon is a subclass of
2215IO::Socket::INET, so you can perform socket operations directly on it too.")
2216 (home-page "http://search.cpan.org/~gaas/HTTP-Daemon/")))
e426106b 2217
8142aff3 2218(define-public perl-http-date
e426106b 2219 (package
8142aff3
EB
2220 (name "perl-http-date")
2221 (version "6.02")
e426106b
AE
2222 (source (origin
2223 (method url-fetch)
2224 (uri (string-append
8142aff3 2225 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-"
e426106b
AE
2226 version ".tar.gz"))
2227 (sha256
2228 (base32
8142aff3 2229 "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8"))))
e426106b
AE
2230 (build-system perl-build-system)
2231 (license (package-license perl))
8142aff3 2232 (synopsis "Perl date conversion routines")
e426106b 2233 (description
8142aff3
EB
2234 "The HTTP::Date module provides functions that deal with date formats
2235used by the HTTP protocol (and then some more).")
2236 (home-page "http://search.cpan.org/~gaas/HTTP-Date/")))
91318a9e
AE
2237
2238(define-public perl-http-message
2239 (package
2240 (name "perl-http-message")
a8a7227b 2241 (version "6.11")
91318a9e
AE
2242 (source (origin
2243 (method url-fetch)
2244 (uri (string-append
084f8e04 2245 "mirror://cpan/authors/id/E/ET/ETHER/HTTP-Message-"
91318a9e
AE
2246 version ".tar.gz"))
2247 (sha256
2248 (base32
a8a7227b 2249 "06yq6cjx4vzl4if4ykap77xsrrd8aa7ish90k7cqi8g6g83nicz7"))))
91318a9e 2250 (build-system perl-build-system)
daee66fc 2251 (propagated-inputs
a8a7227b
EF
2252 `(("perl-encode-locale" ,perl-encode-locale)
2253 ("perl-http-date" ,perl-http-date)
d8450272
EB
2254 ("perl-io-html" ,perl-io-html)
2255 ("perl-lwp-mediatypes" ,perl-lwp-mediatypes)
f852114e 2256 ("perl-uri" ,perl-uri)))
91318a9e
AE
2257 (license (package-license perl))
2258 (synopsis "Perl HTTP style message")
2259 (description
2260 "An HTTP::Message object contains some headers and a content body.")
084f8e04 2261 (home-page "http://search.cpan.org/~ether/HTTP-Message/")))
b3d18aff 2262
8142aff3 2263(define-public perl-http-negotiate
b3d18aff 2264 (package
8142aff3 2265 (name "perl-http-negotiate")
b3d18aff
AE
2266 (version "6.01")
2267 (source (origin
2268 (method url-fetch)
2269 (uri (string-append
8142aff3 2270 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-"
b3d18aff
AE
2271 version ".tar.gz"))
2272 (sha256
2273 (base32
8142aff3 2274 "05p053vjs5g91v5cmjnny7a3xzddz5k7vnjw81wfh01ilqg9qwhw"))))
b3d18aff 2275 (build-system perl-build-system)
800de8da 2276 (propagated-inputs
f852114e 2277 `(("perl-http-message" ,perl-http-message)))
b3d18aff 2278 (license (package-license perl))
8142aff3 2279 (synopsis "Perl http content negotiation")
b3d18aff 2280 (description
8142aff3
EB
2281 "The HTTP::Negotiate module provides a complete implementation of the
2282HTTP content negotiation algorithm specified in
2283draft-ietf-http-v11-spec-00.ps chapter 12. Content negotiation allows for
2284the selection of a preferred content representation based upon attributes
2285of the negotiable variants and the value of the various Accept* header
2286fields in the request.")
2287 (home-page "http://search.cpan.org/~gaas/HTTP-Negotiate/")))
3f41e6b3 2288
d3182b42
EB
2289(define-public perl-http-parser
2290 (package
2291 (name "perl-http-parser")
2292 (version "0.06")
2293 (source
2294 (origin
2295 (method url-fetch)
2296 (uri (string-append "mirror://cpan/authors/id/E/ED/EDECA/"
2297 "HTTP-Parser-" version ".tar.gz"))
2298 (sha256
2299 (base32
2300 "0idwq3jk595xil65lmxz128ha7s3r2n5zknisddpgwnqrghs3igq"))))
2301 (build-system perl-build-system)
2302 (propagated-inputs
2303 `(("perl-http-message" ,perl-http-message)
2304 ("perl-uri" ,perl-uri)))
2305 (home-page "http://search.cpan.org/dist/HTTP-Parser")
2306 (synopsis "Parse HTTP/1.1 requests")
2307 (description "This is an HTTP request parser. It takes chunks of text as
2308received and returns a 'hint' as to what is required, or returns the
2309HTTP::Request when a complete request has been read. HTTP/1.1 chunking is
2310supported.")
2311 (license (package-license perl))))
2312
8ab39c2d
EB
2313(define-public perl-http-parser-xs
2314 (package
2315 (name "perl-http-parser-xs")
2316 (version "0.17")
2317 (source
2318 (origin
2319 (method url-fetch)
2320 (uri (string-append "mirror://cpan/authors/id/K/KA/KAZUHO/"
2321 "HTTP-Parser-XS-" version ".tar.gz"))
2322 (sha256
2323 (base32
2324 "02d84xq1mm53c7jl33qyb7v5w4372vydp74z6qj0vc96wcrnhkkr"))))
2325 (build-system perl-build-system)
2326 (home-page "http://search.cpan.org/dist/HTTP-Parser-XS")
2327 (synopsis "Fast HTTP request parser")
2328 (description "HTTP::Parser::XS is a fast, primitive HTTP request/response
2329parser.")
2330 (license (package-license perl))))
2331
724d2227
EB
2332(define-public perl-http-request-ascgi
2333 (package
2334 (name "perl-http-request-ascgi")
2335 (version "1.2")
2336 (source
2337 (origin
2338 (method url-fetch)
2339 (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/"
2340 "HTTP-Request-AsCGI-" version ".tar.gz"))
2341 (sha256
2342 (base32
2343 "1smwmiarwcgq7vjdblnb6ldi2x1s5sk5p15p7xvm5byiqq3znnwl"))))
2344 (build-system perl-build-system)
2345 (propagated-inputs
2346 `(("perl-class-accessor" ,perl-class-accessor)
2347 ("perl-http-message" ,perl-http-message)))
2348 (home-page "http://search.cpan.org/dist/HTTP-Request-AsCGI")
2349 (synopsis "Set up a CGI environment from an HTTP::Request")
2350 (description "This module provides a convenient way to set up a CGI
2351environment from an HTTP::Request.")
2352 (license (package-license perl))))
2353
c94c7eef
EB
2354(define-public perl-http-server-simple
2355 (package
2356 (name "perl-http-server-simple")
5b3646f1 2357 (version "0.51")
c94c7eef
EB
2358 (source
2359 (origin
2360 (method url-fetch)
08af1a42 2361 (uri (string-append "mirror://cpan/authors/id/B/BP/BPS/"
c94c7eef
EB
2362 "HTTP-Server-Simple-" version ".tar.gz"))
2363 (sha256
2364 (base32
5b3646f1 2365 "1yvd2g57z2kq00q5i3zzfi15k98qgbif3vghjsda6v612agmrp5r"))))
c94c7eef 2366 (build-system perl-build-system)
a2190ccc
EB
2367 (propagated-inputs
2368 `(("perl-cgi" ,perl-cgi)))
c94c7eef
EB
2369 (arguments
2370 ;; See the discussion of a related tests issue at
2371 ;; https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00346.html
2372 `(#:tests? #f))
2373 (home-page "http://search.cpan.org/dist/HTTP-Server-Simple")
2374 (synopsis "Lightweight HTTP server")
2375 (description "HTTP::Server::Simple is a simple standalone HTTP daemon with
2376no non-core module dependencies. It can be used for building a standalone
2377http-based UI to your existing tools.")
2378 (license (package-license perl))))
2379
c3c03beb
EB
2380(define-public perl-http-tiny
2381 (package
2382 (name "perl-http-tiny")
ee264bbf 2383 (version "0.070")
c3c03beb
EB
2384 (source
2385 (origin
2386 (method url-fetch)
2387 (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
2388 "HTTP-Tiny-" version ".tar.gz"))
2389 (sha256
2390 (base32
ee264bbf 2391 "0cvp5yqrni6qydpsa8fpkbm82zfwmy9js8jsvyj8gs3dx78qbwvl"))))
c3c03beb
EB
2392 (build-system perl-build-system)
2393 (inputs
2394 `(("perl-http-cookiejar" ,perl-http-cookiejar)
2395 ("perl-io-socket-ip" ,perl-io-socket-ip)
2396 ("perl-io-socket-ssl" ,perl-io-socket-ssl)
ee264bbf 2397 ("perl-mozilla-ca" ,perl-mozilla-ca)
c3c03beb
EB
2398 ("perl-net-ssleay" ,perl-net-ssleay)))
2399 (home-page "http://search.cpan.org/dist/HTTP-Tiny")
2400 (synopsis "HTTP/1.1 client")
2401 (description "This is a very simple HTTP/1.1 client, designed for doing
2402simple requests without the overhead of a large framework like LWP::UserAgent.
2403It supports proxies and redirection. It also correctly resumes after EINTR.")
2404 (license (package-license perl))))
2405
8142aff3 2406(define-public perl-io-html
3f41e6b3 2407 (package
8142aff3
EB
2408 (name "perl-io-html")
2409 (version "1.00")
3f41e6b3
AE
2410 (source (origin
2411 (method url-fetch)
2412 (uri (string-append
8142aff3 2413 "mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-"
3f41e6b3
AE
2414 version ".tar.gz"))
2415 (sha256
2416 (base32
8142aff3 2417 "06nj3a0xgp5jxwxx6ayglfk2v7npf5a7gwkqsjlkapjkybarzqh4"))))
3f41e6b3 2418 (build-system perl-build-system)
3f41e6b3 2419 (license (package-license perl))
8142aff3 2420 (synopsis "Perl module to open an HTML file with automatic charset detection")
3f41e6b3 2421 (description
8142aff3
EB
2422 "IO::HTML provides an easy way to open a file containing HTML while
2423automatically determining its encoding. It uses the HTML5 encoding sniffing
2424algorithm specified in section 8.2.2.1 of the draft standard.")
2425 (home-page "http://search.cpan.org/~cjm/IO-HTML/")))
e7444ee2 2426
2b63ebc1
EB
2427(define-public perl-io-socket-ip
2428 (package
2429 (name "perl-io-socket-ip")
2430 (version "0.36")
2431 (source
2432 (origin
2433 (method url-fetch)
2434 (uri (string-append "mirror://cpan/authors/id/P/PE/PEVANS/"
2435 "IO-Socket-IP-" version ".tar.gz"))
2436 (sha256
2437 (base32
2438 "0ky20hmln6waipzqikizyw04vpszf70fgpshz7ib8zv8480ri456"))))
2439 (build-system perl-build-system)
a2190ccc 2440 (native-inputs `(("perl-module-build" ,perl-module-build)))
2b63ebc1
EB
2441 (home-page "http://search.cpan.org/dist/IO-Socket-IP")
2442 (synopsis "Family-neutral IP socket supporting both IPv4 and IPv6")
2443 (description "This module provides a protocol-independent way to use IPv4
2444and IPv6 sockets, intended as a replacement for IO::Socket::INET.")
2445 (license (package-license perl))))
2446
8142aff3 2447(define-public perl-io-socket-ssl
e7444ee2 2448 (package
8142aff3 2449 (name "perl-io-socket-ssl")
c5776c87 2450 (version "2.038")
8142aff3
EB
2451 (source (origin
2452 (method url-fetch)
2453 (uri (string-append "mirror://cpan/authors/id/S/SU/SULLR/"
2454 "IO-Socket-SSL-" version ".tar.gz"))
2455 (sha256
2456 (base32
c5776c87 2457 "11fiifxyvn7njc9p52wgygyw24jz7rh7gnz2ikjphr4l4x9f03rx"))
fc1adab1
AK
2458 (patches (search-patches
2459 "perl-io-socket-ssl-openssl-1.0.2f-fix.patch"))))
8142aff3 2460 (build-system perl-build-system)
578aeea6 2461 (propagated-inputs
2462 `(("perl-net-ssleay" ,perl-net-ssleay)
2463 ;; for IDN support
2464 ("perl-uri" ,perl-uri)))
8142aff3
EB
2465 (synopsis "Nearly transparent SSL encapsulation for IO::Socket::INET")
2466 (description
2467 "IO::Socket::SSL makes using SSL/TLS much easier by wrapping the
2468necessary functionality into the familiar IO::Socket interface and providing
2469secure defaults whenever possible. This way existing applications can be made
2470SSL-aware without much effort, at least if you do blocking I/O and don't use
2471select or poll.")
2472 (license (package-license perl))
2473 (home-page "https://github.com/noxxi/p5-io-socket-ssl")))
2474
2475(define-public perl-libwww
2476 (package
2477 (name "perl-libwww")
fb332b15 2478 (version "6.15")
e7444ee2
AE
2479 (source (origin
2480 (method url-fetch)
2481 (uri (string-append
bec820d9 2482 "mirror://cpan/authors/id/E/ET/ETHER/libwww-perl-"
e7444ee2
AE
2483 version ".tar.gz"))
2484 (sha256
2485 (base32
fb332b15 2486 "08l3mpgcvm4ipn1zggymqgk402apf35xyds43i8c07hvq92rsd3g"))))
e7444ee2 2487 (build-system perl-build-system)
d0bb5f77 2488 (propagated-inputs
8142aff3
EB
2489 `(("perl-encode-locale" ,perl-encode-locale)
2490 ("perl-file-listing" ,perl-file-listing)
2491 ("perl-html-parser" ,perl-html-parser)
2492 ("perl-http-cookies" ,perl-http-cookies)
2493 ("perl-http-daemon" ,perl-http-daemon)
fb332b15
EF
2494 ("perl-http-date" ,perl-http-date)
2495 ("perl-http-message" ,perl-http-message)
8142aff3
EB
2496 ("perl-http-negotiate" ,perl-http-negotiate)
2497 ("perl-net-http" ,perl-net-http)
fb332b15 2498 ("perl-uri" ,perl-uri)
8142aff3 2499 ("perl-www-robotrules" ,perl-www-robotrules)))
e7444ee2 2500 (license (package-license perl))
8142aff3 2501 (synopsis "Perl modules for the WWW")
e7444ee2 2502 (description
8142aff3
EB
2503 "The libwww-perl collection is a set of Perl modules which provides a
2504simple and consistent application programming interface to the
2505World-Wide Web. The main focus of the library is to provide classes
2506and functions that allow you to write WWW clients. The library also
2507contains modules that are of more general use and even classes that
2508help you implement simple HTTP servers.")
bec820d9 2509 (home-page "http://search.cpan.org/dist/libwww-perl/")))
a3eb919f 2510
8142aff3 2511(define-public perl-lwp-mediatypes
a3eb919f 2512 (package
8142aff3 2513 (name "perl-lwp-mediatypes")
a3eb919f
AE
2514 (version "6.02")
2515 (source (origin
2516 (method url-fetch)
2517 (uri (string-append
8142aff3 2518 "mirror://cpan/authors/id/G/GA/GAAS/LWP-MediaTypes-"
a3eb919f
AE
2519 version ".tar.gz"))
2520 (sha256
2521 (base32
8142aff3 2522 "0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q"))))
a3eb919f 2523 (build-system perl-build-system)
a3eb919f 2524 (license (package-license perl))
8142aff3 2525 (synopsis "Perl module to guess the media type for a file or a URL")
a3eb919f 2526 (description
8142aff3
EB
2527 "The LWP::MediaTypes module provides functions for handling media (also
2528known as MIME) types and encodings. The mapping from file extensions to
2529media types is defined by the media.types file. If the ~/.media.types file
2530exists it is used instead.")
2531 (home-page "http://search.cpan.org/~gaas/LWP-MediaTypes/")))
677078b4 2532
bdcfd18e
EB
2533(define-public perl-lwp-protocol-https
2534 (package
2535 (name "perl-lwp-protocol-https")
2536 (version "6.06")
2537 (source
2538 (origin
2539 (method url-fetch)
2540 (uri (string-append "mirror://cpan/authors/id/M/MS/MSCHILLI/"
2541 "LWP-Protocol-https-" version ".tar.gz"))
2542 (sha256
2543 (base32
2544 "1vxdjqj4bwq56m9h1bqqwkk3c6jr76f2zqzvwa26yjng3p686v5q"))))
2545 (build-system perl-build-system)
2546 (propagated-inputs
2547 `(("perl-io-socket-ssl" ,perl-io-socket-ssl)
2548 ("perl-libwww" ,perl-libwww)
2549 ;; Users should instead make sure SSL_ca_path is set properly.
2550 ;; ("perl-mozilla-ca" ,perl-mozilla-ca)
2551 ("perl-net-http" ,perl-net-http)))
2552 (home-page "http://search.cpan.org/dist/LWP-Protocol-https")
2553 (synopsis "HTTPS support for LWP::UserAgent")
2554 (description "The LWP::Protocol::https module provides support for using
2555https schemed URLs with LWP.")
2556 (license (package-license perl))))
2557
6a58b092
EB
2558(define-public perl-lwp-useragent-determined
2559 (package
2560 (name "perl-lwp-useragent-determined")
2561 (version "1.07")
2562 (source
2563 (origin
2564 (method url-fetch)
2565 (uri (string-append "mirror://cpan/authors/id/A/AL/ALEXMV/"
2566 "LWP-UserAgent-Determined-" version ".tar.gz"))
2567 (sha256
2568 (base32
2569 "0lyvbpjng7yfvyha9rp2y2c6liz5hhplmd2grc8jlsfkih7dbn06"))))
2570 (build-system perl-build-system)
2571 (propagated-inputs
2572 `(("perl-libwww" ,perl-libwww)))
2573 (home-page "http://search.cpan.org/dist/LWP-UserAgent-Determined")
2574 (synopsis "Virtual browser that retries errors")
2575 (description "LWP::UserAgent::Determined works just like LWP::UserAgent,
2576except that when you use it to get a web page but run into a
2577possibly-temporary error (like a DNS lookup timeout), it'll wait a few seconds
2578and retry a few times.")
2579 (license (package-license perl))))
2580
38e62c81
EB
2581(define-public perl-net-amazon-s3
2582 (package
2583 (name "perl-net-amazon-s3")
2584 (version "0.60")
2585 (source
2586 (origin
2587 (method url-fetch)
2588 (uri (string-append "mirror://cpan/authors/id/P/PF/PFIG/"
2589 "Net-Amazon-S3-" version ".tar.gz"))
2590 (sha256
2591 (base32
2592 "10dcsq4s2kc9cb1vccx17r187c81drirc3s1hbxh3rb8489kg2b2"))
fc1adab1
AK
2593 (patches (search-patches
2594 "perl-net-amazon-s3-moose-warning.patch"))))
38e62c81
EB
2595 (build-system perl-build-system)
2596 (native-inputs
2597 `(("perl-libwww" ,perl-libwww)
2598 ("perl-test-exception" ,perl-test-exception)))
2599 (propagated-inputs
2600 `(("perl-data-stream-bulk" ,perl-data-stream-bulk)
2601 ("perl-datetime-format-http" ,perl-datetime-format-http)
2602 ("perl-digest-hmac" ,perl-digest-hmac)
2603 ("perl-digest-md5-file" ,perl-digest-md5-file)
2604 ("perl-file-find-rule" ,perl-file-find-rule)
2605 ("perl-http-date" ,perl-http-date)
2606 ("perl-http-message" ,perl-http-message)
2607 ("perl-lwp-useragent-determined" ,perl-lwp-useragent-determined)
2608 ("perl-mime-types" ,perl-mime-types)
2609 ("perl-moose" ,perl-moose)
2610 ("perl-moosex-strictconstructor" ,perl-moosex-strictconstructor)
2611 ("perl-moosex-types-datetime-morecoercions"
2612 ,perl-moosex-types-datetime-morecoercions)
2613 ("perl-path-class" ,perl-path-class)
2614 ("perl-regexp-common" ,perl-regexp-common)
2615 ("perl-term-encoding" ,perl-term-encoding)
2616 ("perl-term-progressbar-simple" ,perl-term-progressbar-simple)
2617 ("perl-uri" ,perl-uri)
2618 ("perl-xml-libxml" ,perl-xml-libxml)))
2619 (home-page "http://search.cpan.org/dist/Net-Amazon-S3")
2620 (synopsis "Perl interface to Amazon S3")
2621 (description "This module provides a Perlish interface to Amazon S3.")
2622 (license (package-license perl))))
2623
677078b4
AE
2624(define-public perl-net-http
2625 (package
2626 (name "perl-net-http")
0eb3b5bd 2627 (version "6.07")
677078b4
AE
2628 (source (origin
2629 (method url-fetch)
2630 (uri (string-append
0eb3b5bd 2631 "mirror://cpan/authors/id/M/MS/MSCHILLI/Net-HTTP-"
677078b4
AE
2632 version ".tar.gz"))
2633 (sha256
2634 (base32
0eb3b5bd 2635 "0r034hhci0yqbrkrh1gv6vi5g3i0kpd1k84z62nk02asb8rf0ccz"))))
677078b4 2636 (build-system perl-build-system)
0eb3b5bd
EB
2637 (propagated-inputs
2638 `(("perl-io-socket-ssl" ,perl-io-socket-ssl)
2639 ("perl-uri" ,perl-uri)))
677078b4
AE
2640 (license (package-license perl))
2641 (synopsis "Perl low-level HTTP connection (client)")
2642 (description
2643 "The Net::HTTP class is a low-level HTTP client. An instance of the
2644Net::HTTP class represents a connection to an HTTP server. The HTTP protocol
2645is described in RFC 2616. The Net::HTTP class supports HTTP/1.0 and
2646HTTP/1.1.")
0eb3b5bd 2647 (home-page "http://search.cpan.org/dist/Net-HTTP")))
56aa03b0 2648
be22d5fc
EB
2649(define-public perl-net-server
2650 (package
2651 (name "perl-net-server")
2652 (version "2.008")
2653 (source
2654 (origin
2655 (method url-fetch)
2656 (uri (string-append "mirror://cpan/authors/id/R/RH/RHANDOM/"
2657 "Net-Server-" version ".tar.gz"))
2658 (sha256
2659 (base32
2660 "182gfikn7r40kmm3d35m2qc6r8g0y1j8gxbn9ffaawf8xmm0a889"))))
2661 (build-system perl-build-system)
2662 (home-page "http://search.cpan.org/dist/Net-Server")
2663 (synopsis "Extensible Perl server engine")
2664 (description "Net::Server is an extensible, generic Perl server engine.
2665It attempts to be a generic server as in Net::Daemon and NetServer::Generic.
2666It includes with it the ability to run as an inetd
2667process (Net::Server::INET), a single connection server (Net::Server or
2668Net::Server::Single), a forking server (Net::Server::Fork), a preforking
2669server which maintains a constant number of preforked
2670children (Net::Server::PreForkSimple), or as a managed preforking server which
2671maintains the number of children based on server load (Net::Server::PreFork).
2672In all but the inetd type, the server provides the ability to connect to one
2673or to multiple server ports.")
2674 (license (package-license perl))))
2675
b1096f3d
EB
2676(define-public perl-net-smtp-ssl
2677 (package
2678 (name "perl-net-smtp-ssl")
2679 (version "1.03")
2680 (source
2681 (origin
2682 (method url-fetch)
21085261 2683 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
b1096f3d
EB
2684 "Net-SMTP-SSL-" version ".tar.gz"))
2685 (sha256
21085261
EF
2686 (base32
2687 "05y94mb1vdw32mvwb0cp2h4ggh32f8j8nwwfjb8kjwxvfkfhyp9h"))))
b1096f3d
EB
2688 (build-system perl-build-system)
2689 (propagated-inputs
2690 `(("perl-io-socket-ssl" ,perl-io-socket-ssl)))
2691 (home-page "http://search.cpan.org/dist/Net-SMTP-SSL")
2692 (synopsis "SSL support for Net::SMTP")
e881752c 2693 (description "SSL support for Net::SMTP.")
b1096f3d
EB
2694 (license (package-license perl))))
2695
5933549d
EB
2696(define-public perl-plack
2697 (package
2698 (name "perl-plack")
2699 (version "1.0033")
2700 (source
2701 (origin
2702 (method url-fetch)
2703 (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/"
2704 "Plack-" version ".tar.gz"))
2705 (sha256
2706 (base32
2707 "081jg0xddzpg2anmqi9i6d7vs6c8z7k557bf8xl6vgb3h95pin5w"))))
2708 (build-system perl-build-system)
2709 (native-inputs
2710 `(("perl-test-requires" ,perl-test-requires)
2711 ("perl-file-sharedir-install" ,perl-file-sharedir-install)))
2712 (propagated-inputs
2713 `(("perl-apache-logformat-compiler" ,perl-apache-logformat-compiler)
2714 ("perl-devel-stacktrace" ,perl-devel-stacktrace)
2715 ("perl-devel-stacktrace-ashtml" ,perl-devel-stacktrace-ashtml)
2716 ("perl-file-sharedir" ,perl-file-sharedir)
2717 ("perl-hash-multivalue" ,perl-hash-multivalue)
2718 ("perl-http-body" ,perl-http-body)
2719 ("perl-http-message" ,perl-http-message)
2720 ("perl-http-tiny" ,perl-http-tiny)
2721 ("perl-libwww" ,perl-libwww)
2722 ("perl-stream-buffered" ,perl-stream-buffered)
2723 ("perl-test-tcp" ,perl-test-tcp)
2724 ("perl-try-tiny" ,perl-try-tiny)
2725 ("perl-uri" ,perl-uri)))
2726 (home-page "http://search.cpan.org/dist/Plack")
2727 (synopsis "Perl Superglue for Web frameworks and servers (PSGI toolkit)")
2728 (description "Plack is a set of tools for using the PSGI stack. It
2729contains middleware components, a reference server, and utilities for Web
2730application frameworks. Plack is like Ruby's Rack or Python's Paste for
2731WSGI.")
2732 (license (package-license perl))))
2733
acd1f73a
EB
2734(define-public perl-plack-middleware-fixmissingbodyinredirect
2735 (package
2736 (name "perl-plack-middleware-fixmissingbodyinredirect")
2737 (version "0.12")
2738 (source
2739 (origin
2740 (method url-fetch)
2741 (uri (string-append "mirror://cpan/authors/id/S/SW/SWEETKID/"
2742 "Plack-Middleware-FixMissingBodyInRedirect-"
2743 version ".tar.gz"))
2744 (sha256
2745 (base32
2746 "14dkrmccq7a5vpymx5dv8032gfcvhsw2i6v5sh3c4ym5ymlx08kc"))))
2747 (build-system perl-build-system)
2748 (native-inputs
2749 `(("perl-html-parser" ,perl-html-parser) ;for HTML::Entities
2750 ("perl-http-message" ,perl-http-message)
2751 ("perl-plack" ,perl-plack))) ;for Plack::Test
2752 (home-page
2753 "http://search.cpan.org/dist/Plack-Middleware-FixMissingBodyInRedirect")
2754 (synopsis "Plack::Middleware which sets body for redirect response")
2755 (description "This module sets the body in redirect response, if it's not
2756already set.")
2757 (license (package-license perl))))
2758
03d874d0
EB
2759(define-public perl-plack-middleware-methodoverride
2760 (package
2761 (name "perl-plack-middleware-methodoverride")
2762 (version "0.11")
2763 (source
2764 (origin
2765 (method url-fetch)
2766 (uri (string-append "mirror://cpan/authors/id/D/DW/DWHEELER/"
2767 "Plack-Middleware-MethodOverride-"
2768 version ".tar.gz"))
2769 (sha256
2770 (base32
2771 "1hb8dx7i4vs74n0p737wrvpdnnw6argxrjpr6kj6432zabp8325z"))))
2772 (build-system perl-build-system)
a2190ccc
EB
2773 (native-inputs
2774 `(("perl-module-build" ,perl-module-build)))
03d874d0
EB
2775 (propagated-inputs
2776 `(("perl-plack" ,perl-plack)))
2777 (home-page "http://search.cpan.org/dist/Plack-Middleware-MethodOverride")
2778 (synopsis "Override REST methods to Plack apps via POST")
2779 (description "This middleware allows for POST requests that pretend to be
2780something else: by adding either a header named X-HTTP-Method-Override to the
2781request, or a query parameter named x-tunneled-method to the URI, the client
2782can say what method it actually meant.")
2783 (license (package-license perl))))
2784
13e330be
EB
2785(define-public perl-plack-middleware-removeredundantbody
2786 (package
2787 (name "perl-plack-middleware-removeredundantbody")
2788 (version "0.05")
2789 (source
2790 (origin
2791 (method url-fetch)
2792 (uri (string-append "mirror://cpan/authors/id/S/SW/SWEETKID/"
2793 "Plack-Middleware-RemoveRedundantBody-"
2794 version ".tar.gz"))
2795 (sha256
2796 (base32
2797 "1n3wm0zi8dnk54jx937asl951lslj3jvw0fry4jpzsibg4f6wrx0"))))
2798 (build-system perl-build-system)
2799 (propagated-inputs
2800 `(("perl-plack" ,perl-plack)))
2801 (home-page
2802 "http://search.cpan.org/dist/Plack-Middleware-RemoveRedundantBody")
2803 (synopsis "Plack::Middleware which removes body for HTTP response")
2804 (description "This module removes the body in an HTTP response if it's not
2805required.")
2806 (license (package-license perl))))
2807
ca157ba9
EB
2808(define-public perl-plack-middleware-reverseproxy
2809 (package
2810 (name "perl-plack-middleware-reverseproxy")
2811 (version "0.15")
2812 (source
2813 (origin
2814 (method url-fetch)
2815 (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/"
2816 "Plack-Middleware-ReverseProxy-"
2817 version ".tar.gz"))
2818 (sha256
2819 (base32
2820 "1zmsccdy6wr5hxzj07r1nsmaymyibk87p95z0wzknjw10lwmqs9f"))))
2821 (build-system perl-build-system)
2822 (propagated-inputs
2823 `(("perl-plack" ,perl-plack)))
2824 (home-page "http://search.cpan.org/dist/Plack-Middleware-ReverseProxy")
2825 (synopsis "Supports app to run as a reverse proxy backend")
2826 (description "Plack::Middleware::ReverseProxy resets some HTTP headers,
2827which are changed by reverse-proxy. You can specify the reverse proxy address
2828and stop fake requests using 'enable_if' directive in your app.psgi.")
2829 (license (package-license perl))))
2830
64b16bf7
EB
2831(define-public perl-plack-test-externalserver
2832 (package
2833 (name "perl-plack-test-externalserver")
2834 (version "0.01")
2835 (source
2836 (origin
2837 (method url-fetch)
2838 (uri (string-append "mirror://cpan/authors/id/F/FL/FLORA/"
2839 "Plack-Test-ExternalServer-" version ".tar.gz"))
2840 (sha256
2841 (base32
2842 "1dbg1p3rgvvbkkpvca5jlc2mzx8iqyiybk88al93pvbca65h1g7h"))))
2843 (build-system perl-build-system)
2844 (propagated-inputs
2845 `(("perl-plack" ,perl-plack)))
2846 (home-page "http://search.cpan.org/dist/Plack-Test-ExternalServer")
2847 (synopsis "Run HTTP tests on external live servers")
2848 (description "This module allows your to run your Plack::Test tests
2849against an external server instead of just against a local application through
2850either mocked HTTP or a locally spawned server.")
2851 (license (package-license perl))))
2852
bb8bfe5e
EB
2853(define-public perl-test-tcp
2854 (package
2855 (name "perl-test-tcp")
2856 (version "2.06")
2857 (source
2858 (origin
2859 (method url-fetch)
2860 (uri (string-append "mirror://cpan/authors/id/T/TO/TOKUHIROM/"
2861 "Test-TCP-" version ".tar.gz"))
2862 (sha256
2863 (base32
2864 "0acjwm21y2an4f3fasci9qa0isakh9cgp74fk0bzcdi506xmcjbi"))))
2865 (build-system perl-build-system)
2866 (propagated-inputs
2867 `(("perl-test-sharedfork" ,perl-test-sharedfork)))
2868 (arguments `(#:tests? #f)) ;related to signaling in t/05_sigint.t
2869 (home-page "http://search.cpan.org/dist/Test-TCP")
2870 (synopsis "Testing TCP programs")
2871 (description "Test::TCP is test utilities for TCP/IP programs.")
2872 (license (package-license perl))))
2873
0d991d2c
EB
2874(define-public perl-test-www-mechanize
2875 (package
2876 (name "perl-test-www-mechanize")
2877 (version "1.44")
2878 (source
2879 (origin
2880 (method url-fetch)
2881 (uri (string-append "mirror://cpan/authors/id/P/PE/PETDANCE/"
2882 "Test-WWW-Mechanize-" version ".tar.gz"))
2883 (sha256
2884 (base32
2885 "062pj242vsc73bw11jqpap92ax9wzc9f2m4xhyp1wzrwkfchpl2q"))))
2886 (build-system perl-build-system)
2887 (native-inputs
2888 `(("perl-test-exception" ,perl-test-exception)))
2889 (propagated-inputs
2890 `(("perl-carp-assert-more" ,perl-carp-assert-more)
2891 ("perl-html-form" ,perl-html-form)
2892 ("perl-html-lint" ,perl-html-lint)
2893 ("perl-html-tree" ,perl-html-tree)
2894 ("perl-http-server-simple" ,perl-http-server-simple)
2895 ("perl-libwww" ,perl-libwww)
2896 ("perl-test-longstring" ,perl-test-longstring)
2897 ("perl-www-mechanize" ,perl-www-mechanize)))
2898 (home-page "http://search.cpan.org/dist/Test-WWW-Mechanize")
2899 (synopsis "Testing-specific WWW::Mechanize subclass")
2900 (description "Test::WWW::Mechanize is a subclass of the Perl module
2901WWW::Mechanize that incorporates features for web application testing.")
2902 (license l:artistic2.0)))
2903
13b2552c
EB
2904(define-public perl-test-www-mechanize-catalyst
2905 (package
2906 (name "perl-test-www-mechanize-catalyst")
2907 (version "0.60")
2908 (source
2909 (origin
2910 (method url-fetch)
2911 (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
2912 "Test-WWW-Mechanize-Catalyst-" version ".tar.gz"))
2913 (sha256
2914 (base32
2915 "0nhhfrrai3ndziz873vpa1j0vljjnib4wqafd6yyvkf58ad7v0lv"))))
2916 (build-system perl-build-system)
2917 (native-inputs
2918 `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
2919 ("perl-catalyst-plugin-session-state-cookie"
2920 ,perl-catalyst-plugin-session-state-cookie)
2921 ("perl-test-exception" ,perl-test-exception)
2922 ("perl-test-pod" ,perl-test-pod)
2923 ("perl-test-utf8" ,perl-test-utf8)))
2924 (propagated-inputs
2925 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
2926 ("perl-class-load" ,perl-class-load)
2927 ("perl-libwww" ,perl-libwww)
2928 ("perl-moose" ,perl-moose)
2929 ("perl-namespace-clean" ,perl-namespace-clean)
2930 ("perl-test-www-mechanize" ,perl-test-www-mechanize)
2931 ("perl-www-mechanize" ,perl-www-mechanize)))
2932 (home-page "http://search.cpan.org/dist/Test-WWW-Mechanize-Catalyst")
2933 (synopsis "Test::WWW::Mechanize for Catalyst")
2934 (description "The Test::WWW::Mechanize::Catalyst module meshes the
2935Test::WWW:Mechanize module and the Catalyst web application framework to allow
2936testing of Catalyst applications without needing to start up a web server.")
2937 (license (package-license perl))))
2938
715a0c51
EB
2939(define-public perl-test-www-mechanize-psgi
2940 (package
2941 (name "perl-test-www-mechanize-psgi")
2942 (version "0.35")
2943 (source
2944 (origin
2945 (method url-fetch)
2946 (uri (string-append "mirror://cpan/authors/id/L/LB/LBROCARD/"
2947 "Test-WWW-Mechanize-PSGI-" version ".tar.gz"))
2948 (sha256
2949 (base32
2950 "1hih8s49zf38bisvhnhzrrj0zwyiivkrbs7nmmdqm1qqy27wv7pc"))))
2951 (build-system perl-build-system)
2952 (native-inputs
2953 `(("perl-test-pod" ,perl-test-pod)))
2954 (propagated-inputs
2955 `(("perl-plack" ,perl-plack)
2956 ("perl-test-www-mechanize" ,perl-test-www-mechanize)))
2957 (home-page "http://search.cpan.org/dist/Test-WWW-Mechanize-PSGI")
2958 (synopsis "Test PSGI programs using WWW::Mechanize")
2959 (description "PSGI is a specification to decouple web server environments
2960from web application framework code. Test::WWW::Mechanize is a subclass of
2961WWW::Mechanize that incorporates features for web application testing. The
2962Test::WWW::Mechanize::PSGI module meshes the two to allow easy testing of PSGI
2963applications.")
2964 (license (package-license perl))))
2965
8142aff3 2966(define-public perl-uri
374a9a85 2967 (package
8142aff3 2968 (name "perl-uri")
01497dfe 2969 (version "1.71")
374a9a85
AE
2970 (source (origin
2971 (method url-fetch)
9acf97f2
EB
2972 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
2973 "URI-" version ".tar.gz"))
374a9a85
AE
2974 (sha256
2975 (base32
01497dfe 2976 "05a1ck1bhvqkkk690xhsxf7276dnagk96qkh2jy4prrrgw6wm3lw"))))
374a9a85 2977 (build-system perl-build-system)
374a9a85 2978 (license (package-license perl))
8142aff3 2979 (synopsis "Perl Uniform Resource Identifiers (absolute and relative)")
374a9a85 2980 (description
8142aff3
EB
2981 "The URI module implements the URI class. Objects of this class
2982represent \"Uniform Resource Identifier references\" as specified in RFC 2396
2983and updated by RFC 2732.")
9acf97f2 2984 (home-page "http://search.cpan.org/dist/URI/")))
d22d72fc 2985
b51b2bf3 2986(define-public perl-uri-fetch
2987 (package
2988 (name "perl-uri-fetch")
2989 (version "0.13")
2990 (source (origin
2991 (method url-fetch)
2992 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
2993 "URI-Fetch-" version ".tar.gz"))
2994 (sha256
2995 (base32
2996 "0rw6xiqm70s218aii9id3hf8j3pz6n22xnwd8v9m1ff2bnh63c0d"))))
2997 (build-system perl-build-system)
2998 (arguments
2999 `(#:tests? #f)) ; Tests require internet connection to succeed
3000 (inputs
3001 `(("perl-class-errorhandler" ,perl-class-errorhandler)
3002 ("perl-libwww" ,perl-libwww)
3003 ("perl-uri" ,perl-uri)))
3004 (home-page "http://search.cpan.org/dist/URI-Fetch")
3005 (synopsis "Smart URI fetching/caching")
3006 (description "@code{URI::Fetch} is a smart client for fetching HTTP pages,
3007notably syndication feeds (RSS, Atom, and others), in an intelligent, bandwidth-
3008and time-saving way.")
3009 (license (package-license perl))))
3010
5bb82fd0
EB
3011(define-public perl-uri-find
3012 (package
3013 (name "perl-uri-find")
3014 (version "20140709")
3015 (source
3016 (origin
3017 (method url-fetch)
3018 (uri (string-append "mirror://cpan/authors/id/M/MS/MSCHWERN/"
3019 "URI-Find-" version ".tar.gz"))
3020 (sha256
3021 (base32
3022 "0czc4h182s7sx3k123m7qlg7yybnwxgh369hap3c3b6xgrglrhy0"))))
3023 (build-system perl-build-system)
a2190ccc
EB
3024 (native-inputs
3025 `(("perl-module-build" ,perl-module-build)))
5bb82fd0
EB
3026 (propagated-inputs
3027 `(("perl-uri" ,perl-uri)))
3028 (home-page "http://search.cpan.org/dist/URI-Find")
3029 (synopsis "Find URIs in arbitrary text")
3030 (description "This module finds URIs and URLs (according to what URI.pm
3031considers a URI) in plain text. It only finds URIs which include a
3032scheme (http:// or the like), for something a bit less strict, consider
3033URI::Find::Schemeless. For a command-line interface, urifind is provided.")
3034 (license (package-license perl))))
3035
36a100a1
EB
3036(define-public perl-uri-ws
3037 (package
3038 (name "perl-uri-ws")
3039 (version "0.03")
3040 (source
3041 (origin
3042 (method url-fetch)
3043 (uri (string-append "mirror://cpan/authors/id/P/PL/PLICEASE/"
3044 "URI-ws-" version ".tar.gz"))
3045 (sha256
3046 (base32
3047 "1vs1wm80sq685944g1l4a0fxcbccc00c0f9648yabdmcf90hwsvf"))))
3048 (build-system perl-build-system)
3049 (propagated-inputs
3050 `(("perl-uri" ,perl-uri)))
3051 (home-page "http://search.cpan.org/dist/URI-ws")
3052 (synopsis "WebSocket support for URI package")
3053 (description "With this module, the URI package provides the same set of
3054methods for WebSocket URIs as it does for HTTP URIs.")
3055 (license (package-license perl))))
3056
105d4ee2 3057(define-public perl-uri-template
3058 (package
3059 (name "perl-uri-template")
3060 (version "0.22")
3061 (source (origin
3062 (method url-fetch)
3063 (uri (string-append "mirror://cpan/authors/id/B/BR/BRICAS/URI-Template-"
3064 version ".tar.gz"))
3065 (sha256
3066 (base32
3067 "08kjjb4c0v9gqfrfnj1wkivylxl05finn11ra64dj136fhmnyrbg"))))
3068 (build-system perl-build-system)
3069 (inputs
3070 `(("perl-uri" ,perl-uri)))
3071 (native-inputs
3072 `(("perl-test-pod-coverage" ,perl-test-pod-coverage)
3073 ("perl-test-pod" ,perl-test-pod)
3074 ("perl-json" ,perl-json)))
3075 (home-page "http://search.cpan.org/dist/URI-Template")
3076 (synopsis "Object for handling URI templates")
3077 (description "This perl module provides a wrapper around URI templates as described in
3078RFC 6570.")
3079 (license (package-license perl))))
3080
d22d72fc
LC
3081(define-public perl-www-curl
3082 (package
3083 (name "perl-www-curl")
3084 (version "4.17")
3085 (source (origin
3086 (method url-fetch)
3087 (uri (string-append
3088 "mirror://cpan/authors/id/S/SZ/SZBALINT/WWW-Curl-"
3089 version".tar.gz"))
a19da406 3090 (patches (search-patches "perl-www-curl-remove-symbol.patch"))
d22d72fc
LC
3091 (sha256
3092 (base32
3093 "1fmp9aib1kaps9vhs4dwxn7b15kgnlz9f714bxvqsd1j1q8spzsj"))))
3094 (build-system perl-build-system)
3095 (arguments
3096 '(#:tests? #f)) ;XXX: tests require network access
3097 (inputs `(("curl" ,curl)))
3098 (synopsis "Perl extension interface for libcurl")
3099 (description
3100 "This is a Perl extension interface for the libcurl file downloading
3101library.")
3102 (license (package-license perl))
3103 (home-page "http://search.cpan.org/~szbalint/WWW-Curl-4.17/lib/WWW/Curl.pm")))
3484d052 3104
0b1ed725
EB
3105(define-public perl-www-mechanize
3106 (package
3107 (name "perl-www-mechanize")
3108 (version "1.73")
3109 (source
3110 (origin
3111 (method url-fetch)
3112 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
3113 "WWW-Mechanize-" version ".tar.gz"))
3114 (sha256
3115 (base32
3116 "1zrw8aadhwy48q51x2z2rqlkwf17bya4j4h3hy89mw783j96rmg9"))))
3117 (build-system perl-build-system)
a2190ccc
EB
3118 (native-inputs ;only for tests
3119 `(("perl-cgi" ,perl-cgi)))
0b1ed725
EB
3120 (propagated-inputs
3121 `(("perl-html-form" ,perl-html-form)
3122 ("perl-html-parser" ,perl-html-parser)
3123 ("perl-http-message" ,perl-http-message)
3124 ("perl-http-server-simple" ,perl-http-server-simple)
3125 ("perl-libwww" ,perl-libwww)
3126 ("perl-test-warn" ,perl-test-warn)
3127 ("perl-uri" ,perl-uri)))
3128 (home-page "http://search.cpan.org/dist/WWW-Mechanize")
3129 (synopsis "Web browsing in a Perl object")
3130 (description "WWW::Mechanize is a Perl module for stateful programmatic
3131web browsing, used for automating interaction with websites.")
3132 (license (package-license perl))))
3133
823c8292 3134(define-public perl-www-opensearch
3135 (package
3136 (name "perl-www-opensearch")
3137 (version "0.17")
3138 (source (origin
3139 (method url-fetch)
3140 (uri (string-append "mirror://cpan/authors/id/B/BR/BRICAS/"
3141 "WWW-OpenSearch-" version ".tar.gz"))
3142 (sha256
3143 (base32
3144 "1yxplx1q1qk2fvnzqrbk01lz26fy1lyhay51a3ky7q3jgh9p01rb"))))
3145 (build-system perl-build-system)
3146 (arguments
3147 `(#:tests? #f)) ; Tests require further modules to be packaged
3148 (inputs
3149 `(("perl-data-page" ,perl-data-page)
3150 ("perl-libwww" ,perl-libwww)
3151 ("perl-uri" ,perl-uri)
3152 ("perl-uri-template" ,perl-uri-template)
3153 ("perl-xml-feed" ,perl-xml-feed)
3154 ("perl-xml-libxml" ,perl-xml-libxml)))
3155 (home-page "http://search.cpan.org/dist/WWW-OpenSearch")
3156 (synopsis "Search A9 OpenSearch compatible engines")
3157 (description
3158 "@code{WWW::OpenSearch} is a module to search @url{A9's OpenSearch,
3159http://opensearch.a9.com} compatible search engines.")
3160 (license (package-license perl))))
3161
8142aff3 3162(define-public perl-www-robotrules
3484d052 3163 (package
8142aff3
EB
3164 (name "perl-www-robotrules")
3165 (version "6.02")
3484d052 3166 (source (origin
8142aff3
EB
3167 (method url-fetch)
3168 (uri (string-append
3169 "mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-"
3170 version ".tar.gz"))
3171 (sha256
3172 (base32
3173 "07m50dp5n5jxv3m93i55qvnd67a6g7cvbvlik115kmc8lbkh5da6"))))
3484d052 3174 (build-system perl-build-system)
8142aff3
EB
3175 (propagated-inputs
3176 `(("perl-uri" ,perl-uri)))
3484d052 3177 (license (package-license perl))
8142aff3 3178 (synopsis "Perl database of robots.txt-derived permissions")
5eb86b64 3179 (description
8142aff3
EB
3180 "The WWW::RobotRules module parses /robots.txt files as specified in
3181\"A Standard for Robot Exclusion\", at
3182<http://www.robotstxt.org/wc/norobots.html>. Webmasters can use the
3183/robots.txt file to forbid conforming robots from accessing parts of
3184their web site.")
3185 (home-page "http://search.cpan.org/~gaas/WWW-RobotRules/")))
a359c9c1 3186
da069d7e 3187(define-public python-feedparser
3188 (package
3189 (name "python-feedparser")
3190 (version "5.2.1")
3191 (source
3192 (origin
3193 (method url-fetch)
3194 (uri (pypi-uri "feedparser" version ".tar.bz2"))
3195 (sha256
3196 (base32
3197 "00hb4qg2am06g81mygfi1jsbx8830024jm45g6qp9g8fr6am91yf"))))
3198 (build-system python-build-system)
92c3ef2c
LF
3199 (arguments
3200 '(#:tests? #f))
da069d7e 3201 (home-page
3202 "https://github.com/kurtmckee/feedparser")
3203 (synopsis "Parse feeds in Python")
3204 (description
3205 "Universal feed parser which handles RSS 0.9x, RSS 1.0, RSS 2.0,
3206CDF, Atom 0.3, and Atom 1.0 feeds.")
3207 (license (list l:bsd-2 ; source code
3208 l:freebsd-doc)))) ; documentation
3209
3210(define-public python2-feedparser
5c31f4aa 3211 (package-with-python2 python-feedparser))
da069d7e 3212
a359c9c1
RW
3213(define-public r-httpuv
3214 (package
3215 (name "r-httpuv")
3216 (version "1.3.3")
3217 (source (origin
3218 (method url-fetch)
3219 (uri (cran-uri "httpuv" version))
3220 (sha256
3221 (base32
3222 "0aibs0hf38n8f6xxx4g2i2lzd6l5h92m5pscx2z834sdvhnladxv"))))
3223 (build-system r-build-system)
3224 (native-inputs `(("r-rcpp" ,r-rcpp)))
3225 (home-page "https://github.com/rstudio/httpuv")
3226 (synopsis "HTTP and WebSocket server library for R")
3227 (description
3228 "The httpuv package provides low-level socket and protocol support for
3229handling HTTP and WebSocket requests directly from within R. It is primarily
3230intended as a building block for other packages, rather than making it
3231particularly easy to create complete web applications using httpuv alone.")
3232 ;; This package includes third-party code that was originally released
3233 ;; under various non-copyleft licenses. Full licensing information can be
3234 ;; obtained here: https://github.com/rstudio/httpuv/blob/master/LICENSE
3235 (license l:gpl3+)))
21d3770e
RW
3236
3237(define-public r-jsonlite
3238 (package
3239 (name "r-jsonlite")
e1c2b7e2 3240 (version "1.1")
21d3770e
RW
3241 (source (origin
3242 (method url-fetch)
3243 (uri (cran-uri "jsonlite" version))
3244 (sha256
3245 (base32
e1c2b7e2 3246 "0mrfzh0mxxrhqdmxai434wvyd7skkw28vxr7pyls19yrg941g6r3"))))
21d3770e
RW
3247 (build-system r-build-system)
3248 (home-page "http://arxiv.org/abs/1403.2805")
3249 (synopsis "Robust, high performance JSON parser and generator for R")
3250 (description
3251 "The jsonlite package provides a fast JSON parser and generator optimized
3252for statistical data and the web. It offers flexible, robust, high
3253performance tools for working with JSON in R and is particularly powerful for
3254building pipelines and interacting with a web API. In addition to converting
3255JSON data from/to R objects, jsonlite contains functions to stream, validate,
3256and prettify JSON data. The unit tests included with the package verify that
3257all edge cases are encoded and decoded consistently for use with dynamic data
3258in systems and applications.")
3259 (license l:expat)))
ea5616e0
RW
3260
3261(define-public r-servr
3262 (package
3263 (name "r-servr")
46a2d1b6 3264 (version "0.4")
ea5616e0
RW
3265 (source (origin
3266 (method url-fetch)
3267 (uri (cran-uri "servr" version))
3268 (sha256
3269 (base32
46a2d1b6 3270 "1fkqf5ynd1g0932qwv5nr70bw42m8vxpc9rhi0qxmdamwqcw8qjn"))))
ea5616e0
RW
3271 (build-system r-build-system)
3272 (propagated-inputs
3273 `(("r-httpuv" ,r-httpuv)
3274 ("r-jsonlite" ,r-jsonlite)
3275 ("r-mime" ,r-mime)))
3276 (native-inputs
3277 `(("r-rcpp" ,r-rcpp)))
3278 (home-page "https://github.com/yihui/servr")
3279 (synopsis "Simple HTTP server to serve static files or dynamic documents")
3280 (description
3281 "Servr provides an HTTP server in R to serve static files, or dynamic
3282documents that can be converted to HTML files (e.g., R Markdown) under a given
3283directory.")
3284 (license l:expat)))
f1a045e2
RW
3285
3286(define-public r-htmltools
3287 (package
3288 (name "r-htmltools")
e6f0ca2f 3289 (version "0.3.5")
f1a045e2
RW
3290 (source (origin
3291 (method url-fetch)
3292 (uri (cran-uri "htmltools" version))
3293 (sha256
3294 (base32
e6f0ca2f 3295 "0j9bf80grd6gwh7116m575pycv87c0wcwkxsz3gzzfs4aw3pxyr9"))))
f1a045e2 3296 (build-system r-build-system)
3f1c722e
RW
3297 (arguments
3298 `(#:phases
3299 (modify-phases %standard-phases
3300 ;; See https://github.com/rstudio/htmltools/pull/68
3301 ;; The resource files are in the store and have mode 444. After
3302 ;; copying the files R fails to remove them again because it doesn't
3303 ;; have write access to them.
3304 (add-after 'unpack 'copy-files-without-mode
3305 (lambda _
3306 (substitute* "R/html_dependency.R"
3307 (("file.copy\\(from, to, " prefix)
3308 (string-append prefix
3309 "copy.mode = FALSE, ")))
3310 #t)))))
f1a045e2 3311 (propagated-inputs
e6f0ca2f
RW
3312 `(("r-digest" ,r-digest)
3313 ("r-rcpp" ,r-rcpp)))
f1a045e2
RW
3314 (home-page "http://cran.r-project.org/web/packages/htmltools")
3315 (synopsis "R tools for HTML")
3316 (description
3317 "This package provides tools for HTML generation and output in R.")
3318 (license l:expat)))
b1006576
RW
3319
3320(define-public r-htmlwidgets
3321 (package
3322 (name "r-htmlwidgets")
cc1446ac 3323 (version "0.7")
b1006576
RW
3324 (source (origin
3325 (method url-fetch)
3326 (uri (cran-uri "htmlwidgets" version))
3327 (sha256
3328 (base32
cc1446ac 3329 "1xh8aiaci5hi3r67ym7r37hm89m9vzywk292avnmaj125kq7w1d0"))))
b1006576
RW
3330 (build-system r-build-system)
3331 (propagated-inputs
3332 `(("r-htmltools" ,r-htmltools)
3333 ("r-jsonlite" ,r-jsonlite)
3334 ("r-yaml" ,r-yaml)))
3335 (home-page "https://github.com/ramnathv/htmlwidgets")
3336 (synopsis "HTML Widgets for R")
3337 (description
3338 "HTML widgets is a framework for creating HTML widgets that render in
3339various contexts including the R console, R Markdown documents, and Shiny web
3340applications.")
3341 (license l:expat)))
5f4621de 3342
ac3265ab
RW
3343(define-public r-htmltable
3344 (package
3345 (name "r-htmltable")
3346 (version "1.7")
3347 (source
3348 (origin
3349 (method url-fetch)
3350 (uri (cran-uri "htmlTable" version))
3351 (sha256
3352 (base32
3353 "0x2f2hrbhvm53zqwn0ny9wxbk34nwf6zww8cx4bjy5ax15asdllm"))))
3354 (properties `((upstream-name . "htmlTable")))
3355 (build-system r-build-system)
3356 (propagated-inputs
3357 `(("r-knitr" ,r-knitr)
3358 ("r-magrittr" ,r-magrittr)
3359 ("r-stringr" ,r-stringr)))
3360 (home-page "http://gforge.se/packages/")
3361 (synopsis "Advanced tables for Markdown/HTML")
3362 (description
3363 "This package provides functions to build tables with advanced layout
3364elements such as row spanners, column spanners, table spanners, zebra
3365striping, and more. While allowing advanced layout, the underlying
3366CSS-structure is simple in order to maximize compatibility with word
3367processors such as LibreOffice. The package also contains a few text
3368formatting functions that help outputting text compatible with HTML or
3369LaTeX.")
3370 (license l:gpl3+)))
3371
5f4621de
RW
3372(define-public r-curl
3373 (package
3374 (name "r-curl")
2ffcd660 3375 (version "2.2")
5f4621de
RW
3376 (source (origin
3377 (method url-fetch)
3378 (uri (cran-uri "curl" version))
3379 (sha256
3380 (base32
2ffcd660 3381 "0hyvyjzf5ja7kfhzmlfgp86hg1lxrriiwbnr6pxabwwslswj3cmj"))))
5f4621de 3382 (build-system r-build-system)
8f309571
RW
3383 (arguments
3384 `(#:phases
3385 (modify-phases %standard-phases
3386 ;; The environment variable CURL_CA_BUNDLE is only respected when
3387 ;; running Windows, so we disable the platform checks.
3388 ;; This can be removed once the libcurl has been patched.
3389 (add-after 'unpack 'allow-CURL_CA_BUNDLE
3390 (lambda _
3391 (substitute* "R/onload.R"
3392 (("if \\(!grepl\\(\"mingw\".*")
3393 "if (FALSE)\n"))
3394 (substitute* "src/handle.c"
3395 (("#ifdef _WIN32") "#if 1"))
3396 #t)))))
5f4621de
RW
3397 (inputs
3398 `(("libcurl" ,curl)))
3399 (home-page "https://github.com/jeroenooms/curl")
3400 (synopsis "HTTP client for R")
3401 (description
3402 "The @code{curl()} and @code{curl_download()} functions provide highly
3403configurable drop-in replacements for base @code{url()} and
3404@code{download.file()} with better performance, support for encryption, gzip
3405compression, authentication, and other @code{libcurl} goodies. The core of
3406the package implements a framework for performing fully customized requests
3407where data can be processed either in memory, on disk, or streaming via the
3408callback or connection interfaces.")
3409 (license l:expat)))
e1c63590 3410
bbed0ab6
RW
3411(define-public r-hwriter
3412 (package
3413 (name "r-hwriter")
3414 (version "1.3.2")
3415 (source
3416 (origin
3417 (method url-fetch)
3418 (uri (cran-uri "hwriter" version))
3419 (sha256
3420 (base32
3421 "0arjsz854rfkfqhgvpqbm9lfni97dcjs66isdsfvwfd2wz932dbb"))))
3422 (build-system r-build-system)
3423 (home-page "http://cran.r-project.org/web/packages/hwriter")
3424 (synopsis "Output R objects in HTML format")
3425 (description
3426 "This package provides easy-to-use and versatile functions to output R
3427objects in HTML format.")
3428 (license l:lgpl2.1+)))
3429
356c6d61
RW
3430(define-public r-rjson
3431 (package
3432 (name "r-rjson")
3433 (version "0.2.15")
3434 (source
3435 (origin
3436 (method url-fetch)
3437 (uri (cran-uri "rjson" version))
3438 (sha256
3439 (base32
3440 "1vzjyvf57k1fjizlk28rby65y5lsww5qnfvgnhln74qwda7hvl3p"))))
3441 (build-system r-build-system)
3442 (home-page "http://cran.r-project.org/web/packages/rjson")
3443 (synopsis "JSON library for R")
3444 (description
3445 "This package provides functions to convert R objects into JSON objects
3446and vice-versa.")
3447 (license l:gpl2+)))
3448
e1c63590
RW
3449(define-public gumbo-parser
3450 (package
3451 (name "gumbo-parser")
3452 (version "0.10.1")
3453 (source (origin
3454 (method url-fetch)
3455 (uri (string-append "https://github.com/google/"
3456 "gumbo-parser/archive/v" version ".tar.gz"))
3457 (file-name (string-append name "-" version ".tar.gz"))
3458 (sha256
3459 (base32
3460 "1bgg2kbj311pqdzw2v33za7k66g1rv44kkvvnz2gnpaasi9k0ii8"))))
3461 (build-system gnu-build-system)
3462 (arguments
3463 `(#:tests? #f ; tests require bundling googletest sources
3464 #:phases
3465 (modify-phases %standard-phases
3466 (add-after 'unpack 'bootstrap
3467 (lambda _ (zero? (system* "sh" "autogen.sh")))))))
3468 ;; The release tarball lacks the generated files.
3469 (native-inputs
3470 `(("autoconf" ,autoconf)
3471 ("automake" ,automake)
3472 ("libtool" ,libtool)))
3473 (home-page "https://github.com/google/gumbo-parser")
3474 (synopsis "HTML5 parsing library")
3475 (description
3476 "Gumbo is an implementation of the HTML5 parsing algorithm implemented as
3477a pure C99 library.")
3478 (license l:asl2.0)))
67c2fc01
SB
3479
3480(define-public uwsgi
3481 (package
3482 (name "uwsgi")
3483 (version "2.0.12")
3484 (source (origin
3485 (method url-fetch)
3486 (uri (string-append "http://projects.unbit.it/downloads/uwsgi-"
3487 version ".tar.gz"))
3488 (sha256
3489 (base32
3490 "02g46dnw5j1iw8fsq392bxbk8d21b9pdgb3ypcinv3b4jzdm2srh"))))
3491 (build-system gnu-build-system)
3492 (outputs '("out" "python"))
3493 (arguments
3494 '(;; XXX: The 'check' target runs cppcheck to do static code analysis.
3495 ;; But there is no obvious way to run the real tests.
3496 #:tests? #f
3497 #:phases
3498 (modify-phases %standard-phases
3499 (replace 'configure
3500 ;; Configuration is done by writing an ini file.
3501 (lambda* (#:key outputs #:allow-other-keys)
3502 (let* ((out (assoc-ref outputs "out"))
3503 (bindir (string-append out "/bin"))
3504 (plugindir (string-append out "/lib/uwsgi")))
3505 ;; The build phase outputs files to these directories directly.
3506 (mkdir-p bindir)
3507 (mkdir-p plugindir)
3508 ;; XXX: Enable other plugins.
3509 (call-with-output-file "buildconf/guix.ini"
3510 (lambda (port)
3511 (format port "[uwsgi]
3512yaml = libyaml
3513bin_name = ~a/uwsgi
3514plugin_dir = ~a
3515
3516inherit = base
3517plugins = cgi,python
3518embedded_plugins =
3519" bindir plugindir))))
3520 (setenv "PROFILE" "guix")
3521 #t))
3522 (replace 'install
3523 ;; Move plugins into their own output.
3524 (lambda* (#:key outputs #:allow-other-keys)
3525 (let* ((out (assoc-ref outputs "out"))
3526 (plugindir (string-append out "/lib/uwsgi"))
3527 (python-plugin (string-append
3528 plugindir "/python_plugin.so")))
3529 (install-file python-plugin
3530 (string-append
3531 (assoc-ref outputs "python") "/lib/uwsgi"))
3532 (delete-file python-plugin)
3533 #t))))))
3534 (native-inputs
3535 `(("pkg-config" ,pkg-config)
3536 ("python" ,python-wrapper)))
3537 (inputs
3538 `(("jansson" ,jansson)
3539 ("libxml2" ,libxml2)
3540 ("libyaml" ,libyaml)
3541 ("openssl" ,openssl)
3542 ("pcre" ,pcre)
3543 ("zlib" ,zlib)
3544 ;; For plugins.
3545 ("python" ,python)))
3546 (home-page "https://uwsgi-docs.readthedocs.org/")
3547 (synopsis "Application container server")
3548 (description
3549 "uWSGI presents a complete stack for networked/clustered web applications,
3550implementing message/object passing, caching, RPC and process management.
3551It uses the uwsgi protocol for all the networking/interprocess communications.")
3552 (license l:gpl2+))) ; with linking exception
ec672946
JL
3553
3554(define-public jq
3555 (package
3556 (name "jq")
3557 (version "1.5")
3558 (source (origin
3559 (method url-fetch)
3560 (uri (string-append "https://github.com/stedolan/" name
3561 "/releases/download/" name "-" version
3562 "/" name "-" version ".tar.gz"))
3563 (sha256
3564 (base32
f2b4c18c
JL
3565 "0g29kyz4ykasdcrb0zmbrp2jqs9kv1wz9swx849i2d1ncknbzln4"))
3566 ;; This patch has been pushed and the vulnerability will be
3567 ;; fixed in the next release after 1.5.
3568 ;; https://github.com/stedolan/jq/issues/995
3569 (patches (search-patches "jq-CVE-2015-8863.patch"))))
ec672946
JL
3570 (inputs
3571 `(("oniguruma" ,oniguruma)))
3572 (native-inputs
3573 `(;; TODO fix gems to generate documentation
3574 ;;("ruby" ,ruby)
3575 ;;("bundler" ,bundler)
3576 ("valgrind" ,valgrind)))
3577 (build-system gnu-build-system)
3578 (home-page "http://stedolan.github.io/jq/")
3579 (synopsis "Command-line JSON processor")
3580 (description "jq is like sed for JSON data – you can use it to slice and
3581filter and map and transform structured data with the same ease that sed, awk,
3582grep and friends let you play with text. It is written in portable C. jq can
3583mangle the data format that you have into the one that you want with very
3584little effort, and the program to do so is often shorter and simpler than
3585you'd expect.")
3586 (license (list l:expat l:cc-by3.0))))
7ffbbea0
RS
3587
3588(define-public uhttpmock
3589 (package
3590 (name "uhttpmock")
3591 (version "0.5.0")
3592 (source
3593 (origin
3594 (method url-fetch)
3595 (uri (string-append "http://tecnocode.co.uk/downloads/uhttpmock/"
3596 name "-" version ".tar.xz"))
3597 (sha256
3598 (base32
3599 "0vniyx341pnnmvxmqacc49k0g7h9a9nhknfslidrqmxj5lm1ini6"))))
3600 (build-system glib-or-gtk-build-system)
3601 (arguments
3602 `(#:phases
3603 (modify-phases %standard-phases
3604 (add-before 'check 'use-empty-ssl-cert-file
3605 (lambda _
3606 ;; Search for ca-certificates.crt files
3607 ;; during the check phase.
3608 (setenv "SSL_CERT_FILE" "/dev/null")
3609 #t)))))
3610 (native-inputs
3611 `(("gobject-introspection" ,gobject-introspection)
3612 ;; For check phase.
3613 ("glib-networking" ,glib-networking)
3614 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3615 ("pkg-config" ,pkg-config)))
3616 (inputs
3617 `(("libsoup" ,libsoup)))
3618 (home-page "https://gitlab.com/groups/uhttpmock")
3619 (synopsis "Library for mocking web service APIs which use HTTP or HTTPS")
3620 (description
3621 "Uhttpmock is a project for mocking web service APIs which use HTTP or
3622HTTPS. It provides a library, libuhttpmock, which implements recording and
3623playback of HTTP request/response traces.")
3624 (license l:lgpl2.1+)))
0ee23de9
CL
3625
3626(define-public woof
3627 (package
3628 (name "woof")
3629 (version "2012-05-31")
3630 (source (origin
3631 (method url-fetch)
3632 (uri (string-append
3633 "http://www.home.unix-ag.org/simon/woof-"
3634 version ".py"))
3635 (sha256
3636 (base32
3637 "0wjmjhpg6xlid33yi59j47q2qadz20sijrqsjahj30vngz856hyq"))))
3638 (build-system trivial-build-system)
3639 (arguments
3640 '(#:modules ((guix build utils))
3641 #:builder
3642 (begin
3643 (use-modules (guix build utils))
3644 (let* ((source (assoc-ref %build-inputs "source"))
3645 (out (assoc-ref %outputs "out"))
3646 (bin (string-append out "/bin"))
3647 (python (assoc-ref %build-inputs "python")))
3648 (mkdir-p bin)
3649 (with-directory-excursion bin
3650 (copy-file source "woof")
3651 (patch-shebang "woof" (list (string-append python "/bin")))
3652 (chmod "woof" #o555))
3653 #t))))
3654 (inputs `(("python" ,python-2)))
3655 (home-page "http://www.home.unix-ag.org/simon/woof.html")
3656 (synopsis "Single file web server")
3657 (description "Woof (Web Offer One File) is a small simple web server that
3658can easily be invoked on a single file. Your partner can access the file with
3659tools they trust (e.g. wget).")
3660 (license l:gpl2+)))
22df7001
EB
3661
3662(define-public netsurf
3663 (package
3664 (name "netsurf")
3665 (version "3.5")
3666 (source
3667 (origin
3668 (method url-fetch)
3669 (uri (string-append "https://download.netsurf-browser.org/"
3670 "netsurf/releases/source-full/netsurf-all-"
3671 version ".tar.gz"))
3672 (sha256
3673 (base32
3674 "1vdldzcv42wykajmw8vbql0f1yd44gbx30kywfrrh2x3064ly609"))
3675 (modules '((guix build utils)))
3676 (snippet
3677 '(begin
3678 (substitute* "Makefile"
3679 ;; Do not clobber PKG_CONFIG_PATH from the environment
3680 (("PKG_CONFIG_PATH = \\$")
3681 "PKG_CONFIG_PATH := $(PKG_CONFIG_PATH):$")
3682 ;; Honor make variables
3683 (("shell cc") "shell $(CC)"))))
3684 (patches (search-patches "netsurf-about.patch"))))
3685 (build-system glib-or-gtk-build-system)
3686 (native-inputs
3687 `(("pkg-config" ,pkg-config)
3688 ("perl" ,perl)
3689 ("perl-html-parser" ,perl-html-parser)
3690 ("flex" ,flex)
3691 ("bison" ,bison)))
3692 (inputs
3693 `(("gtk+" ,gtk+-2)
3694 ("gperf" ,gperf)
3695 ("curl" ,curl)
3696 ("openssl" ,openssl)
3697 ("libpng" ,libpng)
3698 ("libjpeg" ,libjpeg)
3699 ("expat" ,expat)))
3700 (arguments
3701 `(#:make-flags `("CC=gcc" "BUILD_CC=gcc"
3702 ,(string-append "PREFIX=" %output))
3703 #:parallel-build? #f ;parallel builds not supported
3704 #:tests? #f ;no way to easily run from release tarball
3705 #:modules ((ice-9 rdelim)
3706 (ice-9 match)
3707 (srfi srfi-1)
3708 (sxml simple)
3709 ,@%glib-or-gtk-build-system-modules)
3710 #:phases
3711 (modify-phases %standard-phases
3712 (replace 'configure
3713 (lambda _
3714 (call-with-output-file "netsurf/Makefile.config"
3715 (lambda (port)
3716 (format port "~
3717 NETSURF_GTK_RESOURCES := $(PREFIX)/share/netsurf/~@
3718 ")))
3719 #t))
3720 (add-after 'build 'adjust-welcome
3721 (lambda _
3722 ;; First, fix some unended tags and simple substitutions
3723 (substitute* "netsurf/gtk/res/welcome.html"
3724 (("<(img|input)([^>]*)>" _ tag contents)
3725 (string-append "<" tag contents " />"))
3726 (("Licence") "License") ;prefer GNU spelling
3727 ((" open source") ", free software")
3728 (("web&nbsp;site") "website")
3729 ;; Prefer privacy-respecting default search engine
3730 (("www.google.co.uk") "www.duckduckgo.com/html")
3731 (("Google Search") "DuckDuckGo Search")
3732 (("name=\"btnG\"") ""))
3733 ;; Remove default links so it doesn't seem we're endorsing them
3734 (with-atomic-file-replacement "netsurf/gtk/res/welcome.html"
3735 (lambda (in out)
3736 ;; Leave the DOCTYPE header as is
3737 (display (read-line in 'concat) out)
3738 (sxml->xml
3739 (let rec ((sxml (xml->sxml in)))
3740 ;; We'd like to use sxml-match here, but it can't
3741 ;; match against generic tag symbols...
3742 (match sxml
3743 (`(div (@ (class "links")) . ,rest)
3744 '())
3745 ((x ...)
3746 (map rec x))
3747 (x x)))
3748 out)))
3749 #t))
3750 (add-after 'install 'install-more
3751 (lambda* (#:key outputs #:allow-other-keys)
3752 (let* ((out (assoc-ref outputs "out"))
3753 (desktop (string-append out "/share/applications/"
3754 "netsurf.desktop")))
3755 (mkdir-p (dirname desktop))
3756 (copy-file "netsurf/gtk/res/netsurf-gtk.desktop"
3757 desktop)
3758 (substitute* desktop
3759 (("netsurf-gtk") (string-append out "/bin/netsurf"))
3760 (("netsurf.png") (string-append out "/share/netsurf/"
3761 "netsurf.xpm")))
3762 (install-file "netsurf/Docs/netsurf-gtk.1"
3763 (string-append out "/share/man/man1/"))
3764 #t))))))
3765 (home-page "https://www.netsurf-browser.org")
3766 (synopsis "Web browser")
3767 (description
3768 "NetSurf is a lightweight web browser that has its own layout and
3769rendering engine entirely written from scratch. It is small and capable of
3770handling many of the web standards in use today.")
3771 (license l:gpl2+)))
e56e5b12 3772
3773(define-public surfraw
3774 (package
3775 (name "surfraw")
3776 (version "2.2.9")
3777 (source (origin
3778 (method url-fetch)
3779 (uri (string-append "https://surfraw.alioth.debian.org/dist/"
3780 name "-" version ".tar.gz"))
3781 (sha256
3782 (base32
3783 "1fy4ph5h9kp0jzj1m6pfylxnnmgdk0mmdppw76z9jhna4jndk5xa"))))
3784 (build-system gnu-build-system)
3785 (inputs
3786 `(("perl" ,perl)
3787 ("perl-www-opensearch" ,perl-www-opensearch)
3788 ("perl-html-parser" ,perl-html-parser)
3789 ("perl-libwww" ,perl-libwww)))
3790 (synopsis "Unix command line interface to the www")
3791 (description "Surfraw (Shell Users' Revolutionary Front Rage Against the Web)
3792provides a unix command line interface to a variety of popular www search engines
3793and similar services.")
3794 (home-page "https://surfraw.alioth.debian.org/")
3795 (license l:public-domain)))
797a5cf5
AI
3796
3797(define-public darkhttpd
3798 (package
3799 (name "darkhttpd")
3800 (version "1.12")
3801 (source
3802 (origin
3803 ;; The darkhttpd release tarball URL fails to download with a
3804 ;; 'TLS warning alert'. Download from the darkhttpd git repo
3805 ;; until the problem has been fixed upstream.
3806 (method git-fetch)
3807 (uri (git-reference
3808 (url (string-append "https://unix4lyfe.org/git/darkhttpd"))
3809 (commit "41b68476c35270f47dcd2ddebe27cbcd87e43d41")))
3810 (sha256
3811 (base32
3812 "0wi8dfgj4ic0fsy4dszl69xgxdxlwxz4c30vsw2i2dpnczgjm04k"))
3813 (file-name (string-append name "-" version "-checkout"))))
3814 (build-system gnu-build-system)
3815 (arguments
3816 `(#:make-flags '("CC=gcc")
3817 #:tests? #f ; No test suite
3818 #:phases
3819 (modify-phases %standard-phases
3820 (delete 'configure)
3821 (replace 'install
3822 (lambda* (#:key outputs #:allow-other-keys)
3823 (install-file "darkhttpd"
3824 (string-append (assoc-ref outputs "out")
3825 "/bin"))
3826 #t)))))
3827 (synopsis "Simple static web server")
3828 (description "darkhttpd is a simple static web server. It is
3829standalone and does not need inetd or ucspi-tcp. It does not need any
3830config files---you only have to specify the www root.")
3831 (home-page "https://unix4lyfe.org/darkhttpd/")
3832 (license l:isc)))
8cecd22e
LC
3833
3834(define-public goaccess
3835 (package
3836 (name "goaccess")
3837 (version "1.0.2")
3838 (source (origin
3839 (method url-fetch)
3840 (uri (string-append "http://tar.goaccess.io/goaccess-"
3841 version ".tar.gz"))
3842 (sha256
3843 (base32
3844 "1w84y61f3ldg2f28q6qlyr1scn3mcx0bsbq3i5xi5w193wh3xa2q"))
3845 (modules '((guix build utils)))
3846 (snippet
3847 '(substitute* "src/error.h"
3848 (("__DATE__") "\"1970-01-01\"")
3849 (("__TIME__") "\"00:00:00\"")))))
3850 (build-system gnu-build-system)
3851 (inputs
3852 ;; TODO: Add dependency on geoip-tools.
3853 `(("glib" ,glib)
3854 ("ncurses" ,ncurses)))
3855 (native-inputs
3856 `(("pkg-config" ,pkg-config)))
3857 (home-page "https://goaccess.io")
3858 (synopsis "Analyze Web server logs in real time")
3859 (description
3860 "GoAccess is a real-time web log analyzer and interactive viewer that
3861runs in a terminal or through your browser. It provides fast and valuable
3862HTTP statistics for system administrators that require a visual server report
3863on the fly.")
3864 (license l:x11)))
bb6e6415
TGR
3865
3866(define-public httptunnel
3867 (package
3868 (name "httptunnel")
3869 (version "3.3")
3870 (source
3871 (origin
3872 (method url-fetch)
3873 (uri (string-append "http://www.nocrew.org/software/httptunnel/"
3874 name "-" version ".tar.gz"))
3875 (sha256
3876 (base32
3877 "0mn5s6p68n32xzadz6ds5i6bp44dyxzkq68r1yljlv470jr84bql"))
3878 (modules '((guix build utils)))
3879 (snippet
3880 ;; Remove non-free IETF RFC documentation.
3881 '(delete-file-recursively "doc"))))
3882 (build-system gnu-build-system)
3883 (arguments
3884 `(#:phases
3885 (modify-phases %standard-phases
3886 ;; The default configure phase tries to pass environment variables as
3887 ;; command-line arguments, which confuses the ./configure script.
3888 (replace 'configure
3889 (lambda* (#:key outputs #:allow-other-keys)
3890 (let* ((out (assoc-ref outputs "out")))
3891 (setenv "CONFIG_SHELL" (which "bash"))
3892 (zero? (system* "./configure"
3893 (string-append "--prefix=" out)))))))))
3894 (home-page "http://www.nocrew.org/software/httptunnel.html")
3895 (synopsis "Tunnel data connections through HTTP requests")
3896 (description "httptunnel creates a bidirectional virtual data connection
3897tunnelled through HTTP (HyperText Transfer Protocol) requests. This can be
3898useful for users behind restrictive firewalls. As long as Web traffic is
3899allowed, even through a HTTP-only proxy, httptunnel can be combined with other
3900tools like SSH (Secure Shell) to reach the outside world.")
3901 (license l:gpl2+)))