# 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='Official FlexBuffers Rust runtime library.'
HOMEPAGE='https://google.github.io/flatbuffers/flexbuffers'
SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"

LICENSE="Apache-2.0"
SLOT="${PV}/${PR}"
KEYWORDS="*"

DEPEND="
	>=dev-rust/bitflags-1.2.1 <dev-rust/bitflags-2.0.0_alpha:=
	>=dev-rust/byteorder-1.4.2 <dev-rust/byteorder-2.0.0_alpha:=
	>=dev-rust/num_enum-0.5.1 <dev-rust/num_enum-0.6.0_alpha:=
	>=dev-rust/serde-1.0.119 <dev-rust/serde-2.0.0_alpha:=
	>=dev-rust/serde_derive-1.0.119 <dev-rust/serde_derive-2.0.0_alpha:=
"
RDEPEND="${DEPEND}"

# This file was automatically generated by cargo2ebuild.py
