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

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Hartmut Goebel <h.goebel@HIDDEN>; Keywords: patch; merged with #45672; dated Sat, 2 Jan 2021 22:11:02 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.

Message received at 45614 <at> debbugs.gnu.org:


Received: (at 45614) by debbugs.gnu.org; 22 Jan 2021 20:13:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 22 15:13:28 2021
Received: from localhost ([127.0.0.1]:33187 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l32oC-0006RI-BF
	for submit <at> debbugs.gnu.org; Fri, 22 Jan 2021 15:13:28 -0500
Received: from mail-out.m-online.net ([212.18.0.10]:34048)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <h.goebel@HIDDEN>) id 1l32oA-0006R8-5y
 for 45614 <at> debbugs.gnu.org; Fri, 22 Jan 2021 15:13:26 -0500
Received: from frontend01.mail.m-online.net (unknown [192.168.8.182])
 by mail-out.m-online.net (Postfix) with ESMTP id 4DMr6s0PZqz1rtZ9;
 Fri, 22 Jan 2021 21:13:25 +0100 (CET)
Received: from localhost (dynscan1.mnet-online.de [192.168.6.70])
 by mail.m-online.net (Postfix) with ESMTP id 4DMr6s08dTz1tYVm;
 Fri, 22 Jan 2021 21:13:25 +0100 (CET)
X-Virus-Scanned: amavisd-new at mnet-online.de
Received: from mail.mnet-online.de ([192.168.8.182])
 by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new,
 port 10024)
 with ESMTP id 3-U1RkefO2Rm; Fri, 22 Jan 2021 21:13:23 +0100 (CET)
Received: from hermia.goebel-consult.de
 (ppp-188-174-60-46.dynamic.mnet-online.de [188.174.60.46])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.mnet-online.de (Postfix) with ESMTPS;
 Fri, 22 Jan 2021 21:13:23 +0100 (CET)
Received: from thisbe.goebel-consult.de (hermia.goebel-consult.de
 [192.168.110.7])
 by hermia.goebel-consult.de (Postfix) with ESMTP id 1E42560170;
 Fri, 22 Jan 2021 21:13:21 +0100 (CET)
Subject: Re: bug#45614: [PATCH] gnu: Add ugrep.
To: =?UTF-8?Q?Ludovic_Court=c3=a8s?= <ludo@HIDDEN>
References: <d27faa5979139afaac0795d08bb3a2d47803522e.1609625371.git.h.goebel@HIDDEN>
 <48feb5af1c746731bd9623b01977fb6e6c9724b5.1609848284.git.h.goebel@HIDDEN>
 <87blds984z.fsf_-_@HIDDEN>
From: Hartmut Goebel <h.goebel@HIDDEN>
Organization: crazy-compilers.com
Message-ID: <bbf032ac-d36a-45ff-5df8-d5fbef473348@HIDDEN>
Date: Fri, 22 Jan 2021 21:13:20 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.12.0
MIME-Version: 1.0
In-Reply-To: <87blds984z.fsf_-_@HIDDEN>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-Spam-Score: -0.9 (/)
X-Debbugs-Envelope-To: 45614
Cc: 45614 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.9 (-)

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@HIDDEN               |
| www.crazy-compilers.com | compilers which you thought are impossible |





Information forwarded to guix-patches@HIDDEN:
bug#45614; Package guix-patches. Full text available.

Message received at 45614 <at> debbugs.gnu.org:


Received: (at 45614) by debbugs.gnu.org; 22 Jan 2021 19:58:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 22 14:58:45 2021
Received: from localhost ([127.0.0.1]:33165 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1l32Zw-000640-P2
	for submit <at> debbugs.gnu.org; Fri, 22 Jan 2021 14:58:45 -0500
Received: from mail-out.m-online.net ([212.18.0.10]:58738)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <h.goebel@HIDDEN>) id 1l32Zr-00063m-Jn
 for 45614 <at> debbugs.gnu.org; Fri, 22 Jan 2021 14:58:43 -0500
Received: from frontend01.mail.m-online.net (unknown [192.168.8.182])
 by mail-out.m-online.net (Postfix) with ESMTP id 4DMqnp1Kpjz1rtZW
 for <45614 <at> debbugs.gnu.org>; Fri, 22 Jan 2021 20:58:37 +0100 (CET)
Received: from localhost (dynscan1.mnet-online.de [192.168.6.70])
 by mail.m-online.net (Postfix) with ESMTP id 4DMqnn6L2Jz1tYVn
 for <45614 <at> debbugs.gnu.org>; Fri, 22 Jan 2021 20:58:37 +0100 (CET)
X-Virus-Scanned: amavisd-new at mnet-online.de
Received: from mail.mnet-online.de ([192.168.8.182])
 by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new,
 port 10024) with ESMTP id 1Pe-CmH7Xdwn for <45614 <at> debbugs.gnu.org>;
 Fri, 22 Jan 2021 20:58:35 +0100 (CET)
Received: from hermia.goebel-consult.de
 (ppp-188-174-60-46.dynamic.mnet-online.de [188.174.60.46])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.mnet-online.de (Postfix) with ESMTPS
 for <45614 <at> debbugs.gnu.org>; Fri, 22 Jan 2021 20:58:35 +0100 (CET)
Received: from thisbe.fritz.box (thisbe.fritz.box [192.168.110.24])
 by hermia.goebel-consult.de (Postfix) with ESMTP id 559D560170;
 Fri, 22 Jan 2021 20:58:32 +0100 (CET)
From: Hartmut Goebel <h.goebel@HIDDEN>
To: 45614 <at> debbugs.gnu.org
Subject: [PATCH v3] gnu: Add ugrep.
Date: Fri, 22 Jan 2021 20:58:32 +0100
Message-Id: <bb5aa75dad5797e774a64e2752054ae220911015.1611345185.git.h.goebel@HIDDEN>
X-Mailer: git-send-email 2.21.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 45614
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

* 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@HIDDEN>
 ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@HIDDEN>
 ;;; Copyright © 2018 Adam Massmann <massmannak@HIDDEN>
+;;; Copyright © 2020 Hartmut Goebel <h.goebel@HIDDEN>
 ;;;
 ;;; 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@HIDDEN:
bug#45614; Package guix-patches. Full text available.

Message received at 45614 <at> debbugs.gnu.org:


Received: (at 45614) by debbugs.gnu.org; 13 Jan 2021 15:19:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 13 10:19:50 2021
Received: from localhost ([127.0.0.1]:36286 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kzhw6-00008v-B0
	for submit <at> debbugs.gnu.org; Wed, 13 Jan 2021 10:19:50 -0500
Received: from eggs.gnu.org ([209.51.188.92]:45410)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1kzhw5-00008i-E3
 for 45614 <at> debbugs.gnu.org; Wed, 13 Jan 2021 10:19:49 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:57911)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>)
 id 1kzhvy-0002d4-Ad; Wed, 13 Jan 2021 10:19:42 -0500
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=39502 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1kzhvx-00052Z-P9; Wed, 13 Jan 2021 10:19:42 -0500
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Hartmut Goebel <h.goebel@HIDDEN>
Subject: Re: bug#45614: [PATCH] gnu: Add ugrep.
References: <d27faa5979139afaac0795d08bb3a2d47803522e.1609625371.git.h.goebel@HIDDEN>
 <48feb5af1c746731bd9623b01977fb6e6c9724b5.1609848284.git.h.goebel@HIDDEN>
Date: Wed, 13 Jan 2021 16:19:40 +0100
In-Reply-To: <48feb5af1c746731bd9623b01977fb6e6c9724b5.1609848284.git.h.goebel@HIDDEN>
 (Hartmut Goebel's message of "Tue, 5 Jan 2021 13:05:37 +0100")
Message-ID: <87blds984z.fsf_-_@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 45614
Cc: 45614 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi!

Hartmut Goebel <h.goebel@HIDDEN> skribis:

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

[...]

> +               '(begin
> +                  (delete-file-recursively "bin")  ;; pre-build executab=
les
> +                  ;; TODO: If there is a script for rebuilding them, rem=
ove
> +                  ;; 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, t=
ext
> +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 s=
tealing
> +@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 match=
es
> +@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, K=
OI8, 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, JSO=
N, HTML
> +@item Output results in CSV, JSON, XML, and user-specified formats
> +@item Sort matching files by name, size, and time
> +@end itemize")

That=E2=80=99s too much detail, and it=E2=80=99s 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=E2=80=9310 lines at most?

Thanks,
Ludo=E2=80=99.




Information forwarded to guix-patches@HIDDEN:
bug#45614; Package guix-patches. Full text available.
Merged 45614 45672. Request was from Hartmut Goebel <h.goebel@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 45614 <at> debbugs.gnu.org:


Received: (at 45614) by debbugs.gnu.org; 5 Jan 2021 12:05:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 05 07:05:46 2021
Received: from localhost ([127.0.0.1]:40972 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kwl5t-00055t-O3
	for submit <at> debbugs.gnu.org; Tue, 05 Jan 2021 07:05:46 -0500
Received: from mail-out.m-online.net ([212.18.0.9]:32953)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <h.goebel@HIDDEN>) id 1kwl5r-00055k-18
 for 45614 <at> debbugs.gnu.org; Tue, 05 Jan 2021 07:05:43 -0500
Received: from frontend01.mail.m-online.net (unknown [192.168.8.182])
 by mail-out.m-online.net (Postfix) with ESMTP id 4D9B5x6HDCz1qsZn;
 Tue,  5 Jan 2021 13:05:41 +0100 (CET)
Received: from localhost (dynscan1.mnet-online.de [192.168.6.70])
 by mail.m-online.net (Postfix) with ESMTP id 4D9B5x4bV3z1sFWF;
 Tue,  5 Jan 2021 13:05:41 +0100 (CET)
X-Virus-Scanned: amavisd-new at mnet-online.de
Received: from mail.mnet-online.de ([192.168.8.182])
 by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new,
 port 10024)
 with ESMTP id fYTV9beHUMNU; Tue,  5 Jan 2021 13:05:40 +0100 (CET)
Received: from hermia.goebel-consult.de
 (ppp-188-174-58-71.dynamic.mnet-online.de [188.174.58.71])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.mnet-online.de (Postfix) with ESMTPS;
 Tue,  5 Jan 2021 13:05:40 +0100 (CET)
Received: from lenashee.fritz.box (lenashee.goebel-consult.de [192.168.110.2])
 by hermia.goebel-consult.de (Postfix) with ESMTP id EB8FC60200;
 Tue,  5 Jan 2021 13:05:37 +0100 (CET)
From: Hartmut Goebel <h.goebel@HIDDEN>
To: 45614 <at> debbugs.gnu.org,
	guix-patches@HIDDEN
Subject: [PATCH v2] gnu: Add ugrep.
Date: Tue,  5 Jan 2021 13:05:37 +0100
Message-Id: <48feb5af1c746731bd9623b01977fb6e6c9724b5.1609848284.git.h.goebel@HIDDEN>
X-Mailer: git-send-email 2.21.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 45614
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

* 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@HIDDEN>
 ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@HIDDEN>
 ;;; Copyright © 2018 Adam Massmann <massmannak@HIDDEN>
+;;; Copyright © 2020 Hartmut Goebel <h.goebel@HIDDEN>
 ;;;
 ;;; 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





Information forwarded to guix-patches@HIDDEN:
bug#45614; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 2 Jan 2021 22:10:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 02 17:10:57 2021
Received: from localhost ([127.0.0.1]:32828 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kvp6v-00046N-4h
	for submit <at> debbugs.gnu.org; Sat, 02 Jan 2021 17:10:57 -0500
Received: from lists.gnu.org ([209.51.188.17]:49152)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <h.goebel@HIDDEN>) id 1kvp6u-00046G-2W
 for submit <at> debbugs.gnu.org; Sat, 02 Jan 2021 17:10:56 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:49706)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <h.goebel@HIDDEN>)
 id 1kvp6n-0003be-Mk
 for guix-patches@HIDDEN; Sat, 02 Jan 2021 17:10:52 -0500
Received: from mail-out.m-online.net ([212.18.0.9]:37368)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <h.goebel@HIDDEN>)
 id 1kvp6i-0001IB-SO
 for guix-patches@HIDDEN; Sat, 02 Jan 2021 17:10:48 -0500
Received: from frontend01.mail.m-online.net (unknown [192.168.8.182])
 by mail-out.m-online.net (Postfix) with ESMTP id 4D7bgP2sRWz1qrLN
 for <guix-patches@HIDDEN>; Sat,  2 Jan 2021 23:10:41 +0100 (CET)
Received: from localhost (dynscan1.mnet-online.de [192.168.6.70])
 by mail.m-online.net (Postfix) with ESMTP id 4D7bgP2lYkz1qs5f
 for <guix-patches@HIDDEN>; Sat,  2 Jan 2021 23:10:41 +0100 (CET)
X-Virus-Scanned: amavisd-new at mnet-online.de
Received: from mail.mnet-online.de ([192.168.8.182])
 by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new,
 port 10024) with ESMTP id usog0x8qqv6X for <guix-patches@HIDDEN>;
 Sat,  2 Jan 2021 23:10:40 +0100 (CET)
Received: from hermia.goebel-consult.de
 (ppp-188-174-51-199.dynamic.mnet-online.de [188.174.51.199])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.mnet-online.de (Postfix) with ESMTPS
 for <guix-patches@HIDDEN>; Sat,  2 Jan 2021 23:10:39 +0100 (CET)
Received: from thisbe.fritz.box (thisbe.fritz.box [192.168.110.24])
 by hermia.goebel-consult.de (Postfix) with ESMTP id B50826023E
 for <guix-patches@HIDDEN>; Sat,  2 Jan 2021 23:15:46 +0100 (CET)
From: Hartmut Goebel <h.goebel@HIDDEN>
To: guix-patches@HIDDEN
Subject: [PATCH] gnu: Add ugrep.
Date: Sat,  2 Jan 2021 23:10:37 +0100
Message-Id: <d27faa5979139afaac0795d08bb3a2d47803522e.1609625371.git.h.goebel@HIDDEN>
X-Mailer: git-send-email 2.21.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Received-SPF: none client-ip=212.18.0.9;
 envelope-from=h.goebel@HIDDEN; helo=mail-out.m-online.net
X-Spam_score_int: -25
X-Spam_score: -2.6
X-Spam_bar: --
X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7,
 RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001,
 SPF_NONE=0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

* 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





Acknowledgement sent to Hartmut Goebel <h.goebel@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#45614; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 22 Jan 2021 20:15:01 UTC

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