bearssl_0.6.bb 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. SUMMARY = "BearSSL is an implementation of the SSL/TLS protocol (RFC 5246) written in C"
  2. DESCRIPTION = "BearSSL is an implementation of the SSL/TLS protocol (RFC \
  3. 5246) written in C. It aims at offering the following features: \
  4. * Be correct and secure. In particular, insecure protocol versions and \
  5. choices of algorithms are not supported, by design; cryptographic \
  6. algorithm implementations are constant-time by default. \
  7. * Be small, both in RAM and code footprint. For instance, a minimal \
  8. server implementation may fit in about 20 kilobytes of compiled code \
  9. and 25 kilobytes of RAM. \
  10. * Be highly portable. BearSSL targets not only “big” operating systems \
  11. like Linux and Windows, but also small embedded systems and even special \
  12. contexts like bootstrap code. \
  13. * Be feature-rich and extensible. SSL/TLS has many defined cipher suites \
  14. and extensions; BearSSL should implement most of them, and allow extra \
  15. algorithm implementations to be added afterwards, possibly from third \
  16. parties."
  17. HOMEPAGE = "https://bearssl.org"
  18. SECTION = "libs"
  19. inherit lib_package
  20. LICENSE = "MIT"
  21. LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1fc37e1037ae673975fbcb96a98f7191"
  22. PV .= "+git"
  23. SRCREV = "79c060eea3eea1257797f15ea1608a9a9923aa6f"
  24. SRC_URI = "git://www.bearssl.org/git/BearSSL;protocol=https;branch=master \
  25. file://0002-test-test_x509.c-fix-potential-overflow-issue.patch \
  26. "
  27. SONAME = "libbearssl.so.6"
  28. # without compile errors like
  29. # <..>/ld: build/obj/ghash_pclmul.o: warning: relocation against `br_ghash_pclmul' in read-only section `.text'
  30. CFLAGS += "-fPIC"
  31. EXTRA_OEMAKE += 'CC="${CC}" CFLAGS="${CFLAGS}" LDDLL="${CCLD} ${LDFLAGS}" LD="${CCLD}" LDFLAGS="${LDFLAGS}" \
  32. BEARSSLDLL=build/${SONAME} \
  33. LDDLLFLAGS="-shared -Wl,-soname,${SONAME}" \
  34. ${@ "STATICLIB=no" if d.getVar('DISABLE_STATIC') != "" else "" } \
  35. '
  36. S = "${WORKDIR}/git"
  37. do_install() {
  38. install -d ${D}/${bindir} ${D}/${libdir} ${D}/${includedir}
  39. install -m 0755 ${B}/build/brssl ${D}/${bindir}
  40. oe_libinstall -C ${B}/build libbearssl ${D}/${libdir}
  41. for inc in ${S}/inc/*.h; do
  42. install -m 0644 "${inc}" ${D}/${includedir}
  43. done
  44. }