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

DoneSubmitted by Gabriel Wicki.
Details
4 participants
  • Gabriel Wicki
  • Maxime Devos
  • Xinglu Chen
  • Ricardo Wurmus
Owner
unassigned
Severity
normal
G
G
Gabriel Wicki wrote on 24 May 2021 21:10
(address . guix-patches@gnu.org)
20210524191054.7wtb4wopstgx2c77@silver
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(+)

Toggle diff (74 lines)
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
M
M
Maxime Devos wrote on 24 May 2021 23:01
b8dbcd484944232e2da0a9e9d9e32317ff487dbc.camel@telenet.be
Gabriel Wicki schreef op ma 24-05-2021 om 21:10 [+0200]:
Toggle quote (12 lines)
> [...]
> +(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:

Toggle quote (2 lines)
> + (arguments '(#:tests? #f))

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

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

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYKwUHxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7iWXAQDWOpjbcIknk/MN8PUtmO28a2Ab
mJoir5bh4D53h0eW9wD+NrdV2T56fCmuDKo3OskSi6CUxHokvlWeO+LkDyXoBg8=
=Lo63
-----END PGP SIGNATURE-----


X
X
Xinglu Chen wrote on 24 May 2021 23:26
87mtsj962p.fsf@yoctocell.xyz
On Mon, May 24 2021, Gabriel Wicki wrote:

Toggle quote (6 lines)
> 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’.

Toggle quote (11 lines)
> +(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))’.

Toggle quote (6 lines)
> + (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.

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

The description should contain one or more complete sentences.

Toggle quote (11 lines)
> +(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’.

Toggle quote (2 lines)
> + (file-name "ack")

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

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

What’s the reason for disabling the tests?

Toggle quote (4 lines)
> + (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.

Toggle quote (3 lines)
> +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?

-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmCsGf4VHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5aQ8QAIxabUMnGFQoYw1oOf8ojuow1Eqn
A7uCsWBdxOKoeFEQzHhyvQgQHtgtVTld+pSngpElgSuBeD+HE/j4H477rMiFoj8Q
hVFNDbH2BKDq9GJ7EaBMZA6ZAKTisqhqcbsoR7i78ir6pyFwlV24EA2AJ0H237gK
NAA+9bVo991B4E0pe+nHgTQY9vsN1HstGhKFujTqdGHy++JWZCGNQSSPQmsSYyyT
1aLz7dfYkT+v24CMogIq/Fg5TscZE6Cy1YWtrb87v9rE4kVx9Wbw1WYtGaMtVItc
LEXHNa5nIai2Xfo0VkgsaYmgm2JA7EP9WMGF4QL4h2s+huNkR/9dmpXEVzyEiHaM
oIQIO5k+E77ZnMNqwMnDPc+4GowoDjS1ESyXwtPIK8lB9u0HJCdLDvf98iHJ2f33
mvDMOYuKY+FUDasOCNXZ/swF4OA8HjTT8gyEZ7SPfdcNAWyDxaVYSQclRCHAgwqx
NwELoPRdu1Tm3N0szt55+zgj9uE4H9uFNUMA2VYf96I8ztr71vBa9GyQdti8hNIV
PBu7Ce3gPQDUtvmL+0OzBfW6OOWCZpIdeHBcDL3y5b58OubcMm+wuju3nxyLplom
gkKUqdUYNijBWzDbW+QuirBASZlOll7AdduoCL6ulW/k5bjAiTzRASRY7I1zW53z
5N2LHO9fBvxqgvN+
=Eoj3
-----END PGP SIGNATURE-----

G
G
Gabriel Wicki wrote on 25 May 2021 21:12
Re: bug#48630: Acknowledgement ([PATCH] adds `ack' package and it's perl module dependency File::Next)
(address . 48630@debbugs.gnu.org)
20210525191259.23awunfcwdr6p3cg@silver
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?
X
X
Xinglu Chen wrote on 25 May 2021 23:34
Re: [bug#48630] Acknowledgement ([PATCH] adds `ack' package and it's perl module dependency File::Next)
875yz67b19.fsf@yoctocell.xyz
On Tue, May 25 2021, Gabriel Wicki wrote:

Toggle quote (3 lines)
> thanks for the advice, i'll update and split the patch into a small
> series soon!

Great! :)

Toggle quote (24 lines)
> 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
-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmCtbWIVHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x51D4QALpTSaGICSvR/DwjdpAFdEDZL2tP
LRfQ8aR4bwihMgisSnX9MjIJ0KemK6vPKdCAYuXHfQAEWeBNzFaTmqlPkctlNRXx
uT+VKMWz6GeAYX1p8YjLET5EXLo3351OBeGLkSGH8aTFEHqLH031FZfxPGXvtg7X
1WiJq4Zwh5GBpJlV4WPz1LRVRHF8xeOVrKRtW41XLncrxHAJuxUOsZK5uJ9jzzLA
E3yJbFR/Yg3sMksS76TGKOP72zl09A11o6lO7aViKxilngBzDWPalKYSf/Gu/qai
pZ8tLD/USGbDdb41TVEhR1SNtCt+boyAY4LeoNrFsAo4nwDGV2jj8NPDMPz0DKHG
IWaovGJdKnwnbeY/XLftPg8QIvkQwTyHowDWCS1yJgscZa+eFPMqqE/NCceIekvB
CcVdkpjlDUE67KSRCYa0RDqzr9Ibbpnls0KeST99xQH7PGGIp3uWkoQJq68lljBq
8vUFxgUeqyC9FQRpzRP6rnpnwO8HRhHCUCnDfwTM5ueU+OFqodVrLF/1F3d3ShHr
PWFkfJLFDkXc3JZ0u3FuxU3LpwTc9ODKSzt1rnIeTGPI04K4biMUtJ1J8dMSKq5h
kt7p4Qwhw1DHVRYolSxEMUls2KyJZXTjH8wL3PeFerKCOyg1eBnLmuVWeWbPXE2I
1fxMGRKCHiMbcnrs
=79BR
-----END PGP SIGNATURE-----

G
G
Gabriel Wicki wrote on 26 May 2021 00:03
[PATCH] adds `ack' package and it's perl module dependency File::Next
(address . 48630@debbugs.gnu.org)
20210525220311.oicyl2ofgtdgvzrz@silver
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(+)

Toggle diff (32 lines)
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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEQIEqYR3LlmyDTUWv+AxRnAOZ9fAFAmCtc/IACgkQ+AxRnAOZ
9fCuEA/9ErOWpUlrwAJOi3cCesCrpCba1b/GdmH7mWf45olbol0f4VTHpAO8nc6p
uoGjz3RZagF/00H6gmImBHHWCXzytacCahVXgKIxeRxYzcTF8mUUhPT6SPjDxNqI
oNjooc8aEEj3xbjTXU/sd7DBOchHDFiYSraNlql5puMinF0yLD1whc8pIQbjG2iu
gUGu3OLJweeY7vj3pZcLhjs61RKyJF0Q2NOZ+iZ1QyWz7ugQiuJqdM9bCRIUG5Za
axpp7+CBGVT1HrrZhG90PTRUtGXWMNTsKCBmhfrr+ivQQeX3M2rW0xjNjEKQhqIF
XoNoaQ6U6Kvf+6ZX7pOwkaKiL+dyM1ZMbGo7MTa1S1BqJDh09I+yZa1G9lHDT2pB
yDieBVlPfyK8j9ryI9utQd8S0Q11kkbxOeuaZvgYXvV3p/N49Qo0kpInmFJlNp2s
NvJ62ek9ce+C13w7IU/Xs1SsOHx920FMn0PTSckyWnt3QCaX1P30oRCCL9ILFwVf
37MXrMGoc2X6FASdEeZRKi9rS0M7HPx9aPrYHmmwJhv9WfHTzMcGxDka+5qew8ru
FwjtvqeYLTwO8D6Xy+4oBgXcL2pEf/i02v1XWpFppG32PIzkU1ncOlKo30XXaWWx
ltE34//alLeq3YTRqlZbEdOYJjZXBcCptBdNUcVUF4dN810L5Mg=
=j/9d
-----END PGP SIGNATURE-----


G
G
Gabriel Wicki wrote on 26 May 2021 00:13
(address . 48630@debbugs.gnu.org)
20210525221326.tadqgibhes4bbyyl@silver
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(+)

Toggle diff (63 lines)
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
X
X
Xinglu Chen wrote on 27 May 2021 08:45
875yz43ca3.fsf@yoctocell.xyz
On Wed, May 26 2021, Gabriel Wicki wrote:

Toggle quote (12 lines)
> 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.

-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmCvQBQVHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5P3sP/j0YJR+Abp+vxSrhXxW0x9QR5auv
JFtr3ZQ5WOBHgDAgQiVbIollNjPPrZsNN/g3rirKHZ9QtMOq0aVXLBs4gcA4Vh1o
JkKRXlB+yrasTyJpm7qRZCD/94Ja3Z8APQsWIpTiA87bkgssrQxfkTQsYD5oVvM5
evqcElNVPslYh33Nehf+4krryKDohO7+wBxLIAJb59f8VXc7/BBWS/e7TkfhECNd
srFWNs/2svCJXsY3DZWi3ZGIJiNaNnZ6RpdLHZIQV8ED2WC9ItvelezouQcCFk2N
I7NBkg+xDDugBdzXkWrXfkyGCRJDIngdzCydgutUtX5ehTK/StOzrvQSoFRR4FzZ
u4ssBTAs6k+C3mk1clRVixqSVJ3Eaq6A2Lhn7LLUwoyehmvdevJWNe2G4P8qWU5P
H4ghgJH2PjcDvf878HTK/BaMsqsEVBMmB1eKSRKh708ztj5UWOJl1gPNQ9BwD4WH
SweNocPuZaEV+3G6eitG/EK9pQwoCmWlDfnymSjTAmNRnbptlCrwKNfPfvy2qqsI
GFzYM6vrkJOeXWgZUk4l6/ueT1fZw6zYkviOgb1VLUxU9Sz6mZ/s+A/QKPZp3S4N
gRQef+ko8RW8lQ8cQAit8DCPo7TuhUnqb1x7qUOG4rYDQ0xC3ydt40wAviwQlygZ
lOy2jFQ14cwd+VQs
=GaxI
-----END PGP SIGNATURE-----

G
G
Gabriel Wicki wrote on 27 May 2021 18:45
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 48630@debbugs.gnu.org)
20210527164555.vg2xqiaafkii4x4o@silver
On Thu, May 27, 2021 at 08:45:40AM +0200, Xinglu Chen wrote:
Toggle quote (3 lines)
> 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(+)

Toggle diff (108 lines)
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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEQIEqYR3LlmyDTUWv+AxRnAOZ9fAFAmCvzKcACgkQ+AxRnAOZ
9fCr/w//Sv0zteohkO9n83R/1SfOptXbUfzKePUSHt94ycU1fbLnyr2ODuvuPvOQ
yGWlUJfFJ3njRbdFEg1fyPoMZqOv6zJjroWa/BKZExPi2m2BPmEJoYD0mWfd5kxq
u9pXvEFNOKj5Fgdc9wCfUiwim+QA2Wq9x4c/La9nSFZK8YSzO/FFFN4PP9WJqQbE
tR7SnEKlytKGrW1n1PS+WPS7grvrwrggli1emFV8I/IqiCVDzJIMqgaVbj9zdtDp
jcxuDB3JSCI5a4G6V1do8hPLgHZAzO+XrbYkZloxUL54g8NX9mqV3HGvw+nBrW31
6HmaYeTI6vpiJRs3YRvm+IWIeLmfKzYU8LhmN+e14R0lNlQbBkhZCeCytbUcFUTT
dy2XOdpQTZjXGg6YTsV197uZkYaQ6coqXVqzbvGoQSB5bbhN1eaAw8cMA/johW91
GZt4S2qFp9sizjmd1eyNBdOkjFwbGHuGwCq5wt7uPIL5qQlsaG3/QavGwmmuG6Lm
wq9tFziL4NI1hqCxi8B/cAgkLPplGbdb44Q7PtGu+LPstTtwmwa0Vd3c3kqD08+X
rRqCtQo7Ro+KYF4KKyEkLTKJoEb2y56MFfiQ3jb8BbR5YCI6w21txX45HVhOZfXF
vxeeS1d7V007XJW5JoKAwJD1rsfan/MJW+ae0nHWNoMsIFtDyEA=
=rSMV
-----END PGP SIGNATURE-----


X
X
Xinglu Chen wrote on 28 May 2021 22:13
(name . Gabriel Wicki)(address . gabriel@erlikon.ch)(address . 48630@debbugs.gnu.org)
87v972pqgc.fsf@yoctocell.xyz
On Thu, May 27 2021, Gabriel Wicki wrote:

Toggle quote (6 lines)
> 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.

-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmCxTtQVHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5CsQP/Au+d5Afed+UUIC27nPaLPO3gEAj
FFpNpwb33hhOwSbfbpj6j74mQRnn8yf3uUhiTrS44koknPpyvEYulznZev32qxiv
sTAp/9+Q3AghIAOSav5K5tbbfcl+uYyqq7F05RL3qHtmxrXMPhfOLBnxsN7P1G0K
wVwdScRzxjqwEvQJ+uJgsEvUlUiSE676QJouuUPQAdDLOb9Zc+CTtTFS6qJ5h8r7
FeJCAccVlS0RFMwVgZCDRSRGKsz0gRTwMAWleMUDzKZB1ybnTlk0fZGPToXtvIxg
BS3WHq0Myjp8WmlzQk46okG1FHFbj1BLNEhc8ak9yBn7oMpxZ6kLVxBcVG7P5zZI
POhu5cKzCzJwpEiou8TjQxpBQ5IoVfPNui060C6yUmpKG/nu9jjd+MLVqRXo4OY3
X73/hIS2ASNHMSsqg57nwB4f5D88TlFmsgEB5oCnOQCJotyNdh1KMYlGxzWARDsb
ahrcXnBIgma1/3HKvpG3H7GZM12kJaEJhruinIOW27m9bxwqLNsFaghiE+2WX8xK
BRU1ME4CX877jEetCMmbA75p4DXAxQ487uNongcK4OVdLQA949NBeLem8UD47gfw
9vR4qkeUNaJIxc3piBnoK3iuLceGsNq8gKNoFTLNdU3E+1MID6Cl0ISXpJWqNLRH
Ndc4mx+CWjAbwUB2
=GxgO
-----END PGP SIGNATURE-----

G
G
Gabriel Wicki wrote on 6 Jul 2021 20:52
(name . Xinglu Chen)(address . public@yoctocell.xyz)(address . 48630@debbugs.gnu.org)
20210706185219.xu2ehxph2iaf5nbp@knurd
On Fri, May 28, 2021 at 10:13:07PM +0200, Xinglu Chen wrote:
Toggle quote (2 lines)
> 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?

G
G
Gabriel Wicki wrote on 26 Jul 2021 16:33
Re: bug#48630: Acknowledgement ([PATCH] adds `ack' package and it's perl module dependency File::Next)
(address . 48630@debbugs.gnu.org)
20210726143303.xljnaiuh3mghzyx3@silvi
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(+)

Toggle diff (115 lines)
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
R
R
Ricardo Wurmus wrote on 8 Jul 18:44 +0200
[PATCH] adds `ack' package and it's perl module dependency File::Next
(address . 48630-done@debbugs.gnu.org)
877d4nzh5n.fsf@elephly.net
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
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 48630@debbugs.gnu.org