# 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='defmt macros'
HOMEPAGE='https://crates.io/crates/defmt-macros'
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/defmt-parser-0.2.2:=
	>=dev-rust/proc-macro2-1.0.27:= <dev-rust/proc-macro2-2.0.0
	>=dev-rust/quote-1.0.9:= <dev-rust/quote-2.0.0
	=dev-rust/syn-1*:=
"
RDEPEND="${DEPEND}"

# This file was automatically generated by cargo2ebuild.py
