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