# 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 multimap implementation.'
HOMEPAGE='https://crates.io/crates/multimap'
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/serde-1.0*:=
"
RDEPEND="${DEPEND}"

# This file was automatically generated by cargo2ebuild.py

IUSE="test"
TEST_DEPS="
	test? ( =dev-rust/serde_test-1.0*:= )
"
DEPEND+="${TEST_DEPS}"
RDEPEND+="${TEST_DEPS}"

src_prepare() {
	if use test; then
		CROS_RUST_REMOVE_DEV_DEPS=0
	fi
	cros-rust_src_prepare
}
