# Copyright 2021 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2

EAPI="7"

CROS_RUST_REMOVE_DEV_DEPS=1

inherit cros-rust

DESCRIPTION="Event loop that drives Tokio I/O resources."
HOMEPAGE="https://tokio.rs"
SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"

LICENSE="MIT"
SLOT="${PV}/${PR}"
KEYWORDS="*"

DEPEND="
	=dev-rust/crossbeam-utils-0.7*:=
	>=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0
	>=dev-rust/lazy_static-1.0.2:= <dev-rust/lazy_static-2.0.0
	>=dev-rust/log-0.4.1:= <dev-rust/log-0.5.0
	>=dev-rust/mio-0.6.14:= <dev-rust/mio-0.7.0
	>=dev-rust/num_cpus-1.8.0:= <dev-rust/num_cpus-2.0.0
	=dev-rust/parking_lot-0.9*:=
	=dev-rust/slab-0.4*:=
	>=dev-rust/tokio-executor-0.1.1:= <dev-rust/tokio-executor-0.2.0
	>=dev-rust/tokio-io-0.1.6:= <dev-rust/tokio-io-0.2.0
	>=dev-rust/tokio-sync-0.1.1:= <dev-rust/tokio-sync-0.2.0
"
RDEPEND="${DEPEND}"

# This file was automatically generated by cargo2ebuild.py
