gnu: Add ugrep.

* gnu/packages/search.scm (ugrep): New Variable.
This commit is contained in:
Hartmut Goebel 2021-01-01 19:10:34 +01:00
parent 3ab7e15cc5
commit d8aa444468
No known key found for this signature in database
GPG Key ID: 634A8DFFD3F631DF

View File

@ -5,6 +5,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,6 +27,7 @@
#:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 x11 perl-license))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
@ -35,7 +37,9 @@
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages less)
#:use-module (gnu packages linux)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
#:use-module (gnu packages python)
@ -413,4 +417,59 @@ online libraries. It provides fast search of document text and
bibliographic data and simple document and bibtex retrieval.")
(license gpl3+)))
(define-public ugrep
(package
(name "ugrep")
(version "3.1.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Genivia/ugrep")
(commit (string-append "v" version))))
(sha256
(base32 "1ydnpdhn1mp2pnbqzvwabrp573626k89kbv97fax6y1bz2pamrg4"))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "bin") ;; pre-build executables
(for-each delete-file (find-files "tests" "^archive\\..*"))
(for-each delete-file (find-files "tests" "^.*\\.pdf$"))
(for-each delete-file (find-files "tests" "^.*\\.class$"))
#t))))
(build-system gnu-build-system)
(inputs
`(("bzip2" ,bzip2)
("less" ,less)
("lz4" ,lz4)
("lzip" ,lzip) ;; lzma
("pcre2" ,pcre2)
("zlib" ,zlib)))
(arguments
`(#:tests? #f ;; No script for re-building the binary test input-files
#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
;; unpatch shepengs in tests
(substitute* '("tests/Hello.bat"
"tests/Hello.sh")
(("#!/gnu/store/.*/bin/sh") "#!/bin/sh")))))))
(home-page "https://github.com/Genivia/ugrep/")
(synopsis "Faster grep with an interactive query UI")
(description "Ugrep is a ultra fast searcher of file systems, text
and binary files, source code, archives, compressed files, documents, and
more.
While still being compatible with the standard GNU/BSD grep command-line
options, ugrep supports fuzzy search as well as structured and (adjustable)
colored output, piped through \"less\" for pagination. An interactive query
UI allows refinement and has a built-in help (press F1). Ugrep implements
multi-threaded and other techniques to speed up search, pattern-matching and
decompression. Many pre-defined regexps ease searching e.g. C typdefs or XML
attributes. Results can be output in several structured or self-defined
formats.")
(license bsd-3)))
;;; search.scm ends here