commit:     a638393fbda99d061ed5e9298031431ceb679fd6
Author:     Christopher Byrne <salah.coronya <AT> gmail <DOT> com>
AuthorDate: Mon Jan  2 17:46:11 2023 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Fri Jan 20 07:25:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a638393f

app-crypt/tpm2-tss: add 4.0.0

Signed-off-by: Christopher Byrne <salah.coronya <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/28937
Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 app-crypt/tpm2-tss/Manifest                        |  1 +
 ...pm2-tss-4.0.0-Dont-install-files-into-run.patch | 26 ++++++
 app-crypt/tpm2-tss/metadata.xml                    |  1 +
 app-crypt/tpm2-tss/tpm2-tss-4.0.0.ebuild           | 93 ++++++++++++++++++++++
 4 files changed, 121 insertions(+)

diff --git a/app-crypt/tpm2-tss/Manifest b/app-crypt/tpm2-tss/Manifest
index 3a945d93a771..4058c153abbc 100644
--- a/app-crypt/tpm2-tss/Manifest
+++ b/app-crypt/tpm2-tss/Manifest
@@ -1,2 +1,3 @@
 DIST tpm2-tss-3.2.0.tar.gz 1629211 BLAKE2B 
a89aa4d89a50bdfb5a9652874d30e2138747bd022049f2be2d0b56e296329d0c41254033ec3a062dbd64fde54a62e952f54446c551e5788231827cd53fae045a
 SHA512 
cabb411f074dfa94919ba914849aac77a0ac2f50622e28a1406cf575369148774748e0e2b7a7c566ec83561a96d4b883bac5a3b1763f4cf48668a0c5d68c0a23
 DIST tpm2-tss-3.2.1.tar.gz 1638566 BLAKE2B 
bdf5eeca1e7269a639cefd8b4a38e16c5b7c08518411a22718dcd14bc9fe3b621eee77cdd98f9ece0f6d9a52319bce5e0a502ff9a6e4ba6716341bd01f5967a9
 SHA512 
dbe5e29349d78621fcd608d9c75fa58f5e6462264b9654ca85af9f9faafebe1107d9f735a1b6ad4956a089b0dd96cbda3f46364cabd846f9fb29a419b074c78f
+DIST tpm2-tss-4.0.0.tar.gz 1787084 BLAKE2B 
9b9d466eab77ae71ec916c911f9e1321013fe49594e103610fcb03492a2f20e811a2faddc2237519b710a1931226d5664581cd671d2318319a92e16bcb5ccfb4
 SHA512 
1058aa74e2358bfb60a17b85291dc642d40b49bb076453810c5b2b0c37c72671c319d783c879f719ccbe7aaeb5f464e0144c6ee12d28242b477be5d579cb3f9c

diff --git 
a/app-crypt/tpm2-tss/files/tpm2-tss-4.0.0-Dont-install-files-into-run.patch 
b/app-crypt/tpm2-tss/files/tpm2-tss-4.0.0-Dont-install-files-into-run.patch
new file mode 100644
index 000000000000..ca51ab7f9382
--- /dev/null
+++ b/app-crypt/tpm2-tss/files/tpm2-tss-4.0.0-Dont-install-files-into-run.patch
@@ -0,0 +1,26 @@
+diff --git a/Makefile.am b/Makefile.am
+index 2c81cfa9..2673995c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -767,13 +767,11 @@ define set_tss_permissions
+ endef
+ 
+ define make_fapi_dirs
+-    ($(call make_tss_dir,$(DESTDIR)$(runstatedir)/tpm2-tss/eventlog/) || 
true) && \
+     ($(call 
make_tss_dir,$(DESTDIR)$(localstatedir)/lib/tpm2-tss/system/keystore/))
+ endef
+ 
+ define set_fapi_permissions
+     if test -z "${DESTDIR}"; then \ e
+-        ($(call set_tss_permissions,$(DESTDIR)$(runstatedir)/tpm2-tss)) && \
+         ($(call set_tss_permissions,$(DESTDIR)$(localstatedir)/lib/tpm2-tss)) 
\
+     fi
+ endef
+@@ -784,7 +782,6 @@ endef
+ 
+ define check_fapi_dirs
+     if test -z "${DESTDIR}"; then \
+-        ($(call check_dir,$(DESTDIR)$(runstatedir)/tpm2-tss/eventlog/)) && \
+         ($(call 
check_dir,$(DESTDIR)$(localstatedir)/lib/tpm2-tss/system/keystore/)) \
+     fi;
+ endef

diff --git a/app-crypt/tpm2-tss/metadata.xml b/app-crypt/tpm2-tss/metadata.xml
index 0a726fa2d171..ada5791c33d5 100644
--- a/app-crypt/tpm2-tss/metadata.xml
+++ b/app-crypt/tpm2-tss/metadata.xml
@@ -13,6 +13,7 @@
                <flag name="fapi">Enable feature API (requires openssl as 
crypto backend)</flag>
                <flag name="mbedtls">Use <pkg>net-libs/mbedtls</pkg> as crypto 
engine</flag>
                <flag name="openssl">Use <pkg>dev-libs/openssl</pkg> as crypto 
engine</flag>
+               <flag name="policy">Enable policy library (requires openssl as 
crypto backend)</flag>
        </use>
        <upstream>
                <remote-id type="github">tpm2-software/tpm2-tss</remote-id>

diff --git a/app-crypt/tpm2-tss/tpm2-tss-4.0.0.ebuild 
b/app-crypt/tpm2-tss/tpm2-tss-4.0.0.ebuild
new file mode 100644
index 000000000000..ba650e60ee44
--- /dev/null
+++ b/app-crypt/tpm2-tss/tpm2-tss-4.0.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic 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/4"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="doc +fapi +openssl mbedtls +policy static-libs test"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="^^ ( mbedtls openssl )
+               fapi? ( openssl !mbedtls )
+               policy? ( 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}-4.0.0-Dont-install-files-into-run.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() {
+       eautoreconf
+       default
+}
+
+multilib_src_configure() {
+       # tests fail with LTO enabbled. See bug 865275 and 865279
+       filter-lto
+
+       ECONF_SOURCE=${S} econf \
+               --localstatedir=/var \
+               $(multilib_native_use_enable doc doxygen-doc) \
+               $(use_enable fapi) \
+               $(use_enable policy) \
+               $(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- \
+               --without-sysusersdir \
+               --with-tmpfilesdir="/usr/lib/tmpfiles.d"
+}
+
+multilib_src_install() {
+       default
+       keepdir /var/lib/tpm2-tss/system/keystore
+       find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+       tmpfiles_process tpm2-tss-fapi.conf
+       udev_reload
+}
+
+pkg_postrm() {
+       udev_reload
+}

Reply via email to