meta-openembedded: subtree update:459dbf1078..ea8604a0e3

Adrian Bunk (6):
      xfsprogs: Remove obsolete patch
      gpsd: Add a PACKAGECONFIG for disabling usb support
      libqmi: Upgrade 1.24.0 -> 1.24.2
      enchant2: Upgrade 2.2.3 -> 2.2.7
      geany-plugins: Use enchant2 instead of the old enchant
      enchant2: Remove, moved to oe-core

Alex Kiernan (11):
      nftables: Fix documentation generation
      ldns: Add recipe
      ostree: Fix DISTRO_FEATURES with ptest but w/o xattr
      ostree: Drop tests for soup/xattr with ptest
      ostree: Change PACKAGECONFIG to use manpages
      ostree: Add PACKAGECONFIG for builtin-grub2-mkconfig
      ostree: Backport build/test fixes from upstream
      ostree: Upgrade 2019.5 -> 2019.6
      ostree: Add support for gjs tests
      nftables: Expand PACKAGECONFIG, cleanup build
      ostree: Tidy FILES_${PN} using PACKAGE_BEFORE_PN

Alexander Kanavin (1):
      enscript/indent/sharutils: fix build with gettext 0.20.x

Alistair Francis (2):
      mycroft: RDEPENDS on mpg123 to allow singing
      openocd: Enable remote-bitbang build option

Andreas Müller (76):
      gnome-system-monitor: add gsettings to inherit
      tracker-miners: initial add 2.3.1
      nautilus: add tracker-miners to RDPENDS
      libgnomekbd: cleanup DEPENDS inherit gsettings / remove unused config
      nodejs: Add PACKAGECONFIG share to allow other projects to use node as library
      xserver-xorg-cvt-native: initial add 1.20.5
      mutter: initial add 3.34.1
      pinpoint: remove dead project
      gnome-keyring: upgrade 3.28.2 -> 3.34.0
      libgsf: upgrade 1.14.45 -> 1.14.46
      libgnome-keyring: remove
      gvfs: upgrade 1.41.2 -> 1.42.1
      grilo: initial add 0.3.10
      gsound: initial add 1.0.2
      gnome-backgrounds: initial add 3.34.0
      metacity: upgrade 3.32.0 -> 3.34.1
      gjs: initial add 1.58.3
      gdm: re-add 3.34.1
      gnome-shell: initial add 3.34.1
      gnome-shell-extensions: initial add 3.34.1
      accountsservice: initial add 0.6.55
      rest: initial add 0.8.1
      gnome-online-accounts: initial add 3.34.1
      gnome-control-center: re-add 3.34.1
      gnome-session: inital add 3.34.1
      gnome-panel: (re)add 3.34.1
      gnome-flashback: initial add 3.34.1
      Add: packagegroup-gnome-apps / packagegroup-gnome-desktop
      glfw: add features_check to inherit
      stalonetray: Add x11 to required distro feature
      projucer: add x11 to required distro features
      colord-gtk: add polkit to required distro features
      yelp: add x11 to required distro features
      file-roller: remove nautilus from DEPENDS
      libgdata: add x11 to required distro features
      accountsservice: Hack musl build fix
      accountsservice: fix build for systemd not in DISTRO_FEATURES
      gnome-font-viewer: fix copy & paste typo in SUMMARY
      libxfce4ui: give up glade3 (=glade for gtk2) support
      glade3: remove ancient version of glade
      exo: remove pythonnative from inherit
      geany: remove pythonnative from inherit
      gnome-tweaks: initial add 3.34.0
      libhandy: initial add 0.0.12
      fluidsynth: upgrade 2.0.9 -> 2.1.0
      exo: upgrade 0.12.10 -> 0.12.11
      tumbler: upgrade 0.2.7 -> 0.2.8
      catfish: upgrade 1.4.10 -> 1.4.11
      cppunit: upgrade 1.14.0 -> 1.15.1
      xfce4-terminal: upgrade 0.8.8 -> 0.8.9
      gnome-calculator: initial add 3.34.1
      evince: upgrade 3.34.1 -> 3.34.1
      file-roller: upgrade 3.32.2 -> 3.32.3
      evolution-data-server: upgrade 3.34.1 -> 3.34.2
      gedit: upgrade 3.34.0 -> 3.34.1
      gnome-autoar: upgrade 0.2.3 -> 0.2.4
      gnome-control-center: upgrade 3.34.1 -> 3.34.2
      gnome-desktop3: upgrade 3.34.1 -> 3.34.2
      gnome-flashback: upgrade 3.34.1 -> 3.34.2
      gnome-session: 3.34.1 -> 3.34.2
      gnome-settings-daemon: upgrade 3.34.1 -> 3.34.2
      gnome-shell-extensions: upgrade 3.34.1 -> 3.34.2
      gnome-shell: upgrade 3.34.1 -> 3.34.2
      gvfs: upgrade 1.42.1 -> 1.42.2
      libgdata: upgrade 0.17.10 -> 0.17.11
      mutter: upgrade 3.34.1 -> 3.34.2
      nautilus: upgrade 3.34.1 -> 3.34.2
      yelp-xsl: upgrade 3.34.0 -> 3.34.2
      poppler: upgrade 0.82.0 -> 0.84.0
      xfce4-terminal: upgrade 0.8.9 -> 0.8.9.1
      mutter: upgrade 3.34.2 -> 3.34.3
      gnome-shell: upgrade 3.34.2 -> 3.34.3
      evolution-data-server: upgrade 3.34.2 -> 3.34.3
      gjs: upgrade 1.58.3 -> 1.58.4
      gnome-desktop3: upgrade 3.34.2 -> 3.34.3
      libsigc++-3: let meson build

Andrei Gherzan (1):
      kernel-selftest: Include rtc tests

Andrej Valek (1):
      ntp: split ntpdc into separate package

Andrey Zhizhikin (1):
      flatbuffers: add PIC compiler flag required for aarch64

André Draszik (4):
      python3-jsonrpcserver: update to v4.1.0
      python3-jsonrpcserver: allow to use as non-root
      oniguruma: update to v6.9.4
      oniguruma: enable ptest

Armin Kuster (3):
      glfw: missing feature check.
      libvncserver: fix build depends issue
      surf: Add opengl requirement

Bartosz Golaszewski (10):
      librsync: new package
      xdelta3: update to v3.1.0
      xdelta3: add native and nativesdk to BBCLASSEXTEND
      speedtest-cli: new package
      doxygen: upgrade v1.8.16 -> v1.8.17
      libsigrok: upgrade v0.5.1 -> v0.5.2
      libsigrokdecode: upgrade v0.5.2 -> v0.5.3
      libsigrok: add support for bluetooth integration
      cloc: new package
      libsigrok: add support for hidapi integration

Changqing Li (5):
      samba: fix wrong shebang for python3
      gtk-xfce-engine: remove this recipe
      xfce4-kbdleds-plugin: remove this recipe
      xfce-dusk-gtk3: correct invalid SRC_URI
      libhugetlbfs: update patch to make it work for python3

Denys Dmytriyenko (1):
      netperf: add "intervals" and "histogram" PACKAGECONFIGs

Diego Rondini (2):
      cups-filters: add recipe
      qpdf: add recipe

Fabio Berton (1):
      nanopb: Add recipe for version 0.4.0

Gianfranco Costamagna (6):
      boinc: update recipe to version 7.16.3
      vboxguestdrivers: update to version 6.1.0 and unblacklist
      websocketpp: add various upstream accepted and proposed patches to fix various issues, including:
      brotli: rename static libraries avoding the -static suffix.
      cpprest: fix cmake installation directory
      websocketpp: also install examples in a new -examples subpackage

Hongxu Jia (2):
      gvfs: add user polkitd and missing depends
      python3-astor: fix VERSION file not found

Jacopo Dall'Aglio (1):
      netplan: add recipe

Jens Rehsack (6):
      log4cplus: update to 2.0.5
      libstatgrab: add logging/tracing options
      libtest-warnings-perl: add recipe
      libfile-slurper-perl: add recipe
      libconfig-autoconf-perl: add recipe
      libunix-statgrab: add recipe

Kai Kang (12):
      blueman: disable appindicator support
      xfce4-panel-profiles: 1.0.8 -> 1.0.9
      exo: 0.12.9 -> 0.12.10
      thunar: 1.8.9 -> 1.8.10
      fltk: fix build error when enable package config examples
      corosync: fix build error when package config rdma enabled
      rdma-core: 18.1 -> 27.0
      openl2tp: update systemd service file
      bdwgc: make libatomic-ops as dependency
      volume-key: not create python2 bindings
      libbytesize: disable doc build
      adduser: set default shell with /sbin/nologin

Khem Raj (113):
      python-evdev: Fix build for 32bit arches with 64bit time_t
      x11vnc: Fix build for 32bit arches with 64bit time_t
      evtest: Fix build for 32bit arches with 64bit time_t
      lirc: Fix build for 32bit arches with 64bit time_t
      v4l-utils: Update to 1.18.0
      tslib: Fix build for 32bit arches with 64bit time_t
      utouch-evemu,utouch-frame: Fix build for 32bit arches with 64bit time_t
      directfb: Fix build for 32bit arches with 64bit time_t
      kernel-module-emlog: Use compile task from module bbclass
      emlog: Use RRECOMMEND instead of RDEPEND
      projucer: Upgrade to 5.4.5
      packagegroup-meta-oe: Remove nodejs and uim on riscv
      libnih: Fix build with latest gettext
      liblockdev: Loosen the regexp for py3
      sigrok-cli: Update to 0.7.1
      python-pywbem: Update to 0.15.0
      udisks2: Update to 2.8.4
      id3lib: Update to newer debian patchset
      libdc1394: Update to 2.2.6 release
      libsmi: Use right name for tcl license
      hdf5: Upgrade to 1.8.21
      xterm: Fix latent issue found with musl
      mozjs: extend --with-intl-api=build to all mips
      klibc: Apply -no-integrated-as on mips/clang
      grpc: Define libdir and cmakedir in terms of multilib
      ufs-utils: Renames from ufs-tool
      breakpad: Update to latest upstream
      rsyslog: Sync VALGRIND supported arch list
      packagegroup-meta-oe: Remove ppc64 specific incompatible packages
      libpfm4: Moved here from oe-core
      rdma-core: Replace pthread_yield with sched_yield
      fvwm: Upgrade to 2.6.9
      nlohmann-json: Upgrade to 3.7.3
      libqb: Add --enable-nosection-fallback with mips64/clang
      lcdproc: Upgrade to latest top of tree
      tinyalsa: fix installation libdir path to match multilibs
      luajit: Add ppc/ppc64 to unsupported arch list
      rsyslog: Do not assume atomic built-ins on ppc
      hiredis: Upgrade to 0.14.0
      libfann: Define LIB_SUFFIX suitable for OE multilib needs
      libgit2: Upgrade to 0.28.4
      libinih: Fix multilib build
      poco: Define LIB_SUFFIX per OE multilibs
      libcec: Fix multilib build
      dfu-util-native,sjf2410-linux-native: Fix Deploy in multimachine builds
      mpv: Remove luajit dependency for ppc64
      cannelloni: Update to latest and fix multilib builds
      nvme-cli: Use nonarch libdir for dracut config files
      cli11: Fix multilib build
      lockdev: Make baselib configurable
      avro-c: Update to 1.9.1
      nftables: Package python scripts into nonarch libdir
      mercurial: Add python scripts into separate python package
      fluentbit: Fix packaging in multilib env
      dcadec: Define BASELIB as a knob
      dbus-broker: Use nonarch_libdir for systemd catalog files
      websocketapp: Fix multilib build
      ade: Fix install paths in multilib builds
      thrift: Upgrade to 0.13
      gattlib: Update to latest tip
      rygel: Use nonarch_libdir for systemd units
      firewalld: Package firewalld files
      iwd: Package module conf files via nonarch_libdir
      civetweb: Upgrade to latest tip
      ruli: Define OOP_LIB_DIR and INSTALL_LIB_DIR
      liblightmodbus: Fix packaging errors when using multilib
      ostree: Fix packaging errors when using lib64 libdir
      boinc-client: Use nonarch_libdir for systemd_units
      spirv-tools: Fix multilib builds
      pam-plugin-ldapdb: Include <stdexcept> for std::invalid_argument
      dvb-apps: Replace stime with clock_settime
      redis: Upgrade to 5.0.7
      cannelloni: Include stdexcept for runtime_error
      libubox: Update to latest
      upm: Fix 'may be used uninitialized' errors
      memcached: upgrade to 1.5.20
      ltrace: Fix build with gcc10
      mpd: Fix build with gcc10
      wvstreams: Fix build with gcc10
      tvheadend: Fix format-truncation warnings
      open-vm-tools: Ignore -Warray-bounds
      jsoncpp: Upgrade to 1.9.2
      ippool: Fix strncpy -Wformat-truncation warning
      opensc: Fix misaligned indentation
      glm: Upgrade to 0.9.9.6
      rocksdb: Upgrade to 6.5.2
      mariadb: Upgrade to 10.4.11
      ruli: Fix implicit conversion from 'unsigned int' to 'float'
      glfw: Update to latest
      fluentbit: Upgrade to 1.3.5
      renderdoc: Upgrade to 1.5
      spirv-tools: Upgrade to v2019.5
      upm: Disable -Wno-misleading-indentation with clang10+
      libyui: Disable Warnings as errors
      sanlock: Upgrade to 3.8.0+
      udisks2: Updare to latest master beyond 2.8.4
      netcat: Fix build with gettext 0.20.x
      gtkperf: Fix build with latest gettext 0.20.x
      hddtemp: Fix build with latest gettext 0.20.x
      vorbis-tools: Use external gettext
      rwmem: Upgrade to latest
      wireshark: Enable plugins when enabling qt5
      python3-jsonrpcserver: Use PYTHON_BASEVERSION instead of hardcoding py version
      smbnetfs: Update to latest 0.6.2 rev
      makedumpfile: Drop linking with libebl
      cmpi-bindings: append PYTHON_ABI suffix to libpython soname
      websocketpp: Fix clang specific flags in cmake files
      rocksdb: Disable Werror
      spirv-tools: Disable Werror
      libspatialite: Workaround proj_api.h deprecation in proj 6.0.0
      zbar: Switch to github and update to latest
      gstd: Upgrade to 0.8.1
      gst-shark: Upgrade to 0.6.1

Laurent Bonnans (1):
      opensc: fix RDEPENDS in pcsc PACKAGECONFIG

Leon Anavi (1):
      mosquitto: update to 1.6.8

Martin Jansa (2):
      googletest: fix build with newer oe-core without python in HOSTTOOLS
      proj: upgrade to 6.2.0

Max Krummenacher (1):
      libsoc: use python3 for python bindings

Maxime Roussin-Bélanger (1):
      libvncserver: add missing cmake configration option to packageconfig

Mingde (Matthew) Zeng (1):
      poppler/poppler-data: Add HOMEPAGE tags

Nicola Lunghi (1):
      python3-jsonrpcserver: update to 4.1.2

Pau Espin Pedrol (1):
      lksctp-tools: Add RRECOMENDS kernel-module-sctp for pkg lksctp-tools

Peter Kolbus (9):
      python(3)-ujson: extend to native(sdk)
      python-ipaddress: remove unneeded pip dependency
      python3-html2text: add recipe
      python(3)-beautifulsoup4: fix RDEPENDS
      python3-soupsieve: add recipe
      python-soupsieve: add recipe
      python(3)-beautifulsoup4: add soupsieve to RDEPENDS
      python3-booleanpy: add recipe
      python3-license-expression: add recipe

Pierre-Jean Texier (3):
      libssh2: add nativesdk support
      python3-xmltodict: add recipe
      libmxml: upgrade 3.0 -> 3.1

Quanyang Wang (1):
      glog: fix do_fetch error

Randy MacLeod (3):
      imagemagick: update from 7.8.47 to 7.9.16
      tigervnc: update from 1.9.0 to 1.10.1
      rsyslog: update from 8.1910 to 8.1911

Robert Yang (1):
      rocksdb: Fix compile error for DEBUG_BUILD

Ross Burton (11):
      python-jsonpointer: enable native/nativesdk
      python3-pystemd: upgrade to 0.7.0
      python-slip-dbus: don't use relative paths
      python-m2crypto: don't use relative paths
      python-coloredlogs: don't use relative paths
      python-lxml: remove redundant sed (fixed in 4.3.0 onwards)
      python-lxml: remove redundant RDEPENDS_class-native
      opencv: don't download during configure
      opencv: also download face alignment data in do_fetch()
      opencv: PACKAGECONFIG for G-API, use system ADE
      opencv: abort configure if we need to download

Stefan Agner (1):
      Revert "zstd: move recipe to oe-core"

Stefan Lendl (2):
      tinyproxy: Install a default tinyproxy.conf
      tinyproxy: Fix user and group in tinyproxy install

Sumit Garg (1):
      mariadb: fix library LZ4 lookup

Todd Cunningham (2):
      libnftnl: upgrade 1.1.4 -> 1.1.5
      nftables: upgrade 0.9.2 -> 0.9.3

Trevor Gamblin (4):
      python-twisted: add python3-pyserial to RDEPENDS
      python-twisted: add missing RDEPENDS for conch
      samba: disable guest access and anonymous queries
      python3-twisted: fix broken MemoryReactor import

Wang Mingyu (66):
      python-cmd2: upgrade 0.9.19 -> 0.9.21
      python-pluggy: upgrade 0.13.0 -> 0.13.1
      python-pyasn1: upgrade 0.4.7 -> 0.4.8
      python-pyopenssl: upgrade 19.0.0 -> 19.1.0
      python-simplejson: upgrade 3.16.0 -> 3.17.0
      python-thrift: upgrade 0.11.0 -> 0.13.0
      python-alembic: upgrade 1.3.0 -> 1.3.1
      python-dbus: upgrade 1.2.12 -> 1.2.14
      python-pbr: upgrade 5.4.3 -> 5.4.4
      python-paste: 3.2.2 -> 3.2.3
      python-lxml: 4.4.1 -> 4.4.2
      postgresql: 12.0 -> 12.1
      python-jsonschema: 3.1.1 -> 3.2.0
      python-pytest: upgrade 5.2.2 -> 5.3.1
      xterm: upgrade 350 -> 351
      wireshark: upgrade 3.0.6 -> 3.0.7
      python3-xxhash: upgrade 1.4.2 -> 1.4.3
      fuse3: upgrade 3.8.0 -> 3.9.0
      kea: upgrade 1.7.0 -> 1.7.2
      krb5: upgrade 1.17 -> 1.17.1
      hwdata: upgrade 0.329 -> 0.330
      python-pytest: upgrade 5.2.1 -> 5.3.2
      python-waitress: upgrade 1.3.1 -> 1.4.1
      python-cachetools: upgrade 3.1.1 -> 4.0.0
      python-sqlalchemy: upgrade 1.1.17 -> 1.3.12
      strongswan: upgrade 5.8.1 -> 5.8.2
      smartmontools: upgrade 7.0 -> 7.1
      spitools: upgrade 0.8.3 -> 0.8.4
      python-pyyaml: upgrade 5.1.2 -> 5.2
      arno-iptables-firewall: upgrade 2.0.3 -> 2.1.0
      ipvsadm: upgrade 1.30 -> 1.31
      lftp: upgrade 4.8.4 -> 4.9.0
      nghttp2: upgrade 1.39.2 -> 1.40.0
      opensaf: upgrade 5.19.07 -> 5.19.10
      wolfssl: upgrade 4.2.0 -> 4.3.0
      kea: upgrade 1.7.2 -> 1.7.3
      wireshark: upgrade 3.0.7 -> 3.2.0
      botan: upgrade 2.11.0 -> 2.13.0
      cppzmq: upgrade 4.4.1 -> 4.5.0
      iozone3: upgrade 487 -> 488
      libmbim: upgrade 1.20.2 -> 1.20.4
      libnfc: upgrade to 1.7.1
      libsigc++-2.0: upgrade 3.0.0 -> 3.0.2
      libuv: upgrade 1.33.1 -> 1.34.0
      phoronix-test-suite: upgrade 9.0.1 -> 9.2.1
      rabbitmq-c: upgrade 0.9.0 -> 0.10.0
      cscope: upgrade 15.8b -> 15.9
      msgpack-c: upgrade 3.1.1 -> 3.2.1
      gnuplot: upgrade 5.2.2 -> 5.2.8
      gphoto2: upgrade 2.5.14 -> 2.5.23
      gtkwave: upgrade 3.3.102 -> 3.3.103
      haveged: upgrade 1.9.6 -> 1.9.8
      libgphoto2: upgrade 2.5.17 -> 2.5.23
      libplist: upgrade 2.0.0 -> 2.1.0
      ipmiutil: upgrade 3.0.5 -> 3.1.5
      libburn: upgrade 1.5.0 -> 1.5.2
      libdvdread: upgrade 6.0.1 -> 6.0.2
      libsdl2-image: upgrade 2.0.3 -> 2.0.5
      libsdl2-mixer: upgrade 2.0.2 -> 2.0.4
      libsdl2-ttf: upgrade 2.0.14 -> 2.0.15
      yad: upgrade 4.1 -> 5.0
      python3-astor: 0.8 -> 0.8.1
      python3-bandit: 1.5.1 -> 1.6.2
      python-asn1crypto: 1.2.0 -> 1.3.0
      python-bitarray: 1.2.0 -> 1.2.1
      python-pyconnman: 0.1.0 -> 0.2.0

William A. Kennington III via Openembedded-devel (1):
      stunnel: bump to version 5.56

Yi Zhao (4):
      phpmyadmin: upgrade 4.9.1 -> 4.9.2
      tk: upgrade 8.6.9 -> 8.6.10
      ntp: restrict NTP mode 6 queries
      samba: upgrade 4.10.10 -> 4.10.11

Yongxin Liu (1):
      ndctl: Upgrade to v67

Zang Ruochen (17):
      python-alembic: upgrade 1.3.1 -> 1.3.2
      python-beautifulsoup4: upgrade 4.8.1 -> 4.8.2
      python-bitarray: upgrade 1.1.0 -> 1.2.0
      python-certifi: upgrade 2019.9.11 -> 2019.11.28
      python-cmd2: upgrade 0.9.21 -> 0.9.22
      python-engineio: upgrade 3.10.0 -> 3.11.1
      python-parse: upgrade 1.12.1 -> 1.14.0
      python-passlib: upgrade 1.7.1 -> 1.7.2
      python-pexpect: upgrade 4.6.0 -> 4.7.0
      python-psutil: upgrade 5.6.5 -> 5.6.7
      python-py: upgrade 1.8.0 -> 1.8.1
      python-pycryptodome: upgrade 3.9.3 -> 3.9.4
      python-pymisp: upgrade 2.4.117.2 -> 2.4.119.1
      python-pymongo: upgrade 3.9.0 -> 3.10.0
      python-pyparsing: upgrade 2.4.5 -> 2.4.6
      python-pyperf: upgrade 1.6.1 -> 1.7.0
      python-backports-functools-lru-cache: Add python3 version

Zhixiong Chi (1):
      dnsmasq: CVE-2019-14834

hmenn (1):
      add sqlite-orm v1.5

madhavank27 (1):
      Added bb file for libcamera integration

sangelovic (1):
      sdbus-c++: Introduce recipes for sdbus-c++ library and its tools

Change-Id: I5e7559de35d61167e234161ffb768f6f95d30f41
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
index 96aa311..65fd89e 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
@@ -21,7 +21,8 @@
            file://use-PTHREAD_MUTEX_RECURSIVE.patch \
            file://fix-client-gfx_state-initialisation.patch \
            file://fix-tslib-version-check.patch \
-          "
+           file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+           "
 
 S = "${WORKDIR}/DirectFB-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 0000000..2f76646
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,139 @@
+From 0b66557f2e924023b12006b58d8e86149c745aed Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 20:34:33 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ inputdrivers/linux_input/linux_input.c | 36 ++++++++++++++++++--------
+ 1 file changed, 25 insertions(+), 11 deletions(-)
+
+diff --git a/inputdrivers/linux_input/linux_input.c b/inputdrivers/linux_input/linux_input.c
+index 7e9a6ad..03deebc 100644
+--- a/inputdrivers/linux_input/linux_input.c
++++ b/inputdrivers/linux_input/linux_input.c
+@@ -42,6 +42,11 @@ typedef unsigned long kernel_ulong_t;
+ 
+ #include <linux/input.h>
+ 
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #ifndef KEY_OK
+ /* Linux kernel 2.5.42+ defines additional keys in linux/input.h */
+ #include "input_fake.h"
+@@ -754,7 +759,8 @@ translate_event( const LinuxInputData     *data,
+                  DFBInputEvent            *devt )
+ {
+      devt->flags     = DIEF_TIMESTAMP;
+-     devt->timestamp = levt->time;
++     devt->timestamp.tv_sec = levt->input_event_sec;
++     devt->timestamp.tv_usec = levt->input_event_usec;
+ 
+      switch (levt->type) {
+           case EV_KEY:
+@@ -2139,7 +2145,8 @@ touchpad_translate( struct touchpad_fsm_state *state,
+      int abs, rel;
+ 
+      devt->flags     = DIEF_TIMESTAMP | (dfb_config->linux_input_touch_abs ? DIEF_AXISABS : DIEF_AXISREL);
+-     devt->timestamp = levt->time;
++     devt->timestamp.tv_sec = levt->input_event_sec;
++     devt->timestamp.tv_usec = levt->input_event_usec;
+      devt->type      = DIET_AXISMOTION;
+ 
+      switch (levt->code) {
+@@ -2204,7 +2211,7 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+               DFBInputEvent             *devt )
+ {
+      struct timeval timeout = { 0, 125000 };
+-
++     struct timeval tval;
+      /* select() timeout? */
+      if (!levt) {
+           /* Check if button release is due. */
+@@ -2223,6 +2230,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+           return 0;
+      }
+ 
++     tval.tv_sec = levt->input_event_sec;
++     tval.tv_usec = levt->input_event_usec;
+      /* More or less ignore these events for now */
+      if ((levt->type == EV_SYN && levt->code == SYN_REPORT) ||
+          (levt->type == EV_ABS && levt->code == ABS_PRESSURE) ||
+@@ -2233,7 +2242,7 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+ 
+           /* Check if button release is due. */
+           if (state->fsm_state == TOUCHPAD_FSM_DRAG_START &&
+-              timeout_passed( &state->timeout, &levt->time )) {
++              timeout_passed( &state->timeout, &tval )) {
+                devt->flags     = DIEF_TIMESTAMP;
+                devt->timestamp = state->timeout; /* timeout of levt->time? */
+                devt->type      = DIET_BUTTONRELEASE;
+@@ -2255,7 +2264,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+      case TOUCHPAD_FSM_START:
+           if (touchpad_finger_landing( levt )) {
+                state->fsm_state = TOUCHPAD_FSM_MAIN;
+-               state->timeout = levt->time;
++               state->timeout.tv_sec = levt->input_event_sec;
++               state->timeout.tv_usec = levt->input_event_usec;
+                timeout_add( &state->timeout, &timeout );
+           }
+           return 0;
+@@ -2268,15 +2278,17 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+                }
+           }
+           else if (touchpad_finger_leaving( levt )) {
+-               if (!timeout_passed( &state->timeout, &levt->time )) {
++               if (!timeout_passed( &state->timeout, &tval )) {
+                     devt->flags     = DIEF_TIMESTAMP;
+-                    devt->timestamp = levt->time;
++                    devt->timestamp.tv_sec = levt->input_event_sec;
++                    devt->timestamp.tv_usec = levt->input_event_usec;
+                     devt->type      = DIET_BUTTONPRESS;
+                     devt->button    = DIBI_FIRST;
+ 
+                     touchpad_fsm_init( state );
+                     state->fsm_state = TOUCHPAD_FSM_DRAG_START;
+-                    state->timeout = levt->time;
++                    state->timeout.tv_sec = levt->input_event_sec;
++                    state->timeout.tv_usec = levt->input_event_usec;
+                     timeout_add( &state->timeout, &timeout );
+                     return 1;
+                }
+@@ -2287,7 +2299,7 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+           return 0;
+ 
+      case TOUCHPAD_FSM_DRAG_START:
+-          if (timeout_passed( &state->timeout, &levt->time )){
++          if (timeout_passed( &state->timeout, &tval )){
+                devt->flags     = DIEF_TIMESTAMP;
+                devt->timestamp = state->timeout; /* timeout of levt->time? */
+                devt->type      = DIET_BUTTONRELEASE;
+@@ -2299,7 +2311,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+           else {
+                if (touchpad_finger_landing( levt )) {
+                     state->fsm_state = TOUCHPAD_FSM_DRAG_MAIN;
+-                    state->timeout = levt->time;
++                    state->timeout.tv_sec = levt->input_event_sec;
++                    state->timeout.tv_usec = levt->input_event_usec;
+                     timeout_add( &state->timeout, &timeout );
+                }
+           }
+@@ -2314,7 +2327,8 @@ touchpad_fsm( struct touchpad_fsm_state *state,
+           }
+           else if (touchpad_finger_leaving( levt )) {
+                devt->flags     = DIEF_TIMESTAMP;
+-               devt->timestamp = levt->time;
++               devt->timestamp.tv_sec = levt->input_event_sec;
++               devt->timestamp.tv_usec = levt->input_event_usec;
+                devt->type      = DIET_BUTTONRELEASE;
+                devt->button    = DIBI_FIRST;
+ 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
index e81d395..50003e3 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
@@ -10,10 +10,6 @@
 most definitely is not.  It is accomplished by trying to execute
 a program, which does not work when cross compiling.
 
-The fvwm(1) man page is created from Docbook XML which is set for
-a Windows code page that is not available when compiling.  Easiest is
-to just not create the man page as those are not needed on the monitor.
-
 Upstream-Status: inappropriate [OE specific]
 Signed-off-by: Jarmo Jaakkola <jarmo.jaakkola@vincit.fi>
 Signed-off-by: Riku Hämäläinen <riku.hamalainen@ge.com>
@@ -36,19 +32,6 @@
  AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF],
  [#ifdef COMPAT_OLD_KEYSYMDEF
  #  define XK_Page_Up   XK_Prior
-diff --git a/doc/fvwm/Makefile.am b/doc/fvwm/Makefile.am
-index cddb102..ff00149 100755
---- a/doc/fvwm/Makefile.am
-+++ b/doc/fvwm/Makefile.am
-@@ -10,7 +10,7 @@ XSL_PROFILE = $(srcdir)/../docbook-xsl/profiling/profile.xsl
- HTML_FILES = fvwm.man.html
- XML_FILES = @DOC_SECTIONS_XML_PATH@
- EXTRA_DIST = @DOC_SECTIONS_XML@ $(man_MANS) sections
--man_MANS = fvwm.1
-+man_MANS =
- 
- if FVWM_BUILD_HTMLDOC
- doc_DATA = $(HTML_FILES)
 -- 
 1.9.1
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.8.bb b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.8.bb
rename to meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb
index b3cb01a..d1ba482 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.8.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb
@@ -31,14 +31,12 @@
     zlib \
 "
 
-PV = "2.6.8"
-
 SRC_URI = " \
     git://github.com/fvwmorg/fvwm.git;protocol=https \
     file://0001-Fix-compilation-for-disabled-gnome.patch \
 "
 
-SRCREV = "dc6a396bfe5cd6c53eb1df103c3af505d0899f90"
+SRCREV = "88eab6dc16da6e5dd25fe97fbb56b96ef0d58657"
 
 S = "${WORKDIR}/git"
 
@@ -55,7 +53,6 @@
     --disable-fontconfigtest \
     --disable-htmldoc \
     --disable-imlibtest \
-    --disable-mandoc \
     --disable-nls \
     --disable-perllib \
     --disable-rsvg \
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch
new file mode 100644
index 0000000..2eb50a5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch
@@ -0,0 +1,158 @@
+From 461861cd2e34294830b121db834c05ff39424f6f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 27 Dec 2019 18:42:51 -0800
+Subject: [PATCH] Fix Wimplicit-int-float-conversion warnings with clang 10+
+
+This is a new warning in clang which will be available in clang 10
+onwards
+
+Fixes
+error: implicit conversion from 'const int' to 'float' may lose precision [-Werror,-Wimplicit-int-float-conversion]
+
+Upstream-Status: Submitted [https://github.com/g-truc/glm/pull/986]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ glm/gtx/scalar_multiplication.hpp  |  2 +-
+ test/gtx/gtx_fast_trigonometry.cpp | 32 +++++++++++++++---------------
+ 2 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/glm/gtx/scalar_multiplication.hpp b/glm/gtx/scalar_multiplication.hpp
+index f391f8de..496ba193 100644
+--- a/glm/gtx/scalar_multiplication.hpp
++++ b/glm/gtx/scalar_multiplication.hpp
+@@ -54,7 +54,7 @@ namespace glm
+ 	template<typename T> \
+ 	return_type_scalar_multiplication<T, Vec> \
+ 	operator/(Vec lh, T const& s){ \
+-		return lh *= 1.0f / s; \
++		return lh *= 1.0f / static_cast<float>(s); \
+ 	}
+ 
+ GLM_IMPLEMENT_SCAL_MULT(vec2)
+diff --git a/test/gtx/gtx_fast_trigonometry.cpp b/test/gtx/gtx_fast_trigonometry.cpp
+index f3bf17bf..f3c4e957 100644
+--- a/test/gtx/gtx_fast_trigonometry.cpp
++++ b/test/gtx/gtx_fast_trigonometry.cpp
+@@ -239,12 +239,12 @@ namespace taylorCos
+ 		std::vector<glm::vec4> Results;
+ 		Results.resize(Samples);
+ 
+-		float Steps = (End - Begin) / Samples;
++		float Steps = (End - Begin) / float(Samples);
+ 
+ 		std::clock_t const TimeStampBegin = std::clock();
+ 
+ 		for(std::size_t i = 0; i < Samples; ++i)
+-			Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * i));
++			Results[i] = fastCosNew(AngleShift + glm::vec4(Begin + Steps * float(i)));
+ 
+ 		std::clock_t const TimeStampEnd = std::clock();
+ 
+@@ -280,12 +280,12 @@ namespace taylorCos
+ 		std::vector<glm::vec4> Results;
+ 		Results.resize(Samples);
+ 
+-		float Steps = (End - Begin) / Samples;
++		float Steps = (End - Begin) / float(Samples);
+ 
+ 		std::clock_t const TimeStampBegin = std::clock();
+ 
+ 		for(std::size_t i = 0; i < Samples; ++i)
+-			Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * i));
++			Results[i] = taylorCos::fastCosDeterminisctic(AngleShift + glm::vec4(Begin + Steps * float(i)));
+ 
+ 		std::clock_t const TimeStampEnd = std::clock();
+ 
+@@ -327,12 +327,12 @@ namespace taylorCos
+ 		std::vector<glm::vec4> Results;
+ 		Results.resize(Samples);
+ 
+-		float Steps = (End - Begin) / Samples;
++		float Steps = (End - Begin) / float(Samples);
+ 
+ 		std::clock_t const TimeStampBegin = std::clock();
+ 
+ 		for(std::size_t i = 0; i < Samples; ++i)
+-			Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * i));
++			Results[i] = taylorCos::fastRefCos(AngleShift + glm::vec4(Begin + Steps * float(i)));
+ 
+ 		std::clock_t const TimeStampEnd = std::clock();
+ 
+@@ -349,12 +349,12 @@ namespace taylorCos
+ 		std::vector<glm::vec4> Results;
+ 		Results.resize(Samples);
+ 
+-		float Steps = (End - Begin) / Samples;
++		float Steps = (End - Begin) / float(Samples);
+ 
+ 		std::clock_t const TimeStampBegin = std::clock();
+ 
+ 		for(std::size_t i = 0; i < Samples; ++i)
+-			Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * i));
++			Results[i] = glm::fastCos(AngleShift + glm::vec4(Begin + Steps * float(i)));
+ 
+ 		std::clock_t const TimeStampEnd = std::clock();
+ 
+@@ -371,12 +371,12 @@ namespace taylorCos
+ 		std::vector<glm::vec4> Results;
+ 		Results.resize(Samples);
+ 
+-		float Steps = (End - Begin) / Samples;
++		float Steps = (End - Begin) / float(Samples);
+ 
+ 		std::clock_t const TimeStampBegin = std::clock();
+ 
+ 		for(std::size_t i = 0; i < Samples; ++i)
+-			Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * i));
++			Results[i] = glm::cos(AngleShift + glm::vec4(Begin + Steps * float(i)));
+ 
+ 		std::clock_t const TimeStampEnd = std::clock();
+ 
+@@ -466,12 +466,12 @@ namespace taylor2
+ 		std::vector<float> Results;
+ 		Results.resize(Samples);
+ 
+-		float Steps = (End - Begin) / Samples;
++		float Steps = (End - Begin) / float(Samples);
+ 
+ 		std::clock_t const TimeStampBegin = std::clock();
+ 
+ 		for(std::size_t i = 0; i < Samples; ++i)
+-			Results[i] = taylorCosA(AngleShift.x + Begin + Steps * i);
++			Results[i] = taylorCosA(AngleShift.x + Begin + Steps * float(i));
+ 
+ 		std::clock_t const TimeStampEnd = std::clock();
+ 
+@@ -488,12 +488,12 @@ namespace taylor2
+ 		std::vector<float> Results;
+ 		Results.resize(Samples);
+ 
+-		float Steps = (End - Begin) / Samples;
++		float Steps = (End - Begin) / float(Samples);
+ 
+ 		std::clock_t const TimeStampBegin = std::clock();
+ 
+ 		for(std::size_t i = 0; i < Samples; ++i)
+-			Results[i] = taylorCosB(AngleShift.x + Begin + Steps * i);
++			Results[i] = taylorCosB(AngleShift.x + Begin + Steps * float(i));
+ 
+ 		std::clock_t const TimeStampEnd = std::clock();
+ 
+@@ -510,12 +510,12 @@ namespace taylor2
+ 		std::vector<float> Results;
+ 		Results.resize(Samples);
+ 
+-		float Steps = (End - Begin) / Samples;
++		float Steps = (End - Begin) / float(Samples);
+ 
+ 		std::clock_t const TimeStampBegin = std::clock();
+ 
+ 		for(std::size_t i = 0; i < Samples; ++i)
+-			Results[i] = taylorCosC(AngleShift.x + Begin + Steps * i);
++			Results[i] = taylorCosC(AngleShift.x + Begin + Steps * float(i));
+ 
+ 		std::clock_t const TimeStampEnd = std::clock();
+ 
+-- 
+2.24.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glm.pc.in b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glm.pc.in
new file mode 100644
index 0000000..54052e2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glm.pc.in
@@ -0,0 +1,7 @@
+prefix=/usr
+includedir=${prefix}/include
+
+Name: GLM
+Description: OpenGL Mathematics
+Version: @VERSION@
+Cflags: -I${includedir}
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in
new file mode 100644
index 0000000..8ab23a1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfig.cmake.in
@@ -0,0 +1,20 @@
+set(GLM_VERSION "@VERSION@")
+
+
+####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
+get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
+
+macro(set_and_check _var _file)
+  set(${_var} "${_file}")
+  if(NOT EXISTS "${_file}")
+    message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
+  endif()
+endmacro()
+
+####################################################################################
+
+set_and_check(GLM_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/include")
+
+if (NOT CMAKE_VERSION VERSION_LESS "3.0")
+    include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake")
+endif()
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in
new file mode 100644
index 0000000..561a0db
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmConfigVersion.cmake.in
@@ -0,0 +1,31 @@
+# This is a basic version file for the Config-mode of find_package().
+# It is used by write_basic_package_version_file() as input file for configure_file()
+# to create a version-file which can be installed along a config.cmake file.
+#
+# The created file sets PACKAGE_VERSION_EXACT if the current version string and
+# the requested version string are exactly the same and it sets
+# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
+# The variable CVF_VERSION must be set before calling configure_file().
+
+set(PACKAGE_VERSION "@VERSION@")
+
+if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
+  set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+  set(PACKAGE_VERSION_COMPATIBLE TRUE)
+  if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
+    set(PACKAGE_VERSION_EXACT TRUE)
+  endif()
+endif()
+
+# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
+if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
+   return()
+endif()
+
+# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
+if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
+   math(EXPR installedBits "8 * 8")
+   set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
+   set(PACKAGE_VERSION_UNSUITABLE FALSE)
+endif()
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake
new file mode 100644
index 0000000..905b677
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm/glmTargets.cmake
@@ -0,0 +1,107 @@
+# Generated by CMake
+
+if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
+   message(FATAL_ERROR "CMake >= 2.6.0 required")
+endif()
+cmake_policy(PUSH)
+cmake_policy(VERSION 2.6)
+#----------------------------------------------------------------
+# Generated CMake target import file.
+#----------------------------------------------------------------
+
+# Commands may need to know the format version.
+set(CMAKE_IMPORT_FILE_VERSION 1)
+
+# Protect against multiple inclusion, which would fail when already imported targets are added once more.
+set(_targetsDefined)
+set(_targetsNotDefined)
+set(_expectedTargets)
+foreach(_expectedTarget glm)
+  list(APPEND _expectedTargets ${_expectedTarget})
+  if(NOT TARGET ${_expectedTarget})
+    list(APPEND _targetsNotDefined ${_expectedTarget})
+  endif()
+  if(TARGET ${_expectedTarget})
+    list(APPEND _targetsDefined ${_expectedTarget})
+  endif()
+endforeach()
+if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
+  unset(_targetsDefined)
+  unset(_targetsNotDefined)
+  unset(_expectedTargets)
+  set(CMAKE_IMPORT_FILE_VERSION)
+  cmake_policy(POP)
+  return()
+endif()
+if(NOT "${_targetsDefined}" STREQUAL "")
+  message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
+endif()
+unset(_targetsDefined)
+unset(_targetsNotDefined)
+unset(_expectedTargets)
+
+
+# Compute the installation prefix relative to this file.
+get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+# Use original install prefix when loaded through a
+# cross-prefix symbolic link such as /lib -> /usr/lib.
+get_filename_component(_realCurr "${_IMPORT_PREFIX}" REALPATH)
+get_filename_component(_realOrig "/usr/lib/cmake/glm" REALPATH)
+if(_realCurr STREQUAL _realOrig)
+  set(_IMPORT_PREFIX "/usr/lib/cmake/glm")
+endif()
+unset(_realOrig)
+unset(_realCurr)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+if(_IMPORT_PREFIX STREQUAL "/")
+  set(_IMPORT_PREFIX "")
+endif()
+
+# Create imported target glm
+add_library(glm INTERFACE IMPORTED)
+
+set_target_properties(glm PROPERTIES
+  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
+)
+
+if(CMAKE_VERSION VERSION_LESS 3.0.0)
+  message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
+endif()
+
+# Load information for each installed configuration.
+get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+file(GLOB CONFIG_FILES "${_DIR}/glmTargets-*.cmake")
+foreach(f ${CONFIG_FILES})
+  include(${f})
+endforeach()
+
+# Cleanup temporary variables.
+set(_IMPORT_PREFIX)
+
+# Loop over all imported files and verify that they actually exist
+foreach(target ${_IMPORT_CHECK_TARGETS} )
+  foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
+    if(NOT EXISTS "${file}" )
+      message(FATAL_ERROR "The imported target \"${target}\" references the file
+   \"${file}\"
+but this file does not exist.  Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+   \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+    endif()
+  endforeach()
+  unset(_IMPORT_CHECK_FILES_FOR_${target})
+endforeach()
+unset(_IMPORT_CHECK_TARGETS)
+
+# This file does not depend on other imported targets which have
+# been exported from the same project but in a separate export set.
+
+# Commands beyond this point should not need to know the version.
+set(CMAKE_IMPORT_FILE_VERSION)
+cmake_policy(POP)
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.5.bb b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.5.bb
deleted file mode 100644
index f367e4e..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.5.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "OpenGL Mathematics Library"
-DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \
-mathematics library for graphics software based on the OpenGL \
-Shading Language (GLSL) specifications."
-HOMEPAGE = "https://glm.g-truc.net"
-BUGTRACKER = "https://github.com/g-truc/glm/issues"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://readme.md;beginline=21;endline=22;md5=3075b5727d36f29edccf97b93e72b790"
-
-SRC_URI = " \
-    git://github.com/g-truc/glm;branch=master \
-"
-# v0.9.9.5
-SRCREV = "d162eee1e6f7c317a09229fe6ceab8ec6ab9a4b4"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb
new file mode 100644
index 0000000..e2f4dbe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9.6.bb
@@ -0,0 +1,39 @@
+SUMMARY = "OpenGL Mathematics Library"
+DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \
+mathematics library for graphics software based on the OpenGL \
+Shading Language (GLSL) specifications."
+HOMEPAGE = "https://glm.g-truc.net"
+BUGTRACKER = "https://github.com/g-truc/glm/issues"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://copying.txt;md5=4a735e33f271f57404fda17e80085411"
+
+SRC_URI = " \
+    git://github.com/g-truc/glm;branch=master \
+    file://0001-Fix-Wimplicit-int-float-conversion-warnings-with-cla.patch \
+    file://glmConfig.cmake.in \
+    file://glmConfigVersion.cmake.in \
+    file://glm.pc.in \
+    file://glmTargets.cmake \
+"
+SRCREV = "4db8f89aace8f04c839b606e15b39fb8383ec732"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+do_install() {
+    install -d ${D}${includedir} ${D}${docdir}/glm ${D}${libdir}/pkgconfig ${D}${libdir}/cmake/glm
+    cp -R --no-dereference --preserve=mode,links ${S}/glm ${D}${includedir}
+    cp -R --no-dereference --preserve=mode,links ${S}/doc ${D}${docdir}/glm
+    rm ${D}${includedir}/glm/CMakeLists.txt
+    sed "s/@VERSION@/${PV}/" ${WORKDIR}/glmConfigVersion.cmake.in > ${D}${libdir}/cmake/glm/glmConfigVersion.cmake
+    sed "s/@VERSION@/${PV}/" ${WORKDIR}/glmConfig.cmake.in > ${D}${libdir}/cmake/glm/glmConfig.cmake
+    sed "s/@VERSION@/${PV}/" ${WORKDIR}/glm.pc.in > ${D}${libdir}/pkgconfig/glm.pc
+    install -Dm644 ${WORKDIR}/glmTargets.cmake ${D}${libdir}/cmake/glm/glmTargets.cmake
+
+}
+
+RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.23.bb
similarity index 79%
rename from meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb
rename to meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.23.bb
index 75ad7f4..ef3100f 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.23.bb
@@ -11,8 +11,8 @@
            file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \
 "
 
-SRC_URI[gphoto2.md5sum] = "6c6a21b5e879330cdd71ef92dce36399"
-SRC_URI[gphoto2.sha256sum] = "9302d02fb472d4936988382b7277ccdc4edaf7ede56c490278912ffd0627699c"
+SRC_URI[gphoto2.md5sum] = "0abd5ae8315109ae66bf06ac37902678"
+SRC_URI[gphoto2.sha256sum] = "df87092100e7766c9d0a4323217c91908a9c891c0d3670ebf40b76903be458d1"
 
 inherit autotools pkgconfig gettext
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.23.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb
rename to meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.23.bb
index 623037b..a3bdf9c 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.17.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.23.bb
@@ -14,8 +14,8 @@
            file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
 "
 
-SRC_URI[libgphoto2.md5sum] = "ae78e7a7936a6962c3a22b256bee1869"
-SRC_URI[libgphoto2.sha256sum] = "417464f0a313fa937e8a71cdf18a371cf01e750830195cd63ae31da0d092b555"
+SRC_URI[libgphoto2.md5sum] = "bf052ce815e607dc781c5b0f3c5ca5c0"
+SRC_URI[libgphoto2.sha256sum] = "d8af23364aa40fd8607f7e073df74e7ace05582f4ba13f1724d12d3c97e8852d"
 
 inherit autotools pkgconfig gettext lib_package
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch
new file mode 100644
index 0000000..4a727d3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/gettext.patch
@@ -0,0 +1,36 @@
+Fix build with gettext 0.20.x
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -3,7 +3,7 @@
+ ## If you don't want it to overwrite it,
+ ## 	Please disable it in the Anjuta project configuration
+ 
+-SUBDIRS = intl po src pixmaps
++SUBDIRS = po src pixmaps
+ 
+ gtkperfdocdir = ${prefix}/doc/gtkperf
+ gtkperfdoc_DATA = \
+--- a/configure.in
++++ b/configure.in
+@@ -31,8 +31,7 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GE
+ 
+ dnl Languages which your application supports
+ ALL_LINGUAS=""
+-AM_GNU_GETTEXT
+-AM_GNU_GETTEXT_VERSION(0.10.40)
++AM_GNU_GETTEXT([external])
+ 
+ dnl Set PACKAGE_LOCALE_DIR in config.h.
+ if test "x${prefix}" = "xNONE"; then
+@@ -100,7 +99,6 @@ AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "
+ 
+ AC_OUTPUT([
+ Makefile
+-intl/Makefile
+ po/Makefile.in
+ src/Makefile
+ pixmaps/Makefile
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
index 6fe2582..b4d94ff 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
@@ -7,6 +7,7 @@
            file://Makevars \
            file://0001-Include-stdlib.h-for-exit-API.patch \
            file://0002-timing.c-Fix-format-security-errors.patch \
+           file://gettext.patch \
            "
 
 SRC_URI[md5sum] = "4331dde4bb83865e15482885fcb0cc53"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.102.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.103.bb
similarity index 85%
rename from meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.102.bb
rename to meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.103.bb
index cd3b662..286d9aa 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.102.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.103.bb
@@ -7,8 +7,8 @@
 
 SRC_URI = "http://gtkwave.sourceforge.net/${BP}.tar.gz"
 
-SRC_URI[md5sum] = "13da7d4235d4031fde52971830458850"
-SRC_URI[sha256sum] = "80bb7cb92db45872209f4ca48fc95a0460e0d89b0fe0c310c836d9b04c77fec7"
+SRC_URI[md5sum] = "5a9a5913f9a02a333b2b23626f153fd7"
+SRC_URI[sha256sum] = "c325abf7cf26c53309a67c0ecaaf196774fa982a717a102c599ac8a516eeeaf7"
 
 inherit pkgconfig autotools gettext texinfo
 DEPENDS = "tcl tk gperf-native bzip2 xz pango zlib gtk+ gdk-pixbuf glib-2.0"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb
rename to meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb
index 6deb352..0a346bd 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.3.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb
@@ -2,13 +2,13 @@
 SECTION = "libs"
 
 LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=a855a9eb5507fc556e672080c4b428ca"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=822edb694b20ff16ceef85b27f61c11f"
 
 DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp"
 
 SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz"
-SRC_URI[md5sum] = "c6baf6dfa80fa8a66853661a36a6034e"
-SRC_URI[sha256sum] = "3510c25da735ffcd8ce3b65073150ff4f7f9493b866e85b83738083b556d2368"
+SRC_URI[md5sum] = "f26f3a153360a8f09ed5220ef7b07aea"
+SRC_URI[sha256sum] = "bdd5f6e026682f7d7e1be0b6051b209da2f402a2dd8bd1c4bd9c25ad263108d0"
 
 S = "${WORKDIR}/SDL2_image-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
similarity index 77%
rename from meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb
rename to meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
index 718f3f5..aa246f9 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
@@ -2,12 +2,12 @@
 SECTION = "libs"
 DEPENDS = "virtual/libsdl2 flac libmikmod libvorbis"
 LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=95e0c3cf63f71b950911e698a54b7fc5"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=516daf7a177ad4c8874bb9efa1a69c1f"
 
 SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${PV}.tar.gz"
 
-SRC_URI[md5sum] = "aaa0551393993c14a13f72b339c0ed6c"
-SRC_URI[sha256sum] = "4e615e27efca4f439df9af6aa2c6de84150d17cbfd12174b54868c12f19c83bb"
+SRC_URI[md5sum] = "a36e8410cac46b00a4d01752b32c3eb1"
+SRC_URI[sha256sum] = "b4cf5a382c061cd75081cf246c2aa2f9df8db04bdda8dcdc6b6cca55bede2419"
 
 S = "${WORKDIR}/SDL2_mixer-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch
deleted file mode 100644
index 1dfbec6..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/use.pkg-config.for.freetype2.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From e6d2c0e130811c15b5f5cc10221fae182cb8609e Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Thu, 22 May 2014 10:59:33 +0100
-Subject: [PATCH] freetype-config was removed from oe-core in
-
-commit 5870bd272b0b077d0826fb900b251884c1c05061
-
-    binconfig-disabled: Add class and use
-
----
- configure.in | 38 +++++---------------------------------
- 1 file changed, 5 insertions(+), 33 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 9b36e15..f300cae 100644
---- a/configure.in
-+++ b/configure.in
-@@ -86,39 +86,11 @@ case "$host" in
- esac
- AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue)
- 
--dnl Check for the FreeType 2 library
--dnl
--dnl Get the cflags and libraries from the freetype-config script
--dnl
--AC_ARG_WITH(freetype-prefix,[  --with-freetype-prefix=PFX   Prefix where FREETYPE is 
--installed (optional)],
--            freetype_prefix="$withval", freetype_prefix="")
--AC_ARG_WITH(freetype-exec-prefix,[  --with-freetype-exec-prefix=PFX Exec prefix 
--where FREETYPE is installed (optional)],
--            freetype_exec_prefix="$withval", freetype_exec_prefix="")
--
--if test x$freetype_exec_prefix != x ; then
--     freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix"
--     if test x${FREETYPE_CONFIG+set} != xset ; then
--        FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config
--     fi
--fi
--if test x$freetype_prefix != x ; then
--     freetype_args="$freetype_args --prefix=$freetype_prefix"
--     if test x${FREETYPE_CONFIG+set} != xset ; then
--        FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config
--     fi
--fi
--AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
--no_freetype=""
--if test "$FREETYPE_CONFIG" = "no" ; then
--    AC_MSG_ERROR([
--*** Unable to find FreeType2 library (http://www.freetype.org/)
--])
--else
--    CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`"
--    LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`"
--fi
-+PKG_CHECK_MODULES(FREETYPE2, freetype2, 
-+    CFLAGS="$CFLAGS $FREETYPE2_CFLAGS"
-+    LIBS="$LIBS $FREETYPE2_LIBS",
-+    AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)])
-+)
- 
- dnl Check for SDL
- SDL_VERSION=2.0.0
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb
similarity index 71%
rename from meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb
rename to meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb
index 6224ad3..7d896cf 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.14.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb
@@ -2,15 +2,14 @@
 SECTION = "libs"
 DEPENDS = "virtual/libsdl2 freetype virtual/libgl"
 LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=cb33e7c4df9fbde389f149ad6bc93ce5"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=4bb27d550fdafcd8f8e4fb8cbb2775ef"
 
 SRC_URI = " \
     http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-${PV}.tar.gz \
-    file://use.pkg-config.for.freetype2.patch \
     file://automake_foreign.patch \
 "
-SRC_URI[md5sum] = "e53c05e1e7f1382c316afd6c763388b1"
-SRC_URI[sha256sum] = "34db5e20bcf64e7071fe9ae25acaa7d72bdc4f11ab3ce59acc768ab62fe39276"
+SRC_URI[md5sum] = "04fe06ff7623d7bdcb704e82f5f88391"
+SRC_URI[sha256sum] = "a9eceb1ad88c1f1545cd7bd28e7cbc0b2c14191d40238f531a15b01b1b22cd33"
 
 S = "${WORKDIR}/SDL2_ttf-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb
index 4e4acb8..22fc83a 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb
@@ -6,23 +6,38 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
 
 PACKAGECONFIG ??= " \
+    24bpp \
+    filetransfer \
+    ${@bb.utils.contains('LICENSE_FLAGS_WHITELIST','commercial','ffmpeg','',d)} \
     gcrypt \
     gnutls \
     jpeg \
     lzo \
     png \
+    pthread \
     ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '',d)} \
+    sasl \
     sdl \
+    websockets \
     zlib \
 "
+
+PACKAGECONFIG[24bpp] = "-DWITH_24BPP=ON,-DWITH_24BPP=OFF,"
+PACKAGECONFIG[filetransfer] = "-DWITH_TIGHTVNC_FILETRANSFER=ON,-DWITH_TIGHTVNC_FILETRANSFER=OFF,"
+PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,ffmpeg,ffmpeg"
 PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=ON,-DWITH_GCRYPT=OFF,libgcrypt,libgcrypt"
 PACKAGECONFIG[gnutls] = "-DWITH_GNUTLS=ON,-DWITH_GNUTLS=OFF,gnutls"
 PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg"
+PACKAGECONFIG[ipv6] = "-DWITH_IPv6=ON,-DWITH_IPv6=OFF,"
 PACKAGECONFIG[lzo] = "-DWITH_LZO=ON,-DWITH_LZO=OFF,lzo"
 PACKAGECONFIG[openssl] = "-DWITH_OPENSSL=ON,-DWITH_OPENSSL=OFF,openssl"
 PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,libpng"
+PACKAGECONFIG[pthread] = "-DWITH_THREADS=ON,-DWITH_THREADS=OFF,"
 PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[sasl] = "-DWITH_SASL=ON,-DWITH_SASL=OFF,cyrus-sasl"
 PACKAGECONFIG[sdl] = "-DWITH_SDL=ON,-DWITH_SDL=OFF,libsdl2"
+PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,"
 PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
 
 PACKAGE_BEFORE_PN = "libvncclient"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
index 4269018..b03723a 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
@@ -65,8 +65,6 @@
  src/YWizard.h             | 2 +-
  47 files changed, 48 insertions(+), 48 deletions(-)
 
-diff --git a/src/YAlignment.h b/src/YAlignment.h
-index d716c77..7276944 100644
 --- a/src/YAlignment.h
 +++ b/src/YAlignment.h
 @@ -28,7 +28,7 @@
@@ -78,8 +76,6 @@
  
  /**
   * Implementation of all the alignment widgets:
-diff --git a/src/YBarGraph.h b/src/YBarGraph.h
-index 29f7f26..d7eaad2 100644
 --- a/src/YBarGraph.h
 +++ b/src/YBarGraph.h
 @@ -29,7 +29,7 @@
@@ -91,8 +87,6 @@
  class YBarGraphSegment;
  
  /**
-diff --git a/src/YBusyIndicator.h b/src/YBusyIndicator.h
-index 9530fa5..75297d8 100644
 --- a/src/YBusyIndicator.h
 +++ b/src/YBusyIndicator.h
 @@ -27,7 +27,7 @@
@@ -104,8 +98,6 @@
  
  
  /**
-diff --git a/src/YButtonBox.h b/src/YButtonBox.h
-index 84f8dbb..ca51f57 100644
 --- a/src/YButtonBox.h
 +++ b/src/YButtonBox.h
 @@ -30,7 +30,7 @@
@@ -126,8 +118,6 @@
  
  protected:
      /**
-diff --git a/src/YCheckBox.h b/src/YCheckBox.h
-index 793cc77..03f3faa 100644
 --- a/src/YCheckBox.h
 +++ b/src/YCheckBox.h
 @@ -30,7 +30,7 @@
@@ -139,8 +129,6 @@
  
  enum YCheckBoxState
  {
-diff --git a/src/YCheckBoxFrame.h b/src/YCheckBoxFrame.h
-index 243f1a0..7017110 100644
 --- a/src/YCheckBoxFrame.h
 +++ b/src/YCheckBoxFrame.h
 @@ -29,7 +29,7 @@
@@ -152,8 +140,6 @@
  
  
  /**
-diff --git a/src/YComboBox.h b/src/YComboBox.h
-index 416359a..ad0e550 100644
 --- a/src/YComboBox.h
 +++ b/src/YComboBox.h
 @@ -27,7 +27,7 @@
@@ -165,8 +151,6 @@
  
  
  /**
-diff --git a/src/YCommandLine.h b/src/YCommandLine.h
-index 70cb4fe..f344a3b 100644
 --- a/src/YCommandLine.h
 +++ b/src/YCommandLine.h
 @@ -28,7 +28,7 @@
@@ -178,8 +162,6 @@
  
  
  /**
-diff --git a/src/YContextMenu.h b/src/YContextMenu.h
-index a4acb1c..1253002 100644
 --- a/src/YContextMenu.h
 +++ b/src/YContextMenu.h
 @@ -29,7 +29,7 @@
@@ -191,8 +173,6 @@
  
  
  /**
-diff --git a/src/YDateField.h b/src/YDateField.h
-index e5a468d..6164fba 100644
 --- a/src/YDateField.h
 +++ b/src/YDateField.h
 @@ -27,7 +27,7 @@
@@ -204,8 +184,6 @@
  
  /**
   * Input field for entering a date.
-diff --git a/src/YDialog.h b/src/YDialog.h
-index 66c25c0..371209b 100644
 --- a/src/YDialog.h
 +++ b/src/YDialog.h
 @@ -32,7 +32,7 @@
@@ -217,8 +195,6 @@
  class YEvent;
  class YEventFilter;
  
-diff --git a/src/YDownloadProgress.h b/src/YDownloadProgress.h
-index c47ec4f..fe09a9d 100644
 --- a/src/YDownloadProgress.h
 +++ b/src/YDownloadProgress.h
 @@ -28,7 +28,7 @@
@@ -230,8 +206,6 @@
  
  /**
   * DownloadProgress: A progress bar that monitors downloading a file by
-diff --git a/src/YDumbTab.h b/src/YDumbTab.h
-index aec17a3..f8fb250 100644
 --- a/src/YDumbTab.h
 +++ b/src/YDumbTab.h
 @@ -27,7 +27,7 @@
@@ -243,8 +217,6 @@
  
  /**
   * DumbTab: A very simple tab widget that can display and switch between a
-diff --git a/src/YEmpty.h b/src/YEmpty.h
-index 9a3cb36..9b88fbc 100644
 --- a/src/YEmpty.h
 +++ b/src/YEmpty.h
 @@ -29,7 +29,7 @@
@@ -256,8 +228,6 @@
  
  /**
   * A widget with zero size, useful as a placeholder.
-diff --git a/src/YEventFilter.h b/src/YEventFilter.h
-index 3dc1803..74aa62d 100644
 --- a/src/YEventFilter.h
 +++ b/src/YEventFilter.h
 @@ -32,7 +32,7 @@
@@ -269,8 +239,6 @@
  
  
  /**
-diff --git a/src/YFrame.h b/src/YFrame.h
-index 111e8ec..4f8c61e 100644
 --- a/src/YFrame.h
 +++ b/src/YFrame.h
 @@ -29,7 +29,7 @@
@@ -282,8 +250,6 @@
  
  
  /**
-diff --git a/src/YGraph.h b/src/YGraph.h
-index d90d1ae..287d800 100644
 --- a/src/YGraph.h
 +++ b/src/YGraph.h
 @@ -37,7 +37,7 @@
@@ -295,8 +261,6 @@
  
  /**
   * A graph with nodes and edges, rendered with Graphviz.
-diff --git a/src/YImage.h b/src/YImage.h
-index 17bea21..84eb674 100644
 --- a/src/YImage.h
 +++ b/src/YImage.h
 @@ -29,7 +29,7 @@
@@ -308,8 +272,6 @@
  
  /**
   * A picture, possibly animated, loaded from a file.
-diff --git a/src/YInputField.h b/src/YInputField.h
-index 70641ce..fa29b42 100644
 --- a/src/YInputField.h
 +++ b/src/YInputField.h
 @@ -28,7 +28,7 @@
@@ -321,8 +283,6 @@
  
  
  
-diff --git a/src/YIntField.h b/src/YIntField.h
-index 9da0537..8ad2949 100644
 --- a/src/YIntField.h
 +++ b/src/YIntField.h
 @@ -27,7 +27,7 @@
@@ -334,8 +294,6 @@
  
  
  
-diff --git a/src/YLabel.h b/src/YLabel.h
-index d2fff61..bf06d8b 100644
 --- a/src/YLabel.h
 +++ b/src/YLabel.h
 @@ -30,7 +30,7 @@
@@ -347,8 +305,6 @@
  
  /**
   * Implementation of the Label, Heading and OutputField widgets
-diff --git a/src/YLayoutBox.h b/src/YLayoutBox.h
-index e652a45..070eaff 100644
 --- a/src/YLayoutBox.h
 +++ b/src/YLayoutBox.h
 @@ -29,7 +29,7 @@
@@ -360,8 +316,6 @@
  
  /**
   * A vertical or horizontal stacking of widgets, implementing HBox and VBox.
-diff --git a/src/YLogView.h b/src/YLogView.h
-index 53fb9ee..5b44229 100644
 --- a/src/YLogView.h
 +++ b/src/YLogView.h
 @@ -27,7 +27,7 @@
@@ -373,8 +327,6 @@
  
  
  /**
-diff --git a/src/YMenuButton.h b/src/YMenuButton.h
-index 205e730..5df7efb 100644
 --- a/src/YMenuButton.h
 +++ b/src/YMenuButton.h
 @@ -29,7 +29,7 @@
@@ -386,8 +338,6 @@
  
  
  /**
-diff --git a/src/YMultiLineEdit.h b/src/YMultiLineEdit.h
-index c52a6ae..1f792f8 100644
 --- a/src/YMultiLineEdit.h
 +++ b/src/YMultiLineEdit.h
 @@ -27,7 +27,7 @@
@@ -399,8 +349,6 @@
  
  /**
   * A multi-line plain-text area
-diff --git a/src/YMultiProgressMeter.h b/src/YMultiProgressMeter.h
-index 57c758d..f6bec91 100644
 --- a/src/YMultiProgressMeter.h
 +++ b/src/YMultiProgressMeter.h
 @@ -28,7 +28,7 @@
@@ -412,8 +360,6 @@
  
  
  /**
-diff --git a/src/YMultiSelectionBox.h b/src/YMultiSelectionBox.h
-index bbe5a20..f3a2947 100644
 --- a/src/YMultiSelectionBox.h
 +++ b/src/YMultiSelectionBox.h
 @@ -27,7 +27,7 @@
@@ -425,8 +371,6 @@
  
  
  /**
-diff --git a/src/YPartitionSplitter.h b/src/YPartitionSplitter.h
-index 2839bbc..9de1174 100644
 --- a/src/YPartitionSplitter.h
 +++ b/src/YPartitionSplitter.h
 @@ -28,7 +28,7 @@
@@ -438,8 +382,6 @@
  
  
  /**
-diff --git a/src/YProgressBar.h b/src/YProgressBar.h
-index 718352f..baab662 100644
 --- a/src/YProgressBar.h
 +++ b/src/YProgressBar.h
 @@ -27,7 +27,7 @@
@@ -451,8 +393,6 @@
  
  
  /**
-diff --git a/src/YPushButton.h b/src/YPushButton.h
-index 5b65c98..e288252 100644
 --- a/src/YPushButton.h
 +++ b/src/YPushButton.h
 @@ -27,7 +27,7 @@
@@ -464,8 +404,6 @@
  
  
  
-diff --git a/src/YRadioButton.h b/src/YRadioButton.h
-index 9dc62de..5a7c0dd 100644
 --- a/src/YRadioButton.h
 +++ b/src/YRadioButton.h
 @@ -28,7 +28,7 @@
@@ -477,8 +415,6 @@
  
  
  /**
-diff --git a/src/YRadioButtonGroup.h b/src/YRadioButtonGroup.h
-index 063a52e..671a257 100644
 --- a/src/YRadioButtonGroup.h
 +++ b/src/YRadioButtonGroup.h
 @@ -28,7 +28,7 @@
@@ -490,8 +426,6 @@
  
  typedef std::list<YRadioButton *> 		YRadioButtonList;
  typedef YRadioButtonList::iterator		YRadioButtonListIterator;
-diff --git a/src/YRichText.h b/src/YRichText.h
-index 149bfb3..86b3f80 100644
 --- a/src/YRichText.h
 +++ b/src/YRichText.h
 @@ -30,7 +30,7 @@
@@ -503,8 +437,6 @@
  
  
  /**
-diff --git a/src/YSelectionBox.h b/src/YSelectionBox.h
-index 7fc4fb8..9bbf9f3 100644
 --- a/src/YSelectionBox.h
 +++ b/src/YSelectionBox.h
 @@ -27,7 +27,7 @@
@@ -516,8 +448,6 @@
  
  
  /**
-diff --git a/src/YSelectionWidget.h b/src/YSelectionWidget.h
-index abbdfb4..cf05afd 100644
 --- a/src/YSelectionWidget.h
 +++ b/src/YSelectionWidget.h
 @@ -29,7 +29,7 @@
@@ -529,8 +459,6 @@
  
  /**
   * Base class for various kinds of multi-value widgets.
-diff --git a/src/YSimpleInputField.h b/src/YSimpleInputField.h
-index 6d926d4..b93fe6b 100644
 --- a/src/YSimpleInputField.h
 +++ b/src/YSimpleInputField.h
 @@ -27,7 +27,7 @@
@@ -542,8 +470,6 @@
  
  
  /**
-diff --git a/src/YSlider.h b/src/YSlider.h
-index d29f6b8..4bcd7d3 100644
 --- a/src/YSlider.h
 +++ b/src/YSlider.h
 @@ -27,7 +27,7 @@
@@ -555,8 +481,6 @@
  
  
  /**
-diff --git a/src/YSpacing.h b/src/YSpacing.h
-index e8aafd3..066cd68 100644
 --- a/src/YSpacing.h
 +++ b/src/YSpacing.h
 @@ -28,7 +28,7 @@
@@ -568,8 +492,6 @@
  
  
  /**
-diff --git a/src/YSquash.h b/src/YSquash.h
-index 4bd0fb6..3804cc4 100644
 --- a/src/YSquash.h
 +++ b/src/YSquash.h
 @@ -29,7 +29,7 @@
@@ -581,8 +503,6 @@
  
  /**
   * HSquash, VSquash HVSquash: reduce child to its preferred size.
-diff --git a/src/YTable.h b/src/YTable.h
-index 6694f10..469b8ca 100644
 --- a/src/YTable.h
 +++ b/src/YTable.h
 @@ -30,7 +30,7 @@
@@ -594,8 +514,6 @@
  
  
  
-diff --git a/src/YTableHeader.h b/src/YTableHeader.h
-index 70166c2..4ae99b4 100644
 --- a/src/YTableHeader.h
 +++ b/src/YTableHeader.h
 @@ -31,7 +31,7 @@
@@ -607,8 +525,6 @@
  
  /**
   * Helper class for YTable for table column properties:
-diff --git a/src/YTimeField.h b/src/YTimeField.h
-index ab2f9a3..f3a7b94 100644
 --- a/src/YTimeField.h
 +++ b/src/YTimeField.h
 @@ -27,7 +27,7 @@
@@ -620,8 +536,6 @@
  
  
  /**
-diff --git a/src/YTimezoneSelector.cc b/src/YTimezoneSelector.cc
-index 9259b64..e2f9b6f 100644
 --- a/src/YTimezoneSelector.cc
 +++ b/src/YTimezoneSelector.cc
 @@ -32,7 +32,7 @@
@@ -633,8 +547,6 @@
  };
  
  
-diff --git a/src/YTree.h b/src/YTree.h
-index 14fa279..70e1364 100644
 --- a/src/YTree.h
 +++ b/src/YTree.h
 @@ -28,7 +28,7 @@
@@ -646,8 +558,6 @@
  
  
  /**
-diff --git a/src/YUILog.h b/src/YUILog.h
-index 0890bc5..4a927a7 100644
 --- a/src/YUILog.h
 +++ b/src/YUILog.h
 @@ -64,7 +64,7 @@
@@ -659,11 +569,9 @@
  
  enum YUILogLevel_t
  {
-diff --git a/src/YWidget.h b/src/YWidget.h
-index 5b285d0..636a41b 100644
 --- a/src/YWidget.h
 +++ b/src/YWidget.h
-@@ -45,7 +45,7 @@ typedef YChildrenManager<YWidget>	YWidgetChildrenManager;
+@@ -45,7 +45,7 @@ typedef YChildrenManager<YWidget>	YWidge
  typedef YSingleChildManager<YWidget>	YSingleWidgetChildManager;
  typedef YChildrenRejector<YWidget>	YWidgetChildrenRejector;
  
@@ -672,8 +580,6 @@
  
  
  /**
-diff --git a/src/YWizard.h b/src/YWizard.h
-index 7671cbf..975b597 100644
 --- a/src/YWizard.h
 +++ b/src/YWizard.h
 @@ -28,7 +28,7 @@
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
index d8a9219..7c6f4c1 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
@@ -18,6 +18,8 @@
 
 DEPENDS += "boost"
 
+EXTRA_OECMAKE += "-DENABLE_WERROR=OFF"
+
 BBCLASSEXTEND = "native nativesdk"
 
 do_configure_prepend () {
diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch
new file mode 100644
index 0000000..6ba1e42
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch
@@ -0,0 +1,31 @@
+From 49dd914109fd1ee9e1e917890bf18f85dd95ff31 Mon Sep 17 00:00:00 2001
+From: Reid Kleckner <rnk@google.com>
+Date: Sun, 29 Dec 2019 23:17:16 -0800
+Subject: [PATCH] Remove glslang::pool_allocator::setAllocator
+
+TPoolAllocator is not copy assignable, so this setter could never have
+been used. After a recent change (878a24ee2), new versions of Clang
+reject this code outright.
+
+Upstream-Status: Backport [https://github.com/KhronosGroup/glslang/commit/0de87ee9a5bf5d094a3faa1a71fd9080e80b6be0]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h b/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h
+index 0e237a6a2..b8eccb883 100644
+--- a/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h
++++ b/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h
+@@ -304,7 +304,6 @@ public:
+     size_type max_size() const { return static_cast<size_type>(-1) / sizeof(T); }
+     size_type max_size(int size) const { return static_cast<size_type>(-1) / size; }
+ 
+-    void setAllocator(TPoolAllocator* a) { allocator = *a; }
+     TPoolAllocator& getAllocator() const { return allocator; }
+ 
+ protected:
+-- 
+2.24.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.5.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
rename to meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.5.bb
index 784f6fb..5f81e84 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.5.bb
@@ -4,9 +4,10 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9753b1b4fba3261c27d1ce5c1acef667"
 
-SRCREV = "214d85228538e71cc63a0d7fa11dd75b1d56cc81"
+SRCREV = "a94f238e37cfe2f142093eb8e5da7775abaa88c6"
 SRC_URI = "git://github.com/baldurk/${BPN}.git;protocol=http;branch=v1.x \
 	   file://0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch \
+	   file://0001-Remove-glslang-pool_allocator-setAllocator.patch \
 "
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch
new file mode 100644
index 0000000..9b48cdc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch
@@ -0,0 +1,50 @@
+From 4fffcd275b50d08b54b0411679ead98970651bad Mon Sep 17 00:00:00 2001
+From: David Neto <dneto@google.com>
+Date: Fri, 27 Dec 2019 12:05:58 -0500
+Subject: [PATCH] Avoid pessimizing std::move (#3124)
+
+Should fix a warning
+
+Upstream-Status: Backport [https://github.com/KhronosGroup/SPIRV-Tools/commit/8aa423930db37e37086665efcc55944d577c06e5]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/opt/pass_fixture.h | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/test/opt/pass_fixture.h b/test/opt/pass_fixture.h
+index 53fb206f..64c089d8 100644
+--- a/test/opt/pass_fixture.h
++++ b/test/opt/pass_fixture.h
+@@ -60,8 +60,7 @@ class PassTest : public TestT {
+   // from pass Process() function.
+   std::tuple<std::vector<uint32_t>, Pass::Status> OptimizeToBinary(
+       Pass* pass, const std::string& original, bool skip_nop) {
+-    context_ =
+-        std::move(BuildModule(env_, consumer_, original, assemble_options_));
++    context_ = BuildModule(env_, consumer_, original, assemble_options_);
+     EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n"
+                                   << original << std::endl;
+     if (!context()) {
+@@ -197,8 +196,7 @@ class PassTest : public TestT {
+   // messages.
+   template <typename PassT, typename... Args>
+   void SinglePassRunAndFail(const std::string& original, Args&&... args) {
+-    context_ =
+-        std::move(BuildModule(env_, consumer_, original, assemble_options_));
++    context_ = BuildModule(env_, consumer_, original, assemble_options_);
+     EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n"
+                                   << original << std::endl;
+     std::ostringstream errs;
+@@ -235,8 +233,7 @@ class PassTest : public TestT {
+   void RunAndCheck(const std::string& original, const std::string& expected) {
+     assert(manager_->NumPasses());
+ 
+-    context_ =
+-        std::move(BuildModule(env_, nullptr, original, assemble_options_));
++    context_ = BuildModule(env_, nullptr, original, assemble_options_);
+     ASSERT_NE(nullptr, context());
+ 
+     context()->set_preserve_bindings(OptimizerOptions()->preserve_bindings_);
+-- 
+2.24.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
new file mode 100644
index 0000000..5d37da8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
@@ -0,0 +1,35 @@
+From caf59c46ea5dc49e4dbf756c642b03e52c1b5468 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Dec 2019 07:02:24 -0800
+Subject: [PATCH] Respect CMAKE_INSTALL_LIBDIR in installed CMake files
+
+Upstream-Status: Submitted [https://github.com/google/effcee/pull/36]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt        | 1 +
+ effcee/CMakeLists.txt | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+--- a/external/effcee/CMakeLists.txt
++++ b/external/effcee/CMakeLists.txt
+@@ -27,6 +27,7 @@ endif()
+ 
+ include(cmake/setup_build.cmake)
+ include(cmake/utils.cmake)
++include(GNUInstallDirs)
+ 
+ add_subdirectory(third_party)
+ add_subdirectory(effcee)
+--- a/external/effcee/effcee/CMakeLists.txt
++++ b/external/effcee/effcee/CMakeLists.txt
+@@ -14,8 +14,8 @@ install(
+   DESTINATION
+     include/effcee)
+ install(TARGETS effcee
+-  LIBRARY DESTINATION lib
+-  ARCHIVE DESTINATION lib)
++  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ 
+ if(EFFCEE_BUILD_TESTING)
+   add_executable(effcee-test
diff --git a/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-tools-lesspipe-Allow-generic-shell.patch b/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-tools-lesspipe-Allow-generic-shell.patch
deleted file mode 100644
index e9a45c2..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/spir/files/0001-tools-lesspipe-Allow-generic-shell.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 03127fd5a6eff5ae2ebea2e9c6c01fbf1a0a421a Mon Sep 17 00:00:00 2001
-From: Ankit Navik <ankit.tarot@gmail.com>
-Date: Tue, 25 Dec 2018 14:34:09 +0530
-Subject: [PATCH] tools/lesspipe: Allow generic shell
-
-Upstream-Status: Submitted [https://github.com/KhronosGroup/SPIRV-Tools/pull/2255]
-Signed-off-by: Ankit Navik <ankit.tarot@gmail.com>
----
- tools/lesspipe/spirv-lesspipe.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/lesspipe/spirv-lesspipe.sh b/tools/lesspipe/spirv-lesspipe.sh
-index 81e3355..f955259 100644
---- a/tools/lesspipe/spirv-lesspipe.sh
-+++ b/tools/lesspipe/spirv-lesspipe.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/usr/bin/env sh
- # Copyright (c) 2016 The Khronos Group Inc.
- 
- # Licensed under the Apache License, Version 2.0 (the "License");
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb b/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb
index aae11df..8e8388e 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/spir/spirv-tools_git.bb
@@ -9,20 +9,23 @@
 S = "${WORKDIR}/git"
 DEST_DIR = "${S}/external" 
 SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;name=spirv-tools \
-	file://0001-tools-lesspipe-Allow-generic-shell.patch \
 	git://github.com/KhronosGroup/SPIRV-Headers.git;name=spirv-headers;destsuffix=${DEST_DIR}/spirv-headers \
 	git://github.com/google/effcee.git;name=effcee;destsuffix=${DEST_DIR}/effcee \
 	git://github.com/google/re2.git;name=re2;destsuffix=${DEST_DIR}/re2 \
 	git://github.com/google/googletest.git;name=googletest;destsuffix=${DEST_DIR}/googletest \
+        file://0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch \
+        file://0001-Avoid-pessimizing-std-move-3124.patch \
 "
-SRCREV_spirv-tools = "167f1270a9ee641b17c016a545741e4aadfabe86"
-SRCREV_spirv-headers = "4618b86e9e4b027a22040732dfee35e399cd2c47"
-SRCREV_effcee = "8f0a61dc95e0df18c18e0ac56d83b3fa9d2fe90b"
-SRCREV_re2 = "2cf86e5ab6dcfe045a1f510c2b9a8b012a4158cd"
-SRCREV_googletest = "150613166524c474a8a97df4c01d46b72050c495"
+SRCREV_spirv-tools = "c413b982c316b14e784f50d941814fc737b55b4a"
+SRCREV_spirv-headers = "af64a9e826bf5bb5fcd2434dd71be1e41e922563"
+SRCREV_effcee = "cd25ec17e9382f99a895b9ef53ff3c277464d07d"
+SRCREV_re2 = "5bd613749fd530b576b890283bfb6bc6ea6246cb"
+SRCREV_googletest = "f2fb48c3b3d79a75a88a99fba6576b25d42ec528"
 
 inherit cmake python3native
 
+EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF"
+
 do_install_append() {
 	install -d ${D}/${includedir}/spirv
 	install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}/${includedir}/spirv	
diff --git a/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb b/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb
index 8851729..7db70ec 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb
@@ -11,4 +11,6 @@
 SRC_URI[md5sum] = "ae95dbbacc2620e032acea8abab8c9ef"
 SRC_URI[sha256sum] = "36548a588b2d466913423245dda6ffb6313132cd0cec635a117d37b3dab5fd4c"
 
-inherit autotools
+inherit autotools features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
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
index 9932d0a..9897301 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb
@@ -7,7 +7,7 @@
 
 DEPENDS = "webkitgtk gtk+3 glib-2.0"
 
-REQUIRED_DISTRO_FEATURES = "x11"
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
 
 SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \
            file://0001-config.mk-Fix-compiler-and-linker.patch \
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb
rename to meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb
index d0ee2a5..1693779 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.9.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "GPLv2+"
 SECTION = "x11/utils"
 DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk"
-RDEPENDS_${PN} = "chkconfig coreutils hicolor-icon-theme"
+RDEPENDS_${PN} = "chkconfig coreutils hicolor-icon-theme perl"
 
 LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3"
 
@@ -15,10 +15,9 @@
 inherit autotools cmake
 B = "${S}"
 
-SRCREV = "6f2301d08e64a965ad36b401ec8dc2b24bc47075"
+SRCREV = "4739493b635372bd40a34640a719f79fa90e4dba"
 
-SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.9-branch \
-           file://0001-tigervnc-remove-includedir.patch \
+SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.10-branch \
            file://0002-do-not-build-tests-sub-directory.patch \
            file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
            file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \
@@ -26,11 +25,11 @@
 
 # Keep sync with xorg-server in oe-core
 XORG_PN ?= "xorg-server"
-XORG_PV ?= "1.19.6"
+XORG_PV ?= "1.20.6"
 SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg"
 XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}"
-SRC_URI[xorg.md5sum] = "3e47777ff034a331aed2322b078694a8"
-SRC_URI[xorg.sha256sum] = "a732502f1db000cf36a376cd0c010ffdbf32ecdd7f1fa08ba7f5bdf9601cc197"
+SRC_URI[xorg.md5sum] = "a98170084f2c8fed480d2ff601f8a14b"
+SRC_URI[xorg.sha256sum] = "6316146304e6e8a36d5904987ae2917b5d5b195dc9fc63d67f7aca137e5a51d1"
 
 # It is the directory containing the Xorg source for the
 # machine on which you are building TigerVNC.
@@ -58,7 +57,7 @@
     xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -)
 
     cd ${XSERVER_SOURCE_DIR}
-    xserverpatch="${S}/unix/xserver119.patch"
+    xserverpatch="${S}/unix/xserver120.patch"
     echo "Apply $xserverpatch"
     patch -p1 -b --suffix .vnc < $xserverpatch
 }
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 0000000..59bd97a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,389 @@
+From 5455055660700be18eb8800e56e2423031ed4c76 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 19:59:29 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Submitted [https://github.com/libts/tslib/pull/162]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/input-raw.c | 59 +++++++++++++++++++++++++++-------------
+ tools/ts_uinput.c   | 66 ++++++++++++++++++++++++++++++---------------
+ 2 files changed, 85 insertions(+), 40 deletions(-)
+
+diff --git a/plugins/input-raw.c b/plugins/input-raw.c
+index 64f0156..f030836 100644
+--- a/plugins/input-raw.c
++++ b/plugins/input-raw.c
+@@ -40,6 +40,11 @@
+ # include <linux/input.h>
+ #endif
+ 
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #ifndef EV_SYN /* 2.4 kernel headers */
+ # define EV_SYN 0x00
+ #endif
+@@ -384,7 +389,8 @@ static int ts_input_read(struct tslib_module_info *inf,
+ 						samp->y = i->current_y;
+ 						samp->pressure = i->current_p;
+ 					}
+-					samp->tv = ev.time;
++					samp->tv.tv_sec = ev.input_event_sec;
++					samp->tv.tv_usec = ev.input_event_usec;
+ 			#ifdef DEBUG
+ 				fprintf(stderr,
+ 					"RAW---------------------> %d %d %d %ld.%ld\n",
+@@ -519,7 +525,8 @@ static int ts_input_read(struct tslib_module_info *inf,
+ 					samp->pressure = i->current_p = ev.value;
+ 					break;
+ 				}
+-				samp->tv = ev.time;
++				samp->tv.tv_sec = ev.input_event_sec;
++				samp->tv.tv_usec = ev.input_event_usec;
+ 	#ifdef DEBUG
+ 				fprintf(stderr,
+ 					"RAW---------------------------> %d %d %d\n",
+@@ -536,7 +543,8 @@ static int ts_input_read(struct tslib_module_info *inf,
+ 						samp->x = 0;
+ 						samp->y = 0;
+ 						samp->pressure = 0;
+-						samp->tv = ev.time;
++						samp->tv.tv_sec = ev.input_event_sec;
++						samp->tv.tv_usec = ev.input_event_usec;
+ 						samp++;
+ 						total++;
+ 					}
+@@ -651,7 +659,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ 				switch (i->ev[it].code) {
+ 				case BTN_TOUCH:
+ 					i->buf[total][i->slot].pen_down = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					if (i->ev[it].value == 0)
+ 						pen_up = 1;
+@@ -751,7 +760,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ 					// fall through
+ 				case ABS_MT_POSITION_X:
+ 					i->buf[total][i->slot].x = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					break;
+ 				case ABS_Y:
+@@ -760,7 +770,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ 					// fall through
+ 				case ABS_MT_POSITION_Y:
+ 					i->buf[total][i->slot].y = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					break;
+ 				case ABS_PRESSURE:
+@@ -769,12 +780,14 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ 					// fall through
+ 				case ABS_MT_PRESSURE:
+ 					i->buf[total][i->slot].pressure = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					break;
+ 				case ABS_MT_TOOL_X:
+ 					i->buf[total][i->slot].tool_x = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					/* for future use
+ 					 * i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL;
+@@ -782,7 +795,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ 					break;
+ 				case ABS_MT_TOOL_Y:
+ 					i->buf[total][i->slot].tool_y = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					/* for future use
+ 					 * i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL;
+@@ -790,7 +804,8 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ 					break;
+ 				case ABS_MT_TOOL_TYPE:
+ 					i->buf[total][i->slot].tool_type = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					/* for future use
+ 					 * i->buf[total][i->slot].valid |= TSLIB_MT_VALID_TOOL;
+@@ -798,12 +813,14 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ 					break;
+ 				case ABS_MT_ORIENTATION:
+ 					i->buf[total][i->slot].orientation = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					break;
+ 				case ABS_MT_DISTANCE:
+ 					i->buf[total][i->slot].distance = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 
+ 					if (i->special_device == EGALAX_VERSION_210) {
+@@ -816,34 +833,40 @@ static int ts_input_read_mt(struct tslib_module_info *inf,
+ 					break;
+ 				case ABS_MT_BLOB_ID:
+ 					i->buf[total][i->slot].blob_id = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					break;
+ 				case ABS_MT_TOUCH_MAJOR:
+ 					i->buf[total][i->slot].touch_major = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					if (i->ev[it].value == 0)
+ 						i->buf[total][i->slot].pressure = 0;
+ 					break;
+ 				case ABS_MT_WIDTH_MAJOR:
+ 					i->buf[total][i->slot].width_major = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					break;
+ 				case ABS_MT_TOUCH_MINOR:
+ 					i->buf[total][i->slot].touch_minor = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					break;
+ 				case ABS_MT_WIDTH_MINOR:
+ 					i->buf[total][i->slot].width_minor = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					break;
+ 				case ABS_MT_TRACKING_ID:
+ 					i->buf[total][i->slot].tracking_id = i->ev[it].value;
+-					i->buf[total][i->slot].tv = i->ev[it].time;
++					i->buf[total][i->slot].tv.tv_sec = i->ev[it].input_event_sec;
++					i->buf[total][i->slot].tv.tv_usec = i->ev[it].input_event_usec;
+ 					i->buf[total][i->slot].valid |= TSLIB_MT_VALID;
+ 					if (i->ev[it].value == -1)
+ 						i->buf[total][i->slot].pressure = 0;
+diff --git a/tools/ts_uinput.c b/tools/ts_uinput.c
+index 6ca4c3d..1832a07 100644
+--- a/tools/ts_uinput.c
++++ b/tools/ts_uinput.c
+@@ -170,14 +170,16 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
+ 				continue;
+ 
+ 			if (s[j][i].pen_down == 1) {
+-				data->ev[c].time = s[j][i].tv;
++				data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++				data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 				data->ev[c].type = EV_KEY;
+ 				data->ev[c].code = BTN_TOUCH;
+ 				data->ev[c].value = s[j][i].pen_down;
+ 				c++;
+ 			}
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_SLOT;
+ 			data->ev[c].value = s[j][i].slot;
+@@ -190,111 +192,129 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
+ 			 * we should use slot 1 and so on.
+ 			 */
+ 			if (i == 0) {
+-				data->ev[c].time = s[j][i].tv;
++				data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++				data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 				data->ev[c].type = EV_ABS;
+ 				data->ev[c].code = ABS_X;
+ 				data->ev[c].value = s[j][i].x;
+ 				c++;
+ 
+-				data->ev[c].time = s[j][i].tv;
++				data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++				data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 				data->ev[c].type = EV_ABS;
+ 				data->ev[c].code = ABS_Y;
+ 				data->ev[c].value = s[j][i].y;
+ 				c++;
+ 
+-				data->ev[c].time = s[j][i].tv;
++				data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++				data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 				data->ev[c].type = EV_ABS;
+ 				data->ev[c].code = ABS_PRESSURE;
+ 				data->ev[c].value = s[j][i].pressure;
+ 				c++;
+ 			}
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_POSITION_X;
+ 			data->ev[c].value = s[j][i].x;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_POSITION_Y;
+ 			data->ev[c].value = s[j][i].y;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_PRESSURE;
+ 			data->ev[c].value = s[j][i].pressure;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_TOUCH_MAJOR;
+ 			data->ev[c].value = s[j][i].touch_major;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_WIDTH_MAJOR;
+ 			data->ev[c].value = s[j][i].width_major;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_TOUCH_MINOR;
+ 			data->ev[c].value = s[j][i].touch_minor;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_WIDTH_MINOR;
+ 			data->ev[c].value = s[j][i].width_minor;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_TOOL_TYPE;
+ 			data->ev[c].value = s[j][i].tool_type;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_TOOL_X;
+ 			data->ev[c].value = s[j][i].tool_x;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_TOOL_Y;
+ 			data->ev[c].value = s[j][i].tool_y;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_ORIENTATION;
+ 			data->ev[c].value = s[j][i].orientation;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_DISTANCE;
+ 			data->ev[c].value = s[j][i].distance;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_BLOB_ID;
+ 			data->ev[c].value = s[j][i].blob_id;
+ 			c++;
+ 
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_ABS;
+ 			data->ev[c].code = ABS_MT_TRACKING_ID;
+ 			data->ev[c].value = s[j][i].tracking_id;
+ 			c++;
+ 
+ 			if (data->mt_type_a == 1) {
+-				data->ev[c].time = s[j][i].tv;
++				data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++				data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 				data->ev[c].type = EV_SYN;
+ 				data->ev[c].code = SYN_MT_REPORT;
+ 				data->ev[c].value = 0;
+@@ -302,7 +322,8 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
+ 			}
+ 
+ 			if (s[j][i].pen_down == 0) {
+-				data->ev[c].time = s[j][i].tv;
++				data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++				data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 				data->ev[c].type = EV_KEY;
+ 				data->ev[c].code = BTN_TOUCH;
+ 				data->ev[c].value = s[j][i].pen_down;
+@@ -312,7 +333,8 @@ static int send_touch_events(struct data_t *data, struct ts_sample_mt **s,
+ 		}
+ 
+ 		if (c > 0) {
+-			data->ev[c].time = s[j][i].tv;
++			data->ev[c].input_event_sec = s[j][i].tv.tv_sec;
++			data->ev[c].input_event_usec = s[j][i].tv.tv_usec;
+ 			data->ev[c].type = EV_SYN;
+ 			data->ev[c].code = SYN_REPORT;
+ 			data->ev[c].value = 0;
+-- 
+2.24.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb
index 2bc40d9..bb28ee4 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.21.bb
@@ -14,6 +14,7 @@
 "
 
 SRC_URI = "https://github.com/kergoth/tslib/releases/download/${PV}/tslib-${PV}.tar.xz;downloadfilename=tslib-${PV}.tar.xz \
+           file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
            file://ts.conf \
            file://tslib.sh \
 "
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 0000000..d44445f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,111 @@
+From 8ab672ccc67b64058cffac2cd19a0d3b75d5aa25 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 11:43:32 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Upstream-Status: Submitted [https://github.com/LibVNC/x11vnc/pull/117]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/uinput.c | 28 ++++++++++++++++++++++++----
+ 1 file changed, 24 insertions(+), 4 deletions(-)
+
+diff --git a/src/uinput.c b/src/uinput.c
+index 28fbad3..343b7c5 100644
+--- a/src/uinput.c
++++ b/src/uinput.c
+@@ -54,6 +54,11 @@ so, delete this exception statement from your version.
+ #include <linux/input.h>
+ #include <linux/uinput.h>
+ 
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #if !defined(EV_SYN) || !defined(SYN_REPORT)
+ #undef UINPUT_OK
+ #endif
+@@ -710,6 +715,7 @@ void parse_uinput_str(char *in) {
+ static void ptr_move(int dx, int dy) {
+ #ifdef UINPUT_OK
+ 	struct input_event ev;
++	struct timeval tval;
+ 	int d = direct_rel_fd < 0 ? fd : direct_rel_fd;
+ 
+ 	if (injectable && strchr(injectable, 'M') == NULL) {
+@@ -720,7 +726,9 @@ static void ptr_move(int dx, int dy) {
+ 
+ 	if (db) fprintf(stderr, "ptr_move(%d, %d) fd=%d\n", dx, dy, d);
+ 
+-	gettimeofday(&ev.time, NULL);
++	gettimeofday(&tval, NULL);
++	ev.input_event_sec = tval.tv_sec;
++	ev.input_event_usec = tval.tv_usec;
+ 	ev.type = EV_REL;
+ 	ev.code = REL_Y;
+ 	ev.value = dy;
+@@ -755,6 +763,7 @@ static void apply_tslib(int *x, int *y) {
+ static void ptr_abs(int x, int y, int p) {
+ #ifdef UINPUT_OK
+ 	struct input_event ev;
++	struct timeval tval;
+ 	int x0, y0;
+ 	int d = direct_abs_fd < 0 ? fd : direct_abs_fd;
+ 
+@@ -773,7 +782,9 @@ static void ptr_abs(int x, int y, int p) {
+ 
+ 	if (db) fprintf(stderr, "ptr_abs(%d, %d => %d %d, p=%d) fd=%d\n", x0, y0, x, y, p, d);
+ 
+-	gettimeofday(&ev.time, NULL);
++	gettimeofday(&tval, NULL);
++	ev.input_event_sec = tval.tv_sec;
++	ev.input_event_usec = tval.tv_usec;
+ 	ev.type = EV_ABS;
+ 	ev.code = ABS_Y;
+ 	ev.value = y;
+@@ -950,6 +961,7 @@ if (0) {usleep(100*1000) ;}
+ static void button_click(int down, int btn) {
+ #ifdef UINPUT_OK
+ 	struct input_event ev;
++	struct timeval tval;
+ 	int d = direct_btn_fd < 0 ? fd : direct_btn_fd;
+ 
+ 	if (injectable && strchr(injectable, 'B') == NULL) {
+@@ -959,7 +971,12 @@ static void button_click(int down, int btn) {
+ 	if (db) fprintf(stderr, "button_click: btn %d %s fd=%d\n", btn, down ? "down" : "up", d);
+ 
+ 	memset(&ev, 0, sizeof(ev));
+-	gettimeofday(&ev.time, NULL);
++	gettimeofday(&tval, NULL);
++	gettimeofday(&tval, NULL);
++	ev.input_event_sec = tval.tv_sec;
++	ev.input_event_usec = tval.tv_usec;
++	ev.input_event_sec = tval.tv_sec;
++	ev.input_event_usec = tval.tv_usec;
+ 	ev.type = EV_KEY;
+ 	ev.value = down;
+ 
+@@ -1230,6 +1247,7 @@ void uinput_pointer_command(int mask, int x, int y, rfbClientPtr client) {
+ void uinput_key_command(int down, int keysym, rfbClientPtr client) {
+ #ifdef UINPUT_OK
+ 	struct input_event ev;
++	struct timeval tval;
+ 	int scancode;
+ 	allowed_input_t input;
+ 	int d = direct_key_fd < 0 ? fd : direct_key_fd;
+@@ -1253,7 +1271,9 @@ void uinput_key_command(int down, int keysym, rfbClientPtr client) {
+ 	if (db) fprintf(stderr, "uinput_key_command: %d -> %d %s fd=%d\n", keysym, scancode, down ? "down" : "up", d);
+ 
+ 	memset(&ev, 0, sizeof(ev));
+-	gettimeofday(&ev.time, NULL);
++	gettimeofday(&tval, NULL);
++	ev.input_event_sec = tval.tv_sec;
++	ev.input_event_usec = tval.tv_usec;
+ 	ev.type = EV_KEY;
+ 	ev.code = (unsigned char) scancode;
+ 	ev.value = down;
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
index d0c9f77..0d84c42 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
@@ -10,8 +10,9 @@
 SRCREV = "4ca006fed80410bd9b061a1519bd5d9366bb0bc8"
 SRC_URI = "git://github.com/LibVNC/x11vnc \
            file://starting-fix.patch \
-	   file://0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch \
-"
+           file://0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch \
+           file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+           "
 S = "${WORKDIR}/git"
 
 DEPENDS = "\
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch
new file mode 100644
index 0000000..d3beea8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch
@@ -0,0 +1,77 @@
+From 3730a38efad969fb6f8227df07eb4461a078f5a3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 13 Dec 2019 12:59:26 -0800
+Subject: [PATCH] Add configure time check for setsid
+
+Do not assume glibc == linux
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure    | 1 +
+ configure.in | 1 +
+ main.c       | 4 ++--
+ xtermcfg.hin | 1 +
+ 5 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index 0aafefc..03e8df0 100755
+--- a/configure
++++ b/configure
+@@ -5411,6 +5411,7 @@ for ac_func in \
+ 	unsetenv \
+ 	sched_yield \
+ 	setpgid \
++	setsid \
+ 	strftime \
+ 	tcgetattr \
+ 	waitpid \
+diff --git a/configure.in b/configure.in
+index d2fee88..74d65df 100644
+--- a/configure.in
++++ b/configure.in
+@@ -99,6 +99,7 @@ AC_CHECK_FUNCS( \
+ 	unsetenv \
+ 	sched_yield \
+ 	setpgid \
++	setsid \
+ 	strftime \
+ 	tcgetattr \
+ 	waitpid \
+diff --git a/main.c b/main.c
+index 5e60589..b81d2be 100644
+--- a/main.c
++++ b/main.c
+@@ -2868,7 +2868,7 @@ main(int argc, char *argv[]ENVP_ARG)
+     }
+ }
+ 
+-#if defined(__osf__) || (defined(__GLIBC__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
++#if defined(__osf__) || (defined(__linux__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__)
+ #define USE_OPENPTY 1
+ static int opened_tty = -1;
+ #endif
+@@ -4040,7 +4040,7 @@ spawnXTerm(XtermWidget xw, unsigned line_speed)
+ 	    /*
+ 	     * now in child process
+ 	     */
+-#if defined(_POSIX_SOURCE) || defined(SVR4) || defined(__convex__) || defined(__SCO__) || defined(__QNX__)
++#if HAVE_SETSID
+ 	    int pgrp = setsid();	/* variable may not be used... */
+ #else
+ 	    int pgrp = getpid();
+diff --git a/xtermcfg.hin b/xtermcfg.hin
+index 1dbc3b8..4f3ff5b 100644
+--- a/xtermcfg.hin
++++ b/xtermcfg.hin
+@@ -96,6 +96,7 @@
+ #undef HAVE_PUTENV		/* AC_CHECK_FUNCS(putenv) */
+ #undef HAVE_SCHED_YIELD		/* AC_CHECK_FUNCS(sched_yield) */
+ #undef HAVE_SETPGID		/* AC_CHECK_FUNCS(setpgid) */
++#undef HAVE_SETSID		/* AC_CHECK_FUNCS(setsid) */
+ #undef HAVE_STDINT_H		/* AC_PROG_CC_STDC */
+ #undef HAVE_STDLIB_H		/* AC_CHECK_HEADERS(stdlib.h) */
+ #undef HAVE_STRFTIME		/* AC_CHECK_FUNCS(strftime) */
+-- 
+2.24.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_350.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_351.bb
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_350.bb
rename to meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_351.bb
index d98ce47..40ee555 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_350.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_351.bb
@@ -4,10 +4,12 @@
 
 LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=c7faceb872d90115e7c0ad90e90c390d"
 
-SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
+SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \
+           file://0001-Add-configure-time-check-for-setsid.patch \
+          "
 
-SRC_URI[md5sum] = "189b593841189da66bc1cea92df602a5"
-SRC_URI[sha256sum] = "aefb59eefd310268080d1a90a447368fb97a9a6737bfecfc3800bf6cc304104d"
+SRC_URI[md5sum] = "a07edfbee2e2f4c6a9ddbf834fa4bbec"
+SRC_URI[sha256sum] = "760a8a10221c9c9744afd86db87c7ad95bbf9be4f5f525fecf39125f0d2a6e16"
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_4.1.bb b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_5.0.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-graphics/yad/yad_4.1.bb
rename to meta-openembedded/meta-oe/recipes-graphics/yad/yad_5.0.bb
index c69f47d..e53c04b 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_5.0.bb
@@ -6,7 +6,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 SRC_URI = "git://github.com/v1cont/yad.git"
-SRCREV = "3857a0a8822fc0a7206e804f15cc17b85a5f8ce2"
+SRCREV = "c8eac89cc20d915cb5ed185f423091a291c8af24"
 
 inherit autotools gsettings