# 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 unify commandline arguments with config files and environment variables. And make it easier for users to tell your program how to behave across the three main input sources'
HOMEPAGE='https://crates.io/crates/clap_conf'
SRC_URI="https://crates.io/api/v1/crates/${PN}/${PV}/download -> ${P}.crate"

LICENSE="MIT"
SLOT="${PV}/${PR}"
KEYWORDS="*"

DEPEND="
	>=dev-rust/anyhow-1.0.31 <dev-rust/anyhow-2.0.0_alpha:=
	>=dev-rust/clap-2.33.0 <dev-rust/clap-3.0.0_alpha:=
	>=dev-rust/serde-1.0.90 <dev-rust/serde-2.0.0_alpha:=
	>=dev-rust/thiserror-1.0.17 <dev-rust/thiserror-2.0.0_alpha:=
	=dev-rust/toml-0.5*:=
"
RDEPEND="${DEPEND}"

# This file was automatically generated by cargo2ebuild.py
# and then manually modified:

PATCHES=(
	"${FILESDIR}/clap_conf-0.1.5-license.patch"
)

# ---- tests::try_holder stdout ----
# thread 'tests::try_holder' panicked at 'assertion failed: `(left == right)`
#   left: `Some("/var/tmp/portage/dev-rust/clap_conf-0.1.5/work/clap_conf-0.1.5")`,
#  right: `Some("/home/matthew/scripts/rust/mlibs/clap_conf")`', src/lib.rs:137:9
RESTRICT="test"
