summary refs log tree commit diff
path: root/gnu/packages/web.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/web.scm')
-rw-r--r--gnu/packages/web.scm252
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)))