patch for qt5-webengine when using libressl

XueFeng Deng dengxf at gmail.com
Sat May 13 07:26:48 UTC 2017


hi guys,

when build ports with libressl as  the default ssl library, qt5-webengine
will failed due to ED25519 related code in qt5-webengine.
the attached file will fix this issue. please  test and merge.

thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-freebsd/attachments/20170513/f714a554/attachment.html>
-------------- next part --------------
diff -nurNp qt5-webengine.orig/Makefile qt5-webengine/Makefile
--- qt5-webengine.orig/Makefile	2017-05-06 07:14:36.003008000 +0800
+++ qt5-webengine/Makefile	2017-05-06 07:11:19.819618000 +0800
@@ -91,6 +91,11 @@ MAKE_ENV+=	CC="${CC}" CXX="${CXX}" ${CON
 # than the rest of Qt5.
 DISTINFO_FILE=		${MASTERDIR}/distinfo
 
+.include <bsd.port.pre.mk>
+.if empty(SSL_DEFAULT:Mlibressl*)
+EXTRA_PATCHES+=        ${PATCHDIR}/extra-patch-src_3rdparty_chromium_content_common_experiments_api_key.cc
+.endif
+
 post-extract:
 # Install FreeBSD's freebsd.pri file.
 	${CP} ${FILESDIR}/freebsd.pri ${WRKSRC}/src/core/config/freebsd.pri
diff -nurNp qt5-webengine.orig/files/extra-patch-src_3rdparty_chromium_content_common_experiments_api_key.cc qt5-webengine/files/extra-patch-src_3rdparty_chromium_content_common_experiments_api_key.cc
--- qt5-webengine.orig/files/extra-patch-src_3rdparty_chromium_content_common_experiments_api_key.cc	1970-01-01 08:00:00.000000000 +0800
+++ qt5-webengine/files/extra-patch-src_3rdparty_chromium_content_common_experiments_api_key.cc	2017-05-06 06:33:41.998704000 +0800
@@ -0,0 +1,19 @@
+--- src/3rdparty/chromium/content/common/experiments/api_key.cc.orig	2017-05-06 06:24:25.335118000 +0800
++++ src/3rdparty/chromium/content/common/experiments/api_key.cc	2017-05-06 06:30:18.511543000 +0800
+@@ -5,6 +5,7 @@
+ #include "content/common/experiments/api_key.h"
+ 
+ #include <openssl/curve25519.h>
++#include <nettle/eddsa.h>
+ 
+ #include <vector>
+ 
+@@ -134,7 +135,7 @@
+     return false;
+   }
+ 
+-  int result = ED25519_verify(
++  int result = ed25519_sha512_verify(
+       reinterpret_cast<const uint8_t*>(data.data()), data.length(),
+       reinterpret_cast<const uint8_t*>(signature.data()),
+       reinterpret_cast<const uint8_t*>(public_key.data()));


More information about the kde-freebsd mailing list