| # 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 |
| } |