gnu: grep: Use gexps.

* gnu/packages/base.scm (grep)[arguments]: Use gexps.

Change-Id: I7311667b8b929161d1e7290ddfe37c0e875364b2
This commit is contained in:
Ludovic Courtès 2024-08-18 17:28:43 +02:00
parent 391ce2ea75
commit 02e43504b3
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -132,39 +132,38 @@ (define-public grep
(native-inputs (list perl)) ;some of the tests require it
(inputs (list pcre2))
(arguments
`(#:configure-flags
(list "--enable-perl-regexp")
(list #:configure-flags #~(list "--enable-perl-regexp")
;; XXX: On 32-bit Hurd platforms, 'time_t' is defined as a 32-bit
;; integer in 'hurd_types.defs', so this Gnulib test always fails.
#:make-flags ,(if (and (not (%current-target-system))
(string=? (%current-system) "i586-gnu"))
''("XFAIL_TESTS=test-year2038")
''())
;; XXX: On 32-bit Hurd platforms, 'time_t' is defined as a 32-bit
;; integer in 'hurd_types.defs', so this Gnulib test always fails.
#:make-flags
#~#$(if (and (not (%current-target-system))
(string=? (%current-system) "i586-gnu"))
#~'("XFAIL_TESTS=test-year2038")
#~'())
#:phases
(modify-phases %standard-phases
(add-after 'install 'fix-egrep-and-fgrep
;; Patch 'egrep' and 'fgrep' to execute 'grep' via its
;; absolute file name instead of searching for it in $PATH.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(substitute* (list (string-append bin "/egrep")
(string-append bin "/fgrep"))
(("^exec grep")
(string-append "exec " bin "/grep"))))))
,@(if (system-hurd?)
'((add-before 'check 'skip-test
(lambda _
(substitute*
;; This test hangs
'("tests/hash-collision-perf"
;; This test fails
"tests/file")
(("^#!.*" all)
(string-append all "exit 77;\n"))))))
'()))))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'fix-egrep-and-fgrep
;; Patch 'egrep' and 'fgrep' to execute 'grep' via its
;; absolute file name instead of searching for it in $PATH.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(substitute* (list (string-append bin "/egrep")
(string-append bin "/fgrep"))
(("^exec grep")
(string-append "exec " bin "/grep"))))))
#$@(if (system-hurd?)
#~((add-before 'check 'skip-test
(lambda _
(substitute* ;; This test hangs
'("tests/hash-collision-perf"
;; This test fails
"tests/file")
(("^#!.*" all)
(string-append all "exit 77;\n"))))))
#~()))))
(synopsis "Print lines matching a pattern")
(description
"grep is a tool for finding text inside files. Text is found by