--- /dev/null
+From 92aee12fbd246461a22925dd054c4d6394c4fdf5 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Fri, 31 May 2019 02:30:37 +0300
+Subject: [PATCH] build: add --disable-defaultflags
+
+Align with tpm2-tss to allow downstream to provide flags.
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ configure.ac | 42 +++++++++++++++++++++++++-----------------
+ 1 file changed, 25 insertions(+), 17 deletions(-)
+
+https://github.com/tpm2-software/tpm2-tss-engine/pull/117
+
+diff --git a/configure.ac b/configure.ac
+index f3a399c..f59cfaf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -80,23 +80,31 @@ AS_IF([test "x$enable_tctienvvar" = xyes], [AC_DEFINE([ENABLE_TCTIENVVAR], [1])]
+
+ AC_CONFIG_FILES([Makefile])
+
+-AX_ADD_COMPILER_FLAG([-std=c99])
+-AX_ADD_COMPILER_FLAG([-Wall])
+-AX_ADD_COMPILER_FLAG([-Wextra])
+-AX_ADD_COMPILER_FLAG([-Wformat-security])
+-AX_ADD_COMPILER_FLAG([-Werror])
+-AX_ADD_COMPILER_FLAG([-fstack-protector-all])
+-AX_ADD_COMPILER_FLAG([-fpic])
+-AX_ADD_COMPILER_FLAG([-fPIC])
+-
+-# work around GCC bug #53119
+-# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
+-AX_ADD_COMPILER_FLAG([-Wno-missing-braces])
+-
+-AX_ADD_LINK_FLAG([-Wl,--no-undefined])
+-AX_ADD_LINK_FLAG([-Wl,-z,noexecstack])
+-AX_ADD_LINK_FLAG([-Wl,-z,now])
+-AX_ADD_LINK_FLAG([-Wl,-z,relro])
++AC_ARG_ENABLE([defaultflags],
++ [AS_HELP_STRING([--disable-defaultflags],
++ [Disable default preprocessor, compiler, and linker flags.])],
++ [enable_defaultflags=$enableval],
++ [enable_defaultflags=yes])
++AS_IF([test "x$enable_defaultflags" = "xyes"],
++ [
++ AX_ADD_COMPILER_FLAG([-std=c99])
++ AX_ADD_COMPILER_FLAG([-Wall])
++ AX_ADD_COMPILER_FLAG([-Wextra])
++ AX_ADD_COMPILER_FLAG([-Wformat-security])
++ AX_ADD_COMPILER_FLAG([-Werror])
++ AX_ADD_COMPILER_FLAG([-fstack-protector-all])
++ AX_ADD_COMPILER_FLAG([-fpic])
++ AX_ADD_COMPILER_FLAG([-fPIC])
++
++ # work around GCC bug #53119
++ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
++ AX_ADD_COMPILER_FLAG([-Wno-missing-braces])
++
++ AX_ADD_LINK_FLAG([-Wl,--no-undefined])
++ AX_ADD_LINK_FLAG([-Wl,-z,noexecstack])
++ AX_ADD_LINK_FLAG([-Wl,-z,now])
++ AX_ADD_LINK_FLAG([-Wl,-z,relro])
++ ])
+
+ AX_CODE_COVERAGE
+ m4_ifdef([_AX_CODE_COVERAGE_RULES],
+--
+2.21.0
+
--- /dev/null
+From deb2b6697babf99aaf3f64b342ce414b48638ea3 Mon Sep 17 00:00:00 2001
+From: Alon Bar-Lev <alon.barlev@gmail.com>
+Date: Fri, 31 May 2019 20:36:47 +0300
+Subject: [PATCH] build: libressl fix incomplete type
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+src/tpm2-tss-engine-rand.c:90:1: error: variable ‘rand_methods’ has initializer but incomplete type
+ 90 | static RAND_METHOD rand_methods = {
+ | ^~~~~~
+src/tpm2-tss-engine-rand.c:91:5: warning: excess elements in struct initializer
+
+Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
+---
+ src/tpm2-tss-engine-rand.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+https://github.com/tpm2-software/tpm2-tss-engine/pull/120
+
+diff --git a/src/tpm2-tss-engine-rand.c b/src/tpm2-tss-engine-rand.c
+index 50d5661..86980a5 100644
+--- a/src/tpm2-tss-engine-rand.c
++++ b/src/tpm2-tss-engine-rand.c
+@@ -32,6 +32,7 @@
+ #include <string.h>
+
+ #include <openssl/engine.h>
++#include <openssl/rand.h>
+
+ #include <tss2/tss2_mu.h>
+ #include <tss2/tss2_esys.h>
+--
+2.21.0
+
--- /dev/null
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="OpenSSL Engine for TPM2 devices"
+HOMEPAGE="https://github.com/tpm2-software/tpm2-tools"
+SRC_URI="https://github.com/tpm2-software/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="libressl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=app-crypt/tpm2-tss-2.2.2:=
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )"
+DEPEND="${RDEPEND}
+ test? ( dev-util/cmocka )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${P}-build.patch"
+ "${FILESDIR}/${P}-libressl.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable test unit) \
+ --disable-defaultflags \
+ --disable-static
+}