Subject: Re: [bug#77349] [PATCH] gnu: Add emacs-yari.

From: Ian Eure <[email-masked]>
Date: Sat, 29 Mar 2025 07:49:18 -0700

Hi gemmaro,

gemmaro <[email-masked]> writes:

> * gnu/packages/emacs-xyz.scm (emacs-yari): New variable.
>
> Change-Id: I16a5be5ceef46a4d8cb036e1c06994d1b5513a33
> ---
>  gnu/packages/emacs-xyz.scm | 41 
>  ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
>
> diff --git a/gnu/packages/emacs-xyz.scm 
> b/gnu/packages/emacs-xyz.scm
> index 72f8a8f415..39ac71dc07 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -17295,6 +17295,47 @@ (define-public emacs-yaml-mode
>  behavior very similar to that of Python mode.")
>      (license license:gpl3+)))
>  
> +(define-public emacs-yari
> +  (let ((revision "0")
> +        (commit "de61285ceb21f56c29f4be12e2e65b2aa2bccf56"))
> +    (package
> +      (name "emacs-yari")
> +      (version (git-version "0.8" revision commit))
> +      (source
> +       (origin
> +         (method git-fetch)
> +         (uri (git-reference
> +               (url "https://github.com/hron/yari.el")
> +               (commit commit)))
> +         (file-name (git-file-name name version))
> +         (sha256
> +          (base32 
> "0sik21rifw0q1rw4wrffnnwynsmgrv6w323gz3fw89cz6n8kqsgn"))))
> +      (build-system emacs-build-system)
> +      (arguments
> +       (list
> +        #:tests? #t
> +        #:test-command #~(list "ert-runner")
> +        #:phases
> +        #~(modify-phases %standard-phases
> +            (add-after 'unpack 'set-program-names
> +              (lambda* (#:key inputs #:allow-other-keys)
> +                (let* ((package (assoc-ref inputs "ruby"))
> +                       (ri (string-append package "/bin/ri"))
> +                       (ruby (string-append package 
> "/bin/ruby")))
> +                  (emacs-substitute-variables "yari.el"
> +                    ("yari-ri-program-name" ri)
> +                    ("yari-ruby-program-name" ruby))))))))

Please remove the let and use `search-input-file' here.  ex.

    (emacs-substitute-variables "yari.el"
      ("yari-ri-program-name" (search-input-files "ri"))
      ("yari-ruby-program-name" (search-input-files 
      "ruby")))))))))

> +      (native-inputs (list emacs-ert-runner))
> +      (inputs (list ruby))
> +      (home-page "https://github.com/hron/yari.el")
> +      (synopsis "Yet Another RI interface for Emacs")
> +      (description
> +       "@samp{yari.el} provides an Emacs frontend...

@file is probably better than @sampe here, but I’d go with "This 
package provides..."

> +     ...to Ruby's @samp{ri}

Should be @code, not @samp.

> +documentation tool, and offers lookup and completion.  The main
> +function you should use as interface to @samp{ri} is @samp{M-x 
> yari}.

Same feedback about @samp{ri} here.  @samp is correct for "M-x 
yari".

> +@samp{yari-helm} is a variant using Helm input framework.")

Are you intending to package yari-helm?  If not, please remove the 
mention of it.

Thanks,

  -- Ian