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