unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next
@ 2021-05-24 19:10 Gabriel Wicki
  2021-05-24 21:01 ` Maxime Devos
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Gabriel Wicki @ 2021-05-24 19:10 UTC (permalink / raw)
  To: 48630

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





^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next
  2021-05-24 19:10 [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next Gabriel Wicki
@ 2021-05-24 21:01 ` Maxime Devos
  2021-05-24 21:26 ` Xinglu Chen
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: Maxime Devos @ 2021-05-24 21:01 UTC (permalink / raw)
  To: Gabriel Wicki, 48630

[-- Attachment #1: Type: text/plain, Size: 875 bytes --]

Gabriel Wicki schreef op ma 24-05-2021 om 21:10 [+0200]:
> [...]
> +(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))))

#f is an elisp compatibility hack in Guile.
Use (format #f "v~a" version) instead, or simpler
(string-append "v" version).

Looking at the patch only and (I didn't test it, didn't do
licensing checks, etc.) I only see one other problem:

> +   (arguments '(#:tests? #f))

Why are the tests disabled? (Are there none, do they need
additional packages not in Guix, ...) Maybe add a line like

> +   ;; There is no test suite.
> +   (arguments '(#:tests? #f))

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next
  2021-05-24 19:10 [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next Gabriel Wicki
  2021-05-24 21:01 ` Maxime Devos
@ 2021-05-24 21:26 ` Xinglu Chen
  2021-05-25 22:13 ` Gabriel Wicki
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: Xinglu Chen @ 2021-05-24 21:26 UTC (permalink / raw)
  To: Gabriel Wicki, 48630

[-- Attachment #1: Type: text/plain, Size: 3016 bytes --]

On Mon, May 24 2021, Gabriel Wicki wrote:

> modified:   gnu/packages/perl.scm
>  - adds package `perl-file-next' (module File::Next)
>
> modified:   gnu/packages/textutils.scm
>  - adds package `ack' with disabled tests

Commit messages should be written in ChangeLog format[1], you can look
at previous commits for examples.

This commit should also be split into two separate commits, one adding
‘perl-file-next’, and the other adding ‘ack’.

> +(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")

Use ‘(file-name (git-file-name name version))’.

> +            (sha256
> +             (base32
> +              "0zdrxk409qxkbbv4fl4wi285kfzyrpaja9wfl00vrxc078rs4afm"))))
> +   (build-system perl-build-system)
> +   (synopsis "File::Next is a lightweight, taint-safe file-finding Perl module")

Try to make the synopsis as concise as possible, just “Lightweight,
taint-safe file-finding Perl module” should do.  See the ‘Synopses and
Descriptions’ section of the manual.

> +   (description "A Perl CPAN module for finding files.  It has no non-core
> +prerequisites")

The description should contain one or more complete sentences.

> +(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))))

We usually use ‘(string-append "v" version)’ instead of ‘format’.

> +            (file-name "ack")

Use ‘(file-name (git-file-name name version))’ (same as above).

> +            (sha256
> +             (base32 "00131vqjbzcn6w22m0h3j6x9kp59dimfnnqhpmi78vbcj0jws1dv"))))
> +   (build-system perl-build-system)
> +   (arguments '(#:tests? #f))

What’s the reason for disabling the tests?

> +   (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
                                                                ^^
Please use double spacing, and capitalize.

> +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 '")
                                                   ^^
Unecessary whitespace, and missing period.

Could you send an updated series?

[1]: https://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#48630] Acknowledgement ([PATCH] adds `ack' package and it's perl module dependency File::Next)
       [not found] ` <handler.48630.B.162188348523111.ack@debbugs.gnu.org>
@ 2021-05-25 19:12   ` Gabriel Wicki
  2021-05-25 21:34     ` Xinglu Chen
  2021-07-26 14:33   ` [bug#48630] Acknowledgement ([PATCH] adds `ack' package and it's perl module dependency File::Next) Gabriel Wicki
  1 sibling, 1 reply; 13+ messages in thread
From: Gabriel Wicki @ 2021-05-25 19:12 UTC (permalink / raw)
  To: 48630

thanks for the advice, i'll update and split the patch into a small
series soon!


the tests are deactivated because 3 of 841 fail. they seem to check
some kind of shebang #! paths. see this excerpt from the build log:

#   Failed test 'Util::sets_match( TEST_TYPE with -t perl )'
#   at t/ack-type.t line 43.

	# actual[
	#   't/swamp/0:1:#!/gnu/store/8zvc5mvk0xm3ygrxsgpyy5ilxb5rzjry-perl-5.30.2/bin/perl -w',
...
	# ]
	# expected[
	#   't/swamp/0:1:#!/usr/bin/perl -w',
...
	# ]

these lines are being ignored by the patch-generated-file-shebangs
phase, maybe because the #! aren't at the beginning of the line?

i'm a total novice in Perl, so i'm not sure what exactly is happening
there or why this is even tested.

should i try and add my own version of a patch-shebang after the
patch-generated-file-shebangs phase?




^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#48630] Acknowledgement ([PATCH] adds `ack' package and it's perl module dependency File::Next)
  2021-05-25 19:12   ` [bug#48630] Acknowledgement ([PATCH] adds `ack' package and it's perl module dependency File::Next) Gabriel Wicki
@ 2021-05-25 21:34     ` Xinglu Chen
  2021-05-25 22:03       ` [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next Gabriel Wicki
  0 siblings, 1 reply; 13+ messages in thread
From: Xinglu Chen @ 2021-05-25 21:34 UTC (permalink / raw)
  To: Gabriel Wicki, 48630

[-- Attachment #1: Type: text/plain, Size: 1466 bytes --]

On Tue, May 25 2021, Gabriel Wicki wrote:

> thanks for the advice, i'll update and split the patch into a small
> series soon!

Great! :)

> the tests are deactivated because 3 of 841 fail. they seem to check
> some kind of shebang #! paths. see this excerpt from the build log:
>
> #   Failed test 'Util::sets_match( TEST_TYPE with -t perl )'
> #   at t/ack-type.t line 43.
>
> 	# actual[
> 	#   't/swamp/0:1:#!/gnu/store/8zvc5mvk0xm3ygrxsgpyy5ilxb5rzjry-perl-5.30.2/bin/perl -w',
> ...
> 	# ]
> 	# expected[
> 	#   't/swamp/0:1:#!/usr/bin/perl -w',
> ...
> 	# ]
>
> these lines are being ignored by the patch-generated-file-shebangs
> phase, maybe because the #! aren't at the beginning of the line?
>
> i'm a total novice in Perl, so i'm not sure what exactly is happening
> there or why this is even tested.
>
> should i try and add my own version of a patch-shebang after the
> patch-generated-file-shebangs phase?

Yes, you could add add a phase after the ‘patch-generated-file-shebangs’
phase that replaces #!/usr/bin/perl with #!/gnu/store/...-perl/bin/perl.
Something like this should work (untested):

#+begin_src scheme
(add-after 'patch-generated-file-shebangs 'patch-more-shebangs
  (lambda (#:key inputs #:allow-other-keys)
    (substitute* '("t/ack-type.t" ...)
      (let ((perl (assoc-ref inputs "perl")))
        (("/usr/bin/perl")
         (string-append perl "/bin/perl"))))))
#+end_src         


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next
  2021-05-25 21:34     ` Xinglu Chen
@ 2021-05-25 22:03       ` Gabriel Wicki
  0 siblings, 0 replies; 13+ messages in thread
From: Gabriel Wicki @ 2021-05-25 22:03 UTC (permalink / raw)
  To: 48630

[-- Attachment #1: Type: text/plain, Size: 1597 bytes --]

From 65c6ef5af4ac8207b6d8905bdc381fc51075367b Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Tue, 25 May 2021 23:52:59 +0200
Subject: [PATCH] add package perl-find-next

modified:   gnu/packages/perl.scm
 - add package definition `perl-file-next' for File::Next Perl module
---
 gnu/packages/perl.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d35508112f..4f36fc3e44 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -4654,6 +4654,25 @@ provided base directory and can return files (and/or directories if desired)
 matching a regular expression.")
     (home-page "https://metacpan.org/release/File-List")))
 
+(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 (git-file-name name version))
+            (sha256
+             (base32
+              "0zdrxk409qxkbbv4fl4wi285kfzyrpaja9wfl00vrxc078rs4afm"))))
+   (build-system perl-build-system)
+   (synopsis "Lightweight, taint-safe file-finding Perl module")
+   (description "File::Next is a Perl CPAN module for finding files.")
+   (home-page "https://metacpan.org/pod/File::Next")
+   (license license:artistic2.0)))
+
 (define-public perl-file-readbackwards
   (package
     (name "perl-file-readbackwards")
-- 
2.30.2


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next
  2021-05-24 19:10 [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next Gabriel Wicki
  2021-05-24 21:01 ` Maxime Devos
  2021-05-24 21:26 ` Xinglu Chen
@ 2021-05-25 22:13 ` Gabriel Wicki
  2021-05-27  6:45   ` Xinglu Chen
       [not found] ` <handler.48630.B.162188348523111.ack@debbugs.gnu.org>
  2022-07-08 16:44 ` bug#48630: [PATCH] adds `ack' package and it's perl module dependency File::Next Ricardo Wurmus
  4 siblings, 1 reply; 13+ messages in thread
From: Gabriel Wicki @ 2021-05-25 22:13 UTC (permalink / raw)
  To: 48630

From 2c708fcb56bdb7549a9de7535a0aaf936a18e8a0 Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Wed, 26 May 2021 00:08:09 +0200
Subject: [PATCH] add package ack to (gnu packages textutils)

modified:   gnu/packages/textutils.scm
 - add package ack
 - add (guix build-system perl) and (gnu packages perl) to imports
---
 gnu/packages/textutils.scm | 39 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index ab34373705..1df5050f30 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)
@@ -59,6 +60,7 @@
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-xyz)
@@ -1304,3 +1306,40 @@ 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 (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32 "00131vqjbzcn6w22m0h3j6x9kp59dimfnnqhpmi78vbcj0jws1dv"))))
+   (build-system perl-build-system)
+   (arguments '(#:tests? #t
+                #:phases (modify-phases
+                          %standard-phases
+                          (add-after 'patch-generated-file-shebangs 'patch-more-shebangs
+                                     (lambda* (#:key inputs #:allow-other-keys)
+                                       (let ((perl (string-append
+                                                    (assoc-ref inputs "perl")
+                                                    "/bin/perl")))
+                                         (substitute* "t/ack-type.t"
+                                                      (("/usr/bin/perl")
+                                                       perl)
+                                                      (("/usr/bin/env perl")
+                                                       perl))))))))
+   (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





^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next
  2021-05-25 22:13 ` Gabriel Wicki
@ 2021-05-27  6:45   ` Xinglu Chen
  2021-05-27 16:45     ` Gabriel Wicki
  0 siblings, 1 reply; 13+ messages in thread
From: Xinglu Chen @ 2021-05-27  6:45 UTC (permalink / raw)
  To: Gabriel Wicki, 48630

[-- Attachment #1: Type: text/plain, Size: 672 bytes --]

On Wed, May 26 2021, Gabriel Wicki wrote:

> From 2c708fcb56bdb7549a9de7535a0aaf936a18e8a0 Mon Sep 17 00:00:00 2001
> From: Gabriel Wicki <gabriel@erlikon.ch>
> Date: Wed, 26 May 2021 00:08:09 +0200
> Subject: [PATCH] add package ack to (gnu packages textutils)
>
> modified:   gnu/packages/textutils.scm
>  - add package ack
>  - add (guix build-system perl) and (gnu packages perl) to imports
> ---
>  gnu/packages/textutils.scm | 39 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 39 insertions(+)

Apart from the commit message not conforming to the ChangeLog format[1],
looks good to me.

[1]: https://www.gnu.org/prep/standards/html_node/Change-Logs.html


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next
  2021-05-27  6:45   ` Xinglu Chen
@ 2021-05-27 16:45     ` Gabriel Wicki
  2021-05-28 20:13       ` Xinglu Chen
  0 siblings, 1 reply; 13+ messages in thread
From: Gabriel Wicki @ 2021-05-27 16:45 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 48630

[-- Attachment #1: Type: text/plain, Size: 5062 bytes --]

On Thu, May 27, 2021 at 08:45:40AM +0200, Xinglu Chen wrote:
> Apart from the commit message not conforming to the ChangeLog format[1],
> looks good to me.

Sorry for that! I hope i got it right, now :)


From 6bd756812bfc684ca92c4aa9c9d3d573b6bb5717 Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Thu, 27 May 2021 18:33:19 +0200
Subject: [PATCH] add package perl-file-next

* gnu/packages/perl.scm (perl-file-next): New variable.
---
 gnu/packages/perl.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d35508112f..4f36fc3e44 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -4654,6 +4654,25 @@ provided base directory and can return files (and/or directories if desired)
 matching a regular expression.")
     (home-page "https://metacpan.org/release/File-List")))
 
+(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 (git-file-name name version))
+            (sha256
+             (base32
+              "0zdrxk409qxkbbv4fl4wi285kfzyrpaja9wfl00vrxc078rs4afm"))))
+   (build-system perl-build-system)
+   (synopsis "Lightweight, taint-safe file-finding Perl module")
+   (description "File::Next is a Perl CPAN module for finding files.")
+   (home-page "https://metacpan.org/pod/File::Next")
+   (license license:artistic2.0)))
+
 (define-public perl-file-readbackwards
   (package
     (name "perl-file-readbackwards")
-- 
2.30.2



From 499cf536648320a628cc7aef2606b8817220f27d Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Thu, 27 May 2021 18:40:56 +0200
Subject: [PATCH] add package ack

* gnu/packages/textutils.scm (ack): New variable.
---
 gnu/packages/textutils.scm | 39 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index ab34373705..1df5050f30 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)
@@ -59,6 +60,7 @@
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-xyz)
@@ -1304,3 +1306,40 @@ 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 (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32 "00131vqjbzcn6w22m0h3j6x9kp59dimfnnqhpmi78vbcj0jws1dv"))))
+   (build-system perl-build-system)
+   (arguments '(#:tests? #t
+                #:phases (modify-phases
+                          %standard-phases
+                          (add-after 'patch-generated-file-shebangs 'patch-more-shebangs
+                                     (lambda* (#:key inputs #:allow-other-keys)
+                                       (let ((perl (string-append
+                                                    (assoc-ref inputs "perl")
+                                                    "/bin/perl")))
+                                         (substitute* "t/ack-type.t"
+                                                      (("/usr/bin/perl")
+                                                       perl)
+                                                      (("/usr/bin/env perl")
+                                                       perl))))))))
+   (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


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next
  2021-05-27 16:45     ` Gabriel Wicki
@ 2021-05-28 20:13       ` Xinglu Chen
  2021-07-06 18:52         ` Gabriel Wicki
  0 siblings, 1 reply; 13+ messages in thread
From: Xinglu Chen @ 2021-05-28 20:13 UTC (permalink / raw)
  To: Gabriel Wicki; +Cc: 48630

[-- Attachment #1: Type: text/plain, Size: 516 bytes --]

On Thu, May 27 2021, Gabriel Wicki wrote:

> On Thu, May 27, 2021 at 08:45:40AM +0200, Xinglu Chen wrote:
>> Apart from the commit message not conforming to the ChangeLog format[1],
>> looks good to me.
>
> Sorry for that! I hope i got it right, now :)

I forgot to mention that this applies to the ‘ack’ package as well[1],
sorry for the inconvenience!

Also, I don’t have commit access, so you will have to wait for someone
else to merge the patches.

[1]: https://issues.guix.gnu.org/48630#6

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next
  2021-05-28 20:13       ` Xinglu Chen
@ 2021-07-06 18:52         ` Gabriel Wicki
  0 siblings, 0 replies; 13+ messages in thread
From: Gabriel Wicki @ 2021-07-06 18:52 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: 48630

On Fri, May 28, 2021 at 10:13:07PM +0200, Xinglu Chen wrote:
> I forgot to mention that this applies to the ‘ack’ package as well[1],
> sorry for the inconvenience!
Now I'm confused...  Both patches are included in my last email[1].
Or am I missing something?

[1] https://issues.guix.gnu.org/48630#8




^ permalink raw reply	[flat|nested] 13+ messages in thread

* [bug#48630] Acknowledgement ([PATCH] adds `ack' package and it's perl module dependency File::Next)
       [not found] ` <handler.48630.B.162188348523111.ack@debbugs.gnu.org>
  2021-05-25 19:12   ` [bug#48630] Acknowledgement ([PATCH] adds `ack' package and it's perl module dependency File::Next) Gabriel Wicki
@ 2021-07-26 14:33   ` Gabriel Wicki
  1 sibling, 0 replies; 13+ messages in thread
From: Gabriel Wicki @ 2021-07-26 14:33 UTC (permalink / raw)
  To: 48630

Please disregard my previous messages.  The previously posted version of
ack only worked when perl-file-next was part of the user's profile.
The new patches address that issue (though I only changed the commit
title of the first patch).
I hope I finally got it all right :)

Thanks to all for pointers and patience!

From 974467a42085e342202339038c644c8579e890d1 Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Mon, 26 Jul 2021 15:43:36 +0200
Subject: [PATCH] gnu: Add perl-file-next.

* gnu/packages/perl.scm (perl-file-next): New variable.
---
 gnu/packages/perl.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index db10c44a20..545ef61d76 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -4789,6 +4789,25 @@ provided base directory and can return files (and/or directories if desired)
 matching a regular expression.")
     (home-page "https://metacpan.org/release/File-List")))
 
+(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 (git-file-name name version))
+            (sha256
+             (base32
+              "0zdrxk409qxkbbv4fl4wi285kfzyrpaja9wfl00vrxc078rs4afm"))))
+   (build-system perl-build-system)
+   (synopsis "Lightweight, taint-safe file-finding Perl module")
+   (description "File::Next is a Perl CPAN module for finding files.")
+   (home-page "https://metacpan.org/pod/File::Next")
+   (license license:artistic2.0)))
+
 (define-public perl-file-readbackwards
   (package
     (name "perl-file-readbackwards")
-- 
2.32.0


From 8150ec6199e91f53ac36c5c1d217e2f216101324 Mon Sep 17 00:00:00 2001
From: Gabriel Wicki <gabriel@erlikon.ch>
Date: Mon, 26 Jul 2021 16:02:32 +0200
Subject: [PATCH] gnu: Add ack.

* gnu/packages/textutils.scm (ack): New variable.
---
 gnu/packages/textutils.scm | 54 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index c3f4580a47..dcec1088b1 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,56 @@ 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 (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256
+             (base32 "00131vqjbzcn6w22m0h3j6x9kp59dimfnnqhpmi78vbcj0jws1dv"))))
+   (build-system perl-build-system)
+   (arguments `(#:phases (modify-phases
+                          %standard-phases
+                          (add-after
+                           'patch-generated-file-shebangs 'patch-more-shebangs
+                           (lambda* (#:key inputs outputs #:allow-other-keys)
+                             (let ((perl (string-append
+                                          (assoc-ref inputs "perl")
+                                          "/bin/perl"))
+                                   (append-inc-string
+                                    (lambda (i)
+                                      (string-append
+                                       i "/lib/perl5/site_perl/"
+                                       ,(package-version perl)))))
+                               (substitute*
+                                "t/ack-type.t"
+                                (("/usr/bin/perl")
+                                 perl)
+                                (("/usr/bin/env perl")
+                                 perl))
+                               (substitute*
+                                "ack"
+                                (("/bin/perl") ;; add @INC include paths to perl calls
+                                 (string-append
+                                  "/bin/perl -I "
+                                  (append-inc-string
+                                   (assoc-ref inputs "perl-file-next"))
+                                  " -I "
+                                  (append-inc-string
+                                   (assoc-ref outputs "out")))))))))))
+   (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.32.0




^ permalink raw reply related	[flat|nested] 13+ messages in thread

* bug#48630: [PATCH] adds `ack' package and it's perl module dependency File::Next
  2021-05-24 19:10 [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next Gabriel Wicki
                   ` (3 preceding siblings ...)
       [not found] ` <handler.48630.B.162188348523111.ack@debbugs.gnu.org>
@ 2022-07-08 16:44 ` Ricardo Wurmus
  4 siblings, 0 replies; 13+ messages in thread
From: Ricardo Wurmus @ 2022-07-08 16:44 UTC (permalink / raw)
  To: 48630-done

Commit 1051db25267a9bbc0ad38be2f3ec92af40f18e18 adds ack.  I’ve
reformatted your patch a little, but nothing fundamental has been
changed.

Thank you for your patience!  Let’s hope your next patch gets noticed
sooner.  Feel free to ping us on IRC if you think we may have forgotten
about your contributions.

Thanks again!

-- 
Ricardo




^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-07-08 16:59 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-24 19:10 [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next Gabriel Wicki
2021-05-24 21:01 ` Maxime Devos
2021-05-24 21:26 ` Xinglu Chen
2021-05-25 22:13 ` Gabriel Wicki
2021-05-27  6:45   ` Xinglu Chen
2021-05-27 16:45     ` Gabriel Wicki
2021-05-28 20:13       ` Xinglu Chen
2021-07-06 18:52         ` Gabriel Wicki
     [not found] ` <handler.48630.B.162188348523111.ack@debbugs.gnu.org>
2021-05-25 19:12   ` [bug#48630] Acknowledgement ([PATCH] adds `ack' package and it's perl module dependency File::Next) Gabriel Wicki
2021-05-25 21:34     ` Xinglu Chen
2021-05-25 22:03       ` [bug#48630] [PATCH] adds `ack' package and it's perl module dependency File::Next Gabriel Wicki
2021-07-26 14:33   ` [bug#48630] Acknowledgement ([PATCH] adds `ack' package and it's perl module dependency File::Next) Gabriel Wicki
2022-07-08 16:44 ` bug#48630: [PATCH] adds `ack' package and it's perl module dependency File::Next Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).