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