Description: avoid not-in-Debian crates wit-component wit-parser
Author: Jonas Smedegaard <dr@jones.dk>
Forwarded: not-needed
Last-Update: 2025-10-09
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -96,18 +96,13 @@
 async-trait = { workspace = true }
 wat = { workspace = true }
 rayon = "1.5.0"
-wasmtime-wast = { workspace = true, features = ['component-model'] }
 wasmtime-component-util = { workspace = true }
-component-macro-test = { path = "crates/misc/component-macro-test" }
-component-test-util = { workspace = true }
 bstr = "1.6.0"
 libc = { workspace = true }
 serde = { workspace = true }
 serde_json = { workspace = true }
 walkdir = { workspace = true }
-test-programs-artifacts = { workspace = true }
 bytesize = "1.3.0"
-wit-component = { workspace = true }
 cranelift-codegen = { workspace = true, features = ["disas", "trace-log", "timing"] }
 cranelift-reader = { workspace = true }
 toml = { workspace = true }
@@ -139,7 +134,6 @@
   "crates/bench-api",
   "crates/c-api/artifact",
   "crates/environ/fuzz",
-  "crates/test-programs",
   "crates/wasi-preview1-component-adapter",
   "crates/wasi-preview1-component-adapter/verify",
   "examples/fib-debug/wasm",
@@ -214,7 +208,6 @@
 wasmtime-asm-macros = { path = "crates/asm-macros", version = "=28.0.1" }
 wasmtime-versioned-export-macros = { path = "crates/versioned-export-macros", version = "=28.0.1" }
 wasmtime-slab = { path = "crates/slab", version = "=28.0.1" }
-component-test-util = { path = "crates/misc/component-test-util" }
 component-fuzz-util = { path = "crates/misc/component-fuzz-util" }
 wiggle = { path = "crates/wiggle", version = "=28.0.1", default-features = false }
 wiggle-macro = { path = "crates/wiggle/macro", version = "=28.0.1" }
@@ -223,7 +216,6 @@
 wasmtime-fuzzing = { path = "crates/fuzzing" }
 wasmtime-jit-icache-coherence = { path = "crates/jit-icache-coherence", version = "=28.0.1" }
 wasmtime-wit-bindgen = { path = "crates/wit-bindgen", version = "=28.0.1" }
-test-programs-artifacts = { path = 'crates/test-programs/artifacts' }
 
 cranelift-codegen = { path = "cranelift/codegen", version = "0.115.1", default-features = false, features = ["std", "unwind"] }
 cranelift-frontend = { path = "cranelift/frontend", version = "0.115.1" }
@@ -273,8 +265,6 @@
 wasm-encoder = "0.217.0"
 wasm-smith = "0.217.0"
 wasm-mutate = "0.217.0"
-wit-parser = "0.217.0"
-wit-component = "0.217.0"
 
 # Non-Bytecode Alliance maintained dependencies:
 # --------------------------
@@ -377,7 +367,6 @@
   "coredump",
   "addr2line",
   "debug-builtins",
-  "component-model",
   "signals-based-traps",
   "threads",
   "gc",
@@ -412,15 +401,10 @@
 # the internal mapping for what they enable in Wasmtime itself.
 wasi-nn = ["dep:wasmtime-wasi-nn"]
 wasi-threads = ["dep:wasmtime-wasi-threads", "threads"]
-wasi-http = ["component-model", "dep:wasmtime-wasi-http", "dep:tokio", "dep:hyper"]
+wasi-http = ["dep:wasmtime-wasi-http", "dep:tokio", "dep:hyper"]
 wasi-config = ["dep:wasmtime-wasi-config"]
 wasi-keyvalue = ["dep:wasmtime-wasi-keyvalue"]
 pooling-allocator = ["wasmtime/pooling-allocator", "wasmtime-cli-flags/pooling-allocator"]
-component-model = [
-  "wasmtime/component-model",
-  "wasmtime-wast?/component-model",
-  "wasmtime-cli-flags/component-model"
-]
 wat = ["dep:wat", "wasmtime/wat"]
 cache = ["dep:wasmtime-cache", "wasmtime-cli-flags/cache"]
 parallel-compilation = ["wasmtime-cli-flags/parallel-compilation"]
@@ -440,7 +424,6 @@
 # for more information on each subcommand.
 serve = [
   "wasi-http",
-  "component-model",
   "dep:http-body-util",
   "dep:http",
   "wasmtime-cli-flags/async",
@@ -459,6 +442,10 @@
 completion = ["dep:clap_complete"]
 
 [[test]]
+name = "all"
+required-features = ["component-model"]
+
+[[test]]
 name = "host_segfault"
 harness = false
 
@@ -471,6 +458,10 @@
 harness = false
 
 [[example]]
+name = "component"
+required-features = ["component-model"]
+
+[[example]]
 name = "tokio"
 required-features = ["wasi-common/tokio"]
 
--- a/crates/cli-flags/Cargo.toml
+++ b/crates/cli-flags/Cargo.toml
@@ -22,7 +22,6 @@
 [features]
 async = ["wasmtime/async"]
 pooling-allocator = ["wasmtime/pooling-allocator"]
-component-model = ["wasmtime/component-model"]
 cache = ["wasmtime/cache"]
 parallel-compilation = ["wasmtime/parallel-compilation", "dep:rayon"]
 cranelift = ["wasmtime/cranelift"]
--- a/crates/cranelift/Cargo.toml
+++ b/crates/cranelift/Cargo.toml
@@ -36,7 +36,6 @@
 [features]
 host-arch = ["cranelift-codegen/host-arch"]
 trace-log = ["cranelift-codegen/trace-log"]
-component-model = ["wasmtime-environ/component-model"]
 incremental-cache = ["cranelift-codegen/incremental-cache"]
 wmemcheck = ["wasmtime-environ/wmemcheck"]
 gc = ["wasmtime-environ/gc"]
--- a/crates/environ/Cargo.toml
+++ b/crates/environ/Cargo.toml
@@ -33,8 +33,6 @@
 rustc-demangle = { version = "0.1.16", optional = true }
 target-lexicon = { workspace = true }
 wasm-encoder = { workspace = true, optional = true }
-wasmtime-component-util = { workspace = true, optional = true }
-semver = { workspace = true, optional = true, features = ['serde'] }
 smallvec = { workspace = true, features = ['serde'] }
 
 [dev-dependencies]
@@ -47,7 +45,6 @@
 required-features = ['component-model', 'compile']
 
 [features]
-component-model = ["dep:wasmtime-component-util", "dep:semver"]
 demangle = ['std', 'dep:rustc-demangle', 'dep:cpp_demangle']
 gc = []
 gc-drc = ["gc"]
--- a/crates/environ/fuzz/Cargo.toml
+++ b/crates/environ/fuzz/Cargo.toml
@@ -16,7 +16,6 @@
 wasmparser = { workspace = true }
 wat = { workspace = true }
 wasmtime-environ = { workspace = true }
-component-fuzz-util = { workspace = true, optional = true }
 
 [[bin]]
 name = "fact-valid-module"
@@ -24,10 +23,3 @@
 test = false
 doc = false
 required-features = ["component-model"]
-
-[features]
-component-model = [
-  "wasmtime-environ/component-model",
-  "wasmtime-environ/compile",
-  "dep:component-fuzz-util",
-]
--- a/crates/misc/component-test-util/Cargo.toml
+++ b/crates/misc/component-test-util/Cargo.toml
@@ -11,5 +11,5 @@
 env_logger = { workspace = true }
 anyhow = { workspace = true }
 arbitrary = { workspace = true, features = ["derive"] }
-wasmtime = { workspace = true, features = ["component-model", "async"] }
+wasmtime = { workspace = true, features = ["async"] }
 wasmtime-wast-util = { path = '../../wast-util' }
--- a/crates/test-programs/artifacts/Cargo.toml
+++ b/crates/test-programs/artifacts/Cargo.toml
@@ -11,7 +11,7 @@
 workspace = true
 
 [dependencies]
-wasmtime = { workspace = true, features = ['incremental-cache', 'cranelift', 'component-model'] }
+wasmtime = { workspace = true, features = ['incremental-cache', 'cranelift'] }
 
 [build-dependencies]
 heck = { workspace = true }
--- a/crates/wasi-config/Cargo.toml
+++ b/crates/wasi-config/Cargo.toml
@@ -13,7 +13,7 @@
 
 [dependencies]
 anyhow = { workspace = true }
-wasmtime = { workspace = true, features = ["runtime", "component-model"] }
+wasmtime = { workspace = true, features = ["runtime"] }
 
 [dev-dependencies]
 test-programs-artifacts = { workspace = true }
--- a/crates/wasi-http/Cargo.toml
+++ b/crates/wasi-http/Cargo.toml
@@ -27,7 +27,7 @@
 http-body-util = { workspace = true }
 tracing = { workspace = true }
 wasmtime-wasi = { workspace = true }
-wasmtime = { workspace = true, features = ['component-model'] }
+wasmtime = { workspace = true }
 
 # The `ring` crate, used to implement TLS, does not build on riscv64 or s390x
 [target.'cfg(not(any(target_arch = "riscv64", target_arch = "s390x")))'.dependencies]
--- a/crates/wasi-keyvalue/Cargo.toml
+++ b/crates/wasi-keyvalue/Cargo.toml
@@ -13,7 +13,7 @@
 
 [dependencies]
 anyhow = { workspace = true }
-wasmtime = { workspace = true, features = ["runtime", "component-model", "std"] }
+wasmtime = { workspace = true, features = ["runtime", "std"] }
 
 [dev-dependencies]
 test-programs-artifacts = { workspace = true }
--- a/crates/wasi-nn/Cargo.toml
+++ b/crates/wasi-nn/Cargo.toml
@@ -22,7 +22,6 @@
 
 # This dependency is necessary for the WIT-generation macros to work:
 wasmtime = { workspace = true, features = [
-    "component-model",
     "runtime",
     "std",
 ] }
--- a/crates/wasi/Cargo.toml
+++ b/crates/wasi/Cargo.toml
@@ -16,7 +16,7 @@
 workspace = true
 
 [dependencies]
-wasmtime = { workspace = true, features = ["component-model", "async", "runtime", "std"] }
+wasmtime = { workspace = true, features = ["async", "runtime", "std"] }
 anyhow = { workspace = true }
 wiggle = { workspace = true, optional = true, features = ["wasmtime"] }
 tokio = { workspace = true,  features = ["time", "sync", "io-std", "io-util", "rt", "rt-multi-thread", "net"] }
--- a/crates/wasmtime/Cargo.toml
+++ b/crates/wasmtime/Cargo.toml
@@ -25,8 +25,6 @@
 wasmtime-fiber = { workspace = true, optional = true }
 wasmtime-cranelift = { workspace = true, optional = true }
 wasmtime-winch = { workspace = true, optional = true }
-wasmtime-component-macro = { workspace = true, optional = true }
-wasmtime-component-util = { workspace = true, optional = true }
 wasmtime-slab = { workspace = true, optional = true }
 wasmtime-versioned-export-macros = { workspace = true }
 wasmtime-wmemcheck = { workspace = true, optional = true }
@@ -49,12 +47,10 @@
 rayon = { version = "1.0", optional = true }
 object = { workspace = true }
 async-trait = { workspace = true, optional = true }
-encoding_rs = { version = "0.8.31", optional = true }
 bumpalo = "3.11.0"
 fxprof-processed-profile = { version = "0.6.0", optional = true }
 gimli = { workspace = true, optional = true }
 addr2line = { workspace = true, optional = true }
-semver = { workspace = true, optional = true }
 smallvec = { workspace = true, optional = true }
 hashbrown = { workspace = true }
 libm = "0.2.7"
@@ -132,7 +128,6 @@
   'coredump',
   'debug-builtins',
   'runtime',
-  'component-model',
   'threads',
   'std',
   'signals-based-traps',
@@ -174,7 +169,6 @@
 async = [
   "dep:wasmtime-fiber",
   "dep:async-trait",
-  "wasmtime-component-macro?/async",
   "runtime",
 ]
 
@@ -185,19 +179,6 @@
   "signals-based-traps", # pooling allocation always uses mmap at this time
 ]
 
-# Enables in-progress support for the component model. Note that this feature is
-# in-progress, buggy, and incomplete. This is primarily here for internal
-# testing purposes.
-component-model = [
-  "wasmtime-environ/component-model",
-  "wasmtime-cranelift?/component-model",
-  "wasmtime-winch?/component-model",
-  "dep:wasmtime-component-macro",
-  "dep:wasmtime-component-util",
-  "dep:encoding_rs",
-  "dep:semver",
-]
-
 wmemcheck = [
   "dep:wasmtime-wmemcheck",
   "wasmtime-cranelift?/wmemcheck",
@@ -295,7 +276,6 @@
 # This will be automatically enabled if necessary.
 std = [
   'postcard/use-std',
-  'wasmtime-component-macro?/std',
   'wasmtime-environ/std',
   'object/std',
   'once_cell',
--- a/crates/wast/Cargo.toml
+++ b/crates/wast/Cargo.toml
@@ -18,6 +18,3 @@
 wasmtime = { workspace = true, features = ['cranelift', 'wat', 'runtime', 'gc', 'threads'] }
 wast = { workspace = true }
 log = { workspace = true }
-
-[features]
-component-model = ['wasmtime/component-model']
--- a/crates/winch/Cargo.toml
+++ b/crates/winch/Cargo.toml
@@ -23,10 +23,6 @@
 gimli = { workspace = true, features = ['std'] }
 
 [features]
-component-model = [
-    "wasmtime-environ/component-model",
-    "wasmtime-cranelift/component-model",
-]
 all-arch = ["winch-codegen/all-arch"]
 gc = ['winch-codegen/gc']
 gc-drc = ['winch-codegen/gc-drc']
--- a/crates/environ/src/compile/mod.rs
+++ b/crates/environ/src/compile/mod.rs
@@ -351,12 +351,14 @@
     /// Get a flag indicating whether branch protection is enabled.
     fn is_branch_protection_enabled(&self) -> bool;
 
+/*
     /// Returns a suitable compiler usable for component-related compilations.
     ///
     /// Note that the `ComponentCompiler` trait can also be implemented for
     /// `Self` in which case this function would simply return `self`.
     #[cfg(feature = "component-model")]
     fn component_compiler(&self) -> &dyn crate::component::ComponentCompiler;
+*/
 
     /// Appends generated DWARF sections to the `obj` specified.
     ///
--- a/crates/environ/src/lib.rs
+++ b/crates/environ/src/lib.rs
@@ -55,10 +55,12 @@
 #[cfg(feature = "compile")]
 pub use crate::compile::*;
 
+/*
 #[cfg(feature = "component-model")]
 pub mod component;
 #[cfg(all(feature = "component-model", feature = "compile"))]
 pub mod fact;
+*/
 
 // Reexport all of these type-level since they're quite commonly used and it's
 // much easier to refer to everything through one crate rather than importing
