GNU bug report logs -
#67960
[PATCH 0/4] Improve the crate importer.
Previous Next
Reported by: David Elsing <david.elsing <at> posteo.net>
Date: Thu, 21 Dec 2023 22:00:02 UTC
Severity: normal
Tags: patch
Done: Efraim Flashner <efraim <at> flashner.co.il>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Tue, 9 Jan 2024 09:44:18 +0200
with message-id <ZZz5Un2PVKtOtc79 <at> 3900XT>
and subject line Re: [PATCH 0/4] Improve the crate importer.
has caused the debbugs.gnu.org bug report #67960,
regarding [PATCH 0/4] Improve the crate importer.
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
67960: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67960
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
This patch series contains improvements to the crate importer.
The first patch fixes the memoization in crate-recursive-import.
The second patch allows for including the cargo-development-inputs also in
recursively imported crates by specifying --recursive-dev-dependencies, such
that the tests of all imported crates can be run.
The third patch removes the dependency of a test in tests/crate.scm on an
existing crate in gnu/packages/crates.io.
Sometimes, it can happen that a crate requires a dependency for which only a
yanked version exists, which is addressed in the fourth patch. Instead of
simply failing, I changed the behavior to also import yanked versions if no
non-yanked version exists. Then, they can be used anyway or be manually
patched out from the dependent packages. Their packages obtain a different
package name (including the full version) and a package property marking them
as yanked. The logic to decide which version to use naturally became more
complicated as a result.
David Elsing (4):
gnu: import: Fix memoization in crate-recursive-import.
import: crate: Optionally import dev-dependencies recursively.
tests: Mock find-packages-by-name in crate importer test.
guix: import: Optionally import necessary yanked crates.
doc/guix.texi | 7 +
guix/import/crate.scm | 161 +++++++---
guix/read-print.scm | 1 +
guix/scripts/import/crate.scm | 24 +-
tests/crate.scm | 576 +++++++++++++++++++++++++++++-----
5 files changed, 653 insertions(+), 116 deletions(-)
--
2.41.0
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
On Tue, Jan 02, 2024 at 03:38:41PM -0500, Jaeme Sifat wrote:
> I've used this to great effect when writing my crates and the test file
> passes. This should definitely be merged into master soon as this is a
> necessity for me when writing crate definitions.
>
> Thanks for fixing the crate importer, it will be vital when trying to port
> things like `iced-0.10` and `nushell-0.88` into rust-team.
>
>
> What do you think Efraim?
Looks good to me. Patches pushed!
--
Efraim Flashner <efraim <at> flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 1 year and 225 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.