On Sun, 14 Aug 2016 17:19:10 +0000 ng0 <n...@we.make.ritual.n0.is> wrote:
> This patch series adds perl-www-opensearch and the 13 patches leading to > it (the dependencies). Thanks for all the patches! Comments dispersed throughtout: > > > From 32adba9d07c73aee701861817b530a8a54ce065d Mon Sep 17 00:00:00 2001 > From: ng0 <n...@we.make.ritual.n0.is> > Date: Sun, 14 Aug 2016 12:42:12 +0000 > Subject: [PATCH 02/15] gnu: Add perl-uri-template. > > * gnu/packages/web.scm (perl-uri-template): New variable. > --- > gnu/packages/web.scm | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm > index 9106295..d596d83 100644 > --- a/gnu/packages/web.scm > +++ b/gnu/packages/web.scm > @@ -2959,6 +2959,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 (RFC 6570)") I would leave mention of the RFC out of the synopsis. > + (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") > -- > 2.9.2 > > > From 57880ce0893fbdd1107225b0a119aa0193ecbfc3 Mon Sep 17 00:00:00 2001 > From: ng0 <n...@we.make.ritual.n0.is> > Date: Sun, 14 Aug 2016 13:02:00 +0000 > Subject: [PATCH 03/15] gnu: Add perl-class-errorhandler. > > * gnu/packages/perl.scm (perl-class-errorhandler): New variable. > --- > gnu/packages/perl.scm | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm > index aef92f4..ee49f16 100644 > --- a/gnu/packages/perl.scm > +++ b/gnu/packages/perl.scm > @@ -700,6 +700,27 @@ subclasses and can be overridden.") > type for perl.") > (license (package-license perl)))) > > +(define-public perl-class-errorhandler > + (package > + (name "perl-class-errorhandler") > + (version "0.04") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://cpan/authors/id/T/TO/TOKUHIROM/" > + "Class-ErrorHandler-" version ".tar.gz")) > + (sha256 > + (base32 > + "00j5f0z4riyq7i95jww291dpmbn0hmmvkcbrh7p0p8lpqz7jsb9l")))) > + (build-system perl-build-system) > + (home-page "http://search.cpan.org/dist/Class-ErrorHandler") > + (synopsis "Base class for error handling") > + (description > + "Class::ErrorHandler provides an error-handling mechanism that is > generic enough ^ Wrap class names in texinfo "@code{...}", everywhere. > +to be used as the base class for a variety of OO classes. Subclasses > inherit its > +two error-handling methods, error and errstr, to communicate error messages > back > +to the calling program.") > + (license (package-license perl)))) > + > (define-public perl-class-factory-util > (package > (name "perl-class-factory-util") > -- > 2.9.2 > [...] > > From 30ecbeb69e87140d2d11deb86b06126e69100f11 Mon Sep 17 00:00:00 2001 > From: ng0 <n...@we.make.ritual.n0.is> > Date: Sun, 14 Aug 2016 13:55:21 +0000 > Subject: [PATCH 07/15] gnu: Add perl-uri-fetch. > > * gnu/packages/web.scm (perl-uri-fetch): New variable. > --- > gnu/packages/web.scm | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm > index 5970df5..38ca8ff 100644 > --- a/gnu/packages/web.scm > +++ b/gnu/packages/web.scm > @@ -2940,6 +2940,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 "URI::Fetch is a smart client for fetching HTTP pages, > notably ^ @code{URI::Fetch} ... > +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") > -- > 2.9.2 > [...] > > From 7a177f0a6c126068b2554d5f8562fc95bf5e259f Mon Sep 17 00:00:00 2001 > From: ng0 <n...@we.make.ritual.n0.is> > Date: Sun, 14 Aug 2016 14:21:09 +0000 > Subject: [PATCH 09/15] gnu: Add perl-path-tiny. > > * gnu/packages/perl.scm (perl-path-tiny): New variable. > --- > gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm > index 13b3878..7417c54 100644 > --- a/gnu/packages/perl.scm > +++ b/gnu/packages/perl.scm > @@ -4634,6 +4634,31 @@ up inheritance from those modules at the same time.") > directory specifications in a cross-platform manner.") > (license (package-license perl)))) > > +(define-public perl-path-tiny > + (package > + (name "perl-path-tiny") > + (version "0.096") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" > + "Path-Tiny-" version ".tar.gz")) > + (sha256 > + (base32 > + "08dmr6ijjg3dp7h9dxix0nmad0fw16c6qzs4qc0hdz500gd64sr2")))) > + (build-system perl-build-system) > + (arguments > + `(#:tests? #f)) ; Tests require additional test modules to be packaged > + ;; (native-inputs > + ;; `(("perl-test-failwarnings" ,perl-test-failwarnings) > + ;; ("perl-test-mockrandom" ,perl-test-mockrandom))) I think I have these packaged on a branch of mine. I can enable these tests when I rebase. > + (inputs > + `(("perl-unicode-utf8" ,perl-unicode-utf8))) > + (home-page "http://search.cpan.org/dist/Path-Tiny") > + (synopsis "File path utility") > + (description "This module provides a small, fast utility for working > +with file paths.") > + (license asl2.0))) > + > (define-public perl-perlio-utf8_strict > (package > (name "perl-perlio-utf8-strict") > -- > 2.9.2 > > > From 42cbbc810b0e1f586073f70ba5b78a9dde821ded Mon Sep 17 00:00:00 2001 > From: ng0 <n...@we.make.ritual.n0.is> > Date: Sun, 14 Aug 2016 14:37:34 +0000 > Subject: [PATCH 10/15] gnu: Add perl-xml-xpath. > > * gnu/packages/xml.scm (perl-xml-xpath): New variable. > --- > gnu/packages/xml.scm | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > > diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm > index cfdc6c0..eed52de 100644 > --- a/gnu/packages/xml.scm > +++ b/gnu/packages/xml.scm > @@ -12,6 +12,7 @@ > ;;; Copyright © 2016 Leo Famulari <l...@famulari.name> > ;;; Copyright © 2016 Ben Woodcroft <donttrust...@gmail.com> > ;;; Copyright © 2016 Jan Nieuwenhuizen <jann...@gnu.org> > +;;; Copyright © 2016 ng0 <n...@we.make.ritual.n0.is> > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -564,6 +565,30 @@ encoding of the message to be send into XML, sending the > message to the > server, collect the answer, and finally decoding the XML to Perl.") > (license (package-license perl)))) > > +(define-public perl-xml-xpath > + (package > + (name "perl-xml-xpath") > + (version "1.37") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/" > + "XML-XPath-" version ".tar.gz")) > + (sha256 > + (base32 > + "0997l8vjgq8p7d1irvp6amqyrv24x7f8hybjm4l4ayag32b13bmq")))) > + (build-system perl-build-system) > + (native-inputs > + `(("perl-path-tiny" ,perl-path-tiny))) > + (inputs > + `(("perl-xml-parser" ,perl-xml-parser))) > + (home-page "http://search.cpan.org/dist/XML-XPath") > + (synopsis "Parse and evaluate XPath statements.") > + (description > + "This module aims to comply exactly to the XPath specification at > +https://www.w3.org/TR/xpath and yet allow extensions to be added in ^ the @url{XPath specification,https://www.w3.org/TR/xpath} and yet ... > +the form of functions.") > + (license license:artistic2.0))) I think the metadata is incorrect here, unfortunately. The README and module source state (paraphrased): "under the GPL or the Artistic (same as Perl itself)", so this should also be (license (package-license perl)). > + > (define-public pugixml > (package > (name "pugixml") > -- > 2.9.2 > > > From bc4b3573f80bd9a8e529c847b0e36b932055d663 Mon Sep 17 00:00:00 2001 > From: ng0 <n...@we.make.ritual.n0.is> > Date: Sun, 14 Aug 2016 14:50:00 +0000 > Subject: [PATCH 11/15] gnu: Add perl-xml-atom. > > * gnu/packages/xml.scm (perl-xml-atom): New variable. > --- > gnu/packages/xml.scm | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm > index eed52de..4f29024 100644 > --- a/gnu/packages/xml.scm > +++ b/gnu/packages/xml.scm > @@ -187,6 +187,38 @@ which read a graph file and create an instance of the > Graph class. > the @code{Graph} class and write it out in a specific file format.") > (license (package-license perl)))) > > +(define-public perl-xml-atom > + (package > + (name "perl-xml-atom") > + (version "0.41") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/" > + "XML-Atom-" version ".tar.gz")) > + (sha256 > + (base32 > + "17lnkb9ymrhk2z642bhj5i2bv3q1da3kpp2lvsl0yhqshk3wdjj8")))) > + (build-system perl-build-system) > + (native-inputs > + `(("perl-datetime" ,perl-datetime) > + ;; TODO package: perl-datetime-format-atom > + ("perl-xml-xpath" ,perl-xml-xpath))) > + (inputs > + `(("perl-class-data-inheritable" ,perl-class-data-inheritable) > + ("perl-datetime" ,perl-datetime) > + ("perl-datetime-timezone" ,perl-datetime-timezone) > + ("perl-digest-sha1" ,perl-digest-sha1) > + ("perl-libwww" ,perl-libwww) > + ("perl-uri" ,perl-uri) > + ("perl-xml-libxml" ,perl-xml-libxml) > + ("perl-xml-xpath" ,perl-xml-xpath))) > + (home-page "http://search.cpan.org/dist/XML-Atom") > + (synopsis "Atom feed and API implementation") > + (description > + "Atom is a syndication, API, and archiving format for weblogs and other > data. > +XML::Atom implements the feed format as well as a client for the API.") ^ @code{XML::Atom} > + (license (package-license perl)))) > + > (define-public perl-xml-parser > (package > (name "perl-xml-parser") > -- > 2.9.2 > > > From 57e66ace74add5c009bca06d9156f682caa5d08c Mon Sep 17 00:00:00 2001 > From: ng0 <n...@we.make.ritual.n0.is> > Date: Sun, 14 Aug 2016 15:05:30 +0000 > Subject: [PATCH 12/15] gnu: Add perl-test-manifest. > > * gnu/packages/perl.scm (perl-test-manifest): New variable. > --- > gnu/packages/perl.scm | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm > index 7417c54..5128003 100644 > --- a/gnu/packages/perl.scm > +++ b/gnu/packages/perl.scm > @@ -5773,6 +5773,29 @@ string comparison functions of Test::More, but which > are more suitable when > you test against long strings.") > (license (package-license perl)))) > > +(define-public perl-test-manifest > + (package > + (name "perl-test-manifest") > + (version "2.02") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" > + "Test-Manifest-" version ".tar.gz")) > + (sha256 > + (base32 > + "15ik52l9macrrfizf4y6wj71d4lx7w590h2dfajnkmbxmz786iq6")))) > + (build-system perl-build-system) > + (native-inputs > + `(("perl-test-pod" ,perl-test-pod) > + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) > + (home-page "http://search.cpan.org/dist/Test-Manifest") > + (synopsis "Interact with a t/test_manifest file") > + (description "Test::Manifest overrides the default test file order. > Instead of > +running all of the t/*.t files in ASCII-betical order, it looks in the > t/test_manifest There's probably some texinfo markup for the "t/*.t" and "t/test_manifest" here, but I don't know what it is off the top of my head. > +file to find out which tests you want to run and the order in which you want > to run them. > +It constructs the right value for the build system to do the right thing.") > + (license (package-license perl)))) > + > (define-public perl-test-mockobject > (package > (name "perl-test-mockobject") > -- > 2.9.2 > > > From f8da52b6154bd86b35693f3b480149177962f605 Mon Sep 17 00:00:00 2001 > From: ng0 <n...@we.make.ritual.n0.is> > Date: Sun, 14 Aug 2016 15:14:05 +0000 > Subject: [PATCH 13/15] gnu: Add perl-xml-rss. > > * gnu/packages/xml.scm (perl-xml-rss): New variable. > --- > gnu/packages/xml.scm | 33 +++++++++++++++++++++++++++++++++ > 1 file changed, 33 insertions(+) > > diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm > index 4f29024..9e03c0d 100644 > --- a/gnu/packages/xml.scm > +++ b/gnu/packages/xml.scm > @@ -341,6 +341,39 @@ maintain a prefix to namespace URI map, and provides a > number of basic > checks.") > (license (package-license perl)))) > > +(define-public perl-xml-rss > + (package > + (name "perl-xml-rss") > + (version "1.59") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/" > + "XML-RSS-" version ".tar.gz")) > + (sha256 > + (base32 > + "0v6vfizn2psy6av057kp7fv3z3y73s6b3w56jm3zr6hlq48llsx2")))) > + (build-system perl-build-system) > + (native-inputs > + `(("perl-module-build" ,perl-module-build) > + ("perl-test-manifest" ,perl-test-manifest) > + ("perl-test-differences" ,perl-test-differences) > + ("perl-test-pod" ,perl-test-pod) > + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) > + ;; Does not run: ("perl-test-trailingspace" ,perl-test-trailingspace) What "does not run" here? The test that uses this module? Maybe just clarify the comment. > + (inputs > + `(("perl-datetime" ,perl-datetime) > + ("perl-datetime-format-mail" ,perl-datetime-format-mail) > + ("perl-datetime-format-w3cdtf" ,perl-datetime-format-w3cdtf) > + ("perl-html-parser" ,perl-html-parser) > + ("perl-xml-parser" ,perl-xml-parser))) > + (home-page "http://search.cpan.org/dist/XML-RSS") > + (synopsis "Creates and updates RSS files") > + (description > + "This module provides a basic framework for creating and maintaining > +RDF Site Summary (RSS) files. This distribution also contains many examples > that allow you > +to generate HTML from an RSS, convert between 0.9, 0.91, and 1.0 version, > and more.") > + (license (package-license perl)))) > + > (define-public perl-xml-sax > (package > (name "perl-xml-sax") > -- > 2.9.2 > > > From 16e9f9a002edb7f996505828abee46adb2e51763 Mon Sep 17 00:00:00 2001 > From: ng0 <n...@we.make.ritual.n0.is> > Date: Sun, 14 Aug 2016 15:36:05 +0000 > Subject: [PATCH 14/15] gnu: Add perl-xml-feed. > > * gnu/packages/xml.scm (perl-xml-feed): New variable. > --- > gnu/packages/xml.scm | 39 +++++++++++++++++++++++++++++++++++++++ > 1 file changed, 39 insertions(+) > > diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm > index 9e03c0d..843caca 100644 > --- a/gnu/packages/xml.scm > +++ b/gnu/packages/xml.scm > @@ -630,6 +630,45 @@ encoding of the message to be send into XML, sending the > message to the > server, collect the answer, and finally decoding the XML to Perl.") > (license (package-license perl)))) > > +(define-public perl-xml-feed > + (package > + (name "perl-xml-feed") > + (version "0.53") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://cpan/authors/id/D/DA/DAVECROSS/" > + "XML-Feed-" version ".tar.gz")) > + (sha256 > + (base32 > + "07b165g6wk8kqwpl49r3n0kag6p2nrkyp3ch0h8qyxb6nrnkkq7c")))) > + (build-system perl-build-system) > + (arguments > + ;; Tests require internet connection > + `(#:tests? #f)) > + (native-inputs > + `(("perl-module-build" ,perl-module-build) > + ("perl-uri" ,perl-uri) > + ("perl-class-data-inheritable" ,perl-class-data-inheritable))) > + (inputs > + `(("perl-class-errorhandler" ,perl-class-errorhandler) > + ("perl-datetime" ,perl-datetime) > + ("perl-datetime-format-mail" ,perl-datetime-format-mail) > + ("perl-datetime-format-w3cdtf" ,perl-datetime-format-w3cdtf) > + ("perl-feed-find" ,perl-feed-find) > + ("perl-html-parser" ,perl-html-parser) > + ("perl-libwww-perl" ,perl-libwww) > + ("perl-module-pluggable" ,perl-module-pluggable) > + ("perl-uri-fetch" ,perl-uri-fetch) > + ("perl-xml-atom" ,perl-xml-atom) > + ("perl-xml-libxml" ,perl-xml-libxml) > + ("perl-xml-rss" ,perl-xml-rss))) > + (home-page "http://search.cpan.org/dist/XML-Feed") > + (synopsis "XML Syndication Feed Support") > + (description "XML::Feed is a syndication feed parser for both RSS and > Atom feeds. > +It also implements feed auto-discovery for finding feeds, given a URI. > XML::Feed supports > +the following syndication feed formats: RSS 0.91, RSS 1.0, RSS 2.0, Atom") > + (license (package-license perl)))) > + > (define-public perl-xml-xpath > (package > (name "perl-xml-xpath") > -- > 2.9.2 > > > From 15f3ef5ac65e9dfad8d4cf8ccadd02ac25ebbe38 Mon Sep 17 00:00:00 2001 > From: ng0 <n...@we.make.ritual.n0.is> > Date: Sun, 14 Aug 2016 15:54:07 +0000 > Subject: [PATCH 15/15] gnu: Add perl-www-opensearch. > > * gnu/packages/web.scm (perl-www-opensearch): New variable. > --- > gnu/packages/web.scm | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm > index 38ca8ff..8a93436 100644 > --- a/gnu/packages/web.scm > +++ b/gnu/packages/web.scm > @@ -3087,6 +3087,35 @@ 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) > + ;; Tests require further modules to be packaged > + (arguments > + `(#:tests? #f)) > + (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 > + "WWW::OpenSearch is a module to search A9's OpenSearch compatible > search engines. > +See http://opensearch.a9.com/ for details.") Maybe something like: @code{WWW::OpenSearch} is a module to search @url{A9's OpenSearch,http://opensearch.a9.com} compatible search engines. Otherwise LGTM! `~Eric