# 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 library to generate and parse UUIDs.'
HOMEPAGE='https://github.com/uuid-rs/uuid'
SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"

LICENSE="|| ( Apache-2.0 MIT )"
SLOT="${PV}/${PR}"
KEYWORDS="*"

DEPEND="
	=dev-rust/getrandom-0.2*:=
	=dev-rust/md5-0.7*:=
	>=dev-rust/serde-1.0.56:= <dev-rust/serde-2.0.0
	=dev-rust/sha1-0.6*:=
	=dev-rust/slog-2*:=
"
RDEPEND="${DEPEND}"

# This file was automatically generated by cargo2ebuild.py.
# And, we removed `CROS_RUST_REMOVE_TARGET_CFG=1` manually as the dependency
# "winapi" was declared as the form of
# `[target.'cfg(windows)'.dependencies.winapi]`.
