Subject: Re: [bug#44762] [PATCH 37/37] gnu: Add ripgrep-all.

From: Efraim Flashner <[email-masked]>
Date: Sat, 12 Dec 2020 22:19:12 +0200

I've had reviewing these patches on my TODO for a while, finally made it
around to it.

On Fri, Nov 20, 2020 at 08:27:16AM -0600, Joseph LaFreniere wrote:
> * gnu/packages/rust-apps.scm (ripgrep-all): New variable.
> ---
>  gnu/packages/rust-apps.scm | 80 +++++++++++++++++++++++++++++++++++++-
>  1 file changed, 79 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
> +         (add-after 'unpack 'enable-unstable-features
> +           (lambda _
> +             (setenv "RUSTC_BOOTSTRAP" "1")
> +             #t)))))

Is this necessary, or is it because we were using an older version of
rust for building packages?

> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)
> +       ("xz" ,xz)))
> +    (propagated-inputs
> +     `(("ffmpeg" ,ffmpeg)
> +       ("pandoc" ,pandoc)
> +       ("poppler" ,poppler)
> +       ("ripgrep" ,ripgrep)
> +       ("sqlite" ,sqlite)
> +       ("tar" ,tar)
> +       ("unzip" ,unzip)
> +       ("zip" ,zip)))

We prefer to not propagate packages, and in particular I try not to use
pandoc as an input because it limits the package to architectures that
can build haskell programs. Looking through the code a bit it looks like
it shells out to the commands. So it'd be better to substitute the
commands to the full path name of the package (what I'd suggest for
ripgrep) and/or adding a note to the description suggesting that people
also install some of the other packages for more features.

> +    (home-page "https://github.com/phiresky/ripgrep-all")
> +    (synopsis "Wrapper around @code{ripgrep} with support for rich file types")
> +    (description
> +     "ripgrep-all (rga) is a line-oriented search tool that allows you to look
> +for a regex in a multitude of file types.  rga wraps @code{ripgrep} and
> +enables it to search in @file{pdf}, @file{docx}, @file{sqlite}, @file{jpg},
> +movie subtitles (@file{mkv}, @file{mp4}), etc.")
> +    (license license:agpl3+)))
> +
>  (define-public rust-cbindgen
>    (package
>      (name "rust-cbindgen")
> -- 
> 2.29.1
> 
> 
> 
> 

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted