blob: eefe30dfe5c2c8275f0284f0012c8208454b0881 [file] [log] [blame]
# Copyright 2019 The ChromiumOS Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
CROS_WORKON_COMMIT="8b6e11a069e490c761cdab7ab3ff59434806cd9c"
CROS_WORKON_TREE=("41d899585b7a07ea908a0cca2944a7b8a4d13655" "0d9d2046eb78dc8620f7594f245298f9fd964832" "989acbd33fd18024396e010b1be43d25cbdf942d" "f91b6afd5f2ae04ee9a2c19109a3a4a36f7659e6")
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_OUTOFTREE_BUILD=1
CROS_WORKON_SUBTREE="common-mk libhwsec-foundation tpm_manager .gn"
PLATFORM_SUBDIR="tpm_manager/client"
inherit cros-workon platform
DESCRIPTION="TPM Manager D-Bus client library for Chromium OS"
HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/tpm_manager/client/"
LICENSE="BSD-Google"
KEYWORDS="*"
IUSE="test tpm tpm2 fuzzer"
BDEPEND="
chromeos-base/chromeos-dbus-bindings
"
COMMON_DEPEND="
chromeos-base/system_api:=[fuzzer?]
dev-libs/openssl:0=
dev-libs/protobuf:=
"
# Workaround to rebuild this package on the chromeos-dbus-bindings update.
# Please find the comment in chromeos-dbus-bindings for its background.
DEPEND="${COMMON_DEPEND}
chromeos-base/chromeos-dbus-bindings:=
"
# Note that for RDEPEND, we conflict with tpm_manager package older than
# 0.0.1 because this client is incompatible with daemon older than version
# 0.0.1. We didn't RDEPEND on tpm_manager version 0.0.1 or greater because
# we don't want to create circular dependency in case the package tpm_manager
# depends on some package foo that also depend on this package.
RDEPEND="${COMMON_DEPEND}
!<chromeos-base/tpm_manager-0.0.1-r2238
"
src_install() {
platform_src_install
# Install D-Bus client library.
platform_install_dbus_client_lib "tpm_manager"
dobin "${OUT}"/tpm_manager_client
dolib.so "${OUT}"/lib/libtpm_manager.so
# Install header files.
insinto /usr/include/tpm_manager/client
doins ./*.h
insinto /usr/include/tpm_manager/common
doins ../common/*.h
doins "${OUT}"/gen/tpm_manager/common/*.h
}
platform_pkg_test() {
local tests=(
tpm_manager-client_testrunner
)
local test_bin
for test_bin in "${tests[@]}"; do
platform_test "run" "${OUT}/${test_bin}"
done
}