meta-openembedded: subtree update:164a6030b0..f623d8b574

Adrian Freihofer (1):
      paho-mqtt-c: upgrade 1.3.6 -> 1.3.7

Alexander Kamensky (2):
      makedumpfile: add PACKAGECONFIG options for lzo and snappy compression
      makedumpfile: upgrade 1.6.7 -> 1.6.8

Alexander Kanavin (4):
      collect: do not build with -Werror
      libsigrokdecode: add python 3.9 support
      python3-mprpc: remove the recipe
      gnome-calendar: update to 3.38.1, add libhandy 1.x support

Anatol Belski (1):
      chrony: Patch CVE-2020-14367

Bartosz Golaszewski (1):
      libgpiod: update v1.4.4 -> v1.4.5

Beni (1):
      unbound: upgrade to 1.12.0

Gregory Anders (5):
      Add suitesparse
      Add python3-transitions
      Add python3-dill
      Add python3-cerberus
      Add python3-cvxopt

Hongxu Jia (1):
      lvm2.inc: switch branch master to main

Jasper Orschulko (1):
      upgrade and de-blacklist nanopb recipe

Jose Quaresma (3):
      spirv-tools: moved into OE-core, delete from meta-oe
      srt: add receipe
      opencv: Update 4.4.0 -> 4.5.0

Kai Kang (4):
      xfce4-cpufreq-plugin: 1.2.1 -> 1.2.2
      xfce4-weather-plugin: 0.10.1 -> 0.10.2
      xfce4-mailwatch-plugin: 1.2.0 -> 1.3.0
      tumbler: 0.2.9 -> 0.3.1

Khem Raj (71):
      nodejs: Fix arm32/thumb builds with clang
      nodejs: Update to 12.19.0
      redis: Fix build on 32bit targets and clang
      gperftools: Fix build with new musl updates
      minifi-cpp: Fix build with riscv64/clang
      graphviz: Upgrade to 2.44.1 release
      musl-nscd: Update to latest
      remmina: Update to 1.4.8
      mdbus2: Fix build with vala 0.50
      ibus: Update to 1.5.3 plus fix for vala 0.50
      networkd-dispatcher: Upgrade to 2.1
      geoclue: Use git fetcher
      kernel-selftest: Disable vm packageconfig for riscv
      layer.conf: Add hardknott to LAYERSERIES_COMPAT
      fmt: Upgrade to 7.1.2
      lksctp-tools: Update to latest master
      fuse3: Upgrade to 3.10.0
      rdma-core: Upgrade to 31.1
      opengl-es-cts: Disable LTO
      fluentbit: Disable LTO
      traceroute: Fix build with LTO
      cmocka: Fix buils with LTO
      dovecot: Disable LTO
      redis-plus-plus: Upgrade to 1.2.1
      suitesparse: Exclude from world
      python3-icu: Update to 2.6
      meta-python: Drop RDEPEND'ing on python3-typing
      python3-cvxopt: Exclude from world builds
      packagegroup-meta-multimedia: Add srt
      gedit: Inherit python3targetconfig
      gmime: Fix append to do_configure
      dconf: Add leading whitespace for append operator
      kexec-tools-klibc: Add leading whitespace for append operator
      spice: Add leading whitespace for append operator
      meta-oe: Add leading whitespace for append operator
      libgusb: Update to 0.3.5
      botan: Mark incompatible with riscv32
      projucer: Link with libatomic on rv32
      mariadb: Fix build on 32bit arches with 64bit time_t
      liburing: Fix build on 32-bit arches with 64-bit time_t
      librtorrent: Disable instrumentation on rv32
      ntopng: Link with libatomic on rv32
      poco: Add riscv32 support
      capnproto: Fix build on 32bit arches with 64bit time_t defaults
      directfb: Fix build on riscv32
      opensaf: Fix build on 32bit arches with 64bit time_t e.g. RISCV-32
      rocksdb: Update to 6.12.7
      qpdf: Link with libatomic on rv32
      libkcapi: Fix build on riscv32
      jack: Upgrade to 1.19.16
      vlc: Fix build on riscv32
      fluentbit: Link with libatomic on riscv32
      openipmi: Inherit python3targetconfig
      libplist: Inherit python3targetconfig
      postgresql: Inherit python3targetconfig
      python-grpcio-tools: Add missing space for append
      python3-pykwalify: Do not unset _PYTHON_SYSCONFIGDATA_NAME
      thingsboard-gateway: Move under dynamic layers
      musl-nscd: Replace -fcommon with code patch
      musl-nscd: Add missing deps on flex and bison during build
      python3-pytest: Upgrade to 6.1.2
      python3-hypothesis: Add recipe
      python3-sortedcontainers: Add recipe
      heaptrack: Fix build on musl
      heaptrack: Mark RISCV host incompatible
      packagegroup-meta-oe: Exclude heaptrack for rv32/rv64
      chrony: Upgrade to 4.0
      canutils,can-utils: Add cansequence to u-a as well
      packagegroup-meta-python: Add newly added recipes to packagegroup-meta-python3
      pipewire: Link with libatomic for riscv32
      python3-matplotlib: Disable LTO for clang/riscv

Kory Maincent (1):
      libftdi: add swig-native to dependencies

Leon Anavi (37):
      python3-luma-oled: Upgrade 3.6.0 -> 3.7.0
      python3-cryptography-vectors: Upgrade 3.1.1 -> 3.2
      python3-pyexpect: Upgrade 1.0.20 -> 1.0.21
      python3-markdown: Upgrade 3.3.2 -> 3.3.3
      python3-sh: Upgrade 1.14.0 -> 1.14.1
      python3-kiwisolver: Upgrade 1.2.0 -> 1.3.0
      python3-aiohttp: Upgrade 3.7.1 -> 3.7.2
      python3-aiofiles: Upgrade 0.5.0 -> 0.6.0
      python3-regex: Upgrade 2020.10.23 -> 2020.10.28
      python3-dateparser: Upgrade 0.7.6 -> 1.0.0
      python3-langtable: Upgrade 0.0.53 -> 0.0.54
      python3-kiwisolver: Upgrade 1.3.0 -> 1.3.1
      python3-tornado: Upgrade 6.0.4 -> 6.1
      python3-ipython: Upgrade 7.18.1 -> 7.19.0
      python3-cmd2: Upgrade 1.3.11 -> 1.4.0
      python3-dill: Upgrade 0.3.2 -> 0.3.3
      python3-colorlog: Upgrade 4.4.0 -> 4.6.2
      python3-pandas: Upgrade 1.1.3 -> 1.1.4
      python3-attrs: 20.2.0 -> 20.3.0
      python3-gmqtt: Upgrade 0.6.7 -> 0.6.8
      python3-diskcache: Upgrade 5.0.3 -> 5.1.0
      python3-croniter: Upgrade 0.3.35 -> 0.3.36
      python3-bitarray: Upgrade 1.6.0 -> 1.6.1
      python3-certifi: Upgrade 2020.6.20 -> 2020.11.8
      python3-cantools: Upgrade 35.3.0 -> 35.5.0
      python3-arpeggio: Upgrade 1.9.2 -> 1.10.1
      python3-toml: Upgrade 0.10.1 -> 0.10.2
      python3-pyrad: Upgrade 2.3 -> 2.4
      python3-bitstruct: Upgrade 8.11.0 -> 8.11.1
      python3-yarl: Upgrade 1.6.2 -> 1.6.3
      python3-luma-core: Upgrade 1.17.3 -> 2.0.1
      python3-luma-oled: Upgrade 3.7.0 -> 3.8.1
      python3-fastnumbers: Upgrade 3.0.0 -> 3.1.0
      python3-ansi2html: Upgrade 1.5.2 -> 1.6.0
      python3-prettytable: Upgrade 1.0.1 -> 2.0.0
      python3-urllib3: Upgrade 1.25.11 -> 1.26.2
      python3-transitions: Upgrade 0.8.4 -> 0.8.5

Li Zhou (1):
      ptpd: Solve memory leak for function NTPDCrequest

Maciej Pijanowski (2):
      cdrkit: add native to BBCLASSEXTEND
      cdrkit: split into more packages

Mark Jonas (5):
      mbedtls: Fix typo in PACKAGECONFIG
      python3-pyinotify: Add missing ctypes dependency
      libsocketcan: Add PACKAGECONFIG options
      libsocketcan: Update to 0.0.12
      imagemagick: Add NOTICE to collected license texts

Max Kellermann (1):
      php: remove the failing ${D}/${TMPDIR} code

Mingli Yu (6):
      ndpi: add new recipe
      libmaxminddb: add new recipe
      ntopng: add new recipe
      ntop: remove the recipe
      packagegroup-meta-networking.bb: add ntopng related recipes
      traceroute: set VPATH

Nick Rosbrook (3):
      strongswan: add some PACKAGECONFIG options for EAP
      strongswan: do not use deprecated stroke and starter by default
      strongswan: remove ldap from default PACKAGECONFIG

Pierre-Jean Texier (1):
      inotify-tools: upgrade 3.20.2.2 -> 3.20.11.0

Randy Witt (1):
      numactl: Remove the recipe

Ricardo Salveti (3):
      wireguard-module: upgrade 1.0.20200712 -> 1.0.20200908
      wireguard-tools: upgrade 1.0.20200513 -> 1.0.20200827
      wireguard-module: upgrade 1.0.20200908 -> 1.0.20201112

Sakib Sajal (1):
      libssh2: fix ptest

Sinan Kaya (3):
      collectd: fix the test condition for dash compatibility
      heaptrack: add bitbake recipe
      cpp-netlib: add bitbake recipe

Tim Orling (16):
      python3-atomicwrites: drop (moved to oe-core)
      python3-attrs: drop (moved to oe-core)
      python3-iniconfig: drop (moved to oe-core)
      python3-more-itertools: drop (moved to oe-core)
      python3-pathlib2: drop (moved to oe-core)
      python3-toml: drop (moved to oe-core)
      python3-py: drop (moved to oe-core)
      python3-setuptools-scm: drop (moved to oe-core)
      python3-packaging: drop (moved to oe-core)
      python3-wcwidth: drop (moved to oe-core)
      python3-zipp: drop (moved to oe-core)
      python3-importlib-metadata: drop (moved to oe-core)
      python3-pluggy: drop (moved to oe-core)
      python3-pytest: drop (moved to oe-core)
      python3-hypothesis: drop (moved to oe-core)
      python3-sortedcontainers: drop (moved to oe-core)

Trevor Gamblin (2):
      python3-jinja2: Fix ptest RDEPENDS and file installation
      python3-markupsafe: Fix ptest RDEPENDS and installation

William A. Kennington III (1):
      span-lite: Bump e03d116..0.8.1

Yi Zhao (5):
      minifi-cpp: specify GCC_AR and GCC_RANLIB
      quagga: unify volatiles file name
      minifi-cpp: depend on nettle and lz4
      nss: upgrade 3.57 -> 3.59
      krb5: upgrade 1.17.1 -> 1.17.2

Zang Ruochen (19):
      libnftnl: upgrade 1.1.7 -> 1.1.8
      xfsprogs: upgrade 5.8.0 -> 5.9.0
      radvd: upgrade 2.18 -> 2.19
      fmt: upgrade 7.0.3 -> 7.1.0
      hidapi: upgrade 0.9.0 -> 0.10.0
      libkcapi: upgrade 1.2.0 -> 1.2.1
      modemmanager: upgrade 1.14.2 -> 1.14.6
      nvme-cli: upgrade 1.12 -> 1.13
      ostree: upgrade 2020.6 -> 2020.7
      poppler-data: upgrade 0.4.9 -> 0.4.10
      nftables: upgrade 0.9.6 -> 0.9.7
      toybox: upgrade 0.8.3 -> 0.8.4
      fbgrab: upgrade 1.3.3 -> 1.4
      mraa: upgrade 2.1.0 -> 2.2.0
      opensaf: upgrade 5.20.05 -> 5.20.08
      openvpn: upgrade 2.4.9 -> 2.5.0
      poppler: upgrade 20.10.0 -> 20.11.0
      tmux: upgrade 3.1b -> 3.1c
      xmlsec1: upgrade 1.2.30 -> 1.2.31

changqing.li@windriver.com (1):
      thin-provisioning-tools: switch branch from master to main

hasan.men (2):
      thingsboard-gateway: Add recipe for v2.5.2
      python3-jsonpath-rw: Add recipe for v1.4.0

richard (1):
      poco: Upgrade 1.9.4 -> 1.10.1

viatsk (1):
      tcpdump: Patch for CVE-2020-8037

zangrc (27):
      sshfs-fuse: upgrade 3.7.0 -> 3.7.1
      can-utils: upgrade 2020.02.04 -> 2020.11.0
      hwdata: upgrade 0.340 -> 0.341
      libio-pty-perl: upgrade 1.14 -> 1.15
      live555: upgrade 20200819 -> 20201105
      zile: upgrade 2.4.14 -> 2.4.15
      rdma-core: upgrade 31.1 -> 32.0
      strongswan: upgrade 5.8.4 -> 5.9.1
      fio: upgrade 3.22 -> 3.24
      libharu: Fix the packaging bug
      modemmanager: upgrade 1.14.6 -> 1.14.8
      openldap: upgrade 2.4.51 -> 2.4.56
      protobuf: upgrade 3.13.0.1 -> 3.14.0
      nghttp2: upgrade 2.41.0 -> 2.42.0
      nngpp: upgrade 1.2.4 -> 1.3.0
      snort: upgrade 2.9.16.1 -> 2.9.17
      weechat: upgrade 2.9 -> 3.0
      cjson: upgrade 1.7.13 -> 1.7.14
      cloc: upgrade 1.84 -> 1.88
      jpnevulator: upgrade 2.3.5 -> 2.3.6
      libjcat: upgrade 0.1.3 -> 0.1.4
      libsigc++-3: upgrade 3.0.3 -> 3.0.6
      ocl-icd: upgrade 2.2.12 -> 2.2.13
      opencl-clhpp: upgrade 2.0.11 -> 2.0.12
      ostree: upgrade 2020.7 -> 2020.8
      pkcs11-helper: upgrade 1.26 -> 1.27
      netplan: upgrade 0.99 -> 0.100

zhengruoqin (1):
      dnf-plugin-tui: Update to the latest version

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I286bb6d58bf30588516b35ec06ddfd0bedee2e64
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.0.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.0.bb
new file mode 100644
index 0000000..b223334
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.0.bb
@@ -0,0 +1,218 @@
+SUMMARY = "Opencv : The Open Computer Vision Library"
+HOMEPAGE = "http://opencv.org/"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
+
+SRCREV_opencv = "d5fd2f0155ffad366f9ac912dfd6d189a7a6a98e"
+SRCREV_contrib = "37315babf9984a5b6aa981644a20dd8df1a5ff02"
+SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274"
+SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
+SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
+SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12"
+
+def ipp_filename(d):
+    import re
+    arch = d.getVar('TARGET_ARCH')
+    if re.match("i.86$", arch):
+        return "ippicv_2020_lnx_ia32_20191018_general.tgz"
+    else:
+        return "ippicv_2020_lnx_intel64_20191018_general.tgz"
+
+def ipp_md5sum(d):
+    import re
+    arch = d.getVar('TARGET_ARCH')
+    if re.match("i.86$", arch):
+        return "ad189a940fb60eb71f291321322fe3e8"
+    else:
+        return "7421de0095c7a39162ae13a6098782f9"
+
+IPP_FILENAME = "${@ipp_filename(d)}"
+IPP_MD5 = "${@ipp_md5sum(d)}"
+
+SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
+SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
+           git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
+           git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=ipp;name=ipp \
+           git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
+           git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
+           git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face \
+           file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
+           file://0003-To-fix-errors-as-following.patch \
+           file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
+           file://0001-Dont-use-isystem.patch \
+           file://download.patch \
+           file://0001-Make-ts-module-external.patch \
+           file://0001-samples-cmake-digits-needs-opencv_dnn-module-to-buil.patch \
+           "
+SRC_URI_append_riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
+
+S = "${WORKDIR}/git"
+
+# OpenCV wants to download more files during configure.  We download these in
+# do_fetch and construct a source cache in the format it expects
+OPENCV_DLDIR = "${WORKDIR}/downloads"
+
+do_unpack_extra() {
+    tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR}
+
+    md5() {
+        # Return the MD5 of $1
+        echo $(md5sum $1 | cut -d' ' -f1)
+    }
+    cache() {
+        TAG=$1
+        shift
+        mkdir --parents ${OPENCV_DLDIR}/$TAG
+        for F in $*; do
+            DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F)
+            test -e $DEST || ln -s $F $DEST
+        done
+    }
+    cache xfeatures2d/boostdesc ${WORKDIR}/boostdesc/*.i
+    cache xfeatures2d/vgg ${WORKDIR}/vgg/*.i
+    cache data ${WORKDIR}/face/*.dat
+}
+addtask unpack_extra after do_unpack before do_patch
+
+CMAKE_VERBOSE = "VERBOSE=1"
+
+EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
+    -DWITH_1394=OFF \
+    -DENABLE_PRECOMPILED_HEADERS=OFF \
+    -DCMAKE_SKIP_RPATH=ON \
+    -DOPENCV_ICV_HASH=${IPP_MD5} \
+    -DIPPROOT=${WORKDIR}/ippicv_lnx \
+    -DOPENCV_GENERATE_PKGCONFIG=ON \
+    -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \
+    -DOPENCV_ALLOW_DOWNLOADS=OFF \
+    ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
+    ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
+    ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
+"
+EXTRA_OECMAKE_append_x86 = " -DX86=ON"
+
+PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
+    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
+    ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
+
+PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade"
+PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
+PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
+PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
+PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
+PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
+PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
+PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
+PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
+PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
+PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
+PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
+PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
+PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
+PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
+PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
+PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
+PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
+PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
+PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
+PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
+PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
+
+inherit pkgconfig cmake
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)}
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
+
+export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
+export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
+export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
+export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
+export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
+
+TARGET_CC_ARCH += "-I${S}/include "
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
+    ${PN}-apps"
+
+python populate_packages_prepend () {
+    cv_libdir = d.expand('${libdir}')
+    do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
+    do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+    do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+    do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
+
+    pn = d.getVar('PN')
+    metapkg =  pn + '-dev'
+    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+    blacklist = [ metapkg ]
+    metapkg_rdepends = [ ]
+    packages = d.getVar('PACKAGES').split()
+    for pkg in packages[1:]:
+        if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
+            metapkg_rdepends.append(pkg)
+    d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
+
+    metapkg =  pn
+    d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+    blacklist = [ metapkg, "libopencv-ts" ]
+    metapkg_rdepends = [ ]
+    for pkg in packages[1:]:
+        if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
+            metapkg_rdepends.append(pkg)
+    d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
+}
+
+PACKAGES_DYNAMIC += "^libopencv-.*"
+
+FILES_${PN} = ""
+FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
+FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig  ${libdir}/cmake/opencv4/*.cmake"
+FILES_${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a"
+FILES_${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses"
+FILES_${PN}-java = "${datadir}/OpenCV/java"
+FILES_${PN}-samples = "${datadir}/opencv4/samples/"
+
+INSANE_SKIP_${PN}-java = "libdir"
+INSANE_SKIP_${PN}-dbg = "libdir"
+
+ALLOW_EMPTY_${PN} = "1"
+
+SUMMARY_python-opencv = "Python bindings to opencv"
+FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python-opencv = "python-core python-numpy"
+
+SUMMARY_python3-opencv = "Python bindings to opencv"
+FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python3-opencv = "python3-core python3-numpy"
+
+RDEPENDS_${PN}-apps  = "bash"
+
+do_compile_prepend() {
+    # remove the build host info to improve reproducibility
+    if [ -f ${WORKDIR}/build/modules/core/version_string.inc ]; then
+        sed -i "s#${WORKDIR}#/workdir#g" ${WORKDIR}/build/modules/core/version_string.inc
+    fi
+}
+
+do_install_append() {
+    # Move Python files into correct library folder (for multilib build)
+    if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
+        mv ${D}/usr/lib/* ${D}/${libdir}/
+        rm -rf ${D}/usr/lib
+    fi
+}
+
+TOOLCHAIN = "gcc"