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