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