# 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 CMSIS-SVD file parser'
HOMEPAGE='https://crates.io/crates/svd-parser'
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/anyhow-1.0.45 <dev-rust/anyhow-2.0.0_alpha:=
	>=dev-rust/roxmltree-0.14.1 <dev-rust/roxmltree-0.15.0_alpha:=
	=dev-rust/svd-rs-0.12*:=
	>=dev-rust/thiserror-1.0.30 <dev-rust/thiserror-2.0.0_alpha:=
"
RDEPEND="${DEPEND}"

# This file was automatically generated by cargo2ebuild.py

RESTRICT="test"
