summaryrefslogtreecommitdiffstats
path: root/_to_remove
diff options
context:
space:
mode:
Diffstat (limited to '_to_remove')
-rw-r--r--_to_remove/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc17
-rw-r--r--_to_remove/meta-speech-framework/conf/layer.conf27
-rw-r--r--_to_remove/meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend2
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json1
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb20
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in64
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb51
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch33
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch286
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json14
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb58
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch35
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend3
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend3
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend3
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend12
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch44
-rw-r--r--_to_remove/meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb14
18 files changed, 687 insertions, 0 deletions
diff --git a/_to_remove/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc b/_to_remove/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc
new file mode 100644
index 00000000..10f08301
--- /dev/null
+++ b/_to_remove/meta-speech-framework/conf/include/agl-voiceagent-alexa.inc
@@ -0,0 +1,17 @@
+# A bbappend has been added to meta-agl to enable nghttp2, mask out the one
+# from meta-aac to avoid triggering rebuilds of all curl dependencies when
+# agl-voiceagent-alexa is configured.
+BBMASK += "meta-aac/recipes-support/curl/curl_%.bbappend"
+# Mask out the nghttp2 recipe in meta-aac as well, as a newer version
+# is available in meta-networking, and due to meta-aac having a higher
+# layer priority, rebuilds will be triggered when the voiceagent feature
+# is configured and the layer is added.
+BBMASK += "meta-aac/recipes-connectivity/nghttp2"
+# Mask out the duplicate libopus recipe in meta-aac for the same reason
+BBMASK += "meta-aac/recipes-multimedia/libopus"
+
+PREFERRED_RPROVIDER_virtual/voice-high-config = "alexa-voice-high-config"
+
+FEATURE_PACKAGES:agl-voiceagent-alexa = "packagegroup-agl-voiceagent-alexa"
+
+AGL_FEATURES += "agl-voiceagent-alexa"
diff --git a/_to_remove/meta-speech-framework/conf/layer.conf b/_to_remove/meta-speech-framework/conf/layer.conf
new file mode 100644
index 00000000..b3f004ce
--- /dev/null
+++ b/_to_remove/meta-speech-framework/conf/layer.conf
@@ -0,0 +1,27 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# Let us add layer-specific bbappends which are only applied when that
+# layer is included in our configuration -
+# e.g. only add layers if a bsp is present.
+# This is based on the BBFILE_COLLECTIONS name of the layer.
+# We use either the BBFILE_COLLECTIONS name of the layer directly (meta-ti)
+BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bbappend' % layer \
+ for layer in BBFILE_COLLECTIONS.split())}"
+BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bb' % layer \
+ for layer in BBFILE_COLLECTIONS.split())}"
+# or we prepend it with meta- (e.g. rpi, fsl*)
+BBFILES += "${@' '.join('${LAYERDIR}/meta-%s/recipes*/*/*.bbappend' % layer \
+ for layer in BBFILE_COLLECTIONS.split())}"
+BBFILES += "${@' '.join('${LAYERDIR}/meta-%s/recipes*/*/*.bb' % layer \
+ for layer in BBFILE_COLLECTIONS.split())}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "speech-framework"
+BBFILE_PATTERN_speech-framework = "^${LAYERDIR}/"
+BBFILE_PRIORITY_speech-framework = "8"
+
+LAYERSERIES_COMPAT_speech-framework = "dunfell"
diff --git a/_to_remove/meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend b/_to_remove/meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend
new file mode 100644
index 00000000..288b652e
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac-amazonlite/recipes-wakeword/pryon-lite/pryon-lite.bbappend
@@ -0,0 +1,2 @@
+# Required to avoid QA errors from the prebuilt libraries
+INSANE_SKIP:${PN} += "ldflags"
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json
new file mode 100644
index 00000000..f460ccfc
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config/voice-high.json
@@ -0,0 +1 @@
+{ "default": "VA-001" }
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb
new file mode 100644
index 00000000..6b0203a9
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voice-high-config_1.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "High level voice service binding default voiceagent configuration for Alexa"
+DESCRIPTION = "Alexa default voiceagent JSON configuration file for agl-service-voice-high binding"
+HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/agl-service-voice-high"
+SECTION = "apps"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI = "file://voice-high.json"
+
+inherit allarch
+
+do_compile[noexec] = "1"
+
+do_install () {
+ install -D -m 644 ${WORKDIR}/voice-high.json ${D}${sysconfdir}/xdg/AGL/voice-high.json
+}
+
+RPROVIDES:${PN} += "virtual/voice-high-config"
+
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in
new file mode 100644
index 00000000..4bf00f89
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config/AlexaAutoCoreEngineConfig.json.in
@@ -0,0 +1,64 @@
+{
+ "deviceInfo":
+ {
+ "clientId": "@@ALEXA_CLIENTID@@",
+ "deviceSerialNumber": "@@ALEXA_SERIALNUMBER@@",
+ "productId": "@@ALEXA_PRODUCTID@@",
+ "manufacturerName": "@@ALEXA_MFG_NAME@@",
+ "description": "@@ALEXA_DESCRIPTION@@"
+ },
+ "libcurlUtils":
+ {
+ "CURLOPT_CAPATH":"/etc/ssl/certs"
+ },
+ "deviceSettings": {
+ "defaultLocale":"@@ALEXA_LOCALE@@",
+ "defaultTimezone":"@@ALEXA_TIMEZONE@@"
+ },
+ "aace.vehicle": {
+ "info": {
+ "make": "Amazon",
+ "model": "AutoSDK",
+ "year": "2019",
+ "trim": "aac",
+ "geography": "US",
+ "version": "1.2.3",
+ "os": "AGL",
+ "arch": "aarch64",
+ "language": "en_US",
+ "microphone": "SingleArray",
+ "countries": "US,GB,IE,CA,DE,AT,IN,JP,AU,NZ,FR",
+ "vehicleIdentifier": "Sample Identifier ABC"
+ },
+ "operatingCountry": "US",
+ "currentLocation": "36.1363,-115.1513"
+ },
+ "aace.audio.input": {
+ "voice": "Default"
+ },
+ "aace.audio.output": {
+ "tts": "Speech-Low",
+ "music": "Speech-High",
+ "alarm": "Custom-Low"
+ },
+ "aace.wakeword": {
+ "enabled":@@ALEXA_WAKEWORD@@
+ },
+ "aace.cbl": {
+ "enabled": true
+ },
+ "aace.localmediasource": {
+ "enabled":false,
+ "sources": {
+ "bluetooth":true,
+ "usb":true,
+ "fmRadio":true,
+ "amRadio":true,
+ "satelliteRadio":false,
+ "lineIn":false,
+ "compactDisc":true,
+ "siriusXM":false,
+ "dab":false
+ }
+ }
+}
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb
new file mode 100644
index 00000000..13d259b8
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-config_1.0.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Alexa service binding default configuration to connect to Alexa"
+DESCRIPTION = "Alexa alexa-voiceagent-service binding configuration files"
+HOMEPAGE = "https://github.com/alexa/alexa-auto-sdk/tree/master/platforms/agl/alexa-voiceagent-service"
+SECTION = "apps"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI = "file://AlexaAutoCoreEngineConfig.json.in"
+
+inherit allarch
+
+ALEXA_WAKEWORD ??= "false"
+ALEXA_LOCALE ??= "en-US"
+ALEXA_TIMEZONE ??= "America/Vancouver"
+
+do_compile[noexec] = "1"
+
+do_install () {
+ if [ -z "${ALEXA_CLIENTID}" ]; then
+ bbfatal "ALEXA_CLIENTID not defined in your environment e.g. conf/local.conf"
+ fi
+ if [ -z "${ALEXA_SERIALNUMBER}" ]; then
+ bbfatal "ALEXA_SERIALNUMBER not defined in your environment e.g. conf/local.conf"
+ fi
+ if [ -z "${ALEXA_PRODUCTID}" ]; then
+ bbfatal "ALEXA_PRODUCTID not defined in your environment e.g. conf/local.conf"
+ fi
+ if [ -z "${ALEXA_MFG_NAME}" ]; then
+ bbfatal "ALEXA_MFG_NAME not defined in your environment e.g. conf/local.conf"
+ fi
+ if [ -z "${ALEXA_DESCRIPTION}" ]; then
+ bbfatal "ALEXA_DESCRIPTION not defined in your environment e.g. conf/local.conf"
+ fi
+
+ #replace
+ sed -e "s|@@ALEXA_CLIENTID@@|${ALEXA_CLIENTID}|" \
+ -e "s|@@ALEXA_SERIALNUMBER@@|${ALEXA_SERIALNUMBER}|" \
+ -e "s|@@ALEXA_PRODUCTID@@|${ALEXA_PRODUCTID}|" \
+ -e "s|@@ALEXA_MFG_NAME@@|${ALEXA_MFG_NAME}|" \
+ -e "s|@@ALEXA_DESCRIPTION@@|${ALEXA_DESCRIPTION}|" \
+ -e "s|@@ALEXA_WAKEWORD@@|${ALEXA_WAKEWORD}|" \
+ -e "s|@@ALEXA_LOCALE@@|${ALEXA_LOCALE}|" \
+ -e "s|@@ALEXA_TIMEZONE@@|${ALEXA_TIMEZONE}|" \
+ ${WORKDIR}/AlexaAutoCoreEngineConfig.json.in > ${WORKDIR}/AlexaAutoCoreEngineConfig.json
+
+ # install
+ install -D -m 644 ${WORKDIR}/AlexaAutoCoreEngineConfig.json ${D}${sysconfdir}/xdg/AGL/AlexaAutoCoreEngineConfig.json
+}
+
+RPROVIDES:${PN} += "virtual/alexa-voiceagent-config"
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch
new file mode 100644
index 00000000..ee61ac20
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0001-remove-library-dependency-copying.patch
@@ -0,0 +1,33 @@
+Remove copying of library dependencies
+
+Since we are targeting building into an image, the widget build does
+not have to copy host library dependencies into the widget as it would
+when being built standalone with the SDK. Remove the copying, as
+runtime dependencies will be used to pull the libraries in.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt
+index 8a955feb..5b097877 100644
+--- a/libs/CMakeLists.txt
++++ b/libs/CMakeLists.txt
+@@ -92,16 +92,11 @@ add_avs_library(SQLiteStorage ${AAC_HOME}/lib/libSQLiteStorage.so)
+ add_avs_library(SystemSoundPlayer ${AAC_HOME}/lib/libSystemSoundPlayer.so)
+ add_avs_library(TemplateRuntime ${AAC_HOME}/lib/libTemplateRuntime.so)
+ add_avs_library(ToggleController ${AAC_HOME}/lib/libToggleController.so)
+-add_avs_library(curl ${AAC_HOME}/lib/libcurl.so.4)
+-add_avs_library(nghttp2 ${AAC_HOME}/lib/libnghttp2.so.14)
+-add_avs_library(opus ${AAC_HOME}/lib/libopus.so.0)
+-add_avs_library(sqlite3 ${AAC_HOME}/lib/libsqlite3.so.0)
+
+-if(EXISTS ${AAC_HOME}/lib/libpryon_lite.so.1.13)
++if(EXISTS ${AAC_HOME}/lib/libAACEAmazonLiteEngine.so)
+ add_aace_library(AACEAmazonLiteEngine)
+ add_avs_library(AMAZONLITE ${AAC_HOME}/lib/libAMAZONLITE.so)
+ add_avs_library(KeywordDetectorProvider ${AAC_HOME}/lib/libKeywordDetectorProvider.so)
+- add_avs_library(pryon_lite ${AAC_HOME}/lib/libpryon_lite.so.1.13)
+ endif()
+
+ if(EXISTS ${AAC_HOME}/share/cmake/AACESystemAudio.cmake)
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch
new file mode 100644
index 00000000..5886709b
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/0007-add-autobuild-scripts.patch
@@ -0,0 +1,286 @@
+Add autobuild scripts
+
+Add autobuild scripts and update .gitignore to not ignore them.
+The autobuild/agl/autobuild script will be required for building widgets
+in AGL, add the latest version to the voiceagent source tree.
+
+Upstream-Status: Pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+diff --git a/.gitignore b/.gitignore
+index b3c1108..edbf1b5 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -1,3 +1,2 @@
+-autobuild/
+ build/
+ alexa-voiceagent-apidef.h
+diff --git a/autobuild/agl/autobuild b/autobuild/agl/autobuild
+new file mode 100755
+index 0000000..16181b8
+--- /dev/null
++++ b/autobuild/agl/autobuild
+@@ -0,0 +1,128 @@
++#!/usr/bin/make -f
++# Copyright (C) 2015 - 2018 "IoT.bzh"
++# Copyright (C) 2020 Konsulko Group
++# Author "Romain Forlot" <romain.forlot@iot.bzh>
++#
++# Licensed under the Apache License, Version 2.0 (the "License");
++# you may not use this file except in compliance with the License.
++# You may obtain a copy of the License at
++#
++# http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing, software
++# distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++# See the License for the specific language governing permissions and
++# limitations under the License.
++
++THISFILE := $(lastword $(MAKEFILE_LIST))
++ROOT_DIR := $(abspath $(dir $(THISFILE))/../..)
++
++# Build directories
++# Note that the debug/test/coverage directories are defined in relation
++# to the release directory (BUILD_DIR), this needs to be kept in mind
++# if over-riding it and building those widget types, the specific widget
++# type variable (e.g. BUILD_DIR_DEBUG) may also need to be specified
++# to yield the desired output hierarchy.
++BUILD_DIR = $(ROOT_DIR)/build
++BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug)
++BUILD_DIR_TEST = $(abspath $(BUILD_DIR)/../build-test)
++BUILD_DIR_COVERAGE = $(abspath $(BUILD_DIR)/../build-coverage)
++
++# Output directory variable for use in pattern rules.
++# This is intended for internal use only, hence the explicit override
++# definition.
++override OUTPUT_DIR = $(BUILD_DIR)
++
++# Final install directory for widgets
++DEST = $(OUTPUT_DIR)
++
++# Default build type for release/test builds
++BUILD_TYPE = RELEASE
++
++.PHONY: all help update install distclean
++.PHONY: clean clean-release clean-debug clean-test clean-coverage clean-all
++.PHONY: configure configure-release configure-debug configure-test configure-coverage
++.PHONY: build build-release build-debug build-test build-coverage build-all
++.PHONY: package package-release package-debug package-test package-coverage package-all
++
++help:
++ @echo "List of targets available:"
++ @echo ""
++ @echo "- all"
++ @echo "- help"
++ @echo "- clean"
++ @echo "- distclean"
++ @echo "- configure"
++ @echo "- build: compilation, link and prepare files for package into a widget"
++ @echo "- package: output a widget file '*.wgt'"
++ @echo "- install: install in your $(CMAKE_INSTALL_DIR) directory"
++ @echo ""
++ @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt"
++ @echo "Don't use your build dir as DEST as wgt file is generated at this location"
++
++all: package-all
++
++# Target specific variable over-rides so static pattern rules can be
++# used for the various type-specific targets.
++
++configure-test build-test package-test clean-test: OUTPUT_DIR = $(BUILD_DIR_TEST)
++
++configure-coverage build-coverage package-coverage clean-coverage: OUTPUT_DIR = $(BUILD_DIR_COVERAGE)
++configure-coverage build-coverage package-coverage: BUILD_TYPE = COVERAGE
++
++configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG)
++configure-debug build-debug package-debug: BUILD_TYPE = DEBUG
++
++clean-release clean-test clean-debug clean-coverage:
++ @if [ -d $(OUTPUT_DIR) ]; then \
++ $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \
++ else \
++ echo Nothing to clean; \
++ fi
++
++clean: clean-release
++
++clean-all: clean-release clean-test clean-debug clean-coverage
++
++distclean: clean-all
++
++configure-release configure-test configure-debug configure-coverage:
++ @mkdir -p $(OUTPUT_DIR)
++ @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \
++ (cd $(OUTPUT_DIR) && cmake -S $(ROOT_DIR) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(CONFIGURE_ARGS)); \
++ fi
++
++configure: configure-release
++
++build-release build-debug build-coverage: build-%: configure-%
++ @cmake --build $(OUTPUT_DIR) $(BUILD_ARGS) --target all
++
++# Kept for consistency, empty to avoid building everything for test widget
++build-test: configure-test
++
++build: build-release
++
++build-all: build-release build-debug build-test build-coverage
++
++package-release package-debug package-coverage: package-%: build-%
++ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target widget
++ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \
++ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \
++ fi
++
++package-test: build-test
++ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target test_widget
++ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \
++ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \
++ fi
++
++package: package-release
++
++package-all: package-release package-test package-coverage package-debug
++
++update: configure
++ @cmake --build $(BUILD_DIR) --target autobuild
++
++install: build
++ @cmake --build $(BUILD_DIR) $(INSTALL_ARGS) --target install
+diff --git a/autobuild/linux/autobuild b/autobuild/linux/autobuild
+new file mode 100755
+index 0000000..16181b8
+--- /dev/null
++++ b/autobuild/linux/autobuild
+@@ -0,0 +1,128 @@
++#!/usr/bin/make -f
++# Copyright (C) 2015 - 2018 "IoT.bzh"
++# Copyright (C) 2020 Konsulko Group
++# Author "Romain Forlot" <romain.forlot@iot.bzh>
++#
++# Licensed under the Apache License, Version 2.0 (the "License");
++# you may not use this file except in compliance with the License.
++# You may obtain a copy of the License at
++#
++# http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing, software
++# distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++# See the License for the specific language governing permissions and
++# limitations under the License.
++
++THISFILE := $(lastword $(MAKEFILE_LIST))
++ROOT_DIR := $(abspath $(dir $(THISFILE))/../..)
++
++# Build directories
++# Note that the debug/test/coverage directories are defined in relation
++# to the release directory (BUILD_DIR), this needs to be kept in mind
++# if over-riding it and building those widget types, the specific widget
++# type variable (e.g. BUILD_DIR_DEBUG) may also need to be specified
++# to yield the desired output hierarchy.
++BUILD_DIR = $(ROOT_DIR)/build
++BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug)
++BUILD_DIR_TEST = $(abspath $(BUILD_DIR)/../build-test)
++BUILD_DIR_COVERAGE = $(abspath $(BUILD_DIR)/../build-coverage)
++
++# Output directory variable for use in pattern rules.
++# This is intended for internal use only, hence the explicit override
++# definition.
++override OUTPUT_DIR = $(BUILD_DIR)
++
++# Final install directory for widgets
++DEST = $(OUTPUT_DIR)
++
++# Default build type for release/test builds
++BUILD_TYPE = RELEASE
++
++.PHONY: all help update install distclean
++.PHONY: clean clean-release clean-debug clean-test clean-coverage clean-all
++.PHONY: configure configure-release configure-debug configure-test configure-coverage
++.PHONY: build build-release build-debug build-test build-coverage build-all
++.PHONY: package package-release package-debug package-test package-coverage package-all
++
++help:
++ @echo "List of targets available:"
++ @echo ""
++ @echo "- all"
++ @echo "- help"
++ @echo "- clean"
++ @echo "- distclean"
++ @echo "- configure"
++ @echo "- build: compilation, link and prepare files for package into a widget"
++ @echo "- package: output a widget file '*.wgt'"
++ @echo "- install: install in your $(CMAKE_INSTALL_DIR) directory"
++ @echo ""
++ @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt"
++ @echo "Don't use your build dir as DEST as wgt file is generated at this location"
++
++all: package-all
++
++# Target specific variable over-rides so static pattern rules can be
++# used for the various type-specific targets.
++
++configure-test build-test package-test clean-test: OUTPUT_DIR = $(BUILD_DIR_TEST)
++
++configure-coverage build-coverage package-coverage clean-coverage: OUTPUT_DIR = $(BUILD_DIR_COVERAGE)
++configure-coverage build-coverage package-coverage: BUILD_TYPE = COVERAGE
++
++configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG)
++configure-debug build-debug package-debug: BUILD_TYPE = DEBUG
++
++clean-release clean-test clean-debug clean-coverage:
++ @if [ -d $(OUTPUT_DIR) ]; then \
++ $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \
++ else \
++ echo Nothing to clean; \
++ fi
++
++clean: clean-release
++
++clean-all: clean-release clean-test clean-debug clean-coverage
++
++distclean: clean-all
++
++configure-release configure-test configure-debug configure-coverage:
++ @mkdir -p $(OUTPUT_DIR)
++ @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \
++ (cd $(OUTPUT_DIR) && cmake -S $(ROOT_DIR) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(CONFIGURE_ARGS)); \
++ fi
++
++configure: configure-release
++
++build-release build-debug build-coverage: build-%: configure-%
++ @cmake --build $(OUTPUT_DIR) $(BUILD_ARGS) --target all
++
++# Kept for consistency, empty to avoid building everything for test widget
++build-test: configure-test
++
++build: build-release
++
++build-all: build-release build-debug build-test build-coverage
++
++package-release package-debug package-coverage: package-%: build-%
++ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target widget
++ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \
++ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \
++ fi
++
++package-test: build-test
++ @cmake --build $(OUTPUT_DIR) $(PACKAGE_ARGS) --target test_widget
++ @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \
++ mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \
++ fi
++
++package: package-release
++
++package-all: package-release package-test package-coverage package-debug
++
++update: configure
++ @cmake --build $(BUILD_DIR) --target autobuild
++
++install: build
++ @cmake --build $(BUILD_DIR) $(INSTALL_ARGS) --target install
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json
new file mode 100644
index 00000000..48918015
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service/alexa.json
@@ -0,0 +1,14 @@
+{
+ "id": "VA-001",
+ "active": true,
+ "name": "Alexa",
+ "api": "alexa-voiceagent",
+ "wakewords": [
+ "alexa",
+ "computer",
+ "echo"
+ ],
+ "activewakeword": "alexa",
+ "description": "Alexa voice assistant by Amazon.",
+ "vendor": "Amazon.com Services Inc"
+}
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb
new file mode 100644
index 00000000..c08377cd
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-apis/alexa-voiceagent-service/alexa-voiceagent-service_git.bb
@@ -0,0 +1,58 @@
+SUMMARY = "Alexa voice agent binding"
+DESCRIPTION = "alexa-voiceagent-service is an Alexa Auto SDK based voiceagent binding"
+HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/agl-service-voice-high"
+SECTION = "apps"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://License.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = " \
+ libafb-helpers \
+ libappcontroller \
+ avs-device-sdk \
+ aac-module-core \
+ aac-module-alexa \
+ aac-module-address-book \
+ aac-module-car-control \
+ aac-module-cbl \
+ aac-module-contact-uploader \
+ aac-module-navigation \
+ aac-module-phone-control \
+ aac-module-system-audio \
+ ${@bb.utils.contains("ALEXA_WAKEWORD", "true", "aac-module-amazonlite pryon-lite", "", d)} \
+"
+
+SRC_URI = "git://github.com/alexa/alexa-auto-sdk.git;protocol=https;branch=2.3 \
+ file://alexa.json \
+ file://0001-remove-library-dependency-copying.patch \
+ file://0007-add-autobuild-scripts.patch \
+"
+SRCREV = "d46f22b453f528868b483e39bc7a057ca68a5199"
+
+PV = "2.3+git${SRCPV}"
+S = "${WORKDIR}/git/platforms/agl/alexa-voiceagent-service"
+
+inherit cmake aglwgt
+
+EXTRA_OECMAKE += "-DAAC_HOME=${RECIPE_SYSROOT}/${AAC_PREFIX}"
+
+ALEXA_WAKEWORD ??= "false"
+
+do_install:append() {
+ install -D -m 0644 ${WORKDIR}/alexa.json ${D}${sysconfdir}/xdg/AGL/voiceagents/alexa.json
+}
+
+PACKAGES =+ "${PN}-conf"
+
+FILES:${PN}-conf = "${sysconfdir}/xdg/AGL/voiceagents/*"
+
+# NOTE: curl and opus are from the base SDK libraries, sqlite3 from the
+# core module
+RDEPENDS:${PN} += " \
+ libcurl \
+ libopus \
+ libsqlite3 \
+ ${PN}-conf \
+ ${@bb.utils.contains("ALEXA_WAKEWORD", "true", "pryon-lite", "", d)} \
+ gstreamer1.0-plugins-bad-hls \
+"
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch b/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch
new file mode 100644
index 00000000..3bf79835
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch
@@ -0,0 +1,35 @@
+Workaround for connection deadlock
+
+Change the maximum (effectively infinite) delay in HTTP2Transport's
+connecting state handling code to use the inactivity timeout value,
+which is currently 5 minutes. This seems to avoid triggering a
+deadlock between the condition variable checking in the
+monitorSharedQueueWhileWaiting method and use of the object's m_mutex
+member in sendPostConnectMessage and onActivity methods.
+At present, my theory is this issue stems from some change or bug
+in the newer g++/libstdc++ coming with dunfell versus the thud release
+that Amazon supports.
+
+Upstream-Status: Inappropriate [other]
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+diff --git a/ACL/src/Transport/HTTP2Transport.cpp b/ACL/src/Transport/HTTP2Transport.cpp
+index f1b5c03..dec7424 100644
+--- a/ACL/src/Transport/HTTP2Transport.cpp
++++ b/ACL/src/Transport/HTTP2Transport.cpp
+@@ -618,7 +618,13 @@ HTTP2Transport::State HTTP2Transport::handleConnecting() {
+ return m_state;
+ }
+
+- return monitorSharedQueueWhileWaiting(State::CONNECTING);
++ // Wait for connection for the same length of time as the post-connection
++ // inactivity monitor timeout (currently 5 minutes).
++ // This seems to avoid triggering an issue where connecting deadlocks when
++ // using the maximum timeout of std::chrono:steady_clock.
++ std::chrono::time_point<std::chrono::steady_clock> timeout =
++ std::chrono::steady_clock::now() + INACTIVITY_TIMEOUT;
++ return monitorSharedQueueWhileWaiting(State::CONNECTING, timeout);
+ }
+
+ HTTP2Transport::State HTTP2Transport::handleWaitingToRetryConnecting() {
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend b/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend
new file mode 100644
index 00000000..3b1bc32c
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI += "file://0001-connection-deadlock-workaround.patch"
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend
new file mode 100644
index 00000000..a4a0c57b
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-car-control/aac-module-car-control.bbappend
@@ -0,0 +1,3 @@
+# Fix nlohmann dependency to pick up newer nlohmann-json recipe in meta-oe
+DEPENDS:remove = "nlohmann"
+DEPENDS:append = " nlohmann-json"
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend
new file mode 100644
index 00000000..a4a0c57b
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-messaging/aac-module-messaging.bbappend
@@ -0,0 +1,3 @@
+# Fix nlohmann dependency to pick up newer nlohmann-json recipe in meta-oe
+DEPENDS:remove = "nlohmann"
+DEPENDS:append = " nlohmann-json"
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend
new file mode 100644
index 00000000..7417b494
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/aac-module-system-audio.bbappend
@@ -0,0 +1,12 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+
+# Needed for the required gstreamer-app-1.0 pkgconfig bits
+DEPENDS += "gstreamer1.0-plugins-base"
+
+AAC_PATCHES += "file://0001-update-pipewire-gstreamer-plugins.patch"
+
+# Need to enable PipeWire support
+EXTRA_OECMAKE += "-DUSE_PIPEWIRE=1"
+
+# Pull static library into appropriate package to avoid a QA error
+FILES:${PN}-staticdev += "${AAC_PREFIX}/lib/libaal.a"
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch
new file mode 100644
index 00000000..bc277588
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-modules/aac-module-system-audio/files/0001-update-pipewire-gstreamer-plugins.patch
@@ -0,0 +1,44 @@
+Update PipeWire gstreamer plugins
+
+Update PipeWire sink and source to handle drop of pwaudiosink and
+pwaudiosrc in favor of pipewire* replacements. However, testing
+has found that Alexa does not work with pipewiresrc (input hangs
+after first interaction), so for now use "alsasrc device=pipewire"
+as a workaround as recommended by upstream.
+
+Given that Amazon has dropped AGL support, this patch will need to
+be carried locally.
+
+Upstream-Status: Inappropriate [no upstream]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ lib/aal/src/gstreamer/player.c | 2 +-
+ lib/aal/src/gstreamer/recorder.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/aal/src/gstreamer/player.c b/lib/aal/src/gstreamer/player.c
+index 5dd6627..5ff9402 100644
+--- a/lib/aal/src/gstreamer/player.c
++++ b/lib/aal/src/gstreamer/player.c
+@@ -142,7 +142,7 @@ static aal_handle_t gstreamer_player_create(const aal_attributes_t* attr, aal_au
+ } else {
+ #ifdef USE_PIPEWIRE
+ g_info("Using Pipewire device: %s\n", attr->device);
+- sink = gstreamer_create_and_add_element(bin, "pwaudiosink", "sink");
++ sink = gstreamer_create_and_add_element(bin, "pipewiresink", "sink");
+ if (sink) {
+ GstStructure* s = gst_structure_new("properties", "media.role", G_TYPE_STRING, attr->device, NULL);
+ g_object_set(G_OBJECT(sink), "stream-properties", s, NULL);
+diff --git a/lib/aal/src/gstreamer/recorder.c b/lib/aal/src/gstreamer/recorder.c
+index ff6d464..a13b000 100644
+--- a/lib/aal/src/gstreamer/recorder.c
++++ b/lib/aal/src/gstreamer/recorder.c
+@@ -69,7 +69,7 @@ static aal_handle_t gstreamer_recorder_create(const aal_attributes_t* attr, aal_
+ strncpy(src_desc, "autoaudiosrc", sizeof(src_desc) - 1);
+ } else {
+ #ifdef USE_PIPEWIRE
+- snprintf(src_desc, sizeof(src_desc), "pwaudiosrc stream-properties=\"properties,media.role=%s\"", attr->device);
++ snprintf(src_desc, sizeof(src_desc), "alsasrc device=pipewire");
+ #else
+ g_info("Using ALSA device: %s\n", attr->device);
+ snprintf(src_desc, sizeof(src_desc), "alsasrc device=%s", attr->device);
diff --git a/_to_remove/meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb b/_to_remove/meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb
new file mode 100644
index 00000000..12f51604
--- /dev/null
+++ b/_to_remove/meta-speech-framework/meta-aac/recipes-platform/packagegroups/packagegroup-agl-voiceagent-alexa.bb
@@ -0,0 +1,14 @@
+SUMMARY = "The software for the AGL Alexa voiceagent feature"
+DESCRIPTION = "The software for the AGL Alexa voiceagent feature"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-voiceagent-alexa \
+ "
+
+RDEPENDS:${PN} = " \
+ alexa-voiceagent-service \
+ "