meta-openembedded: subtree update:55de2d06ad..53d431639a

Adrian Bunk (1):
      ltrace: Remove RDEPENDS on elfutils

Andreas Müller (22):
      gedit: upgrade 2.30.4 -> 3.34.0
      gtksourceview2: remove
      evolution-data-server: give up fine grained -dev/-dbg packages
      evolution-data-server: upgrade 3.26.6 -> 3.34.1 and rework
      gnome-font-viewer: initial add 3.34.0
      evince: upgrade 3.28.2 -> 3.34.1
      file-roller: inital add 3.32.2
      gexiv2: initial add 0.12.0
      gnome-autoar: inital add 0.2.3
      tracker: initial add 2.3.1
      nautilus: upgrade 3.18.5 -> 3.34.1
      geocode-glib: initial add 3.26.1
      libgweather: initial add 3.34.0
      libwacom: initial add 0.33
      gnome-settings-daemon: initial add 3.34.1
      fluidsynth: upgrade 2.0.7 -> 2.0.9
      gnome-terminal: re-add 3.34.2
      gnome-terminal: Fix build for musl
      gmime: cleanup recipe
      gmime: move to meta-oe/recipes-gnome
      gmime: upgrade 3.2.4 -> 3.2.5
      evolution-data-server: add upstream-version-is-even & gsettings to inherit

Bartosz Golaszewski (1):
      libgpiod: put gpio utils into an actual separate package

Gaylord Charles (1):
      nginx: fix install paths

Khem Raj (11):
      evince: Fix build with clang
      poppler: Extend the c/c++ flags fix to cover clang
      pidgin-sipe: Fix another case of struct incompatiblility due to 64bit time_t
      gperftools: Convert static and libunwind support to packageconfig
      libmad: Define O2 for all arches as default optimization
      rsyslog: Dont force enable atomic builtins on mips
      libtorrent: Drop 64bit atomics patch for mips/ppc
      libtorrent: Disable instrumentation on ppc/mips
      libkcapi: Move static inline functions where used
      grpc: Link with libatomic on clang/x86
      upm: Link with libatomic on clang/x86

Leon Anavi (1):
      surf: Add a simple web browser

Martin Balik (1):
      squid: upgrade 4.6 -> 4.9

Nicola Lunghi (2):
      python-jsonschema: multiple fixes
      python-jsonschema: add PACKAGECONFIG nongpl option

Oleksandr Kravchuk (1):
      flatbuffers: update to 1.11.0

Peter Kjellerstedt (1):
      libldb: Do not require the "pam" distro feature to be enabled

nick83ola (2):
      python3-apply-defaults: add recipe
      python3-jsonrpcserver: add recipe

Change-Id: I231fc015cba86b7c14915ffc3f6f123c9296fd68
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch
deleted file mode 100644
index 4d09797..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c9859a38a58996b8767a30e14febc03845f66f95 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 1 Jul 2017 13:10:53 -0700
-Subject: [PATCH] Define 64bit atomic helpers for ppc 32-bit
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/atomic64.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/atomic64.c b/src/atomic64.c
-index f841b39b..35c7c9d8 100644
---- a/src/atomic64.c
-+++ b/src/atomic64.c
-@@ -18,10 +18,10 @@
- #include <stdbool.h>
- 
- /*
-- * only need these on MIPS, since it lacks hardware 64-bit atomics,
-+ * only need these on MIPS & PPC32, since it lacks hardware 64-bit atomics,
-  * unlike x86 and ARM.
-  */
--#if defined(__mips__) || defined(__mipsel__)
-+#if defined(__mips__) || defined(__mipsel__) || defined(__powerpc__)
- 
- static void __spin_lock(volatile int *lock) {
-   while (__sync_lock_test_and_set(lock, 1))
--- 
-2.13.2
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch
deleted file mode 100644
index 84e0772..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent/0001-implement-64bit-atomic-for-mips.patch
+++ /dev/null
@@ -1,263 +0,0 @@
-From d7b6df5808e7bef5930b61a82e880699a9f9e208 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 29 Jun 2017 15:39:19 -0700
-Subject: [PATCH] implement 64bit atomic for mips
-
-GCC does not provide 64bit atomics for mips32
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/Makefile.am |   1 +
- src/atomic64.c  | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 229 insertions(+)
- create mode 100644 src/atomic64.c
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 99aaace0..cbbbbee9 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -27,6 +27,7 @@ libtorrent_la_LIBADD = \
- 	utils/libsub_utils.la
- 
- libtorrent_la_SOURCES = \
-+	atomic64.c \
- 	globals.cc \
- 	globals.h \
- 	manager.cc \
-diff --git a/src/atomic64.c b/src/atomic64.c
-new file mode 100644
-index 00000000..f841b39b
---- /dev/null
-+++ b/src/atomic64.c
-@@ -0,0 +1,228 @@
-+/*===----- atomic64.c - Support functions for 64-bit atomic operations.-----===
-+ *
-+ *                     The LLVM Compiler Infrastructure
-+ *
-+ * This file is dual licensed under the MIT and the University of Illinois Open
-+ * Source Licenses. See LICENSE.TXT for details.
-+ *
-+ *===-----------------------------------------------------------------------===
-+ *
-+ *  atomic64.c defines a set of functions for performing atomic accesses on
-+ *  64-bit memory locations. It also implements spinlock synchronization
-+ *  operations.
-+ *
-+ *===-----------------------------------------------------------------------===
-+ */
-+
-+#include <stdint.h>
-+#include <stdbool.h>
-+
-+/*
-+ * only need these on MIPS, since it lacks hardware 64-bit atomics,
-+ * unlike x86 and ARM.
-+ */
-+#if defined(__mips__) || defined(__mipsel__)
-+
-+static void __spin_lock(volatile int *lock) {
-+  while (__sync_lock_test_and_set(lock, 1))
-+    while (*lock) {}
-+}
-+
-+static void __spin_unlock(volatile int *lock) {
-+  __sync_lock_release(lock);
-+}
-+
-+/*
-+ * Make sure the lock is on its own cache line to prevent false sharing.
-+ * Put it inside a struct that is aligned and padded to the typical MIPS
-+ * cacheline which is 32 bytes.
-+ */
-+static struct {
-+  int lock;
-+  char pad[32 - sizeof(int)];
-+} __attribute__((aligned (32))) lock = { 0 };
-+
-+
-+uint64_t __sync_fetch_and_add_8(volatile uint64_t *ptr, uint64_t val) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr;
-+  *ptr = ret + val;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+uint64_t __sync_fetch_and_sub_8(volatile uint64_t *ptr, uint64_t val) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr;
-+  *ptr = ret - val;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+uint64_t __sync_fetch_and_and_8(volatile uint64_t *ptr, uint64_t val) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr;
-+  *ptr = ret & val;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+uint64_t __sync_fetch_and_or_8(volatile uint64_t *ptr, uint64_t val) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr;
-+  *ptr = ret | val;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+uint64_t __sync_fetch_and_xor_8(volatile uint64_t *ptr, uint64_t val) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr;
-+  *ptr = ret ^ val;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+uint64_t __sync_add_and_fetch_8(volatile uint64_t *ptr, uint64_t val) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr + val;
-+  *ptr = ret;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+uint64_t __sync_sub_and_fetch_8(volatile uint64_t *ptr, uint64_t val) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr - val;
-+  *ptr = ret;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+uint64_t __sync_and_and_fetch_8(volatile uint64_t *ptr, uint64_t val) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr & val;
-+  *ptr = ret;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+uint64_t __sync_or_and_fetch_8(volatile uint64_t *ptr, uint64_t val) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr | val;
-+  *ptr = ret;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+uint64_t __sync_xor_and_fetch_8(volatile uint64_t *ptr, uint64_t val) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr ^ val;
-+  *ptr = ret;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+bool __sync_bool_compare_and_swap_8(volatile uint64_t *ptr,
-+                                         uint64_t oldval, uint64_t newval) {
-+  bool ret = false;
-+
-+  __spin_lock(&lock.lock);
-+
-+  if (*ptr == oldval) {
-+    *ptr = newval;
-+    ret = true;
-+  }
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+uint64_t __sync_val_compare_and_swap_8(volatile uint64_t *ptr,
-+                                            uint64_t oldval, uint64_t newval) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr;
-+  if (ret == oldval)
-+    *ptr = newval;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+uint64_t __sync_lock_test_and_set_8(volatile uint64_t *ptr, uint64_t val) {
-+  uint64_t ret;
-+
-+  __spin_lock(&lock.lock);
-+
-+  ret = *ptr;
-+  *ptr = val;
-+
-+  __spin_unlock(&lock.lock);
-+
-+  return ret;
-+}
-+
-+void __sync_lock_release_8(volatile uint64_t *ptr) {
-+  __spin_lock(&lock.lock);
-+
-+  *ptr = 0;
-+
-+  __spin_unlock(&lock.lock);
-+}
-+
-+#endif
--- 
-2.13.2
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
index fa106ea..3ee6955 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
@@ -8,8 +8,6 @@
 
 SRC_URI = "git://github.com/rakshasa/libtorrent \
            file://don-t-run-code-while-configuring-package.patch \
-           file://0001-implement-64bit-atomic-for-mips.patch \
-           file://0001-Define-64bit-atomic-helpers-for-ppc-32-bit.patch \
            "
 SRCREV = "756f70010779927dc0691e1e722ed433d5d295e1"
 
@@ -17,6 +15,13 @@
 
 S = "${WORKDIR}/git"
 
+PACKAGECONFIG ??= "instrumentation"
+
+PACKAGECONFIG_remove_mipsarch = "instrumentation"
+PACKAGECONFIG_remove_powerpc = "instrumentation"
+
+PACKAGECONFIG[instrumentation] = "--enable-instrumentation,--disable-instrumentation,"
+
 inherit autotools pkgconfig
 
 EXTRA_OECONF = "--with-zlib=${STAGING_EXECPREFIXDIR}"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch
new file mode 100644
index 0000000..3dd7ea7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch
@@ -0,0 +1,71 @@
+From 00c1654e368f728b213c4e3782045d54098edb25 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Nov 2019 23:03:51 -0800
+Subject: [PATCH] kcapi-kdf: Move code to fix
+
+Fixes clang build
+unused function '_bswap32' [-Werror,-Wunused-function]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/kcapi-kdf.c | 36 ++++++++++++++++--------------------
+ 1 file changed, 16 insertions(+), 20 deletions(-)
+
+diff --git a/lib/kcapi-kdf.c b/lib/kcapi-kdf.c
+index ea39846..8e4a636 100644
+--- a/lib/kcapi-kdf.c
++++ b/lib/kcapi-kdf.c
+@@ -54,6 +54,20 @@
+ #include "kcapi.h"
+ #include "internal.h"
+ 
++#define GCC_VERSION (__GNUC__ * 10000		\
++		     + __GNUC_MINOR__ * 100	\
++		     + __GNUC_PATCHLEVEL__)
++#if GCC_VERSION >= 40400
++# define __HAVE_BUILTIN_BSWAP32__
++#endif
++
++#ifdef __HAVE_BUILTIN_BSWAP32__
++# define be_bswap32(x) (uint32_t)__builtin_bswap32((uint32_t)(x))
++/* Endian dependent byte swap operations.  */
++#elif  __BYTE_ORDER__ ==  __ORDER_BIG_ENDIAN__
++# define be_bswap32(x) ((uint32_t)(x))
++#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
++
+ static inline uint32_t rol32(uint32_t x, int n)
+ {
+ 	return ( (x << (n&(32-1))) | (x >> ((32-n)&(32-1))) );
+@@ -68,27 +82,9 @@ static inline uint32_t _bswap32(uint32_t x)
+ {
+ 	return ((rol32(x, 8) & 0x00ff00ffL) | (ror32(x, 8) & 0xff00ff00L));
+ }
+-
+-#define GCC_VERSION (__GNUC__ * 10000		\
+-		     + __GNUC_MINOR__ * 100	\
+-		     + __GNUC_PATCHLEVEL__)
+-#if GCC_VERSION >= 40400
+-# define __HAVE_BUILTIN_BSWAP32__
+-#endif
+-
+-#ifdef __HAVE_BUILTIN_BSWAP32__
+-# define _swap32(x) (uint32_t)__builtin_bswap32((uint32_t)(x))
+-#else
+-# define _swap32(x) _bswap32(x)
+-#endif
+-
+-/* Endian dependent byte swap operations.  */
+-#if __BYTE_ORDER__ ==  __ORDER_BIG_ENDIAN__
+-# define be_bswap32(x) ((uint32_t)(x))
+-#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+-# define be_bswap32(x) _swap32(x)
++# define be_bswap32(x) _bswap32(x)
+ #else
+-#error "Endianess not defined"
++# error "Neither builtin_bswap32 nor endianess defined"
+ #endif
+ 
+ DSO_PUBLIC
+-- 
+2.24.0
+
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
index 7990709..aa438e5 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
@@ -10,6 +10,7 @@
 PV = "1.1.5"
 SRC_URI = " \
     git://github.com/smuellerDD/libkcapi.git \
+    file://0001-kcapi-kdf-Move-code-to-fix.patch \
 "
 
 inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers/0001-Add-detection-of-strtoull_l-function.patch b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers/0001-Add-detection-of-strtoull_l-function.patch
new file mode 100644
index 0000000..f3e8210
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers/0001-Add-detection-of-strtoull_l-function.patch
@@ -0,0 +1,38 @@
+From bff7ffbc5130cd46caf33b76b4bb0593fcd15066 Mon Sep 17 00:00:00 2001
+From: Vladimir Glavnyy <31897320+vglavnyy@users.noreply.github.com>
+Date: Fri, 10 May 2019 00:15:29 +0700
+Subject: [PATCH] Add detection of strtoull_l function (#5333) (#5337)
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Retrieved from:
+https://github.com/google/flatbuffers/commit/bff7ffbc5130cd46caf33b76b4bb0593fcd15066]
+---
+ CMakeLists.txt | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0640c37b5..30be238fe 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -42,12 +42,18 @@ if(DEFINED FLATBUFFERS_MAX_PARSING_DEPTH)
+   message(STATUS "FLATBUFFERS_MAX_PARSING_DEPTH: ${FLATBUFFERS_MAX_PARSING_DEPTH}")
+ endif()
+ 
+-# Auto-detect locale-narrow 'strtod_l' function.
++# Auto-detect locale-narrow 'strtod_l' and  'strtoull_l' functions.
+ if(NOT DEFINED FLATBUFFERS_LOCALE_INDEPENDENT)
++  set(FLATBUFFERS_LOCALE_INDEPENDENT 0)
+   if(MSVC)
+-    check_cxx_symbol_exists(_strtof_l stdlib.h FLATBUFFERS_LOCALE_INDEPENDENT)
++    check_cxx_symbol_exists(_strtof_l stdlib.h FLATBUFFERS_HAS_STRTOF_L)
++    check_cxx_symbol_exists(_strtoui64_l stdlib.h FLATBUFFERS_HAS_STRTOULL_L)
+   else()
+-    check_cxx_symbol_exists(strtof_l stdlib.h FLATBUFFERS_LOCALE_INDEPENDENT)
++    check_cxx_symbol_exists(strtof_l stdlib.h FLATBUFFERS_HAS_STRTOF_L)
++    check_cxx_symbol_exists(strtoull_l stdlib.h FLATBUFFERS_HAS_STRTOULL_L)
++  endif()
++  if(FLATBUFFERS_HAS_STRTOF_L AND FLATBUFFERS_HAS_STRTOULL_L)
++    set(FLATBUFFERS_LOCALE_INDEPENDENT 1)
+   endif()
+ endif()
+ add_definitions(-DFLATBUFFERS_LOCALE_INDEPENDENT=$<BOOL:${FLATBUFFERS_LOCALE_INDEPENDENT}>)
diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.10.0.bb b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.10.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb
index 452e1e6..bd6dcef 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.10.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.11.0.bb
@@ -10,9 +10,11 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a873c5645c184d51e0f9b34e1d7cf559"
 
-SRCREV = "c0698cc33f1e534bb59c455909b88cc2726089af"
+SRCREV = "9e7e8cbe9f675123dd41b7c62868acad39188cae"
 
-SRC_URI = "git://github.com/google/flatbuffers.git"
+SRC_URI = "git://github.com/google/flatbuffers.git \
+           file://0001-Add-detection-of-strtoull_l-function.patch \
+          "
 
 # Make sure C++11 is used, required for example for GCC 4.9
 CXXFLAGS += "-std=c++11"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index 5c4e7c5..bb21cbc 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -14,7 +14,6 @@
 SRCREV = "c22d359433b333937ee3d803450dc41998115685"
 
 DEPENDS = "elfutils"
-RDEPENDS_${PN} = "elfutils"
 SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http \
            file://configure-allow-to-disable-selinux-support.patch \
            file://0001-replace-readdir_r-with-readdir.patch \
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1910.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1910.0.bb
index f50f9a3..8287d2b 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1910.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1910.0.bb
@@ -39,6 +39,7 @@
 
 EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes"
 EXTRA_OECONF += "--enable-imfile-tests"
+EXTRA_OECONF_remove_mipsarch = "ap_cv_atomic_builtins=yes"
 
 # first line is default yes in configure
 PACKAGECONFIG ??= " \
diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-nmea_gps-Link-with-latomic.patch b/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-nmea_gps-Link-with-latomic.patch
new file mode 100644
index 0000000..c16b8db
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-nmea_gps-Link-with-latomic.patch
@@ -0,0 +1,27 @@
+From 996d37fc0b7177ee57788399b9140032d5de2765 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 18 Nov 2019 15:50:02 -0800
+Subject: [PATCH] nmea_gps: Link with latomic
+
+clang/x86 ends up with missing symbols for atomics due to atomic<double>
+with libstdc++, it works ok with libc++
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/nmea_gps/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/nmea_gps/CMakeLists.txt b/src/nmea_gps/CMakeLists.txt
+index b3fb6591..5280bfed 100644
+--- a/src/nmea_gps/CMakeLists.txt
++++ b/src/nmea_gps/CMakeLists.txt
+@@ -6,4 +6,4 @@ upm_mixed_module_init (NAME nmea_gps
+     CPP_SRC nmea_gps.cxx
+     FTI_SRC nmea_gps_fti.c
+     CPP_WRAPS_C
+-    REQUIRES mraa utilities-c ${CMAKE_THREAD_LIBS_INIT})
++    REQUIRES mraa utilities-c atomic ${CMAKE_THREAD_LIBS_INIT})
+-- 
+2.24.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
index fb22e83..dbe9737 100644
--- a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
@@ -15,6 +15,8 @@
            file://0001-Use-stdint-types.patch \
            "
 
+SRC_URI_append_toolchain-clang_x86 = " file://0001-nmea_gps-Link-with-latomic.patch "
+
 S = "${WORKDIR}/git"
 
 # Depends on mraa which only supports x86 and ARM for now
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/iconv-detect.h b/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-support/pidgin/gmime/iconv-detect.h
rename to meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/gmime/nodolt.patch b/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/nodolt.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-support/pidgin/gmime/nodolt.patch
rename to meta-openembedded/meta-oe/recipes-gnome/gmime/gmime/nodolt.patch
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.5.bb b/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.5.bb
new file mode 100644
index 0000000..568083b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/gmime/gmime_3.2.5.bb
@@ -0,0 +1,16 @@
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+DESCRIPTION = "Runtime libraries for parsing and creating MIME mail"
+SECTION = "libs"
+DEPENDS = "glib-2.0 zlib"
+
+inherit gnomebase gobject-introspection
+
+SRC_URI += "file://iconv-detect.h \
+            file://nodolt.patch"
+
+SRC_URI[archive.md5sum] = "98970e3995e67ac3f23827ff52308f9e"
+SRC_URI[archive.sha256sum] = "fb7556501f85c3bf3e65fdd82697cbc4fa4b55dccd33ad14239ce0197e78ba59"
+
+export ac_cv_have_iconv_detect_h="yes"
+do_configure_append = "cp ${WORKDIR}/iconv-detect.h ${S}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch b/meta-openembedded/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch
new file mode 100644
index 0000000..fb90432
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch
@@ -0,0 +1,41 @@
+From e97bb73851f5bbd94260da553a222526485cdfb1 Mon Sep 17 00:00:00 2001
+From: Leon Anavi <leon.anavi@konsulko.com>
+Date: Fri, 15 Nov 2019 18:24:42 +0000
+Subject: [PATCH] config.mk: Fix compiler and linker
+
+Do not set explicitly compiler and linker.
+
+Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
+---
+ config.mk | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/config.mk b/config.mk
+index df6e812..5deb991 100644
+--- a/config.mk
++++ b/config.mk
+@@ -15,17 +15,17 @@ GTKINC = `pkg-config --cflags gtk+-3.0 webkit2gtk-4.0`
+ GTKLIB = `pkg-config --libs gtk+-3.0 webkit2gtk-4.0`
+ 
+ # includes and libs
+-INCS = -I. -I/usr/include -I${X11INC} ${GTKINC}
+-LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${GTKLIB} -lgthread-2.0
++INCS = ${GTKINC}
++LIBS = -lc -lX11 ${GTKLIB} -lgthread-2.0
+ 
+ # flags
+ CPPFLAGS = -DVERSION=\"${VERSION}\" -DWEBEXTDIR=\"${LIBPREFIX}\" -D_DEFAULT_SOURCE
+ CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
+-LDFLAGS = -s ${LIBS}
++LDFLAGS = ${LIBS}
+ 
+ # Solaris
+ #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
+ #LDFLAGS = ${LIBS}
+ 
+ # compiler and linker
+-CC = cc
++CC ?= cc
+-- 
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb b/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb
new file mode 100644
index 0000000..5b03f8b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Simple web browser"
+DESCRIPTION = "Simple open source web browser based on WebKit2/GTK"
+HOMEPAGE = "https://surf.suckless.org/"
+SECTION = "x11/graphics"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b57e7f7720307a02d5a6598b00fe3afa"
+
+DEPENDS = "webkitgtk gtk+3 glib-2.0"
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \
+           file://0001-config.mk-Fix-compiler-and-linker.patch \
+"
+SRCREV = "b814567e2bf8bda07cea8de1c7a062f4aa437b65"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig distro_features_check
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+	install -D -m 0755 ${S}/surf ${D}${bindir}/surf
+}
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch b/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
index 5bfce4d..70723f2 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
@@ -7,37 +7,77 @@
  configure.ac | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)
 
-diff --git a/configure.ac b/configure.ac
-index 4fcd48b..40302db 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -140,20 +140,20 @@ then
-     case "$optimize" in
- 	-O|"-O "*)
- 	    optimize="-O"
+@@ -124,70 +124,7 @@ done
+ 
+ if test "$GCC" = yes
+ then
+-    if test -z "$arch"
+-    then
+-	case "$host" in
+-	    i386-*)           ;;
+-	    i?86-*)           arch="-march=i486" ;;
+-	    arm*-empeg-*)     arch="-march=armv4 -mtune=strongarm1100" ;;
+-	    armv4*-*)         arch="-march=armv4 -mtune=strongarm" ;;
+-	    powerpc-*)        ;;
+-	    mips*-agenda-*)   arch="-mcpu=vr4100" ;;
+-	    mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
+-	esac
+-    fi
+-
+-    case "$optimize" in
+-	-O|"-O "*)
+-	    optimize="-O"
 -	    optimize="$optimize -fforce-addr"
-+	    : #optimize="$optimize -fforce-addr"
- 	    : #x optimize="$optimize -finline-functions"
- 	    : #- optimize="$optimize -fstrength-reduce"
+-	    : #x optimize="$optimize -finline-functions"
+-	    : #- optimize="$optimize -fstrength-reduce"
 -	    optimize="$optimize -fthread-jumps"
 -	    optimize="$optimize -fcse-follow-jumps"
 -	    optimize="$optimize -fcse-skip-blocks"
-+	    : #optimize="$optimize -fthread-jumps"
-+	    : #optimize="$optimize -fcse-follow-jumps"
-+	    : #optimize="$optimize -fcse-skip-blocks"
- 	    : #x optimize="$optimize -frerun-cse-after-loop"
- 	    : #x optimize="$optimize -frerun-loop-opt"
- 	    : #x optimize="$optimize -fgcse"
- 	    optimize="$optimize -fexpensive-optimizations"
+-	    : #x optimize="$optimize -frerun-cse-after-loop"
+-	    : #x optimize="$optimize -frerun-loop-opt"
+-	    : #x optimize="$optimize -fgcse"
+-	    optimize="$optimize -fexpensive-optimizations"
 -	    optimize="$optimize -fregmove"
-+	    : #optimize="$optimize -fregmove"
- 	    : #* optimize="$optimize -fdelayed-branch"
- 	    : #x optimize="$optimize -fschedule-insns"
+-	    : #* optimize="$optimize -fdelayed-branch"
+-	    : #x optimize="$optimize -fschedule-insns"
 -	    optimize="$optimize -fschedule-insns2"
-+	    : #optimize="$optimize -fschedule-insns2"
- 	    : #? optimize="$optimize -ffunction-sections"
- 	    : #? optimize="$optimize -fcaller-saves"
- 	    : #> optimize="$optimize -funroll-loops"
--- 
-2.1.0
-
+-	    : #? optimize="$optimize -ffunction-sections"
+-	    : #? optimize="$optimize -fcaller-saves"
+-	    : #> optimize="$optimize -funroll-loops"
+-	    : #> optimize="$optimize -funroll-all-loops"
+-	    : #x optimize="$optimize -fmove-all-movables"
+-	    : #x optimize="$optimize -freduce-all-givs"
+-	    : #? optimize="$optimize -fstrict-aliasing"
+-	    : #* optimize="$optimize -fstructure-noalias"
+-
+-	    case "$host" in
+-		arm*-*)
+-		    optimize="$optimize -fstrength-reduce"
+-		    ;;
+-		mips*-*)
+-		    optimize="$optimize -fstrength-reduce"
+-		    optimize="$optimize -finline-functions"
+-		    ;;
+-		i?86-*)
+-		    optimize="$optimize -fstrength-reduce"
+-		    ;;
+-		powerpc-apple-*)
+-		    # this triggers an internal compiler error with gcc2
+-		    : #optimize="$optimize -fstrength-reduce"
+-
+-		    # this is really only beneficial with gcc3
+-		    : #optimize="$optimize -finline-functions"
+-		    ;;
+-		*)
+-		    # this sometimes provokes bugs in gcc 2.95.2
+-		    : #optimize="$optimize -fstrength-reduce"
+-		    ;;
+-	    esac
+-	    ;;
+-    esac
++	optimize="-O2"
+ fi
+ 
+ case "$host" in
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch b/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch
index 01c7aa3..5bc91f3 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch
@@ -11,15 +11,13 @@
 2010/07/29
 Nitin A Kamble <nitin.a.kamble@intel.com>
 
-Index: libmad-0.15.1b/fixed.h
-===================================================================
---- libmad-0.15.1b.orig/fixed.h
-+++ libmad-0.15.1b/fixed.h
+--- a/fixed.h
++++ b/fixed.h
 @@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t
  
  /* --- MIPS ---------------------------------------------------------------- */
  
-+# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
++# elif defined(FPM_MIPS) && (defined(__clang__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
 +    typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
 +#   define MAD_F_MLX(hi, lo, x, y) \
 +    do { \
diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb
index fdb8251..731c835 100644
--- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb
@@ -2,7 +2,6 @@
 HOMEPAGE = "https://github.com/gperftools/gperftools"
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
-DEPENDS += "libunwind"
 
 SRCREV = "9608fa3bcf8020d35f59fbf70cd3cbe4b015b972"
 SRC_URI = "git://github.com/gperftools/gperftools \
@@ -20,7 +19,7 @@
 # On mips, we have the following error.
 #   do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008
 #   Segmentation fault (core dumped)
-COMPATIBLE_HOST_mipsarch_libc-glibc = "null"
+COMPATIBLE_HOST_mipsarch = "null"
 # Disable thumb1
 # {standard input}: Assembler messages:
 # {standard input}:434: Error: lo register required -- `ldr pc,[sp]'
@@ -28,9 +27,11 @@
 ARM_INSTRUCTION_SET_armv5 = "arm"
 ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm"
 
-# Ensure static libs are always enabled, as they seem to be not produced by
-# default at least on ARM.
-EXTRA_OECONF_append += " --enable-static"
+PACKAGECONFIG ?= "libunwind static"
+PACKAGECONFIG_remove_arm_libc-musl = "libunwind"
+
+PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind"
+PACKAGECONFIG[static] = "--enable-static,--disable-static,"
 
 PACKAGE_BEFORE_PN += "libtcmalloc-minimal"
 FILES_libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
index 89679cb..07ce35a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
@@ -8,11 +8,9 @@
 inherit autotools pkgconfig
 
 PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
-PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,"
+
+EXTRA_OECONF = "--enable-tools"
 
 PACKAGES =+ " ${PN}-tools"
 
 FILES_${PN}-tools = "${bindir}/*"
-
-RRECOMMENDS_TOOLS = "${@bb.utils.contains('PACKAGECONFIG', 'tools', '${PN}-tools', '',d)}"
-RRECOMMENDS_${PN} += "${RRECOMMENDS_TOOLS}"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
index 3ecfffd..c4d2bdd 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_0.3.3.bb
@@ -1,7 +1,6 @@
 require libgpiod.inc
 
-# enable tools
-PACKAGECONFIG ?= "tools"
+PACKAGECONFIG ?= ""
 
 PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.1.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.1.bb
index d559028..0391deb 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.1.bb
@@ -5,8 +5,8 @@
 SRC_URI[md5sum] = "585b4bb431f99c4ba9b3ee58b9d494c1"
 SRC_URI[sha256sum] = "21ae8fd1f8dafc2eb2ba50e652390cf533d21351419a7426255895cb52e21b1c"
 
-# enable tools and cxx bindings
-PACKAGECONFIG ?= "cxx tools"
+# enable cxx bindings
+PACKAGECONFIG ?= "cxx"
 
 PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
 PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.4.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.4.bb
deleted file mode 100644
index dcdaed5..0000000
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.4.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-DESCRIPTION = "Runtime libraries for parsing and creating MIME mail"
-SECTION = "libs"
-DEPENDS = "glib-2.0 zlib"
-
-inherit gnomebase autotools gobject-introspection
-
-SRC_URI += "file://iconv-detect.h \
-            file://nodolt.patch"
-
-SRC_URI[archive.md5sum] = "b6b4e9fdc8f3336551d23872c83b539a"
-SRC_URI[archive.sha256sum] = "249ea7c0e080b067aa9669162c36b181b402f6cf6cebc4999d838c6f1e81d024"
-
-EXTRA_OECONF_remove = "--disable-schemas-install"
-
-export ac_cv_have_iconv_detect_h="yes"
-do_configure_append = "cp ${WORKDIR}/iconv-detect.h ${S}"
-
-# we do not need GNOME 1 gnome-config support
-do_install_append () {
-    rm -f ${D}${libdir}/gmimeConf.sh
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch
new file mode 100644
index 0000000..87a6435
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch
@@ -0,0 +1,50 @@
+From 1110d3036e73d0571f70f6758f3179e5048c0b5d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Nov 2019 11:07:42 -0800
+Subject: [PATCH] Align structs casts with time_t elements to 8byte boundary
+
+This helps with 64bit time_t conversion, especially where these
+structures are typcasted to another struct types which have time_t
+element, that now increases the natural alignment boundary of structures
+to 8-bytes.
+
+Fixes
+../../../pidgin-sipe-1.25.0/src/core/sipe-user.c:124:43: error: cast from 'struct sipe_core_public *' to 'struct sipe_core_private *' increases required alignment from 4 to 8 [-Werror,-Wcast-align]
+        struct sipe_core_private *sipe_private = SIPE_CORE_PRIVATE;
+                                                 ^~~~~~~~~~~~~~~~~
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/api/sipe-core.h            | 2 +-
+ src/core/sipe-http-transport.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/api/sipe-core.h b/src/api/sipe-core.h
+index cde0a9c..bd818bb 100644
+--- a/src/api/sipe-core.h
++++ b/src/api/sipe-core.h
+@@ -148,7 +148,7 @@ struct sipe_core_public {
+ 
+ 	/* server information */
+ 	/* currently nothing */
+-};
++} __attribute__((aligned(8)));
+ 
+ /**
+  * Initialize & destroy functions for the SIPE core
+diff --git a/src/core/sipe-http-transport.h b/src/core/sipe-http-transport.h
+index d82cd1b..08eb150 100644
+--- a/src/core/sipe-http-transport.h
++++ b/src/core/sipe-http-transport.h
+@@ -46,7 +46,7 @@ struct sipe_http_connection_public {
+ 	gchar *host;
+ 	guint32 port;
+ 	gboolean connected;
+-};
++} __attribute__((aligned(8)));
+ 
+ /**
+  * Check if we're shutting down the HTTP stack
+-- 
+2.24.0
+
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 7dc6316..99fcf3c 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
@@ -9,6 +9,7 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/sipe/pidgin-sipe-${PV}.tar.xz \
            file://0001-sipe-consider-64bit-time_t-when-printing.patch \
+           file://0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch \
 "
 
 SRC_URI[md5sum] = "0e742f021dc8c3f17435aea05c3e0314"
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch
index 18f5085..05e0abe 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch
@@ -13,11 +13,9 @@
  cmake/modules/PopplerMacros.cmake | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-diff --git a/cmake/modules/PopplerMacros.cmake b/cmake/modules/PopplerMacros.cmake
-index ccb2790..0f392cb 100644
 --- a/cmake/modules/PopplerMacros.cmake
 +++ b/cmake/modules/PopplerMacros.cmake
-@@ -125,14 +125,14 @@ if(CMAKE_COMPILER_IS_GNUCXX)
+@@ -123,14 +123,14 @@ if(CMAKE_COMPILER_IS_GNUCXX)
    set(DEFAULT_COMPILE_WARNINGS_EXTRA "${_warn} ${_warnx}")
  
    set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
@@ -34,5 +32,21 @@
    set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g ${_save_cflags}")
    set(CMAKE_C_FLAGS_RELEASE          "-O2 -DNDEBUG ${_save_cflags}")
    set(CMAKE_C_FLAGS_DEBUG            "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline ${_save_cflags}")
--- 
-2.14.3
+@@ -167,7 +167,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL
+   set(DEFAULT_COMPILE_WARNINGS_EXTRA "${_warn} ${_warnx}")
+ 
+   set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
+-  set(CMAKE_CXX_FLAGS                "-fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE")
++  set(CMAKE_CXX_FLAGS                "-fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE ${_save_cxxflags}")
+   set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}")
+   set(CMAKE_CXX_FLAGS_RELEASE        "-O2 -DNDEBUG ${_save_cxxflags}")
+   # clang does not support -fno-reorder-blocks -fno-schedule-insns, so do not use -O2
+@@ -175,7 +175,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL
+   set(CMAKE_CXX_FLAGS_DEBUGFULL      "-g3 -fno-inline ${_save_cxxflags}")
+   set(CMAKE_CXX_FLAGS_PROFILE        "-g3 -fno-inline -ftest-coverage -fprofile-arcs ${_save_cxxflags}")
+   set(_save_cflags "${CMAKE_C_FLAGS}")
+-  set(CMAKE_C_FLAGS                  "-std=c99 -D_DEFAULT_SOURCE")
++  set(CMAKE_C_FLAGS                  "-std=c99 -D_DEFAULT_SOURCE ${_save_cflags}")
+   set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g ${_save_cflags}")
+   set(CMAKE_C_FLAGS_RELEASE          "-O2 -DNDEBUG ${_save_cflags}")
+   # clang does not support -fno-reorder-blocks -fno-schedule-insns, so do not use -O2