Add LibreSSL support

Submitted by Ruslan Babayev on Nov. 4, 2015, 12:14 a.m. | Patch ID: 106667

Details

Message ID 87a8quk4dy.fsf@babayev.com
State New
Headers show

Commit Message

Ruslan Babayev Nov. 4, 2015, 12:14 a.m.
Burton, Ross writes:

>
> I think I'd prefer oe-core to have just the one provider of the openssl
> APIs, so if oe-core sticks with openssl then libressl should go into
> another layer, meta-networking maybe?
>

Thanks for feedback Ross. Moved it to meta-networking.

Patch hide | download patch | download mbox

From 5b41fed5cea2123bffd13c0d724c4ff75e8a5d8a Mon Sep 17 00:00:00 2001
From: Ruslan Babayev <ruslan@babayev.com>
Date: Tue, 3 Nov 2015 15:08:34 -0800
Subject: [PATCH] meta-networking: recipes-connectivity: add libressl recipe

Signed-off-by: Ruslan Babayev <ruslan@babayev.com>
---
 .../libressl/files/gnuc_prereq.patch                 | 13 +++++++++++++
 .../recipes-connectivity/libressl/libressl.inc       | 20 ++++++++++++++++++++
 .../recipes-connectivity/libressl/libressl_2.2.4.bb  |  6 ++++++
 3 files changed, 39 insertions(+)
 create mode 100644 meta-networking/recipes-connectivity/libressl/files/gnuc_prereq.patch
 create mode 100644 meta-networking/recipes-connectivity/libressl/libressl.inc
 create mode 100644 meta-networking/recipes-connectivity/libressl/libressl_2.2.4.bb

diff --git a/meta-networking/recipes-connectivity/libressl/files/gnuc_prereq.patch b/meta-networking/recipes-connectivity/libressl/files/gnuc_prereq.patch
new file mode 100644
index 0000000..61fa51a
--- /dev/null
+++ b/meta-networking/recipes-connectivity/libressl/files/gnuc_prereq.patch
@@ -0,0 +1,13 @@ 
+Index: libressl-2.2.4/crypto/bn/bn_lcl.h
+===================================================================
+--- libressl-2.2.4.orig/crypto/bn/bn_lcl.h
++++ libressl-2.2.4/crypto/bn/bn_lcl.h
+@@ -259,7 +259,7 @@ extern "C" {
+ #  endif
+ # elif defined(__mips) && defined(_LP64)
+ #  if defined(__GNUC__) && __GNUC__>=2
+-#   if __GNUC__>=4 && __GNUC_MINOR__>=4 /* "h" constraint is no more since 4.4 */
++#   if __GNUC_PREREQ(4,4) /* "h" constraint is no more since 4.4 */
+ #     define BN_UMULT_HIGH(a,b)		 (((__uint128_t)(a)*(b))>>64)
+ #     define BN_UMULT_LOHI(low,high,a,b) ({	\
+ 	__uint128_t ret=(__uint128_t)(a)*(b);	\
diff --git a/meta-networking/recipes-connectivity/libressl/libressl.inc b/meta-networking/recipes-connectivity/libressl/libressl.inc
new file mode 100644
index 0000000..d0acdc4
--- /dev/null
+++ b/meta-networking/recipes-connectivity/libressl/libressl.inc
@@ -0,0 +1,20 @@ 
+SUMMARY = "LibreSSL fork of OpenSSL"
+DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
+HOMEPAGE = "http://www.libressl.org/"
+SECTION = "libs/network"
+
+LICENSE = "openssl"
+LIC_FILES_CHKSUM = "file://COPYING;md5=01f9bb4d275f5eeea905377bef3de622"
+
+SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${PV}.tar.gz"
+
+S = "${WORKDIR}/libressl-${PV}"
+
+inherit pkgconfig autotools
+
+PROVIDES += "openssl"
+
+RPROVIDES_${PN} += "openssl"
+RCONFLICTS_${PN} += "openssl"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-networking/recipes-connectivity/libressl/libressl_2.2.4.bb b/meta-networking/recipes-connectivity/libressl/libressl_2.2.4.bb
new file mode 100644
index 0000000..f2f6fc2
--- /dev/null
+++ b/meta-networking/recipes-connectivity/libressl/libressl_2.2.4.bb
@@ -0,0 +1,6 @@ 
+require libressl.inc
+
+SRC_URI += " file://gnuc_prereq.patch"
+
+SRC_URI[md5sum] = "bae037598bd63987666302f9644de237"
+SRC_URI[sha256sum] = "6b409859be8654afc3862549494e097017e64c8d167f12584383586306ef9a7e"
-- 
2.6.2