aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb')
-rw-r--r--meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb52
1 files changed, 52 insertions, 0 deletions
diff --git a/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb b/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb
new file mode 100644
index 0000000000..39569e9d06
--- /dev/null
+++ b/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb
@@ -0,0 +1,52 @@
+SUMMARY = "BearSSL is an implementation of the SSL/TLS protocol (RFC 5246) written in C"
+DESCRIPTION = "BearSSL is an implementation of the SSL/TLS protocol (RFC \
+5246) written in C. It aims at offering the following features: \
+ * Be correct and secure. In particular, insecure protocol versions and \
+ choices of algorithms are not supported, by design; cryptographic \
+ algorithm implementations are constant-time by default. \
+ * Be small, both in RAM and code footprint. For instance, a minimal \
+ server implementation may fit in about 20 kilobytes of compiled code \
+ and 25 kilobytes of RAM. \
+ * Be highly portable. BearSSL targets not only “big” operating systems \
+ like Linux and Windows, but also small embedded systems and even special \
+ contexts like bootstrap code. \
+ * Be feature-rich and extensible. SSL/TLS has many defined cipher suites \
+ and extensions; BearSSL should implement most of them, and allow extra \
+ algorithm implementations to be added afterwards, possibly from third \
+ parties."
+HOMEPAGE = "https://bearssl.org"
+
+SECTION = "libs"
+
+inherit lib_package
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1fc37e1037ae673975fbcb96a98f7191"
+
+PV .= "+git"
+SRCREV = "79c060eea3eea1257797f15ea1608a9a9923aa6f"
+SRC_URI = "git://www.bearssl.org/git/BearSSL;protocol=https;branch=master \
+ file://0002-test-test_x509.c-fix-potential-overflow-issue.patch \
+ "
+
+SONAME = "libbearssl.so.6"
+# without compile errors like
+# <..>/ld: build/obj/ghash_pclmul.o: warning: relocation against `br_ghash_pclmul' in read-only section `.text'
+CFLAGS += "-fPIC"
+
+EXTRA_OEMAKE += 'CC="${CC}" CFLAGS="${CFLAGS}" LDDLL="${CCLD} ${LDFLAGS}" LD="${CCLD}" LDFLAGS="${LDFLAGS}" \
+ BEARSSLDLL=build/${SONAME} \
+ LDDLLFLAGS="-shared -Wl,-soname,${SONAME}" \
+ ${@ "STATICLIB=no" if d.getVar('DISABLE_STATIC') != "" else "" } \
+'
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}/${bindir} ${D}/${libdir} ${D}/${includedir}
+ install -m 0755 ${B}/build/brssl ${D}/${bindir}
+ oe_libinstall -C ${B}/build libbearssl ${D}/${libdir}
+ for inc in ${S}/inc/*.h; do
+ install -m 0644 "${inc}" ${D}/${includedir}
+ done
+}