~ruther/guix-local

1063d325ea76aa2b00dfcd3d436b16e412103df1 — Mark H Weaver 9 years ago 5cbc24d
gnu: grep: Fix egrep/fgrep to work regardless of PATH.

* gnu/packages/base.scm (grep)[arguments]: New field.  Add
'fix-egrep-and-fgrep' phase.
1 files changed, 14 insertions(+), 0 deletions(-)

M gnu/packages/base.scm
M gnu/packages/base.scm => gnu/packages/base.scm +14 -0
@@ 88,6 88,20 @@ command-line arguments, multiple languages, and so on.")
            (patches (search-patches "grep-timing-sensitive-test.patch"))))
   (build-system gnu-build-system)
   (native-inputs `(("perl" ,perl)))             ;some of the tests require it
   (arguments
    `(#: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")))
              #t))))))
   (synopsis "Print lines matching a pattern")
   (description
     "grep is a tool for finding text inside files.  Text is found by