blob: 23461ecf7f64135659e8d8ea556647728586ddde [file] [log] [blame]
# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_OUTOFTREE_BUILD=1
CROS_WORKON_SUBTREE="common-mk 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/+/master/tpm_manager/client/"
LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="~*"
IUSE="cros_host test tpm tpm2 fuzzer"
# D-Bus proxies generated by this client library depend on the code generator
# itself (chromeos-dbus-bindings) and produce header files that rely on
# libbrillo library, hence both dependencies. We require the particular
# revision because libbrillo-0.0.1-r1 changed location of header files from
# chromeos/ to brillo/ and chromeos-dbus-bindings-0.0.1-r1058 generates the
# code using the new location.
DEPEND="
cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 )
chromeos-base/libbrillo:=
"
# 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="
!<chromeos-base/tpm_manager-0.0.1-r2238
chromeos-base/libbrillo:=
"
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
}
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
}