lu-zero / cargo-c

build and install C-compatible libraries
MIT License
445 stars 55 forks source link

cargo-credential-* depend on cargo-credential-0.4 while cargo-0.74 depends on cargo-credential-0.3 #355

Closed SchweinDeBurg closed 9 months ago

SchweinDeBurg commented 9 months ago
+ /usr/bin/env RUSTC_BOOTSTRAP=1 /usr/bin/cargo build -Z unstable-options --release --jobs 1
    Updating crates.io index
  Downloaded zeroize v1.7.0
  Downloaded ecdsa v0.16.9
  Downloaded cargo-credential-wincred v0.3.1
  Downloaded cargo-credential-libsecret v0.3.2
  Downloaded cargo-util v0.2.7
  Downloaded cargo-credential-macos-keychain v0.3.1
  Downloaded signature v2.2.0
  Downloaded cargo-platform v0.1.5
  Downloaded cargo-credential v0.4.1
  Downloaded crypto-bigint v0.5.5
  Downloaded fiat-crypto v0.2.5
  Downloaded 11 crates (706.7 KB) in 0.62s
   Compiling libc v0.2.150
   Compiling proc-macro2 v1.0.69
   Compiling unicode-ident v1.0.12
   Compiling quote v1.0.33
   Compiling syn v2.0.39
   Compiling cfg-if v1.0.0
   Compiling jobserver v0.1.27
   Compiling cc v1.0.83
   Compiling pkg-config v0.3.27
   Compiling vcpkg v0.2.15
   Compiling thiserror v1.0.50
   Compiling thiserror-impl v1.0.50
   Compiling autocfg v1.1.0
   Compiling serde v1.0.192
   Compiling serde_derive v1.0.192
   Compiling memchr v2.6.4
   Compiling libz-sys v1.1.12
   Compiling aho-corasick v1.1.2
   Compiling regex-syntax v0.8.2
   Compiling regex-automata v0.4.3
   Compiling once_cell v1.18.0
   Compiling bstr v1.8.0
   Compiling version_check v0.9.4
   Compiling crc32fast v1.3.2
   Compiling lock_api v0.4.11
   Compiling parking_lot_core v0.9.9
   Compiling smallvec v1.11.2
   Compiling scopeguard v1.2.0
   Compiling parking_lot v0.12.1
   Compiling hex v0.4.3
   Compiling crossbeam-utils v0.8.16
   Compiling same-file v1.0.6
   Compiling walkdir v2.4.0
   Compiling itoa v1.0.9
   Compiling adler v1.0.2
   Compiling miniz_oxide v0.7.1
   Compiling gix-hash v0.11.4
   Compiling crossbeam-channel v0.5.8
   Compiling flate2 v1.0.28
   Compiling prodash v25.0.2
   Compiling sha1_smol v1.0.0
   Compiling bitflags v2.4.1
   Compiling bytes v1.5.0
   Compiling gix-features v0.30.0
   Compiling num-traits v0.2.17
   Compiling time-core v0.1.2
   Compiling powerfmt v0.2.0
   Compiling deranged v0.3.9
   Compiling time-macros v0.2.15
   Compiling num_threads v0.1.6
   Compiling time v0.3.30
   Compiling typenum v1.17.0
   Compiling zeroize v1.7.0
   Compiling rustix v0.38.24
   Compiling btoi v0.4.3
   Compiling getrandom v0.2.11
   Compiling linux-raw-sys v0.4.11
   Compiling generic-array v0.14.7
   Compiling minimal-lexical v0.2.1
   Compiling nom v7.1.3
   Compiling subtle v2.5.0
   Compiling gix-date v0.5.1
   Compiling openssl-sys v0.9.95
   Compiling const-oid v0.9.5
   Compiling gix-trace v0.1.3
   Compiling home v0.5.5
   Compiling gix-path v0.8.4
   Compiling gix-actor v0.21.0
   Compiling gix-validate v0.7.7
   Compiling gix-object v0.30.0
   Compiling fastrand v2.0.1
   Compiling hashbrown v0.14.2
   Compiling block-buffer v0.10.4
   Compiling crypto-common v0.1.6
   Compiling rand_core v0.6.4
   Compiling memmap2 v0.5.10
   Compiling log v0.4.20
   Compiling digest v0.10.7
   Compiling tempfile v3.8.1
   Compiling libnghttp2-sys v0.1.8+1.55.1
   Compiling signal-hook v0.3.17
   Compiling tinyvec_macros v0.1.1
   Compiling tinyvec v1.6.0
   Compiling signal-hook-registry v1.4.1
   Compiling serde_json v1.0.108
   Compiling unicode-normalization v0.1.22
   Compiling gix-hashtable v0.2.4
   Compiling gix-fs v0.2.0
   Compiling curl-sys v0.4.68+curl-8.4.0
   Compiling ryu v1.0.15
   Compiling percent-encoding v2.3.0
   Compiling unicode-bidi v0.3.13
   Compiling base64ct v1.6.0
   Compiling pem-rfc7468 v0.7.0
   Compiling idna v0.4.0
   Compiling form_urlencoded v1.2.0
   Compiling gix-tempfile v6.0.0
   Compiling anyhow v1.0.75
   Compiling url v2.4.1
   Compiling der v0.7.8
   Compiling gix-chunk v0.4.4
   Compiling spki v0.7.2
   Compiling hmac v0.12.1
   Compiling gix-utils v0.1.5
   Compiling ahash v0.8.6
   Compiling libssh2-sys v0.3.0
   Compiling hashbrown v0.12.3
   Compiling curl v0.4.44
   Compiling openssl-probe v0.1.5
   Compiling gix-lock v6.0.0
   Compiling pkcs8 v0.10.2
   Compiling ff v0.13.0
   Compiling gix-config-value v0.12.5
   Compiling gix-quote v0.4.7
   Compiling gix-sec v0.8.4
   Compiling socket2 v0.4.10
   Compiling utf8parse v0.2.1
   Compiling zerocopy v0.7.26
   Compiling base16ct v0.2.0
   Compiling sec1 v0.7.3
   Compiling group v0.13.0
   Compiling hkdf v0.12.3
   Compiling gix-commitgraph v0.16.0
   Compiling gix-traverse v0.26.0
   Compiling crypto-bigint v0.5.5
   Compiling gix-glob v0.8.0
   Compiling gix-command v0.2.10
   Compiling libgit2-sys v0.15.2+1.6.4
   Compiling filetime v0.2.22
   Compiling cpufeatures v0.2.11
   Compiling syn v1.0.109
   Compiling unicode-bom v2.0.3
   Compiling gix-prompt v0.5.5
   Compiling elliptic-curve v0.13.7
   Compiling gix-revwalk v0.1.0
   Compiling imara-diff v0.1.5
   Compiling gix-url v0.19.0
   Compiling tracing-core v0.1.32
   Compiling regex v1.10.2
   Compiling faster-hex v0.8.1
   Compiling static_assertions v1.1.0
   Compiling kstring v2.0.0
   Compiling gix-packetline v0.16.7
   Compiling gix-credentials v0.15.0
   Compiling gix-diff v0.30.1
   Compiling gix-revision v0.15.2
   Compiling sha2 v0.10.8
   Compiling anstyle-parse v0.2.2
   Compiling gix-ref v0.30.0
   Compiling rfc6979 v0.4.0
   Compiling cargo-credential v0.4.1
   Compiling signature v2.2.0
   Compiling unicase v2.7.0
   Compiling gix-bitmap v0.2.7
   Compiling tracing-attributes v0.1.27
   Compiling clru v0.6.1
   Compiling regex-syntax v0.6.29
   Compiling bitflags v1.3.2
   Compiling base64 v0.21.5
   Compiling lazy_static v1.4.0
   Compiling colorchoice v1.0.0
   Compiling pin-project-lite v0.2.13
   Compiling anstyle v1.0.4
   Compiling equivalent v1.0.1
   Compiling anstyle-query v1.0.0
   Compiling anstream v0.6.4
   Compiling indexmap v2.1.0
   Compiling tracing v0.1.40
   Compiling regex-automata v0.1.10
   Compiling gix-pack v0.36.0
   Compiling gix-index v0.17.0
   Compiling ecdsa v0.16.9
   Compiling tar v0.4.40
   Compiling maybe-async v0.2.7
   Compiling gix-attributes v0.13.1
   Compiling primeorder v0.13.6
   Compiling gix-ignore v0.3.0
   Compiling terminal_size v0.3.0
   Compiling bitmaps v2.1.0
   Compiling im-rc v15.1.0
   Compiling thread_local v1.1.7
   Compiling toml_datetime v0.6.5
   Compiling serde_spanned v0.6.4
   Compiling indexmap v1.9.3
   Compiling vte_generate_state_changes v0.1.1
   Compiling io-close v0.3.7
   Compiling either v1.9.0
   Compiling fiat-crypto v0.2.5
   Compiling arc-swap v1.6.0
   Compiling overload v0.1.1
   Compiling clap_lex v0.6.0
   Compiling winnow v0.5.19
   Compiling pulldown-cmark v0.9.3
   Compiling strsim v0.10.0
   Compiling heck v0.4.1
   Compiling arrayvec v0.5.2
   Compiling ppv-lite86 v0.2.17
   Compiling semver v1.0.20
   Compiling fnv v1.0.7
   Compiling globset v0.4.13
   Compiling rand_chacha v0.3.1
   Compiling vte v0.10.1
   Compiling clap_derive v4.4.7
   Compiling clap_builder v4.4.8
   Compiling toml_edit v0.19.15
   Compiling nu-ansi-term v0.46.0
   Compiling gix-odb v0.46.0
   Compiling orion v0.17.6
   Compiling gix-worktree v0.18.0
   Compiling sized-chunks v0.6.5
   Compiling p384 v0.13.0
   Compiling cargo v0.74.0
   Compiling matchers v0.1.0
   Compiling sharded-slab v0.1.7
   Compiling gix-config v0.23.0
   Compiling gix-discover v0.19.0
   Compiling gix-negotiate v0.2.1
   Compiling gix-refspec v0.11.0
   Compiling tracing-log v0.2.0
   Compiling rand_xoshiro v0.6.0
   Compiling gix-mailmap v0.13.0
   Compiling ed25519-compact v2.0.4
   Compiling ordered-float v2.10.1
   Compiling libloading v0.8.1
   Compiling shell-escape v0.1.5
   Compiling cbindgen v0.26.0
   Compiling ct-codecs v1.1.1
   Compiling pasetors v0.6.7
   Compiling cargo-util v0.2.7
   Compiling cargo-credential-libsecret v0.3.2
   Compiling serde-value v0.7.0
   Compiling tracing-subscriber v0.3.18
   Compiling toml v0.7.8
   Compiling clap v4.4.8
   Compiling strip-ansi-escapes v0.1.1
   Compiling rand v0.8.5
   Compiling ignore v0.4.20
   Compiling itertools v0.10.5
   Compiling cargo-credential-macos-keychain v0.3.1
   Compiling cargo-credential-wincred v0.3.1
   Compiling sha1 v0.10.6
   Compiling rustfix v0.6.1
   Compiling cargo-credential v0.3.0
   Compiling os_info v3.7.0
   Compiling opener v0.6.1
   Compiling cargo-platform v0.1.5
   Compiling toml v0.5.11
   Compiling serde_ignored v0.1.9
   Compiling http-auth v0.1.8
   Compiling termcolor v1.4.0
   Compiling glob v0.3.1
   Compiling pathdiff v0.2.1
   Compiling unicode-width v0.1.11
   Compiling bytesize v1.3.0
   Compiling lazycell v1.3.0
   Compiling humantime v2.1.0
   Compiling unicode-xid v0.2.4
   Compiling itertools v0.11.0
   Compiling gix-transport v0.32.0
   Compiling gix-protocol v0.33.2
   Compiling gix v0.45.1
   Compiling crates-io v0.38.0
   Compiling git2 v0.17.2
   Compiling git2-curl v0.18.0
error[E0277]: the trait bound `MacKeychain: cargo_credential::Credential` is not satisfied
   --> /home/elijah/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-0.74.0/src/cargo/util/auth/mod.rs:455:45
    |
455 |           let provider: Box<dyn Credential> = match process {
    |  _____________________________________________^
456 | |             "cargo:token" => Box::new(TokenCredential::new(config)),
457 | |             "cargo:paseto" => Box::new(PasetoCredential::new(config)),
458 | |             "cargo:token-from-stdout" => Box::new(BasicProcessCredential {}),
...   |
462 | |             process => Box::new(CredentialProcessCredential::new(process)),
463 | |         };
    | |_________^ the trait `cargo_credential::Credential` is not implemented for `MacKeychain`
    |
help: trait impl with same name found
   --> /home/elijah/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-credential-0.4.1/src/lib.rs:61:1
    |
61  | impl Credential for UnsupportedCredential {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `cargo_credential` are being used?
    = help: the following other types implement trait `cargo_credential::Credential`:
              UnsupportedCredential
              BasicProcessCredential
              PasetoCredential<'a>
              CredentialProcessCredential
              TokenCredential<'a>
    = note: required for the cast from `std::boxed::Box<MacKeychain>` to `std::boxed::Box<dyn cargo_credential::Credential>`

error[E0277]: the trait bound `LibSecretCredential: cargo_credential::Credential` is not satisfied
   --> /home/elijah/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-0.74.0/src/cargo/util/auth/mod.rs:455:45
    |
455 |           let provider: Box<dyn Credential> = match process {
    |  _____________________________________________^
456 | |             "cargo:token" => Box::new(TokenCredential::new(config)),
457 | |             "cargo:paseto" => Box::new(PasetoCredential::new(config)),
458 | |             "cargo:token-from-stdout" => Box::new(BasicProcessCredential {}),
...   |
462 | |             process => Box::new(CredentialProcessCredential::new(process)),
463 | |         };
    | |_________^ the trait `cargo_credential::Credential` is not implemented for `LibSecretCredential`
    |
help: trait impl with same name found
   --> /home/elijah/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-credential-libsecret-0.3.2/src/lib.rs:104:5
    |
104 |     impl Credential for LibSecretCredential {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `cargo_credential` are being used?
    = help: the following other types implement trait `cargo_credential::Credential`:
              UnsupportedCredential
              BasicProcessCredential
              PasetoCredential<'a>
              CredentialProcessCredential
              TokenCredential<'a>
    = note: required for the cast from `std::boxed::Box<LibSecretCredential>` to `std::boxed::Box<dyn cargo_credential::Credential>`

For more information about this error, try `rustc --explain E0277`.
error: could not compile `cargo` (lib) due to 2 previous errors
lu-zero commented 9 months ago

Upstream issue opened https://github.com/rust-lang/cargo/issues/13002, if you try to build with --locked it should be fine (beside ahash being yanked).

lu-zero commented 9 months ago

Pending upstream releasing a 1.74.1 and a 1.75.1, I'll prepare matching releases of cargo-c

lu-zero commented 9 months ago

Upstream fixed the problem.