# 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="A task scheduler backed by a work-stealing thread pool."
HOMEPAGE="https://github.com/tokio-rs/tokio"
SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"

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

DEPEND="
	=dev-rust/crossbeam-deque-0.7*:=
	=dev-rust/crossbeam-queue-0.2*:=
	=dev-rust/crossbeam-utils-0.7*:=
	>=dev-rust/futures-0.1.19:= <dev-rust/futures-0.2.0
	=dev-rust/lazy_static-1*:=
	=dev-rust/log-0.4*:=
	>=dev-rust/num_cpus-1.2.0:= <dev-rust/num_cpus-2.0.0
	>=dev-rust/slab-0.4.1:= <dev-rust/slab-0.5.0
	>=dev-rust/tokio-executor-0.1.8:= <dev-rust/tokio-executor-0.2.0
"
RDEPEND="${DEPEND}"

# This file was automatically generated by cargo2ebuild.py
