gnu: perl-catalyst-runtime: Update to 5.90115.
[jackhill/guix/guix.git] / gnu / packages / web.scm
CommitLineData
29a2ccd3 1;;; GNU Guix --- Functional package management for GNU
be6bfa7d 2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
29a2ccd3 3;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
89e34644 4;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
5fb205c6 5;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
aad78085 6;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
38012ed5 7;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
ef61177d 8;;; Copyright © 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
d8f1c074 9;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
67c2fc01 10;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
ec672946 11;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
4fbed749 12;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
7ffbbea0 13;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
bd9fe0f0 14;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
0ee23de9 15;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
e81fd90e 16;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>
a7a4345d 17;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
bb6e6415 18;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
b881dc6d 19;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
864042c5 20;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
decb4c26 21;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
1622637b 22;;; Copyright © 2017 Kei Kebreau <kei@openmailbox.org>
29a2ccd3
AP
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)
c9d512fa 40 #:use-module (ice-9 match)
b5b73a82 41 #:use-module ((guix licenses) #:prefix l:)
29a2ccd3
AP
42 #:use-module (guix packages)
43 #:use-module (guix download)
833efa0d 44 #:use-module (guix git-download)
18cb3df8 45 #:use-module (guix cvs-download)
b8ae816b 46 #:use-module (guix utils)
29a2ccd3 47 #:use-module (guix build-system gnu)
7ffbbea0 48 #:use-module (guix build-system glib-or-gtk)
c2337213
LC
49 #:use-module (guix build-system perl)
50 #:use-module (guix build-system cmake)
a359c9c1 51 #:use-module (guix build-system r)
0ee23de9 52 #:use-module (guix build-system trivial)
da069d7e 53 #:use-module (guix build-system python)
38e62c81 54 #:use-module (gnu packages)
29a2ccd3 55 #:use-module (gnu packages apr)
5a0096a3 56 #:use-module (gnu packages check)
a8cba9dd 57 #:use-module (gnu packages cran)
99828fa7 58 #:use-module (gnu packages documentation)
b777d784 59 #:use-module (gnu packages docbook)
833efa0d 60 #:use-module (gnu packages autotools)
ce0614dd 61 #:use-module (gnu packages compression)
bb470bd3 62 #:use-module (gnu packages cyrus-sasl)
f643a6e9 63 #:use-module (gnu packages databases)
22df7001
EB
64 #:use-module (gnu packages bison)
65 #:use-module (gnu packages flex)
89e34644 66 #:use-module (gnu packages kerberos)
57c2680e 67 #:use-module (gnu packages gd)
488e8863 68 #:use-module (gnu packages gettext)
7ffbbea0
RS
69 #:use-module (gnu packages glib)
70 #:use-module (gnu packages gnome)
4fc282b3 71 #:use-module (gnu packages gnu-doc)
b881dc6d 72 #:use-module (gnu packages gnupg)
1622637b 73 #:use-module (gnu packages gnuzilla)
22df7001 74 #:use-module (gnu packages gperf)
fbaf9376 75 #:use-module (gnu packages gtk)
a3cd23b6 76 #:use-module (gnu packages javascript)
22df7001 77 #:use-module (gnu packages image)
fbaf9376 78 #:use-module (gnu packages libidn)
0cf9f9b1 79 #:use-module (gnu packages libunistring)
bb470bd3 80 #:use-module (gnu packages lua)
8cecd22e 81 #:use-module (gnu packages ncurses)
ce0614dd 82 #:use-module (gnu packages base)
bd9fe0f0 83 #:use-module (gnu packages perl)
ed865936 84 #:use-module (gnu packages python)
c9ea41ff 85 #:use-module (gnu packages pcre)
bb470bd3 86 #:use-module (gnu packages pkg-config)
ec672946 87 #:use-module (gnu packages valgrind)
b777d784 88 #:use-module (gnu packages xml)
d22d72fc 89 #:use-module (gnu packages curl)
38012ed5 90 #:use-module (gnu packages perl)
cc2b77df 91 #:use-module (gnu packages texinfo)
ec672946 92 #:use-module (gnu packages textutils)
a359c9c1
RW
93 #:use-module (gnu packages tls)
94 #:use-module (gnu packages statistics))
29a2ccd3
AP
95
96(define-public httpd
97 (package
98 (name "httpd")
dcd9a331 99 (version "2.4.27")
29a2ccd3
AP
100 (source (origin
101 (method url-fetch)
102 (uri (string-append "mirror://apache/httpd/httpd-"
103 version ".tar.bz2"))
104 (sha256
105 (base32
dcd9a331 106 "0fn1778mxhf78np2d8qlycg1c2ak18rxax41plahasca4clc3z3i"))))
29a2ccd3 107 (build-system gnu-build-system)
74c8b174 108 (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config'
29a2ccd3
AP
109 (inputs `(("apr" ,apr)
110 ("apr-util" ,apr-util)
111 ("openssl" ,openssl)
50b7a6a0 112 ("perl" ,perl))) ; needed to run bin/apxs
29a2ccd3
AP
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
126effort aimed at creating a robust, commercial-grade, featureful, and
35b9e423
EB
127freely-available source code implementation of an HTTP (Web) server. The
128project is jointly managed by a group of volunteers located around the world,
129using the Internet and the Web to communicate, plan, and develop the server
130and its related documentation.")
29a2ccd3
AP
131 (license l:asl2.0)
132 (home-page "https://httpd.apache.org/")))
c9ea41ff 133
c9d512fa
MW
134(define-public nginx
135 (package
136 (name "nginx")
e23cf939 137 (version "1.12.1")
c9d512fa
MW
138 (source (origin
139 (method url-fetch)
59fed2b6 140 (uri (string-append "https://nginx.org/download/nginx-"
c9d512fa
MW
141 version ".tar.gz"))
142 (sha256
143 (base32
e23cf939 144 "1yvnmj7vlykrqdi6amkvs63lva6qkxd98sqv0a8hz8w5ci1bz4w7"))))
c9d512fa
MW
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
a71c315b 152 (modify-phases %standard-phases
3a4de6b2 153 (add-before 'configure 'patch-/bin/sh
a71c315b
DT
154 (lambda _
155 (substitute* "auto/feature"
bb2f8bbc 156 (("/bin/sh") (which "sh")))
59fed2b6 157 #t))
3a4de6b2 158 (replace 'configure
a71c315b
DT
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"
a71c315b
DT
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")
4788deea
MW
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"))))
a71c315b
DT
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)
59446b20 186 (zero? (apply system* "./configure" flags)))))
3a4de6b2 187 (add-after 'install 'fix-root-dirs
59446b20
DT
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"))))))))
59fed2b6 202 (home-page "https://nginx.org")
c9d512fa
MW
203 (synopsis "HTTP and reverse proxy server")
204 (description
205 "Nginx (\"engine X\") is a high-performance web and reverse proxy server
206created by Igor Sysoev. It can be used both as a standalone web server
207and 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
ab519cfa
RW
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)
0ff55f9d
RW
231 ;; Parallel building is not supported.
232 (arguments `(#:parallel-build? #f))
ab519cfa
RW
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
236that provides high performance without the limitations of server specific
237APIs.")
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
9bad4043
RW
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
273over FastCGI. It hopes to provide clean CGI support to Nginx (and other web
274servers that may need it).")
275 (license l:expat)))
276
a641b579
EB
277(define-public starman
278 (package
279 (name "starman")
654116c1 280 (version "0.4014")
a641b579
EB
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
654116c1 288 "1sbb5rb3vs82rlh1fjkgkcmj5pj62b4y9si4ihh45sl9m8c2qxx5"))))
a641b579
EB
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
305such as high performance, preforking, signal support, superdaemon awareness,
306and UNIX socket support.")
2f3108ad 307 (license l:perl-license)))
a641b579 308
2b0bba49
RW
309(define-public jansson
310 (package
311 (name "jansson")
14ac8e48 312 (version "2.9")
2b0bba49
RW
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
14ac8e48 320 "19fjgfwjfj99rqa3kf96x5rssj88siazggksgrikd6h4r9sd1l0a"))))
2b0bba49
RW
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
326data.")
327 (license l:expat)))
328
f6ad09ae
LC
329(define-public json-c
330 (package
331 (name "json-c")
87312f8a 332 (version "0.12.1")
f6ad09ae
LC
333 (source (origin
334 (method url-fetch)
a124bbd2
SB
335 (uri (string-append
336 "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
337 version ".tar.gz"))
f6ad09ae
LC
338 (sha256
339 (base32
87312f8a 340 "08qibrq29a5v7g23wi5icy6l4fbfw90h9ccps6vq0bcklx8n84ra"))
f6ad09ae
LC
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
360easily construct JSON objects in C, output them as JSON formatted strings and
361parse JSON formatted strings back into the C representation of JSON objects.")
362 (license l:x11)))
363
bd9fe0f0
BW
364(define-public krona-tools
365 (package
366 (name "krona-tools")
9712ef8d 367 (version "2.7")
bd9fe0f0
BW
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
9712ef8d 375 "0wvgllcqscsfb4xc09y3fqhx8i38pmr4w55vjs5y79wx56n710iq"))))
bd9fe0f0
BW
376 (build-system perl-build-system)
377 (arguments
5d52ac74 378 `(#:phases
bd9fe0f0
BW
379 (modify-phases %standard-phases
380 ;; There is no configure or build steps.
381 (delete 'configure)
9712ef8d 382 (delete 'build)
bd9fe0f0
BW
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")
5d52ac74 390 "/lib/perl5/site_perl/krona-tools/lib")))
bd9fe0f0
BW
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"
9712ef8d
BW
399 "GetLCA"
400 "GetTaxIDFromAcc"
401 "GetTaxInfo"
bd9fe0f0
BW
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"))
9712ef8d
BW
417 (for-each
418 (lambda (directory)
419 (copy-recursively directory
420 (string-append perl "/../" directory)))
421 (list "data" "img" "taxonomy" "src"))
bd9fe0f0
BW
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
5d52ac74
BW
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"))))))))
bd9fe0f0
BW
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
445hierarchical data, such as metagenomic classifications, using a radial,
446space-filling display. It is implemented using HTML5 and JavaScript, allowing
447charts to be explored locally or served over the Internet, requiring only a
448current version of any major web browser.")
449 (license l:bsd-3)))
450
ccb8da26
RW
451(define-public rapidjson
452 (package
453 (name "rapidjson")
d0386db4 454 (version "1.1.0")
ccb8da26
RW
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
d0386db4 463 "13nrpvw8f1wx0ga7svbzld7pgrv8l172nangpipnj7jaf0lysz5z"))))
ccb8da26 464 (build-system cmake-build-system)
4fbed749
EF
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 '())))
ccb8da26
RW
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
480style API.")
481 (license l:expat)))
482
d8f1c074
ED
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
500parser written in ANSI C and a small validating JSON generator.")
501 (license l:isc)))
502
833efa0d
LC
503(define-public libwebsockets
504 (package
505 (name "libwebsockets")
c2337213 506 (version "1.3")
833efa0d
LC
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
c2337213 514 "-chrome37-firefox30"))))
833efa0d
LC
515 (sha256
516 (base32
c2337213 517 "12fqh2d2098mgf0ls19p9lzibpsqhv7mc5rn1yvrbfnazmcr40g4"))
833efa0d
LC
518 (file-name (string-append name "-" version))))
519
c2337213 520 (build-system cmake-build-system)
833efa0d 521 (arguments
c2337213
LC
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))
833efa0d 525
c2337213 526 (native-inputs `(("perl" ,perl))) ; to build the HTML doc
833efa0d
LC
527 (inputs `(("zlib" ,zlib)
528 ("openssl" ,openssl)))
529 (synopsis "WebSockets library written in C")
530 (description
35b9e423 531 "Libwebsockets is a library that allows C programs to establish client
833efa0d
LC
532and server WebSockets connections---a protocol layered above HTTP that allows
533for 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
488e8863
EB
539(define-public libpsl
540 (package
541 (name "libpsl")
0cf9f9b1 542 (version "0.18.0")
488e8863
EB
543 (source (origin
544 (method url-fetch)
545 (uri (string-append "https://github.com/rockdaboot/libpsl/"
6c277c89
EF
546 "releases/download/libpsl-" version
547 "/libpsl-" version ".tar.gz"))
488e8863
EB
548 (sha256
549 (base32
0cf9f9b1 550 "00iids8ldsqnnndmcfjp6kc00lv7fawf5l24mpbdbkh98yazgc4i"))))
488e8863 551 (build-system gnu-build-system)
0cf9f9b1
TGR
552 (native-inputs
553 `(("pkg-config" ,pkg-config)))
6c277c89 554 (inputs
0cf9f9b1
TGR
555 `(("libidn2" ,libidn2)
556 ("libunistring" ,libunistring)
6c277c89 557 ("python-2" ,python-2)))
488e8863
EB
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
562directly register own names.
563
564Browsers and other web clients can use it to avoid privacy-leaking
565\"supercookies\", avoid privacy-leaking \"super domain\" certificates, domain
566highlighting parts of the domain in a user interface, and sorting domain lists
567by site.
568
569Libpsl has built-in PSL data for fast access, allows to load PSL data from
570files, checks if a given domain is a public suffix, provides immediate cookie
571domain verification, finds the longest public part of a given domain, finds
572the shortest private part of a given domain, works with international
573domains (UTF-8 and IDNA2008 Punycode), is thread-safe, and handles IDNA2008
e881752c 574UTS#46.")
488e8863
EB
575 (license l:x11)))
576
18cb3df8
DT
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
4d853910 590 "14dsnmirjcrvwsffqp3as70qr6bbfaig2fv3zvs5g7005jrsbvpb"))
fc1adab1 591 (patches (search-patches "tidy-CVE-2015-5522+5523.patch"))))
18cb3df8
DT
592 (build-system gnu-build-system)
593 (arguments
917239ff
TGR
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")))))))
18cb3df8
DT
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
608used to validate and fix HTML data.")
609 (home-page "http://tidy.sourceforge.net/")
610 (license (l:x11-style "file:///include/tidy.h"))))
611
8142aff3 612(define-public tinyproxy
c9ea41ff 613 (package
8142aff3 614 (name "tinyproxy")
b5076461 615 (version "1.8.4")
8142aff3
EB
616 (source (origin
617 (method url-fetch)
b5076461
EF
618 (uri (string-append "https://github.com/tinyproxy/tinyproxy/"
619 "releases/download/" version "/tinyproxy-"
620 version ".tar.xz"))
8142aff3
EB
621 (sha256
622 (base32
b5076461 623 "002hi97687czhfkwsjkr174yvlp10224qi6gd5s53z230bgls7x4"))))
8142aff3
EB
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 ??)
4b0e6367 641 (native-inputs `(("asciidoc" ,asciidoc)))
b5076461 642 (home-page "https://tinyproxy.github.io/")
8142aff3
EB
643 (synopsis "Light-weight HTTP/HTTPS proxy daemon")
644 (description "Tinyproxy is a light-weight HTTP/HTTPS proxy
645daemon. Designed from the ground up to be fast and yet small, it is an ideal
646solution for use cases such as embedded deployments where a full featured HTTP
647proxy is required, but the system resources for a larger proxy are
648unavailable.")
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
9bd259d8
TGR
667 `(#:phases (modify-phases %standard-phases
668 (delete 'configure))
8142aff3
EB
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
680server). It was primarily designed to be used by one person or a small group
681of people.")
682 (license l:expat)))
683
b881dc6d
BT
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
706intermittent internet links. It can cache HTTP, HTTPS, FTP, and finger
707protocols, and supports browsing and requesting pages while offline, indexing,
708modifying pages and incoming and outgoing headers, monitoring pages for
709changes, and much more.")
710 (license l:gpl2+)))
711
1622637b
KK
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")
1819fd2c 730 (synopsis "C library implementing the OAuth API")
1622637b 731 (description
1819fd2c
KK
732 "liboauth is a collection of C functions implementing the OAuth API.
733liboauth provides functions to escape and encode strings according to OAuth
734specifications and offers high-level functionality built on top to sign
1622637b
KK
735requests or verify signatures using either NSS or OpenSSL for calculating the
736hash/signatures.")
737 ;; Source code may be distributed under either license.
738 (license (list l:expat l:gpl2+))))
739
8142aff3
EB
740(define-public libyaml
741 (package
742 (name "libyaml")
e00df583 743 (version "0.1.6")
8142aff3
EB
744 (source
745 (origin
746 (method url-fetch)
747 (uri (string-append
748 "http://pyyaml.org/download/libyaml/yaml-"
749 version ".tar.gz"))
0d567b55 750 (patches (search-patches "libyaml-CVE-2014-9130.patch"))
8142aff3
EB
751 (sha256
752 (base32
e00df583 753 "0j9731s5zjb8mjx7wzf6vh7bsqi38ay564x6s9nri2nh9cdrg9kx"))))
8142aff3
EB
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
de67e922
LF
769 "mirror://sourceforge/quvi/" (version-major+minor version) "/"
770 name "/" name "-" version ".tar.xz"))
8142aff3
EB
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
777parse 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
de67e922
LF
788 "mirror://sourceforge/quvi/" (version-major+minor version) "/" name "/"
789 name "-" version ".tar.xz"))
8142aff3
EB
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
811URLs 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
de67e922
LF
822 "mirror://sourceforge/" name "/" (version-major+minor version)
823 "/" name "/" name "-" version ".tar.xz"))
8142aff3
EB
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
834from streaming URLs. It is a command-line wrapper for the libquvi library.")
835 (license l:lgpl2.1+)))
836
ed865936
MW
837(define-public serf
838 (package
839 (name "serf")
244d4f48 840 (version "1.3.9")
ed865936
MW
841 (source
842 (origin
843 (method url-fetch)
6d22653e 844 (uri (string-append "https://archive.apache.org/dist/serf/serf-"
ed865936
MW
845 version ".tar.bz2"))
846 (sha256
244d4f48 847 (base32 "1k47gbgpp52049andr28y28nbwh9m36bbb0g8p0aka3pqlhjv72l"))))
ed865936
MW
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
4da18166
ST
861 `(#:modules ((guix build gnu-build-system)
862 (guix build utils)
863 (srfi srfi-1))
864 #:phases
ed865936
MW
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, "))))
ed865936
MW
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))))))
decb4c26
MB
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)))
ed865936
MW
920 (replace 'check (lambda _ (zero? (system* "scons" "check"))))
921 (replace 'install (lambda _ (zero? (system* "scons" "install")))))))
6d22653e 922 (home-page "https://serf.apache.org/")
ed865936
MW
923 (synopsis "High-performance asynchronous HTTP client library")
924 (description
925 "serf is a C-based HTTP client library built upon the Apache Portable
926Runtime (APR) library. It multiplexes connections, running the read/write
927communication asynchronously. Memory copies and transformations are kept to a
928minimum 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
385a44be
DT
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.
8a39e4a5 936 (let* ((version "3.4.5")
385a44be
DT
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
8a39e4a5 946 "1j22138l5ymqjfj5zan9d2hipa3ahjmifgpjahqy1smlg5sb837x")))))
385a44be
DT
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
8a39e4a5 957 "1xk4kmmvziz9sal3swpqa10q0s289xjpcz8aggmly8mvxvmngsi9"))))
385a44be
DT
958 (build-system gnu-build-system)
959 (arguments
8a39e4a5
RW
960 `(#:make-flags
961 (list "CC=gcc"
962 (string-append "PREFIX=" (assoc-ref %outputs "out")))
385a44be 963 #:test-target "test"
8a39e4a5
RW
964 ;; FIXME: "make test" rebuilds the application and gets lost in a
965 ;; non-existing directory.
966 #:tests? #f
385a44be
DT
967 #:phases
968 (modify-phases %standard-phases
969 (delete 'configure)
970 (add-after 'unpack 'unpack-libsass-and-set-path
971 (lambda* (#:key inputs #:allow-other-keys)
972 (and (zero? (system* "tar" "xvf" (assoc-ref inputs "libsass")))
973 (begin
974 (setenv "SASS_LIBSASS_PATH"
975 (string-append (getcwd) "/libsass-" ,version))
8a39e4a5 976 #t)))))))
385a44be
DT
977 (inputs
978 `(("libsass" ,libsass)))
979 (synopsis "CSS pre-processor")
980 (description "SassC is a compiler written in C for the CSS pre-processor
981language known as SASS.")
982 (home-page "http://sass-lang.com/libsass")
983 (license l:expat))))
984
8142aff3 985\f
dc1c804a
EB
986(define-public perl-apache-logformat-compiler
987 (package
988 (name "perl-apache-logformat-compiler")
faf806db 989 (version "0.33")
dc1c804a
EB
990 (source
991 (origin
992 (method url-fetch)
993 (uri (string-append "mirror://cpan/authors/id/K/KA/KAZEBURO/"
994 "Apache-LogFormat-Compiler-" version ".tar.gz"))
995 (sha256
996 (base32
faf806db 997 "17blk3zhp05azgypn25ydxf3d7fyfgr9bxyiv7xkchhqma96vwqv"))))
dc1c804a
EB
998 (build-system perl-build-system)
999 (native-inputs
1000 `(("perl-http-message" ,perl-http-message)
a2190ccc 1001 ("perl-module-build" ,perl-module-build)
dc1c804a
EB
1002 ("perl-test-mocktime" ,perl-test-mocktime)
1003 ("perl-try-tiny" ,perl-try-tiny)
1004 ("perl-uri" ,perl-uri)))
1005 (propagated-inputs
1006 `(("perl-posix-strftime-compiler" ,perl-posix-strftime-compiler)))
1007 (arguments `(#:tests? #f)) ;TODO: Timezone test failures
1008 (home-page "http://search.cpan.org/dist/Apache-LogFormat-Compiler")
1009 (synopsis "Compile a log format string to perl-code")
1010 (description "This module provides methods to compile a log format string
1011to perl-code, for faster generation of access_log lines.")
2f3108ad 1012 (license l:perl-license)))
dc1c804a 1013
c6ee18ab
EB
1014(define-public perl-authen-sasl
1015 (package
1016 (name "perl-authen-sasl")
1017 (version "2.16")
1018 (source
1019 (origin
1020 (method url-fetch)
1021 (uri (string-append "mirror://cpan/authors/id/G/GB/GBARR/"
1022 "Authen-SASL-" version ".tar.gz"))
1023 (sha256
1024 (base32
1025 "02afhlrdq5hh5g8b32fa79fqq5i76qzwfqqvfi9zi57h31szl536"))))
1026 (build-system perl-build-system)
f61d39ac
LF
1027 (arguments
1028 '(#:phases
1029 (modify-phases %standard-phases
1030 (add-after 'unpack 'set-env
1031 ;; Fix the build with Perl 5.26.0. Try removing this phase for later
1032 ;; versions of perl-authen-sasl.
1033 (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1") #t)))))
c6ee18ab
EB
1034 (propagated-inputs
1035 `(("perl-digest-hmac" ,perl-digest-hmac)
1036 ("perl-gssapi" ,perl-gssapi)))
1037 (home-page "http://search.cpan.org/dist/Authen-SASL")
1038 (synopsis "SASL authentication framework")
1039 (description "Authen::SASL provides an SASL authentication framework.")
2f3108ad 1040 (license l:perl-license)))
c6ee18ab 1041
cd39d814
EB
1042(define-public perl-catalyst-action-renderview
1043 (package
1044 (name "perl-catalyst-action-renderview")
1045 (version "0.16")
1046 (source
1047 (origin
1048 (method url-fetch)
1049 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1050 "Catalyst-Action-RenderView-"
1051 version ".tar.gz"))
1052 (sha256
1053 (base32
1054 "0j1rrld13cjk7ks92b5hv3xw4rfm2lvmksb4rlzd8mx0a0wj0rc5"))))
1055 (build-system perl-build-system)
1056 (native-inputs
1057 `(("perl-http-request-ascgi" ,perl-http-request-ascgi)))
1058 (propagated-inputs
1059 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1060 ("perl-data-visitor" ,perl-data-visitor)
1061 ("perl-mro-compat" ,perl-mro-compat)))
1062 (home-page "http://search.cpan.org/dist/Catalyst-Action-RenderView")
1063 (synopsis "Sensible default Catalyst action")
1064 (description "This Catalyst action implements a sensible default end
1065action, which will forward to the first available view.")
2f3108ad 1066 (license l:perl-license)))
cd39d814 1067
aaef00bf
EB
1068(define-public perl-catalyst-action-rest
1069 (package
1070 (name "perl-catalyst-action-rest")
abafd66d 1071 (version "1.20")
aaef00bf
EB
1072 (source (origin
1073 (method url-fetch)
d0b9c34f 1074 (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
aaef00bf
EB
1075 "Catalyst-Action-REST-" version ".tar.gz"))
1076 (sha256
1077 (base32
abafd66d 1078 "1mpa64p61f3dp24xnhdraswch4sqj5vyv1iivcvvh5h0xi0haiy0"))))
aaef00bf
EB
1079 (build-system perl-build-system)
1080 (native-inputs
1081 `(("perl-test-requires" ,perl-test-requires)))
1082 (propagated-inputs
1083 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1084 ("perl-class-inspector" ,perl-class-inspector)
abafd66d
EF
1085 ("perl-config-general" ,perl-config-general)
1086 ("perl-cpanel-json-xs" ,perl-cpanel-json-xs)
aaef00bf
EB
1087 ("perl-libwww" ,perl-libwww)
1088 ("perl-moose" ,perl-moose)
1089 ("perl-mro-compat" ,perl-mro-compat)
1090 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1091 ("perl-params-validate" ,perl-params-validate)
abafd66d
EF
1092 ("perl-uri-find" ,perl-uri-find)
1093 ("perl-xml-simple" ,perl-xml-simple)))
aaef00bf
EB
1094 (home-page "http://search.cpan.org/dist/Catalyst-Action-REST")
1095 (synopsis "Automated REST Method Dispatching")
1096 (description "This Action handles doing automatic method dispatching for
1097REST requests. It takes a normal Catalyst action, and changes the dispatch to
1098append an underscore and method name. First it will try dispatching to an
1099action with the generated name, and failing that it will try to dispatch to a
1100regular method.")
2f3108ad 1101 (license l:perl-license)))
aaef00bf 1102
6e545bbf
EB
1103(define-public perl-catalyst-authentication-store-dbix-class
1104 (package
1105 (name "perl-catalyst-authentication-store-dbix-class")
1106 (version "0.1506")
1107 (source
1108 (origin
1109 (method url-fetch)
1110 (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
1111 "Catalyst-Authentication-Store-DBIx-Class-"
1112 version ".tar.gz"))
1113 (sha256
1114 (base32
1115 "0i5ja7690fs9nhxcij6lw51j804sm8s06m5mvk1n8pi8jljrymvw"))))
1116 (build-system perl-build-system)
1117 (native-inputs
1118 `(("perl-catalyst-plugin-authorization-roles"
1119 ,perl-catalyst-plugin-authorization-roles)
1120 ("perl-catalyst-plugin-session-state-cookie"
1121 ,perl-catalyst-plugin-session-state-cookie)
1122 ("perl-dbd-sqlite" ,perl-dbd-sqlite)
1123 ("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst)))
1124 (propagated-inputs
1125 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1126 ("perl-catalyst-plugin-authentication"
1127 ,perl-catalyst-plugin-authentication)
1128 ("perl-dbix-class" ,perl-dbix-class)
1129 ("perl-catalyst-model-dbic-schema" ,perl-catalyst-model-dbic-schema)))
1130 (home-page
1131 "http://search.cpan.org/dist/Catalyst-Authentication-Store-DBIx-Class")
1132 (synopsis "Storage class for Catalyst authentication using DBIx::Class")
1133 (description "The Catalyst::Authentication::Store::DBIx::Class class
1134provides access to authentication information stored in a database via
1135DBIx::Class.")
2f3108ad 1136 (license l:perl-license)))
6e545bbf 1137
040a52fd
EB
1138(define-public perl-catalyst-component-instancepercontext
1139 (package
1140 (name "perl-catalyst-component-instancepercontext")
1141 (version "0.001001")
1142 (source
1143 (origin
1144 (method url-fetch)
1145 (uri (string-append "mirror://cpan/authors/id/G/GR/GRODITI/"
1146 "Catalyst-Component-InstancePerContext-"
1147 version ".tar.gz"))
1148 (sha256
1149 (base32
1150 "0wfj4vnn2cvk6jh62amwlg050p37fcwdgrn9amcz24z6w4qgjqvz"))))
1151 (build-system perl-build-system)
1152 (propagated-inputs
1153 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1154 ("perl-moose" ,perl-moose)))
1155 (home-page
1156 "http://search.cpan.org/dist/Catalyst-Component-InstancePerContext")
1157 (synopsis "Create only one instance of Moose component per context")
1158 (description "Catalyst::Component::InstancePerContext returns a new
1159instance of a component on each request.")
2f3108ad 1160 (license l:perl-license)))
040a52fd 1161
bdec3223
EB
1162(define-public perl-catalyst-devel
1163 (package
1164 (name "perl-catalyst-devel")
1165 (version "1.39")
1166 (source
1167 (origin
1168 (method url-fetch)
1169 (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
1170 "Catalyst-Devel-" version ".tar.gz"))
1171 (sha256
1172 (base32
1173 "12m50bbkggjmpxihv3wnvr0g2qng0zwhlzi5ygppjz8wh2x73qxw"))))
1174 (build-system perl-build-system)
1175 (native-inputs
1176 `(("perl-test-fatal" ,perl-test-fatal)))
1177 (propagated-inputs
1178 `(("perl-catalyst-action-renderview" ,perl-catalyst-action-renderview)
1179 ("perl-catalyst-plugin-configloader" ,perl-catalyst-plugin-configloader)
1180 ("perl-catalyst-plugin-static-simple" ,perl-catalyst-plugin-static-simple)
1181 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1182 ("perl-config-general" ,perl-config-general)
1183 ("perl-file-changenotify" ,perl-file-changenotify)
1184 ("perl-file-copy-recursive" ,perl-file-copy-recursive)
1185 ("perl-file-sharedir" ,perl-file-sharedir)
1186 ("perl-module-install" ,perl-module-install)
1187 ("perl-moose" ,perl-moose)
1188 ("perl-moosex-emulate-class-accessor-fast"
1189 ,perl-moosex-emulate-class-accessor-fast)
1190 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1191 ("perl-namespace-clean" ,perl-namespace-clean)
1192 ("perl-path-class" ,perl-path-class)
1193 ("perl-template-toolkit" ,perl-template-toolkit)))
1194 (home-page "http://search.cpan.org/dist/Catalyst-Devel")
1195 (synopsis "Catalyst Development Tools")
1196 (description "The Catalyst-Devel distribution includes a variety of
1197modules useful for the development of Catalyst applications, but not required
1198to run them. Catalyst-Devel includes the Catalyst::Helper system, which
1199autogenerates scripts and tests; Module::Install::Catalyst, a Module::Install
1200extension for Catalyst; and requirements for a variety of development-related
1201modules.")
2f3108ad 1202 (license l:perl-license)))
bdec3223 1203
9473af1d
EB
1204(define-public perl-catalyst-dispatchtype-regex
1205 (package
1206 (name "perl-catalyst-dispatchtype-regex")
1207 (version "5.90035")
1208 (source
1209 (origin
1210 (method url-fetch)
1211 (uri (string-append "mirror://cpan/authors/id/M/MG/MGRIMES/"
1212 "Catalyst-DispatchType-Regex-" version ".tar.gz"))
1213 (sha256
1214 (base32
1215 "06jq1lmpq88rmp9zik5gqczg234xac0hiyc3l698iif7zsgcyb80"))))
1216 (build-system perl-build-system)
1217 (native-inputs
1218 `(("perl-module-build" ,perl-module-build) ;needs Module::Build >= 0.4004
1219 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1220 ("perl-catalyst-runtime" ,perl-catalyst-runtime)))
1221 (propagated-inputs
1222 `(("perl-moose" ,perl-moose)
1223 ("perl-text-simpletable" ,perl-text-simpletable)))
1224 (home-page "http://search.cpan.org/dist/Catalyst-DispatchType-Regex")
1225 (synopsis "Regex DispatchType for Catalyst")
1226 (description "Dispatch type managing path-matching behaviour using
1227regexes. Regex dispatch types have been deprecated and removed from Catalyst
1228core. It is recommend that you use Chained methods or other techniques
1229instead. As part of the refactoring, the dispatch priority of Regex vs Regexp
1230vs LocalRegex vs LocalRegexp may have changed. Priority is now influenced by
1231when the dispatch type is first seen in your application.")
2f3108ad 1232 (license l:perl-license)))
9473af1d 1233
f643a6e9
EB
1234(define-public perl-catalyst-model-dbic-schema
1235 (package
1236 (name "perl-catalyst-model-dbic-schema")
1237 (version "0.65")
1238 (source
1239 (origin
1240 (method url-fetch)
1241 (uri (string-append "mirror://cpan/authors/id/G/GB/GBJK/"
1242 "Catalyst-Model-DBIC-Schema-"
1243 version ".tar.gz"))
1244 (sha256
1245 (base32
1246 "1spfjcjc0b9dv3k2gbanqj1m1cqzyxb32p76dhdwizzpbvpi3a96"))))
1247 (build-system perl-build-system)
1248 (native-inputs
1249 `(("perl-dbd-sqlite" ,perl-dbd-sqlite)
1250 ("perl-test-exception" ,perl-test-exception)
1251 ("perl-test-requires" ,perl-test-requires)))
1252 (propagated-inputs
1253 `(("perl-carp-clan" ,perl-carp-clan)
1254 ("perl-catalyst-component-instancepercontext"
1255 ,perl-catalyst-component-instancepercontext)
1256 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1257 ("perl-catalystx-component-traits" ,perl-catalystx-component-traits)
1258 ("perl-dbix-class" ,perl-dbix-class)
1259 ("perl-dbix-class-cursor-cached" ,perl-dbix-class-cursor-cached)
1260 ("perl-dbix-class-schema-loader" ,perl-dbix-class-schema-loader)
1261 ("perl-hash-merge" ,perl-hash-merge)
1262 ("perl-list-moreutils" ,perl-list-moreutils)
1263 ("perl-module-runtime" ,perl-module-runtime)
1264 ("perl-moose" ,perl-moose)
1265 ("perl-moosex-markasmethods" ,perl-moosex-markasmethods)
1266 ("perl-moosex-nonmoose" ,perl-moosex-nonmoose)
1267 ("perl-moosex-types" ,perl-moosex-types)
1268 ("perl-moosex-types-loadableclass" ,perl-moosex-types-loadableclass)
1269 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1270 ("perl-namespace-clean" ,perl-namespace-clean)
1271 ("perl-tie-ixhash" ,perl-tie-ixhash)
1272 ("perl-try-tiny" ,perl-try-tiny)))
1273 (home-page "http://search.cpan.org/dist/Catalyst-Model-DBIC-Schema")
1274 (synopsis "DBIx::Class::Schema Model Class")
1275 (description "This is a Catalyst Model for DBIx::Class::Schema-based
1276Models.")
2f3108ad 1277 (license l:perl-license)))
f643a6e9 1278
0a74d78d
EB
1279(define-public perl-catalyst-plugin-accesslog
1280 (package
1281 (name "perl-catalyst-plugin-accesslog")
9fc41452 1282 (version "1.10")
0a74d78d
EB
1283 (source
1284 (origin
1285 (method url-fetch)
1286 (uri (string-append "mirror://cpan/authors/id/A/AR/ARODLAND/"
1287 "Catalyst-Plugin-AccessLog-" version ".tar.gz"))
1288 (sha256
1289 (base32
9fc41452 1290 "0811rj45q4v2y8wka3wb9d5m4vbyhcmkvddf2wz4x69awzjbhgc7"))))
0a74d78d
EB
1291 (build-system perl-build-system)
1292 (propagated-inputs
1293 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1294 ("perl-datetime" ,perl-datetime)
1295 ("perl-moose" ,perl-moose)
1296 ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
0a74d78d
EB
1297 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-AccessLog")
1298 (synopsis "Request logging from within Catalyst")
1299 (description "This Catalyst plugin enables you to create \"access logs\"
1300from within a Catalyst application instead of requiring a webserver to do it
1301for you. It will work even with Catalyst debug logging turned off.")
2f3108ad 1302 (license l:perl-license)))
0a74d78d 1303
4b4fe57d
EB
1304(define-public perl-catalyst-plugin-authentication
1305 (package
1306 (name "perl-catalyst-plugin-authentication")
1307 (version "0.10023")
1308 (source
1309 (origin
1310 (method url-fetch)
1311 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1312 "Catalyst-Plugin-Authentication-"
1313 version ".tar.gz"))
1314 (sha256
1315 (base32
1316 "0v6hb4r1wv3djrnqvnjcn3xx1scgqzx8nyjdg9lfc1ybvamrl0rn"))))
1317 (build-system perl-build-system)
1318 (propagated-inputs
1319 `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
1320 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1321 ("perl-class-inspector" ,perl-class-inspector)
1322 ("perl-moose" ,perl-moose)
1323 ("perl-moosex-emulate-class-accessor-fast"
1324 ,perl-moosex-emulate-class-accessor-fast)
1325 ("perl-mro-compat" ,perl-mro-compat)
1326 ("perl-namespace-autoclean" ,perl-namespace-autoclean)
1327 ("perl-string-rewriteprefix" ,perl-string-rewriteprefix)
1328 ("perl-test-exception" ,perl-test-exception)
1329 ("perl-try-tiny" ,perl-try-tiny)))
1330 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Authentication")
1331 (synopsis "Infrastructure plugin for the Catalyst authentication framework")
1332 (description "The authentication plugin provides generic user support for
e881752c 1333Catalyst apps. It is the basis for both authentication (checking the user is
4b4fe57d
EB
1334who they claim to be), and authorization (allowing the user to do what the
1335system authorises them to do).")
2f3108ad 1336 (license l:perl-license)))
4b4fe57d 1337
514214cb
EB
1338(define-public perl-catalyst-plugin-authorization-roles
1339 (package
1340 (name "perl-catalyst-plugin-authorization-roles")
1341 (version "0.09")
1342 (source
1343 (origin
1344 (method url-fetch)
1345 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1346 "Catalyst-Plugin-Authorization-Roles-"
1347 version ".tar.gz"))
1348 (sha256
1349 (base32
1350 "0l83lkwmq0lngwh8b1rv3r719pn8w1gdbyhjqm74rnd0wbjl8h7f"))))
1351 (build-system perl-build-system)
1352 (native-inputs
1353 `(("perl-test-exception" ,perl-test-exception)))
1354 (propagated-inputs
1355 `(("perl-catalyst-plugin-authentication"
1356 ,perl-catalyst-plugin-authentication)
1357 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1358 ("perl-set-object" ,perl-set-object)
1359 ("perl-universal-isa" ,perl-universal-isa)))
1360 (home-page
1361 "http://search.cpan.org/dist/Catalyst-Plugin-Authorization-Roles")
1362 (synopsis "Role-based authorization for Catalyst")
1363 (description "Catalyst::Plugin::Authorization::Roles provides role-based
1364authorization for Catalyst based on Catalyst::Plugin::Authentication.")
2f3108ad 1365 (license l:perl-license)))
514214cb 1366
57c2680e
EB
1367(define-public perl-catalyst-plugin-captcha
1368 (package
1369 (name "perl-catalyst-plugin-captcha")
1370 (version "0.04")
1371 (source
1372 (origin
1373 (method url-fetch)
1374 (uri (string-append "mirror://cpan/authors/id/D/DI/DIEGOK/"
1375 "Catalyst-Plugin-Captcha-" version ".tar.gz"))
1376 (sha256
1377 (base32
1378 "0llyj3v5nx9cx46jdbbvxf1lc9s9cxq5ml22xmx3wkb201r5qgaa"))))
1379 (build-system perl-build-system)
1380 (propagated-inputs
1381 `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
1382 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1383 ("perl-gd-securityimage" ,perl-gd-securityimage)
1384 ("perl-http-date" ,perl-http-date)))
1385 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Captcha")
1386 (synopsis "Captchas for Catalyst")
1387 (description "This plugin creates and validates Captcha images for
1388Catalyst.")
2f3108ad 1389 (license l:perl-license)))
57c2680e 1390
7c4eaa56
EB
1391(define-public perl-catalyst-plugin-configloader
1392 (package
1393 (name "perl-catalyst-plugin-configloader")
1394 (version "0.34")
1395 (source
1396 (origin
1397 (method url-fetch)
1398 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1399 "Catalyst-Plugin-ConfigLoader-"
1400 version ".tar.gz"))
1401 (sha256
1402 (base32
1403 "19j7p4v7mbx6wrmpvmrnd974apx7hdl2s095ga3b9zcbdrl77h5q"))))
1404 (build-system perl-build-system)
1405 (native-inputs
1406 `(("perl-path-class" ,perl-path-class)))
1407 (propagated-inputs
1408 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1409 ("perl-config-any" ,perl-config-any)
1410 ("perl-data-visitor" ,perl-data-visitor)
1411 ("perl-mro-compat" ,perl-mro-compat)))
1412 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-ConfigLoader")
1413 (synopsis "Load config files of various types")
1414 (description "This module will attempt to load find and load configuration
1415files of various types. Currently it supports YAML, JSON, XML, INI and Perl
1416formats.")
2f3108ad 1417 (license l:perl-license)))
7c4eaa56 1418
3d4644e4
EB
1419(define-public perl-catalyst-plugin-session
1420 (package
1421 (name "perl-catalyst-plugin-session")
e8b20020 1422 (version "0.40")
3d4644e4
EB
1423 (source
1424 (origin
1425 (method url-fetch)
1426 (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
1427 "Catalyst-Plugin-Session-" version ".tar.gz"))
1428 (sha256
1429 (base32
e8b20020 1430 "171vi9xcl775scjaw4fcfdmqvz0rb1nr0xxg2gb3ng6bjzpslhgv"))))
3d4644e4
EB
1431 (build-system perl-build-system)
1432 (native-inputs
1433 `(("perl-test-deep" ,perl-test-deep)
1434 ("perl-test-exception" ,perl-test-exception)))
1435 (propagated-inputs
1436 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1437 ("perl-moose" ,perl-moose)
1438 ("perl-moosex-emulate-class-accessor-fast"
1439 ,perl-moosex-emulate-class-accessor-fast)
e8b20020 1440 ("perl-mro-compat" ,perl-mro-compat)
3d4644e4
EB
1441 ("perl-namespace-clean" ,perl-namespace-clean)
1442 ("perl-object-signature" ,perl-object-signature)
1443 ("perl-test-www-mechanize-psgi" ,perl-test-www-mechanize-psgi)))
1444 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Session")
1445 (synopsis "Catalyst generic session plugin")
1446 (description "This plugin links the two pieces required for session
1447management in web applications together: the state, and the store.")
2f3108ad 1448 (license l:perl-license)))
3d4644e4 1449
be734479
EB
1450(define-public perl-catalyst-plugin-session-state-cookie
1451 (package
1452 (name "perl-catalyst-plugin-session-state-cookie")
1453 (version "0.17")
1454 (source
1455 (origin
1456 (method url-fetch)
1457 (uri (string-append "mirror://cpan/authors/id/M/MS/MSTROUT/"
1458 "Catalyst-Plugin-Session-State-Cookie-"
1459 version ".tar.gz"))
1460 (sha256
1461 (base32
1462 "1rvxbfnpf9x2pc2zgpazlcgdlr2dijmxgmcs0m5nazs0w6xikssb"))))
1463 (build-system perl-build-system)
1464 (propagated-inputs
1465 `(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
1466 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1467 ("perl-moose" ,perl-moose)
1468 ("perl-mro-compat" ,perl-mro-compat)
1469 ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
1470 (home-page
1471 "http://search.cpan.org/dist/Catalyst-Plugin-Session-State-Cookie")
1472 (synopsis "Maintain session IDs using cookies")
1473 (description "In order for Catalyst::Plugin::Session to work, the session
1474ID needs to be stored on the client, and the session data needs to be stored
1475on the server. This plugin stores the session ID on the client using the
1476cookie mechanism.")
2f3108ad 1477 (license l:perl-license)))
be734479 1478
47533b6f
EB
1479(define-public perl-catalyst-plugin-session-store-fastmmap
1480 (package
1481 (name "perl-catalyst-plugin-session-store-fastmmap")
1482 (version "0.16")
1483 (source
1484 (origin
1485 (method url-fetch)
1486 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1487 "Catalyst-Plugin-Session-Store-FastMmap-"
1488 version ".tar.gz"))
1489 (sha256
1490 (base32
1491 "0x3j6zv3wr41jlwr6yb2jpmcx019ibyn11y8653ffnwhpzbpzsxs"))))
1492 (build-system perl-build-system)
1493 (propagated-inputs
1494 `(("perl-cache-fastmmap" ,perl-cache-fastmmap)
1495 ("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
1496 ("perl-catalyst-runtime" ,perl-catalyst-runtime)
1497 ("perl-moosex-emulate-class-accessor-fast"
1498 ,perl-moosex-emulate-class-accessor-fast)
1499 ("perl-mro-compat" ,perl-mro-compat)
1500 ("perl-path-class" ,perl-path-class)))
1501 (home-page
1502 "http://search.cpan.org/dist/Catalyst-Plugin-Session-Store-FastMmap")
e881752c 1503 (synopsis "FastMmap session storage backend")
47533b6f
EB
1504 (description "Catalyst::Plugin::Session::Store::FastMmap is a fast session
1505storage plugin for Catalyst that uses an mmap'ed file to act as a shared
1506memory interprocess cache. It is based on Cache::FastMmap.")
2f3108ad 1507 (license l:perl-license)))
47533b6f 1508
996f4110
EB
1509(define-public perl-catalyst-plugin-stacktrace
1510 (package
1511 (name "perl-catalyst-plugin-stacktrace")
1512 (version "0.12")
1513 (source
1514 (origin
1515 (method url-fetch)
1516 (uri (string-append "mirror://cpan/authors/id/B/BO/BOBTFISH/"
1517 "Catalyst-Plugin-StackTrace-" version ".tar.gz"))
1518 (sha256
1519 (base32
1520 "1b2ksz74cpigxqzf63rddar3vfmnbpwpdcbs11v0ml89pb8ar79j"))))
1521 (build-system perl-build-system)
1522 (propagated-inputs
1523 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1524 ("perl-devel-stacktrace" ,perl-devel-stacktrace)
1525 ("perl-mro-compat" ,perl-mro-compat)))
1526 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-StackTrace")
1527 (synopsis "Stack trace on the Catalyst debug screen")
1528 (description "This plugin enhances the standard Catalyst debug screen by
69b4ffcf 1529including a stack trace of your application up to the point where the error
996f4110
EB
1530occurred. Each stack frame is displayed along with the package name, line
1531number, file name, and code context surrounding the line number.")
2f3108ad 1532 (license l:perl-license)))
996f4110 1533
4cb5426c
EB
1534(define-public perl-catalyst-plugin-static-simple
1535 (package
1536 (name "perl-catalyst-plugin-static-simple")
1537 (version "0.33")
1538 (source
1539 (origin
1540 (method url-fetch)
1541 (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
1542 "Catalyst-Plugin-Static-Simple-" version ".tar.gz"))
1543 (sha256
1544 (base32
1545 "1h8f12bhzh0ssq9gs8r9g3hqn8zn2k0q944vc1vm8j81bns16msy"))))
1546 (build-system perl-build-system)
1547 (propagated-inputs
1548 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1549 ("perl-mime-types" ,perl-mime-types)
1550 ("perl-moose" ,perl-moose)
1551 ("perl-moosex-types" ,perl-moosex-types)
1552 ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
1553 (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Static-Simple")
1554 (synopsis "Simple serving of static pages")
1555 (description "The Static::Simple plugin is designed to make serving static
1556content in your application during development quick and easy, without
1557requiring a single line of code from you. This plugin detects static files by
1558looking at the file extension in the URL (such as .css or .png or .js). The
1559plugin uses the lightweight MIME::Types module to map file extensions to
1560IANA-registered MIME types, and will serve your static files with the correct
1561MIME type directly to the browser, without being processed through Catalyst.")
2f3108ad 1562 (license l:perl-license)))
4cb5426c 1563
91f06299
EB
1564(define-public perl-catalyst-runtime
1565 (package
1566 (name "perl-catalyst-runtime")
a21db79e 1567 (version "5.90115")
91f06299
EB
1568 (source
1569 (origin
1570 (method url-fetch)
1571 (uri (string-append "mirror://cpan/authors/id/J/JJ/JJNAPIORK/"
1572 "Catalyst-Runtime-" version ".tar.gz"))
1573 (sha256
1574 (base32
a21db79e 1575 "0kh3ng6pjpxmndq9vrn515f70x7h44ish5bsgjwj4pjvchcyivzm"))))
91f06299
EB
1576 (build-system perl-build-system)
1577 (native-inputs
a21db79e
MB
1578 `(("perl-module-install" ,perl-module-install)
1579 ("perl-test-fatal" ,perl-test-fatal)))
91f06299
EB
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)
a2190ccc 1594 ("perl-module-pluggable" ,perl-module-pluggable)
91f06299
EB
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.
1625It is designed to make it easy to manage the various tasks you need to do to
1626run 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.")
2f3108ad 1628 (license l:perl-license)))
91f06299 1629
b902eb1c
EB
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
1656flexibility in your application's deployment configurations when deployed
1657behind a proxy. Using this module, the request base ($c->req->base) is
1658replaced with the contents of the X-Request-Base header.")
2f3108ad 1659 (license l:perl-license)))
b902eb1c 1660
83261658
EB
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
1683downloading data into many supportable formats. For example, downloading a
e881752c 1684table based report in a variety of formats (CSV, HTML, etc.).")
2f3108ad 1685 (license l:perl-license)))
83261658 1686
c985cfe6
EB
1687(define-public perl-catalyst-view-json
1688 (package
1689 (name "perl-catalyst-view-json")
0018eb57 1690 (version "0.36")
c985cfe6
EB
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
0018eb57 1698 "0x943j1n2r0zqanyzdrs1xsnn8ayn2wqskn7h144xcqa6v6gcisl"))))
c985cfe6
EB
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
1709stash data in JSON format.")
2f3108ad 1710 (license l:perl-license)))
c985cfe6 1711
5c2c9ab2
EB
1712(define-public perl-catalyst-view-tt
1713 (package
1714 (name "perl-catalyst-view-tt")
776ca1cb 1715 (version "0.44")
5c2c9ab2
EB
1716 (source
1717 (origin
1718 (method url-fetch)
94692757 1719 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
5c2c9ab2
EB
1720 "Catalyst-View-TT-" version ".tar.gz"))
1721 (sha256
1722 (base32
776ca1cb 1723 "06d1zg4nbb6kcyjbnyxrkf8z4zlscxr8650d94f7187jygfl8rvh"))))
5c2c9ab2
EB
1724 (build-system perl-build-system)
1725 (propagated-inputs
1726 `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
1727 ("perl-class-accessor" ,perl-class-accessor)
776ca1cb 1728 ("perl-data-dump" ,perl-data-dump)
5c2c9ab2
EB
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
1736Toolkit.")
2f3108ad 1737 (license l:perl-license)))
5c2c9ab2 1738
89a2aa36
EB
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
1766Catalyst component base class that reads the optional \"traits\" parameter
1767from app and component config and instantiates the component subclass with
1768those traits using \"new_with_traits\" in MooseX::Traits from
1769MooseX::Traits::Pluggable.")
2f3108ad 1770 (license l:perl-license)))
89a2aa36 1771
227687ae
EB
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
1792application classes.")
2f3108ad 1793 (license l:perl-license)))
227687ae 1794
ca8e6196
EB
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
1819development server with Starman.")
2f3108ad 1820 (license l:perl-license)))
ca8e6196 1821
7b158c4e
EB
1822(define-public perl-cgi
1823 (package
1824 (name "perl-cgi")
caa01944 1825 (version "4.35")
7b158c4e
EB
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
caa01944 1833 "07gwnlc7vq58fjwmfsrv0hfyirqqdrpjhf89caq34rjrkz2wsd0b"))))
7b158c4e
EB
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
1844processing and preparing HTTP requests and responses. Major features include
1845processing form submissions, file uploads, reading and writing cookies, query
1846string generation and manipulation, and processing and preparing HTTP
1847headers.")
2f3108ad 1848 (license l:perl-license)))
7b158c4e 1849
0148aa55
EB
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
bb8afbf5
LC
1864 `(("perl-module-build" ,perl-module-build)
1865 ("perl-io-stringy" ,perl-io-stringy))) ;for IO::Scalar
0148aa55
EB
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
1869replacement for CGI.pm. It shares an identical OO interface to CGI.pm for
1870parameter parsing, file upload, cookie handling and header generation.")
2f3108ad 1871 (license l:perl-license)))
0148aa55 1872
76b8b86c
EB
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
1891inputs, in a manner reminiscent of how PHP does.")
1892 (license l:bsd-2)))
1893
9151712c
EB
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)
a2190ccc
EB
1907 (native-inputs
1908 `(("perl-module-build" ,perl-module-build)))
9151712c
EB
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
1915formats used by the HTTP protocol.")
2f3108ad 1916 (license l:perl-license)))
9151712c 1917
0a24e9b8
EB
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
1936for files and urls.")
2f3108ad 1937 (license l:perl-license)))
0a24e9b8 1938
8142aff3
EB
1939(define-public perl-encode-locale
1940 (package
1941 (name "perl-encode-locale")
85b9c18b 1942 (version "1.05")
c9ea41ff
AE
1943 (source (origin
1944 (method url-fetch)
1945 (uri (string-append
8142aff3 1946 "mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-"
c9ea41ff
AE
1947 version ".tar.gz"))
1948 (sha256
1949 (base32
85b9c18b 1950 "1h8fvcdg3n20c2yp7107yhdkkx78534s9hnvn7ps8hpmf4ks0vqp"))))
c9ea41ff 1951 (build-system perl-build-system)
2f3108ad 1952 (license l:perl-license)
8142aff3 1953 (synopsis "Perl locale encoding determination")
c9ea41ff 1954 (description
8142aff3 1955 "The POSIX locale system is used to specify both the language
7c125ce0
AK
1956conventions requested by the user and the preferred character set to
1957consume and output. The Encode::Locale module looks up the charset and
1958encoding (called a CODESET in the locale jargon) and arranges for the
1959Encode module to know this encoding under the name \"locale\". It means
1960bytes obtained from the environment can be converted to Unicode strings
1961by calling Encode::encode(locale => $bytes) and converted back again
1962with Encode::decode(locale => $string).")
8142aff3
EB
1963 (home-page "http://search.cpan.org/~gaas/Encode-Locale/")))
1964
46173a0d 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/
70629b6d
LF
1979 `(#:tests? #f
1980 #:phases
1981 (modify-phases %standard-phases
1982 (add-after 'unpack 'set-env
1983 (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1"))))))
46173a0d 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
1992syndication feeds, given a URI. It will discover the following feed formats:
1993RSS 0.91, RSS 1.0, RSS 2.0, Atom.")
2f3108ad 1994 (license l:perl-license)))
46173a0d 1995
8142aff3
EB
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)))
2f3108ad 2011 (license l:perl-license)
8142aff3
EB
2012 (synopsis "Perl directory listing parser")
2013 (description
2014 "The File::Listing module exports a single function called parse_dir(),
2015which can be used to parse directory listings.")
2016 (home-page "http://search.cpan.org/~gaas/File-Listing/")))
c9ea41ff 2017
8b459932
EB
2018(define-public perl-finance-quote
2019 (package
2020 (name "perl-finance-quote")
97c0cfdc 2021 (version "1.38")
8b459932
EB
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
97c0cfdc 2029 "0zhqb27y4vdxn476s2kwm9zl2f970yjcyyybnjm9b406krr2fm59"))
fc1adab1
AK
2030 (patches (search-patches
2031 "perl-finance-quote-unuse-mozilla-ca.patch"))))
8b459932
EB
2032 (build-system perl-build-system)
2033 (propagated-inputs
a2190ccc
EB
2034 `(("perl-cgi" ,perl-cgi)
2035 ("perl-datetime" ,perl-datetime)
8b459932
EB
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
2049Yahoo! Finance, Fidelity Investments, and the Australian Stock Exchange.")
2050 (license l:gpl2)))
2051
9fe938c1
EB
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
2072described in RFC 2744.")
2f3108ad 2073 (license l:perl-license)))
9fe938c1 2074
c1b9e7e7
EB
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
2094composed of HTML::Element style components.")
2f3108ad 2095 (license l:perl-license)))
c1b9e7e7 2096
bab57fcd
EB
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.")
2f3108ad 2120 (license l:perl-license)))
bab57fcd 2121
0cd2ab30
EB
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
2142syntactic legitmacy.")
2143 (license l:artistic2.0)))
2144
9cf6c9fc
EB
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
2165in tables within an HTML document, either as text or encoded element trees.")
2f3108ad 2166 (license l:perl-license)))
9cf6c9fc 2167
ddc36cd8
EB
2168(define-public perl-html-tree
2169 (package
2170 (name "perl-html-tree")
86d1e079 2171 (version "5.06")
ddc36cd8
EB
2172 (source
2173 (origin
2174 (method url-fetch)
86d1e079 2175 (uri (string-append "mirror://cpan/authors/id/K/KE/KENTNL/"
ddc36cd8
EB
2176 "HTML-Tree-" version ".tar.gz"))
2177 (sha256
2178 (base32
86d1e079 2179 "0vjk4xrybjqs511qrh9cymhpbg9m3jjqr52qr035k6nzrccyndlw"))))
ddc36cd8
EB
2180 (build-system perl-build-system)
2181 (native-inputs
a2190ccc
EB
2182 `(("perl-module-build" ,perl-module-build)
2183 ("perl-test-fatal" ,perl-test-fatal)))
ddc36cd8
EB
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
2191representing, creating, and extracting information from HTML syntax trees.")
2f3108ad 2192 (license l:perl-license)))
ddc36cd8 2193
8ec0d3fb
AE
2194(define-public perl-html-parser
2195 (package
2196 (name "perl-html-parser")
3700b27d 2197 (version "3.72")
8ec0d3fb
AE
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
3700b27d 2205 "12v05ywlnsi9lc17z32k9jxx3sj1viy7y1wpl7n4az76v7hwfa7c"))))
8ec0d3fb
AE
2206 (build-system perl-build-system)
2207 (inputs
3700b27d
EF
2208 `(("perl-html-tagset" ,perl-html-tagset)
2209 ("perl-http-message" ,perl-http-message)))
2f3108ad 2210 (license l:perl-license)
8ec0d3fb
AE
2211 (synopsis "Perl HTML parser class")
2212 (description
2213 "Objects of the HTML::Parser class will recognize markup and separate
2214it from plain text (alias data content) in HTML documents. As different
2215kinds of markup and text are recognized, the corresponding event handlers
2216are invoked.")
2217 (home-page "http://search.cpan.org/~gaas/HTML-Parser/")))
ae2aa18d 2218
8142aff3 2219(define-public perl-html-tagset
ae2aa18d 2220 (package
8142aff3
EB
2221 (name "perl-html-tagset")
2222 (version "3.20")
ae2aa18d
AE
2223 (source (origin
2224 (method url-fetch)
2225 (uri (string-append
8142aff3 2226 "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-"
ae2aa18d
AE
2227 version ".tar.gz"))
2228 (sha256
2229 (base32
8142aff3 2230 "1qh8249wgr4v9vgghq77zh1d2zs176bir223a8gh3k9nksn7vcdd"))))
ae2aa18d 2231 (build-system perl-build-system)
2f3108ad 2232 (license l:perl-license)
8142aff3 2233 (synopsis "Perl data tables useful in parsing HTML")
ae2aa18d 2234 (description
8142aff3
EB
2235 "The HTML::Tagset module contains several data tables useful in various
2236kinds of HTML parsing operations.")
2237 (home-page "http://search.cpan.org/dist/HTML-Tagset/")))
fea5ebb1 2238
a05996e0
RW
2239(define-public perl-html-template
2240 (package
2241 (name "perl-html-template")
0762a1db 2242 (version "2.97")
a05996e0
RW
2243 (source (origin
2244 (method url-fetch)
0762a1db 2245 (uri (string-append "mirror://cpan/authors/id/S/SA/SAMTREGAR/"
a05996e0
RW
2246 "HTML-Template-" version ".tar.gz"))
2247 (sha256
2248 (base32
0762a1db 2249 "17qjw8swj2q4b1ic285pndgrkmvpsqw0j68nhqzpk1daydhsyiv5"))))
a05996e0 2250 (build-system perl-build-system)
a2190ccc
EB
2251 (propagated-inputs
2252 `(("perl-cgi" ,perl-cgi)))
a05996e0
RW
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.
2257It 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
2260these new tags is called a template. Using this module you fill in the values
2261for the variables, loops and branches declared in the template. This allows
2262you to separate design from the data.")
2f3108ad 2263 (license l:perl-license)))
a05996e0 2264
5ec8ec83
EB
2265(define-public perl-http-body
2266 (package
2267 (name "perl-http-body")
1bb8ca40 2268 (version "1.22")
5ec8ec83
EB
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
1bb8ca40 2276 "15vj488i62mdp4ps9k77h39prj70i7anb6b0j8nm7l9vbdc2q3gw"))))
5ec8ec83
EB
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
2286application/octet-stream, application/json, application/x-www-form-urlencoded,
2287and multipart/form-data.")
2f3108ad 2288 (license l:perl-license)))
5ec8ec83 2289
c8a316a3
EB
2290(define-public perl-http-cookiejar
2291 (package
2292 (name "perl-http-cookiejar")
1ade054c 2293 (version "0.008")
c8a316a3
EB
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
1ade054c 2301 "0rfw6avcralggs7bf7n86flvhaahxjnqzvpwszp0sk4z4wwy01wm"))))
c8a316a3
EB
2302 (build-system perl-build-system)
2303 (native-inputs
2304 `(("perl-test-deep" ,perl-test-deep)
2305 ("perl-test-requires" ,perl-test-requires)
1ade054c
EF
2306 ("perl-time-mock" ,perl-time-mock)
2307 ("perl-uri" ,perl-uri)))
c8a316a3
EB
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
2314jar in conformance with RFC 6265 <http://tools.ietf.org/html/rfc6265>.")
2315 (license l:asl2.0)))
2316
8142aff3 2317(define-public perl-http-cookies
fea5ebb1 2318 (package
8142aff3
EB
2319 (name "perl-http-cookies")
2320 (version "6.01")
fea5ebb1
AE
2321 (source (origin
2322 (method url-fetch)
2323 (uri (string-append
8142aff3 2324 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Cookies-"
fea5ebb1
AE
2325 version ".tar.gz"))
2326 (sha256
2327 (base32
8142aff3 2328 "087bqmg22dg3vj7gssh3pcsh9y1scimkbl5h1kc8jqyfhgisvlzm"))))
fea5ebb1 2329 (build-system perl-build-system)
8142aff3
EB
2330 (propagated-inputs
2331 `(("perl-http-message" ,perl-http-message)))
2f3108ad 2332 (license l:perl-license)
8142aff3 2333 (synopsis "Perl HTTP cookie jars")
fea5ebb1 2334 (description
8142aff3
EB
2335 "The HTTP::Cookies class is for objects that represent a cookie jar,
2336that is, a database of all the HTTP cookies that a given LWP::UserAgent
2337object knows about.")
2338 (home-page "http://search.cpan.org/~gaas/HTTP-Cookies/")))
24b3c053 2339
8142aff3 2340(define-public perl-http-daemon
24b3c053 2341 (package
8142aff3
EB
2342 (name "perl-http-daemon")
2343 (version "6.01")
24b3c053
AE
2344 (source (origin
2345 (method url-fetch)
2346 (uri (string-append
8142aff3 2347 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Daemon-"
24b3c053
AE
2348 version ".tar.gz"))
2349 (sha256
2350 (base32
8142aff3 2351 "1hmd2isrkilf0q0nkxms1q64kikjmcw9imbvrjgky6kh89vqdza3"))))
24b3c053 2352 (build-system perl-build-system)
8142aff3
EB
2353 (propagated-inputs
2354 `(("perl-http-message" ,perl-http-message)
2355 ("perl-lwp-mediatypes" ,perl-lwp-mediatypes)))
2f3108ad 2356 (license l:perl-license)
8142aff3 2357 (synopsis "Perl simple http server class")
24b3c053 2358 (description
8142aff3
EB
2359 "Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen
2360on a socket for incoming requests. The HTTP::Daemon is a subclass of
2361IO::Socket::INET, so you can perform socket operations directly on it too.")
2362 (home-page "http://search.cpan.org/~gaas/HTTP-Daemon/")))
e426106b 2363
8142aff3 2364(define-public perl-http-date
e426106b 2365 (package
8142aff3
EB
2366 (name "perl-http-date")
2367 (version "6.02")
e426106b
AE
2368 (source (origin
2369 (method url-fetch)
2370 (uri (string-append
8142aff3 2371 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-"
e426106b
AE
2372 version ".tar.gz"))
2373 (sha256
2374 (base32
8142aff3 2375 "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8"))))
e426106b 2376 (build-system perl-build-system)
2f3108ad 2377 (license l:perl-license)
8142aff3 2378 (synopsis "Perl date conversion routines")
e426106b 2379 (description
8142aff3
EB
2380 "The HTTP::Date module provides functions that deal with date formats
2381used by the HTTP protocol (and then some more).")
2382 (home-page "http://search.cpan.org/~gaas/HTTP-Date/")))
91318a9e
AE
2383
2384(define-public perl-http-message
2385 (package
2386 (name "perl-http-message")
a8a7227b 2387 (version "6.11")
91318a9e
AE
2388 (source (origin
2389 (method url-fetch)
2390 (uri (string-append
084f8e04 2391 "mirror://cpan/authors/id/E/ET/ETHER/HTTP-Message-"
91318a9e
AE
2392 version ".tar.gz"))
2393 (sha256
2394 (base32
a8a7227b 2395 "06yq6cjx4vzl4if4ykap77xsrrd8aa7ish90k7cqi8g6g83nicz7"))))
91318a9e 2396 (build-system perl-build-system)
daee66fc 2397 (propagated-inputs
a8a7227b
EF
2398 `(("perl-encode-locale" ,perl-encode-locale)
2399 ("perl-http-date" ,perl-http-date)
d8450272
EB
2400 ("perl-io-html" ,perl-io-html)
2401 ("perl-lwp-mediatypes" ,perl-lwp-mediatypes)
f852114e 2402 ("perl-uri" ,perl-uri)))
2f3108ad 2403 (license l:perl-license)
91318a9e
AE
2404 (synopsis "Perl HTTP style message")
2405 (description
2406 "An HTTP::Message object contains some headers and a content body.")
084f8e04 2407 (home-page "http://search.cpan.org/~ether/HTTP-Message/")))
b3d18aff 2408
8142aff3 2409(define-public perl-http-negotiate
b3d18aff 2410 (package
8142aff3 2411 (name "perl-http-negotiate")
b3d18aff
AE
2412 (version "6.01")
2413 (source (origin
2414 (method url-fetch)
2415 (uri (string-append
8142aff3 2416 "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-"
b3d18aff
AE
2417 version ".tar.gz"))
2418 (sha256
2419 (base32
8142aff3 2420 "05p053vjs5g91v5cmjnny7a3xzddz5k7vnjw81wfh01ilqg9qwhw"))))
b3d18aff 2421 (build-system perl-build-system)
800de8da 2422 (propagated-inputs
f852114e 2423 `(("perl-http-message" ,perl-http-message)))
2f3108ad 2424 (license l:perl-license)
8142aff3 2425 (synopsis "Perl http content negotiation")
b3d18aff 2426 (description
8142aff3
EB
2427 "The HTTP::Negotiate module provides a complete implementation of the
2428HTTP content negotiation algorithm specified in
2429draft-ietf-http-v11-spec-00.ps chapter 12. Content negotiation allows for
2430the selection of a preferred content representation based upon attributes
2431of the negotiable variants and the value of the various Accept* header
2432fields in the request.")
2433 (home-page "http://search.cpan.org/~gaas/HTTP-Negotiate/")))
3f41e6b3 2434
d3182b42
EB
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
2454received and returns a 'hint' as to what is required, or returns the
2455HTTP::Request when a complete request has been read. HTTP/1.1 chunking is
2456supported.")
2f3108ad 2457 (license l:perl-license)))
d3182b42 2458
8ab39c2d
EB
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)
9dab5017
MB
2472 (native-inputs
2473 `(("perl-module-install" ,perl-module-install)))
8ab39c2d
EB
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
2477parser.")
2f3108ad 2478 (license l:perl-license)))
8ab39c2d 2479
724d2227
EB
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
2499environment from an HTTP::Request.")
2f3108ad 2500 (license l:perl-license)))
724d2227 2501
c94c7eef
EB
2502(define-public perl-http-server-simple
2503 (package
2504 (name "perl-http-server-simple")
5b3646f1 2505 (version "0.51")
c94c7eef
EB
2506 (source
2507 (origin
2508 (method url-fetch)
08af1a42 2509 (uri (string-append "mirror://cpan/authors/id/B/BP/BPS/"
c94c7eef
EB
2510 "HTTP-Server-Simple-" version ".tar.gz"))
2511 (sha256
2512 (base32
5b3646f1 2513 "1yvd2g57z2kq00q5i3zzfi15k98qgbif3vghjsda6v612agmrp5r"))))
c94c7eef 2514 (build-system perl-build-system)
a2190ccc
EB
2515 (propagated-inputs
2516 `(("perl-cgi" ,perl-cgi)))
c94c7eef
EB
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
23212bf9
LC
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)))))
c94c7eef
EB
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
2533no non-core module dependencies. It can be used for building a standalone
2534http-based UI to your existing tools.")
2f3108ad 2535 (license l:perl-license)))
c94c7eef 2536
c3c03beb
EB
2537(define-public perl-http-tiny
2538 (package
2539 (name "perl-http-tiny")
ee264bbf 2540 (version "0.070")
c3c03beb
EB
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
ee264bbf 2548 "0cvp5yqrni6qydpsa8fpkbm82zfwmy9js8jsvyj8gs3dx78qbwvl"))))
c3c03beb
EB
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)
ee264bbf 2554 ("perl-mozilla-ca" ,perl-mozilla-ca)
c3c03beb
EB
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
2559simple requests without the overhead of a large framework like LWP::UserAgent.
2560It supports proxies and redirection. It also correctly resumes after EINTR.")
2f3108ad 2561 (license l:perl-license)))
c3c03beb 2562
8142aff3 2563(define-public perl-io-html
3f41e6b3 2564 (package
8142aff3
EB
2565 (name "perl-io-html")
2566 (version "1.00")
3f41e6b3
AE
2567 (source (origin
2568 (method url-fetch)
2569 (uri (string-append
8142aff3 2570 "mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-"
3f41e6b3
AE
2571 version ".tar.gz"))
2572 (sha256
2573 (base32
8142aff3 2574 "06nj3a0xgp5jxwxx6ayglfk2v7npf5a7gwkqsjlkapjkybarzqh4"))))
3f41e6b3 2575 (build-system perl-build-system)
2f3108ad 2576 (license l:perl-license)
8142aff3 2577 (synopsis "Perl module to open an HTML file with automatic charset detection")
3f41e6b3 2578 (description
8142aff3
EB
2579 "IO::HTML provides an easy way to open a file containing HTML while
2580automatically determining its encoding. It uses the HTML5 encoding sniffing
2581algorithm specified in section 8.2.2.1 of the draft standard.")
2582 (home-page "http://search.cpan.org/~cjm/IO-HTML/")))
e7444ee2 2583
2b63ebc1
EB
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)
a2190ccc 2597 (native-inputs `(("perl-module-build" ,perl-module-build)))
2b63ebc1
EB
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
2601and IPv6 sockets, intended as a replacement for IO::Socket::INET.")
2f3108ad 2602 (license l:perl-license)))
2b63ebc1 2603
8142aff3 2604(define-public perl-io-socket-ssl
e7444ee2 2605 (package
8142aff3 2606 (name "perl-io-socket-ssl")
c5776c87 2607 (version "2.038")
8142aff3
EB
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
c5776c87 2614 "11fiifxyvn7njc9p52wgygyw24jz7rh7gnz2ikjphr4l4x9f03rx"))
fc1adab1
AK
2615 (patches (search-patches
2616 "perl-io-socket-ssl-openssl-1.0.2f-fix.patch"))))
8142aff3 2617 (build-system perl-build-system)
578aeea6 2618 (propagated-inputs
2619 `(("perl-net-ssleay" ,perl-net-ssleay)
2620 ;; for IDN support
2621 ("perl-uri" ,perl-uri)))
8142aff3
EB
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
2625necessary functionality into the familiar IO::Socket interface and providing
2626secure defaults whenever possible. This way existing applications can be made
2627SSL-aware without much effort, at least if you do blocking I/O and don't use
2628select or poll.")
2f3108ad 2629 (license l:perl-license)
8142aff3
EB
2630 (home-page "https://github.com/noxxi/p5-io-socket-ssl")))
2631
2632(define-public perl-libwww
2633 (package
2634 (name "perl-libwww")
fb332b15 2635 (version "6.15")
e7444ee2
AE
2636 (source (origin
2637 (method url-fetch)
2638 (uri (string-append
bec820d9 2639 "mirror://cpan/authors/id/E/ET/ETHER/libwww-perl-"
e7444ee2
AE
2640 version ".tar.gz"))
2641 (sha256
2642 (base32
fb332b15 2643 "08l3mpgcvm4ipn1zggymqgk402apf35xyds43i8c07hvq92rsd3g"))))
e7444ee2 2644 (build-system perl-build-system)
d0bb5f77 2645 (propagated-inputs
8142aff3
EB
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)
fb332b15
EF
2651 ("perl-http-date" ,perl-http-date)
2652 ("perl-http-message" ,perl-http-message)
8142aff3
EB
2653 ("perl-http-negotiate" ,perl-http-negotiate)
2654 ("perl-net-http" ,perl-net-http)
fb332b15 2655 ("perl-uri" ,perl-uri)
8142aff3 2656 ("perl-www-robotrules" ,perl-www-robotrules)))
2f3108ad 2657 (license l:perl-license)
8142aff3 2658 (synopsis "Perl modules for the WWW")
e7444ee2 2659 (description
8142aff3
EB
2660 "The libwww-perl collection is a set of Perl modules which provides a
2661simple and consistent application programming interface to the
2662World-Wide Web. The main focus of the library is to provide classes
2663and functions that allow you to write WWW clients. The library also
2664contains modules that are of more general use and even classes that
2665help you implement simple HTTP servers.")
bec820d9 2666 (home-page "http://search.cpan.org/dist/libwww-perl/")))
a3eb919f 2667
8142aff3 2668(define-public perl-lwp-mediatypes
a3eb919f 2669 (package
8142aff3 2670 (name "perl-lwp-mediatypes")
a3eb919f
AE
2671 (version "6.02")
2672 (source (origin
2673 (method url-fetch)
2674 (uri (string-append
8142aff3 2675 "mirror://cpan/authors/id/G/GA/GAAS/LWP-MediaTypes-"
a3eb919f
AE
2676 version ".tar.gz"))
2677 (sha256
2678 (base32
8142aff3 2679 "0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q"))))
a3eb919f 2680 (build-system perl-build-system)
2f3108ad 2681 (license l:perl-license)
8142aff3 2682 (synopsis "Perl module to guess the media type for a file or a URL")
a3eb919f 2683 (description
8142aff3
EB
2684 "The LWP::MediaTypes module provides functions for handling media (also
2685known as MIME) types and encodings. The mapping from file extensions to
2686media types is defined by the media.types file. If the ~/.media.types file
2687exists it is used instead.")
2688 (home-page "http://search.cpan.org/~gaas/LWP-MediaTypes/")))
677078b4 2689
bdcfd18e
EB
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
2712https schemed URLs with LWP.")
2f3108ad 2713 (license l:perl-license)))
bdcfd18e 2714
6a58b092
EB
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,
2733except that when you use it to get a web page but run into a
2734possibly-temporary error (like a DNS lookup timeout), it'll wait a few seconds
2735and retry a few times.")
2f3108ad 2736 (license l:perl-license)))
6a58b092 2737
38e62c81
EB
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"))
fc1adab1
AK
2750 (patches (search-patches
2751 "perl-net-amazon-s3-moose-warning.patch"))))
38e62c81
EB
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.")
2f3108ad 2779 (license l:perl-license)))
38e62c81 2780
677078b4
AE
2781(define-public perl-net-http
2782 (package
2783 (name "perl-net-http")
0eb3b5bd 2784 (version "6.07")
677078b4
AE
2785 (source (origin
2786 (method url-fetch)
2787 (uri (string-append
0eb3b5bd 2788 "mirror://cpan/authors/id/M/MS/MSCHILLI/Net-HTTP-"
677078b4
AE
2789 version ".tar.gz"))
2790 (sha256
2791 (base32
0eb3b5bd 2792 "0r034hhci0yqbrkrh1gv6vi5g3i0kpd1k84z62nk02asb8rf0ccz"))))
677078b4 2793 (build-system perl-build-system)
0eb3b5bd
EB
2794 (propagated-inputs
2795 `(("perl-io-socket-ssl" ,perl-io-socket-ssl)
2796 ("perl-uri" ,perl-uri)))
2f3108ad 2797 (license l:perl-license)
677078b4
AE
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
2801Net::HTTP class represents a connection to an HTTP server. The HTTP protocol
2802is described in RFC 2616. The Net::HTTP class supports HTTP/1.0 and
2803HTTP/1.1.")
0eb3b5bd 2804 (home-page "http://search.cpan.org/dist/Net-HTTP")))
56aa03b0 2805
be22d5fc
EB
2806(define-public perl-net-server
2807 (package
2808 (name "perl-net-server")
7eb09e39 2809 (version "2.009")
be22d5fc
EB
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
7eb09e39 2817 "0gw1k9gcw7habbkxvsfa2gz34brlbwcidk6khgsf1qjm0dbccrw2"))))
be22d5fc
EB
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.
2822It attempts to be a generic server as in Net::Daemon and NetServer::Generic.
2823It includes with it the ability to run as an inetd
2824process (Net::Server::INET), a single connection server (Net::Server or
2825Net::Server::Single), a forking server (Net::Server::Fork), a preforking
2826server which maintains a constant number of preforked
2827children (Net::Server::PreForkSimple), or as a managed preforking server which
2828maintains the number of children based on server load (Net::Server::PreFork).
2829In all but the inetd type, the server provides the ability to connect to one
2830or to multiple server ports.")
2f3108ad 2831 (license l:perl-license)))
be22d5fc 2832
b1096f3d
EB
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)
21085261 2840 (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
b1096f3d
EB
2841 "Net-SMTP-SSL-" version ".tar.gz"))
2842 (sha256
21085261
EF
2843 (base32
2844 "05y94mb1vdw32mvwb0cp2h4ggh32f8j8nwwfjb8kjwxvfkfhyp9h"))))
b1096f3d
EB
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")
e881752c 2850 (description "SSL support for Net::SMTP.")
2f3108ad 2851 (license l:perl-license)))
b1096f3d 2852
5933549d
EB
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
2886contains middleware components, a reference server, and utilities for Web
2887application frameworks. Plack is like Ruby's Rack or Python's Paste for
2888WSGI.")
2f3108ad 2889 (license l:perl-license)))
5933549d 2890
acd1f73a
EB
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
2913already set.")
2f3108ad 2914 (license l:perl-license)))
acd1f73a 2915
03d874d0
EB
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)
a2190ccc
EB
2930 (native-inputs
2931 `(("perl-module-build" ,perl-module-build)))
03d874d0
EB
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
2937something else: by adding either a header named X-HTTP-Method-Override to the
2938request, or a query parameter named x-tunneled-method to the URI, the client
2939can say what method it actually meant.")
2f3108ad 2940 (license l:perl-license)))
03d874d0 2941
13e330be
EB
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
2962required.")
2f3108ad 2963 (license l:perl-license)))
13e330be 2964
ca157ba9
EB
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)
55cca6ac
MB
2979 (native-inputs
2980 `(("perl-module-install" ,perl-module-install)))
ca157ba9
EB
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,
2986which are changed by reverse-proxy. You can specify the reverse proxy address
2987and stop fake requests using 'enable_if' directive in your app.psgi.")
2f3108ad 2988 (license l:perl-license)))
ca157ba9 2989
64b16bf7
EB
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
3008against an external server instead of just against a local application through
3009either mocked HTTP or a locally spawned server.")
2f3108ad 3010 (license l:perl-license)))
64b16bf7 3011
bb8bfe5e
EB
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.")
2f3108ad 3031 (license l:perl-license)))
bb8bfe5e 3032
0d991d2c
EB
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
3060WWW::Mechanize that incorporates features for web application testing.")
3061 (license l:artistic2.0)))
3062
13b2552c
EB
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
3094Test::WWW:Mechanize module and the Catalyst web application framework to allow
3095testing of Catalyst applications without needing to start up a web server.")
2f3108ad 3096 (license l:perl-license)))
13b2552c 3097
715a0c51
EB
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
3119from web application framework code. Test::WWW::Mechanize is a subclass of
3120WWW::Mechanize that incorporates features for web application testing. The
3121Test::WWW::Mechanize::PSGI module meshes the two to allow easy testing of PSGI
3122applications.")
2f3108ad 3123 (license l:perl-license)))
715a0c51 3124
8142aff3 3125(define-public perl-uri
374a9a85 3126 (package
8142aff3 3127 (name "perl-uri")
01497dfe 3128 (version "1.71")
374a9a85
AE
3129 (source (origin
3130 (method url-fetch)
9acf97f2
EB
3131 (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
3132 "URI-" version ".tar.gz"))
374a9a85
AE
3133 (sha256
3134 (base32
01497dfe 3135 "05a1ck1bhvqkkk690xhsxf7276dnagk96qkh2jy4prrrgw6wm3lw"))))
374a9a85 3136 (build-system perl-build-system)
2f3108ad 3137 (license l:perl-license)
8142aff3 3138 (synopsis "Perl Uniform Resource Identifiers (absolute and relative)")
374a9a85 3139 (description
8142aff3
EB
3140 "The URI module implements the URI class. Objects of this class
3141represent \"Uniform Resource Identifier references\" as specified in RFC 2396
3142and updated by RFC 2732.")
9acf97f2 3143 (home-page "http://search.cpan.org/dist/URI/")))
d22d72fc 3144
b51b2bf3 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,
3166notably syndication feeds (RSS, Atom, and others), in an intelligent, bandwidth-
3167and time-saving way.")
2f3108ad 3168 (license l:perl-license)))
b51b2bf3 3169
5bb82fd0
EB
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)
a2190ccc
EB
3183 (native-inputs
3184 `(("perl-module-build" ,perl-module-build)))
5bb82fd0
EB
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
3190considers a URI) in plain text. It only finds URIs which include a
3191scheme (http:// or the like), for something a bit less strict, consider
3192URI::Find::Schemeless. For a command-line interface, urifind is provided.")
2f3108ad 3193 (license l:perl-license)))
5bb82fd0 3194
36a100a1
EB
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
3213methods for WebSocket URIs as it does for HTTP URIs.")
2f3108ad 3214 (license l:perl-license)))
36a100a1 3215
105d4ee2 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)
9dab5017 3233 ("perl-module-install" ,perl-module-install)
105d4ee2 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
3238RFC 6570.")
2f3108ad 3239 (license l:perl-license)))
105d4ee2 3240
d22d72fc
LC
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"))
a19da406 3250 (patches (search-patches "perl-www-curl-remove-symbol.patch"))
d22d72fc
LC
3251 (sha256
3252 (base32
3253 "1fmp9aib1kaps9vhs4dwxn7b15kgnlz9f714bxvqsd1j1q8spzsj"))))
3254 (build-system perl-build-system)
3255 (arguments
a56bf101
LC
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)))))
9dab5017
MB
3266 (native-inputs
3267 `(("perl-module-install" ,perl-module-install)))
d22d72fc
LC
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
3272library.")
2f3108ad 3273 (license l:perl-license)
d22d72fc 3274 (home-page "http://search.cpan.org/~szbalint/WWW-Curl-4.17/lib/WWW/Curl.pm")))
3484d052 3275
0b1ed725
EB
3276(define-public perl-www-mechanize
3277 (package
3278 (name "perl-www-mechanize")
68d5906c 3279 (version "1.86")
0b1ed725
EB
3280 (source
3281 (origin
3282 (method url-fetch)
128c9b92 3283 (uri (string-append "mirror://cpan/authors/id/O/OA/OALDERS/"
0b1ed725
EB
3284 "WWW-Mechanize-" version ".tar.gz"))
3285 (sha256
3286 (base32
68d5906c 3287 "0sfl6b7mx8nannnh3ys5jk44d1s1b2d1mffrnrphkzzykaw6hm0f"))))
0b1ed725 3288 (build-system perl-build-system)
a2190ccc 3289 (native-inputs ;only for tests
68d5906c
MB
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)))
0b1ed725
EB
3295 (propagated-inputs
3296 `(("perl-html-form" ,perl-html-form)
3297 ("perl-html-parser" ,perl-html-parser)
68d5906c 3298 ("perl-html-tree" ,perl-html-tree)
0b1ed725
EB
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
3307web browsing, used for automating interaction with websites.")
2f3108ad 3308 (license l:perl-license)))
0b1ed725 3309
823c8292 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,
3335http://opensearch.a9.com} compatible search engines.")
2f3108ad 3336 (license l:perl-license)))
823c8292 3337
8142aff3 3338(define-public perl-www-robotrules
3484d052 3339 (package
8142aff3
EB
3340 (name "perl-www-robotrules")
3341 (version "6.02")
3484d052 3342 (source (origin
8142aff3
EB
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"))))
3484d052 3350 (build-system perl-build-system)
8142aff3
EB
3351 (propagated-inputs
3352 `(("perl-uri" ,perl-uri)))
2f3108ad 3353 (license l:perl-license)
8142aff3 3354 (synopsis "Perl database of robots.txt-derived permissions")
5eb86b64 3355 (description
8142aff3
EB
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
3360their web site.")
3361 (home-page "http://search.cpan.org/~gaas/WWW-RobotRules/")))
a359c9c1 3362
da069d7e 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)
92c3ef2c
LF
3375 (arguments
3376 '(#:tests? #f))
da069d7e 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,
3382CDF, 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
5c31f4aa 3387 (package-with-python2 python-feedparser))
da069d7e 3388
a359c9c1
RW
3389(define-public r-httpuv
3390 (package
3391 (name "r-httpuv")
2d81bc16 3392 (version "1.3.5")
a359c9c1
RW
3393 (source (origin
3394 (method url-fetch)
3395 (uri (cran-uri "httpuv" version))
3396 (sha256
3397 (base32
2d81bc16 3398 "1sg4f223zfyd265b28rlhsn3b6mqflcpnmya98cjmjncmy9vjdj3"))))
a359c9c1
RW
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
3405handling HTTP and WebSocket requests directly from within R. It is primarily
3406intended as a building block for other packages, rather than making it
3407particularly 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+)))
21d3770e
RW
3412
3413(define-public r-jsonlite
3414 (package
3415 (name "r-jsonlite")
9fe794f0 3416 (version "1.5")
21d3770e
RW
3417 (source (origin
3418 (method url-fetch)
3419 (uri (cran-uri "jsonlite" version))
3420 (sha256
3421 (base32
9fe794f0 3422 "00lfg464jhf7k01bal9pcjvbdf5cxk6xi2h46hccp1x3h883g434"))))
21d3770e
RW
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
3428for statistical data and the web. It offers flexible, robust, high
3429performance tools for working with JSON in R and is particularly powerful for
3430building pipelines and interacting with a web API. In addition to converting
3431JSON data from/to R objects, jsonlite contains functions to stream, validate,
3432and prettify JSON data. The unit tests included with the package verify that
3433all edge cases are encoded and decoded consistently for use with dynamic data
3434in systems and applications.")
3435 (license l:expat)))
ea5616e0
RW
3436
3437(define-public r-servr
3438 (package
3439 (name "r-servr")
a1e54db2 3440 (version "0.6")
ea5616e0
RW
3441 (source (origin
3442 (method url-fetch)
3443 (uri (cran-uri "servr" version))
3444 (sha256
3445 (base32
a1e54db2 3446 "0sqz3wssxa19g9mpmf9s4gx2a5rvzl8nrd11qkgpz5v3iqsc6ysr"))))
ea5616e0
RW
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
3458documents that can be converted to HTML files (e.g., R Markdown) under a given
3459directory.")
3460 (license l:expat)))
f1a045e2
RW
3461
3462(define-public r-htmltools
3463 (package
3464 (name "r-htmltools")
85015105 3465 (version "0.3.6")
f1a045e2
RW
3466 (source (origin
3467 (method url-fetch)
3468 (uri (cran-uri "htmltools" version))
3469 (sha256
3470 (base32
85015105 3471 "18k8r1s8sz1jy7dkz35n69wj20xhmllr53xmwb4pdzf2z61gpbs4"))))
f1a045e2 3472 (build-system r-build-system)
3f1c722e
RW
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)))))
f1a045e2 3487 (propagated-inputs
e6f0ca2f
RW
3488 `(("r-digest" ,r-digest)
3489 ("r-rcpp" ,r-rcpp)))
f1a045e2
RW
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)))
b1006576
RW
3495
3496(define-public r-htmlwidgets
3497 (package
3498 (name "r-htmlwidgets")
53deffe5 3499 (version "0.9")
b1006576
RW
3500 (source (origin
3501 (method url-fetch)
3502 (uri (cran-uri "htmlwidgets" version))
3503 (sha256
3504 (base32
53deffe5 3505 "0plqkfqys1ca3ki7sb7yc6gwjpi7yy4g3mzh7hfy8s6qri0vam0i"))))
b1006576
RW
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
3515various contexts including the R console, R Markdown documents, and Shiny web
3516applications.")
3517 (license l:expat)))
5f4621de 3518
ac3265ab
RW
3519(define-public r-htmltable
3520 (package
3521 (name "r-htmltable")
e15f962f 3522 (version "1.9")
ac3265ab
RW
3523 (source
3524 (origin
3525 (method url-fetch)
3526 (uri (cran-uri "htmlTable" version))
3527 (sha256
3528 (base32
e15f962f 3529 "0ciic1f4iczq14j81fg7kxibn65sy8z1zxkvk1yxnxxg6dzplj2v"))))
ac3265ab
RW
3530 (properties `((upstream-name . "htmlTable")))
3531 (build-system r-build-system)
3532 (propagated-inputs
e15f962f
RW
3533 `(("r-checkmate" ,r-checkmate)
3534 ("r-htmlwidgets" ,r-htmlwidgets)
3535 ("r-knitr" ,r-knitr)
ac3265ab
RW
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
3542elements such as row spanners, column spanners, table spanners, zebra
3543striping, and more. While allowing advanced layout, the underlying
3544CSS-structure is simple in order to maximize compatibility with word
3545processors such as LibreOffice. The package also contains a few text
3546formatting functions that help outputting text compatible with HTML or
3547LaTeX.")
3548 (license l:gpl3+)))
3549
5f4621de
RW
3550(define-public r-curl
3551 (package
3552 (name "r-curl")
e584b9fc 3553 (version "2.8.1")
5f4621de
RW
3554 (source (origin
3555 (method url-fetch)
3556 (uri (cran-uri "curl" version))
3557 (sha256
3558 (base32
e584b9fc 3559 "0dgfl7wn4r8inv55xnk4ybf1y2x4qmi4cbr6phr3lfi1dnjm4hsm"))))
5f4621de 3560 (build-system r-build-system)
8f309571
RW
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)))))
5f4621de
RW
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
3581configurable drop-in replacements for base @code{url()} and
3582@code{download.file()} with better performance, support for encryption, gzip
3583compression, authentication, and other @code{libcurl} goodies. The core of
3584the package implements a framework for performing fully customized requests
3585where data can be processed either in memory, on disk, or streaming via the
3586callback or connection interfaces.")
3587 (license l:expat)))
e1c63590 3588
bbed0ab6
RW
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
3605objects in HTML format.")
3606 (license l:lgpl2.1+)))
3607
356c6d61
RW
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
3624and vice-versa.")
3625 (license l:gpl2+)))
3626
e1c63590
RW
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
3655a pure C99 library.")
3656 (license l:asl2.0)))
67c2fc01
SB
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]
3690yaml = libyaml
3691bin_name = ~a/uwsgi
3692plugin_dir = ~a
3693
3694inherit = base
3695plugins = cgi,python
3696embedded_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,
3728implementing message/object passing, caching, RPC and process management.
3729It uses the uwsgi protocol for all the networking/interprocess communications.")
3730 (license l:gpl2+))) ; with linking exception
ec672946
JL
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
f2b4c18c
JL
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"))))
ec672946
JL
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
3759filter and map and transform structured data with the same ease that sed, awk,
3760grep and friends let you play with text. It is written in portable C. jq can
3761mangle the data format that you have into the one that you want with very
3762little effort, and the program to do so is often shorter and simpler than
3763you'd expect.")
3764 (license (list l:expat l:cc-by3.0))))
7ffbbea0
RS
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
3800HTTPS. It provides a library, libuhttpmock, which implements recording and
3801playback of HTTP request/response traces.")
3802 (license l:lgpl2.1+)))
0ee23de9
CL
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
3836can easily be invoked on a single file. Your partner can access the file with
3837tools they trust (e.g. wget).")
3838 (license l:gpl2+)))
22df7001 3839
ef61177d
EB
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
3864libraries.")
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
3901C. It is developed as part of the NetSurf project.")
3902 (license l:expat)))
3903
43bfbf13
EB
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
3931parse both valid and invalid web content. It is developed as part of the
3932NetSurf project.")
3933 (license l:expat)))
3934
5a0096a3
EB
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
3957designed to store small strings and allow rapid comparison of them. It is
3958developed as part of the Netsurf project.")
3959 (license l:expat)))
3960
0527b43d
EB
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,
3986written in C. It is developed as part of the NetSurf project.")
3987 (license l:expat)))
3988
ccb88298
EB
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
4022developed as part of the NetSurf project.")
4023 (license l:expat)))
4024
6fae2256
EB
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)
b1554326 4041 ("gperf" ,gperf-3.0)))
6fae2256
EB
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
4051which can be rendered easily, as defined in
4052@url{http://www.w3.org/TR/SVGMobile/}. It is developed as part of the NetSurf
4053project.")
4054 (license l:expat)))
4055
4018a533
EB
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,
4076written in C. It is developed as part of the NetSurf project.")
4077 (license l:expat)))
4078
ea1c8b31
EB
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
4099C. It is developed as part of the NetSurf project.")
4100 (license l:expat)))
4101
54b7f149
EB
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
4122developed as part of the NetSurf project.")
4123 (license l:expat)))
4124
02a7a0ca
EB
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
4145Public Suffix List. It is developed as part of the NetSurf project.")
4146 (license l:expat)))
4147
1f6ec9d2
EB
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
4173w3c webidl files and a binding configuration file.")
4174 (license l:expat)))
4175
fbaf9376
LF
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
4286rendering engine entirely written from scratch. It is small and capable of
4287handling many of the web standards in use today.")
4288 (license l:gpl2+)))
4289
e56e5b12 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)
e81fd90e 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")))))))))
e56e5b12 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)
4320provides a unix command line interface to a variety of popular www search engines
4321and similar services.")
4322 (home-page "https://surfraw.alioth.debian.org/")
4323 (license l:public-domain)))
797a5cf5
AI
4324
4325(define-public darkhttpd
4326 (package
4327 (name "darkhttpd")
4328 (version "1.12")
4329 (source
4330 (origin
a7a4345d
AI
4331 (method url-fetch)
4332 (uri (string-append "https://unix4lyfe.org/darkhttpd/darkhttpd-"
4333 version ".tar.bz2"))
797a5cf5
AI
4334 (sha256
4335 (base32
a7a4345d 4336 "0185wlyx4iqiwfigp1zvql14zw7gxfacncii3d15yaxk4av1f155"))))
797a5cf5
AI
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
4352standalone and does not need inetd or ucspi-tcp. It does not need any
4353config files---you only have to specify the www root.")
4354 (home-page "https://unix4lyfe.org/darkhttpd/")
4355 (license l:isc)))
8cecd22e
LC
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
4384runs in a terminal or through your browser. It provides fast and valuable
4385HTTP statistics for system administrators that require a visual server report
4386on the fly.")
4387 (license l:x11)))
bb6e6415
TGR
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
4420tunnelled through HTTP (HyperText Transfer Protocol) requests. This can be
4421useful for users behind restrictive firewalls. As long as Web traffic is
4422allowed, even through a HTTP-only proxy, httptunnel can be combined with other
4423tools like SSH (Secure Shell) to reach the outside world.")
4424 (license l:gpl2+)))
864042c5
TD
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
4446functionality to existing clients and servers without any changes in the
4447programs' code. Its architecture is optimized for security, portability, and
4448scalability (including load-balancing), making it suitable for large
4449deployments.")
4450 (license l:gpl2+)))
59ae241f
TD
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},
4471listens for incoming requests over a network and launches the appropriate
4472service for that request. Requests are made using port numbers as identifiers
4473and xinetd usually launches another daemon to handle the request. It can be
4474used to start services with both privileged and non-privileged port numbers.")
4475 (license (l:fsf-free "file://COPYRIGHT"))))
1ad3c7f2 4476
4477(define-public tidy-html
4478 (package
4479 (name "tidy-html")
5f643dbe 4480 (version "5.4.0")
1ad3c7f2 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
5f643dbe 4489 "0yhbgbjl45b4sjxwc394cjra6iy02q1pi66p28zy70lr6jvm9mx2"))))
1ad3c7f2 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
4517HTML and XML documents by fixing markup errors and upgrading
4518legacy code to modern standards.
4519
4520Tidy also provides @code{libtidy}, a C static and dynamic library that
4521developers can integrate into their applications to make use of the
4522functions of Tidy.")
4523 (license l:bsd-3)))
0491a3b2 4524
3190c307 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
d4f6f78e 4574 "Hiawatha has been written with security in mind.
4575Features include the ability to stop SQL injections, XSS and CSRF attacks and
4576exploit attempts.")
3190c307 4577 (license l:gpl2)))
ce949c10
MFM
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
4601response. This exists to cover all kinds of HTTP scenarios. All endpoint responses are
4602JSON-encoded.")
4603 (license l:isc)))
4604
4605(define-public python2-httpbin
4606 (package-with-python2 python-httpbin))
86ab1120
MFM
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
4630into 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))
751f8582
RW
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
4662both requests and responses. The parser is designed to be used in
4663high-performance HTTP applications. It does not make any syscalls nor
4664allocations, it does not buffer data, it can be interrupted at anytime.
4665Depending on your architecture, it only requires about 40 bytes of data per
4666message stream (in a web server that is per connection).")
4667 (license l:expat)))
40b784b4
MFM
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,
4715inspired by Ruby's @code{fakeweb}.")
4716 (license l:expat)))
0ac04232
AI
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
4734arrays. It creates a JSON string on stdout from words provided as
4735command-line arguments or read from stdin.")
4736 (license (list l:gpl2+
4737 l:expat)))) ; json.c, json.h
95c36822
OP
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
c3b5b1bb
DM
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)))))))
95c36822
OP
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
4785internetarchive 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)))
a3cd23b6
RW
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
4892with R. Automatic \"reactive\" binding between inputs and outputs and
4893extensive prebuilt widgets make it possible to build beautiful,
4894responsive, and powerful applications with minimal effort.")
4895 (license l:artistic2.0)))
8d6c845d
RW
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
4920communicate with each other, with Shiny or without (i.e. static @code{.html}
4921files). It currently supports linked brushing and filtering.")
4922 (license l:expat)))
b723dedf
RW
4923
4924(define-public r-rook
4925 (package
4926 (name "r-rook")
4927 (version "1.1-1")
4928 (source
4929 (origin
4930 (method url-fetch)
4931 (uri (cran-uri "Rook" version))
4932 (sha256
4933 (base32
4934 "00s9a0kr9rwxvlq433daxjk4ji8m0w60hjdprf502msw9kxfrx00"))))
4935 (properties `((upstream-name . "Rook")))
4936 (build-system r-build-system)
4937 (propagated-inputs `(("r-brew" ,r-brew)))
4938 (home-page "http://cran.r-project.org/web/packages/Rook")
4939 (synopsis "Web server interface for R")
4940 (description
4941 "This package contains the Rook specification and convenience software
4942for building and running Rook applications. A Rook application is an R
4943reference class object that implements a @code{call} method or an R closure
4944that takes exactly one argument, an environment, and returns a list with three
4945named elements: the @code{status}, the @code{headers}, and the @code{body}.")
4946 (license l:gpl2)))
52d445f1
AI
4947
4948(define-public rss-bridge
4949 (package
4950 (name "rss-bridge")
4951 (version "2017-08-03")
4952 (source
4953 (origin
4954 (method url-fetch)
4955 (uri (string-append "https://github.com/RSS-Bridge/rss-bridge/archive/"
4956 version ".tar.gz"))
4957 (file-name (string-append name "-" version ".tar.gz"))
4958 (sha256
4959 (base32
4960 "05s16y552hbyj91s7bnlkx1bi64s6aw0fjy29az8via3i3b21yhl"))))
4961 (build-system trivial-build-system)
4962 (native-inputs
4963 `(("gzip" ,gzip)
4964 ("tar" ,tar)))
4965 (arguments
4966 '(#:modules ((guix build utils))
4967 #:builder
4968 (begin
4969 (use-modules (guix build utils)
4970 (ice-9 match))
4971 (let* ((out (assoc-ref %outputs "out"))
4972 (share-rss-bridge (string-append out "/share/rss-bridge")))
4973 (set-path-environment-variable
4974 "PATH" '("bin") (map (match-lambda ((_ . input) input))
4975 %build-inputs))
4976 (mkdir-p share-rss-bridge)
4977 (system* "tar" "xvf" (assoc-ref %build-inputs "source")
4978 "--strip-components" "1" "-C" share-rss-bridge)
4979 #t))))
4980 (home-page "https://github.com/RSS-Bridge/rss-bridge")
4981 (synopsis "Generate Atom feeds for social networking websites")
4982 (description "rss-bridge generates Atom feeds for social networking
4983websites lacking feeds. Supported websites include Facebook, Twitter,
4984Instagram and YouTube.")
4985 (license (list l:public-domain
4986 l:expat)))) ;; vendor/simplehtmldom/simple_html_dom.php