gecko-dev/.cargo/config.in

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

98 строки
3.4 KiB
Plaintext
Исходник Обычный вид История

# This file contains vendoring instructions for cargo.
# It was generated by `mach vendor rust`.
# Please do not edit.
[source."https://github.com/shravanrn/nix/"]
branch = "r0.13.1"
git = "https://github.com/shravanrn/nix/"
replace-with = "vendored-sources"
[source."https://github.com/mozilla/rkv"]
git = "https://github.com/mozilla/rkv"
replace-with = "vendored-sources"
rev = "6a866fdad2ca880df9b87fcbc9921abac1e91914"
[source."https://github.com/mozilla/neqo"]
git = "https://github.com/mozilla/neqo"
replace-with = "vendored-sources"
tag = "v0.1.14"
Bug 1575008 - WebGPU implementation basis r=baku,bzbarsky This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test. Complementary ecosystem tracker - https://github.com/gfx-rs/wgpu/issues/374 Current status: - [x] General - [x] figure out the IPC story - [ ] move wgpu crates into a dedicated folder (postponed as https://bugzilla.mozilla.org/show_bug.cgi?id=1594182) - [x] neko rebasing disaster - [x] Linux - [x] avoid depending on spirv_cross - [x] macOS - [x] due to cross-compiling shaders - [x] need the dependency update - [x] stop using gcc - [x] unexpected SSL header collision - https://phabricator.services.mozilla.com/D51148 - [x] undefined Metal symbols - [x] missing webrtc headers for IPDL magic - https://phabricator.services.mozilla.com/D51558 - [x] spirv-cross linking failure in ASAN - https://phabricator.services.mozilla.com/D52688 - [x] Windows - [x] due to "ipc-channel" not supporting Windows yet - [x] due to some exceptional stuff - [x] undefined symbol: `D3D12CreateDevice` - [x] d3d12.dll is not found, dxgi1_4 doesn't present - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - [x] libbacktrace fails to link on win32 mingw - [x] cc mislinking C++ standard library - [x] Android - [x] spirv-cross fails to build due to exceptions Update-1: We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build. Update-2: It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 . Update-3: InstanceProvider is also removed. Update-4: All set, the try is green, waiting for dependent changes to go in. Differential Revision: https://phabricator.services.mozilla.com/D49458 --HG-- rename : dom/webgpu/Adapter.cpp => dom/webgpu/ipc/WebGPUTypes.h rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/ash/Cargo.toml rename : third_party/rust/uluru/Cargo.toml => third_party/rust/atom/Cargo.toml rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/cocoa/Cargo.toml rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/cocoa/LICENSE-MIT rename : third_party/rust/core-graphics/src/lib.rs => third_party/rust/cocoa/src/lib.rs rename : third_party/rust/uluru/Cargo.toml => third_party/rust/colorful/Cargo.toml rename : third_party/rust/uluru/Cargo.toml => third_party/rust/copyless/Cargo.toml rename : third_party/rust/crossbeam-utils/.cargo-checksum.json => third_party/rust/crossbeam-utils-0.6.5/.cargo-checksum.json rename : third_party/rust/crossbeam-utils/CHANGELOG.md => third_party/rust/crossbeam-utils-0.6.5/CHANGELOG.md rename : third_party/rust/crossbeam-utils/Cargo.toml => third_party/rust/crossbeam-utils-0.6.5/Cargo.toml rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/crossbeam-utils-0.6.5/LICENSE-MIT rename : third_party/rust/crossbeam-utils/README.md => third_party/rust/crossbeam-utils-0.6.5/README.md rename : third_party/rust/crossbeam-utils/benches/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/benches/atomic_cell.rs rename : third_party/rust/crossbeam-utils/src/atomic/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/src/atomic/atomic_cell.rs rename : third_party/rust/crossbeam-utils/src/atomic/mod.rs => third_party/rust/crossbeam-utils-0.6.5/src/atomic/mod.rs rename : third_party/rust/crossbeam-utils/src/backoff.rs => third_party/rust/crossbeam-utils-0.6.5/src/backoff.rs rename : third_party/rust/crossbeam-utils/src/cache_padded.rs => third_party/rust/crossbeam-utils-0.6.5/src/cache_padded.rs rename : third_party/rust/crossbeam-utils/src/lib.rs => third_party/rust/crossbeam-utils-0.6.5/src/lib.rs rename : third_party/rust/crossbeam-utils/src/thread.rs => third_party/rust/crossbeam-utils-0.6.5/src/thread.rs rename : third_party/rust/crossbeam-utils/tests/atomic_cell.rs => third_party/rust/crossbeam-utils-0.6.5/tests/atomic_cell.rs rename : third_party/rust/crossbeam-utils/tests/parker.rs => third_party/rust/crossbeam-utils-0.6.5/tests/parker.rs rename : third_party/rust/crossbeam-utils/tests/sharded_lock.rs => third_party/rust/crossbeam-utils-0.6.5/tests/sharded_lock.rs rename : third_party/rust/crossbeam-utils/tests/thread.rs => third_party/rust/crossbeam-utils-0.6.5/tests/thread.rs rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/gfx-auxil/Cargo.toml rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/gfx-backend-empty/Cargo.toml rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/hibitset/Cargo.toml rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/hibitset/LICENSE-MIT rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/metal/LICENSE-MIT rename : third_party/rust/uluru/Cargo.toml => third_party/rust/range-alloc/Cargo.toml rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/raw-window-handle/Cargo.toml rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/relevant/Cargo.toml rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/relevant/LICENSE-MIT rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/rendy-descriptor/Cargo.toml rename : third_party/rust/uluru/Cargo.toml => third_party/rust/shared_library/Cargo.toml rename : third_party/rust/crossbeam-deque/LICENSE-MIT => third_party/rust/shared_library/LICENSE-MIT rename : third_party/rust/blake2b_simd/Cargo.toml => third_party/rust/storage-map/Cargo.toml rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/x11/Cargo.toml extra : moz-landing-system : lando
2019-11-14 07:59:56 +03:00
[source."https://github.com/kvark/spirv_cross"]
branch = "wgpu"
git = "https://github.com/kvark/spirv_cross"
replace-with = "vendored-sources"
[source."https://github.com/kvark/peek-poke"]
git = "https://github.com/kvark/peek-poke"
replace-with = "vendored-sources"
rev = "969bd7fe2be1a83f87916dc8b388c63cfd457075"
[source."https://github.com/jfkthame/mapped_hyph.git"]
git = "https://github.com/jfkthame/mapped_hyph.git"
replace-with = "vendored-sources"
tag = "v0.3.0"
[source."https://github.com/hsivonen/packed_simd"]
git = "https://github.com/hsivonen/packed_simd"
replace-with = "vendored-sources"
rev = "3541e3818fdc7c2a24f87e3459151a4ce955a67a"
Bug 1601859 - Vendor cubeb-pulse-rs. r=kinetik This technically breaks mach vendor rust because of the missing licenses, but this will be fixed subsequently. Differential Revision: https://phabricator.services.mozilla.com/D56161 --HG-- rename : media/libcubeb/cubeb-pulse-rs/AUTHORS => third_party/rust/cubeb-pulse/AUTHORS rename : media/libcubeb/cubeb-pulse-rs/Cargo.toml => third_party/rust/cubeb-pulse/Cargo.toml rename : media/libcubeb/cubeb-pulse-rs/LICENSE => third_party/rust/cubeb-pulse/LICENSE rename : media/libcubeb/cubeb-pulse-rs/README.md => third_party/rust/cubeb-pulse/README.md rename : media/libcubeb/cubeb-pulse-rs/src/backend/context.rs => third_party/rust/cubeb-pulse/src/backend/context.rs rename : media/libcubeb/cubeb-pulse-rs/src/backend/cork_state.rs => third_party/rust/cubeb-pulse/src/backend/cork_state.rs rename : media/libcubeb/cubeb-pulse-rs/src/backend/intern.rs => third_party/rust/cubeb-pulse/src/backend/intern.rs rename : media/libcubeb/cubeb-pulse-rs/src/backend/mod.rs => third_party/rust/cubeb-pulse/src/backend/mod.rs rename : media/libcubeb/cubeb-pulse-rs/src/backend/stream.rs => third_party/rust/cubeb-pulse/src/backend/stream.rs rename : media/libcubeb/cubeb-pulse-rs/src/capi.rs => third_party/rust/cubeb-pulse/src/capi.rs rename : media/libcubeb/cubeb-pulse-rs/src/lib.rs => third_party/rust/cubeb-pulse/src/lib.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/Cargo.toml => third_party/rust/pulse-ffi/Cargo.toml rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/src/ffi_funcs.rs => third_party/rust/pulse-ffi/src/ffi_funcs.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/src/ffi_types.rs => third_party/rust/pulse-ffi/src/ffi_types.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/src/lib.rs => third_party/rust/pulse-ffi/src/lib.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/Cargo.toml => third_party/rust/pulse/Cargo.toml rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs => third_party/rust/pulse/src/context.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/error.rs => third_party/rust/pulse/src/error.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/lib.rs => third_party/rust/pulse/src/lib.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/mainloop_api.rs => third_party/rust/pulse/src/mainloop_api.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/operation.rs => third_party/rust/pulse/src/operation.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/proplist.rs => third_party/rust/pulse/src/proplist.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs => third_party/rust/pulse/src/stream.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/threaded_mainloop.rs => third_party/rust/pulse/src/threaded_mainloop.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/util.rs => third_party/rust/pulse/src/util.rs extra : moz-landing-system : lando
2019-12-11 23:57:35 +03:00
[source."https://github.com/djg/cubeb-pulse-rs"]
git = "https://github.com/djg/cubeb-pulse-rs"
replace-with = "vendored-sources"
rev = "8069f8f4189982e0b38fa6dc8993dd4fab41f728"
Bug 1601859 - Vendor cubeb-pulse-rs. r=kinetik This technically breaks mach vendor rust because of the missing licenses, but this will be fixed subsequently. Differential Revision: https://phabricator.services.mozilla.com/D56161 --HG-- rename : media/libcubeb/cubeb-pulse-rs/AUTHORS => third_party/rust/cubeb-pulse/AUTHORS rename : media/libcubeb/cubeb-pulse-rs/Cargo.toml => third_party/rust/cubeb-pulse/Cargo.toml rename : media/libcubeb/cubeb-pulse-rs/LICENSE => third_party/rust/cubeb-pulse/LICENSE rename : media/libcubeb/cubeb-pulse-rs/README.md => third_party/rust/cubeb-pulse/README.md rename : media/libcubeb/cubeb-pulse-rs/src/backend/context.rs => third_party/rust/cubeb-pulse/src/backend/context.rs rename : media/libcubeb/cubeb-pulse-rs/src/backend/cork_state.rs => third_party/rust/cubeb-pulse/src/backend/cork_state.rs rename : media/libcubeb/cubeb-pulse-rs/src/backend/intern.rs => third_party/rust/cubeb-pulse/src/backend/intern.rs rename : media/libcubeb/cubeb-pulse-rs/src/backend/mod.rs => third_party/rust/cubeb-pulse/src/backend/mod.rs rename : media/libcubeb/cubeb-pulse-rs/src/backend/stream.rs => third_party/rust/cubeb-pulse/src/backend/stream.rs rename : media/libcubeb/cubeb-pulse-rs/src/capi.rs => third_party/rust/cubeb-pulse/src/capi.rs rename : media/libcubeb/cubeb-pulse-rs/src/lib.rs => third_party/rust/cubeb-pulse/src/lib.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/Cargo.toml => third_party/rust/pulse-ffi/Cargo.toml rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/src/ffi_funcs.rs => third_party/rust/pulse-ffi/src/ffi_funcs.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/src/ffi_types.rs => third_party/rust/pulse-ffi/src/ffi_types.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-ffi/src/lib.rs => third_party/rust/pulse-ffi/src/lib.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/Cargo.toml => third_party/rust/pulse/Cargo.toml rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs => third_party/rust/pulse/src/context.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/error.rs => third_party/rust/pulse/src/error.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/lib.rs => third_party/rust/pulse/src/lib.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/mainloop_api.rs => third_party/rust/pulse/src/mainloop_api.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/operation.rs => third_party/rust/pulse/src/operation.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/proplist.rs => third_party/rust/pulse/src/proplist.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs => third_party/rust/pulse/src/stream.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/threaded_mainloop.rs => third_party/rust/pulse/src/threaded_mainloop.rs rename : media/libcubeb/cubeb-pulse-rs/pulse-rs/src/util.rs => third_party/rust/pulse/src/util.rs extra : moz-landing-system : lando
2019-12-11 23:57:35 +03:00
[source."https://github.com/bytecodealliance/cranelift"]
git = "https://github.com/bytecodealliance/cranelift"
replace-with = "vendored-sources"
rev = "98c818c129979e98a3db150f8f9698f6451b7ef7"
[source."https://github.com/badboy/failure"]
git = "https://github.com/badboy/failure"
replace-with = "vendored-sources"
rev = "64af847bc5fdcb6d2438bec8a6030812a80519a5"
[source."https://github.com/alexcrichton/mio-named-pipes"]
branch = "master"
git = "https://github.com/alexcrichton/mio-named-pipes"
replace-with = "vendored-sources"
[source."https://github.com/PLSysSec/rlbox_lucet_sandbox/"]
git = "https://github.com/PLSysSec/rlbox_lucet_sandbox/"
replace-with = "vendored-sources"
rev = "6ddc15b70f0d902241742fd55c689649cad100f8"
[source."https://github.com/PLSysSec/lucet_sandbox_compiler"]
git = "https://github.com/PLSysSec/lucet_sandbox_compiler"
replace-with = "vendored-sources"
rev = "a3fd180d53a6f929a7ef47466ffc2e53338ad4f1"
Bug 1601859 - Vendor cubeb-coreaudio. r=padenot This technically breaks mach vendor rust because of the missing licenses, but this will be fixed subsequently. Differential Revision: https://phabricator.services.mozilla.com/D56160 --HG-- rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/Cargo.toml => third_party/rust/coreaudio-sys-utils/Cargo.toml rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/aggregate_device.rs => third_party/rust/coreaudio-sys-utils/src/aggregate_device.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/audio_object.rs => third_party/rust/coreaudio-sys-utils/src/audio_object.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/audio_unit.rs => third_party/rust/coreaudio-sys-utils/src/audio_unit.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/cf_mutable_dict.rs => third_party/rust/coreaudio-sys-utils/src/cf_mutable_dict.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/dispatch.rs => third_party/rust/coreaudio-sys-utils/src/dispatch.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/lib.rs => third_party/rust/coreaudio-sys-utils/src/lib.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/string.rs => third_party/rust/coreaudio-sys-utils/src/string.rs rename : media/libcubeb/cubeb-coreaudio-rs/Cargo.toml => third_party/rust/cubeb-coreaudio/Cargo.toml rename : media/libcubeb/cubeb-coreaudio-rs/LICENSE => third_party/rust/cubeb-coreaudio/LICENSE rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/aggregate_device.rs => third_party/rust/cubeb-coreaudio/src/backend/aggregate_device.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/auto_array.rs => third_party/rust/cubeb-coreaudio/src/backend/auto_array.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/auto_release.rs => third_party/rust/cubeb-coreaudio/src/backend/auto_release.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/device_property.rs => third_party/rust/cubeb-coreaudio/src/backend/device_property.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/mixer.rs => third_party/rust/cubeb-coreaudio/src/backend/mixer.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/mod.rs => third_party/rust/cubeb-coreaudio/src/backend/mod.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/resampler.rs => third_party/rust/cubeb-coreaudio/src/backend/resampler.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/utils.rs => third_party/rust/cubeb-coreaudio/src/backend/utils.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/capi.rs => third_party/rust/cubeb-coreaudio/src/capi.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/lib.rs => third_party/rust/cubeb-coreaudio/src/lib.rs extra : moz-landing-system : lando
2019-12-10 18:43:17 +03:00
[source."https://github.com/ChunMinChang/cubeb-coreaudio-rs"]
git = "https://github.com/ChunMinChang/cubeb-coreaudio-rs"
replace-with = "vendored-sources"
rev = "7fe03b4201160f84aad1c12536affe6b05f8839f"
Bug 1601859 - Vendor cubeb-coreaudio. r=padenot This technically breaks mach vendor rust because of the missing licenses, but this will be fixed subsequently. Differential Revision: https://phabricator.services.mozilla.com/D56160 --HG-- rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/Cargo.toml => third_party/rust/coreaudio-sys-utils/Cargo.toml rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/aggregate_device.rs => third_party/rust/coreaudio-sys-utils/src/aggregate_device.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/audio_object.rs => third_party/rust/coreaudio-sys-utils/src/audio_object.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/audio_unit.rs => third_party/rust/coreaudio-sys-utils/src/audio_unit.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/cf_mutable_dict.rs => third_party/rust/coreaudio-sys-utils/src/cf_mutable_dict.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/dispatch.rs => third_party/rust/coreaudio-sys-utils/src/dispatch.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/lib.rs => third_party/rust/coreaudio-sys-utils/src/lib.rs rename : media/libcubeb/cubeb-coreaudio-rs/coreaudio-sys-utils/src/string.rs => third_party/rust/coreaudio-sys-utils/src/string.rs rename : media/libcubeb/cubeb-coreaudio-rs/Cargo.toml => third_party/rust/cubeb-coreaudio/Cargo.toml rename : media/libcubeb/cubeb-coreaudio-rs/LICENSE => third_party/rust/cubeb-coreaudio/LICENSE rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/aggregate_device.rs => third_party/rust/cubeb-coreaudio/src/backend/aggregate_device.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/auto_array.rs => third_party/rust/cubeb-coreaudio/src/backend/auto_array.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/auto_release.rs => third_party/rust/cubeb-coreaudio/src/backend/auto_release.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/device_property.rs => third_party/rust/cubeb-coreaudio/src/backend/device_property.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/mixer.rs => third_party/rust/cubeb-coreaudio/src/backend/mixer.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/mod.rs => third_party/rust/cubeb-coreaudio/src/backend/mod.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/resampler.rs => third_party/rust/cubeb-coreaudio/src/backend/resampler.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/backend/utils.rs => third_party/rust/cubeb-coreaudio/src/backend/utils.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/capi.rs => third_party/rust/cubeb-coreaudio/src/capi.rs rename : media/libcubeb/cubeb-coreaudio-rs/src/lib.rs => third_party/rust/cubeb-coreaudio/src/lib.rs extra : moz-landing-system : lando
2019-12-10 18:43:17 +03:00
[source.crates-io]
replace-with = "vendored-sources"
# Take advantage of the fact that cargo will treat lines starting with #
# as comments to add preprocessing directives. This file can thus by copied
# as-is to $topsrcdir/.cargo/config with no preprocessing to be used there
# (for e.g. independent tasks building rust code), or be preprocessed by
# the build system to produce a .cargo/config with the right content.
#define REPLACE_NAME vendored-sources
#define VENDORED_DIRECTORY third_party/rust
# We explicitly exclude the following section when preprocessing because
# it would overlap with the preprocessed [source."@REPLACE_NAME@"], and
# cargo would fail.
#ifndef REPLACE_NAME
[source.vendored-sources]
directory = "third_party/rust"
#endif
# Thankfully, @REPLACE_NAME@ is unlikely to be a legitimate source, so
# cargo will ignore it when it's here verbatim.
#filter substitution
[source."@REPLACE_NAME@"]
Bug 1575760 - Make `mach vendor rust` create a .cargo/config and check it in the tree. r=nalexander Maybe back when .cargo/config.in was added, the directory indicated for vendored crates needed to be absolute. That is at least not the case with the current supported versions of rust. The current setup has a few caveats: - .cargo/config.in has shown to become stale (it currently contains multiple unused entries) - non-gecko build tasks have to generate a .cargo/config on their own if they want to use vendored crates - in turn, non-gecko build tasks that don't, may unknowingly get their dependencies from crates.io (see the recent attempt at moving geckodriver builds to a separate task). By checking in a .cargo/config file, we can alleviate the last two, but that comes at the price of `cargo update` not wanting to act when .cargo/config exists, because of the source replacement configuration. But rust vendor gently generates a suitable configuration on its own, so we can use that to generate a .cargo/config automatically. Which addresses the first caveat of the current setup. That leaves us with `cargo update` not working out of the box, but that just requires people running it to manually remove .cargo/config first. Which is arguably what rust wants you to do in the first place. It's kind of incidental that we started with a .cargo/config.in rather than .cargo/config. Now, while a simple .cargo/config works, that's not enough for the case where the objdir doesn't live inside the source directory. In that case cargo looks for the configuration from the objdir, and fails to find it. So we still need a .cargo/config.in, which we generate with a little trick. Differential Revision: https://phabricator.services.mozilla.com/D43012 --HG-- rename : .cargo/config.in => .cargo/config extra : moz-landing-system : lando
2019-08-27 01:20:32 +03:00
directory = "@top_srcdir@/@VENDORED_DIRECTORY@"