Subject: [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next

From: Gabriel Wicki <[email-masked]>
Date: Mon, 24 May 2021 21:10:54 +0200

modified:   gnu/packages/perl.scm
 - adds package `perl-file-next' (module File::Next)

modified:   gnu/packages/textutils.scm
 - adds package `ack' with disabled tests
---
 gnu/packages/perl.scm      | 20 ++++++++++++++++++++
 gnu/packages/textutils.scm | 26 ++++++++++++++++++++++++++
 2 files changed, 46 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d35508112f..87d541783e 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -4578,6 +4578,26 @@ that arise trying to find them consistently across a wide variety of
 platforms.")
     (license (package-license perl))))
 
+(define-public perl-file-next
+  (package
+   (name "perl-file-next")
+   (version "1.18")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/petdance/file-next")
+                  (commit version)))
+            (file-name "perl-next-file")
+            (sha256
+             (base32
+              "0zdrxk409qxkbbv4fl4wi285kfzyrpaja9wfl00vrxc078rs4afm"))))
+   (build-system perl-build-system)
+   (synopsis "File::Next is a lightweight, taint-safe file-finding Perl module")
+   (description "A Perl CPAN module for finding files.  It has no non-core
+prerequisites")
+   (home-page "https://metacpan.org/pod/File::Next")
+   (license license:artistic2.0)))
+
 (define-public perl-file-path
   (package
     (name "perl-file-path")
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index ab34373705..7dd7ee80e2 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -45,6 +45,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
   #:use-module (guix utils)
   #:use-module (gnu packages)
@@ -1304,3 +1305,28 @@ languages such as HTML, Markdown, Asciidoc, and reStructuredText.  The community
 around it also has a list of style guides implemented with Vale in
 @url{https://github.com/errata-ai/styles, their styles repo}.")
     (license license:expat)))
+
+(define-public ack
+  (package
+   (name "ack")
+   (version "3.5.0")
+   (source (origin
+            (method git-fetch)
+            (uri
+             (git-reference
+              (url "https://github.com/beyondgrep/ack3")
+              (commit (format #nil "v~a" version))))
+            (file-name "ack")
+            (sha256
+             (base32 "00131vqjbzcn6w22m0h3j6x9kp59dimfnnqhpmi78vbcj0jws1dv"))))
+   (build-system perl-build-system)
+   (arguments '(#:tests? #f))
+   (propagated-inputs `(("perl-file-next" ,perl-file-next)))
+   (synopsis "Code-searching tool optimized for programmers with large trees
+of source code")
+   (description "ack is a tool for finding text inside files. it is designed for
+hackers and programmers by being fast, ignoring VCS directories, letting a user
+easily specify file types, match highlighting, Perl-Compatible Regular
+Expressions, and being faster to type than `grep '")
+   (home-page "https://beyondgrep.com/")
+   (license license:artistic2.0)))
-- 
2.30.2