emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#63571: closed ([PATCH 00/14] 'guix refresh -u' updates input fields)


From: GNU bug Tracking System
Subject: bug#63571: closed ([PATCH 00/14] 'guix refresh -u' updates input fields)
Date: Wed, 31 May 2023 21:55:01 +0000

Your message dated Wed, 31 May 2023 23:54:14 +0200
with message-id <877csob20p.fsf_-_@gnu.org>
and subject line Re: bug#63571: [PATCH 00/14] 'guix refresh -u' updates input 
fields
has caused the debbugs.gnu.org bug report #63571,
regarding [PATCH 00/14] 'guix refresh -u' updates input fields
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
63571: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63571
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH 00/14] 'guix refresh -u' updates input fields Date: Thu, 18 May 2023 17:11:59 +0200
Hello!

Until now, ‘guix refresh -u’ would tell you what inputs need to
be changed in your packages, for the ‘cran’, ‘pypi’, and ‘stackage’
updaters.  With this change it changes them right away.

Furthermore, ‘guix refresh -u’ will now also update inputs when the
‘cpan’ and ‘elpa’ updaters are used.  Doing that for other updaters
is left as an exercise to the reader.  :-)

I’d like to get feedback from those who use ‘guix refresh -u’
frequently, which is why I Cc’d Ricardo and Lars-Dominik, but
surely they’re not the only ones!

This is implemented by reifying dependency information
as <upstream-input> records part of <upstream-source>.

In the future, we could improve importers so that they fill in
the ‘min-version’ and ‘max-version’ fields.  In turn, ‘guix refresh’
could let you know when the version of a dependency doesn’t match,
or it could add the right one or something.  This would be particularly
useful for PyPI, which doesn’t provide a consistent package set like
package.

Another thing we should do longer-term is decouple how we fetch the
latest version number and latest source code (from the catalog of
PyPI/ELPA/etc., from Git, etc.) and how we obtain metadata (from
PyPI/ELPA/etc., from ‘requirements.txt’, etc.)  Right now, many
Python packages for example are handled by the ‘generic-git’ updater;
consequently they do not get dependency info that the ‘pypi’ updater
would get them.  Decoupling would address that.

One last thing: Crates remain out of the scope.  As I mentioned
at the Guix Days¹, I think Crates packaging as currently done is
not sustainable: this new feature won’t work for Crates, just like
‘guix refresh -l’ doesn’t work for them.  There’s Antioxydant and
there’s <https://issues.guix.gnu.org/53127>, but if nobody
champions to push these over the finish line, this will all get
out of control for good.

Thoughts?

Ludo’.

¹ 
https://gitlab.com/pjotrp/guix-days-fosdem-2023/-/blob/main/state-of-guix-2023.org

Ludovic Courtès (14):
  tests: pypi: Factorize tarball and wheel file creation.
  tests: http: Allow responses to specify a path.
  tests: pypi: Rewrite tests using a local HTTP server.
  import: utils: 'call-with-networking-exception-handler' doesn't
    unwind.
  import: json: Add #:timeout to 'json-fetch'.
  upstream: Replace 'input-changes' field by 'inputs'.
  diagnostics: Factorize 'absolute-location'.
  upstream: 'update-package-source' edits input fields.
  upstream: Remove <upstream-input-change> and related code.
  tests: upstream: Restore test that was skipped.
  import: cpan: Remove unary 'string-append' call.
  import: cpan: Represent dependencies as <upstream-input> records.
  import: cpan: Updater provides input list.
  import: elpa: Updater provides input list.

 guix/diagnostics.scm     |  20 +-
 guix/import/cpan.scm     | 103 +++++----
 guix/import/cran.scm     | 180 ++++++++++-----
 guix/import/elpa.scm     |  28 ++-
 guix/import/hackage.scm  |  90 +++++---
 guix/import/json.scm     |   5 +-
 guix/import/pypi.scm     | 216 ++++++++++--------
 guix/import/stackage.scm |   9 +-
 guix/import/test.scm     |  13 +-
 guix/import/utils.scm    |  33 ++-
 guix/scripts/refresh.scm |  38 +---
 guix/scripts/style.scm   |  17 --
 guix/tests/http.scm      |  46 +++-
 guix/upstream.scm        | 181 ++++++++-------
 tests/cpan.scm           |  34 ++-
 tests/cran.scm           |   2 +-
 tests/elpa.scm           |  48 +++-
 tests/guix-refresh.sh    |   7 +-
 tests/pypi.scm           | 473 +++++++++++++++++++++------------------
 tests/upstream.scm       | 199 ++--------------
 20 files changed, 946 insertions(+), 796 deletions(-)


base-commit: c5fa9dd0e96493307cc76ea098a6bca9b076e012
-- 
2.40.1




--- End Message ---
--- Begin Message --- Subject: Re: bug#63571: [PATCH 00/14] 'guix refresh -u' updates input fields Date: Wed, 31 May 2023 23:54:14 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
Ludovic Courtès <ludo@gnu.org> skribis:

> This is addressed in v2 of this patch series, along with other
> improvements (changes since v1):
>
>   • honors ‘updater-extra-inputs’ and ‘updater-ignored-inputs’ package
>     properties (and similarly for native and propagated inputs);
>
>   • add those properties to a few packages;
>
>   • ‘cran’ updater keeps inputs alphabetically sorted;
>
>   • ‘gem’ updater now updates inputs as well.
>
> Surely this will reveal limitations of updaters/importers but I’d like
> to see it as an opportunity to improve them; more importantly, we have
> to reduce the maintenance cost of all these imported packages, and this
> is a step in that direction.
>
> If there are no objections, I’d like to apply this series within a few
> days.

Pushed as 9f7cd1fcaf99c8e8430d0b29335220701664dc54!

Let me know how it works for you!

Ludo’.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]