# 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
CROS_RUST_REMOVE_TARGET_CFG=1

inherit cros-rust

DESCRIPTION='Random number generators and other randomness functionality.'
HOMEPAGE='https://crates.io/crates/rand'
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/log-0.4*:=
	=dev-rust/rand_core-0.3*:=
	=dev-rust/serde-1*:=
	=dev-rust/serde_derive-1*:=
	=dev-rust/libc-0.2*:=
"
RDEPEND="${DEPEND}"

# This file was automatically generated by cargo2ebuild.py

PATCHES="${FILESDIR}/rand-0.5.6_features.patch"

# Test phase is disabled due to the "failed to resolve: use of undeclared crate
# or module `seq`" error in src/lib.rs:1036.
RESTRICT="test"

# The `rand_core-0.3` crate is available in the `rand_core_transitional` ebuild.
DEPEND="${DEPEND/rand_core-0.3/rand_core_transitional-0.3}"
RDEPEND="${RDEPEND/rand_core-0.3/rand_core_transitional-0.3}"
