guix/gnu/packages/web.scm

323 lines
12 KiB
Scheme
Raw Normal View History

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages web)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'l:))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system perl)
#:use-module (guix build-system gnu)
#:use-module (gnu packages apr)
#:use-module (gnu packages openssl)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl))
(define-public httpd
(package
(name "httpd")
(version "2.4.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/httpd/httpd-"
version ".tar.bz2"))
(sha256
(base32
"1sig08xxq1kqxr2a42ndwr9g4mm6zdqnxldhxraym2y0xcjkd7yw"))))
(build-system gnu-build-system)
(inputs `(("apr" ,apr)
("apr-util" ,apr-util)
("openssl" ,openssl)
("pcre" ,pcre)))
(arguments
`(#:test-target "test"
#:configure-flags (list "--enable-rewrite"
"--enable-userdir"
"--enable-vhost-alias"
"--enable-ssl"
"--enable-mime-magic"
(string-append "--sysconfdir="
(assoc-ref %outputs "out")
"/etc/httpd"))))
(synopsis "Featureful HTTP server")
(description
"The Apache HTTP Server Project is a collaborative software development
effort aimed at creating a robust, commercial-grade, featureful, and
freely-available source code implementation of an HTTP (Web) server. The project
is jointly managed by a group of volunteers located around the world, using the
Internet and the Web to communicate, plan, and develop the server and its
related documentation.")
(license l:asl2.0)
(home-page "https://httpd.apache.org/")))
(define-public perl-html-tagset
(package
(name "perl-html-tagset")
(version "3.20")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-"
version ".tar.gz"))
(sha256
(base32
"1qh8249wgr4v9vgghq77zh1d2zs176bir223a8gh3k9nksn7vcdd"))))
(build-system perl-build-system)
(license (package-license perl))
(synopsis "Perl data tables useful in parsing HTML")
(description
"The HTML::Tagset module contains several data tables useful in various
kinds of HTML parsing operations.")
(home-page "http://search.cpan.org/dist/HTML-Tagset/")))
(define-public perl-html-parser
(package
(name "perl-html-parser")
(version "3.71")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-"
version ".tar.gz"))
(sha256
(base32
"00nqzdgl7c3jilx7mil19k5jwcw3as14pvkjgxi97zyk94vqp4dy"))))
(build-system perl-build-system)
(inputs
`(("perl-html-tagset" ,perl-html-tagset)))
(license (package-license perl))
(synopsis "Perl HTML parser class")
(description
"Objects of the HTML::Parser class will recognize markup and separate
it from plain text (alias data content) in HTML documents. As different
kinds of markup and text are recognized, the corresponding event handlers
are invoked.")
(home-page "http://search.cpan.org/~gaas/HTML-Parser/")))
(define-public perl-http-date
(package
(name "perl-http-date")
(version "6.02")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-"
version ".tar.gz"))
(sha256
(base32
"0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8"))))
(build-system perl-build-system)
(license (package-license perl))
(synopsis "Perl date conversion routines")
(description
"The HTTP::Date module provides functions that deal with date formats
used by the HTTP protocol (and then some more).")
(home-page "http://search.cpan.org/~gaas/HTTP-Date/")))
(define-public perl-uri
(package
(name "perl-uri")
(version "1.60")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/G/GA/GAAS/URI-"
version ".tar.gz"))
(sha256
(base32
"0xr31mf7lfrwhyvlx4pzp6p7alls5gi4bj8pk5g89f5cckfd74hz"))))
(build-system perl-build-system)
(license (package-license perl))
(synopsis "Perl Uniform Resource Identifiers (absolute and relative)")
(description
"The URI module implements the URI class. Objects of this class
represent \"Uniform Resource Identifier references\" as specified in RFC 2396
(and updated by RFC 2732).")
(home-page "http://search.cpan.org/~gaas/URI/")))
(define-public perl-lwp-mediatypes
(package
(name "perl-lwp-mediatypes")
(version "6.02")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/G/GA/GAAS/LWP-MediaTypes-"
version ".tar.gz"))
(sha256
(base32
"0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q"))))
(build-system perl-build-system)
(license (package-license perl))
(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
known as MIME) types and encodings. The mapping from file extensions to
media types is defined by the media.types file. If the ~/.media.types file
exists it is used instead.")
(home-page "http://search.cpan.org/~gaas/LWP-MediaTypes/")))
(define-public perl-io-html
(package
(name "perl-io-html")
(version "1.00")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-"
version ".tar.gz"))
(sha256
(base32
"06nj3a0xgp5jxwxx6ayglfk2v7npf5a7gwkqsjlkapjkybarzqh4"))))
(build-system perl-build-system)
(license (package-license perl))
(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
automatically determining its encoding. It uses the HTML5 encoding sniffing
algorithm specified in section 8.2.2.1 of the draft standard.")
(home-page "http://search.cpan.org/~cjm/IO-HTML/")))
(define-public perl-http-message
(package
(name "perl-http-message")
(version "6.06")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/G/GA/GAAS/HTTP-Message-"
version ".tar.gz"))
(sha256
(base32
"0qxdrcak97azjvqyx1anpb2ky6vp6vc37x0wcfjdqfajkh09fzh8"))))
(build-system perl-build-system)
(inputs
`(("perl-http-date" ,perl-http-date)
("perl-io-html" ,perl-io-html)
("perl-lwp-mediatypes" ,perl-lwp-mediatypes)
("perl-uri" ,perl-uri)))
(license (package-license perl))
(synopsis "Perl HTTP style message")
(description
"An HTTP::Message object contains some headers and a content body.")
(home-page "http://search.cpan.org/~gaas/HTTP-Message/")))
(define-public perl-http-cookies
(package
(name "perl-http-cookies")
(version "6.01")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/G/GA/GAAS/HTTP-Cookies-"
version ".tar.gz"))
(sha256
(base32
"087bqmg22dg3vj7gssh3pcsh9y1scimkbl5h1kc8jqyfhgisvlzm"))))
(build-system perl-build-system)
(inputs
`(("perl-http-date" ,perl-http-date)
("perl-http-message" ,perl-http-message)
("perl-uri" ,perl-uri)))
(license (package-license perl))
(synopsis "Perl HTTP cookie jars")
(description
"The HTTP::Cookies class is for objects that represent a cookie jar,
that is, a database of all the HTTP cookies that a given LWP::UserAgent
object knows about.")
(home-page "http://search.cpan.org/~gaas/HTTP-Cookies/")))
(define-public perl-http-daemon
(package
(name "perl-http-daemon")
(version "6.01")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/G/GA/GAAS/HTTP-Daemon-"
version ".tar.gz"))
(sha256
(base32
"1hmd2isrkilf0q0nkxms1q64kikjmcw9imbvrjgky6kh89vqdza3"))))
(build-system perl-build-system)
(inputs
`(("perl-http-date" ,perl-http-date)
("perl-http-message" ,perl-http-message)
("perl-lwp-mediatypes" ,perl-lwp-mediatypes)
("perl-uri" ,perl-uri)))
(license (package-license perl))
(synopsis "Perl simple http server class")
(description
"Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen
on a socket for incoming requests. The HTTP::Daemon is a subclass of
IO::Socket::INET, so you can perform socket operations directly on it too.")
(home-page "http://search.cpan.org/~gaas/HTTP-Daemon/")))
(define-public perl-http-negotiate
(package
(name "perl-http-negotiate")
(version "6.01")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-"
version ".tar.gz"))
(sha256
(base32
"05p053vjs5g91v5cmjnny7a3xzddz5k7vnjw81wfh01ilqg9qwhw"))))
(build-system perl-build-system)
(inputs
`(("perl-http-message" ,perl-http-message)
("perl-uri" ,perl-uri)))
(license (package-license perl))
(synopsis "Perl http content negotiation")
(description
"The HTTP::Negotiate module provides a complete implementation of the
HTTP content negotiation algorithm specified in
draft-ietf-http-v11-spec-00.ps chapter 12. Content negotiation allows for
the selection of a preferred content representation based upon attributes
of the negotiable variants and the value of the various Accept* header
fields in the request.")
(home-page "http://search.cpan.org/~gaas/HTTP-Negotiate/")))
(define-public perl-www-robotrules
(package
(name "perl-www-robotrules")
(version "6.02")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-"
version ".tar.gz"))
(sha256
(base32
"07m50dp5n5jxv3m93i55qvnd67a6g7cvbvlik115kmc8lbkh5da6"))))
(build-system perl-build-system)
(inputs
`(("perl-uri" ,perl-uri)))
(license (package-license perl))
(synopsis "Perl database of robots.txt-derived permissions")
(description
"The WWW::RobotRules module parses /robots.txt files as specified in
\"A Standard for Robot Exclusion\", at
<http://www.robotstxt.org/wc/norobots.html>. Webmasters can use the
/robots.txt file to forbid conforming robots from accessing parts of
their web site.")
(home-page "http://search.cpan.org/~gaas/WWW-RobotRules/")))