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