rust-pcap 0.1.0

Userspace packet library for rust-pcap
[package]
name = "rust-pcap"
version = "0.1.0"
description = "Userspace packet library for rust-pcap"
edition.workspace = true

license.workspace = true

[dependencies]
rust-pcap-common = { version = "0.1", path = "../rust-pcap-common", features = ["user"] }

anyhow = { workspace = true, default-features = true }
aya = { workspace = true }
aya-log = { workspace = true }
env_logger = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
socket2 = { workspace = true, features = ["all"] }
tokio = { workspace = true, features = [
    "macros",
    "rt",
    "net",
    "signal",
    "fs",
    "io-util",
    "rt-multi-thread"
] }

[build-dependencies]
anyhow = { workspace = true }
aya-build = { workspace = true }
cargo_metadata = { workspace = true }
# TODO(https://github.com/rust-lang/cargo/issues/12375): this should be an artifact dependency, but
# it's not possible to tell cargo to use `-Z build-std` to build it. We cargo-in-cargo in the build
# script to build this, but we want to teach cargo about the dependency so that cache invalidation
# works properly.
#
# Note also that https://github.com/rust-lang/cargo/issues/10593 occurs when `target = ...` is added
# to an artifact dependency; it seems possible to work around that by setting `resolver = "1"` in
# Cargo.toml in the workspace root.
#
# Finally note that *any* usage of `artifact = ...` in *any* Cargo.toml in the workspace breaks
# workflows with stable cargo; stable cargo outright refuses to load manifests that use unstable
# features.
rust-pcap-ebpf = { version = "0.1", path = "../rust-pcap-ebpf" }