guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

26/137: gnu: ripgrep: Update to 14.0.3.


From: guix-commits
Subject: 26/137: gnu: ripgrep: Update to 14.0.3.
Date: Thu, 21 Dec 2023 04:26:03 -0500 (EST)

efraim pushed a commit to branch rust-team
in repository guix.

commit ace714a6ed1dd2379c1648bd51576e2e351c5f24
Author: Jaeme Sifat <jaeme@runbox.com>
AuthorDate: Tue Dec 12 13:10:24 2023 -0500

    gnu: ripgrep: Update to 14.0.3.
    
    * gnu/packages/rust-apps.scm (ripgrep): Update to 14.0.3.
    [cargo-inputs]: Add rust-anyhow-1, rust-lexopt-0.3, rust-textwrap-0.16.
    Replace rust-bstr-0.2 with 1, rust-grep-0.2 with 0.3,
    rust-jemallocator-0.3 with 0.5.  Remove rust-clap-2, rust-lazy-static-1,
    rust-num-cpus-1, rust-regex-1.
    [arguments]: Replace custom 'install-manpage with 'install-extras and
    install shell completions.  Remove extra modules.
    [native-inputs]: Remove asciidoc.  Add ripgrep when cross-compiling.
    [synopsis, description]: Expand.
    Change-Id: Iedf371a36d704072f4f3a9a3765c77dd22ea6642
    Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
    
    Change-Id: Ie99687ad5d7d7a9178dba08e1e7f100f96854336
---
 gnu/packages/rust-apps.scm | 109 ++++++++++++++++++++++++++-------------------
 1 file changed, 63 insertions(+), 46 deletions(-)

diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index ab8534f64a..f17c2dd0a7 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -1149,61 +1149,78 @@ more.")
 (define-public ripgrep
   (package
     (name "ripgrep")
-    (version "13.0.0")
+    (version "14.0.3")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ripgrep" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "1gv4imhjgxmyxaa996yshcjlakmrjw9pf4rycp90pq675cn9sz7k"))))
+        (base32 "192n1lih9vzhf7r2ak985fap23x608qjdq9pqjcf43h3g9mjzjh0"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-bstr" ,rust-bstr-0.2)
-        ("rust-clap" ,rust-clap-2)
-        ("rust-grep" ,rust-grep-0.2)
-        ("rust-ignore" ,rust-ignore-0.4)
-        ("rust-jemallocator" ,rust-jemallocator-0.3)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-num-cpus" ,rust-num-cpus-1)
-        ("rust-regex" ,rust-regex-1)
-        ("rust-serde-json" ,rust-serde-json-1)
-        ("rust-termcolor" ,rust-termcolor-1))
-       #:cargo-development-inputs
-       (("rust-serde" ,rust-serde-1)
-        ("rust-serde-derive" ,rust-serde-derive-1)
-        ("rust-walkdir" ,rust-walkdir-2))
-       #:modules ((ice-9 match)
-                  (guix build cargo-build-system)
-                  (guix build utils))
-       #:install-source? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'build 'install-manpage
-           ;; NOTE: This is done before 'check so that there's only one output
-           ;; directory with the man page.
-           (lambda* (#:key outputs #:allow-other-keys)
-             (match (find-files "target" "^rg\\.1$")
-               ((manpage)
-                (install-file manpage (string-append
-                                       (assoc-ref outputs "out")
-                                       "/share/man/man1"))))
-             #t)))
-       #:features '("pcre2")))
-    (inputs
-     (list pcre2))
-    (native-inputs
-     (list asciidoc pkg-config))
+     (list
+      #:cargo-inputs `(("rust-anyhow" ,rust-anyhow-1)
+                       ("rust-bstr" ,rust-bstr-1)
+                       ("rust-grep" ,rust-grep-0.3)
+                       ("rust-ignore" ,rust-ignore-0.4)
+                       ("rust-jemallocator" ,rust-jemallocator-0.5)
+                       ("rust-lexopt" ,rust-lexopt-0.3)
+                       ("rust-log" ,rust-log-0.4)
+                       ("rust-serde-json" ,rust-serde-json-1)
+                       ("rust-termcolor" ,rust-termcolor-1)
+                       ("rust-textwrap" ,rust-textwrap-0.16))
+      #:cargo-development-inputs `(("rust-serde" ,rust-serde-1)
+                                   ("rust-serde-derive" ,rust-serde-derive-1)
+                                   ("rust-walkdir" ,rust-walkdir-2))
+      #:install-source? #f
+      ;; Note: the built target 'rg' binary is required for 'install-extras
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'install 'install-extras
+                     (lambda* (#:key native-inputs outputs #:allow-other-keys)
+                       (let* ((out (assoc-ref outputs "out"))
+                              (share (string-append out "/share"))
+                              (bash-completions-dir
+                                (string-append share 
"/bash-completion/completions"))
+                              (zsh-completions-dir
+                                (string-append share "/zsh/site-functions"))
+                              (fish-completions-dir
+                                (string-append share 
"/fish/vendor_completions.d"))
+                              (man1 (string-append share "/man/man1"))
+                              (rg (if #$(%current-target-system)
+                                    (search-input-file native-inputs "/bin/rg")
+                                    (string-append out "/bin/rg"))))
+                           (mkdir-p man1)
+                           (with-output-to-file (string-append man1 "/rg.1")
+                             (lambda _
+                               (invoke rg "--generate" "man")))
+                           (mkdir-p bash-completions-dir)
+                           (with-output-to-file (string-append
+                                                  bash-completions-dir "/rg")
+                             (lambda _
+                               (invoke rg "--generate" "complete-bash")))
+                           (mkdir-p zsh-completions-dir)
+                           (with-output-to-file (string-append
+                                                  zsh-completions-dir "/_rg")
+                             (lambda _
+                               (invoke rg "--generate" "complete-zsh")))
+                           (mkdir-p fish-completions-dir)
+                           (with-output-to-file
+                             (string-append fish-completions-dir "/rg.fish")
+                             (lambda _
+                               (invoke rg "--generate" "complete-fish")))))))
+      #:features '(list "pcre2")))
+    (inputs (list pcre2))
+    (native-inputs (cons* pkg-config (if (%current-target-system)
+                                         (list this-package)
+                                         '())))
     (home-page "https://github.com/BurntSushi/ripgrep";)
-    (synopsis "Line-oriented search tool")
+    (synopsis "Line-oriented search tool and Rust successor to @command{grep}")
     (description
-     "ripgrep is a line-oriented search tool that recursively searches
-your current directory for a regex pattern while respecting your
-gitignore rules.")
+     "@code{ripgrep} (@command{rg}) is a line-oriented search tool that
+recursively searches your current directory for a regex pattern while
+respecting your gitignore rules. @code{ripgrep} is similar to other popular
+search tools like The Silver Searcher, @command{ack} and @command{grep}.")
     (license (list license:unlicense license:expat))))
 
 (define-public rot8



reply via email to

[Prev in Thread] Current Thread [Next in Thread]