Subject: [PATCH] New package: ack

From: Ryan Sundberg <[email-masked]>
Date: Sun, 6 Jun 2021 16:58:53 -0700

ack is a grep-like source code search tool.

(The previous patch had the wrong home-page set.)

Signed-off-by: Ryan Sundberg <[email-masked]>
---
 gnu/packages/search.scm | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 362eb0d95e..e4f48d5906 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2018 Adam Massmann <[email-masked]>
 ;;; Copyright © 2020 Hartmut Goebel <[email-masked]>
+;;; Copyright © 2021 Ryan Sundberg <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,11 +25,12 @@
 
 (define-module (gnu packages search)
   #:use-module ((guix licenses)
-                #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 x11 perl-license))
+                #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 x11 perl-license artistic2.0))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix utils)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
@@ -50,6 +52,31 @@
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml))
 
+(define-public ack
+  (package
+    (name "ack")
+    (version "3.5.0")
+    (source 
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://beyondgrep.com/ack-v" version))
+        (sha256 (base32 "17wq9c1pwisbg4mcmvmdaym8hlawx209iriaxjlw9hwi0v4x6w38"))))
+    (inputs `(("perl" ,perl)))
+    (build-system copy-build-system)
+    (arguments 
+      `(#:install-plan '(("ack" "bin/ack"))
+        #:phases
+        (modify-phases %standard-phases
+          (replace 'unpack 
+                   (lambda* (#:key source #:allow-other-keys)
+                     (copy-file source "ack")
+                     (chmod "ack" #o0755)
+                     #t)))))
+    (home-page "https://beyondgrep.com/")
+    (synopsis "ack is a grep-like source code search tool.")
+    (description "Designed for programmers with large heterogeneous trees of source code, ack is written in portable Perl 5 and takes advantage of the power of Perl's regular expressions. ack is designed as an alternative to grep for programmers.")
+    (license artistic2.0)))
+
 (define-public xapian
   (package
     (name "xapian")
-- 
2.31.1