coreos / cargo-vendor-filterer Goto Github PK
View Code? Open in Web Editor NEWTool to `cargo vendor` with filtering
License: Apache License 2.0
Tool to `cargo vendor` with filtering
License: Apache License 2.0
cargo
and its subcommands, including vendor
support --manifest-path
parameter:
$ cargo vendor --help | grep manifest-path
--manifest-path <PATH> Path to Cargo.toml
For example, in 389-ds-base we have rust libraries that live in a subdirectory, and during the build we call cargo rustc
with --manifest-path
. When a release tarball is created, cargo
is also called from the repo's root directory and a path to Cargo.toml
is specified.
It would be nice to add support for this.
Thanks.
cargo vendor-filterer
fails to replace certain crates, like kernel32-sys
or advapi32-sys
, because cargo metadata
fails on the vendored crates.
Steps to reproduce:
$ cargo new just-test
Created binary (application) `just-test` package
$ cd just-test
$ cargo add local-encoding
Updating crates.io index
Adding local-encoding v0.2.0 to dependencies.
$ cargo vendor-filterer --platform x86_64-unknown-linux-gnu
Gathering metadata for platforms
Vendoring fuchsia-cprng v0.1.1 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/fuchsia-cprng-0.1.1) to vendor/fuchsia-cprng
Vendoring getopts v0.2.21 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/getopts-0.2.21) to vendor/getopts
Vendoring kernel32-sys v0.2.2 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/kernel32-sys-0.2.2) to vendor/kernel32-sys
Vendoring libc v0.2.135 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.135) to vendor/libc
Vendoring local-encoding v0.2.0 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/local-encoding-0.2.0) to vendor/local-encoding
Vendoring pulldown-cmark v0.0.3 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/pulldown-cmark-0.0.3) to vendor/pulldown-cmark
Vendoring rand v0.4.6 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/rand-0.4.6) to vendor/rand
Vendoring rand_core v0.3.1 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/rand_core-0.3.1) to vendor/rand_core-0.3.1
Vendoring rand_core v0.4.2 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/rand_core-0.4.2) to vendor/rand_core
Vendoring rdrand v0.4.0 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/rdrand-0.4.0) to vendor/rdrand
Vendoring remove_dir_all v0.5.3 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/remove_dir_all-0.5.3) to vendor/remove_dir_all
Vendoring skeptic v0.4.0 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/skeptic-0.4.0) to vendor/skeptic
Vendoring tempdir v0.3.7 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/tempdir-0.3.7) to vendor/tempdir
Vendoring unicode-width v0.1.10 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-width-0.1.10) to vendor/unicode-width
Vendoring winapi v0.2.8 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/winapi-0.2.8) to vendor/winapi-0.2.8
Vendoring winapi v0.3.9 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/winapi-0.3.9) to vendor/winapi
Vendoring winapi-build v0.1.1 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/winapi-build-0.1.1) to vendor/winapi-build
Vendoring winapi-i686-pc-windows-gnu v0.4.0 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/winapi-i686-pc-windows-gnu-0.4.0) to vendor/winapi-i686-pc-windows-gnu
Vendoring winapi-x86_64-pc-windows-gnu v0.4.0 (/crypt/iv/.cargo/registry/src/github.com-1ecc6299db9ec823/winapi-x86_64-pc-windows-gnu-0.4.0) to vendor/winapi-x86_64-pc-windows-gnu
To use vendored sources, add this to your .cargo/config.toml for this project:
[source.crates-io]
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"
Skipping just-test
Replacing unreferenced package with stub: winapi-x86_64-pc-windows-gnu
Replacing unreferenced package with stub: winapi-i686-pc-windows-gnu
Replacing unreferenced package with stub: winapi-build
Replacing unreferenced package with stub: winapi
error: Replacing with stub: winapi-0.2.8: Executing cargo metadata: Error during execution of `cargo metadata`: error: failed to load manifest for dependency `advapi32-sys`
Caused by:
failed to read `/tmp/.private/iv/just-test/vendor/winapi-0.2.8/lib/advapi32/Cargo.toml`
Caused by:
No such file or directory (os error 2)
Same error, but with kernel32-sys
vendored crate, happens when trying to vendor dependencies for https://github.com/mozilla/sccache checked out to tag v0.3.0
.
Running cargo vendor-filterer fails when config.toml is already configured with crates.io source replacements:
$ cargo vendor-filterer
error: Executing cargo metadata (first run): Error during execution of `cargo metadata`: error: failed to get `anyhow` as a dependency of package `wprs v0.1.0 (/home/rasputin/wayland-dev/rust/wprs)`
Caused by:
failed to load source for dependency `anyhow`
Caused by:
Unable to update registry `crates-io`
Caused by:
failed to update replaced source registry `crates-io`
Caused by:
failed to read root of directory source: /home/rasputin/wayland-dev/rust/wprs/vendor
Caused by:
No such file or directory (os error 2)
cargo-vendor does this:
alexcrichton/cargo-vendor#23
alexcrichton/cargo-vendor@03e252f
I am not sure what causes this but with netavark 1.8.0 at least one required dependency was removed from the vendor dir
At the very least [email protected]
was removed despite being used.
$ cargo tree -i [email protected]
event-listener v2.5.3
├── async-broadcast v0.5.1
│ └── zbus v3.14.1
│ └── netavark v1.8.0 (/home/pholzing/CODE/netavark)
├── async-channel v1.9.0
│ └── blocking v1.4.0
│ ├── async-fs v1.6.0
│ │ └── zbus v3.14.1 (*)
│ └── zbus v3.14.1 (*)
├── async-lock v2.8.0
│ ├── async-executor v1.5.3
│ │ └── zbus v3.14.1 (*)
│ ├── async-fs v1.6.0 (*)
│ ├── async-io v1.13.0
│ │ └── zbus v3.14.1 (*)
│ ├── blocking v1.4.0 (*)
│ └── zbus v3.14.1 (*)
└── zbus v3.14.1 (*)
...
Replacing unreferenced package with stub: event-listener-2.5.3
...
I am not sure why it thinks that it is not used, netavark depends on zbus 3.14.1 and it depends on event-listener 2.5.3
https://github.com/containers/netavark/blob/8309b68113918f9e2b178892a73ea802cdca3151/Cargo.toml#L48
https://github.com/dbus2/zbus/blob/6af95ac2e60ffb02ad4633974eb8a04783719589/zbus/Cargo.toml#L53
Original report: containers/netavark#819
Is there way to specify multiple platforms from command line?
When I try cargo vendor-filterer --platform='*'-unknown-linux-gnu
(for sequoia-sop
) here is error:
error: Could not create LLVM TargetMachine for triple: m68k-unknown-linux-gnu: No available targets are compatible with triple "m68k-unknown-linux-gnu"
When I try to specify multiple --platform=
options like:
--platform=aarch64-unknown-linux-gnu \
--platform=armv7-unknown-linux-gnueabihf \
--platform=i686-unknown-linux-gnu \
--platform=powerpc64le-unknown-linux-gnu \
--platform=x86_64-unknown-linux-gnu
It does not compile on x86_64, perhaps something superfluous is filtered.
I've added this bit to my Cargo.toml
:
[package.metadata.vendor-filter]
platforms = ["*-*-linux-*", "*-freebsd"]
I'm basically trying to vendor dependencies requires to build on any Linux or FreeBSD (which is, realistically, the only places where my codebase works).
However, this fails, and I'm not entirely sure why:
> cargo vendor-filterer
Gathering metadata for platforms
error: Executing cargo metadata: Error during execution of `cargo metadata`: error: failed to run `rustc` to learn about target-specific information
Caused by:
process didn't exit successfully: `rustc - --crate-name ___ --print=file-names --target m68k-unknown-linux-gnu --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=split-debuginfo --print=crate-name --print=cfg` (exit status: 1)
--- stderr
error: Could not create LLVM TargetMachine for triple: m68k-unknown-linux-gnu: No available targets are compatible with triple "m68k-unknown-linux-gnu"
The project is https://git.sr.ht/~whynothugo/shotman, in case it's necessary for reproducing, but I don't think this is anything specifically related to my project.
cargo vendor
produces an output directory (defaulting to vendor
) which contains a subdirectory for each of the crates being vendored. It's been our practice in CoreOS projects to tar up that directory and ship the tarball as a release artifact, so that downstream distro packages can build the project without individually fetching dependencies.
Tarballs produced by cargo-vendor-filterer don't serve as a drop-in replacement for this practice, since the crate directories are directly placed in the root of the tarball instead of in a vendor
subdirectory. This causes problems for a couple reasons:
mkdir vendor && tar xf vendor.tgz -C vendor
instead of just tar xf vendor.tgz
, which is a needless compatibility break.There doesn't seem to be any way to configure this behavior, other than by avoiding --format tar*
and packing the resulting tarball manually.
cargo vendor supports -s
(or --sync
) flag. It allows to vendor more than one project at a time. It is useful for many cases, for example if you want to build tier-3 targets with -Zbuild-std
. In this case you need to vendor deps for the std-lib as well.
While cargo vendor does not support vendoring std-lib deps, there is a workaround:
RUST_DIR="$(rustc --print=sysroot)"
# Copy the Cargo.lock for Rust to place the `cargo vendor` will see
cp "$RUST_DIR"/lib/rustlib/src/rust/Cargo.lock "$RUST_DIR"/lib/rustlib/src/rust/library/test/
cargo vendor \
--manifest-path Cargo.toml \
--sync "$RUST_DIR"/lib/rustlib/src/rust/library/test/Cargo.toml \
cargo_vendor
# Remove copied file
rm "$RUST_DIR"/lib/rustlib/src/rust/library/test/Cargo.lock
This is currently not working with cargo-vendor-filterer
as you can pass --sync
flag
$ cargo vendor-filterer '--platform=*-unknown-linux-*'
...
error: Executing cargo metadata: Error during execution of `cargo metadata`: error: failed to run `rustc` to learn about target-specific information
Caused by:
process didn't exit successfully: `rustc - --crate-name ___ --print=file-names --target m68k-unknown-linux-gnu --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg` (exit status: 1)
--- stderr
error: Could not create LLVM TargetMachine for triple: m68k-unknown-linux-gnu: No available targets are compatible with triple "m68k-unknown-linux-gnu"
In this case m68k is a tier3 target, not likely to be installed. I think we should probably default to filtering only on tier1 platforms or so? We could also skip uninstalled targets, but that creates more system-local dependency.
Currently cargo-vendor-filterer
filters only down to Tier 2 with host tools:
cargo-vendor-filterer/src/tiers.rs
Lines 17 to 38 in 777cf0c
Would it be possible to extend the list or introduce some new --tier
value to include Tier 2 platforms without host tools too? Personally I'm currently interested in thumbv7neon-unknown-linux-gnueabihf
and x86_64-unknown-linux-gnux32
but not excluding possibility of using more in future.
I am currently using cargo-vendor-filterer
for openSUSE's OBS service cargo since it's such a good project for reducing vendored dependencies, see PR openSUSE/obs-service-cargo_vendor#48 (comment)
My issue is I am not sure what all-features: Enable all features of the current crate when vendoring.
even means. Is it referring to the target project that will be vendored or is it referring to the dependencies of that project?
I thought that after vendoring, cargo build
command will handle the all-features
hmm
Would you mind updating rustix
crate from current 0.37.17
to at least 0.37.18
(so just one bump in patch release)? The latter version includes fix bytecodealliance/rustix@67790f1 that fixes compilation for architectures that are not supported by linux_raw
backend but only libc
backend.
I need to specify the argument --respect-source-config
for the cargo vendor
command that is executed by cargo vendor-filterer
.
I saw a similar case for the --offline
argument.
I see two ways to fix this :
Add another flag like --offline
Fix it in a more general way, for example : cargo vendor-filterer --platform ... -- --respect-source-config --other-cargo-vendor-flag
What do you prefer ?
I will be happy to submit a PR.
$ head -5 /etc/os-release 03/01/24 16:06:05 PM
NAME="CentOS Stream"
VERSION="9"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="9"
$ rustc --version
rustc 1.75.0 (82e1608df 2023-12-21) (Red Hat 1.75.0-1.el9)
$ cargo-vendor-filterer
Gathering metadata
Skipping rpmostree-rust
Skipping rpmostree-client
Skipping libdnf-sys
Gathering metadata for platforms
error: Executing cargo metadata: Error during execution of `cargo metadata`: error: failed to run `rustc` to learn about target-specific information
Caused by:
process didn't exit successfully: `rustc - --crate-name ___ --print=file-names --target riscv64gc-unknown-linux-gnu --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=split-debuginfo --print=crate-name --print=cfg` (exit status: 1)
--- stderr
error: could not create LLVM TargetMachine for triple: riscv64-unknown-linux-gn: No available targets are compatible with triple "riscv64-unknown-linux-gnu"
$
This however works with the Fedora rustc.
It seems to me RHEL rust toolchain apparently omits support for riscv64-unknown-linux-gnu...and hence using our default of tier = 2
breaks there.
Compare:
This is messy. If we do something like detect what targets the toolchain has, then the filtering is suddenly dependent on the host.
Maybe we can just allow opting-in to that via e.g.
[workspace.metadata.vendor-filter]
platforms = ["*-unknown-linux-gnu"]
tier = "2"
filter-host = true
And filter-host
acknowledges some potential unreproducibility.
I was trying to use the --exclude-crate-path
option, via trial and error:
$ cargo vendor-filterer --platform=x86_64-unknown-linux-gnu --exclude-crate-path 'unwanted_path'
error: Missing '#' in crate exclude
...And my reaction, as a new user, was, "Why '#'?" So I ran cargo vendor-filterer -h
:
--tier <TIER>
Limit platforms to the provided tier ("1" or "2")
--exclude-crate-path <EXCLUDE_CRATE_PATH>
Remove files/subdirectories in crates that match an exact path
--manifest-path <MANIFEST_PATH>
Path to Cargo.toml
...and my reaction was, "Okay, but where does '#' appear?"
I found my answer in src/main.rs
, line 107:
/// Parse a crate exclude in the form `CRATENAME#PATH`.
However, on line 142, in struct Args
, there seem to be more documentation lines than just the one line:
/// Remove files/subdirectories in crates that match an exact path.
///
/// The format is "CRATENAME#PATH". CRATENAME is the name of a crate (without
/// a version included). PATH must be a relative path, and can name a regular
/// file, symbolic link or a directory.
///
/// If the filename matches a directory, it and all its contents will be removed.
/// For example, `curl-sys#curl` will remove the vendored libcurl C sources
/// from the `curl-sys` crate.
///
/// Nonexistent paths will emit a warning, but are not currently an error.
Having --all-features
is good, but sometimes it is necessary to have --no-default-features
and --features
.
Right now the platforms
is basically an API we need to commit to, but I think most users would want:
platform-wildcards: ["*-linux-gnu", "wasm32-*"]
for example. In particular I discovered over in coreos/coreos-installer#894 that coreos-installer actually has s390x-specific dependencies.
The tar
compression flags invoke gzip
and zstd
with their default compression levels, which are not especially tight. Since we're creating long-term archives, we should probably compress as tightly as reasonably possible. That does require that we invoke the compressor separately.
When running the command cargo vendor-filterer --format=tar vendor.tar
, I get the following error on MacOS 13.2:
tar: Option --sort=name is not supported
Usage:
List: tar -tf <archive-filename>
Extract: tar -xf <archive-filename>
Create: tar -cf <archive-filename> [filenames...]
Help: tar --help
error: tar failed: ExitStatus(unix_wait_status(256))
My tar
version is bsdtar 3.5.3 - libarchive 3.5.3 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8
.
To remedy this, I would suggest relying on the following crates instead of calling the system tar
using std::process::Command
:
Most of the time, we don't need to include the tests in the vendor tarball.
As a workaround, you can use exclude-crate-paths
to filter those paths from the crates.
Example where this would be useful: coreos/rpm-ostree#4760
Hi, this seems like a very useful tool for cargo vendor
use cases. Is there a plan for the next release?
(Original issue below; this text written by @cgwalters )
Today some crates like rustix
end up dynamically enabling features and dependencies via build.rs
, and these are missed by us because we just use cargo metadata
which doesn't run build scripts.
In the latest release afterburn 5.4.2 we have found that afterburn tarball's errno 0.2.8
seems to be filtered of any real content.
This broke the active release for afterburn 5.4.2 resulting in the dependency vmw_backdoor
failing with the following error:
error[E0425]: cannot find function `errno` in crate `errno`
--> /builddir/build/BUILD/afterburn-5.4.2/vendor/vmw_backdoor/src/backdoor.rs:103:35
The vendor tarball includes two versions of errno, 0.3.0 and 0.2.8, and the 0.3.0 bundle appears to be complete.
...
[[package]]
name = "errno"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
dependencies = [
"errno-dragonfly",
"libc",
"winapi",
]
[[package]]
name = "errno"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0"
dependencies = [
"errno-dragonfly",
"libc",
"windows-sys 0.45.0",
]
...
Cargo vender filter does return all the required contents in errno 0.3.0
.
Currently we fail on the libdnf-sys = { path = "rust/libdnf-sys", version = "0.1.0" }
in rpm-ostree for example.
CLI arguments should generally be verbs, not nouns.
cargo vendor supports --sync
parameter:
$ cargo vendor --help | rg sync
-s, --sync <TOML> Additional `Cargo.toml` to sync and vendor
With this parameter, multiple projects can share the same vendor directory. One complication could be if users want projects which have different platforms but overlapping dependencies to share a directory (#44).
I am willing to contribute this feature.
This is probably similar to #32
I tried running vendor-filterer
on https://github.com/nushell/nushell/ with this config:
[package.metadata.vendor-filter]
platforms = ["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
all-features = true
exclude-crate-paths = [
{ name = "libgit2-sys", exclude = "libgit2" },
{ name = "libsqlite3-sys", exclude = "sqlite3" },
{ name = "libsqlite3-sys", exclude = "sqlcipher" },
{ name = "libssh2-sys", exclude = "libssh2" },
{ name = "libz-sys", exclude = "src/zlib" },
{ name = "libz-sys", exclude = "src/zlib-ng" },
{ name = "lz4-sys", exclude = "liblz4" },
{ name = "openssl-src", exclude = "openssl" },
{ name = "zstd-sys", exclude = "zstd" },
]
and get this error:
Skipping nu-parser
Skipping nu_plugin_inc
Skipping nu-glob
Skipping nu_plugin_gstat
Skipping nu-engine
Skipping nu-path
Skipping nu_plugin_custom_values
Skipping nu-protocol
Skipping nu-test-support
Skipping nu-color-config
Skipping nu_plugin_query
Skipping nu-utils
Skipping nu-table
Skipping nu-term-grid
Skipping nu-system
Skipping nu-cli
Skipping nu-plugin
Skipping nu-json
Skipping nu_plugin_example
Skipping nu-command
Skipping nu
Skipping nu-pretty-hex
Replacing unreferenced package with stub: windows-sys
Replacing unreferenced package with stub: malloc_buf
Replacing unreferenced package with stub: ntapi
Replacing unreferenced package with stub: winres
Replacing unreferenced package with stub: riscv-target
Replacing unreferenced package with stub: windows-0.37.0
Replacing unreferenced package with stub: rdrand
Replacing unreferenced package with stub: crossterm_winapi
Replacing unreferenced package with stub: core-foundation
Replacing unreferenced package with stub: semver-parser-0.7.0
Replacing unreferenced package with stub: rustc-hash
Replacing unreferenced package with stub: objc
Replacing unreferenced package with stub: windows
Replacing unreferenced package with stub: shlex
Replacing unreferenced package with stub: wasm-bindgen
Replacing unreferenced package with stub: web-sys
Replacing unreferenced package with stub: wasi-0.9.0+wasi-snapshot-preview1
Replacing unreferenced package with stub: volatile-register
Replacing unreferenced package with stub: atomic-polyfill
Replacing unreferenced package with stub: android_system_properties
Replacing unreferenced package with stub: omnipath
Replacing unreferenced package with stub: windows_aarch64_msvc-0.36.1
Replacing unreferenced package with stub: fuchsia-zircon
Replacing unreferenced package with stub: windows_i686_gnu
Replacing unreferenced package with stub: wasm-bindgen-macro
Replacing unreferenced package with stub: winapi-util
Replacing unreferenced package with stub: fsevent-sys
Replacing unreferenced package with stub: peeking_take_while
Replacing unreferenced package with stub: rand_core-0.4.2
Replacing unreferenced package with stub: critical-section
Replacing unreferenced package with stub: winapi-build
Replacing unreferenced package with stub: cty
Replacing unreferenced package with stub: windows_i686_msvc-0.36.1
Replacing unreferenced package with stub: fuchsia-zircon-sys
Replacing unreferenced package with stub: cexpr
Replacing unreferenced package with stub: windows_x86_64_msvc-0.36.1
Replacing unreferenced package with stub: rand_core-0.3.1
Replacing unreferenced package with stub: bindgen
Replacing unreferenced package with stub: rand_hc
Replacing unreferenced package with stub: instant
Replacing unreferenced package with stub: vcell
Replacing unreferenced package with stub: wasm-bindgen-backend
Replacing unreferenced package with stub: windows_i686_gnu-0.36.1
Replacing unreferenced package with stub: windows_i686_gnu-0.37.0
Replacing unreferenced package with stub: embedded-hal
Replacing unreferenced package with stub: nb
Replacing unreferenced package with stub: schannel
Replacing unreferenced package with stub: windows_x86_64_gnullvm
error: Replacing with stub: ws2_32-sys: Executing cargo metadata: Error during execution of `cargo metadata`: error: failed to load manifest for dependency `winapi-build`
Caused by:
failed to read `/mnt/progs/slack/builds/nushell/nushell-0.71.0/build/Cargo.toml`
Caused by:
No such file or directory (os error 2)
What's actually a bit annoying is that it stops after that error. It would be nice that, even if it encounters a lib that can't be replaced, that it just skips it and moves on with the rest.
> cargo vendor-filterer
Gathering metadata for platforms
Vendoring adler v1.0.2 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/adler-1.0.2) to vendor/adler
Vendoring android_system_properties v0.1.5 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/android_system_properties-0.1.5) to vendor/android_system_properties
Vendoring anyhow v1.0.68 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/anyhow-1.0.68) to vendor/anyhow
Vendoring atty v0.2.14 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/atty-0.2.14) to vendor/atty
Vendoring autocfg v1.1.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/autocfg-1.1.0) to vendor/autocfg
Vendoring bitflags v1.3.2 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-1.3.2) to vendor/bitflags
Vendoring bumpalo v3.11.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/bumpalo-3.11.1) to vendor/bumpalo
Vendoring calloop v0.10.5 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/calloop-0.10.5) to vendor/calloop
Vendoring cc v1.0.78 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.78) to vendor/cc
Vendoring cfg-if v1.0.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/cfg-if-1.0.0) to vendor/cfg-if
Vendoring chrono v0.4.23 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/chrono-0.4.23) to vendor/chrono
Vendoring clap v4.1.4 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/clap-4.1.4) to vendor/clap
Vendoring clap_complete v4.1.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/clap_complete-4.1.1) to vendor/clap_complete
Vendoring clap_derive v4.1.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/clap_derive-4.1.0) to vendor/clap_derive
Vendoring clap_lex v0.3.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/clap_lex-0.3.0) to vendor/clap_lex
Vendoring codespan-reporting v0.11.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/codespan-reporting-0.11.1) to vendor/codespan-reporting
Vendoring colored v2.0.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/colored-2.0.0) to vendor/colored
Vendoring core-foundation-sys v0.8.3 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/core-foundation-sys-0.8.3) to vendor/core-foundation-sys
Vendoring crc32fast v1.3.2 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/crc32fast-1.3.2) to vendor/crc32fast
Vendoring cxx v1.0.86 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/cxx-1.0.86) to vendor/cxx
Vendoring cxx-build v1.0.86 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/cxx-build-1.0.86) to vendor/cxx-build
Vendoring cxxbridge-flags v1.0.86 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/cxxbridge-flags-1.0.86) to vendor/cxxbridge-flags
Vendoring cxxbridge-macro v1.0.86 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/cxxbridge-macro-1.0.86) to vendor/cxxbridge-macro
Vendoring dlib v0.5.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/dlib-0.5.0) to vendor/dlib
Vendoring downcast-rs v1.2.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/downcast-rs-1.2.0) to vendor/downcast-rs
Vendoring either v1.8.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/either-1.8.0) to vendor/either
Vendoring errno v0.2.8 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/errno-0.2.8) to vendor/errno
Vendoring errno-dragonfly v0.1.2 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/errno-dragonfly-0.1.2) to vendor/errno-dragonfly
Vendoring flate2 v1.0.25 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/flate2-1.0.25) to vendor/flate2
Vendoring futures v0.3.25 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.3.25) to vendor/futures
Vendoring futures-channel v0.3.25 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/futures-channel-0.3.25) to vendor/futures-channel
Vendoring futures-core v0.3.25 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/futures-core-0.3.25) to vendor/futures-core
Vendoring futures-io v0.3.25 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/futures-io-0.3.25) to vendor/futures-io
Vendoring futures-sink v0.3.25 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/futures-sink-0.3.25) to vendor/futures-sink
Vendoring futures-task v0.3.25 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/futures-task-0.3.25) to vendor/futures-task
Vendoring futures-util v0.3.25 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/futures-util-0.3.25) to vendor/futures-util
Vendoring heck v0.4.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/heck-0.4.0) to vendor/heck
Vendoring hermit-abi v0.1.19 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/hermit-abi-0.1.19) to vendor/hermit-abi-0.1.19
Vendoring hermit-abi v0.2.6 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/hermit-abi-0.2.6) to vendor/hermit-abi
Vendoring iana-time-zone v0.1.53 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/iana-time-zone-0.1.53) to vendor/iana-time-zone
Vendoring iana-time-zone-haiku v0.1.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/iana-time-zone-haiku-0.1.1) to vendor/iana-time-zone-haiku
Vendoring io-lifetimes v1.0.4 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/io-lifetimes-1.0.4) to vendor/io-lifetimes
Vendoring is-terminal v0.4.2 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/is-terminal-0.4.2) to vendor/is-terminal
Vendoring itertools v0.10.5 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/itertools-0.10.5) to vendor/itertools
Vendoring itoa v1.0.5 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/itoa-1.0.5) to vendor/itoa
Vendoring js-sys v0.3.60 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/js-sys-0.3.60) to vendor/js-sys
Vendoring lazy_static v1.4.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.4.0) to vendor/lazy_static
Vendoring libc v0.2.139 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.139) to vendor/libc
Vendoring libloading v0.7.4 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/libloading-0.7.4) to vendor/libloading
Vendoring link-cplusplus v1.0.8 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/link-cplusplus-1.0.8) to vendor/link-cplusplus
Vendoring linux-raw-sys v0.1.4 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/linux-raw-sys-0.1.4) to vendor/linux-raw-sys
Vendoring log v0.4.17 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/log-0.4.17) to vendor/log
Vendoring memchr v2.5.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/memchr-2.5.0) to vendor/memchr
Vendoring memmap2 v0.5.8 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/memmap2-0.5.8) to vendor/memmap2
Vendoring memoffset v0.6.5 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/memoffset-0.6.5) to vendor/memoffset-0.6.5
Vendoring memoffset v0.7.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/memoffset-0.7.1) to vendor/memoffset
Vendoring minimal-lexical v0.2.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/minimal-lexical-0.2.1) to vendor/minimal-lexical
Vendoring miniz_oxide v0.6.2 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/miniz_oxide-0.6.2) to vendor/miniz_oxide
Vendoring nix v0.25.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/nix-0.25.1) to vendor/nix-0.25.1
Vendoring nix v0.26.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/nix-0.26.1) to vendor/nix
Vendoring nom v7.1.2 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/nom-7.1.2) to vendor/nom
Vendoring num-integer v0.1.45 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/num-integer-0.1.45) to vendor/num-integer
Vendoring num-traits v0.2.15 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/num-traits-0.2.15) to vendor/num-traits
Vendoring once_cell v1.17.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/once_cell-1.17.0) to vendor/once_cell
Vendoring os_str_bytes v6.4.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/os_str_bytes-6.4.1) to vendor/os_str_bytes
Vendoring pin-project-lite v0.2.9 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/pin-project-lite-0.2.9) to vendor/pin-project-lite
Vendoring pin-utils v0.1.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/pin-utils-0.1.0) to vendor/pin-utils
Vendoring pkg-config v0.3.26 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/pkg-config-0.3.26) to vendor/pkg-config
Vendoring png v0.17.7 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/png-0.17.7) to vendor/png
Vendoring proc-macro-error v1.0.4 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-1.0.4) to vendor/proc-macro-error
Vendoring proc-macro-error-attr v1.0.4 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-attr-1.0.4) to vendor/proc-macro-error-attr
Vendoring proc-macro2 v1.0.49 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.49) to vendor/proc-macro2
Vendoring quick-xml v0.23.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/quick-xml-0.23.1) to vendor/quick-xml
Vendoring quote v1.0.23 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/quote-1.0.23) to vendor/quote
Vendoring rustix v0.36.6 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/rustix-0.36.6) to vendor/rustix
Vendoring ryu v1.0.12 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/ryu-1.0.12) to vendor/ryu
Vendoring scoped-tls v1.0.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.1) to vendor/scoped-tls
Vendoring scratch v1.0.3 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/scratch-1.0.3) to vendor/scratch
Vendoring serde v1.0.152 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.152) to vendor/serde
Vendoring serde_derive v1.0.152 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/serde_derive-1.0.152) to vendor/serde_derive
Vendoring serde_json v1.0.91 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/serde_json-1.0.91) to vendor/serde_json
Vendoring simple_logger v2.3.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/simple_logger-2.3.0) to vendor/simple_logger
Vendoring slab v0.4.7 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/slab-0.4.7) to vendor/slab
Vendoring slotmap v1.0.6 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/slotmap-1.0.6) to vendor/slotmap
Vendoring smallvec v1.10.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/smallvec-1.10.0) to vendor/smallvec
Vendoring smithay-client-toolkit v0.16.0 (https://github.com/Smithay/client-toolkit.git#327f9cd7) (/home/hugo/.local/state/cargo/git/checkouts/client-toolkit-e56a3844de110279/327f9cd) to vendor/smithay-client-toolkit
Vendoring static_assertions v1.1.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/static_assertions-1.1.0) to vendor/static_assertions
Vendoring strsim v0.10.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/strsim-0.10.0) to vendor/strsim
Vendoring syn v1.0.107 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/syn-1.0.107) to vendor/syn
Vendoring termcolor v1.1.3 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/termcolor-1.1.3) to vendor/termcolor
Vendoring thiserror v1.0.38 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/thiserror-1.0.38) to vendor/thiserror
Vendoring thiserror-impl v1.0.38 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/thiserror-impl-1.0.38) to vendor/thiserror-impl
Vendoring unicode-ident v1.0.6 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/unicode-ident-1.0.6) to vendor/unicode-ident
Vendoring unicode-width v0.1.10 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/unicode-width-0.1.10) to vendor/unicode-width
Vendoring vec_map v0.8.2 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/vec_map-0.8.2) to vendor/vec_map
Vendoring version_check v0.9.4 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/version_check-0.9.4) to vendor/version_check
Vendoring wasm-bindgen v0.2.83 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wasm-bindgen-0.2.83) to vendor/wasm-bindgen
Vendoring wasm-bindgen-backend v0.2.83 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wasm-bindgen-backend-0.2.83) to vendor/wasm-bindgen-backend
Vendoring wasm-bindgen-macro v0.2.83 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wasm-bindgen-macro-0.2.83) to vendor/wasm-bindgen-macro
Vendoring wasm-bindgen-macro-support v0.2.83 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wasm-bindgen-macro-support-0.2.83) to vendor/wasm-bindgen-macro-support
Vendoring wasm-bindgen-shared v0.2.83 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wasm-bindgen-shared-0.2.83) to vendor/wasm-bindgen-shared
Vendoring wayland-backend v0.1.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wayland-backend-0.1.0) to vendor/wayland-backend
Vendoring wayland-client v0.30.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wayland-client-0.30.0) to vendor/wayland-client
Vendoring wayland-cursor v0.30.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wayland-cursor-0.30.0) to vendor/wayland-cursor
Vendoring wayland-protocols v0.30.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wayland-protocols-0.30.0) to vendor/wayland-protocols
Vendoring wayland-protocols-wlr v0.1.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wayland-protocols-wlr-0.1.0) to vendor/wayland-protocols-wlr
Vendoring wayland-scanner v0.30.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wayland-scanner-0.30.0) to vendor/wayland-scanner
Vendoring wayland-sys v0.30.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/wayland-sys-0.30.1) to vendor/wayland-sys
Vendoring winapi v0.3.9 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/winapi-0.3.9) to vendor/winapi
Vendoring winapi-i686-pc-windows-gnu v0.4.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/winapi-i686-pc-windows-gnu-0.4.0) to vendor/winapi-i686-pc-windows-gnu
Vendoring winapi-util v0.1.5 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/winapi-util-0.1.5) to vendor/winapi-util
Vendoring winapi-x86_64-pc-windows-gnu v0.4.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/winapi-x86_64-pc-windows-gnu-0.4.0) to vendor/winapi-x86_64-pc-windows-gnu
Vendoring windows-sys v0.42.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/windows-sys-0.42.0) to vendor/windows-sys
Vendoring windows_aarch64_gnullvm v0.42.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/windows_aarch64_gnullvm-0.42.1) to vendor/windows_aarch64_gnullvm
Vendoring windows_aarch64_msvc v0.42.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/windows_aarch64_msvc-0.42.1) to vendor/windows_aarch64_msvc
Vendoring windows_i686_gnu v0.42.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/windows_i686_gnu-0.42.1) to vendor/windows_i686_gnu
Vendoring windows_i686_msvc v0.42.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/windows_i686_msvc-0.42.1) to vendor/windows_i686_msvc
Vendoring windows_x86_64_gnu v0.42.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/windows_x86_64_gnu-0.42.1) to vendor/windows_x86_64_gnu
Vendoring windows_x86_64_gnullvm v0.42.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/windows_x86_64_gnullvm-0.42.1) to vendor/windows_x86_64_gnullvm
Vendoring windows_x86_64_msvc v0.42.1 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/windows_x86_64_msvc-0.42.1) to vendor/windows_x86_64_msvc
Vendoring xcursor v0.3.4 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/xcursor-0.3.4) to vendor/xcursor
Vendoring xkbcommon v0.5.0 (/home/hugo/.local/state/cargo/registry/src/github.com-1ecc6299db9ec823/xkbcommon-0.5.0) to vendor/xkbcommon
To use vendored sources, add this to your .cargo/config.toml for this project:
[source.crates-io]
replace-with = "vendored-sources"
[source."git+https://github.com/Smithay/client-toolkit.git"]
git = "https://github.com/Smithay/client-toolkit.git"
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"
Skipping shotman
Skipping shotman_completions
Skipping smithay-client-toolkit
Replacing unreferenced package with stub: android_system_properties
Replacing unreferenced package with stub: bumpalo
Replacing unreferenced package with stub: codespan-reporting
Replacing unreferenced package with stub: core-foundation-sys
Replacing unreferenced package with stub: cxx
Replacing unreferenced package with stub: cxx-build
Replacing unreferenced package with stub: cxxbridge-flags
Replacing unreferenced package with stub: cxxbridge-macro
Replacing unreferenced package with stub: errno
Replacing unreferenced package with stub: errno-dragonfly
Replacing unreferenced package with stub: hermit-abi-0.1.19
Replacing unreferenced package with stub: hermit-abi
Replacing unreferenced package with stub: iana-time-zone-haiku
Replacing unreferenced package with stub: js-sys
Replacing unreferenced package with stub: link-cplusplus
Replacing unreferenced package with stub: scratch
Replacing unreferenced package with stub: smithay-client-toolkit
Replacing unreferenced package with stub: unicode-width
Replacing unreferenced package with stub: wasm-bindgen
Replacing unreferenced package with stub: wasm-bindgen-backend
Replacing unreferenced package with stub: wasm-bindgen-macro
Replacing unreferenced package with stub: wasm-bindgen-macro-support
Replacing unreferenced package with stub: wasm-bindgen-shared
Replacing unreferenced package with stub: winapi
Replacing unreferenced package with stub: winapi-i686-pc-windows-gnu
Replacing unreferenced package with stub: winapi-util
Replacing unreferenced package with stub: winapi-x86_64-pc-windows-gnu
Replacing unreferenced package with stub: windows-sys
Replacing unreferenced package with stub: windows_aarch64_gnullvm
Replacing unreferenced package with stub: windows_aarch64_msvc
Replacing unreferenced package with stub: windows_i686_gnu
Replacing unreferenced package with stub: windows_i686_msvc
Replacing unreferenced package with stub: windows_x86_64_gnu
Replacing unreferenced package with stub: windows_x86_64_gnullvm
Replacing unreferenced package with stub: windows_x86_64_msvc
Replacing unreferenced package with stub: android_system_properties
thread 'main' panicked at 'assertion failed: unreferenced.insert(name.to_string())', src/main.rs:712:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
zsh: abort cargo vendor-filterer
My Cargo.toml is this one
plus:
[package.metadata.vendor-filter]
platforms = ["x86_64-unknown-linux-musl"]
The current testing method is through a shell script. Previous work from cargo-vendor
1, and cargo
2, 3 allow for suitable mocking to embed tests directly in Rust.
First discussed with @cgwalters in this PR thread.
Taking a copy of the mozilla-central repository, and trying to run vendor-filterer on it yields the following:
$ cargo vendor-filterer
error: Executing cargo metadata (first run): Error during execution of `cargo metadata`: error: failed to parse manifest at `/tmp/gecko/Cargo.toml`
Caused by:
missing field `name` for key `package`
Currently, some Rust wrappers of C libraries provide an embedded tarball to build the C library in platforms like Windows. An obvious and known example is gettext-rs.
The gettext-sys package specifically contains a pretty large tar.*
file that is useless when you are targetting linux only. This makes the majority of the linux apps built using rust (and gtk) have a larger release tarball then it should have.
It would be nice to have some way to automatically remove any archive in the vendored dependencies.
Currently we will probably be doing something like
cargo vendor-filterer --platform=x86_64-unknown-linux-gnu --platform=aarch64-unknown-linux-gnu > "$DIST"/.cargo/config
rm -f vendor/gettext-sys/gettext-*.tar.*
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.