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