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"