guix/guix
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
..
build build-system/zig: Add cross-compilation support. 2024-01-07 16:56:00 +01:00
build-system build-system/zig: Add cross-compilation support. 2024-01-07 16:56:00 +01:00
import guix: import: Optionally import necessary yanked crates. 2024-01-09 09:38:38 +02:00
platforms gnu: Add support for x86_64-linux-gnux32. 2024-01-04 21:48:13 +02:00
scripts guix: import: Optionally import necessary yanked crates. 2024-01-09 09:38:38 +02:00
store
tests
android-repo-download.scm
avahi.scm
base16.scm
base32.scm
base64.scm
build-system.scm
bzr-download.scm
cache.scm
channels.scm profiles: Hooks honor the #:system parameter of ‘profile-derivation’. 2023-10-28 00:17:24 +02:00
ci.scm
colors.scm
combinators.scm
config.scm.in build: Add dependency on Git. 2023-09-26 17:36:58 +02:00
cpio.scm
cpu.scm guix: cpu: Add gcc-architecture->micro-architecture-level mapping. 2023-07-12 16:48:28 +03:00
cve.scm
cvs-download.scm
d3.v3.js
deprecation.scm deprecation: Fix docstring typo. 2023-12-22 17:47:15 +01:00
derivations.scm
describe.scm
diagnostics.scm
discovery.scm
docker.scm guix: docker: Build layered images. 2024-01-08 21:04:44 +03:00
download.scm download: Update Apache mirror list. 2023-12-17 01:00:00 +01:00
elf.scm
ftp-client.scm
gexp.scm gexp: #:references-graphs accepts and honors <gexp-input> records. 2023-12-22 00:31:40 +01:00
git-authenticate.scm
git-download.scm git-download: Add support for Git Large File Storage (LFS). 2023-11-07 12:33:26 -05:00
git.scm git: Shell out to ‘git gc’ when necessary. 2023-11-22 16:51:47 +01:00
glob.scm
gnu-maintenance.scm gnu-maintenance: Support URI list of mixed mirrors, HTTP URLs. 2023-09-11 23:39:13 -04:00
gnupg.scm
grafts.scm grafts: Use the right locale package. 2023-12-03 23:55:08 +01:00
graph.js
graph.scm graph: Add GraphML backend. 2023-08-25 14:24:43 +02:00
hash.scm
hg-download.scm
http-client.scm
i18n.scm
inferior.scm time-machine: Make target commit check cheaper. 2023-11-05 23:23:23 +01:00
ipfs.scm
least-authority.scm least-authority: Add support for changing UIDs/GIDs before exec. 2023-12-22 00:31:41 +01:00
licenses.scm licenses: Add Arphic-1999 (Aprhic Public License). 2023-08-01 19:40:19 +08:00
lint.scm lint: Speed up the formatting linter. 2023-11-05 17:51:38 +00:00
man-db.scm
memoization.scm
modules.scm
monad-repl.scm monad-repl: Add REPL commands to inspect package arguments. 2023-12-04 22:26:38 +01:00
monads.scm
nar.scm
narinfo.scm
openpgp.scm
packages.scm packages: Honor target system for the inputs to ‘patch-and-repack’. 2023-12-03 23:55:08 +01:00
pki.scm
platform.scm guix: platform: Add platform-rust-target. 2023-12-11 13:50:48 +02:00
profiles.scm gnu: Use ‘libc-utf8-locales-for-target’. 2023-12-02 12:25:45 +01:00
profiling.scm
progress.scm tests: Import (guix build syscalls) when (guix build store-copy) is used. 2023-11-25 16:29:25 +01:00
quirks.scm
read-print.scm guix: import: Optionally import necessary yanked crates. 2024-01-09 09:38:38 +02:00
records.scm
remote.scm
repl.scm
rpm.scm
scripts.scm
search-paths.scm search-paths: Add GCC search paths. 2023-10-04 23:30:41 -04:00
self.scm gnu: Use ‘libc-utf8-locales-for-target’. 2023-12-02 12:25:45 +01:00
serialization.scm
sets.scm
ssh.scm ssh: Also print the user when authentication fails. 2023-08-22 11:17:53 +02:00
status.scm
store.scm daemon: Implement ‘substitute-urls’ RPC. 2023-12-11 23:18:53 +01:00
substitutes.scm
svn-download.scm svn-download: Handle the single file case when downloading a nar. 2023-07-18 18:16:55 +02:00
swh.scm
tests.scm
transformations.scm transformations: Add support for zig. 2023-12-03 09:58:34 +02:00
ui.scm ui: It’s 2024 now! 2024-01-05 17:27:21 +01:00
upstream.scm upstream: Compare symbols to symbols. 2023-09-13 22:17:21 +02:00
utils.scm gnu: Add target-x32?. 2024-01-04 21:48:17 +02:00
workers.scm