forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-crypt/tpm2-tss: Add multilib support
Signed-off-by: Christopher Byrne <[email protected]> Signed-off-by: Sam James <[email protected]>
- Loading branch information
1 parent
5b07bac
commit 3e56efd
Showing
1 changed file
with
94 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
# Copyright 1999-2022 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
inherit autotools linux-info multilib-minimal tmpfiles udev | ||
|
||
DESCRIPTION="TCG Trusted Platform Module 2.0 Software Stack" | ||
HOMEPAGE="https://github.com/tpm2-software/tpm2-tss" | ||
SRC_URI="https://github.com/tpm2-software/${PN}/releases/download/${PV}/${P}.tar.gz" | ||
|
||
LICENSE="BSD-2" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" | ||
IUSE="doc +fapi +openssl mbedtls static-libs test" | ||
|
||
RESTRICT="!test? ( test )" | ||
|
||
REQUIRED_USE="^^ ( mbedtls openssl ) | ||
fapi? ( openssl !mbedtls )" | ||
|
||
RDEPEND="acct-group/tss | ||
acct-user/tss | ||
fapi? ( dev-libs/json-c:=[${MULTILIB_USEDEP}] | ||
>=net-misc/curl-7.80.0[${MULTILIB_USEDEP}] ) | ||
mbedtls? ( net-libs/mbedtls:=[${MULTILIB_USEDEP}] ) | ||
openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] )" | ||
|
||
DEPEND="${RDEPEND} | ||
test? ( app-crypt/swtpm | ||
dev-libs/uthash | ||
dev-util/cmocka | ||
fapi? ( >=net-misc/curl-7.80.0 ) )" | ||
BDEPEND="sys-apps/acl | ||
virtual/pkgconfig | ||
doc? ( app-doc/doxygen )" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${PN}-3.1.0-Dont-run-systemd-sysusers-in-Makefile.patch" | ||
) | ||
|
||
pkg_setup() { | ||
local CONFIG_CHECK=" \ | ||
~TCG_TPM | ||
" | ||
linux-info_pkg_setup | ||
kernel_is ge 4 12 0 || ewarn "At least kernel 4.12.0 is required" | ||
} | ||
|
||
src_prepare() { | ||
default | ||
|
||
# See bug #833887 (and similar); eautoreconf means .pc file gets wrong version. | ||
sed -i \ | ||
"s/m4_esyscmd_s(\[git describe --tags --always --dirty\])/${PV}/" \ | ||
"configure.ac" || die | ||
|
||
eautoreconf | ||
} | ||
|
||
multilib_src_configure() { | ||
ECONF_SOURCE=${S} econf \ | ||
--localstatedir=/var \ | ||
$(use_enable doc doxygen-doc) \ | ||
$(use_enable fapi) \ | ||
$(use_enable static-libs static) \ | ||
$(multilib_native_use_enable test unit) \ | ||
$(multilib_native_use_enable test integration) \ | ||
$(multilib_native_use_enable test self-generated-certificate) \ | ||
--disable-tcti-libtpms \ | ||
--disable-defaultflags \ | ||
--disable-weakcrypto \ | ||
--with-crypto="$(usex mbedtls mbed ossl)" \ | ||
--with-runstatedir=/run \ | ||
--with-udevrulesdir="$(get_udevdir)/rules.d" \ | ||
--with-udevrulesprefix=60- \ | ||
--with-sysusersdir="/usr/lib/sysusers.d" \ | ||
--with-tmpfilesdir="/usr/lib/tmpfiles.d" | ||
} | ||
|
||
multilib_src_install() { | ||
default | ||
|
||
if [[ ${PV} != $(sed -n -e 's/^Version: //p' "${ED}/usr/$(get_libdir)/pkgconfig/tss2-sys.pc" || die) ]] ; then | ||
# Safeguard for bug #833887 | ||
die "pkg-config file version doesn't match ${PV}! Please report a bug!" | ||
fi | ||
|
||
find "${D}" -name '*.la' -delete || die | ||
} | ||
|
||
pkg_postinst() { | ||
tmpfiles_process tpm2-tss-fapi.conf | ||
} |