diff options
author | Mikko Gronoff <mikko.gronoff@qt.io> | 2020-08-28 11:56:14 +0300 |
---|---|---|
committer | Mikko Gronoff <mikko.gronoff@qt.io> | 2020-08-28 11:58:52 +0300 |
commit | c3e1528ff4d725869fd4228a369ef9718721c5a0 (patch) | |
tree | cd1c77ce03dfef993e9bb90954ee3b0f58585989 | |
parent | 75ddc3a53c5e3a5e143a9d2386b16ea74f82d8d6 (diff) | |
parent | dc20219e1dbd5e39ae7495369b1c13279ad7e915 (diff) |
Merge remote-tracking branch 'qt/5.15.0_QtAS' into zeus
* qt/5.15.0_QtAS:
dc20219e (tag: v5.15.0_QtAS) AVS device SDK integration for automotive boot2qt
ea3bbee5 Revert "AVS device SDK integration for automotive boot2qt"
35ae428e Update automotive sha1s for QtAS 5.15.0
215458d9 AVS device SDK integration for automotive boot2qt
[...]
8dfd099f Update automotive sha1s for QtAS 5.15.0
Change-Id: I56a724b7b601381b547ed59ecd53a54df0b6ea81
11 files changed, 233 insertions, 4 deletions
diff --git a/meta-boot2qt-distro/recipes-qt/packagegroups/packagegroup-b2qt-automotive-addons.bb b/meta-boot2qt-distro/recipes-qt/packagegroups/packagegroup-b2qt-automotive-addons.bb index 884a5acf..c9fc07ce 100644 --- a/meta-boot2qt-distro/recipes-qt/packagegroups/packagegroup-b2qt-automotive-addons.bb +++ b/meta-boot2qt-distro/recipes-qt/packagegroups/packagegroup-b2qt-automotive-addons.bb @@ -43,6 +43,7 @@ RDEPENDS_${PN} += " \ gammaray \ qmllive \ qdb \ + avs-device-sdk \ " RDEPENDS_${PN} += "${@bb.utils.filter('DISTRO_FEATURES', 'qtsaferenderer', d)}" diff --git a/meta-boot2qt-distro/recipes-qt/packagegroups/packagegroup-b2qt-automotive-qt5-toolchain-target.bb b/meta-boot2qt-distro/recipes-qt/packagegroups/packagegroup-b2qt-automotive-qt5-toolchain-target.bb index efdb6e63..2b3d1162 100644 --- a/meta-boot2qt-distro/recipes-qt/packagegroups/packagegroup-b2qt-automotive-qt5-toolchain-target.bb +++ b/meta-boot2qt-distro/recipes-qt/packagegroups/packagegroup-b2qt-automotive-qt5-toolchain-target.bb @@ -40,6 +40,7 @@ RDEPENDS_${PN} += " \ libarchive-dev \ qtapplicationmanager-dev \ qtapplicationmanager-staticdev \ + avs-device-sdk \ " RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'qtsaferenderer', \ diff --git a/meta-boot2qt/recipes-alexa/avs-device-sdk/avs-device-sdk.inc b/meta-boot2qt/recipes-alexa/avs-device-sdk/avs-device-sdk.inc new file mode 100644 index 00000000..ca187054 --- /dev/null +++ b/meta-boot2qt/recipes-alexa/avs-device-sdk/avs-device-sdk.inc @@ -0,0 +1,86 @@ +# +# Copyright (c) 2019 Amazon.com, Inc. +# Copyright (c) 2019 Luxoft Sweden AB +# +# SPDX-License-Identifier: Apache-2.0 +# + +SUMMARY = "An SDK for commercial device makers to integrate Alexa directly into connected products." +HOMEPAGE = "https://developer.amazon.com/avs/sdk" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d92e60ee98664c54f68aa515a6169708" + +DEPENDS = "curl nghttp2 sqlite3 openssl gstreamer1.0 gstreamer1.0-plugins-base" + +RDEPENDS_${PN} += "${PN}-sampleapp" + +SRC_URI = "https://github.com/alexa/avs-device-sdk/archive/v${PV}.tar.gz" + +# Skip checksum verification +BB_STRICT_CHECKSUM = "0" + +# Default extra variables +AAC_BUILD_TYPE = "${@['RELEASE', 'DEBUG'][d.getVar('DEBUG_BUILD') == '1']}" +AAC_SENSITIVE_LOGS = "OFF" +AAC_LATENCY_LOGS = "OFF" +AAC_ENABLE_TESTS = "OFF" + +inherit pkgconfig cmake + +EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=${AAC_BUILD_TYPE} \ + -DACSDK_EMIT_SENSITIVE_LOGS=${AAC_SENSITIVE_LOGS} \ + -DACSDK_LATENCY_LOG=${AAC_LATENCY_LOGS} \ + -DGSTREAMER_MEDIA_PLAYER=ON \ + " + +PACKAGES += "${PN}-sampleapp" + +FILES_${PN}-sampleapp = "${bindir}/SampleApp" +FILES_${PN} = "${libdir}" +FILES_${PN}-dev = "${includedir}" + +# Portaudio for microphone input +PORTAUDIO_CMAKE_OPTIONS = "\ + -DPORTAUDIO=ON \ + -DPORTAUDIO_LIB_PATH=${STAGING_DIR_HOST}${libdir}/libportaudio.so \ + -DPORTAUDIO_INCLUDE_DIR=${STAGING_DIR_HOST}${includedir} \ +" + +PACKAGECONFIG[portaudio] = "${PORTAUDIO_CMAKE_OPTIONS},,portaudio-v19,portaudio-v19" + +# WakeWord: KITT.AI +KITTAT_CMAKE_OPTIONS = "\ + -DKITTAI_KEY_WORD_DETECTOR=ON \ + -DKITTAI_KEY_WORD_DETECTOR_LIB_PATH=${STAGING_DIR_HOST}${libdir}/libsnowboy-detect.a \ + -DKITTAI_KEY_WORD_DETECTOR_INCLUDE_DIR=${STAGING_DIR_HOST}${includedir} \ +" + +PACKAGECONFIG[kittai] = "${KITTAT_CMAKE_OPTIONS},,snowboy openblas," + +# WakeWord: Sensory +SENSORY_CMAKE_OPTIONS = "\ + -DSENSORY_KEY_WORD_DETECTOR=ON \ + -DSENSORY_KEY_WORD_DETECTOR_LIB_PATH=${STAGING_DIR_HOST}${libdir}/libsnsr.a \ + -DSENSORY_KEY_WORD_DETECTOR_INCLUDE_DIR=${STAGING_DIR_HOST}${includedir} \ +" +PACKAGECONFIG[sensory] = "${SENSORY_CMAKE_OPTIONS},,truly-handsfree" + +# Opus encoding (v1.11 or later) +PACKAGECONFIG[opus] = "-DOPUS=ON,,libopus" + +do_install_append() { + cp -R ${S}/ThirdParty/rapidjson/rapidjson-1.1.0/include/* ${D}${includedir}/include + install -d ${D}${libdir} + + # Copy the Mock headers from AVS SDK + mkdir -p ${D}${includedir}/AVSCommon/SDKInterfaces/test + cp -R ${S}/AVSCommon/SDKInterfaces/test/AVSCommon/SDKInterfaces/* ${D}${includedir}/AVSCommon/SDKInterfaces/test + + # Install Sample application to test Alexa Voice Service + install -d ${D}${bindir} + install -m 0755 ${B}/SampleApp/src/SampleApp ${D}${bindir} + + chrpath -d ${D}${bindir}/SampleApp +} + +TARGET_CXXFLAGS+= "-Wno-deprecated-copy" diff --git a/meta-boot2qt/recipes-alexa/avs-device-sdk/avs-device-sdk_1.12.1.bb b/meta-boot2qt/recipes-alexa/avs-device-sdk/avs-device-sdk_1.12.1.bb new file mode 100644 index 00000000..63f4913e --- /dev/null +++ b/meta-boot2qt/recipes-alexa/avs-device-sdk/avs-device-sdk_1.12.1.bb @@ -0,0 +1,14 @@ +# +# Copyright (c) 2019 Amazon.com, Inc. +# +# SPDX-License-Identifier: Apache-2.0 +# + +require avs-device-sdk.inc + +SRC_URI[md5sum] = "ece2fda85607567dccb3163bf9311efb" +SRC_URI[sha256sum] = "fba17b343c011410584330d8e268d09f449d16d62007b1a797751721a5616368" + +# Enable OPUS by default +PACKAGECONFIG += "opus portaudio" +PACKAGECONFIG_append_intel-corei7-64 = " kittai " diff --git a/meta-boot2qt/recipes-alexa/openblas/openblas_0.3.5.bb b/meta-boot2qt/recipes-alexa/openblas/openblas_0.3.5.bb new file mode 100644 index 00000000..a21b8f00 --- /dev/null +++ b/meta-boot2qt/recipes-alexa/openblas/openblas_0.3.5.bb @@ -0,0 +1,77 @@ +# +# Copyright (c) 2016 Intel Corporation. All rights reserved. +# Copyright (c) 2019 Luxoft Sweden AB +# +# SPDX-License-Identifier: MIT +# + +DESCRIPTION = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." +SUMMARY = "OpenBLAS : An optimized BLAS library" +AUTHOR = "Alexander Leiva <norxander@gmail.com>" +HOMEPAGE = "http://www.openblas.net/" +SECTION = "libs" +LICENSE = "BSD-3-Clause" + +DEPENDS = "make" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=5adf4792c949a00013ce25d476a2abc0" + +SRC_URI = "https://github.com/xianyi/OpenBLAS/archive/v${PV}.tar.gz" +SRC_URI[md5sum] = "579bda57f68ea6e9074bf5780e8620bb" +SRC_URI[sha256sum] = "0950c14bd77c90a6427e26210d6dab422271bc86f9fc69126725833ecdaa0e85" + +S = "${WORKDIR}/OpenBLAS-${PV}" + +def map_arch(a, d): + import re + if re.match('i.86$', a): return 'ATOM' + elif re.match('x86_64$', a): return 'ATOM' + elif re.match('aarch32$', a): return 'CORTEXA9' + elif re.match('aarch64$', a): return 'ARMV8' + elif re.match('arm$', a): return 'ARMV7' + return a + +def map_bits(a, d): + import re + if re.match('i.86$', a): return 32 + elif re.match('x86_64$', a): return 64 + elif re.match('aarch32$', a): return 32 + elif re.match('aarch64$', a): return 64 + elif re.match('arm$', a): return 32 + return 32 + +def map_extra_options(a, d): + import re + if re.match('arm$', a): return '-mfpu=neon-vfpv4 -mfloat-abi=hard' + return '' + +do_compile () { + oe_runmake HOSTCC="${BUILD_CC}" \ + CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${@map_extra_options(d.getVar('TARGET_ARCH', True), d)}" \ + PREFIX=${exec_prefix} \ + CROSS_SUFFIX=${HOST_PREFIX} \ + ONLY_CBLAS=1 BINARY='${@map_bits(d.getVar('TARGET_ARCH', True), d)}' \ + TARGET='${@map_arch(d.getVar('TARGET_ARCH', True), d)}' +} + +do_install() { + oe_runmake HOSTCC="${BUILD_CC}" \ + CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" \ + PREFIX=${exec_prefix} \ + CROSS_SUFFIX=${HOST_PREFIX} \ + ONLY_CBLAS=1 BINARY='${@map_bits(d.getVar('TARGET_ARCH', True), d)}' \ + TARGET='${@map_arch(d.getVar('TARGET_ARCH', True), d)}' \ + DESTDIR=${D} \ + install + rm -rf ${D}${bindir} + rm -rf ${D}${libdir}/cmake + + rm -rf ${D}${libdir}/lib${PN}*.so* + rm -rf ${D}${libdir}/pkgconfig/${PN}.pc + rm -rf ${D}${libdir}/pkgconfig + + cd ${D}${libdir} + ln -s libopenblas.a libblas.a +} + +FILES_${PN}-dev = "${includedir} ${libdir}/lib${PN}.a ${libdir}/libblas.a" diff --git a/meta-boot2qt/recipes-alexa/snowboy/snowboy_1.3.0.bb b/meta-boot2qt/recipes-alexa/snowboy/snowboy_1.3.0.bb new file mode 100644 index 00000000..951e7d41 --- /dev/null +++ b/meta-boot2qt/recipes-alexa/snowboy/snowboy_1.3.0.bb @@ -0,0 +1,46 @@ +# +# Copyright (c) 2019 Amazon.com, Inc. +# Copyright (c) 2019 Luxoft Sweden AB +# +# SPDX-License-Identifier: Apache-2.0 +# + +SUMMARY = "Snowboy Hotword Detection by KITT.AI" +HOMEPAGE = "https://snowboy.kitt.ai/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8d385adc93db3f7e5d092b82fb2c9353" + +SRC_URI = "https://github.com/Kitt-AI/snowboy/archive/v${PV}.tar.gz" +SRC_URI[md5sum] = "e16e117914f76f4a35facb16b0fcd61b" +SRC_URI[sha256sum] = "93658cc5d4d83dd7a6e954d0dc1e18d1c70b1dd8623181850c4804d3aca19e96" + +COMPATIBLE_HOST = "x86_64-.*-linux" + +INSANE_SKIP_${PN} += "already-stripped" + +def get_snowboy_arch(d): + import re + architecture = d.getVar('TARGET_ARCH') + if re.match('x86_64$', architecture): + return "ubuntu64" + elif re.match('arm$', architecture): + return "rpi" + elif re.match('aarch64$', architecture): + return "aarch64-ubuntu1604" + else: + return "ubuntu64" + +SNOWBOY_ARCH ?= "${@get_snowboy_arch(d)}" + +do_install() { + mkdir -p ${D}${libdir} + cp ${S}/lib/${SNOWBOY_ARCH}/libsnowboy-detect.a ${D}${libdir} + mkdir -p ${D}${includedir} + cp ${S}/include/snowboy-detect.h ${D}${includedir} + + install -d ${D}${datadir}/snowboy + install -m 0755 ${S}/resources/common.res ${D}${datadir}/snowboy/ + install -m 0755 ${S}/resources/alexa/alexa-avs-sample-app/alexa.umdl ${D}${datadir}/snowboy/ +} + +FILES_${PN} = "${datadir}/snowboy/alexa.umdl ${datadir}/snowboy/common.res" diff --git a/meta-boot2qt/recipes-qt/automotive/neptune3-ui_git.bb b/meta-boot2qt/recipes-qt/automotive/neptune3-ui_git.bb index 4e0c2cda..f2c12db7 100644 --- a/meta-boot2qt/recipes-qt/automotive/neptune3-ui_git.bb +++ b/meta-boot2qt/recipes-qt/automotive/neptune3-ui_git.bb @@ -53,7 +53,7 @@ SRC_URI += " \ SRC_URI_append_mx6 = " file://0001_hardware_variant_low.patch" SRC_URI_append_rpi = " file://0001_hardware_variant_low.patch" -SRCREV = "de61aa54b4ed3a6774ddc997793f5b47d62c4dbc" +SRCREV = "e17a5b6f144492e3447afb4869115f0a85fa076a" QMAKE_PROFILES = "${S}/neptune3-ui.pro" diff --git a/meta-boot2qt/recipes-qt/automotive/qmllive_git.bb b/meta-boot2qt/recipes-qt/automotive/qmllive_git.bb index 70f9766a..a0ed4e50 100644 --- a/meta-boot2qt/recipes-qt/automotive/qmllive_git.bb +++ b/meta-boot2qt/recipes-qt/automotive/qmllive_git.bb @@ -37,7 +37,7 @@ require recipes-qt/qt5/qt5-git.inc QT_GIT_PROJECT = "qt-apps" -SRCREV = "f4efa61ddd35652684a787d0c2b95d818aff248f" +SRCREV = "ae8ead36e590e27724ff5347280948cdf10a4a0d" DEPENDS = "qtbase qtdeclarative" diff --git a/meta-boot2qt/recipes-qt/automotive/qtapplicationmanager_git.bb b/meta-boot2qt/recipes-qt/automotive/qtapplicationmanager_git.bb index 29dc2770..c0eff51d 100644 --- a/meta-boot2qt/recipes-qt/automotive/qtapplicationmanager_git.bb +++ b/meta-boot2qt/recipes-qt/automotive/qtapplicationmanager_git.bb @@ -34,7 +34,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504" inherit qt5-module require recipes-qt/qt5/qt5-git.inc -SRCREV = "c4a7a646d92f1600eae44fb7cc93a6dea157fbac" +SRCREV = "d4277ed9597a2277f6a32f3f8480d746cd020a82" DEPENDS = "qtbase qtdeclarative libyaml libarchive \ ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland qtwayland-native", "", d)}" diff --git a/meta-boot2qt/recipes-qt/automotive/qtivi_git.bb b/meta-boot2qt/recipes-qt/automotive/qtivi_git.bb index 2182c348..e06fbcb4 100644 --- a/meta-boot2qt/recipes-qt/automotive/qtivi_git.bb +++ b/meta-boot2qt/recipes-qt/automotive/qtivi_git.bb @@ -54,7 +54,7 @@ SRC_URI += " \ file://ivi-services.target \ " -SRCREV = "fc3fd8ccb1aac8a66c4b53e4d3b767b29cffe54f" +SRCREV = "6bfdd24d0f988b47df8027dd8eb60d786a8a5571" PACKAGECONFIG ?= "taglib ivigenerator remoteobjects" PACKAGECONFIG[taglib] = "QMAKE_EXTRA_ARGS+=-feature-taglib,QMAKE_EXTRA_ARGS+=-no-feature-taglib,taglib" diff --git a/meta-boot2qt/recipes-support/curl/curl_%.bbappend b/meta-boot2qt/recipes-support/curl/curl_%.bbappend new file mode 100644 index 00000000..9fe597e8 --- /dev/null +++ b/meta-boot2qt/recipes-support/curl/curl_%.bbappend @@ -0,0 +1,4 @@ +PACKAGECONFIG_append = " nghttp2 libssh2 libidn " +PACKAGECONFIG_remove_class-native = " nghttp2 " +PACKAGECONFIG_remove_class-nativesdk = " nghttp2 libssh2 " + |