X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/82cc8253de717046eaf0938d4ccf08fafbb53404..61c868e1f5ae6857c40af5056bf9f639da1b1610:/gnu/packages/web.scm diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index eb3257362b..2b5085600b 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3,7 +3,8 @@ ;;; Copyright © 2013 Aljosha Papsch ;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016 Mark H Weaver -;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus +;;; Copyright © 2018 Raoul Jean Pierre Bonnal ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015, 2016, 2017 Eric Bavier ;;; Copyright © 2015 Eric Dvorsak @@ -13,9 +14,9 @@ ;;; Copyright © 2016 Rene Saavedra ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016 Clément Lassieur -;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2016, 2017 Nils Gillmann ;;; Copyright © 2016, 2017 Arun Isaac -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2016 Bake Timmons ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Marius Bakke @@ -23,6 +24,7 @@ ;;; Copyright © 2017 Petter ;;; Copyright © 2017 Pierre Langlois ;;; Copyright © 2017 Rutger Helling +;;; Copyright © 2018 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -58,6 +60,7 @@ #:use-module (guix build-system ant) #:use-module (guix build-system scons) #:use-module (gnu packages) + #:use-module (gnu packages adns) #:use-module (gnu packages apr) #:use-module (gnu packages check) #:use-module (gnu packages cran) @@ -81,10 +84,13 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages java) #:use-module (gnu packages javascript) + #:use-module (gnu packages jemalloc) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages libunistring) + #:use-module (gnu packages lisp) #:use-module (gnu packages lua) #:use-module (gnu packages markup) #:use-module (gnu packages ncurses) @@ -109,15 +115,14 @@ (define-public httpd (package (name "httpd") - (version "2.4.27") + (version "2.4.33") (source (origin (method url-fetch) (uri (string-append "mirror://apache/httpd/httpd-" version ".tar.bz2")) (sha256 (base32 - "0fn1778mxhf78np2d8qlycg1c2ak18rxax41plahasca4clc3z3i")) - (patches (search-patches "httpd-CVE-2017-9798.patch")))) + "01bghiq4pbgjbgd6gic0nb8bbk6mfpwx3gcsbf21f3dhb4c520ny")))) (build-system gnu-build-system) (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config' (inputs `(("apr" ,apr) @@ -145,22 +150,53 @@ and its related documentation.") (license l:asl2.0) (home-page "https://httpd.apache.org/"))) +(define-public mod-wsgi + (package + (name "mod-wsgi") + (version "4.5.22") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/GrahamDumpleton/mod_wsgi/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0n1yhmrfp8mjbsngmyjl937c6rc0069p6wdi1lknrbn1q42hzw6q")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;; TODO: Can't figure out if there are tests + #:make-flags (list + (string-append "DESTDIR=" + (assoc-ref %outputs "out")) + "LIBEXECDIR=/modules"))) + (inputs + `(("httpd" ,httpd) + ("python" ,python-wrapper))) + (synopsis "Apache HTTPD module for Python WSGI applications") + (description + "The mod_wsgi module for the Apache HTTPD Server adds support for running +applications that support the Python @acronym{WSGI, Web Server Gateway +Interface} specification.") + (license l:asl2.0) + (home-page "https://modwsgi.readthedocs.io/"))) + (define-public nginx (package (name "nginx") - ;; Consider updating the nginx-docs package if the nginx package is + ;; Consider updating the nginx-documentation package if the nginx package is ;; updated. - (version "1.12.2") + (version "1.14.0") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "05h4rwja7170z0l979yjghy9i9ichllwhicylzpmmyyml6fkfprh")))) + "1d9c0avfpbwvzyg53b59ks8shpnrxnbnshcd7ziizflsyv5vw5ax")))) (build-system gnu-build-system) - (inputs `(("pcre" ,pcre) - ("openssl" ,openssl) + (inputs `(("openssl" ,openssl) + ("pcre" ,pcre) ("zlib" ,zlib))) (arguments `(#:tests? #f ; no test target @@ -184,7 +220,7 @@ and its related documentation.") ;; --crossbuild option to avoid customizing for the ;; kernel version on the build machine. ,(let ((system "Linux") ; uname -s - (release "2.6.32") ; uname -r + (release "3.2.0") ; uname -r ;; uname -m (machine (match (or (%current-target-system) (%current-system)) @@ -201,7 +237,8 @@ and its related documentation.") (setenv "CC" "gcc") (format #t "environment variable `CC' set to `gcc'~%") (format #t "configure flags: ~s~%" flags) - (zero? (apply system* "./configure" flags))))) + (apply invoke "./configure" flags) + #t))) (add-after 'install 'install-man-page (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -222,12 +259,13 @@ and its related documentation.") (rename-file (string-append out "/conf") (string-append share "/conf")) (rename-file (string-append out "/html") - (string-append share "/html")))))))) + (string-append share "/html")) + #t)))))) (home-page "https://nginx.org") (synopsis "HTTP and reverse proxy server") (description "Nginx (\"engine X\") is a high-performance web and reverse proxy server -created by Igor Sysoev. It can be used both as a standalone web server +created by Igor Sysoev. It can be used both as a stand-alone web server and as a proxy to reduce the load on back-end HTTP or mail servers.") ;; Almost all of nginx is distributed under the bsd-2 license. ;; The exceptions are: @@ -279,13 +317,13 @@ documentation.") (license l:bsd-2)))) (define-public nginx-documentation - ;; This documentation should be relevant for nginx-1.12.0 - (let ((revision 1961) - (changeset "dd4b6c564e10")) + ;; This documentation should be relevant for nginx@1.13.11. + (let ((revision 2131) + (changeset "dbaf3950f8e9")) (package (name "nginx-documentation") (version - (simple-format #f "2017-04-12-~A-~A" revision changeset)) + (simple-format #f "2018-04-04-~A-~A" revision changeset)) (source (origin (method hg-fetch) (uri (hg-reference @@ -294,13 +332,13 @@ documentation.") (file-name (string-append name "-" version)) (sha256 (base32 - "0rycfnnm2xkm777769h1zib428q45j64mx8nzzfzs4v07jbfc8m5")))) + "0acdjsdaqixzh9g9s6db552v4pan4nqrllyqapay9ns9yzh1hrp7")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; No test suite + '(#:tests? #f ; no test suite #:phases (modify-phases %standard-phases - (delete 'configure) + (delete 'configure) ; no configure script (replace 'build (lambda* (#:key outputs #:allow-other-keys) (let ((output (assoc-ref outputs "out"))) @@ -314,7 +352,8 @@ documentation.") (("#banner \\{ background: black;") "#banner { background: black; display: none;")) - (zero? (system* "make"))))) + (invoke "make") + #t))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((output (assoc-ref outputs "out"))) @@ -326,7 +365,7 @@ documentation.") ("libxslt" ,libxslt) ("nginx-xslscript" ,nginx-xslscript))) (home-page "https://nginx.org") - (synopsis "Documentation for nginx web server") + (synopsis "Documentation for the nginx web server") (description "This package provides HTML documentation for the nginx web server.") (license l:bsd-2)))) @@ -465,7 +504,7 @@ libraries for working with JNLP applets.") (define-public jansson (package (name "jansson") - (version "2.9") + (version "2.10") (source (origin (method url-fetch) (uri @@ -473,7 +512,7 @@ libraries for working with JNLP applets.") version ".tar.gz")) (sha256 (base32 - "19fjgfwjfj99rqa3kf96x5rssj88siazggksgrikd6h4r9sd1l0a")))) + "0iv4rxsnamqm3ldpg7dyhjq0x9cp023nc7ac820jdd3pwb8ml8bq")))) (build-system gnu-build-system) (home-page "http://www.digip.org/jansson/") (synopsis "JSON C library") @@ -485,7 +524,7 @@ data.") (define-public json-c (package (name "json-c") - (version "0.12.1") + (version "0.13") (source (origin (method url-fetch) (uri (string-append @@ -493,7 +532,7 @@ data.") version ".tar.gz")) (sha256 (base32 - "08qibrq29a5v7g23wi5icy6l4fbfw90h9ccps6vq0bcklx8n84ra")) + "0kf2594kxcfga6x0mvwzj2qg8pgxhjkibc16ghnw85mdx45ph5h3")) (modules '((guix build utils))) (snippet '(begin @@ -513,10 +552,36 @@ data.") (synopsis "JSON implementation in C") (description "JSON-C implements a reference counting object model that allows you to -easily construct JSON objects in C, output them as JSON formatted strings and -parse JSON formatted strings back into the C representation of JSON objects.") +easily construct JSON objects in C, output them as JSON-formatted strings and +parse JSON-formatted strings back into the C representation of JSON objects. +It aims to conform to RFC 7159.") (license l:x11))) +;; TODO: remove this old version when all dependents have been updated. +(define-public json-c-0.12 + (package + (inherit json-c) + (version "0.12.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://s3.amazonaws.com/json-c_releases/releases/json-c-" + version ".tar.gz")) + (sha256 + (base32 "08qibrq29a5v7g23wi5icy6l4fbfw90h9ccps6vq0bcklx8n84ra")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Somehow 'config.h.in' is older than + ;; 'aclocal.m4', which would trigger a rule to + ;; run 'autoheader'. + (set-file-time "config.h.in" + (stat "aclocal.m4")) + + ;; Don't try to build with -Werror. + (substitute* (find-files "." "Makefile\\.in") + (("-Werror") "")))))))) + (define-public qjson (package (name "qjson") @@ -735,7 +800,7 @@ for efficient socket-like bidirectional reliable communication channels.") (define-public libpsl (package (name "libpsl") - (version "0.19.1") + (version "0.20.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/rockdaboot/libpsl/" @@ -743,7 +808,7 @@ for efficient socket-like bidirectional reliable communication channels.") "/libpsl-" version ".tar.gz")) (sha256 (base32 - "0ydwi9m39qv6k7zagqx2kzxzf59ipxj9r0c71xmwngdx3fslclbk")))) + "17r18y25ka2ck2ykfidbg4a7jpyzmkqwrzplgqjp7mwd2l9rc6cm")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -781,6 +846,7 @@ UTS#46.") ":pserver:anonymous@tidy.cvs.sourceforge.net:/cvsroot/tidy") (module "tidy") (revision "2009-12-23"))) + (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "14dsnmirjcrvwsffqp3as70qr6bbfaig2fv3zvs5g7005jrsbvpb")) @@ -894,9 +960,9 @@ of people.") ; named 'stubout'". The tests can be run by replacing the check phase with ; the command "python setup.py nosetests --verbosity=3". (native-inputs `(; Required for tests: - ("python-mox3", python-mox3) - ("python-nose", python-nose))) - (propagated-inputs `(("python-numpy", python-numpy))) + ("python-mox3" ,python-mox3) + ("python-nose" ,python-nose))) + (propagated-inputs `(("python-numpy" ,python-numpy))) (home-page "https://github.com/novnc/websockify") (synopsis "WebSockets support for any application/server") (description "Websockify translates WebSockets traffic to normal socket @@ -923,7 +989,7 @@ directions.") #:tests? #f)) ; no test target (native-inputs `(("flex" ,flex))) (inputs `(("gnutls" ,gnutls) - ("libcrypt", libgcrypt))) + ("libcrypt" ,libgcrypt))) (home-page "https://www.gedanken.org.uk/software/wwwoffle/") (synopsis "Caching web proxy optimized for intermittent internet links") (description "WWWOFFLE is a proxy web server that is especially good for @@ -2787,7 +2853,7 @@ environment from an HTTP::Request.") (define-public perl-http-server-simple (package (name "perl-http-server-simple") - (version "0.51") + (version "0.52") (source (origin (method url-fetch) @@ -2795,7 +2861,7 @@ environment from an HTTP::Request.") "HTTP-Server-Simple-" version ".tar.gz")) (sha256 (base32 - "1yvd2g57z2kq00q5i3zzfi15k98qgbif3vghjsda6v612agmrp5r")))) + "0k6bg7k6mjixfzxdkkdrhqvaqmdhjszx0zsk8g0bimiby6j9z4yq")))) (build-system perl-build-system) (propagated-inputs `(("perl-cgi" ,perl-cgi))) @@ -2869,7 +2935,7 @@ algorithm specified in section 8.2.2.1 of the draft standard.") (define-public perl-io-socket-ip (package (name "perl-io-socket-ip") - (version "0.36") + (version "0.39") (source (origin (method url-fetch) @@ -2877,7 +2943,7 @@ algorithm specified in section 8.2.2.1 of the draft standard.") "IO-Socket-IP-" version ".tar.gz")) (sha256 (base32 - "0ky20hmln6waipzqikizyw04vpszf70fgpshz7ib8zv8480ri456")))) + "15kv5g1yb4a345sk3r5wfr99f868lhfqkddzsgpqddvccfkhv58i")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "http://search.cpan.org/dist/IO-Socket-IP") @@ -3147,7 +3213,7 @@ or to multiple server ports.") (define-public perl-net-smtp-ssl (package (name "perl-net-smtp-ssl") - (version "1.03") + (version "1.04") (source (origin (method url-fetch) @@ -3155,7 +3221,7 @@ or to multiple server ports.") "Net-SMTP-SSL-" version ".tar.gz")) (sha256 (base32 - "05y94mb1vdw32mvwb0cp2h4ggh32f8j8nwwfjb8kjwxvfkfhyp9h")))) + "001a6dcfahf7kkyirqkc8jd4fh4fkal7n7vm9c4dblqrvmdc8abv")))) (build-system perl-build-system) (propagated-inputs `(("perl-io-socket-ssl" ,perl-io-socket-ssl))) @@ -3442,15 +3508,18 @@ applications.") (define-public perl-uri (package (name "perl-uri") - (version "1.71") + (version "1.73") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "URI-" version ".tar.gz")) (sha256 (base32 - "05a1ck1bhvqkkk690xhsxf7276dnagk96qkh2jy4prrrgw6wm3lw")))) + "04z4xwiryrbxxi48bwbkgq9q9pwfgqry3wp0ramcrwv3dx5ap9yc")))) (build-system perl-build-system) + (native-inputs + ;; For tests. + `(("perl-test-needs" ,perl-test-needs))) (license l:perl-license) (synopsis "Perl Uniform Resource Identifiers (absolute and relative)") (description @@ -3593,7 +3662,7 @@ library.") (define-public perl-www-mechanize (package (name "perl-www-mechanize") - (version "1.86") + (version "1.88") (source (origin (method url-fetch) @@ -3601,7 +3670,7 @@ library.") "WWW-Mechanize-" version ".tar.gz")) (sha256 (base32 - "0sfl6b7mx8nannnh3ys5jk44d1s1b2d1mffrnrphkzzykaw6hm0f")))) + "0yd8a1zsfpbv5wr79x3iqmik9gvcd10iam9dfrdan4dri9vpxn9n")))) (build-system perl-build-system) (native-inputs ;only for tests `(("perl-cgi" ,perl-cgi) @@ -3716,13 +3785,13 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") (define-public r-httpuv (package (name "r-httpuv") - (version "1.3.5") + (version "1.3.6.2") (source (origin (method url-fetch) (uri (cran-uri "httpuv" version)) (sha256 (base32 - "1sg4f223zfyd265b28rlhsn3b6mqflcpnmya98cjmjncmy9vjdj3")))) + "0h3hkw575b211bxma23inbq1565wkhiapgasd539h219apqs534f")))) (build-system r-build-system) (native-inputs `(("r-rcpp" ,r-rcpp))) (home-page "https://github.com/rstudio/httpuv") @@ -3764,18 +3833,19 @@ in systems and applications.") (define-public r-servr (package (name "r-servr") - (version "0.8") + (version "0.9") (source (origin (method url-fetch) (uri (cran-uri "servr" version)) (sha256 (base32 - "05pz4ychqp4cqywcdavdi8jj3y09gmam097d2idjnlcg9x61h2s9")))) + "0bs0i5mjfzxfshqz8i30nhn7kvgwly4fqn5bfq6dqfdrn7biai2x")))) (build-system r-build-system) (propagated-inputs `(("r-httpuv" ,r-httpuv) ("r-jsonlite" ,r-jsonlite) - ("r-mime" ,r-mime))) + ("r-mime" ,r-mime) + ("r-xfun" ,r-xfun))) (native-inputs `(("r-rcpp" ,r-rcpp))) (home-page "https://github.com/yihui/servr") @@ -3814,7 +3884,7 @@ directory.") (propagated-inputs `(("r-digest" ,r-digest) ("r-rcpp" ,r-rcpp))) - (home-page "http://cran.r-project.org/web/packages/htmltools") + (home-page "https://cran.r-project.org/web/packages/htmltools") (synopsis "R tools for HTML") (description "This package provides tools for HTML generation and output in R.") @@ -3823,13 +3893,13 @@ directory.") (define-public r-htmlwidgets (package (name "r-htmlwidgets") - (version "0.9") + (version "1.2") (source (origin (method url-fetch) (uri (cran-uri "htmlwidgets" version)) (sha256 (base32 - "0plqkfqys1ca3ki7sb7yc6gwjpi7yy4g3mzh7hfy8s6qri0vam0i")))) + "04c4d0mfcy3dkdlbxnaccpdgxvyxfdwfmmh5djim6v9hyg0j2z8s")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) @@ -3846,21 +3916,23 @@ applications.") (define-public r-htmltable (package (name "r-htmltable") - (version "1.9") + (version "1.11.2") (source (origin (method url-fetch) (uri (cran-uri "htmlTable" version)) (sha256 (base32 - "0ciic1f4iczq14j81fg7kxibn65sy8z1zxkvk1yxnxxg6dzplj2v")))) + "1lbpi0kkk8b41w10scmlf27dg5azcv51a4q3p5bpqyphrnqp78k4")))) (properties `((upstream-name . "htmlTable"))) (build-system r-build-system) (propagated-inputs `(("r-checkmate" ,r-checkmate) + ("r-htmltools" ,r-htmltools) ("r-htmlwidgets" ,r-htmlwidgets) ("r-knitr" ,r-knitr) ("r-magrittr" ,r-magrittr) + ("r-rstudioapi" ,r-rstudioapi) ("r-stringr" ,r-stringr))) (home-page "http://gforge.se/packages/") (synopsis "Advanced tables for Markdown/HTML") @@ -3877,13 +3949,13 @@ LaTeX.") (define-public r-curl (package (name "r-curl") - (version "3.0") + (version "3.2") (source (origin (method url-fetch) (uri (cran-uri "curl" version)) (sha256 (base32 - "01m52jz2q38yc32xbnmpm48hck2xj9fyhxq262p04y67gjpf7y3v")))) + "15hmy71310hnf9yqvz0icx4cq939gv6iqaifzlfdh2ia8akawdhn")))) (build-system r-build-system) (arguments `(#:phases @@ -3925,7 +3997,7 @@ callback or connection interfaces.") (base32 "0arjsz854rfkfqhgvpqbm9lfni97dcjs66isdsfvwfd2wz932dbb")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/hwriter") + (home-page "https://cran.r-project.org/web/packages/hwriter") (synopsis "Output R objects in HTML format") (description "This package provides easy-to-use and versatile functions to output R @@ -3944,7 +4016,7 @@ objects in HTML format.") (base32 "1vzjyvf57k1fjizlk28rby65y5lsww5qnfvgnhln74qwda7hvl3p")))) (build-system r-build-system) - (home-page "http://cran.r-project.org/web/packages/rjson") + (home-page "https://cran.r-project.org/web/packages/rjson") (synopsis "JSON library for R") (description "This package provides functions to convert R objects into JSON objects @@ -3985,14 +4057,14 @@ a pure C99 library.") (define-public uwsgi (package (name "uwsgi") - (version "2.0.12") + (version "2.0.17") (source (origin (method url-fetch) - (uri (string-append "http://projects.unbit.it/downloads/uwsgi-" + (uri (string-append "https://projects.unbit.it/downloads/uwsgi-" version ".tar.gz")) (sha256 (base32 - "02g46dnw5j1iw8fsq392bxbk8d21b9pdgb3ypcinv3b4jzdm2srh")))) + "1wlbaairsmhp6bx5wv282q9pgh6w7w6yrb8vxjznfaxrinsfkhix")))) (build-system gnu-build-system) (outputs '("out" "python")) (arguments @@ -4093,7 +4165,7 @@ you'd expect.") (define-public uhttpmock (package (name "uhttpmock") - (version "0.5.0") + (version "0.5.1") (source (origin (method url-fetch) @@ -4101,7 +4173,7 @@ you'd expect.") name "-" version ".tar.xz")) (sha256 (base32 - "0vniyx341pnnmvxmqacc49k0g7h9a9nhknfslidrqmxj5lm1ini6")))) + "163py4klka423x7li2b685gmg3a6hjf074mlff2ajhmi3l0lm8x6")))) (build-system glib-or-gtk-build-system) (arguments `(#:phases @@ -4246,7 +4318,7 @@ C. It is developed as part of the NetSurf project.") `(("netsurf-buildsystem" ,netsurf-buildsystem) ("pkg-config" ,pkg-config) ("doxygen" ,doxygen) - ("json-c" ,json-c) + ("json-c" ,json-c-0.12) ; check whether json-c-0.12 can be removed ("perl" ,perl))) (propagated-inputs `(("libparserutils" ,libparserutils))) ;for libhubbub.pc @@ -4706,6 +4778,13 @@ handling many of the web standards in use today.") (arguments `(#:phases (modify-phases %standard-phases + (add-before 'configure 'patch-perl + (lambda* (#:key inputs #:allow-other-keys) + (let ((perl (assoc-ref inputs "perl"))) + (substitute* "surfraw.IN" + (("perl -e") + (string-append perl "/bin/perl -e"))) + #t))) (add-after 'install 'compress-elvi.1sr (lambda* (#:key outputs #:allow-other-keys) ;; The manpages of the elvis are symlinks to elvi.1sr.gz @@ -4830,7 +4909,7 @@ tools like SSH (Secure Shell) to reach the outside world.") (define-public stunnel (package (name "stunnel") - (version "5.39") + (version "5.44") (source (origin (method url-fetch) @@ -4838,7 +4917,7 @@ tools like SSH (Secure Shell) to reach the outside world.") version ".tar.gz")) (sha256 (base32 - "1vjdn32iw11zqsygwxbjmqgs4644dk3ql1h8ap890ls6a1x0i318")))) + "1692y69wl7j6yjgnrrzclgzb34bxsaxjzl1dfy47vms7pdfk42lr")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl))) (arguments @@ -4860,15 +4939,18 @@ deployments.") (source (origin (method url-fetch) - (uri "https://github.com/xinetd-org/xinetd/archive/xinetd-2-3-15.tar.gz") - (patches (search-patches "xinetd-CVE-2013-4342.patch" "xinetd-fix-fd-leak.patch")) + (uri + (string-append "https://github.com/xinetd-org/xinetd/archive/xinetd-" + (string-join (string-split version #\.) "-") ".tar.gz")) + (patches (search-patches "xinetd-CVE-2013-4342.patch" + "xinetd-fix-fd-leak.patch")) (sha256 (base32 "0k59x52cbzp5fw0n8zn0y54j1ps0x9b72y8k5grzswjdmgs2a2v2")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-loadavg") - #:tests? #f )) ; no tests + #:tests? #f)) ; no tests (home-page "https://github.com/xinetd-org/xinetd") (synopsis "Internet services daemon") (description "@code{xinetd}, a more secure replacement for @code{inetd}, @@ -4893,10 +4975,10 @@ used to start services with both privileged and non-privileged port numbers.") "0n29wcgw32rhnraj9j21ibhwi0xagmmcskhbaz8ihxly7nx3p9h8")))) (build-system cmake-build-system) (outputs '("out" - "static")) ; 1.0MiB of .a files + "static")) ; 1.0MiB of .a files (arguments - `(#:tests? #f ; No tests available - #:configure-flags (list "-DCMAKE_BUILD_TYPE=Release") + `(#:tests? #f ; no tests available + #:build-type "Release" #:phases (modify-phases %standard-phases (add-after 'install 'move-static-libraries @@ -4929,7 +5011,7 @@ functions of Tidy.") (define-public hiawatha (package (name "hiawatha") - (version "10.4") + (version "10.7") (source (origin (method url-fetch) @@ -4941,7 +5023,7 @@ functions of Tidy.") '(delete-file-recursively "mbedtls")) (sha256 (base32 - "0m2llzm72s29c32abnj03532m85fawvi8ybjpx6s3mgvx2yvq3p4")))) + "0x2zfc8kc6c7rl4gwymwmg13w1c60biv6c6c9fvzpnl59bc9jgin")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No tests included @@ -5041,7 +5123,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread (define-public http-parser (package (name "http-parser") - (version "2.7.1") + (version "2.8.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/nodejs/http-parser/" @@ -5049,7 +5131,7 @@ into your tests. It automatically starts up a HTTP server in a separate thread (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1cw6nf8xy4jhib1w0jd2y0gpqjbdasg8b7pkl2k2vpp54k9rlh3h")))) + "15ids8k2f0xhnnxh4m85w2f78pg5ndiwrpl24kyssznnp1l5yqai")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -5178,7 +5260,7 @@ command-line arguments or read from stdin.") ("python-schema" ,python-schema-0.5) ("python-backports-csv" ,python-backports-csv))) (native-inputs - `(("python-pytest-3.0" ,python-pytest-3.0) + `(("python-pytest" ,python-pytest) ("python-pytest-capturelog" ,python-pytest-capturelog) ("python-responses" ,python-responses))) (home-page "https://github.com/jjjake/internetarchive") @@ -5349,6 +5431,47 @@ extensive prebuilt widgets make it possible to build beautiful, responsive, and powerful applications with minimal effort.") (license l:artistic2.0))) +(define-public r-shinydashboard + (package + (name "r-shinydashboard") + (version "0.7.0") + (source (origin + (method url-fetch) + (uri (cran-uri "shinydashboard" version)) + (sha256 + (base32 + "10yqcqqcxgfqwkmscqwvvgr710im583qsqnsqkfpisjvkqp10yqb")))) + (build-system r-build-system) + ;; The directory inst/AdminLTE/ contains a minified JavaScript file. + ;; Regenerate it from the included sources. + (arguments + `(#:modules ((guix build utils) + (guix build r-build-system) + (ice-9 popen)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'generate-minified-javascript + (lambda _ + (with-directory-excursion "inst/AdminLTE" + (delete-file "app.min.js") + (let ((minified (open-pipe* OPEN_READ "uglify-js" "app.js"))) + (call-with-output-file "app.min.js" + (lambda (port) + (dump-port minified port)))))))))) + (propagated-inputs + `(("r-htmltools" ,r-htmltools) + ("r-shiny" ,r-shiny))) + (native-inputs + `(("uglify-js" ,uglify-js))) + (home-page "http://rstudio.github.io/shinydashboard/") + (synopsis "Create dashboards with shiny") + (description "This package provides an extension to the Shiny web +application framework for R, making it easy to create attractive dashboards.") + ;; This package includes software that was released under the Expat + ;; license, but the whole package is released under GPL version 2 or + ;; later. + (license l:gpl2+))) + (define-public r-crosstalk (package (name "r-crosstalk") @@ -5390,7 +5513,7 @@ files). It currently supports linked brushing and filtering.") (properties `((upstream-name . "Rook"))) (build-system r-build-system) (propagated-inputs `(("r-brew" ,r-brew))) - (home-page "http://cran.r-project.org/web/packages/Rook") + (home-page "https://cran.r-project.org/web/packages/Rook") (synopsis "Web server interface for R") (description "This package contains the Rook specification and convenience software @@ -5403,7 +5526,7 @@ named elements: the @code{status}, the @code{headers}, and the @code{body}.") (define-public rss-bridge (package (name "rss-bridge") - (version "2017-08-03") + (version "2018-03-11") (source (origin (method url-fetch) @@ -5412,7 +5535,7 @@ named elements: the @code{status}, the @code{headers}, and the @code{body}.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "05s16y552hbyj91s7bnlkx1bi64s6aw0fjy29az8via3i3b21yhl")))) + "1ix15ck45yb659k63mhwxwia6qnm9nn8jw0bga85abrvk1rchjdn")))) (build-system trivial-build-system) (native-inputs `(("gzip" ,gzip) @@ -5537,14 +5660,14 @@ encoder/decoder based on the draft-12 specification for UBJSON.") (define-public java-tomcat (package (name "java-tomcat") - (version "8.5.23") + (version "8.5.28") (source (origin (method url-fetch) (uri (string-append "mirror://apache/tomcat/tomcat-8/v" version "/src/apache-tomcat-" version "-src.tar.gz")) (sha256 (base32 - "1m6b1dikib46kbgz9gf0p6svi00nsw62b9kgjzn6sda151skbbza")))) + "0q2bc3sajrmcx3z3vhhwp78y47ryc2ky8ssbdmfk24zvqdb76hvl")))) (build-system ant-build-system) (inputs `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core))) @@ -6050,6 +6173,44 @@ container."))) ("server" ,java-eclipse-jetty-server-9.2) ,@(package-inputs java-eclipse-jetty-util-9.2))))) +(define-public java-jsoup + (package + (name "java-jsoup") + (version "1.10.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/jhy/jsoup/archive/jsoup-" + version ".tar.gz")) + (sha256 + (base32 + "0xbzw7rjv7s4nz1xk9b2cnin6zkpaldmc3svk71waa7hhjgp0a20")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jsoup.jar" + #:source-dir "src/main/java" + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (let ((classes-dir (string-append (getcwd) "/build/classes"))) + (with-directory-excursion "src/main/java" + (for-each (lambda (file) + (let ((dist (string-append classes-dir "/" file))) + (mkdir-p (dirname dist)) + (copy-file file dist))) + (find-files "." ".*.properties")))) + #t))))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("java-gson" ,java-gson))) + (home-page "https://jsoup.org") + (synopsis "HTML parser") + (description "Jsoup is a Java library for working with real-world HTML. It +provides a very convenient API for extracting and manipulating data, using the +best of DOM, CSS, and jQuery-like methods.") + (license l:expat))) + (define-public tidyp (package (name "tidyp") @@ -6113,3 +6274,162 @@ based on this library, allowing Perl programmers to easily validate HTML.") object. It's meant as a replacement for @code{HTML::Lint}, which is written in Perl but is not nearly as capable as @code{HTML::Tidy}.") (license l:artistic2.0))) + +(define-public geomyidae + (package + (name "geomyidae") + (version "0.31") + (source + (origin + (method url-fetch) + (uri (string-append "http://git.r-36.net/geomyidae/snapshot/" + "geomyidae-" version ".tar.bz2")) + (sha256 + (base32 + "1ih7220c6mgq4r7blm4kx3pxbl53sph58lqgwci6cmi3c0sq5c3x")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "CC=gcc" + (string-append "PREFIX=" + (assoc-ref %outputs "out"))) + #:tests? #f ;no tests + #:phases (modify-phases %standard-phases + (delete 'configure)))) + (home-page "http://git.r-36.net/geomyidae") + (synopsis "Small Gopher server") + (description + "Geomyidae is a server for distributed hypertext protocol Gopher. Its +features include: + +@enumerate +@item Gopher menus (see @file{index.gph} for an example); +@item directory listings (if no @file{index.gph} was found); +@item CGI support (@file{.cgi} files are executed); +@item search support in CGI files; +@item logging with multiple log levels. +@end enumerate\n") + (license l:expat))) + +(define-public cat-avatar-generator + (package + (name "cat-avatar-generator") + (version "1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/Deevad/cat-avatar-generator.git") + (commit "71c0c662742cafe8afd2d2d50ec84243113e35ad"))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "0s7b5whqsmfa57prbgl66ym551kg6ly0z14h5dgrlx4lqm70y2yw")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils) + (srfi srfi-1) + (srfi srfi-26)) + #:builder + (begin + (use-modules (guix build utils) + (srfi srfi-1) + (srfi srfi-26)) + (let ((source (assoc-ref %build-inputs "source")) + (php-dir (string-append %output "/share/web/" ,name "/"))) + ;; The cache directory must not be in the store, but in a writable + ;; location. The webserver will give us this location. + (copy-recursively source php-dir) + (substitute* (string-append php-dir "/cat-avatar-generator.php") + (("\\$cachepath = .*") + "if(isset($_SERVER['CACHE_DIR'])) +$cachepath = $_SERVER['CACHE_DIR']; +else +die('You need to set the CACHE_DIR variable first.');")))))) + (home-page "https://framagit.org/Deevad/cat-avatar-generator") + (synopsis "Random avatar generator") + (description "Cat avatar generator is a generator of cat pictures optimised +to generate random avatars, or defined avatar from a \"seed\". This is a +derivation by David Revoy from the original MonsterID by Andreas Gohr.") + ;; expat for the code, CC-BY 4.0 for the artwork + (license (list l:expat + l:cc-by4.0)))) + +(define-public nghttp2 + (package + (name "nghttp2") + (version "1.31.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/nghttp2/nghttp2/" + "releases/download/v" version "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "00z1687m4wi2gbgkijbv099l9hs1sjlyzbhh8jhn0xssx4xcifb5")))) + (build-system gnu-build-system) + (outputs (list "out" + "lib")) ; only libnghttp2 + (native-inputs + `(("pkg-config" ,pkg-config) + + ;; Required by tests. + ("cunit" ,cunit) + ("tzdata" ,tzdata-for-tests))) + (inputs + ;; Required to build the tools (i.e. without ‘--enable-lib-only’). + `(("c-ares" ,c-ares) + ("jansson" ,jansson) ; for HPACK tools + ("jemalloc" ,jemalloc) ; fight nghttpd{,x} heap fragmentation + ("libev" ,libev) + ("libxml2" ,libxml2) ; for ‘nghttp -a’ + ("openssl" ,openssl))) + (arguments + `(#:configure-flags + (list (string-append "--libdir=" (assoc-ref %outputs "lib") "/lib") + "--enable-app" ; build all the tools + "--enable-hpack-tools" ; ...all the tools + "--disable-examples" + "--disable-static") ; don't bother building .a files + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'break-circular-reference + ;; libnghttp2.pc by default retains a reference to the ‘out’ output, + ;; which is not allowed. Break this cycle. While we could install + ;; only the library to ‘out’ and move everything else to a separate + ;; output, this would inconvenience the majority of (human) users. + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "lib/libnghttp2.pc.in" + (("@prefix@") + (assoc-ref outputs "lib"))) + #t)) + (add-before 'check 'set-timezone-directory + (lambda* (#:key inputs #:allow-other-keys) + (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo")) + #t))))) + (home-page "https://nghttp2.org/") + (synopsis "HTTP/2 protocol client, proxy, server, and library") + (description + "nghttp2 implements the Hypertext Transfer Protocol, version +2 (@dfn{HTTP/2}). + +A reusable C library provides the HTTP/2 framing layer, with several tools built +on top of it: + +@itemize +@item @command{nghttp}, a command-line HTTP/2 client. It exposes many advanced +and low-level aspects of the protocol and is useful for debugging. +@item @command{nghttpd}, a fast, multi-threaded HTTP/2 static web server that +serves files from a local directory. +@item @command{nghttpx}, a fast, multi-threaded HTTP/2 reverse proxy that can be +deployed in front of existing web servers that don't support HTTP/2. +Both @command{nghttpd} and @command{nghttpx} can fall back to HTTP/1.1 for +backwards compatibilty with clients that don't speak HTTP/2. +@item @command{h2load} for benchmarking (only!) your own HTTP/2 servers. +@item HTTP/2 uses a header compression method called @dfn{HPACK}. +nghttp2 provides a HPACK encoder and decoder as part of its public API. +@item @command{deflatehd} converts JSON data or HTTP/1-style header fields to +compressed JSON header blocks. +@item @command{inflatehd} converts such compressed headers back to JSON pairs. +@end itemize\n") + (license l:expat)))