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