blob: 7d7526ba9c5725fdbd692c260b47400ca9889cc1 [file] [log] [blame]
# Copyright 2019 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
EAPI=7
CROS_WORKON_COMMIT="8b6e11a069e490c761cdab7ab3ff59434806cd9c"
CROS_WORKON_TREE=("41d899585b7a07ea908a0cca2944a7b8a4d13655" "88bcc1d39084f5d0a4ca836beaf45c0b55dbc1c3" "9dbbe059a64bdb3260dc088895573df5ea421399" "0d9d2046eb78dc8620f7594f245298f9fd964832" "faa5b8036561b66b5b9d79ea1af8a95927a0ae0f" "989acbd33fd18024396e010b1be43d25cbdf942d" "965e6fa3585e2d6493be1567791c13c633a9e8d7" "f73f25bb045d099841b3ac929b6d3218060216df" "f91b6afd5f2ae04ee9a2c19109a3a4a36f7659e6")
PYTHON_COMPAT=( python3_{8..11} )
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_OUTOFTREE_BUILD=1
CROS_WORKON_SUBTREE="common-mk libcrossystem libhwsec libhwsec-foundation metrics tpm_manager tpm2-simulator trunks .gn"
PLATFORM_SUBDIR="libhwsec"
inherit python-any-r1 cros-workon platform
DESCRIPTION="Crypto and utility functions used in TPM related daemons."
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/libhwsec/"
LICENSE="BSD-Google"
KEYWORDS="*"
IUSE="test fuzzer tpm tpm2 tpm_dynamic"
COMMON_DEPEND="
chromeos-base/chromeos-ec-headers:=
chromeos-base/libhwsec-foundation:=
chromeos-base/metrics:=
chromeos-base/system_api:=
chromeos-base/tpm_manager-client:=
chromeos-base/libcrossystem:=
dev-cpp/abseil-cpp:=
dev-libs/openssl:0=
dev-libs/flatbuffers:=
dev-libs/re2:=
tpm2? (
chromeos-base/pinweaver:=
chromeos-base/trunks:=[test?]
)
tpm? ( app-crypt/trousers:= )
fuzzer? (
app-crypt/trousers:=
chromeos-base/trunks:=
)
test? (
app-crypt/trousers:=
chromeos-base/pinweaver:=
chromeos-base/trunks:=[test]
chromeos-base/tpm2-simulator:=[test]
)
"
RDEPEND="${COMMON_DEPEND}"
DEPEND="${COMMON_DEPEND}"
# shellcheck disable=SC2016
BDEPEND="
dev-libs/flatbuffers
dev-libs/protobuf
$(python_gen_any_dep '
dev-python/jinja[${PYTHON_USEDEP}]
dev-python/flatbuffers[${PYTHON_USEDEP}]
')
"
python_check_deps() {
python_has_version -b "dev-python/jinja[${PYTHON_USEDEP}]" &&
python_has_version -b "dev-python/flatbuffers[${PYTHON_USEDEP}]"
}
platform_pkg_test() {
platform test_all
}
src_install() {
platform_src_install
local fuzzer_component_id="1188704"
platform_fuzzer_install "${S}"/OWNERS \
"${OUT}"/libhwsec_tpm1_cmk_migration_parser_fuzzer \
--comp "${fuzzer_component_id}"
platform_fuzzer_install "${S}"/OWNERS \
"${OUT}"/libhwsec_tpm2_backend_fuzzer \
--comp "${fuzzer_component_id}" \
--dict "${S}"/fuzzers/testdata/tpm2_commands.dict
}