summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libucl/files/libucl-0.8.1-openssl-1.1.1.patch')
-rw-r--r--dev-libs/libucl/files/libucl-0.8.1-openssl-1.1.1.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/dev-libs/libucl/files/libucl-0.8.1-openssl-1.1.1.patch b/dev-libs/libucl/files/libucl-0.8.1-openssl-1.1.1.patch
new file mode 100644
index 000000000000..f10f882acc6b
--- /dev/null
+++ b/dev-libs/libucl/files/libucl-0.8.1-openssl-1.1.1.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/797364
+https://github.com/vstakhov/libucl/commit/c7141327180cff73904b28f04cfdb604fc7d0773
+
+From c7141327180cff73904b28f04cfdb604fc7d0773 Mon Sep 17 00:00:00 2001
+From: Alexandru Guzinschi <alex@gentle.ro>
+Date: Fri, 11 Sep 2020 11:41:54 +0300
+Subject: [PATCH] fix: Changed OpenSSL check inside configure.am
+
+In OpenSSL 1.1.0 the `EVP_MD_CTX_create()` and `EVP_MD_CTX_destroy()`
+functions were renamed to `EVP_MD_CTX_new()` and `EVP_MD_CTX_free()`.
+Because a check for `EVP_MD_CTX_create()` was in place inside
+configure.am, building with newer OpenSSL versions could not be done.
+
+Checking for `EVP_MD_CTX_create` function from configure.am was
+replaced with a check for `CRYPTO_new_ex_data()` function.
+
+Because a [compatibility layer][1] was introduced in OpenSSL 1.1.0,
+no code changes are necessary.
+
+Fixes: #203
+
+[1]: https://github.com/openssl/openssl/blob/OpenSSL_1_1_0/include/openssl/evp.h#L500-L502
+--- a/configure.ac
++++ b/configure.ac
+@@ -73,11 +73,11 @@ AC_ARG_ENABLE([utils],
+ AM_CONDITIONAL([UTILS], [test x$utils = xtrue])
+
+ AS_IF([test "x$enable_signatures" = "xyes"], [
+- AC_SEARCH_LIBS([EVP_MD_CTX_create], [crypto], [
++ AC_SEARCH_LIBS([CRYPTO_new_ex_data], [crypto], [
+ AC_DEFINE(HAVE_OPENSSL, 1, [Define to 1 if you have the 'crypto' library (-lcrypto).])
+ LIBCRYPTO_LIB="-lcrypto"
+ LIBS_EXTRA="${LIBS_EXTRA} -lcrypto"
+- ], [AC_MSG_ERROR([unable to find the EVP_MD_CTX_create() function])])
++ ], [AC_MSG_ERROR([unable to find the CRYPTO_new_ex_data() function])])
+ ])
+ AC_SUBST(LIBCRYPTO_LIB)
+ AC_PATH_PROG(PANDOC, pandoc, [/non/existent])
+