# 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 logging implementation for "log" which is configured via an environment
variable.'
HOMEPAGE='https://crates.io/crates/env_logger'
SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"

LICENSE="|| ( MIT Apache-2.0 )"
SLOT="${PV}/${PR}"
KEYWORDS="*"

DEPEND="
	>=dev-rust/atty-0.2.5:= <dev-rust/atty-0.3.0
	>=dev-rust/humantime-1.1.0:= <dev-rust/humantime-2.0.0
	=dev-rust/log-0.4*:=
	>=dev-rust/regex-1.0.3:= <dev-rust/regex-2.0.0
	=dev-rust/termcolor-1*:=
"
RDEPEND="${DEPEND}"

# This file was automatically generated by cargo2ebuild.py

# Tests can't be built due to compilation errors.
RESTRICT="test"
