diff options
Diffstat (limited to 'gnu/packages/web.scm')
-rw-r--r-- | gnu/packages/web.scm | 252 |
1 files changed, 242 insertions, 10 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index e004062fba..923b39ee8f 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is> +;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -585,8 +586,8 @@ unavailable.") (native-inputs `(("texinfo" ,texinfo))) (build-system gnu-build-system) (arguments - `(#:phases - (alist-delete 'configure %standard-phases) + `(#:phases (modify-phases %standard-phases + (delete 'configure)) #:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "PREFIX=" out) (string-append "LOCAL_ROOT=" @@ -1789,6 +1790,33 @@ by calling Encode::encode(locale => $bytes) and converted back again with Encode::decode(locale => $string).") (home-page "http://search.cpan.org/~gaas/Encode-Locale/"))) +(define-public perl-feed-find + (package + (name "perl-feed-find") + (version "0.07") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BT/BTROTT/" + "Feed-Find-" version ".tar.gz")) + (sha256 + (base32 + "0sa33cm8ww55cymnl8j7b5yspi2y5xkkkgqqa4h6fs3wdqylz600")))) + (build-system perl-build-system) + (arguments + ;; Tests expect to query files at http://stupidfool.org/perl/feeds/ + `(#:tests? #f)) + (inputs + `(("perl-class-errorhandler" ,perl-class-errorhandler) + ("perl-html-parser" ,perl-html-parser) + ("perl-libwww" ,perl-libwww) + ("perl-uri" ,perl-uri))) + (home-page "http://search.cpan.org/dist/Feed-Find") + (synopsis "Syndication feed auto-discovery") + (description "@code{Feed::Find} implements feed auto-discovery for finding +syndication feeds, given a URI. It will discover the following feed formats: +RSS 0.91, RSS 1.0, RSS 2.0, Atom.") + (license (package-license perl)))) + (define-public perl-file-listing (package (name "perl-file-listing") @@ -2385,14 +2413,14 @@ and IPv6 sockets, intended as a replacement for IO::Socket::INET.") (define-public perl-io-socket-ssl (package (name "perl-io-socket-ssl") - (version "2.033") + (version "2.038") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SU/SULLR/" "IO-Socket-SSL-" version ".tar.gz")) (sha256 (base32 - "01qggwmc97kpzx49fp4fxysrjyq8mpnx54nrb087ridj0ch3cf46")) + "11fiifxyvn7njc9p52wgygyw24jz7rh7gnz2ikjphr4l4x9f03rx")) (patches (search-patches "perl-io-socket-ssl-openssl-1.0.2f-fix.patch")))) (build-system perl-build-system) @@ -2918,6 +2946,31 @@ represent \"Uniform Resource Identifier references\" as specified in RFC 2396 and updated by RFC 2732.") (home-page "http://search.cpan.org/dist/URI/"))) +(define-public perl-uri-fetch + (package + (name "perl-uri-fetch") + (version "0.13") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" + "URI-Fetch-" version ".tar.gz")) + (sha256 + (base32 + "0rw6xiqm70s218aii9id3hf8j3pz6n22xnwd8v9m1ff2bnh63c0d")))) + (build-system perl-build-system) + (arguments + `(#:tests? #f)) ; Tests require internet connection to succeed + (inputs + `(("perl-class-errorhandler" ,perl-class-errorhandler) + ("perl-libwww" ,perl-libwww) + ("perl-uri" ,perl-uri))) + (home-page "http://search.cpan.org/dist/URI-Fetch") + (synopsis "Smart URI fetching/caching") + (description "@code{URI::Fetch} is a smart client for fetching HTTP pages, +notably syndication feeds (RSS, Atom, and others), in an intelligent, bandwidth- +and time-saving way.") + (license (package-license perl)))) + (define-public perl-uri-find (package (name "perl-uri-find") @@ -2964,6 +3017,30 @@ URI::Find::Schemeless. For a command-line interface, urifind is provided.") methods for WebSocket URIs as it does for HTTP URIs.") (license (package-license perl)))) +(define-public perl-uri-template + (package + (name "perl-uri-template") + (version "0.22") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BR/BRICAS/URI-Template-" + version ".tar.gz")) + (sha256 + (base32 + "08kjjb4c0v9gqfrfnj1wkivylxl05finn11ra64dj136fhmnyrbg")))) + (build-system perl-build-system) + (inputs + `(("perl-uri" ,perl-uri))) + (native-inputs + `(("perl-test-pod-coverage" ,perl-test-pod-coverage) + ("perl-test-pod" ,perl-test-pod) + ("perl-json" ,perl-json))) + (home-page "http://search.cpan.org/dist/URI-Template") + (synopsis "Object for handling URI templates") + (description "This perl module provides a wrapper around URI templates as described in +RFC 6570.") + (license (package-license perl)))) + (define-public perl-www-curl (package (name "perl-www-curl") @@ -3016,6 +3093,34 @@ library.") web browsing, used for automating interaction with websites.") (license (package-license perl)))) +(define-public perl-www-opensearch + (package + (name "perl-www-opensearch") + (version "0.17") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BR/BRICAS/" + "WWW-OpenSearch-" version ".tar.gz")) + (sha256 + (base32 + "1yxplx1q1qk2fvnzqrbk01lz26fy1lyhay51a3ky7q3jgh9p01rb")))) + (build-system perl-build-system) + (arguments + `(#:tests? #f)) ; Tests require further modules to be packaged + (inputs + `(("perl-data-page" ,perl-data-page) + ("perl-libwww" ,perl-libwww) + ("perl-uri" ,perl-uri) + ("perl-uri-template" ,perl-uri-template) + ("perl-xml-feed" ,perl-xml-feed) + ("perl-xml-libxml" ,perl-xml-libxml))) + (home-page "http://search.cpan.org/dist/WWW-OpenSearch") + (synopsis "Search A9 OpenSearch compatible engines") + (description + "@code{WWW::OpenSearch} is a module to search @url{A9's OpenSearch, +http://opensearch.a9.com} compatible search engines.") + (license (package-license perl)))) + (define-public perl-www-robotrules (package (name "perl-www-robotrules") @@ -3068,13 +3173,13 @@ particularly easy to create complete web applications using httpuv alone.") (define-public r-jsonlite (package (name "r-jsonlite") - (version "0.9.20") + (version "1.0") (source (origin (method url-fetch) (uri (cran-uri "jsonlite" version)) (sha256 (base32 - "08b2gifd81yzj0h4k7pqp2cc2r5lwsg3sxnssi6c96rgqvl4702n")))) + "0bcnzzycvwwkm0lv0ka9xf55z5c1795b7c2vhmf53z73cxixsmnp")))) (build-system r-build-system) (home-page "http://arxiv.org/abs/1403.2805") (synopsis "Robust, high performance JSON parser and generator for R") @@ -3125,6 +3230,20 @@ directory.") (base32 "0j9bf80grd6gwh7116m575pycv87c0wcwkxsz3gzzfs4aw3pxyr9")))) (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; See https://github.com/rstudio/htmltools/pull/68 + ;; The resource files are in the store and have mode 444. After + ;; copying the files R fails to remove them again because it doesn't + ;; have write access to them. + (add-after 'unpack 'copy-files-without-mode + (lambda _ + (substitute* "R/html_dependency.R" + (("file.copy\\(from, to, " prefix) + (string-append prefix + "copy.mode = FALSE, "))) + #t))))) (propagated-inputs `(("r-digest" ,r-digest) ("r-rcpp" ,r-rcpp))) @@ -3137,13 +3256,13 @@ directory.") (define-public r-htmlwidgets (package (name "r-htmlwidgets") - (version "0.6") + (version "0.7") (source (origin (method url-fetch) (uri (cran-uri "htmlwidgets" version)) (sha256 (base32 - "1sljs7zajzj1lsrrvqv7anpma4plzs79mqwmw7b2c5d7mn9py8lw")))) + "1xh8aiaci5hi3r67ym7r37hm89m9vzywk292avnmaj125kq7w1d0")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) @@ -3160,14 +3279,28 @@ applications.") (define-public r-curl (package (name "r-curl") - (version "0.9.7") + (version "1.2") (source (origin (method url-fetch) (uri (cran-uri "curl" version)) (sha256 (base32 - "1p24bcaf1wbfdi1r9ibyyp0l0zp4kzs4g3srv8vikz93hycm1qa6")))) + "04fwasg400v8dvkcn1fcha1jzdz8lbyxi0679q7flsyrp57b3jrf")))) (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; The environment variable CURL_CA_BUNDLE is only respected when + ;; running Windows, so we disable the platform checks. + ;; This can be removed once the libcurl has been patched. + (add-after 'unpack 'allow-CURL_CA_BUNDLE + (lambda _ + (substitute* "R/onload.R" + (("if \\(!grepl\\(\"mingw\".*") + "if (FALSE)\n")) + (substitute* "src/handle.c" + (("#ifdef _WIN32") "#if 1")) + #t))))) (inputs `(("libcurl" ,curl))) (home-page "https://github.com/jeroenooms/curl") @@ -3182,6 +3315,44 @@ where data can be processed either in memory, on disk, or streaming via the callback or connection interfaces.") (license l:expat))) +(define-public r-hwriter + (package + (name "r-hwriter") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "hwriter" version)) + (sha256 + (base32 + "0arjsz854rfkfqhgvpqbm9lfni97dcjs66isdsfvwfd2wz932dbb")))) + (build-system r-build-system) + (home-page "http://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 +objects in HTML format.") + (license l:lgpl2.1+))) + +(define-public r-rjson + (package + (name "r-rjson") + (version "0.2.15") + (source + (origin + (method url-fetch) + (uri (cran-uri "rjson" version)) + (sha256 + (base32 + "1vzjyvf57k1fjizlk28rby65y5lsww5qnfvgnhln74qwda7hvl3p")))) + (build-system r-build-system) + (home-page "http://cran.r-project.org/web/packages/rjson") + (synopsis "JSON library for R") + (description + "This package provides functions to convert R objects into JSON objects +and vice-versa.") + (license l:gpl2+))) + (define-public gumbo-parser (package (name "gumbo-parser") @@ -3505,3 +3676,64 @@ tools they trust (e.g. wget).") rendering engine entirely written from scratch. It is small and capable of handling many of the web standards in use today.") (license l:gpl2+))) + +(define-public surfraw + (package + (name "surfraw") + (version "2.2.9") + (source (origin + (method url-fetch) + (uri (string-append "https://surfraw.alioth.debian.org/dist/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1fy4ph5h9kp0jzj1m6pfylxnnmgdk0mmdppw76z9jhna4jndk5xa")))) + (build-system gnu-build-system) + (inputs + `(("perl" ,perl) + ("perl-www-opensearch" ,perl-www-opensearch) + ("perl-html-parser" ,perl-html-parser) + ("perl-libwww" ,perl-libwww))) + (synopsis "Unix command line interface to the www") + (description "Surfraw (Shell Users' Revolutionary Front Rage Against the Web) +provides a unix command line interface to a variety of popular www search engines +and similar services.") + (home-page "https://surfraw.alioth.debian.org/") + (license l:public-domain))) + +(define-public darkhttpd + (package + (name "darkhttpd") + (version "1.12") + (source + (origin + ;; The darkhttpd release tarball URL fails to download with a + ;; 'TLS warning alert'. Download from the darkhttpd git repo + ;; until the problem has been fixed upstream. + (method git-fetch) + (uri (git-reference + (url (string-append "https://unix4lyfe.org/git/darkhttpd")) + (commit "41b68476c35270f47dcd2ddebe27cbcd87e43d41"))) + (sha256 + (base32 + "0wi8dfgj4ic0fsy4dszl69xgxdxlwxz4c30vsw2i2dpnczgjm04k")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags '("CC=gcc") + #:tests? #f ; No test suite + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "darkhttpd" + (string-append (assoc-ref outputs "out") + "/bin")) + #t))))) + (synopsis "Simple static web server") + (description "darkhttpd is a simple static web server. It is +standalone and does not need inetd or ucspi-tcp. It does not need any +config files---you only have to specify the www root.") + (home-page "https://unix4lyfe.org/darkhttpd/") + (license l:isc))) |