guix-play/guix/scripts/import
David Elsing b26926189e
guix: import: Optionally import necessary yanked crates.
* doc/guix.texi (Invoking guix import): Mention '--allow-yanked'.
* guix/import/crate.scm (make-crate-sexp): Add yanked? argument. For
yanked packages, use the full version suffixed by "-yanked" for
generated variable names and add a comment and package property.
(crate->guix-package): Add allow-yanked? argument and if it is set to #t,
allow importing yanked crates if no other version matching the
requirements exists.
[find-package-version]: Packages previously marked as yanked are only
included if allow-yanked? is #t and then take the lowest priority.
[find-crate-version]: If allow-yanked? is #t, also consider yanked
versions with the lowest priority.
[dependency-name+version]: Rename to ...
[dependency-name+version+yanked] ...this. Honor allow-yanked? and choose
between an existing package and an upstream package.  Exit with an error
message if no version fulfilling the requirement is found.
[version*]: Exit with an error message if the crate version is not found.
(cargo-recursive-import): Add allow-yanked? argument.
* guix/read-print.scm: Export <comment>.
* guix/scripts/import/crate.scm: Add "--allow-yanked".
* tests/crate.scm: Add test 'crate-recursive-import-only-yanked-available'.
[sort-map-dependencies]: Adjust accordingly.
[remove-yanked-info]: New variable.
Adjust test 'crate-recursive-import-honors-existing-packages'.
(test-bar-dependencies): Add yanked dev-dependencies.
(test-leaf-bob-crate): Add yanked versions.
(rust-leaf-bob-3.0.2-yanked): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I175d89b39774e6b57dcd1f05bf68718d23866bb7
2024-01-09 09:38:38 +02:00
..
composer.scm guix: import: Add composer importer. 2023-12-18 23:16:28 +01:00
cpan.scm
cran.scm import/cran: Allow custom license prefix. 2022-12-31 14:48:46 +01:00
crate.scm guix: import: Optionally import necessary yanked crates. 2024-01-09 09:38:38 +02:00
egg.scm import: egg: Allow imports of a specific version. 2021-11-07 23:10:41 +01:00
elm.scm import: Add Elm importer. 2022-05-22 01:07:52 +02:00
elpa.scm scripts: import: elpa: Return consistent error code. 2023-05-17 22:22:22 +02:00
gem.scm import: gem: Support importing a specific version of a gem. 2022-09-17 19:09:27 +02:00
gnu.scm
go.scm scripts: import: go: Wrap body in 'with-error-handling'. 2022-01-09 23:17:17 +01:00
hackage.scm
hexpm.scm import: Add hex.pm importer. 2022-06-15 10:18:34 +02:00
json.scm
minetest.scm guix: Add ContentDB importer. 2021-08-20 12:41:54 +02:00
opam.scm import: opam: Tweak doc for '--repo' option. 2023-04-08 23:48:00 +02:00
pypi.scm import: pypi: Use 'with-error-handling'. 2022-02-02 17:58:20 +01:00
stackage.scm
texlive.scm import: Enable recursive import for texlive packages. 2022-07-19 23:49:42 +02:00