unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Liliana Marie Prikler <liliana.prikler@gmail.com>
To: Maxime Devos <maximedevos@telenet.be>, guix-devel@gnu.org
Subject: Re: New review checklist
Date: Fri, 01 Apr 2022 19:03:47 +0200	[thread overview]
Message-ID: <aa91e12f6fa7f2cb26347503617cf28e0025c7dc.camel@gmail.com> (raw)
In-Reply-To: <b1cc68f064c3c2ebfc43669be052a4ae926dedb0.camel@telenet.be>

Hi Maxime,

Am Freitag, dem 01.04.2022 um 08:30 +0200 schrieb Maxime Devos:
> Liliana Marie Prikler schreef op vr 01-04-2022 om 06:14 [+0200]:
> > It won't be added to Guix.  Here's why it won't.
> > You appear to believe that
> > [...]
> > [ ] hard-coding the commit field is a good idea
> 
> Does the following count:
> 
> (define-public foo
>   (package
>     (name "foo")
>     (version "1.0.0")
>     (source
>       (origin
>         [...]
>         (file-name (git-file-name name version))
>         ;; Upstream does not tag versions, see
>         ;; <https://foo.bar/versions> for which commit
>         ;; corresponds to which version.
>         ;;
>         ;; (alternatively)
>         ;;
>         ;; Upstream deletes old tags every N months,
>         ;; so explicitly write the commit here.;
>         ;;
>         ;; (alternatively)
>         ;;
>         ;; There is consensus that the benefits of explicit commits
>         ;; outweigh the downsides, see
>         ;; <https://actually.I.dont.think.there.is.consensus?>
>         (commit "cabba9e..."))
>    [...]))
> 
> -- would the commit need to be let-bound here?
This discussion has already been had elsewhere, but to reiterate, my
reasoning is that if you can't trust upstream tags to remain valid, you
need another proof that the VERSION <-> COMMIT equivalence holds. 
Referring to another authority (as can be done in the case of Minetest
packages) is fine for me personally, but in the general case (e.g. your
#2 without further context) I'd say that let-binding the commit leads
to the least amount of surprises for everyone.

In the particular case of Minetest, another plausible style would be
(let ((commit ...)
      (revision ACTUAL-REVISION-OR-#f))
  (package 
    ...
    ;; tagged TAG as of DATE
    ;; For a complete list of versions, see <LINK>
    (version "just the version") 
    (source (origin ...
              ;; Upstream is known to yank tags, so always use commits.
              (commit commit)))))

Cheers


  reply	other threads:[~2022-04-01 17:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-01  4:14 New review checklist Liliana Marie Prikler
2022-04-01  6:30 ` Maxime Devos
2022-04-01 17:03   ` Liliana Marie Prikler [this message]
2022-04-01 17:46     ` Maxime Devos
2022-04-01 18:25       ` Liliana Marie Prikler
2022-04-02 13:38         ` Bengt Richter
2022-04-02 14:45           ` Liliana Marie Prikler
2022-04-01 18:05   ` Tobias Geerinckx-Rice
2022-04-01  6:56 ` tanguy
2022-04-01  8:31 ` Jonathan McHugh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aa91e12f6fa7f2cb26347503617cf28e0025c7dc.camel@gmail.com \
    --to=liliana.prikler@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=maximedevos@telenet.be \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).