Subject: bug#65218: emacs-orderless 1.0 shows as 0.8 due to incorrect value in package file

From: Piotr Kwieciński <[email-masked]>
Date: Sat, 12 Aug 2023 20:29:16 +0200

Hi Hilton,
thank you for your swift response and guidance. I'll attempt to send a
patch.
I already started to set up my local environment.

On Sat, 12 Aug 2023 at 18:12, Hilton Chain <[email-masked]> wrote:

> Hi Piotr,
>
> On Fri, 11 Aug 2023 04:18:57 +0800,
> Piotr Kwieciński wrote:
> >
> > [1  <text/plain; UTF-8 (quoted-printable)>]
> > [2  <text/html; UTF-8 (quoted-printable)>]
> > I have the latest version of emacs-orderless installed on using guix and
> it shows:
> >
> >  Status: External in
> ‘/gnu/store/mp2ckcr7psy9myby262zqii36cd49yja-emacs-orderless-1.0/share/emacs/site-lisp/orderless-1.0/’
> (unsigned).
> > Version: 0.8
> > Summary: Completion style for matching regexps in any order
> >
> > This is caused by an incorrect version of a package declared in
> orderless.el.
>
>
> It seems that emacs-orderless in Guix wasn't really updated to 1.0,
> only the version field was changed.
>
>
> > I'm new to the ecosystem and I'm not familiar with the process of fixing
> this.
> > The issue was fixed by the package maintainer in commit
> >
> https://github.com/oantolin/orderless/commit/847694e78c12d903d5e3f6cb365a5d3b984db537
> >
> > Would replacing commit in the package definition be enough ? Swapping
> 004cee6b8e01f8eb0cb1c683d0a637b14890600f with
> > 847694e78c12d903d5e3f6cb365a5d3b984db537
>
>
> That's not enough, the hash in (sha256 (base32 [...])) needs changing
> as well.
>
> And when updating an untagged revision to a tagged release, we usually
> drop the outer let form, and use the value from version field for
> commit.
>
> For example, the original definition:
> --8<---------------cut here---------------start------------->8---
> (define-public emacs-orderless
>   (let ((commit [...]))
>     (package
>       (name "emacs-orderless")
>       (version [...])
>       (source
>        (origin
>          (method git-fetch)
>          (uri (git-reference
>                (url "https://github.com/oantolin/orderless")
>                (commit commit)))
>          (file-name (git-file-name name version))
>          (sha256
>           (base32 [...]))))
>       [...])))
> --8<---------------cut here---------------end--------------->8---
>
> would be changed to:
> --8<---------------cut here---------------start------------->8---
> (define-public emacs-orderless
>   (package
>     (name "emacs-orderless")
>     (version "1.0")
>     (source
>      (origin
>        (method git-fetch)
>        (uri (git-reference
>              (url "https://github.com/oantolin/orderless")
>              (commit version)))           ; <- see here
>        (file-name (git-file-name name version))
>        (sha256
>         (base32 [...]))))                 ; <- hash is changed as well
>     [...]))
> --8<---------------cut here---------------end--------------->8---
>
> BTW the hash can be obtained with `guix hash' [1]:
> --8<---------------cut here---------------start------------->8---
> git clone https://[...] emacs-orderless
>
> cd emacs-orderless
> git checkout 1.0
>
> guix hash -rx .
> --8<---------------cut here---------------end--------------->8---
>
> Would you like to get familiar with the process by going through the
> way [2] to make your first contribution? ;)
>
> I can send a patch if you prefer, and it may take a few days to get
> the change into Guix.
>
> Thanks
>
>
> [1]: <
> https://guix.gnu.org/en/manual/devel/en/html_node/Invoking-guix-hash.html>
> [2]: <https://guix.gnu.org/en/manual/devel/en/html_node/Contributing.html>
>
> (Not sure why this issue isn't on the mailing list, but is available
> in Debbugs.  Still under moderation?)
>

-- 
Regards
Piotr Kwiecinski