meta-openembedded: subtree update:da393545a2..08c0280b7c

Andreas Müller (8):
      networkmanager-openvpn: Fix packageing
      mousepad: upgrade 0.5.3 -> 0.5.4
      xfce4-battery-plugin: upgrade 1.1.3 -> 1.1.4
      gigolo: upgrade 0.5.1 -> 0.5.2
      thunar: upgrade 4.16.4 -> 4.16.6
      poppler: upgrade 21.03.0 -> 21.04.0
      catfish: add python3-dbus to RDEPENDS
      fluidsynth: upgrade 2.1.7 -> 2.2.0

Andrew Geissler (1):
      nodejs: ppc64le machine support

Awais Belal (1):
      libnet-ssleay-perl: add rdep on perl-module-autoloader

Hermes Zhang (1):
      gpsd: backport d-bus message time patch from upstream

Hongxu Jia (1):
      debootstrap: 1.0.67 -> 1.0.123

Kamil Dziezyk (1):
      bats: upgrade 1.1.0 -> 1.3.0

Kartikey Rameshbhai Parmar (1):
      fluidsynth: update SRC_URI to remove non-existing 2.1.x branch

Khem Raj (12):
      mariadb: Fix build on newer 32bit architectures
      iwd: Upgade to 1.13
      libmanette: Add recipe
      pidgin-sipe: Fix build with glib-2.0 >= 2.68
      gjs: Fix build with gcc11
      poppler: Backport patches to fix build with glib-2.0 2.68+ and GCC11
      opencv: Upgrade to 5.4.2
      Revert "iwd: Upgade to 1.13"
      core-image-minimal-xfce: Use graphical.target as default
      tbb: Fix build with musl
      vnstat: Disable install parallism to fix a potential install race
      open-vm-tools: Fix build with gcc 11

Leon Anavi (57):
      python3-sqlalchemy: Upgrade 1.4.3 -> 1.4.4
      python3-bitarray: Upgrade 1.8.1 -> 1.8.2
      python3-httplib2: Upgrade 0.19.0 -> 0.19.1
      python3-parso: Upgrade 0.8.1 -> 0.8.2
      python3-matplotlib: Upgrade 3.3.4 -> 3.4.1
      python3-pyroute2: Upgrade 0.5.15 -> 0.5.16
      python3-h5py: Upgrade 3.1.0 -> 3.2.1
      python3-cheetah: Upgrade 3.2.6 -> 3.2.6.post1
      python3-google-api-python-client: Upgrade 2.0.2 -> 2.1.0
      python3-xlsxwriter: Upgrade 1.3.7 -> 1.3.8
      python3-pymisp: Upgrade 2.4.140 -> 2.4.141
      python3-tqdm: Upgrade 4.58.0 -> 4.59.0
      python3-contextlib2: Upgrade 0.6.0 -> 0.6.0.post1
      python3-typeguard: Upgrade 2.11.1 -> 2.12.0
      python3-decorator: Upgrade 4.4.2 -> 5.0.1
      python3-pillow: Upgrade 8.1.2 -> 8.2.0
      python3-aiohttp: Upgrade 3.7.4 -> 3.7.4.post0
      python3-networkx: Upgrade 2.5 -> 2.5.1
      python3-pysonos: Upgrade 0.0.40 -> 0.0.41
      python3-docutils: Upgrade 0.16 -> 0.17
      python3-bitarray: Upgrade 1.8.2 -> 1.9.0
      python3-regex: Upgrade 2021.3.17 -> 2021.4.4
      python3-sqlalchemy: Upgrade 1.4.4 -> 1.4.5
      python3-pychromecast: Upgrade 9.1.1 -> 9.1.2
      python3-decorator: Upgrade 5.0.1 -> 5.0.5
      python3-pymisp: Upgrade 2.4.141 -> 2.4.141.1
      python3-pyroute2: Upgrade 0.5.16 -> 0.5.17
      python3-transitions: Upgrade 0.8.7 -> 0.8.8
      python3-sqlalchemy: Upgrade 1.4.5 -> 1.4.6
      python3-bitarray: Upgrade 1.9.0 -> 1.9.1
      python3-pysonos: Upgrade 0.0.41 -> 0.0.42
      python3-django: Upgrade 3.1.7 -> 3.2
      python3-tqdm: Upgrade 4.59.0 -> 4.60.0
      python3-xmlschema: Upgrade 1.5.3 -> 1.6.0
      python3-ruamel-yaml: Upgrade 0.17.2 -> 0.17.4
      python3-croniter: Upgrade 1.0.10 -> 1.0.11
      python3-decorator: Upgrade 5.0.5 -> 5.0.6
      python3-grpcio-tools: Upgrade 1.36.1 -> 1.37.0
      python3-speedtest-cli: Upgrade 2.1.2 -> 2.1.3
      python3-python-vlc: Upgrade 3.0.11115 -> 3.0.12117
      python3-robotframework: Upgrade 4.0 -> 4.0.1
      python3-grpcio: Upgrade 1.36.1 -> 1.37.0
      python3-cerberus: Upgrade 1.3.2 -> 1.3.3
      python3-humanize: Upgrade 3.3.0 -> 3.4.0
      python3-monotonic: Upgrade 1.5 -> 1.6
      python3-sqlalchemy: Upgrade 1.4.6 -> 1.4.7
      python3-typed-ast: Upgrade 1.4.2 -> 1.4.3
      python3-backports-functools-lru-cache: Upgrade 1.6.3 -> 1.6.4
      python3-xmlschema: Upgrade 1.6.0 -> 1.6.1
      python3-pyroute2: Upgrade 0.5.17 -> 0.5.18
      python3-sympy: Upgrade 1.7.1 -> 1.8
      python3-pandas: Upgrade 1.2.3 -> 1.2.4
      python3-humanize: Upgrade 3.4.0 -> 3.4.1
      python3-decorator: Upgrade 5.0.6 -> 5.0.7
      python3-colorlog: Upgrade 4.8.0 -> 5.0.1
      python3-google-api-python-client: Upgrade 2.1.0 -> 2.2.0
      python3-croniter: Upgrade 1.0.11 -> 1.0.12

Martin Jansa (13):
      packagegroup-meta-oe: include glfw, icewm, geis only with x11 in DISTRO_FEATURES
      phonet-utils: remove
      packagegroup-meta-oe: use 4 spaces for identation
      telepathy-glib: respect GI_DATA_ENABLED when enabling vala-bindings
      uml-utilities: fix installed-vs-shipped with usrmerge
      libsmi: use /bin/sh instead of ${base_bindir}/sh to silence QA error with usrmerge
      libyui: switch to libyui-old repo which still has this SRCREV
      libyui(-ncurses): upgrade to 4.1.1, libyui repo was rewritten completely
      android-tools: use PN instead of BPN in RDEPENDS
      pidgin-sipe: fix g_memdup2 changes to be backwards compatible with glib-1.67
      pidgin: upgrade to 2.14.2
      opencv: fetch wechat_qrcode files used by dnn PACKAGECONFIG
      opencv: link sfm module with Glog

Mingli Yu (2):
      freeradius: Upgrade to 3.0.21
      hostapd: fix CVE-2021-0326 and CVE-2021-27803

Naveen Saini (2):
      tbb: upgrade 2020.3 -> 2021.2.0
      ocl-icd: upgrade 2.2.14 -> 2.3.0

Randy MacLeod (2):
      doxygen: Upgrade 1.8.20 -> 1.9.1
      open-vm-tools: upgrade 11.0.1 -> 11.2.5

Ross Burton (1):
      fwts: upgrade to 21.03.00

Stefan Ghinea (1):
      hostapd: fix CVE-2021-30004

Vinicius Aquino (1):
      networkmanager: upgrade 1.28.0 -> 1.30.2

Vinícius Ossanes Aquino (2):
      modemmanager: upgrade 1.14.10 -> 1.16.2
      libqmi: upgrade 1.26.6 -> 1.28.2

Yi Fan Yu (2):
      rsyslog: fix some of the ptests
      redis: upgrade 6.0.9 -> 6.2.1

hasan.men (2):
      librdkafka: Add initial recipe v1.6.1
      libcppkafka: Add initial recipe for cppkafka wrapper

persianpros (5):
      PEP8 double aggressive E701, E70 and E502
      PEP8 double aggressive E20 and E211
      PEP8 double aggressive E22, E224, E241, E242 and E27
      PEP8 double aggressive E301 ~ E306
      PEP8 double aggressive W291 ~ W293 and W391

wangmy (2):
      mariadb: upgrade 10.5.8 -> 10.5.9
      uftrace: Fix error on aarch64 when binutils update to 2.35.1

zangrc (14):
      gnome-autoar: upgrade 0.2.4 -> 0.3.1
      emacs: upgrade 27.1 -> 27.2
      fbgrab: upgrade 1.4 -> 1.5
      ostree: upgrade 2020.8 -> 2021.1
      zabbix: upgrade 5.2.5 -> 5.2.6
      libxaw: upgrade 1.0.13 -> 1.0.14
      mosquitto: upgrade 2.0.9 -> 2.0.10
      nbdkit: upgrade 1.25.4 -> 1.25.5
      stunnel: upgrade 5.58 -> 5.59
      usbredir: upgrade 0.8.0 -> 0.9.0
      hwdata: upgrade 0.345 -> 0.346
      live555: upgrade 20210322 -> 20210406
      rabbitmq-c: upgrade 0.10.0 -> 0.11.0
      xterm: upgrade 366 -> 367

zhengruoqin (7):
      fetchmail: upgrade 6.4.17 -> 6.4.18
      lldpd: upgrade 1.0.4 -> 1.0.8
      networkmanager-openvpn: upgrade 1.8.12 -> 1.8.14
      snort: upgrade 2.9.17 -> 2.9.17.1
      python3-absl: upgrade 0.10.0 -> 0.12.0
      python3-astroid: upgrade 2.5.2 -> 2.5.3
      python3-bitarray: upgrade 1.9.1 -> 1.9.2

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I1f0f809aeda70e82140fec5e3310cbf89c760ad4
diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb
rename to meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb
index cfc089b..e3157ec 100644
--- a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb
@@ -8,7 +8,7 @@
 
 SRC_URI_append_class-target = " file://usemake-docfile-native.patch"
 
-SRC_URI[sha256sum] = "4a4c128f915fc937d61edfc273c98106711b540c9be3cd5d2e2b9b5b2f172e41"
+SRC_URI[sha256sum] = "b4a7cc4e78e63f378624e0919215b910af5bb2a0afc819fad298272e9f40c1b9"
 
 PACKAGECONFIG[gnutls] = "--with-gnutls=yes,--with-gnutls=no,gnutls"
 PACKAGECONFIG[kerberos] = "--with-kerberos=yes,--with-kerberos=no,krb5"
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
index 56d814d..738c32d 100644
--- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
@@ -5,8 +5,8 @@
 LICENSE = "GPL-2.0+"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
 
-PV = "0.345"
-SRCREV = "5d7d97bae533401f60ce9a5a036ff7152c8aca8c"
+PV = "0.346"
+SRCREV = "a2bff16032a68b089eeb169f09dea08094891c9c"
 SRC_URI = "git://github.com/vcrhonek/${BPN}.git"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb b/meta-openembedded/meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb
new file mode 100644
index 0000000..6237638
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "high level C++ wrapper for rdkafka"
+DESCRIPTION = "cppkafka allows C++ applications to consume and produce messages using the Apache Kafka protocol."
+HOMEPAGE = "https://github.com/mfontanini/cppkafka"
+SECTION = "lib"
+LICENSE = "BSD-2-Clause"
+
+LIC_FILES_CHKSUM = " \
+file://LICENSE;md5=d8b4ca15d239dc1485ef495c8f1bcc72 \
+"
+
+SRC_URI = "git://github.com/mfontanini/cppkafka;protocol=https"
+SRCREV = "5e4b350806d561473138ce7a982e8f6cf2e77733"
+
+DEPENDS = "librdkafka boost chrpath-replacement-native"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+do_install_append(){
+    chrpath -d ${D}${libdir}/libcppkafka.so.0.3.1
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/libmanette/libmanette_0.2.6.bb b/meta-openembedded/meta-oe/recipes-support/libmanette/libmanette_0.2.6.bb
new file mode 100644
index 0000000..23ab348
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libmanette/libmanette_0.2.6.bb
@@ -0,0 +1,16 @@
+# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+SUMMARY = "The simple GObject game controller library"
+HOMEPAGE = "https://gnome.pages.gitlab.gnome.org/libmanette/"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libevdev libgudev"
+
+SRC_URI = "https://download.gnome.org/sources/libmanette/0.2/libmanette-${PV}.tar.xz"
+SRC_URI[sha256sum] = "63653259a821ec7d90d681e52e757e2219d462828c9d74b056a5f53267636bac"
+
+inherit meson pkgconfig gobject-introspection ptest vala
+
+FILES_${PN}-ptest =+ "${bindir}/manette-test"
+FILES_${PN}-dev =+ "${libdir}/girepository-1.0"
diff --git a/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka/0001_fix_absolute_path_usage.patch b/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka/0001_fix_absolute_path_usage.patch
new file mode 100644
index 0000000..d609786
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka/0001_fix_absolute_path_usage.patch
@@ -0,0 +1,83 @@
+From dd06894a786edf4bea11dace50d7380b89dfaba5 Mon Sep 17 00:00:00 2001
+From: hasan.men <hasan.men@bosphorusiss.com>
+Date: Sun, 4 Apr 2021 17:20:32 +0200
+Subject: [PATCH] fix absolute path problem
+
+---
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index c6c05e06..e6c47374 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -176,7 +176,7 @@ if(MINGW)
+ endif(MINGW)
+ 
+ # Support '#include <rdkafka.h>'
+-target_include_directories(rdkafka PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>")
++target_include_directories(rdkafka PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
+ target_compile_definitions(rdkafka PUBLIC ${rdkafka_compile_definitions})
+ if(RDKAFKA_BUILD_STATIC)
+   target_compile_definitions(rdkafka PUBLIC LIBRDKAFKA_STATICLIB)
+@@ -188,7 +188,7 @@ if(MINGW)
+   target_link_libraries(rdkafka PUBLIC crypt32 ws2_32 secur32)
+ endif(MINGW)
+ 
+-if(WIN32)  
++if(WIN32)
+   if(RDKAFKA_BUILD_STATIC)
+     target_link_libraries(rdkafka PUBLIC crypt32)
+   else()
+@@ -207,13 +207,13 @@ endif()
+ 
+ if(WITH_ZLIB)
+   find_package(ZLIB REQUIRED)
+-  target_include_directories(rdkafka PUBLIC ${ZLIB_INCLUDE_DIRS})
++  target_include_directories(rdkafka PRIVATE ${ZLIB_INCLUDE_DIRS})
+   target_link_libraries(rdkafka PUBLIC ZLIB::ZLIB)
+ endif()
+ 
+ if(WITH_ZSTD)
+-  target_link_libraries(rdkafka PUBLIC ${ZSTD_LIBRARY})
+-  target_include_directories(rdkafka PUBLIC ${ZSTD_INCLUDE_DIR})
++  target_link_libraries(rdkafka PRIVATE ${ZSTD_LIBRARY})
++  target_include_directories(rdkafka PRIVATE ${ZSTD_INCLUDE_DIR})
+   message(STATUS "Found ZSTD: ${ZSTD_LIBRARY}")
+ endif()
+ 
+@@ -222,12 +222,12 @@ if(WITH_SSL)
+     if(NOT TARGET bundled-ssl)
+       message(FATAL_ERROR "bundled-ssl target not exist")
+     endif()
+-    target_include_directories(rdkafka BEFORE PUBLIC ${BUNDLED_SSL_INCLUDE_DIR})
++    target_include_directories(rdkafka BEFORE PRIVATE ${BUNDLED_SSL_INCLUDE_DIR})
+     target_link_libraries(rdkafka PUBLIC ${BUNDLED_SSL_LIBRARIES})
+     add_dependencies(rdkafka bundled-ssl)
+   else()
+     find_package(OpenSSL REQUIRED)
+-    target_include_directories(rdkafka PUBLIC ${OPENSSL_INCLUDE_DIR})
++    target_include_directories(rdkafka PRIVATE ${OPENSSL_INCLUDE_DIR})
+     target_link_libraries(rdkafka PUBLIC OpenSSL::SSL OpenSSL::Crypto)
+     get_target_property(OPENSSL_TARGET_TYPE OpenSSL::SSL TYPE)
+     if(OPENSSL_CRYPTO_LIBRARY MATCHES "\\.a$")
+@@ -244,7 +244,7 @@ find_package(Threads REQUIRED)
+ target_link_libraries(rdkafka PUBLIC Threads::Threads)
+ 
+ if(WITH_SASL_CYRUS)
+-  target_include_directories(rdkafka PUBLIC ${SASL_INCLUDE_DIRS})
++  target_include_directories(rdkafka PRIVATE ${SASL_INCLUDE_DIRS})
+   target_link_libraries(rdkafka PUBLIC ${SASL_LIBRARIES})
+ endif()
+ 
+@@ -253,7 +253,7 @@ if(WITH_LIBDL)
+ endif()
+ 
+ if(WITH_LZ4_EXT)
+-  target_include_directories(rdkafka PUBLIC ${LZ4_INCLUDE_DIRS})
++  target_include_directories(rdkafka PRIVATE ${LZ4_INCLUDE_DIRS})
+   target_link_libraries(rdkafka PUBLIC LZ4::LZ4)
+ endif()
+ 
+-- 
+2.17.1
\ No newline at end of file
diff --git a/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka_1.6.1.bb b/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka_1.6.1.bb
new file mode 100644
index 0000000..5314f4a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/librdkafka/librdkafka_1.6.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "the Apache Kafka C/C++ client library"
+DESCRIPTION = "librdkafka is a C library implementation of the Apache Kafka protocol, providing Producer, Consumer and Admin clients."
+HOMEPAGE = "https://github.com/edenhill/librdkafka"
+SECTION = "libs"
+LICENSE = "BSD-2-Clause"
+
+LIC_FILES_CHKSUM = " \
+file://LICENSE;md5=2be8675acbfdac48935e73897af5f646 \
+"
+
+SRC_URI = "git://github.com/edenhill/librdkafka;protocol=https \
+            file://0001_fix_absolute_path_usage.patch"
+SRCREV = "1a722553638bba85dbda5050455f7b9a5ef302de"
+
+DEPENDS = "zlib openssl zstd"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${datadir}"
+
+EXTRA_OECMAKE += "-DRDKAFKA_BUILD_EXAMPLES=OFF -DRDKAFKA_BUILD_TESTS=OFF"
\ No newline at end of file
diff --git a/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb b/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
index 212b1e7..ae76fad 100644
--- a/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
@@ -16,7 +16,7 @@
 
 inherit autotools
 
-EXTRA_OECONF = "ac_cv_path_SH=${base_bindir}/sh ac_cv_path_WGET=${bindir}/wget ac_cv_path_AWK=${bindir}/awk"
+EXTRA_OECONF = "ac_cv_path_SH=/bin/sh ac_cv_path_WGET=${bindir}/wget ac_cv_path_AWK=${bindir}/awk"
 
 do_install_append () {
     install -d ${D}${sysconfdir}
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch
deleted file mode 100644
index ce6499b..0000000
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 67e1a5400383543b28fc69eb09c9429cb9d8c026 Mon Sep 17 00:00:00 2001
-From: Your Name <you@example.com>
-Date: Sat, 2 Jan 2021 17:43:11 +0000
-Subject: [PATCH] Fix building opencv using gcc 11.x #19244
-
-Add missing `#include <thread>` in modules/gapi/test/test_precomp.hpp
-
-Upstream-Status: Backport [https://github.com/opencv/opencv/pull/19247]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- modules/gapi/test/test_precomp.hpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/modules/gapi/test/test_precomp.hpp b/modules/gapi/test/test_precomp.hpp
-index 7b3c695443..e92b1d03bf 100644
---- a/modules/gapi/test/test_precomp.hpp
-+++ b/modules/gapi/test/test_precomp.hpp
-@@ -11,6 +11,7 @@
- #define __OPENCV_GAPI_TEST_PRECOMP_HPP__
- 
- #include <cstdint>
-+#include <thread>
- #include <vector>
- 
- #include <opencv2/ts.hpp>
--- 
-2.30.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch
new file mode 100644
index 0000000..7b2c410
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch
@@ -0,0 +1,44 @@
+From ffe20fc4ec46c6b491eff29a38f90686d4d035f6 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Mon, 12 Apr 2021 20:37:40 +0000
+Subject: [PATCH] sfm: link with Glog_LIBS
+
+* in 4.5.0 there was explicit linkage with GLOG_LIBRARY, but since 4.5.1 with:
+  https://github.com/opencv/opencv_contrib/commit/23ee62a19b7a3e50d6dbf295359d8b1aff2e03fd
+
+  it's gone, probably because Glog_FOUND is already set from Ceres,
+  but then GLOG_LIBRARIES is empty in LIBMV_LIGHT_LIBS and build with gold fails:
+
+FAILED: bin/example_tutorial_perspective_correction
+: && TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include  -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot=                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden  -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include  -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot   -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -mssse3 -DNDEBUG  -DNDEBUG  -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include  -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot=                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden  -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include  -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now  -Wl,--gc-sections -Wl,--as-needed samples/cpp/CMakeFiles/example_tutorial_perspective_correction.dir/tutorial_code/features2D/Homography/perspective_correction.cpp.o -o bin/example_tutorial_perspective_correction  -ldl  -lm  -lpthread  -lrt  lib/libopencv_gapi.so.4.5.2  lib/libopencv_stitching.so.4.5.2  lib/libopencv_ts.so.4.5.2  lib/libopencv_alphamat.so.4.5.2  lib/libopencv_aruco.so.4.5.2  lib/libopencv_bgsegm.so.4.5.2  lib/libopencv_bioinspired.so.4.5.2  lib/libopencv_ccalib.so.4.5.2  lib/libopencv_dnn_objdetect.so.4.5.2  lib/libopencv_dnn_superres.so.4.5.2  lib/libopencv_dpm.so.4.5.2  lib/libopencv_face.so.4.5.2  lib/libopencv_fuzzy.so.4.5.2  lib/libopencv_hfs.so.4.5.2  lib/libopencv_img_hash.so.4.5.2  lib/libopencv_intensity_transform.so.4.5.2  lib/libopencv_line_descriptor.so.4.5.2  lib/libopencv_mcc.so.4.5.2  lib/libopencv_quality.so.4.5.2  lib/libopencv_rapid.so.4.5.2  lib/libopencv_reg.so.4.5.2  lib/libopencv_rgbd.so.4.5.2  lib/libopencv_saliency.so.4.5.2  lib/libopencv_sfm.so.4.5.2  lib/libopencv_stereo.so.4.5.2  lib/libopencv_structured_light.so.4.5.2  lib/libopencv_superres.so.4.5.2  lib/libopencv_surface_matching.so.4.5.2  lib/libopencv_tracking.so.4.5.2  lib/libopencv_videostab.so.4.5.2  lib/libopencv_wechat_qrcode.so.4.5.2  lib/libopencv_xfeatures2d.so.4.5.2  lib/libopencv_xobjdetect.so.4.5.2  lib/libopencv_xphoto.so.4.5.2  lib/libopencv_shape.so.4.5.2  lib/libopencv_highgui.so.4.5.2  lib/libopencv_datasets.so.4.5.2  lib/libopencv_ml.so.4.5.2  lib/libopencv_plot.so.4.5.2  lib/libopencv_phase_unwrapping.so.4.5.2  lib/libopencv_optflow.so.4.5.2  lib/libopencv_ximgproc.so.4.5.2  lib/libopencv_videoio.so.4.5.2  lib/libopencv_video.so.4.5.2  lib/libopencv_dnn.so.4.5.2  lib/libopencv_imgcodecs.so.4.5.2  lib/libopencv_objdetect.so.4.5.2  lib/libopencv_calib3d.so.4.5.2  lib/libopencv_features2d.so.4.5.2  lib/libopencv_flann.so.4.5.2  lib/libopencv_photo.so.4.5.2  lib/libopencv_imgproc.so.4.5.2  lib/libopencv_core.so.4.5.2  -Wl,-rpath-link,TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/build/lib && :
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::LogMessage(char const*, int)'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::stream()'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::~LogMessage()'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::kLogSiteUninitialized'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'fLI::FLAGS_v'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::InitVLOG3__(int**, int*, char const*, int)'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessageFatal::LogMessageFatal(char const*, int)'
+lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessageFatal::~LogMessageFatal()'
+collect2: error: ld returned 1 exit status
+
+  Add Glog_LIBS which is set to the same value as GLOG_LIBRARIES used to be.
+
+Upstream-Status: Submitted [https://github.com/opencv/opencv_contrib/pull/2923]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ modules/sfm/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/sfm/CMakeLists.txt b/modules/sfm/CMakeLists.txt
+index 045a1fe6e..ee7cecdac 100644
+--- a/modules/sfm/CMakeLists.txt
++++ b/modules/sfm/CMakeLists.txt
+@@ -84,6 +84,7 @@ set(LIBMV_LIGHT_LIBS
+   multiview
+   numeric
+   ${GLOG_LIBRARIES}
++  ${Glog_LIBS}
+   ${GFLAGS_LIBRARIES}
+ )
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.1.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.1.bb
rename to meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb
index d87e140..311355b 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb
@@ -10,12 +10,13 @@
 
 DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
 
-SRCREV_opencv = "1363496c1106606684d40447f5d1149b2c66a9f8"
-SRCREV_contrib = "b91a781cbc1285d441aa682926d93d8c23678b0b"
+SRCREV_opencv = "69357b1e88680658a07cffde7678a4d697469f03"
+SRCREV_contrib = "f5d7f6712d4ff229ba4f45cf79dfd11c557d56fd"
 SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274"
 SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
 SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
 SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12"
+SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252"
 
 def ipp_filename(d):
     import re
@@ -43,13 +44,14 @@
            git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
            git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
            git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face \
+           git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=wechat_qrcode;name=wechat-qrcode \
            file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
            file://0003-To-fix-errors-as-following.patch \
            file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
            file://0001-Dont-use-isystem.patch \
            file://download.patch \
            file://0001-Make-ts-module-external.patch \
-           file://0001-Fix-building-opencv-using-gcc-11.x-19244.patch \
+           file://0001-sfm-link-with-Glog_LIBS.patch;patchdir=../contrib \
            "
 SRC_URI_append_riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
 
@@ -78,6 +80,8 @@
     cache xfeatures2d/boostdesc ${WORKDIR}/boostdesc/*.i
     cache xfeatures2d/vgg ${WORKDIR}/vgg/*.i
     cache data ${WORKDIR}/face/*.dat
+    cache wechat_qrcode ${WORKDIR}/wechat_qrcode/*.caffemodel
+    cache wechat_qrcode ${WORKDIR}/wechat_qrcode/*.prototxt
 }
 addtask unpack_extra after do_unpack before do_patch
 
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch
new file mode 100644
index 0000000..ceb48d2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch
@@ -0,0 +1,192 @@
+From 51c95a23bff3a024dc19e3127ca751e1458be0f0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 5 Apr 2021 11:36:50 -0700
+Subject: [PATCH] Migrate to use g_memdup2
+
+g_memdup has been deprecated for long and latest glib-2.0 2.68+ has
+turned it int an error to use old function.
+
+The fall-back to g_memdup isn't needed because pidgin provides g_memdup2
+in pidgin-sipe/1.25.0-r0/recipe-sysroot/usr/include/libpurple/glibcompat.h
+based on glib-2.0 version:
+  /* Backport the static inline version of g_memdup2 if we don't have g_memdup2.
+   * see https://mail.gnome.org/archives/desktop-devel-list/2021-February/msg00000.html
+   * for more information.
+   */
+  #if !GLIB_CHECK_VERSION(2, 67, 3)
+  static inline gpointer
+  g_memdup2(gconstpointer mem, gsize byte_size) {
+          gpointer new_mem = NULL;
+
+          if(mem && byte_size != 0) {
+                  new_mem = g_malloc (byte_size);
+                  memcpy (new_mem, mem, byte_size);
+          }
+
+          return new_mem;
+  }
+  #endif /* !GLIB_CHECK_VERSION(2, 67, 3) */
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/api/sipe-common.h              |  3 +++
+ src/core/sip-sec-gssapi.c          |  4 ++--
+ src/core/sip-sec-ntlm.c            | 12 ++++++------
+ src/core/sip-sec-tls-dsk.c         |  4 ++--
+ src/core/sipe-media.c              |  2 +-
+ src/core/sipe-tls-tester.c         |  2 +-
+ src/core/sipe-tls.c                |  4 ++--
+ src/telepathy/telepathy-protocol.c |  2 +-
+ 8 files changed, 18 insertions(+), 15 deletions(-)
+
+diff --git a/src/api/sipe-common.h b/src/api/sipe-common.h
+index c964f15..cab81e0 100644
+--- a/src/api/sipe-common.h
++++ b/src/api/sipe-common.h
+@@ -51,3 +51,6 @@
+ #ifdef _MSC_VER
+ typedef long ssize_t;
+ #endif
++
++// for g_memdup2
++#include <libpurple/glibcompat.h>
+diff --git a/src/core/sip-sec-gssapi.c b/src/core/sip-sec-gssapi.c
+index 873080f..4c63868 100644
+--- a/src/core/sip-sec-gssapi.c
++++ b/src/core/sip-sec-gssapi.c
+@@ -602,7 +602,7 @@ sip_sec_init_sec_context__gssapi(SipSecContext context,
+ 
+ 	out_buff->length = output_token.length;
+ 	if (out_buff->length)
+-		out_buff->value = g_memdup(output_token.value, output_token.length);
++		out_buff->value = g_memdup2(output_token.value, output_token.length);
+ 	else
+ 		/* Special case: empty token */
+ 		out_buff->value = (guint8 *) g_strdup("");
+@@ -653,7 +653,7 @@ sip_sec_make_signature__gssapi(SipSecContext context,
+ 		return FALSE;
+ 	} else {
+ 		signature->length = output_token.length;
+-		signature->value  = g_memdup(output_token.value,
++		signature->value  = g_memdup2(output_token.value,
+ 					     output_token.length);
+ 		gss_release_buffer(&minor, &output_token);
+ 		return TRUE;
+diff --git a/src/core/sip-sec-ntlm.c b/src/core/sip-sec-ntlm.c
+index 2e2354f..1fa4daa 100644
+--- a/src/core/sip-sec-ntlm.c
++++ b/src/core/sip-sec-ntlm.c
+@@ -951,7 +951,7 @@ sip_sec_ntlm_parse_challenge(SipSecBuffer in_buff,
+ 
+ 	/* server challenge (nonce) */
+ 	if (server_challenge) {
+-		*server_challenge = g_memdup(cmsg->nonce, 8);
++		*server_challenge = g_memdup2(cmsg->nonce, 8);
+ 	}
+ 
+ 	/* flags */
+@@ -984,7 +984,7 @@ sip_sec_ntlm_parse_challenge(SipSecBuffer in_buff,
+ 			*target_info_len = len;
+ 		}
+ 		if (target_info) {
+-			*target_info = g_memdup(content, len);
++			*target_info = g_memdup2(content, len);
+ 		}
+ 	}
+ }
+@@ -1117,13 +1117,13 @@ sip_sec_ntlm_gen_authenticate(guchar **client_sign_key,
+ 		   Set ServerSigningKey to SIGNKEY(ExportedSessionKey, "Server")
+ 		*/
+ 		SIGNKEY(exported_session_key, TRUE, key);
+-		*client_sign_key = g_memdup(key, 16);
++		*client_sign_key = g_memdup2(key, 16);
+ 		SIGNKEY(exported_session_key, FALSE, key);
+-		*server_sign_key = g_memdup(key, 16);
++		*server_sign_key = g_memdup2(key, 16);
+ 		SEALKEY(neg_flags, exported_session_key, TRUE, key);
+-		*client_seal_key = g_memdup(key, 16);
++		*client_seal_key = g_memdup2(key, 16);
+ 		SEALKEY(neg_flags, exported_session_key, FALSE, key);
+-		*server_seal_key = g_memdup(key, 16);
++		*server_seal_key = g_memdup2(key, 16);
+ 	}
+ 
+ 	/* @TODO: */
+diff --git a/src/core/sip-sec-tls-dsk.c b/src/core/sip-sec-tls-dsk.c
+index 70433ea..2d3f2db 100644
+--- a/src/core/sip-sec-tls-dsk.c
++++ b/src/core/sip-sec-tls-dsk.c
+@@ -88,9 +88,9 @@ sip_sec_init_sec_context__tls_dsk(SipSecContext context,
+ 			/* copy key pair */
+ 			ctx->algorithm  = state->algorithm;
+ 			ctx->key_length = state->key_length;
+-			ctx->client_key = g_memdup(state->client_key,
++			ctx->client_key = g_memdup2(state->client_key,
+ 						   state->key_length);
+-			ctx->server_key = g_memdup(state->server_key,
++			ctx->server_key = g_memdup2(state->server_key,
+ 						   state->key_length);
+ 
+ 			/* extract certicate expiration time */
+diff --git a/src/core/sipe-media.c b/src/core/sipe-media.c
+index e9c4b8a..936e31c 100644
+--- a/src/core/sipe-media.c
++++ b/src/core/sipe-media.c
+@@ -578,7 +578,7 @@ media_stream_to_sdpmedia(struct sipe_media_call_private *call_private,
+ 	// Set our key if encryption is enabled.
+ 	if (stream_private->encryption_key &&
+ 	    encryption_policy != SIPE_ENCRYPTION_POLICY_REJECTED) {
+-		sdpmedia->encryption_key = g_memdup(stream_private->encryption_key,
++		sdpmedia->encryption_key = g_memdup2(stream_private->encryption_key,
+ 						    SIPE_SRTP_KEY_LEN);
+ 		sdpmedia->encryption_key_id = stream_private->encryption_key_id;
+ 	}
+diff --git a/src/core/sipe-tls-tester.c b/src/core/sipe-tls-tester.c
+index e80d715..5fbb5f8 100644
+--- a/src/core/sipe-tls-tester.c
++++ b/src/core/sipe-tls-tester.c
+@@ -155,7 +155,7 @@ static guchar *read_tls_record(int fd,
+ 		printf("received %d bytes from server\n", result);
+ 		record = g_new0(struct record, 1);
+ 		record->length  = result;
+-		record->msg     = g_memdup(buffer, result);
++		record->msg     = g_memdup2(buffer, result);
+ 		length         += result;
+ 		fragments = g_slist_append(fragments, record);
+ 	}
+diff --git a/src/core/sipe-tls.c b/src/core/sipe-tls.c
+index b0235d5..020aedb 100644
+--- a/src/core/sipe-tls.c
++++ b/src/core/sipe-tls.c
+@@ -427,7 +427,7 @@ static guchar *sipe_tls_prf(SIPE_UNUSED_PARAMETER struct tls_internal_state *sta
+ 	gsize half           = (secret_length + 1) / 2;
+ 	gsize newseed_length = label_length + seed_length;
+ 	/* secret: used as S1; secret2: last half of original secret (S2) */
+-	guchar *secret2 = g_memdup(secret + secret_length - half, half);
++	guchar *secret2 = g_memdup2(secret + secret_length - half, half);
+ 	guchar *newseed = g_malloc(newseed_length);
+ 	guchar *md5, *dest;
+ 	guchar *sha1, *src;
+@@ -1525,7 +1525,7 @@ static struct tls_compiled_message *tls_client_key_exchange(struct tls_internal_
+ 
+ 	/* found all the required fields */
+ 	state->server_random.length = server_random->length;
+-	state->server_random.buffer = g_memdup(server_random->data,
++	state->server_random.buffer = g_memdup2(server_random->data,
+ 					       server_random->length);
+ 	tls_calculate_secrets(state);
+ 
+diff --git a/src/telepathy/telepathy-protocol.c b/src/telepathy/telepathy-protocol.c
+index f6e5337..1dde579 100644
+--- a/src/telepathy/telepathy-protocol.c
++++ b/src/telepathy/telepathy-protocol.c
+@@ -237,7 +237,7 @@ static void get_connection_details(SIPE_UNUSED_PARAMETER TpBaseProtocol *self,
+ 			SIPE_TYPE_SEARCH_MANAGER,
+ 			G_TYPE_INVALID
+ 		};
+-		*channel_managers = g_memdup(types, sizeof(types));
++		*channel_managers = g_memdup2(types, sizeof(types));
+ 	}
+ 	if (icon_name)
+ 		*icon_name    = g_strdup("im-" SIPE_TELEPATHY_DOMAIN);
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb
index f6b4c7c..5a96bec 100644
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb
@@ -11,6 +11,7 @@
            file://0001-sipe-consider-64bit-time_t-when-printing.patch \
            file://0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch \
            file://0001-configure-Do-not-add-native-paths-to-pkgconfig-searc.patch \
+           file://0001-Migrate-to-use-g_memdup2.patch \
 "
 
 SRC_URI[md5sum] = "0e742f021dc8c3f17435aea05c3e0314"
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch
deleted file mode 100644
index cfb0290..0000000
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch
+++ /dev/null
@@ -1,229 +0,0 @@
-From e03d3ef5aadd582ebf7102b7d5785fed177a0cb1 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 7 Feb 2021 13:25:29 +0100
-Subject: [PATCH] configure.ac: fix build with autoconf-2.71
-
-* fixes:
-  | autoreconf: running: intltoolize --copy --force
-  | ERROR: 'IT_PROG_INTLTOOL' must appear in configure.ac for intltool to work.
-  | autoreconf: error: intltoolize failed with exit status: 1
-
-* replace AM_GLIB_GNU_GETTEXT with AM_GNU_GETTEXT as suggested in:
-  https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration
-  https://blogs.gnome.org/jjardon/2010/10/08/use-upstream-gettext-instead-the-glib-one/
-  because the former is causing issues with autoconf-2.71:
-
-  -m4trace:configure.ac:266: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
-  -You should run autoupdate.], [../autoconf-2.71/lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
-  -../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
-  -../autoconf-2.71/lib/autoconf/headers.m4:89: _AC_CHECK_HEADER_COMPILE is expanded from...
-  -../autoconf-2.71/lib/autoconf/headers.m4:56: AC_CHECK_HEADER is expanded from...
-  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:150: GLIB_WITH_NLS is expanded from...
-  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:370: GLIB_GNU_GETTEXT is expanded from...
-  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:470: AM_GLIB_GNU_GETTEXT is expanded from...
-  -configure.ac:266: the top level])
-  -m4trace:configure.ac:266: -1- m4_pattern_allow([^ENABLE_NLS$])
-  -m4trace:configure.ac:266: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
-  -You should run autoupdate.], [../autoconf-2.71/lib/autoconf/status.m4:1025: AC_OUTPUT_COMMANDS is expanded from...
-  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:150: GLIB_WITH_NLS is expanded from...
-  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:370: GLIB_GNU_GETTEXT is expanded from...
-  -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:470: AM_GLIB_GNU_GETTEXT is expanded from...
-  -configure.ac:266: the top level])
-
-  and then configure fails with:
-
-  configure.ac:2621: error: `po/stamp-it' is already registered with AC_CONFIG_COMMANDS.
-  autoconf-2.71/lib/autoconf/status.m4:1008: AC_CONFIG_COMMANDS is expanded from...
-  configure.ac:2621: the top level
-
-* add AM_GNU_GETTEXT_VERSION as well to resolve warning with autoconf-2.71
-  configure.ac: warning: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- ABOUT-NLS          |  1 +
- Makefile.am        |  6 +---
- configure.ac       |  6 ++--
- pidgin/Makefile.am |  7 ++--
- po/Makevars        | 82 ++++++++++++++++++++++++++++++++++++++++++++++
- po/POTFILES.in     |  1 -
- 6 files changed, 92 insertions(+), 11 deletions(-)
- create mode 100644 ABOUT-NLS
- create mode 100644 po/Makevars
-
-diff --git a/ABOUT-NLS b/ABOUT-NLS
-new file mode 100644
-index 0000000..0a9d56d
---- /dev/null
-+++ b/ABOUT-NLS
-@@ -0,0 +1 @@
-+<https://www.gnu.org/software/gettext/manual/html_node/Users.html>
-diff --git a/Makefile.am b/Makefile.am
-index f8e2bc9..a74145f 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -13,9 +13,6 @@ EXTRA_DIST = \
- 		fix-casts.sh \
- 		gaim.pc.in \
- 		gaim-uninstalled.pc.in \
--		intltool-extract.in \
--		intltool-merge.in \
--		intltool-update.in \
- 		package_revision.h \
- 		pidgin.apspec.in \
- 		pidgin.spec.in \
-@@ -139,5 +136,4 @@ endif
- distuninstallcheck_listfiles = \
- 	find . -type f -print | grep -v perl | grep -v Purple.3pm | grep -v Pidgin.3pm
- 
--DISTCLEANFILES= intltool-extract intltool-merge intltool-update \
--			package_revision_raw.txt
-+DISTCLEANFILES=package_revision_raw.txt
-diff --git a/configure.ac b/configure.ac
-index 81d8592..e2280cd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -43,7 +43,7 @@ fi
- 
- AC_CANONICAL_HOST
- AC_CONFIG_HEADERS([config.h])
--AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2])
-+AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2 foreign])
- dnl TODO: Always use AM_SILENT_RULES when we depend on automake >= 1.11
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
- 
-@@ -257,12 +257,12 @@ dnl #######################################################################
- AC_ARG_ENABLE(nls, AC_HELP_STRING([--disable-nls], [disable installation of translation files]), enable_i18n="$enableval", enable_i18n=yes)
- 
- if test x$enable_i18n = xyes; then
--	AC_PROG_INTLTOOL
- 	GETTEXT_PACKAGE=pidgin
- 	AC_SUBST(GETTEXT_PACKAGE)
- 
- 	ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br brx bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN zh_HK zh_TW"
--	AM_GLIB_GNU_GETTEXT
-+	AM_GNU_GETTEXT([external])
-+	AM_GNU_GETTEXT_VERSION([0.21])
- 
- 	dnl If we don't have msgfmt, then po/ is going to fail -- ensure that
- 	dnl AM_GLIB_GNU_GETTEXT found it.
-diff --git a/pidgin/Makefile.am b/pidgin/Makefile.am
-index 2278b88..4d32c53 100644
---- a/pidgin/Makefile.am
-+++ b/pidgin/Makefile.am
-@@ -192,13 +192,16 @@ DESKTOP_FILE=data/pidgin.desktop
- appsdir = $(datadir)/applications
- apps_in_files = data/pidgin.desktop.in
- apps_DATA = $(apps_in_files:.desktop.in=.desktop)
--@INTLTOOL_DESKTOP_RULE@
-+
-+data/pidgin.desktop: data/pidgin.desktop.in
-+	$(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
- 
- appdatadir = $(datarootdir)/appdata
- appdata_DATA = $(appdata_in_files:.xml.in=.xml)
- appdata_in_files = data/pidgin.appdata.xml.in
- 
--@INTLTOOL_XML_RULE@
-+data/pidgin.appdata.xml: data/pidgin.appdata.xml.in
-+	$(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ || cp $< $@
- 
- endif # INSTALL_I18N
- 
-diff --git a/po/Makevars b/po/Makevars
-new file mode 100644
-index 0000000..970237a
---- /dev/null
-+++ b/po/Makevars
-@@ -0,0 +1,82 @@
-+# Makefile variables for PO directory in any package using GNU gettext.
-+#
-+# Copyright (C) 2003-2019 Free Software Foundation, Inc.
-+# This file is free software; the Free Software Foundation gives
-+# unlimited permission to use, copy, distribute, and modify it.
-+
-+# Usually the message domain is the same as the package name.
-+DOMAIN = $(PACKAGE)
-+
-+# These two variables depend on the location of this directory.
-+subdir = po
-+top_builddir = ..
-+
-+# These options get passed to xgettext.
-+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8
-+
-+# This is the copyright holder that gets inserted into the header of the
-+# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
-+# package.  (Note that the msgstr strings, extracted from the package's
-+# sources, belong to the copyright holder of the package.)  Translators are
-+# expected to transfer the copyright for their translations to this person
-+# or entity, or to disclaim their copyright.  The empty string stands for
-+# the public domain; in this case the translators are expected to disclaim
-+# their copyright.
-+COPYRIGHT_HOLDER = Free Software Foundation, Inc.
-+
-+# This tells whether or not to prepend "GNU " prefix to the package
-+# name that gets inserted into the header of the $(DOMAIN).pot file.
-+# Possible values are "yes", "no", or empty.  If it is empty, try to
-+# detect it automatically by scanning the files in $(top_srcdir) for
-+# "GNU packagename" string.
-+PACKAGE_GNU =
-+
-+# This is the email address or URL to which the translators shall report
-+# bugs in the untranslated strings:
-+# - Strings which are not entire sentences, see the maintainer guidelines
-+#   in the GNU gettext documentation, section 'Preparing Strings'.
-+# - Strings which use unclear terms or require additional context to be
-+#   understood.
-+# - Strings which make invalid assumptions about notation of date, time or
-+#   money.
-+# - Pluralisation problems.
-+# - Incorrect English spelling.
-+# - Incorrect formatting.
-+# It can be your email address, or a mailing list address where translators
-+# can write to without being subscribed, or the URL of a web page through
-+# which the translators can contact you.
-+MSGID_BUGS_ADDRESS =
-+
-+# This is the list of locale categories, beyond LC_MESSAGES, for which the
-+# message catalogs shall be used.  It is usually empty.
-+EXTRA_LOCALE_CATEGORIES =
-+
-+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
-+# context.  Possible values are "yes" and "no".  Set this to yes if the
-+# package uses functions taking also a message context, like pgettext(), or
-+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
-+USE_MSGCTXT = no
-+
-+# These options get passed to msgmerge.
-+# Useful options are in particular:
-+#   --previous            to keep previous msgids of translated messages,
-+#   --quiet               to reduce the verbosity.
-+MSGMERGE_OPTIONS =
-+
-+# These options get passed to msginit.
-+# If you want to disable line wrapping when writing PO files, add
-+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
-+# MSGINIT_OPTIONS.
-+MSGINIT_OPTIONS =
-+
-+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
-+# has changed.  Possible values are "yes" and "no".  Set this to no if
-+# the POT file is checked in the repository and the version control
-+# program ignores timestamps.
-+PO_DEPENDS_ON_POT = no
-+
-+# This tells whether or not to forcibly update $(DOMAIN).pot and
-+# regenerate PO files on "make dist".  Possible values are "yes" and
-+# "no".  Set this to no if the POT file and PO files are maintained
-+# externally.
-+DIST_DEPENDS_ON_UPDATE_PO = no
-diff --git a/po/POTFILES.in b/po/POTFILES.in
-index a5691a1..b494bf3 100644
---- a/po/POTFILES.in
-+++ b/po/POTFILES.in
-@@ -1,4 +1,3 @@
--[encoding: UTF-8]
- finch/finch.c
- finch/gntaccount.c
- finch/gntblist.c
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch
deleted file mode 100644
index 99c523d..0000000
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 861c8a63c36f9ee7d46238c9bc13a2c1f14372c3 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 7 Feb 2021 14:35:14 +0000
-Subject: [PATCH] configure.ac: disable few languages not compatible with
- modern gettext
-
-* as pidgin-3 development is moving to meson and probably
-  most of these changes won't be applicable there, lets just
-  disable them until someone interested steps-up to maintain it
-
-* these 3 fail with:
-cd ../../pidgin-2.14.1/po && rm -f brx.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o brx.1po brx.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o brx.gmo brx.1po && rm -f brx.1po
-cd ../../pidgin-2.14.1/po && rm -f zh_HK.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o zh_HK.1po zh_HK.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o zh_HK.gmo zh_HK.1po && rm -f zh_HK.1po
-cd ../../pidgin-2.14.1/po && rm -f zh_TW.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o zh_TW.1po zh_TW.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o zh_TW.gmo zh_TW.1po && rm -f zh_TW.1po
-zh_HK.1po:2790: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: The string refers to arguments both through absolute argument numbers and through unnumbered argument specifications.
-pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 1 fatal error
-zh_TW.1po:2790: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: The string refers to arguments both through absolute argument numbers and through unnumbered argument specifications.
-pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 1 fatal error
-zh_HK.1po: 3234 translated messages.
-make[3]: *** [Makefile:415: ../../pidgin-2.14.1/po/zh_HK.gmo] Error 1
-make[3]: *** Waiting for unfinished jobs....
-zh_TW.1po: 3234 translated messages.
-make[3]: *** [Makefile:415: ../../pidgin-2.14.1/po/zh_TW.gmo] Error 1
-brx.1po:778: number of format specifications in 'msgid' and 'msgstr' does not match
-brx.1po:3179: number of format specifications in 'msgid' and 'msgstr' does not match
-brx.1po:5175: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
-brx.1po:5184: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
-brx.1po:7754: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
-pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 8 fatal errors
-brx.1po: 3246 translated messages.
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index e2280cd..9332932 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -260,7 +260,7 @@ if test x$enable_i18n = xyes; then
- 	GETTEXT_PACKAGE=pidgin
- 	AC_SUBST(GETTEXT_PACKAGE)
- 
--	ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br brx bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN zh_HK zh_TW"
-+	ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN"
- 	AM_GNU_GETTEXT([external])
- 	AM_GNU_GETTEXT_VERSION([0.21])
- 
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb
rename to meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
index d22380e..ba0dca2 100644
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
@@ -11,11 +11,9 @@
     ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
     file://sanitize-configure.ac.patch \
     file://purple-OE-branding-25.patch \
-    file://0001-configure.ac-fix-build-with-autoconf-2.71.patch \
-    file://0002-configure.ac-disable-few-languages-not-compatible-wi.patch \
 "
 
-SRC_URI[sha256sum] = "f132e18d551117d9e46acce29ba4f40892a86746c366999166a3862b51060780"
+SRC_URI[sha256sum] = "19654ad276b149646371fbdac21bc7620742f2975f7399fed0ffc1a18fbaf603"
 
 PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
     ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
@@ -39,9 +37,9 @@
 PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
 PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
 PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss"
+PACKAGECONFIG[cyrus-sasl] = "--enable-cyrus-sasl,--disable-cyrus-sasl,cyrus-sasl"
 
 EXTRA_OECONF = " \
-    --with-python=python3 \
     --disable-perl \
     --disable-tcl \
     --disable-gevolution \
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb
rename to meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb
index 52aa170..de5f380 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.03.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb
@@ -7,7 +7,7 @@
            file://0001-Do-not-overwrite-all-our-build-flags.patch \
            file://basename-include.patch \
            "
-SRC_URI[sha256sum] = "fd51ead4aac1d2f4684fa6e7b0ec06f0233ed21667e720a4e817e4455dd63d27"
+SRC_URI[sha256sum] = "5e2219656c6bbd36154133fef2e12b7d0938464518827098b29a10b1697ea79c"
 
 DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-CMakeLists.txt-exclude-riscv64-riscv32.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-CMakeLists.txt-exclude-riscv64-riscv32.patch
new file mode 100644
index 0000000..ff61548
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-CMakeLists.txt-exclude-riscv64-riscv32.patch
@@ -0,0 +1,42 @@
+From cb9e9b5b1ad05dd9de07a65ee7147cdb3433746a Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Fri, 9 Apr 2021 15:41:35 +0800
+Subject: [PATCH] CMakeLists.txt: exclude riscv64 & riscv32
+
+Upstream-Status: Pending
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ src/tbb/CMakeLists.txt       | 2 +-
+ src/tbbmalloc/CMakeLists.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/tbb/CMakeLists.txt b/src/tbb/CMakeLists.txt
+index a6edb6ad..4f261813 100644
+--- a/src/tbb/CMakeLists.txt
++++ b/src/tbb/CMakeLists.txt
+@@ -55,7 +55,7 @@ target_compile_definitions(tbb
+                            PRIVATE
+                            __TBB_BUILD)
+ 
+-if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64)" OR
++if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64|riscv64|riscv32)" OR
+          "${CMAKE_OSX_ARCHITECTURES}" MATCHES "arm64" OR
+          WINDOWS_STORE OR
+          TBB_WINDOWS_DRIVER))
+diff --git a/src/tbbmalloc/CMakeLists.txt b/src/tbbmalloc/CMakeLists.txt
+index de7ca7ea..31e854fe 100644
+--- a/src/tbbmalloc/CMakeLists.txt
++++ b/src/tbbmalloc/CMakeLists.txt
+@@ -28,7 +28,7 @@ target_compile_definitions(tbbmalloc
+                            PRIVATE
+                            __TBBMALLOC_BUILD)
+ 
+-if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64)" OR
++if (NOT ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "(armv7-a|aarch64|mips|arm64|riscv64|riscv32)" OR
+          "${CMAKE_OSX_ARCHITECTURES}" MATCHES "arm64" OR
+          WINDOWS_STORE OR
+          TBB_WINDOWS_DRIVER))
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-Disable-use-of-_tpause-instruction.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-Disable-use-of-_tpause-instruction.patch
new file mode 100644
index 0000000..7a4cc3e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-Disable-use-of-_tpause-instruction.patch
@@ -0,0 +1,34 @@
+From 26bc87fdad9f29c00a5e37d6d9aed7f6dc7ff416 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Mon, 12 Apr 2021 14:15:53 +0800
+Subject: [PATCH] Disable use of _tpause instruction
+
+It is assuming right now that WAITPKG instructions are available when using
+gcc 11 or clang 12. It's possible that we are building for a
+CPU where it's not available - in this case anything older than Alder Lake.
+
+Disable for now until the detection isn't fixed upstream.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ src/tbb/scheduler_common.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/tbb/scheduler_common.h b/src/tbb/scheduler_common.h
+index ee13dbf9..49052001 100644
+--- a/src/tbb/scheduler_common.h
++++ b/src/tbb/scheduler_common.h
+@@ -219,7 +219,7 @@ inline void prolonged_pause_impl() {
+ #endif
+ 
+ inline void prolonged_pause() {
+-#if __TBB_WAITPKG_INTRINSICS_PRESENT && (_WIN32 || _WIN64 || __linux__) && (__TBB_x86_32 || __TBB_x86_64)
++#if 0
+     if (governor::wait_package_enabled()) {
+         std::uint64_t time_stamp = machine_time_stamp();
+         // _tpause function directs the processor to enter an implementation-dependent optimized state
+-- 
+2.29.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch
index 7e66945..4932544 100644
--- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch
@@ -1,22 +1,23 @@
-From 6b2b136caa68912d77ffe26143cd3da768b9ef80 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 3 Jun 2017 08:39:37 -0700
+From 52c1586bff0ecb418ac21d6678f8963d70959f04 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Wed, 7 Apr 2021 11:14:13 +0800
 Subject: [PATCH] mallinfo() is glibc specific API mark it so
 
 Helps compiling with musl
 
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
 Upstream-Status: Pending
 
- src/tbbmalloc/proxy.cpp | 2 ++
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ src/tbbmalloc_proxy/proxy.cpp | 2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/src/tbbmalloc/proxy.cpp b/src/tbbmalloc/proxy.cpp
-index 5ef279d..06c4872 100644
---- a/src/tbbmalloc/proxy.cpp
-+++ b/src/tbbmalloc/proxy.cpp
-@@ -185,6 +185,7 @@ int mallopt(int /*param*/, int /*value*/) __THROW
+diff --git a/src/tbbmalloc_proxy/proxy.cpp b/src/tbbmalloc_proxy/proxy.cpp
+index f9942bf1..fe0dad89 100644
+--- a/src/tbbmalloc_proxy/proxy.cpp
++++ b/src/tbbmalloc_proxy/proxy.cpp
+@@ -253,6 +253,7 @@ int mallopt(int /*param*/, int /*value*/) __THROW
      return 1;
  }
  
@@ -24,7 +25,7 @@
  struct mallinfo mallinfo() __THROW
  {
      struct mallinfo m;
-@@ -192,6 +193,7 @@ struct mallinfo mallinfo() __THROW
+@@ -260,6 +261,7 @@ struct mallinfo mallinfo() __THROW
  
      return m;
  }
@@ -33,5 +34,5 @@
  #if __ANDROID__
  // Android doesn't have malloc_usable_size, provide it to be compatible
 -- 
-2.13.0
+2.17.1
 
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch
index 6f28f6f..fb10684 100644
--- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch
@@ -1,7 +1,7 @@
-From 27956d4c5fb615098231cebfb8eef11057639d3c Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Sun, 8 Dec 2019 18:14:38 +0100
-Subject: [PATCH] src/tbbmalloc/proxy.cpp: __GLIBC_PREREQ is not defined on
+From 5cac8b5fffa4ebf5f0090456c9e0cbf43827242a Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Wed, 7 Apr 2021 11:32:52 +0800
+Subject: [PATCH] src/tbbmalloc/proxy.cpp: __GLIBC_PREREQ is not defined on 
  musl
 
 Do not call __GLIBC_PREREQ if it is not defined otherwise build will
@@ -12,14 +12,15 @@
 Upstream-Status: Submitted [https://github.com/oneapi-src/oneTBB/pull/203]
 
 Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
 ---
- src/tbbmalloc/proxy.cpp | 6 ++++--
+ src/tbbmalloc_proxy/proxy.cpp | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)
 
-diff --git a/src/tbbmalloc/proxy.cpp b/src/tbbmalloc/proxy.cpp
-index d96ae7a0..709ae839 100644
---- a/src/tbbmalloc/proxy.cpp
-+++ b/src/tbbmalloc/proxy.cpp
+diff --git a/src/tbbmalloc_proxy/proxy.cpp b/src/tbbmalloc_proxy/proxy.cpp
+index fe0dad89..93e68049 100644
+--- a/src/tbbmalloc_proxy/proxy.cpp
++++ b/src/tbbmalloc_proxy/proxy.cpp
 @@ -24,7 +24,8 @@
  // of aligned_alloc as required by new C++ standard, this makes it hard to
  // redefine aligned_alloc here. However, running on systems with new libc
@@ -40,3 +41,6 @@
  #endif // __linux__ && !__ANDROID__
  
  #include "proxy.h"
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
deleted file mode 100644
index 3657854..0000000
--- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-  
-Upstream-Status: unsuitable
----
-
-diff --git a/build/linux.clang.inc b/build/linux.clang.inc
-index fe9b5c98..b0dcd68b 100644
---- a/build/linux.clang.inc
-+++ b/build/linux.clang.inc
-@@ -12,8 +12,8 @@
- # See the License for the specific language governing permissions and
- # limitations under the License.
- 
--CPLUS ?= clang++
--CONLY ?= clang
-+CPLUS ?= $(CXX)
-+CONLY ?= $(CC)
- COMPILE_ONLY = -c -MMD
- PREPROC_ONLY = -E -x c++
- INCLUDE_KEY = -I
-diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc
-index d820c15d..62c76afd 100644
---- a/build/linux.gcc.inc
-+++ b/build/linux.gcc.inc
-@@ -12,8 +12,8 @@
- # See the License for the specific language governing permissions and
- # limitations under the License.
- 
--CPLUS ?= g++
--CONLY ?= gcc
-+CPLUS ?= $(CXX)
-+CONLY ?= $(CC)
- COMPILE_ONLY = -c -MMD
- PREPROC_ONLY = -E -x c++
- INCLUDE_KEY = -I
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch
deleted file mode 100644
index 91d10cb..0000000
--- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From f56eeb18a07df139864a99e1967d450cc5c8c0bb Mon Sep 17 00:00:00 2001
-From: Lee Chee Yang <chee.yang.lee@intel.com>
-Date: Wed, 30 Sep 2020 16:18:35 +0800
-Subject: [PATCH] improve reproducibility
-
-remove the WORKDIR info from BUILD_COMMAND to improve reproducibility.
-also use SOURCE_DATE_EPOCH as DATETIME wherever possible.
-
-Upstream-Status: Inappropriate [sed WORKDIR does not applies to upstream]
-Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
----
- build/version_info_linux.sh | 4 +-
- 1 file changed, 2 insertion(+), 2 deletion(-)
-
-diff --git a/build/version_info_linux.sh b/build/version_info_linux.sh
-index 793cad11..ed6f4b2a 100644
---- a/build/version_info_linux.sh
-+++ b/build/version_info_linux.sh
-@@ -25,6 +25,6 @@ echo '#N": BUILD_GCC'"\t\t"`g++ --version </dev/null 2>&1 | grep 'g++'`'" ENDL \
- echo '#N": BUILD_LIBC'"\t"`getconf GNU_LIBC_VERSION | grep glibc | sed -e 's/^glibc //'`'" ENDL \'
- echo '#N": BUILD_LD'"\t\t"`ld -v 2>&1 | grep 'version'`'" ENDL \'
- echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \'
--echo '#N": BUILD_COMMAND'"\t"$*'" ENDL \'
-+echo '#N": BUILD_COMMAND'"\t"$(echo $* | sed 's#'$WORKDIR'#/workdir#g')'" ENDL \'
- echo ""
--echo "#define __TBB_DATETIME \""`date -u`"\""
-+echo "#define __TBB_DATETIME \""`$(date -u -d "@$SOURCE_DATE_EPOCH"  2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH"  2>/dev/null || date -u )`"\""
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc
deleted file mode 100644
index 4f9da11..0000000
--- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/tbb.pc
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: Threading Building Blocks
-Description: Intel's parallelism library for C++
-URL: https://software.intel.com/en-us/tbb
-Version: 2020.2
-Libs: -L${libdir} -ltbb
-Cflags: -I${includedir} 
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.3.bb b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.3.bb
deleted file mode 100644
index 8e0094b..0000000
--- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2020.3.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-DESCRIPTION = "Parallelism library for C++ - runtime files \
-    TBB is a library that helps you leverage multi-core processor \
-    performance without having to be a threading expert. It represents a \
-    higher-level, task-based parallelism that abstracts platform details \
-    and threading mechanism for performance and scalability."
-HOMEPAGE = "https://software.intel.com/en-us/tbb"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-BRANCH = "tbb_2020"
-SRCREV = "eca91f16d7490a8abfdee652dadf457ec820cc37"
-SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \
-           file://cross-compile.patch \
-           file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \
-           file://GLIBC-PREREQ-is-not-defined-on-musl.patch \
-           file://tbb.pc \
-           file://improve-reproducibility.patch \
-"
-
-S = "${WORKDIR}/git"
-PE = "1"
-
-COMPILER ?= "gcc"
-COMPILER_toolchain-clang = "clang"
-
-do_compile() {
-    oe_runmake compiler=${COMPILER} arch=${HOST_ARCH}
-}
-
-do_install() {
-    install -d ${D}${includedir} ${D}${libdir}
-    rm ${S}/include/tbb/index.html -f
-    cp -R --no-dereference --preserve=mode,links -v ${S}/include/tbb ${D}${includedir}
-    for f in ${B}/build/linux_*_release/lib*.so*
-    do
-        install -Dm 0755 $f ${D}${libdir}/
-    done
-    install -Dm 0644 ${WORKDIR}/tbb.pc ${D}${libdir}/pkgconfig/tbb.pc
-}
-
-# fails with thumb enabled:
-# | arm-oe-linux-gnueabi-g++  -march=armv7-a -mthumb -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 -mcpu=cortex-a9 -D__ARM__ -D__LINUX_ARM_ARCH__=7 -funwind-tables -mvectorize-with-neon-quad -rdynamic --sysroot=/OE/sysroots/m14tv -c -MMD -DTBB_USE_DEBUG  -g -O0 -DUSE_PTHREAD -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -Wno-non-virtual-dtor -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden   -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_queue.cpp
-# | {standard input}: Assembler messages:
-# | {standard input}:250: Error: thumb conditional instruction should be in IT block -- `strexeq r2,r3,[r4]'
-# ...
-# | make[1]: *** [concurrent_queue.o] Error 1
-ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb
new file mode 100644
index 0000000..b05a59d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "Parallelism library for C++ - runtime files \
+    TBB is a library that helps you leverage multi-core processor \
+    performance without having to be a threading expert. It represents a \
+    higher-level, task-based parallelism that abstracts platform details \
+    and threading mechanism for performance and scalability."
+HOMEPAGE = "https://software.intel.com/en-us/tbb"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327"
+
+DEPENDS_append_libc-musl = " libucontext"
+
+BRANCH = "onetbb_2021"
+SRCREV = "2dba2072869a189b9fdab3ffa431d3ea49059a19"
+SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \
+            file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \
+            file://GLIBC-PREREQ-is-not-defined-on-musl.patch \
+            file://0001-CMakeLists.txt-exclude-riscv64-riscv32.patch \
+            file://0001-Disable-use-of-_tpause-instruction.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# test build fails, error: 'mallinfo mallinfo()' is deprecated
+EXTRA_OECMAKE += " \
+                    -DTBB_TEST=OFF \
+                    -DCMAKE_BUILD_TYPE=Release \
+                "
+
+
+# fails with thumb enabled:
+# | arm-oe-linux-gnueabi-g++  -march=armv7-a -mthumb -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 -mcpu=cortex-a9 -D__ARM__ -D__LINUX_ARM_ARCH__=7 -funwind-tables -mvectorize-with-neon-quad -rdynamic --sysroot=/OE/sysroots/m14tv -c -MMD -DTBB_USE_DEBUG  -g -O0 -DUSE_PTHREAD -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -Wno-non-virtual-dtor -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden   -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_queue.cpp
+# | {standard input}: Assembler messages:
+# | {standard input}:250: Error: thumb conditional instruction should be in IT block -- `strexeq r2,r3,[r4]'
+# ...
+# | make[1]: *** [concurrent_queue.o] Error 1
+ARM_INSTRUCTION_SET = "arm"
+
+ASNEEDED = ""
+
+LDFLAGS_append_mips = " -latomic"
+LDFLAGS_append_mipsel = " -latomic"
+
+LDFLAGS_append_libc-musl = " -lucontext"