From: Hartmut Goebel <h.goebel@crazy-compilers.com>
To: 45614@debbugs.gnu.org
Subject: [bug#45614] [PATCH] gnu: Add ugrep.
Date: Sat, 2 Jan 2021 23:10:37 +0100 [thread overview]
Message-ID: <d27faa5979139afaac0795d08bb3a2d47803522e.1609625371.git.h.goebel@crazy-compilers.com> (raw)
* gnu/packages/search.scm (ugrep): New Variable.
---
gnu/packages/search.scm | 66 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 0a5fa38b30..2db7f9c48f 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -26,6 +26,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)
@@ -36,6 +37,7 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages freedesktop)
#: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)
@@ -414,4 +416,68 @@ 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.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Genivia/ugrep")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "136pcxb4rykflnvlm1zjj6ksdr0c9bhcvyzixkixmix5s122q6jz"))
+ (file-name (string-append name "-" version "-checkout"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "bin") ;; pre-build executables
+ ;; TODO: If there is a script for rebuilding them, remove
+ ;; archives, pdf and .class in tests/
+ #t))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("bzip2" ,bzip2)
+ ("lz4" ,lz4)
+ ("lzip" ,lzip) ;; lzma
+ ("pcre2" ,pcre2)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:configure-flags '("--enable-pager")))
+ (home-page "https://github.com/Genivia/ugrep/")
+ (synopsis "Faster grep with an interactive query UI")
+ (description "Universal grep: ultra fast searcher of file systems, text
+and binary files, source code, archives, compressed files, documents, and
+more.
+
+The main features include:
+
+@itemize
+@item Written in clean and efficient C++11, built for speed
+@item Ultra fast with new match algorithms beating grep, ripgrep, silver
+ searcher, hyperscan, etc.
+@item Multi-threaded search using high-performance lock-free job queue stealing
+@item Multi-threaded task-parallel decompression and search
+@item Optimized pattern matching (AVX, SSE2, ARM NEON/AArch64)
+@item Optimized asynchronous IO for efficient concurrent searching
+@item Thoroughly tested (includes over 1000 test cases)
+@item Compatible with the standard GNU/BSD grep command-line options
+@item Comprehensive how-to tutorial for beginners to advanced users
+@item Interactive query UI to enter search patterns
+@item Select files to search by file types, filename suffix, and \"magic bytes\"
+@item Search archives (cpio, jar, tar, pax, zip)
+@item Search compressed files (zip, gz, Z, bz, bz2, lzma, xz)
+@item Search pdf, doc, docx, xls, xlxs, and more using filters
+@item Search binary files and display hexdumps with binary pattern matches
+@item Search UTF-encoded files with Unicode pattern matches (by default)
+@item Search files encoded in ISO-8859-1 thru 16, CP 437, CP 850, MAC, KOI8, etc.
+@item Search files excluding files specified by .gitignore etc.
+@item Search patterns across newlines, matching multiple lines at once
+@item Search patterns excluding negative patterns (\"match this but not that\")
+@item Includes predefined regex patterns to search source code, XML, JSON, HTML
+@item Output results in CSV, JSON, XML, and user-specified formats
+@item Sort matching files by name, size, and time
+@end itemize")
+ (license bsd-3)))
+
;;; search.scm ends here
--
2.21.3
next reply other threads:[~2021-01-02 22:11 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-02 22:10 Hartmut Goebel [this message]
2021-01-05 12:05 ` [bug#45672] [PATCH v2] gnu: Add ugrep Hartmut Goebel
2021-01-13 15:19 ` [bug#45614] [PATCH] " Ludovic Courtès
2021-01-22 20:13 ` Hartmut Goebel
2021-01-25 18:13 ` Ludovic Courtès
2021-01-27 15:58 ` bug#45614: " Hartmut Goebel
2021-01-22 19:58 ` [bug#45614] [PATCH v3] " Hartmut Goebel
2021-01-23 19:38 ` [bug#45614] [PATCH v4] " Hartmut Goebel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d27faa5979139afaac0795d08bb3a2d47803522e.1609625371.git.h.goebel@crazy-compilers.com \
--to=h.goebel@crazy-compilers.com \
--cc=45614@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).