diff mbox series

[bug#67757,vREVISION,19/19] gnu: ripgrep: Update to 14.0.3.

Message ID e1264753329bad5c088d7bad49dbd56f159f2559.1702404624.git.jaeme@runbox.com
State New
Headers show
Series None | expand

Commit Message

Jaeme Sifat Dec. 12, 2023, 6:10 p.m. UTC
ripgrep is added as a native-input for cross-compilation.

* gnu/packages/rust-apps.scm (ripgrep): Update to 14.0.3.

Change-Id: Iedf371a36d704072f4f3a9a3765c77dd22ea6642
---
 gnu/packages/rust-apps.scm | 108 +++++++++++++++++++++----------------
 1 file changed, 62 insertions(+), 46 deletions(-)


base-commit: 34eaf5714efcb847c9cba03a055a17e790c1d017
prerequisite-patch-id: c76d30ce17e81fcb9a17076ab774701dab02a73d
prerequisite-patch-id: ea3be5ace9380e325bcebaafc35366ea61951e67
prerequisite-patch-id: 137b468ffdb64d49aadc2424250ba8dce23f0ef6
prerequisite-patch-id: dffd840d8bc3e43fd45b724eb3a895e64d41a002
prerequisite-patch-id: 11ec518e0d39de6c4bfcdfe31c035c6f2887323a
prerequisite-patch-id: 62383a1c062b97123d1d3c5f634d0c9a2bdfe7cc
prerequisite-patch-id: 553a742b3644af0a661914edf08cda70be8a5987
prerequisite-patch-id: f2ea7779419dffc231e95f27ae6b6881f07ed426
prerequisite-patch-id: c7daea444b036d74d01e23a2dd04baf1b46caf62
prerequisite-patch-id: 7cbb96f718ca95d99009cf00ab89f63f1a6037b9
prerequisite-patch-id: e07fae6bf944c5d40811817f52500fbca1f63edd
prerequisite-patch-id: b649a5e142b26651b1c59a980ba55d92ea7e2886
prerequisite-patch-id: 46dbdbddf8c613e32c81a62368885005f1e8bbd5
prerequisite-patch-id: 142cf6f17527761f1d8565a7a666a871464e66e0
prerequisite-patch-id: d4f2db9376d8a935ef53e5d24b61191209320964
prerequisite-patch-id: f40d92640db6b0d0ab1980a04b79557c808ad7b9
prerequisite-patch-id: 215fa727397342dc21b161e5641aa3332bd48aab
prerequisite-patch-id: 99bb791003185b146e895bb06c51ad49f504f4c9
--
2.41.0
diff mbox series

Patch

diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index ab8534f64a..30b98c4db0 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -1149,61 +1149,77 @@  (define-public maturin
 (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 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 (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)
+                                         '(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