--- Begin Message ---
Subject: |
[PATCH 0/4] Improve the crate importer. |
Date: |
Thu, 21 Dec 2023 21:59:02 +0000 |
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
--- End Message ---
--- Begin Message ---
Subject: |
Re: [PATCH 0/4] Improve the crate importer. |
Date: |
Tue, 9 Jan 2024 09:44:18 +0200 |
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@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
Description: PGP signature
--- End Message ---