;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
-;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>
+;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages)
#:use-module (gnu packages apr)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cran)
#:use-module (gnu packages documentation)
#:use-module (gnu packages docbook)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnu-doc)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages gnuzilla)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
- #:use-module (gnu packages icu4c)
+ #:use-module (gnu packages java)
+ #:use-module (gnu packages javascript)
#:use-module (gnu packages image)
#:use-module (gnu packages libidn)
+ #:use-module (gnu packages libunistring)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages base)
#:use-module (gnu packages python)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages qt)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages xml)
#:use-module (gnu packages curl)
(define-public httpd
(package
(name "httpd")
- (version "2.4.25")
+ (version "2.4.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/httpd/httpd-"
version ".tar.bz2"))
(sha256
(base32
- "1cl0bkqg6srb1sypga0cn8dcmdyxldavij73zmmkxvlz3kgw4zpq"))))
+ "0fn1778mxhf78np2d8qlycg1c2ak18rxax41plahasca4clc3z3i"))))
(build-system gnu-build-system)
(native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config'
(inputs `(("apr" ,apr)
(define-public nginx
(package
(name "nginx")
- (version "1.11.11")
+ (version "1.12.1")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
- "0qkj4xqv2f986dwqwlkidmr6jpxhv3ds67pxd1pd4a4f4j0c8yjs"))))
+ "1yvnmj7vlykrqdi6amkvs63lva6qkxd98sqv0a8hz8w5ci1bz4w7"))))
(build-system gnu-build-system)
(inputs `(("pcre" ,pcre)
("openssl" ,openssl)
(description "Starman is a PSGI perl web server that has unique features
such as high performance, preforking, signal support, superdaemon awareness,
and UNIX socket support.")
- (license (package-license perl))))
+ (license l:perl-license)))
+
+(define-public icedtea-web
+ (package
+ (name "icedtea-web")
+ (version "1.6.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://icedtea.wildebeest.org/download/source/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "004kwrngyxxlrlzby4vzxjr0xcyngcdc9dfgnvi61ffnjr006ryf"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--disable-plugin" ;NPAPI plugins are obsolete nowadays.
+ (string-append "BIN_BASH=" (assoc-ref %build-inputs "bash")
+ "/bin/bash")
+ (string-append "--with-jdk-home=" (assoc-ref %build-inputs "jdk")))))
+ (outputs '("out" "doc"))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("zip" ,zip)))
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("jdk" ,icedtea "jdk")))
+ (home-page "http://icedtea.classpath.org/wiki/IcedTea-Web")
+ (synopsis "Java Web Start")
+ (description
+ "IcedTea-Web is an implementation of the @dfn{Java Network Launching
+Protocol}, also known as Java Web Start. This package provides tools and
+libraries for working with JNLP applets.")
+ ;; The program is mainly GPL2+, with some individual files under LGPL2.1+
+ ;; or dual licenses.
+ (license l:gpl2+)))
(define-public jansson
(package
(define-public rapidjson
(package
(name "rapidjson")
- (version "1.0.2")
+ (version "1.1.0")
(source (origin
(method url-fetch)
(uri (string-append
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0rl6s0vg5y1dhh9vfl1lqay3sxf69sxjh0czxrjmasn7ng91wwf3"))
- (modules '((guix build utils)))
- (snippet
- ;; Building with GCC 4.8 with -Werror was fine, but 4.9.3
- ;; complains in new ways, so turn of -Werror.
- '(substitute* (find-files "." "^CMakeLists\\.txt$")
- (("-Werror") "")))))
+ "13nrpvw8f1wx0ga7svbzld7pgrv8l172nangpipnj7jaf0lysz5z"))))
(build-system cmake-build-system)
(arguments
`(,@(if (string-prefix? "aarch64" (or (%current-target-system)
;; things from Git.
(method git-fetch)
(uri (git-reference
- (url "git://git.libwebsockets.org/libwebsockets")
+ (url "https://github.com/warmcat/libwebsockets.git")
(commit (string-append "v" version
"-chrome37-firefox30"))))
(sha256
(define-public libpsl
(package
(name "libpsl")
- (version "0.17.0")
+ (version "0.18.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rockdaboot/libpsl/"
"/libpsl-" version ".tar.gz"))
(sha256
(base32
- "0jyxwc6bcvkcahkwcq237a0x209cysb63n5lak5m7zbglbb2jmq2"))))
+ "00iids8ldsqnnndmcfjp6kc00lv7fawf5l24mpbdbkh98yazgc4i"))))
(build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(inputs
- `(("icu4c" ,icu4c)
+ `(("libidn2" ,libidn2)
+ ("libunistring" ,libunistring)
("python-2" ,python-2)))
(home-page "https://github.com/rockdaboot/libpsl")
(synopsis "C library for the Publix Suffix List")
changes, and much more.")
(license l:gpl2+)))
+(define-public liboauth
+ (package
+ (name "liboauth")
+ (version "1.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/liboauth/liboauth-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "07w1aq8y8wld43wmbk2q8134p3bfkp2vma78mmsfgw2jn1bh3xhd"))))
+ (build-system gnu-build-system)
+ (arguments '(#:configure-flags '("--enable-nss")))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("curl" ,curl)
+ ("nss" ,nss)))
+ (home-page "https://sourceforge.net/projects/liboauth")
+ (synopsis "C library implementing the OAuth API")
+ (description
+ "liboauth is a collection of C functions implementing the OAuth API.
+liboauth provides functions to escape and encode strings according to OAuth
+specifications and offers high-level functionality built on top to sign
+requests or verify signatures using either NSS or OpenSSL for calculating the
+hash/signatures.")
+ ;; Source code may be distributed under either license.
+ (license (list l:expat l:gpl2+))))
+
(define-public libyaml
(package
(name "libyaml")
(define-public serf
(package
(name "serf")
- (version "1.3.8")
+ (version "1.3.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://archive.apache.org/dist/serf/serf-"
version ".tar.bz2"))
(sha256
- (base32 "14155g48gamcv5s0828bzij6vr14nqmbndwq8j8f9g6vcph0nl70"))
- (patches (search-patches "serf-comment-style-fix.patch"
- "serf-deflate-buckets-test-fix.patch"))
- (patch-flags '("-p0"))))
+ (base32 "1k47gbgpp52049andr28y28nbwh9m36bbb0g8p0aka3pqlhjv72l"))))
(build-system gnu-build-system)
(native-inputs
`(("scons" ,scons)
;;("gss" ,gss)
("zlib" ,zlib)))
(arguments
- `(#:phases
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1))
+ #:phases
;; TODO: Add scons-build-system and use it here.
(modify-phases %standard-phases
(delete 'configure)
;;(string-append "GSSAPI=" gss)
(string-append "ZLIB=" zlib)
(string-append "PREFIX=" out))))))
+ (add-before 'check 'disable-broken-tests
+ (lambda _
+ ;; These tests rely on SSL certificates that expired 2017-04-18.
+ ;; While there are newer certs available upstream, we don't want
+ ;; this package to suddenly "expire" some time in the future.
+ ;; https://bugs.gnu.org/26671
+ (let ((broken-tests
+ '("test_ssl_trust_rootca"
+ "test_ssl_certificate_chain_with_anchor"
+ "test_ssl_certificate_chain_all_from_server"
+ "test_ssl_no_servercert_callback_allok"
+ "test_ssl_large_response"
+ "test_ssl_large_request"
+ "test_ssl_client_certificate"
+ "test_ssl_future_server_cert"
+ "test_setup_ssltunnel"
+ "test_ssltunnel_basic_auth"
+ "test_ssltunnel_basic_auth_server_has_keepalive_off"
+ "test_ssltunnel_basic_auth_proxy_has_keepalive_off"
+ "test_ssltunnel_basic_auth_proxy_close_conn_on_200resp"
+ "test_ssltunnel_digest_auth")))
+ (for-each
+ (lambda (test)
+ (substitute* "test/test_context.c"
+ (((string-append "SUITE_ADD_TEST\\(suite, " test "\\);")) "")))
+ broken-tests)
+ #t)))
(replace 'check (lambda _ (zero? (system* "scons" "check"))))
(replace 'install (lambda _ (zero? (system* "scons" "install")))))))
(home-page "https://serf.apache.org/")
(define-public sassc
;; libsass must be statically linked and it isn't included in the sassc
;; release tarballs, hence this odd package recipe.
- (let* ((version "3.2.5")
+ (let* ((version "3.4.5")
(libsass
(origin
(method url-fetch)
(file-name (string-append "libsass-" version ".tar.gz"))
(sha256
(base32
- "1x25k6p1s1yzsdpzb7bzh8japilmi1mk3z96q66pycbinj9z9is4")))))
+ "1j22138l5ymqjfj5zan9d2hipa3ahjmifgpjahqy1smlg5sb837x")))))
(package
(name "sassc")
(version version)
(file-name (string-append "sassc-" version ".tar.gz"))
(sha256
(base32
- "1xf3w75w840rj0nx375rxi7mcv1ngqqq8p3zrzjlyx8jfpnldmv5"))))
+ "1xk4kmmvziz9sal3swpqa10q0s289xjpcz8aggmly8mvxvmngsi9"))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags '("CC=gcc")
+ `(#:make-flags
+ (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:test-target "test"
+ ;; FIXME: "make test" rebuilds the application and gets lost in a
+ ;; non-existing directory.
+ #:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'configure)
(begin
(setenv "SASS_LIBSASS_PATH"
(string-append (getcwd) "/libsass-" ,version))
- #t))))
- (replace 'install ; no install target
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
- (mkdir-p bin)
- (copy-file "bin/sassc" (string-append bin "/sassc"))
- #t))))))
+ #t)))))))
(inputs
`(("libsass" ,libsass)))
(synopsis "CSS pre-processor")
(synopsis "Compile a log format string to perl-code")
(description "This module provides methods to compile a log format string
to perl-code, for faster generation of access_log lines.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-authen-sasl
(package
(base32
"02afhlrdq5hh5g8b32fa79fqq5i76qzwfqqvfi9zi57h31szl536"))))
(build-system perl-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-env
+ ;; Fix the build with Perl 5.26.0. Try removing this phase for later
+ ;; versions of perl-authen-sasl.
+ (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1") #t)))))
(propagated-inputs
`(("perl-digest-hmac" ,perl-digest-hmac)
("perl-gssapi" ,perl-gssapi)))
(home-page "http://search.cpan.org/dist/Authen-SASL")
(synopsis "SASL authentication framework")
(description "Authen::SASL provides an SASL authentication framework.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-action-renderview
(package
"0j1rrld13cjk7ks92b5hv3xw4rfm2lvmksb4rlzd8mx0a0wj0rc5"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-http-request-ascgi" ,perl-http-request-ascgi)))
+ `(("perl-http-request-ascgi" ,perl-http-request-ascgi)
+ ("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
("perl-data-visitor" ,perl-data-visitor)
(synopsis "Sensible default Catalyst action")
(description "This Catalyst action implements a sensible default end
action, which will forward to the first available view.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-action-rest
(package
"1mpa64p61f3dp24xnhdraswch4sqj5vyv1iivcvvh5h0xi0haiy0"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-test-requires" ,perl-test-requires)))
+ `(("perl-test-requires" ,perl-test-requires)
+ ("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
("perl-class-inspector" ,perl-class-inspector)
append an underscore and method name. First it will try dispatching to an
action with the generated name, and failing that it will try to dispatch to a
regular method.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-authentication-store-dbix-class
(package
("perl-catalyst-plugin-session-state-cookie"
,perl-catalyst-plugin-session-state-cookie)
("perl-dbd-sqlite" ,perl-dbd-sqlite)
+ ("perl-module-install" ,perl-module-install)
("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst)))
(propagated-inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
(description "The Catalyst::Authentication::Store::DBIx::Class class
provides access to authentication information stored in a database via
DBIx::Class.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-component-instancepercontext
(package
(base32
"0wfj4vnn2cvk6jh62amwlg050p37fcwdgrn9amcz24z6w4qgjqvz"))))
(build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
("perl-moose" ,perl-moose)))
(synopsis "Create only one instance of Moose component per context")
(description "Catalyst::Component::InstancePerContext returns a new
instance of a component on each request.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-devel
(package
autogenerates scripts and tests; Module::Install::Catalyst, a Module::Install
extension for Catalyst; and requirements for a variety of development-related
modules.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-dispatchtype-regex
(package
instead. As part of the refactoring, the dispatch priority of Regex vs Regexp
vs LocalRegex vs LocalRegexp may have changed. Priority is now influenced by
when the dispatch type is first seen in your application.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-model-dbic-schema
(package
(build-system perl-build-system)
(native-inputs
`(("perl-dbd-sqlite" ,perl-dbd-sqlite)
+ ("perl-module-install" ,perl-module-install)
("perl-test-exception" ,perl-test-exception)
("perl-test-requires" ,perl-test-requires)))
(propagated-inputs
(synopsis "DBIx::Class::Schema Model Class")
(description "This is a Catalyst Model for DBIx::Class::Schema-based
Models.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-plugin-accesslog
(package
(description "This Catalyst plugin enables you to create \"access logs\"
from within a Catalyst application instead of requiring a webserver to do it
for you. It will work even with Catalyst debug logging turned off.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-plugin-authentication
(package
(base32
"0v6hb4r1wv3djrnqvnjcn3xx1scgqzx8nyjdg9lfc1ybvamrl0rn"))))
(build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
("perl-catalyst-runtime" ,perl-catalyst-runtime)
Catalyst apps. It is the basis for both authentication (checking the user is
who they claim to be), and authorization (allowing the user to do what the
system authorises them to do).")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-plugin-authorization-roles
(package
"0l83lkwmq0lngwh8b1rv3r719pn8w1gdbyhjqm74rnd0wbjl8h7f"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-test-exception" ,perl-test-exception)))
+ `(("perl-module-install" ,perl-module-install)
+ ("perl-test-exception" ,perl-test-exception)))
(propagated-inputs
`(("perl-catalyst-plugin-authentication"
,perl-catalyst-plugin-authentication)
(synopsis "Role-based authorization for Catalyst")
(description "Catalyst::Plugin::Authorization::Roles provides role-based
authorization for Catalyst based on Catalyst::Plugin::Authentication.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-plugin-captcha
(package
(synopsis "Captchas for Catalyst")
(description "This plugin creates and validates Captcha images for
Catalyst.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-plugin-configloader
(package
"19j7p4v7mbx6wrmpvmrnd974apx7hdl2s095ga3b9zcbdrl77h5q"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-path-class" ,perl-path-class)))
+ `(("perl-path-class" ,perl-path-class)
+ ("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
("perl-config-any" ,perl-config-any)
(description "This module will attempt to load find and load configuration
files of various types. Currently it supports YAML, JSON, XML, INI and Perl
formats.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-plugin-session
(package
"171vi9xcl775scjaw4fcfdmqvz0rb1nr0xxg2gb3ng6bjzpslhgv"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-test-deep" ,perl-test-deep)
+ `(("perl-module-install" ,perl-module-install)
+ ("perl-test-deep" ,perl-test-deep)
("perl-test-exception" ,perl-test-exception)))
(propagated-inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
(synopsis "Catalyst generic session plugin")
(description "This plugin links the two pieces required for session
management in web applications together: the state, and the store.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-plugin-session-state-cookie
(package
(base32
"1rvxbfnpf9x2pc2zgpazlcgdlr2dijmxgmcs0m5nazs0w6xikssb"))))
(build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
("perl-catalyst-runtime" ,perl-catalyst-runtime)
ID needs to be stored on the client, and the session data needs to be stored
on the server. This plugin stores the session ID on the client using the
cookie mechanism.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-plugin-session-store-fastmmap
(package
(description "Catalyst::Plugin::Session::Store::FastMmap is a fast session
storage plugin for Catalyst that uses an mmap'ed file to act as a shared
memory interprocess cache. It is based on Cache::FastMmap.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-plugin-stacktrace
(package
(base32
"1b2ksz74cpigxqzf63rddar3vfmnbpwpdcbs11v0ml89pb8ar79j"))))
(build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
("perl-devel-stacktrace" ,perl-devel-stacktrace)
including a stack trace of your application up to the point where the error
occurred. Each stack frame is displayed along with the package name, line
number, file name, and code context surrounding the line number.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-plugin-static-simple
(package
(base32
"1h8f12bhzh0ssq9gs8r9g3hqn8zn2k0q944vc1vm8j81bns16msy"))))
(build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
("perl-mime-types" ,perl-mime-types)
plugin uses the lightweight MIME::Types module to map file extensions to
IANA-registered MIME types, and will serve your static files with the correct
MIME type directly to the browser, without being processed through Catalyst.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-runtime
(package
(name "perl-catalyst-runtime")
- (version "5.90082")
+ (version "5.90115")
(source
(origin
(method url-fetch)
"Catalyst-Runtime-" version ".tar.gz"))
(sha256
(base32
- "1gs70nq4rikpq6siwds9disb1z03vwjzf979xi9kf7saa1drfncs"))))
+ "0kh3ng6pjpxmndq9vrn515f70x7h44ish5bsgjwj4pjvchcyivzm"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-test-fatal" ,perl-test-fatal)))
+ `(("perl-module-install" ,perl-module-install)
+ ("perl-test-fatal" ,perl-test-fatal)))
(propagated-inputs
`(("perl-cgi-simple" ,perl-cgi-simple)
("perl-cgi-struct" ,perl-cgi-struct)
It is designed to make it easy to manage the various tasks you need to do to
run an application on the web, either by doing them itself, or by letting you
\"plug in\" existing Perl modules that do what you need.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-traitfor-request-proxybase
(package
(native-inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
("perl-catalystx-roleapplicator" ,perl-catalystx-roleapplicator)
- ("perl-http-message" ,perl-http-message)))
+ ("perl-http-message" ,perl-http-message)
+ ("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-moose" ,perl-moose)
("perl-namespace-autoclean" ,perl-namespace-autoclean)
flexibility in your application's deployment configurations when deployed
behind a proxy. Using this module, the request base ($c->req->base) is
replaced with the contents of the X-Request-Base header.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-view-download
(package
(build-system perl-build-system)
(native-inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
+ ("perl-module-install" ,perl-module-install)
("perl-test-simple" ,perl-test-simple)
("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst)
("perl-text-csv" ,perl-text-csv)
(description "The purpose of this module is to provide a method for
downloading data into many supportable formats. For example, downloading a
table based report in a variety of formats (CSV, HTML, etc.).")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-view-json
(package
"0x943j1n2r0zqanyzdrs1xsnn8ayn2wqskn7h144xcqa6v6gcisl"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-yaml" ,perl-yaml)))
+ `(("perl-module-install" ,perl-module-install)
+ ("perl-yaml" ,perl-yaml)))
(inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
("perl-json-maybexs" ,perl-json-maybexs)
(synopsis "Catalyst JSON view")
(description "Catalyst::View::JSON is a Catalyst View handler that returns
stash data in JSON format.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalyst-view-tt
(package
(synopsis "Template View Class")
(description "This module is a Catalyst view class for the Template
Toolkit.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalystx-component-traits
(package
from app and component config and instantiates the component subclass with
those traits using \"new_with_traits\" in MooseX::Traits from
MooseX::Traits::Pluggable.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalystx-roleapplicator
(package
(synopsis "Apply roles to Catalyst classes")
(description "CatalystX::RoleApplicator applies roles to Catalyst
application classes.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-catalystx-script-server-starman
(package
"0h02mpkc4cmi3jpvcd7iw7xyzx55bqvvl1qkf967gqkvpklm0qx5"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst)))
+ `(("perl-module-install" ,perl-module-install)
+ ("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst)))
(propagated-inputs
`(("perl-catalyst-runtime" ,perl-catalyst-runtime)
("perl-moose" ,perl-moose)
(synopsis "Catalyst development server with Starman")
(description "This module provides a Catalyst extension to replace the
development server with Starman.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-cgi
(package
processing form submissions, file uploads, reading and writing cookies, query
string generation and manipulation, and processing and preparing HTTP
headers.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-cgi-simple
(package
(description "CGI::Simple provides a relatively lightweight drop in
replacement for CGI.pm. It shares an identical OO interface to CGI.pm for
parameter parsing, file upload, cookie handling and header generation.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-cgi-struct
(package
(synopsis "Date conversion routines")
(description "This module provides functions that deal with the date
formats used by the HTTP protocol.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-digest-md5-file
(package
(synopsis "MD5 sums for files and urls")
(description "Digest::MD5::File is a Perl extension for getting MD5 sums
for files and urls.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-encode-locale
(package
(base32
"1h8fvcdg3n20c2yp7107yhdkkx78534s9hnvn7ps8hpmf4ks0vqp"))))
(build-system perl-build-system)
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl locale encoding determination")
(description
"The POSIX locale system is used to specify both the language
(build-system perl-build-system)
(arguments
;; Tests expect to query files at http://stupidfool.org/perl/feeds/
- `(#:tests? #f))
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-env
+ (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1"))))))
(inputs
`(("perl-class-errorhandler" ,perl-class-errorhandler)
("perl-html-parser" ,perl-html-parser)
(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))))
+ (license l:perl-license)))
(define-public perl-file-listing
(package
(build-system perl-build-system)
(propagated-inputs
`(("perl-http-date" ,perl-http-date)))
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl directory listing parser")
(description
"The File::Listing module exports a single function called parse_dir(),
(synopsis "Perl extension providing access to the GSSAPIv2 library")
(description "This is a Perl extension for using GSSAPI C bindings as
described in RFC 2744.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-html-element-extended
(package
(description
"HTML::Element::Extended is a Perl extension for manipulating a table
composed of HTML::Element style components.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-html-form
(package
(synopsis "Perl class representing an HTML form element")
(description "Objects of the HTML::Form class represents a single HTML
<form> ... </form> instance.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-html-lint
(package
(description
"HTML::TableExtract is a Perl module for extracting the content contained
in tables within an HTML document, either as text or encoded element trees.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-html-tree
(package
(name "perl-html-tree")
- (version "5.03")
+ (version "5.06")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://cpan/authors/id/C/CJ/CJM/"
+ (uri (string-append "mirror://cpan/authors/id/K/KE/KENTNL/"
"HTML-Tree-" version ".tar.gz"))
(sha256
(base32
- "13qlqbpixw470gnck0xgny8hyjj576m8y24bba2p9ai2lvy76vbx"))))
+ "0vjk4xrybjqs511qrh9cymhpbg9m3jjqr52qr035k6nzrccyndlw"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
(synopsis "Work with HTML in a DOM-like tree structure")
(description "This distribution contains a suite of modules for
representing, creating, and extracting information from HTML syntax trees.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-html-parser
(package
(inputs
`(("perl-html-tagset" ,perl-html-tagset)
("perl-http-message" ,perl-http-message)))
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl HTML parser class")
(description
"Objects of the HTML::Parser class will recognize markup and separate
(base32
"1qh8249wgr4v9vgghq77zh1d2zs176bir223a8gh3k9nksn7vcdd"))))
(build-system perl-build-system)
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl data tables useful in parsing HTML")
(description
"The HTML::Tagset module contains several data tables useful in various
(define-public perl-html-template
(package
(name "perl-html-template")
- (version "2.95")
+ (version "2.97")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://cpan/authors/id/W/WO/WONKO/"
+ (uri (string-append "mirror://cpan/authors/id/S/SA/SAMTREGAR/"
"HTML-Template-" version ".tar.gz"))
(sha256
(base32
- "07ahpfgidxsw2yb7y8i7bbr8s64aq6qgq832h9jswmksxbd0l43q"))))
+ "17qjw8swj2q4b1ic285pndgrkmvpsqw0j68nhqzpk1daydhsyiv5"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-cgi" ,perl-cgi)))
these new tags is called a template. Using this module you fill in the values
for the variables, loops and branches declared in the template. This allows
you to separate design from the data.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-http-body
(package
(description "HTTP::Body parses chunks of HTTP POST data and supports
application/octet-stream, application/json, application/x-www-form-urlencoded,
and multipart/form-data.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-http-cookiejar
(package
(build-system perl-build-system)
(propagated-inputs
`(("perl-http-message" ,perl-http-message)))
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl HTTP cookie jars")
(description
"The HTTP::Cookies class is for objects that represent a cookie jar,
(propagated-inputs
`(("perl-http-message" ,perl-http-message)
("perl-lwp-mediatypes" ,perl-lwp-mediatypes)))
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl simple http server class")
(description
"Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen
(base32
"0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8"))))
(build-system perl-build-system)
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl date conversion routines")
(description
"The HTTP::Date module provides functions that deal with date formats
("perl-io-html" ,perl-io-html)
("perl-lwp-mediatypes" ,perl-lwp-mediatypes)
("perl-uri" ,perl-uri)))
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl HTTP style message")
(description
"An HTTP::Message object contains some headers and a content body.")
(build-system perl-build-system)
(propagated-inputs
`(("perl-http-message" ,perl-http-message)))
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl http content negotiation")
(description
"The HTTP::Negotiate module provides a complete implementation of the
received and returns a 'hint' as to what is required, or returns the
HTTP::Request when a complete request has been read. HTTP/1.1 chunking is
supported.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-http-parser-xs
(package
(base32
"02d84xq1mm53c7jl33qyb7v5w4372vydp74z6qj0vc96wcrnhkkr"))))
(build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-install" ,perl-module-install)))
(home-page "http://search.cpan.org/dist/HTTP-Parser-XS")
(synopsis "Fast HTTP request parser")
(description "HTTP::Parser::XS is a fast, primitive HTTP request/response
parser.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-http-request-ascgi
(package
(synopsis "Set up a CGI environment from an HTTP::Request")
(description "This module provides a convenient way to set up a CGI
environment from an HTTP::Request.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-http-server-simple
(package
(arguments
;; See the discussion of a related tests issue at
;; https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00346.html
- `(#:tests? #f))
+ `(#:tests? #f
+
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'set-search-path
+ (lambda _
+ ;; Work around "dotless @INC" build failure.
+ (setenv "PERL5LIB"
+ (string-append (getcwd) ":"
+ (getenv "PERL5LIB")))
+ #t)))))
(home-page "http://search.cpan.org/dist/HTTP-Server-Simple")
(synopsis "Lightweight HTTP server")
(description "HTTP::Server::Simple is a simple standalone HTTP daemon with
no non-core module dependencies. It can be used for building a standalone
http-based UI to your existing tools.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-http-tiny
(package
(description "This is a very simple HTTP/1.1 client, designed for doing
simple requests without the overhead of a large framework like LWP::UserAgent.
It supports proxies and redirection. It also correctly resumes after EINTR.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-io-html
(package
(base32
"06nj3a0xgp5jxwxx6ayglfk2v7npf5a7gwkqsjlkapjkybarzqh4"))))
(build-system perl-build-system)
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl module to open an HTML file with automatic charset detection")
(description
"IO::HTML provides an easy way to open a file containing HTML while
(synopsis "Family-neutral IP socket supporting both IPv4 and IPv6")
(description "This module provides a protocol-independent way to use IPv4
and IPv6 sockets, intended as a replacement for IO::Socket::INET.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-io-socket-ssl
(package
secure defaults whenever possible. This way existing applications can be made
SSL-aware without much effort, at least if you do blocking I/O and don't use
select or poll.")
- (license (package-license perl))
+ (license l:perl-license)
(home-page "https://github.com/noxxi/p5-io-socket-ssl")))
(define-public perl-libwww
("perl-net-http" ,perl-net-http)
("perl-uri" ,perl-uri)
("perl-www-robotrules" ,perl-www-robotrules)))
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl modules for the WWW")
(description
"The libwww-perl collection is a set of Perl modules which provides a
(base32
"0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q"))))
(build-system perl-build-system)
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl module to guess the media type for a file or a URL")
(description
"The LWP::MediaTypes module provides functions for handling media (also
(synopsis "HTTPS support for LWP::UserAgent")
(description "The LWP::Protocol::https module provides support for using
https schemed URLs with LWP.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-lwp-useragent-determined
(package
except that when you use it to get a web page but run into a
possibly-temporary error (like a DNS lookup timeout), it'll wait a few seconds
and retry a few times.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-net-amazon-s3
(package
(home-page "http://search.cpan.org/dist/Net-Amazon-S3")
(synopsis "Perl interface to Amazon S3")
(description "This module provides a Perlish interface to Amazon S3.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-net-http
(package
(propagated-inputs
`(("perl-io-socket-ssl" ,perl-io-socket-ssl)
("perl-uri" ,perl-uri)))
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl low-level HTTP connection (client)")
(description
"The Net::HTTP class is a low-level HTTP client. An instance of the
(define-public perl-net-server
(package
(name "perl-net-server")
- (version "2.008")
+ (version "2.009")
(source
(origin
(method url-fetch)
"Net-Server-" version ".tar.gz"))
(sha256
(base32
- "182gfikn7r40kmm3d35m2qc6r8g0y1j8gxbn9ffaawf8xmm0a889"))))
+ "0gw1k9gcw7habbkxvsfa2gz34brlbwcidk6khgsf1qjm0dbccrw2"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Net-Server")
(synopsis "Extensible Perl server engine")
maintains the number of children based on server load (Net::Server::PreFork).
In all but the inetd type, the server provides the ability to connect to one
or to multiple server ports.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-net-smtp-ssl
(package
(home-page "http://search.cpan.org/dist/Net-SMTP-SSL")
(synopsis "SSL support for Net::SMTP")
(description "SSL support for Net::SMTP.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-plack
(package
contains middleware components, a reference server, and utilities for Web
application frameworks. Plack is like Ruby's Rack or Python's Paste for
WSGI.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-plack-middleware-fixmissingbodyinredirect
(package
(synopsis "Plack::Middleware which sets body for redirect response")
(description "This module sets the body in redirect response, if it's not
already set.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-plack-middleware-methodoverride
(package
something else: by adding either a header named X-HTTP-Method-Override to the
request, or a query parameter named x-tunneled-method to the URI, the client
can say what method it actually meant.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-plack-middleware-removeredundantbody
(package
(synopsis "Plack::Middleware which removes body for HTTP response")
(description "This module removes the body in an HTTP response if it's not
required.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-plack-middleware-reverseproxy
(package
(base32
"1zmsccdy6wr5hxzj07r1nsmaymyibk87p95z0wzknjw10lwmqs9f"))))
(build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-plack" ,perl-plack)))
(home-page "http://search.cpan.org/dist/Plack-Middleware-ReverseProxy")
(description "Plack::Middleware::ReverseProxy resets some HTTP headers,
which are changed by reverse-proxy. You can specify the reverse proxy address
and stop fake requests using 'enable_if' directive in your app.psgi.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-plack-test-externalserver
(package
(description "This module allows your to run your Plack::Test tests
against an external server instead of just against a local application through
either mocked HTTP or a locally spawned server.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-test-tcp
(package
(home-page "http://search.cpan.org/dist/Test-TCP")
(synopsis "Testing TCP programs")
(description "Test::TCP is test utilities for TCP/IP programs.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-test-www-mechanize
(package
(build-system perl-build-system)
(native-inputs
`(("perl-test-exception" ,perl-test-exception)))
+ (native-inputs
+ `(("perl-module-install" ,perl-module-install)))
(propagated-inputs
`(("perl-carp-assert-more" ,perl-carp-assert-more)
("perl-html-form" ,perl-html-form)
`(("perl-catalyst-plugin-session" ,perl-catalyst-plugin-session)
("perl-catalyst-plugin-session-state-cookie"
,perl-catalyst-plugin-session-state-cookie)
+ ("perl-module-install" ,perl-module-install)
("perl-test-exception" ,perl-test-exception)
("perl-test-pod" ,perl-test-pod)
("perl-test-utf8" ,perl-test-utf8)))
(description "The Test::WWW::Mechanize::Catalyst module meshes the
Test::WWW:Mechanize module and the Catalyst web application framework to allow
testing of Catalyst applications without needing to start up a web server.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-test-www-mechanize-psgi
(package
WWW::Mechanize that incorporates features for web application testing. The
Test::WWW::Mechanize::PSGI module meshes the two to allow easy testing of PSGI
applications.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-uri
(package
(base32
"05a1ck1bhvqkkk690xhsxf7276dnagk96qkh2jy4prrrgw6wm3lw"))))
(build-system perl-build-system)
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl Uniform Resource Identifiers (absolute and relative)")
(description
"The URI module implements the URI class. Objects of this class
(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))))
+ (license l:perl-license)))
(define-public perl-uri-find
(package
considers a URI) in plain text. It only finds URIs which include a
scheme (http:// or the like), for something a bit less strict, consider
URI::Find::Schemeless. For a command-line interface, urifind is provided.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-uri-ws
(package
(synopsis "WebSocket support for URI package")
(description "With this module, the URI package provides the same set of
methods for WebSocket URIs as it does for HTTP URIs.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-uri-template
(package
(native-inputs
`(("perl-test-pod-coverage" ,perl-test-pod-coverage)
("perl-test-pod" ,perl-test-pod)
+ ("perl-module-install" ,perl-module-install)
("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))))
+ (license l:perl-license)))
(define-public perl-www-curl
(package
"1fmp9aib1kaps9vhs4dwxn7b15kgnlz9f714bxvqsd1j1q8spzsj"))))
(build-system perl-build-system)
(arguments
- '(#:tests? #f)) ;XXX: tests require network access
+ '(#:tests? #f ;XXX: tests require network access
+
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'set-search-path
+ (lambda _
+ ;; Work around "dotless @INC" build failure.
+ (setenv "PERL5LIB"
+ (string-append (getcwd) ":"
+ (getenv "PERL5LIB")))
+ #t)))))
+ (native-inputs
+ `(("perl-module-install" ,perl-module-install)))
(inputs `(("curl" ,curl)))
(synopsis "Perl extension interface for libcurl")
(description
"This is a Perl extension interface for the libcurl file downloading
library.")
- (license (package-license perl))
+ (license l:perl-license)
(home-page "http://search.cpan.org/~szbalint/WWW-Curl-4.17/lib/WWW/Curl.pm")))
(define-public perl-www-mechanize
(package
(name "perl-www-mechanize")
- (version "1.73")
+ (version "1.86")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
+ (uri (string-append "mirror://cpan/authors/id/O/OA/OALDERS/"
"WWW-Mechanize-" version ".tar.gz"))
(sha256
(base32
- "1zrw8aadhwy48q51x2z2rqlkwf17bya4j4h3hy89mw783j96rmg9"))))
+ "0sfl6b7mx8nannnh3ys5jk44d1s1b2d1mffrnrphkzzykaw6hm0f"))))
(build-system perl-build-system)
(native-inputs ;only for tests
- `(("perl-cgi" ,perl-cgi)))
+ `(("perl-cgi" ,perl-cgi)
+ ("perl-test-deep" ,perl-test-deep)
+ ("perl-test-fatal" ,perl-test-fatal)
+ ("perl-test-output" ,perl-test-output)
+ ("perl-test-warnings" ,perl-test-warnings)))
(propagated-inputs
`(("perl-html-form" ,perl-html-form)
("perl-html-parser" ,perl-html-parser)
+ ("perl-html-tree" ,perl-html-tree)
("perl-http-message" ,perl-http-message)
("perl-http-server-simple" ,perl-http-server-simple)
("perl-libwww" ,perl-libwww)
(synopsis "Web browsing in a Perl object")
(description "WWW::Mechanize is a Perl module for stateful programmatic
web browsing, used for automating interaction with websites.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-www-opensearch
(package
(build-system perl-build-system)
(arguments
`(#:tests? #f)) ; Tests require further modules to be packaged
+ (native-inputs
+ `(("perl-module-install" ,perl-module-install)))
(inputs
`(("perl-data-page" ,perl-data-page)
("perl-libwww" ,perl-libwww)
(description
"@code{WWW::OpenSearch} is a module to search @url{A9's OpenSearch,
http://opensearch.a9.com} compatible search engines.")
- (license (package-license perl))))
+ (license l:perl-license)))
(define-public perl-www-robotrules
(package
(build-system perl-build-system)
(propagated-inputs
`(("perl-uri" ,perl-uri)))
- (license (package-license perl))
+ (license l:perl-license)
(synopsis "Perl database of robots.txt-derived permissions")
(description
"The WWW::RobotRules module parses /robots.txt files as specified in
(define-public r-httpuv
(package
(name "r-httpuv")
- (version "1.3.3")
+ (version "1.3.5")
(source (origin
(method url-fetch)
(uri (cran-uri "httpuv" version))
(sha256
(base32
- "0aibs0hf38n8f6xxx4g2i2lzd6l5h92m5pscx2z834sdvhnladxv"))))
+ "1sg4f223zfyd265b28rlhsn3b6mqflcpnmya98cjmjncmy9vjdj3"))))
(build-system r-build-system)
(native-inputs `(("r-rcpp" ,r-rcpp)))
(home-page "https://github.com/rstudio/httpuv")
(define-public r-jsonlite
(package
(name "r-jsonlite")
- (version "1.2")
+ (version "1.5")
(source (origin
(method url-fetch)
(uri (cran-uri "jsonlite" version))
(sha256
(base32
- "0k966hzp3qnwck7fgd76w49zrz39s7pqyywws17bhbcd8rh4csyb"))))
+ "00lfg464jhf7k01bal9pcjvbdf5cxk6xi2h46hccp1x3h883g434"))))
(build-system r-build-system)
(home-page "http://arxiv.org/abs/1403.2805")
(synopsis "Robust, high performance JSON parser and generator for R")
(define-public r-servr
(package
(name "r-servr")
- (version "0.5")
+ (version "0.6")
(source (origin
(method url-fetch)
(uri (cran-uri "servr" version))
(sha256
(base32
- "1ixcl9xjc1k9zvl6v6bsw4kpramr1h53b4s46qg8kahkqy6kqd8a"))))
+ "0sqz3wssxa19g9mpmf9s4gx2a5rvzl8nrd11qkgpz5v3iqsc6ysr"))))
(build-system r-build-system)
(propagated-inputs
`(("r-httpuv" ,r-httpuv)
(define-public r-htmltools
(package
(name "r-htmltools")
- (version "0.3.5")
+ (version "0.3.6")
(source (origin
(method url-fetch)
(uri (cran-uri "htmltools" version))
(sha256
(base32
- "0j9bf80grd6gwh7116m575pycv87c0wcwkxsz3gzzfs4aw3pxyr9"))))
+ "18k8r1s8sz1jy7dkz35n69wj20xhmllr53xmwb4pdzf2z61gpbs4"))))
(build-system r-build-system)
(arguments
`(#:phases
(define-public r-htmlwidgets
(package
(name "r-htmlwidgets")
- (version "0.8")
+ (version "0.9")
(source (origin
(method url-fetch)
(uri (cran-uri "htmlwidgets" version))
(sha256
(base32
- "1df3pwl34rvdbr9sgr5h27q9bmqpckvpwq4frl3d1v614y3vfclj"))))
+ "0plqkfqys1ca3ki7sb7yc6gwjpi7yy4g3mzh7hfy8s6qri0vam0i"))))
(build-system r-build-system)
(propagated-inputs
`(("r-htmltools" ,r-htmltools)
(define-public r-htmltable
(package
(name "r-htmltable")
- (version "1.7")
+ (version "1.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "htmlTable" version))
(sha256
(base32
- "0x2f2hrbhvm53zqwn0ny9wxbk34nwf6zww8cx4bjy5ax15asdllm"))))
+ "0ciic1f4iczq14j81fg7kxibn65sy8z1zxkvk1yxnxxg6dzplj2v"))))
(properties `((upstream-name . "htmlTable")))
(build-system r-build-system)
(propagated-inputs
- `(("r-knitr" ,r-knitr)
+ `(("r-checkmate" ,r-checkmate)
+ ("r-htmlwidgets" ,r-htmlwidgets)
+ ("r-knitr" ,r-knitr)
("r-magrittr" ,r-magrittr)
("r-stringr" ,r-stringr)))
(home-page "http://gforge.se/packages/")
(define-public r-curl
(package
(name "r-curl")
- (version "2.3")
+ (version "2.8.1")
(source (origin
(method url-fetch)
(uri (cran-uri "curl" version))
(sha256
(base32
- "0gbw5l0wnsw26fbr08gj9vgxrzxg8axvqxfshmd8g9khpgbdl0gr"))))
+ "0dgfl7wn4r8inv55xnk4ybf1y2x4qmi4cbr6phr3lfi1dnjm4hsm"))))
(build-system r-build-system)
(arguments
`(#:phases
(base32
"1fy4ph5h9kp0jzj1m6pfylxnnmgdk0mmdppw76z9jhna4jndk5xa"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'compress-elvi.1sr
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; The manpages of the elvis are symlinks to elvi.1sr.gz
+ ;; but elvi.1sr does not get compressed by our manpage phase.
+ (let* ((out (assoc-ref %outputs "out"))
+ (man (string-append out "/share/man/man1")))
+ (with-directory-excursion man
+ (zero? (system* "gzip" "elvi.1sr")))))))))
(inputs
`(("perl" ,perl)
("perl-www-opensearch" ,perl-www-opensearch)
(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")))
+ (method url-fetch)
+ (uri (string-append "https://unix4lyfe.org/darkhttpd/darkhttpd-"
+ version ".tar.bz2"))
(sha256
(base32
- "0wi8dfgj4ic0fsy4dszl69xgxdxlwxz4c30vsw2i2dpnczgjm04k"))
- (file-name (string-append name "-" version "-checkout"))))
+ "0185wlyx4iqiwfigp1zvql14zw7gxfacncii3d15yaxk4av1f155"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("CC=gcc")
exploit attempts.")
(license l:gpl2)))
-(define-public qutebrowser
+(define-public python-httpbin
(package
- (name "qutebrowser")
- (version "0.10.1")
+ (name "python-httpbin")
+ (version "0.5.0")
(source
(origin
(method url-fetch)
- (uri (string-append "https://github.com/The-Compiler/"
- "qutebrowser/releases/download/v" version "/"
- "qutebrowser-" version ".tar.gz"))
+ (uri (pypi-uri "httpbin" version))
(sha256
(base32
- "05qryn56w2pbqhir4pl99idx7apx2xqw9f8wmbrhj59b1xgr3x2p"))))
+ "1dc92lnk846hpilslrqnr63x55cxll4qx88gif8fm521gv9cbyvr"))))
(build-system python-build-system)
- (native-inputs
- `(("asciidoc" ,asciidoc)))
- (inputs
- `(("python-colorama" ,python-colorama)
- ("python-cssutils" ,python-cssutils)
- ("python-jinja2" ,python-jinja2)
+ (propagated-inputs
+ `(("python-decorator" ,python-decorator)
+ ("python-flask" ,python-flask)
+ ("python-itsdangerous" ,python-itsdangerous)
("python-markupsafe" ,python-markupsafe)
- ("python-pygments" ,python-pygments)
- ("python-pypeg2" ,python-pypeg2)
- ("python-pyyaml" ,python-pyyaml)
- ("python-pyqt" ,python-pyqt)
- ("qtwebkit" ,qtwebkit)))
+ ("python-six" ,python-six)))
+ (home-page "https://github.com/Runscope/httpbin")
+ (synopsis "HTTP request and response service")
+ (description "Testing an HTTP Library can become difficult sometimes.
+@code{RequestBin} is fantastic for testing POST requests, but doesn't let you control the
+response. This exists to cover all kinds of HTTP scenarios. All endpoint responses are
+JSON-encoded.")
+ (license l:isc)))
+
+(define-public python2-httpbin
+ (package-with-python2 python-httpbin))
+
+(define-public python-pytest-httpbin
+ (package
+ (name "python-pytest-httpbin")
+ (version "0.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-httpbin" version))
+ (sha256
+ (base32
+ "1y0v2v7xpzpyd4djwp7ad8ifnlxp8r1y6dfbxg5ckzvllkgridn5"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-six" ,python-six)
+ ("python-httpbin" ,python-httpbin)
+ ("python-pytest" ,python-pytest)))
+ (home-page
+ "https://github.com/kevin1024/pytest-httpbin")
+ (synopsis
+ "Test your HTTP library against a local copy of httpbin")
+ (description
+ "@code{Pytest-httpbin} creates a @code{pytest} fixture that is dependency-injected
+into your tests. It automatically starts up a HTTP server in a separate thread running
+@code{httpbin} and provides your test with the URL in the fixture.")
+ (license l:expat)))
+
+(define-public python2-pytest-httpbin
+ (package-with-python2 python-pytest-httpbin))
+
+(define-public http-parser
+ (package
+ (name "http-parser")
+ (version "2.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/nodejs/http-parser/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1cw6nf8xy4jhib1w0jd2y0gpqjbdasg8b7pkl2k2vpp54k9rlh3h"))))
+ (build-system gnu-build-system)
(arguments
- `(#:tests? #f ;no tests
+ `(#:test-target "test"
+ #:make-flags
+ (list (string-append "PREFIX="
+ (assoc-ref %outputs "out"))
+ "CC=gcc" "library")
#:phases
(modify-phases %standard-phases
- (add-after 'install 'install-more
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (app (string-append out "/share/applications"))
- (hicolor (string-append out "/share/icons/hicolor")))
- (system* "a2x" "-f" "manpage" "doc/qutebrowser.1.asciidoc")
- (install-file "doc/qutebrowser.1"
- (string-append out "/share/man/man1"))
+ (delete 'configure))))
+ (home-page "https://github.com/nodejs/http-parser")
+ (synopsis "HTTP request/response parser for C")
+ (description "This is a parser for HTTP messages written in C. It parses
+both requests and responses. The parser is designed to be used in
+high-performance HTTP applications. It does not make any syscalls nor
+allocations, it does not buffer data, it can be interrupted at anytime.
+Depending on your architecture, it only requires about 40 bytes of data per
+message stream (in a web server that is per connection).")
+ (license l:expat)))
- (for-each
- (lambda (i)
- (let ((src (format #f "icons/qutebrowser-~dx~d.png" i i))
- (dest (format #f "~a/~dx~d/apps/qutebrowser.png"
- hicolor i i)))
- (mkdir-p (dirname dest))
- (copy-file src dest)))
- '(16 24 32 48 64 128 256 512))
- (install-file "icons/qutebrowser.svg"
- (string-append hicolor "/scalable/apps"))
-
- (substitute* "qutebrowser.desktop"
- (("Exec=qutebrowser")
- (string-append "Exec=" out "/bin/qutebrowser")))
- (install-file "qutebrowser.desktop" app)
- #t))))))
- (home-page "https://qutebrowser.org/")
- (synopsis "Minimal, keyboard-focused, vim-like web browser")
- (description "qutebrowser is a keyboard-focused browser with a minimal
-GUI. It is based on PyQt5 and QtWebKit.")
- (license l:gpl3+)))
+(define-public python2-httpretty
+ (package
+ (name "python2-httpretty")
+ (version "0.8.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "httpretty" version))
+ (sha256
+ (base32
+ "0vlp5qkyw3pxwwsg7xmdcfh1csvypvaz4m6abida8s4xmjxpdhc3"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-sphinx-rtd-theme" ,python2-sphinx-rtd-theme)
+ ("python-sphinx" ,python2-sphinx)
+ ("python-coverage" ,python2-coverage)
+ ("python-tornado" ,python2-tornado)
+ ("python-urllib3" ,python2-urllib3)
+ ("python-sure" ,python2-sure)
+ ("python-steadymark" ,python2-steadymark)
+ ("python-requests" ,python2-requests)
+ ("python-rednose" ,python2-rednose)
+ ("python-nose-randomly" ,python2-nose-randomly)
+ ("python-misaka" ,python2-misaka)
+ ("python-pytest-httpbin" ,python2-pytest-httpbin)
+ ("python-nose" ,python2-nose)))
+ (arguments
+ `(#:tests? #f
+ ;; Requires mock>=1.3.0 which requires a more up-to-date
+ ;; python-pbr. After updating these trying to build the
+ ;; package leads to failures in python-flake8 and other
+ ;; packages. The cascade of updates and failures this
+ ;; leads to, seems to not be worth having the test run.
+ #:python ,python-2
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'patch-test-requirements
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Update requirements from dependecy==version
+ ;; to dependency>=version
+ (substitute* "development.txt"
+ (("==") ">="))
+ #t)))))
+ (home-page "http://github.com/gabrielfalcao/httpretty")
+ (synopsis "HTTP client mock for Python")
+ (description "@code{httpretty} is a helper for faking web requests,
+inspired by Ruby's @code{fakeweb}.")
+ (license l:expat)))
+
+(define-public jo
+ (package
+ (name "jo")
+ (version "1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/jpmens/jo/releases/download/v"
+ version "/jo-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0pysickpxrbl53c122h6swvz8sck68q3j0ql38wvbz70q9k4gvb3"))))
+ (build-system gnu-build-system)
+ (home-page "https://github.com/jpmens/jo")
+ (synopsis "Output JSON from a shell")
+ (description "jo is a command-line utility to create JSON objects or
+arrays. It creates a JSON string on stdout from words provided as
+command-line arguments or read from stdin.")
+ (license (list l:gpl2+
+ l:expat)))) ; json.c, json.h
+
+(define-public python-internetarchive
+ (package
+ (name "python-internetarchive")
+ (version "1.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/jjjake/internetarchive/archive/"
+ "v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1lj4r0y67mwjns2gcjvw0y7m5x0vqir2iv7s4q2y93492azli1qh"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ; 11 tests of 105 fail to mock "requests".
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key inputs outputs target (tests? (not target)) #:allow-other-keys)
+ (if tests?
+ (begin
+ (add-installed-pythonpath inputs outputs)
+ (setenv "PATH" (string-append (assoc-ref outputs "out") "/bin"
+ ":" (getenv "PATH")))
+ (zero? (system* "py.test")))
+ (begin
+ (format #t "test suite not run~%")
+ #t)))))))
+ (propagated-inputs
+ `(("python-requests" ,python-requests)
+ ("python-jsonpatch" ,python-jsonpatch-0.4)
+ ("python-docopt" ,python-docopt)
+ ("python-clint" ,python-clint)
+ ("python-six" ,python-six)
+ ("python-schema" ,python-schema-0.5)
+ ("python-backports-csv" ,python-backports-csv)))
+ (native-inputs
+ `(("python-pytest-3.0" ,python-pytest-3.0)
+ ("python-pytest-capturelog" ,python-pytest-capturelog)
+ ("python-responses" ,python-responses)))
+ (home-page "https://github.com/jjjake/internetarchive")
+ (synopsis "Command-line interface to archive.org")
+ (description "@code{ia} is a command-line tool for using
+@url{archive.org} from the command-line. It also emplements the
+internetarchive python module for programatic access to archive.org.")
+ (properties
+ `((python2-variant . ,(delay python2-internetarchive))))
+ (license l:agpl3+)))
+
+(define-public python2-internetarchive
+ (package-with-python2
+ (strip-python2-variant python-internetarchive)))
+
+(define-public r-shiny
+ (package
+ (name "r-shiny")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/rstudio/shiny/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0z2v2s4hd44mvzjn7r70549kdzkrrch9nxhp27r6x2cy6micizm3"))))
+ (build-system r-build-system)
+ (arguments
+ `(#:modules ((guix build r-build-system)
+ (guix build minify-build-system)
+ (guix build utils)
+ (ice-9 match))
+ #:imported-modules (,@%r-build-system-modules
+ (guix build minify-build-system))
+ #:phases
+ (modify-phases (@ (guix build r-build-system) %standard-phases)
+ (add-after 'unpack 'replace-bundled-minified-JavaScript
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((replace-file (lambda (old new)
+ (format #t "replacing ~a with ~a\n" old new)
+ (delete-file old)
+ (symlink new old))))
+ ;; NOTE: Files in ./inst/www/shared/datepicker/js/locales/
+ ;; contain just data. They are not minified code, so we don't
+ ;; replace them.
+ (with-directory-excursion "inst/www/shared"
+ (replace-file "bootstrap/shim/respond.min.js"
+ (string-append (assoc-ref inputs "js-respond")
+ "/share/javascript/respond.min.js"))
+ (replace-file "bootstrap/shim/html5shiv.min.js"
+ (string-append (assoc-ref inputs "js-html5shiv")
+ "/share/javascript/html5shiv.min.js"))
+ (replace-file "json2-min.js"
+ (string-append (assoc-ref inputs "js-json2")
+ "/share/javascript/json2.min.js"))
+ (replace-file "strftime/strftime-min.js"
+ (string-append (assoc-ref inputs "js-strftime")
+ "/share/javascript/strftime.min.js"))
+ (replace-file "highlight/highlight.pack.js"
+ (string-append (assoc-ref inputs "js-highlight")
+ "/share/javascript/highlight.min.js"))
+ (replace-file "datatables/js/jquery.dataTables.min.js"
+ (string-append (assoc-ref inputs "js-datatables")
+ "/share/javascript/jquery.dataTables.min.js"))
+ (replace-file "selectize/js/selectize.min.js"
+ (string-append (assoc-ref inputs "js-selectize")
+ "/share/javascript/selectize.min.js"))
+ (replace-file "selectize/js/es5-shim.min.js"
+ (string-append (assoc-ref inputs "js-es5-shim")
+ "/share/javascript/es5-shim.min.js"))
+ (for-each (match-lambda
+ ((source . target)
+ (delete-file target)
+ (minify source #:target target)))
+ '(("jqueryui/jquery-ui.js" .
+ "jqueryui/jquery-ui.min.js")
+ ("showdown/src/showdown.js" .
+ "showdown/compressed/showdown.js")
+ ("datepicker/js/bootstrap-datepicker.js" .
+ "datepicker/js/bootstrap-datepicker.min.js")
+ ("ionrangeslider/js/ion.rangeSlider.js" .
+ "ionrangeslider/js/ion.rangeSlider.min.js")
+ ("bootstrap/js/bootstrap.js" .
+ "bootstrap/js/bootstrap.min.js")
+ ("shiny.js" .
+ "shiny.min.js")
+ ("jquery.js" .
+ "jquery.min.js")))))
+ #t)))))
+ (propagated-inputs
+ `(("r-httpuv" ,r-httpuv)
+ ("r-mime" ,r-mime)
+ ("r-jsonlite" ,r-jsonlite)
+ ("r-xtable" ,r-xtable)
+ ("r-digest" ,r-digest)
+ ("r-htmltools" ,r-htmltools)
+ ("r-r6" ,r-r6)
+ ("r-sourcetools" ,r-sourcetools)))
+ (inputs
+ `(("js-datatables" ,js-datatables)
+ ("js-html5shiv" ,js-html5shiv)
+ ("js-json2" ,js-json2)
+ ("js-respond" ,js-respond)
+ ("js-selectize" ,js-selectize)
+ ("js-strftime" ,js-strftime)
+ ("js-highlight" ,js-highlight)
+ ("js-es5-shim" ,js-es5-shim)))
+ (home-page "http://shiny.rstudio.com")
+ (synopsis "Easy interactive web applications with R")
+ (description
+ "Makes it incredibly easy to build interactive web applications
+with R. Automatic \"reactive\" binding between inputs and outputs and
+extensive prebuilt widgets make it possible to build beautiful,
+responsive, and powerful applications with minimal effort.")
+ (license l:artistic2.0)))
+
+(define-public r-crosstalk
+ (package
+ (name "r-crosstalk")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "crosstalk" version))
+ (sha256
+ (base32
+ "0lfa89vhrzi7a1rghmygcjr8gzddw35sinb3jx6g49mc9jias7mk"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-ggplot2" ,r-ggplot2)
+ ("r-htmltools" ,r-htmltools)
+ ("r-jsonlite" ,r-jsonlite)
+ ("r-lazyeval" ,r-lazyeval)
+ ("r-r6" ,r-r6)
+ ("r-shiny" ,r-shiny)))
+ (home-page "https://rstudio.github.io/crosstalk/")
+ (synopsis "Inter-widget interactivity for HTML widgets")
+ (description
+ "This package provides building blocks for allowing HTML widgets to
+communicate with each other, with Shiny or without (i.e. static @code{.html}
+files). It currently supports linked brushing and filtering.")
+ (license l:expat)))
+
+(define-public r-rook
+ (package
+ (name "r-rook")
+ (version "1.1-1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "Rook" version))
+ (sha256
+ (base32
+ "00s9a0kr9rwxvlq433daxjk4ji8m0w60hjdprf502msw9kxfrx00"))))
+ (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")
+ (synopsis "Web server interface for R")
+ (description
+ "This package contains the Rook specification and convenience software
+for building and running Rook applications. A Rook application is an R
+reference class object that implements a @code{call} method or an R closure
+that takes exactly one argument, an environment, and returns a list with three
+named elements: the @code{status}, the @code{headers}, and the @code{body}.")
+ (license l:gpl2)))
+
+(define-public rss-bridge
+ (package
+ (name "rss-bridge")
+ (version "2017-08-03")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/RSS-Bridge/rss-bridge/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "05s16y552hbyj91s7bnlkx1bi64s6aw0fjy29az8via3i3b21yhl"))))
+ (build-system trivial-build-system)
+ (native-inputs
+ `(("gzip" ,gzip)
+ ("tar" ,tar)))
+ (arguments
+ '(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+ (let* ((out (assoc-ref %outputs "out"))
+ (share-rss-bridge (string-append out "/share/rss-bridge")))
+ (set-path-environment-variable
+ "PATH" '("bin") (map (match-lambda ((_ . input) input))
+ %build-inputs))
+ (mkdir-p share-rss-bridge)
+ (system* "tar" "xvf" (assoc-ref %build-inputs "source")
+ "--strip-components" "1" "-C" share-rss-bridge)
+ #t))))
+ (home-page "https://github.com/RSS-Bridge/rss-bridge")
+ (synopsis "Generate Atom feeds for social networking websites")
+ (description "rss-bridge generates Atom feeds for social networking
+websites lacking feeds. Supported websites include Facebook, Twitter,
+Instagram and YouTube.")
+ (license (list l:public-domain
+ l:expat)))) ;; vendor/simplehtmldom/simple_html_dom.php