guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#30274] [PATCH 02/24] gnu: Add perl-path-iterator-rule.


From: Oleg Pykhalov
Subject: [bug#30274] [PATCH 02/24] gnu: Add perl-path-iterator-rule.
Date: Mon, 29 Jan 2018 20:20:14 +0300

* gnu/packages/perl.scm (perl-path-iterator-rule): New public variable.
---
 gnu/packages/perl.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index f79a11f76..0894144f9 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <address@hidden>
 ;;; Copyright © 2017 Leo Famulari <address@hidden>
 ;;; Copyright © 2017 Christopher Allan Webber <address@hidden>
+;;; Copyright © 2018 Oleg Pykhalov <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -8810,3 +8811,53 @@ till 5pm\" and \"on the second Tuesday of the month\" 
and \"between 4pm and
 4:15pm\" and \"in the first half of each minute\" and \"in January of
 1998\".")
     (license perl-license)))
+
+(define-public perl-path-iterator-rule
+  (package
+    (name "perl-path-iterator-rule")
+    (version "1.012")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "1z76avwvwgv4bw28kzx79mmb4449s5l345sn0wljq3dbf4wqigd1"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-file-pushd" ,perl-file-pushd)
+       ("perl-path-tiny" ,perl-path-tiny)
+       ("perl-test-deep" ,perl-test-deep)
+       ("perl-test-filename" ,perl-test-filename)))
+    (propagated-inputs
+     `(("perl-number-compare" ,perl-number-compare)
+       ("perl-text-glob" ,perl-text-glob)
+       ("perl-try-tiny" ,perl-try-tiny)))
+    (home-page "http://search.cpan.org/dist/Path-Iterator-Rule/";)
+    (synopsis "Iterative, recursive file finder")
+    (description "Path::Iterator::Rule iterates over files and directories to
+identify ones matching a user-defined set of rules.  The API is based heavily
+on File::Find::Rule, but with more explicit distinction between matching rules
+and options that influence how directories are searched.  A
+Path::Iterator::Rule object is a collection of rules (match criteria) with
+methods to add additional criteria.  Options that control directory traversal
+are given as arguments to the method that generates an iterator.
+
+A summary of features for comparison to other file finding modules:
+
address@hidden
address@hidden provides many helper methods for specifying rules
address@hidden offers (lazy) iterator and flattened list interfaces
address@hidden custom rules implemented with callbacks
address@hidden breadth-first (default) or pre- or post-order depth-first 
searching
address@hidden follows symlinks (by default, but can be disabled)
address@hidden directories visited only once (no infinite loop; can be disabled)
address@hidden doesn't chdir during operation
address@hidden provides an API for extensions
address@hidden itemize
+
+As a convenience, the PIR module is an empty subclass of this one that is less
+arduous to type for one-liners.")
+    (license asl2.0)))
-- 
2.15.1






reply via email to

[Prev in Thread] Current Thread [Next in Thread]