GNU bug report logs - #45614
[PATCH] gnu: Add ugrep.

Previous Next

Package: guix-patches;

Reported by: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

Date: Sat, 2 Jan 2021 22:11:02 UTC

Severity: normal

Tags: patch

Merged with 45672

Done: Hartmut Goebel <h.goebel <at> crazy-compilers.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 45614 in the body.
You can then email your comments to 45614 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#45614; Package guix-patches. (Sat, 02 Jan 2021 22:11:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 02 Jan 2021 22:11:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add ugrep.
Date: Sat,  2 Jan 2021 23:10:37 +0100
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#45614; Package guix-patches. (Tue, 05 Jan 2021 12:06:02 GMT) Full text and rfc822 format available.

Message #8 received at 45614 <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 45614 <at> debbugs.gnu.org,
	guix-patches <at> gnu.org
Subject: [PATCH v2] gnu: Add ugrep.
Date: Tue,  5 Jan 2021 13:05:37 +0100
* gnu/packages/search.scm (ugrep): New Variable.
---
 gnu/packages/search.scm | 77 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 0a5fa38b30..a7b5e1e383 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2017 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2018 Adam Massmann <massmannak <at> gmail.com>
+;;; Copyright © 2020 Hartmut Goebel <h.goebel <at> 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)
@@ -414,4 +418,77 @@ 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)
+       ("less" ,less)
+       ("lz4" ,lz4)
+       ("lzip" ,lzip)  ;; lzma
+       ("pcre2" ,pcre2)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:configure-flags '("--enable-pager")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-paths-to-binaries
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((less (assoc-ref inputs "less")))
+               (substitute* "src/ugrep.cpp"
+                 (("(#\\s*define +DEFAULT_PAGER_COMMAND +\")(less\\W)" _ a b)
+                  (string-append a less "/bin/" b)))))))))
+    (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





Merged 45614 45672. Request was from Hartmut Goebel <h.goebel <at> goebel-consult.de> to control <at> debbugs.gnu.org. (Tue, 05 Jan 2021 12:15:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#45614; Package guix-patches. (Wed, 13 Jan 2021 15:20:02 GMT) Full text and rfc822 format available.

Message #13 received at 45614 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
Cc: 45614 <at> debbugs.gnu.org
Subject: Re: bug#45614: [PATCH] gnu: Add ugrep.
Date: Wed, 13 Jan 2021 16:19:40 +0100
Hi!

Hartmut Goebel <h.goebel <at> crazy-compilers.com> skribis:

> * gnu/packages/search.scm (ugrep): New Variable.

[...]

> +               '(begin
> +                  (delete-file-recursively "bin")  ;; pre-build executables
> +                  ;; TODO: If there is a script for rebuilding them, remove
> +                  ;; archives, pdf and .class in tests/

Java .class files (is that it?) should definitely be removed.

> +    (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")

That’s too much detail, and it’s also bound to become stale as ugrep
changes.

Could you (1) start with a full sentence, and (2) give a high-level view
of the features in 5–10 lines at most?

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#45614; Package guix-patches. (Fri, 22 Jan 2021 19:59:01 GMT) Full text and rfc822 format available.

Message #16 received at 45614 <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 45614 <at> debbugs.gnu.org
Subject: [PATCH v3] gnu: Add ugrep.
Date: Fri, 22 Jan 2021 20:58:32 +0100
* 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 e261e64a7f..19f029a2bf 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2017 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2018 Adam Massmann <massmannak <at> gmail.com>
+;;; Copyright © 2020 Hartmut Goebel <h.goebel <at> 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,66 @@ 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.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Genivia/ugrep")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32 "0vywgpa97qw8ird3zcscvbkcjnvrj16sh9p6sm8vaklxp2q49xrz"))
+              (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
+     `(#:configure-flags '("--enable-pager")
+       #:tests? #f ;; No script for re-building the binary test input-files
+       #:test-target "test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-paths-to-binaries
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((less (assoc-ref inputs "less")))
+               (substitute* "src/ugrep.cpp"
+                 (("(#\\s*define +DEFAULT_PAGER_COMMAND +\")(less\\W)" _ a b)
+                  (string-append a less "/bin/" b))))))
+         (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
-- 
2.21.3





Information forwarded to guix-patches <at> gnu.org:
bug#45614; Package guix-patches. (Fri, 22 Jan 2021 20:14:02 GMT) Full text and rfc822 format available.

Message #19 received at 45614 <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 45614 <at> debbugs.gnu.org
Subject: Re: bug#45614: [PATCH] gnu: Add ugrep.
Date: Fri, 22 Jan 2021 21:13:20 +0100
Hi Ludo,

thanks for your feedback. You are absolutely right about the ugly list -
thanks for pointing to this.

I just updated the patch, also removing the blobs and appreciate to
learn whether this now suites the Guix Quality ;-)

Anyhow commiting this patch will take some time, since the programm
currently crashes (https://github.com/Genivia/ugrep/issues/99).

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel <at> crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |





Information forwarded to guix-patches <at> gnu.org:
bug#45614; Package guix-patches. (Sat, 23 Jan 2021 19:39:01 GMT) Full text and rfc822 format available.

Message #22 received at 45614 <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 45614 <at> debbugs.gnu.org
Subject: [PATCH v4] gnu: Add ugrep.
Date: Sat, 23 Jan 2021 20:38:07 +0100
* 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 e261e64a7f..2667096c44 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2017 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2018 Adam Massmann <massmannak <at> gmail.com>
+;;; Copyright © 2020 Hartmut Goebel <h.goebel <at> 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,66 @@ 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
+     `(#:configure-flags '("--enable-pager")
+       #:tests? #f ;; No script for re-building the binary test input-files
+       #:test-target "test"
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-paths-to-binaries
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((less (assoc-ref inputs "less")))
+               (substitute* "src/ugrep.cpp"
+                 (("(#\\s*define +DEFAULT_PAGER_COMMAND +\")(less\\W)" _ a b)
+                  (string-append a less "/bin/" b))))))
+         (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
-- 
2.21.3





Information forwarded to guix-patches <at> gnu.org:
bug#45614; Package guix-patches. (Mon, 25 Jan 2021 18:14:02 GMT) Full text and rfc822 format available.

Message #25 received at 45614 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
Cc: 45614 <at> debbugs.gnu.org
Subject: Re: bug#45614: [PATCH] gnu: Add ugrep.
Date: Mon, 25 Jan 2021 19:13:20 +0100
Hi Hartmut,

Hartmut Goebel <h.goebel <at> crazy-compilers.com> skribis:

> thanks for your feedback. You are absolutely right about the ugly list -
> thanks for pointing to this.
>
> I just updated the patch, also removing the blobs and appreciate to
> learn whether this now suites the Guix Quality ;-)

Anyhow, the (guix swh) issue you stumbled upon shouldn’t block package
contributions such as this one IMO.

> Anyhow commiting this patch will take some time, since the programm
> currently crashes (https://github.com/Genivia/ugrep/issues/99).

Just to be clear, I haven’t reviewed the ugrep patch, but when you and
whoever took a look deem it ready, feel free to push!

Thanks,
Ludo’.




Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Wed, 27 Jan 2021 16:00:02 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Wed, 27 Jan 2021 16:00:02 GMT) Full text and rfc822 format available.

Message #30 received at 45614-close <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: 45614-close <at> debbugs.gnu.org
Subject: Re: bug#45614: [PATCH] gnu: Add ugrep.
Date: Wed, 27 Jan 2021 16:58:54 +0100
Pushed as d8aa4444688ce244d2556630c3f7cfe739e01310

Thx for the review.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel <at> crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |





Reply sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
You have taken responsibility. (Wed, 27 Jan 2021 16:00:02 GMT) Full text and rfc822 format available.

Notification sent to Hartmut Goebel <h.goebel <at> crazy-compilers.com>:
bug acknowledged by developer. (Wed, 27 Jan 2021 16:00:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 25 Feb 2021 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 53 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.