[Buildroot] [PATCH 1/2] package/wolftpm: new package, wolfTPM library for TPM2.0
Dimi Tomov
dimi at tpm.dev
Mon May 30 20:30:00 UTC 2022
From: Dimitar Tomov <dimi at tpm.dev>
wolfTPM is an open-source TPM 2.0 stack with backward API compatibility,
designed for embedded use. It is highly portable, and has native support
for Linux. wolfTPM has a compact code size with low resource usage.
Signed-off-by: Dimitar Tomov <dimi at tpm.dev>
---
package/Config.in | 1 +
package/wolftpm/Config.in | 14 ++++++++++++++
package/wolftpm/wolftpm.hash | 2 ++
package/wolftpm/wolftpm.mk | 29 +++++++++++++++++++++++++++++
4 files changed, 46 insertions(+)
create mode 100644 package/wolftpm/Config.in
create mode 100644 package/wolftpm/wolftpm.hash
create mode 100644 package/wolftpm/wolftpm.mk
diff --git a/package/Config.in b/package/Config.in
index 00f061015f..b287c5a94d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1431,6 +1431,7 @@ menu "Crypto"
source "package/trousers/Config.in"
source "package/ustream-ssl/Config.in"
source "package/wolfssl/Config.in"
+ source "package/wolftpm/Config.in"
endmenu
menu "Database"
diff --git a/package/wolftpm/Config.in b/package/wolftpm/Config.in
new file mode 100644
index 0000000000..497f5ae6e9
--- /dev/null
+++ b/package/wolftpm/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_WOLFTPM
+ bool "wolftpm"
+ depends on BR2_PACKAGE_WOLFSSL
+ select BR2_PACKAGE_WOLFSSL_ALL
+ help
+ wolfTPM is a portable, open-source TPM 2.0 stack with
+ backward API compatibility, designed for embedded use.
+ No external dependencies, compact code size with low
+ resource usage.
+
+ https://www.wolfssl.com/
+
+comment "wolfTPM needs the wolfSSL cryptographic library"
+ depends on !BR2_PACKAGE_WOLFSSL
diff --git a/package/wolftpm/wolftpm.hash b/package/wolftpm/wolftpm.hash
new file mode 100644
index 0000000000..871e3e2d1d
--- /dev/null
+++ b/package/wolftpm/wolftpm.hash
@@ -0,0 +1,2 @@
+# Hash from https://github.com/wolfSSL/wolfTPM/archive/refs/tags/v2.3.1.tar.gz
+sha256 f0d7c095491ac2cc9e44aa4ac3c22febf15942ef080431d8b43a9d0312ca6567 wolfTPM-2.3.1.tar.gz
diff --git a/package/wolftpm/wolftpm.mk b/package/wolftpm/wolftpm.mk
new file mode 100644
index 0000000000..33cfdef6af
--- /dev/null
+++ b/package/wolftpm/wolftpm.mk
@@ -0,0 +1,29 @@
+################################################################################
+#
+# wolftpm
+#
+################################################################################
+
+WOLFTPM_VERSION = 2.3.1
+WOLFTPM_SITE = $(call github,wolfSSL,wolfTPM,v$(WOLFTPM_VERSION))
+WOLFTPM_INSTALL_STAGING = YES
+
+WOLFTPM_LICENSE = GPL-2.0+
+WOLFTPM_LICENSE_FILES = LICENSE
+WOLFTPM_CPE_ID_VENDOR = wolfssl
+
+WOLFTPM_DEPENDENCIES = host-pkgconf
+
+# wolfTPM's source code is released without a configure script,
+# therefore we need autoreconf
+WOLFTPM_AUTORECONF = YES
+
+WOLFTPM_CONF_OPTS = --disable-examples --enable-devtpm --with-wolfcrypt=$(TARGET_DIR)/usr/
+
+define WOLFTPM_CONFIG_RPATH
+ touch $(@D)/build-aux/config.rpath
+endef
+# Fix for autoconf bug with config.rconf
+WOLFTPM_PRE_CONFIGURE_HOOKS += WOLFTPM_CONFIG_RPATH
+
+$(eval $(autotools-package))
--
2.27.0
More information about the buildroot
mailing list