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