all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ricardo Wurmus <rekado@elephly.net>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 34040@debbugs.gnu.org
Subject: [bug#34040] [PATCH 1/2] refresh: Suggest input changes when updating.
Date: Fri, 25 Jan 2019 17:21:41 +0100	[thread overview]
Message-ID: <87k1isvhbe.fsf@elephly.net> (raw)
In-Reply-To: <87bm49itkj.fsf@gnu.org>


Hi,

sorry for not repyling earlier.  I did not see this message.

> Ricardo Wurmus <rekado@elephly.net> skribis:
>
>>    (version        upstream-source-version)        ;string
>>    (urls           upstream-source-urls)           ;list of strings
>>    (signature-urls upstream-source-signature-urls  ;#f | list of strings
>> -                  (default #f)))
>> +                  (default #f))
>> +  (input-changes  upstream-source-input-changes
>> +                  (default '()) (thunked)))
>
> Any particular reason for making ‘input-changes’ thunked?
>
> This causes a failure in tests/upstream.scm (because two evaluator
> procedures are unlikely to be eq?).  I would fix it by removing the
> ‘thunked’ property but I’m not sure if it’d make sense.

Oh, I’m sorry for breaking this.

My thinking was that this field should be lazily evaluated, because it
is somewhat expensive.  “input-changes” gets its value from calling
“changed-inputs” on a newly imported package.  I wanted to avoid the
import when a user is not interested in the “input-changes” field.

> Another thing: “upstream source” designates something
> absolute/stateless, but “input changes” designates something
> relative/stateful.  So on second thought, I wonder whether
> <upstream-source> is the right place for it.
>
> I was thinking that updaters could maybe return two values
> (<upstream-source> + list of changed inputs), which would be equivalent
> but somewhat clearer.  The downside is that we’d have to change all
> updaters to return multiple values.

This sounds like a good idea and I’m fine with changing all of the
importers.

> Alternately, we could change ‘input-changes’ to ‘inputs’, which would be
> absolute, not relative, and thus ‘package-update’ would take care of
> calling ‘changed-inputs’ etc.

That would also work, but I think I prefer an updater to report changes
rather than a new list of inputs.

--
Ricardo

  reply	other threads:[~2019-01-25 16:23 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-11  9:11 [bug#34040] Suggest input changes when updating packages Ricardo Wurmus
2019-01-11  9:42 ` [bug#34040] [PATCH 1/2] refresh: Suggest input changes when updating Ricardo Wurmus
2019-01-11  9:42   ` [bug#34040] [PATCH 2/2] import: cran: Suggest input changes Ricardo Wurmus
2019-01-12 13:42     ` Ludovic Courtès
2019-01-12 21:11       ` Ricardo Wurmus
2019-01-12 13:40   ` [bug#34040] [PATCH 1/2] refresh: Suggest input changes when updating Ludovic Courtès
2019-01-21 21:34   ` Ludovic Courtès
2019-01-25 16:21     ` Ricardo Wurmus [this message]
2019-01-25 21:15       ` Ludovic Courtès
2019-01-25 21:48         ` Ricardo Wurmus
2019-01-26 13:53           ` Ludovic Courtès

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

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

  git send-email \
    --in-reply-to=87k1isvhbe.fsf@elephly.net \
    --to=rekado@elephly.net \
    --cc=34040@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.