mycroft: remove obsolete recipe

Mycroft made its last release in 2021 and was formally abandoned in 2024:

  Mycroft core is no longer maintaiend and probably likely not work on
  your computer anymore. Open Voice OS and Neon-core are both spiritual
  successors to Mycroft. (And some of the old code may live on there.)

The version we packaged was from 2019 and nobody cared enought to upgrade
it to any of the sixteen later releases, so I don't believe anyone is
using it.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Ross Burton
2026-09-20 23:24:07 -07:00
committed by Khem Raj
parent 6913a597d3
commit 0c466440f9
12 changed files with 0 additions and 686 deletions
@@ -1,194 +0,0 @@
From 07fce2101d83b5334de78e661ba0361c2874ebdf Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Mon, 18 Mar 2019 16:30:45 -0700
Subject: [PATCH 1/7] Remove python venv
Remove the python venv requirements and instead just use the native
python and pip pacakges.
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
dev_setup.sh | 39 ---------------------------------------
start-mycroft.sh | 13 -------------
venv-activate.sh | 44 +-------------------------------------------
3 files changed, 1 insertion(+), 95 deletions(-)
diff --git a/dev_setup.sh b/dev_setup.sh
index cf81ed25f0f..99a44bfd8a7 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -338,18 +338,6 @@ ${YELLOW}Make sure to manually install:$BLUE git python3 python-setuptools pytho
fi
}
-VIRTUALENV_ROOT=${VIRTUALENV_ROOT:-"${TOP}/.venv"}
-
-function install_venv() {
- $opt_python -m venv "${VIRTUALENV_ROOT}/" --without-pip
- # Force version of pip for reproducability, but there is nothing special
- # about this version. Update whenever a new version is released and
- # verified functional.
- curl https://bootstrap.pypa.io/3.3/get-pip.py | "${VIRTUALENV_ROOT}/bin/python" - 'pip==18.0.0'
- # Function status depending on if pip exists
- [[ -x ${VIRTUALENV_ROOT}/bin/pip ]]
-}
-
install_deps
# Configure to use the standard commit template for
@@ -383,17 +371,6 @@ else
fi
fi
-if [[ ! -x ${VIRTUALENV_ROOT}/bin/activate ]] ; then
- if ! install_venv ; then
- echo 'Failed to set up virtualenv for mycroft, exiting setup.'
- exit 1
- fi
-fi
-
-# Start the virtual environment
-source "${VIRTUALENV_ROOT}/bin/activate"
-cd "$TOP"
-
# Install pep8 pre-commit hook
HOOK_FILE='./.git/hooks/pre-commit'
if [[ -n $INSTALL_PRECOMMIT_HOOK ]] || grep -q 'MYCROFT DEV SETUP' $HOOK_FILE; then
@@ -408,22 +385,6 @@ fi
PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
-# Add mycroft-core to the virtualenv path
-# (This is equivalent to typing 'add2virtualenv $TOP', except
-# you can't invoke that shell function from inside a script)
-VENV_PATH_FILE="${VIRTUALENV_ROOT}/lib/$PYTHON/site-packages/_virtualenv_path_extensions.pth"
-if [[ ! -f $VENV_PATH_FILE ]] ; then
- echo 'import sys; sys.__plen = len(sys.path)' > "$VENV_PATH_FILE" || return 1
- echo "import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)" >> "$VENV_PATH_FILE" || return 1
-fi
-
-if ! grep -q "$TOP" $VENV_PATH_FILE ; then
- echo 'Adding mycroft-core to virtualenv path'
- sed -i.tmp '1 a\
-'"$TOP"'
-' "$VENV_PATH_FILE"
-fi
-
# install required python modules
if ! pip install -r requirements.txt ; then
echo 'Warning: Failed to install all requirements. Continue? y/N'
diff --git a/start-mycroft.sh b/start-mycroft.sh
index 0f88430982e..3aed2f189d4 100755
--- a/start-mycroft.sh
+++ b/start-mycroft.sh
@@ -20,7 +20,6 @@ script=${0}
script=${script##*/}
cd -P "$( dirname "$SOURCE" )"
DIR="$( pwd )"
-VIRTUALENV_ROOT=${VIRTUALENV_ROOT:-"${DIR}/.venv"}
function help() {
echo "${script}: Mycroft command/service launcher"
@@ -76,19 +75,11 @@ function name-to-script-path() {
esac
}
-function source-venv() {
- # Enter Python virtual environment, unless under Docker
- if [ ! -f "/.dockerenv" ] ; then
- source ${VIRTUALENV_ROOT}/bin/activate
- fi
-}
-
first_time=true
function init-once() {
if ($first_time) ; then
echo "Initializing..."
"${DIR}/scripts/prepare-msm.sh"
- source-venv
first_time=false
fi
}
@@ -225,15 +216,12 @@ case ${_opt} in
# launch-background ${_opt}
# ;;
"unittest")
- source-venv
pytest test/unittests/ --cov=mycroft "$@"
;;
"singleunittest")
- source-venv
pytest "$@"
;;
"skillstest")
- source-venv
pytest test/integrationtests/skills/discover_tests.py "$@"
;;
"audiotest")
@@ -243,7 +231,6 @@ case ${_opt} in
launch-process ${_opt}
;;
"sdkdoc")
- source-venv
cd doc
make ${_params}
cd ..
diff --git a/venv-activate.sh b/venv-activate.sh
index d1e7bcb44e7..10b46d4de3b 100644
--- a/venv-activate.sh
+++ b/venv-activate.sh
@@ -22,49 +22,7 @@
# wrap in function to allow local variables, since this file will be source'd
function main() {
- local quiet=0
-
- for arg in "$@"
- do
- case $arg in
- "-q"|"--quiet" )
- quiet=1
- ;;
-
- "-h"|"--help" )
- echo "venv-activate.sh: Enter the Mycroft virtual environment"
- echo "Usage:"
- echo " source venv-activate.sh"
- echo "or"
- echo " . venv-activate.sh"
- echo ""
- echo "Options:"
- echo " -q | --quiet Don't show instructions."
- echo " -h | --help Show help."
- return 0
- ;;
-
- *)
- echo "ERROR: Unrecognized option: $@"
- return 1
- ;;
- esac
- done
-
- if [ "$0" == "$BASH_SOURCE" ] ; then
- # Prevent running in script then exiting immediately
- echo "ERROR: Invoke with 'source venv-activate.sh' or '. venv-activate.sh'"
- else
- local SRC_DIR="$( builtin cd "$( dirname "${BASH_SOURCE}" )" ; pwd -P )"
- source ${SRC_DIR}/.venv/bin/activate
-
- # Provide an easier to find "mycroft-" prefixed command.
- unalias mycroft-venv-activate 2>/dev/null
- alias mycroft-venv-deactivate="deactivate && unalias mycroft-venv-deactivate 2>/dev/null && alias mycroft-venv-activate=\"source '${SRC_DIR}/venv-activate.sh'\""
- if [ $quiet -eq 0 ] ; then
- echo "Entering Mycroft virtual environment. Run 'mycroft-venv-deactivate' to exit"
- fi
- fi
+ echo "Not entering Python VENV"
}
main $@
--
2.23.0
@@ -1,48 +0,0 @@
From 88696037af52d6a7f57bc0fb82598de1a25365cc Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Fri, 29 Mar 2019 16:09:57 -0700
Subject: [PATCH 2/7] dev_setup.sh: Remove the git dependency
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
dev_setup.sh | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/dev_setup.sh b/dev_setup.sh
index 99a44bfd8a7..672b27080c2 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -340,10 +340,6 @@ ${YELLOW}Make sure to manually install:$BLUE git python3 python-setuptools pytho
install_deps
-# Configure to use the standard commit template for
-# this repo only.
-git config commit.template .gitmessage
-
# Check whether to build mimic (it takes a really long time!)
build_mimic='n'
if [[ $opt_forcemimicbuild == true ]] ; then
@@ -371,18 +367,6 @@ else
fi
fi
-# Install pep8 pre-commit hook
-HOOK_FILE='./.git/hooks/pre-commit'
-if [[ -n $INSTALL_PRECOMMIT_HOOK ]] || grep -q 'MYCROFT DEV SETUP' $HOOK_FILE; then
- if [[ ! -f $HOOK_FILE ]] || grep -q 'MYCROFT DEV SETUP' $HOOK_FILE; then
- echo 'Installing PEP8 check as precommit-hook'
- echo "#! $(which python)" > $HOOK_FILE
- echo '# MYCROFT DEV SETUP' >> $HOOK_FILE
- cat ./scripts/pre-commit >> $HOOK_FILE
- chmod +x $HOOK_FILE
- fi
-fi
-
PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
# install required python modules
--
2.23.0
@@ -1,37 +0,0 @@
From 5ef52cdea278a1dff966a912549cb6708f2cb699 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Tue, 17 Sep 2019 11:31:47 -0700
Subject: [PATCH 3/7] dev_setup.sh: Remove the TERM dependency
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
dev_setup.sh | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/dev_setup.sh b/dev_setup.sh
index 672b27080c2..72f734f36bf 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -115,18 +115,6 @@ function get_YN() {
done
}
-# If tput is available and can handle multiple colors
-if found_exe tput ; then
- if [[ $(tput colors) != "-1" ]]; then
- GREEN=$(tput setaf 2)
- BLUE=$(tput setaf 4)
- CYAN=$(tput setaf 6)
- YELLOW=$(tput setaf 3)
- RESET=$(tput sgr0)
- HIGHLIGHT=$YELLOW
- fi
-fi
-
# Run a setup wizard the very first time that guides the user through some decisions
if [[ ! -f .dev_opts.json && -z $CI ]] ; then
echo "
--
2.23.0
@@ -1,31 +0,0 @@
From e3b6ca995caca22e65d012a54bc2aeb08eb7e9d4 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Tue, 15 Oct 2019 17:09:06 -0700
Subject: [PATCH 4/7] dev_setup.sh: Ignore missing package manager
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
dev_setup.sh | 6 ------
1 file changed, 6 deletions(-)
diff --git a/dev_setup.sh b/dev_setup.sh
index 72f734f36bf..0c8e11b8170 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -317,12 +317,6 @@ Please review the following package changes carefully."
echo -e "${YELLOW}Could not find package manager
${YELLOW}Make sure to manually install:$BLUE git python3 python-setuptools python-venv pygobject libtool libffi libjpg openssl autoconf bison swig glib2.0 portaudio19 mpg123 flac curl fann g++ jq\n$RESET"
- echo 'Warning: Failed to install all dependencies. Continue? y/N'
- read -n1 continue
- if [[ $continue != 'y' ]] ; then
- exit 1
- fi
-
fi
}
--
2.23.0
@@ -1,103 +0,0 @@
From 04b14c4569309f1a433d955773aeb8a3607a1360 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Tue, 19 Mar 2019 13:32:54 -0700
Subject: [PATCH 5/7] pip requirements: Don't install requirements with pip
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
dev_setup.sh | 15 +--------------
requirements.txt | 36 ------------------------------------
test-requirements.txt | 7 -------
3 files changed, 1 insertion(+), 57 deletions(-)
delete mode 100644 requirements.txt
delete mode 100644 test-requirements.txt
diff --git a/dev_setup.sh b/dev_setup.sh
index 0c8e11b8170..be4a19de0c3 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -351,19 +351,6 @@ fi
PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
-# install required python modules
-if ! pip install -r requirements.txt ; then
- echo 'Warning: Failed to install all requirements. Continue? y/N'
- read -n1 continue
- if [[ $continue != 'y' ]] ; then
- exit 1
- fi
-fi
-
-if ! pip install -r test-requirements.txt ; then
- echo "Warning test requirements wasn't installed, Note: normal operation should still work fine..."
-fi
-
SYSMEM=$(free | awk '/^Mem:/ { print $2 }')
MAXCORES=$(($SYSMEM / 512000))
MINCORES=1
@@ -420,4 +407,4 @@ if [[ ! -w /var/log/mycroft/ ]] ; then
fi
#Store a fingerprint of setup
-md5sum requirements.txt test-requirements.txt dev_setup.sh > .installed
+md5sum dev_setup.sh > .installed
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index 0140d5465dc..00000000000
--- a/requirements.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-six==1.10.0
-cryptography==2.6.1
-requests==2.20.0
-gTTS==2.0.3
-gTTS-token==1.1.3
-PyAudio==0.2.11
-pyee==5.0.0
-SpeechRecognition==3.8.1
-tornado==4.5.3
-websocket-client==0.54.0
-requests-futures==0.9.5
-pyalsaaudio==0.8.2
-xmlrunner==1.7.7
-pyserial==3.0
-psutil==5.2.1
-pocketsphinx==0.1.0
-inflection==0.3.1
-pillow==4.1.1
-python-dateutil==2.6.0
-pychromecast==3.2.2
-python-vlc==1.1.2
-google-api-python-client==1.6.4
-fasteners==0.14.1
-PyYAML==3.13
-
-msm==0.8.3
-msk==0.3.13
-adapt-parser==0.3.3
-padatious==0.4.6
-fann2==1.0.7
-padaos==0.1.9
-precise-runner==0.2.1
-petact==0.1.2
-
-# dev setup tools
-pep8==1.7.0
diff --git a/test-requirements.txt b/test-requirements.txt
deleted file mode 100644
index fd129e3f66d..00000000000
--- a/test-requirements.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-pycodestyle===2.5.0
-coveralls==1.5.0
-pytest==3.5.0
-pytest-cov==2.5.1
-cov-core==1.15.0
-sphinx==1.8.2
-sphinx-rtd-theme==0.4.2
--
2.23.0
@@ -1,121 +0,0 @@
From 86a1d18d96f827baa0c1029c85a53fc89d436e17 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Tue, 19 Mar 2019 13:38:44 -0700
Subject: [PATCH 6/7] Use python3 and pip3 instead of python and pip
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
bin/mycroft-cli-client | 2 +-
bin/mycroft-pip | 2 +-
bin/mycroft-say-to | 2 +-
bin/mycroft-skill-testrunner | 4 ++--
bin/mycroft-speak | 2 +-
dev_setup.sh | 6 +++---
scripts/install-pocketsphinx.sh | 2 +-
7 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/bin/mycroft-cli-client b/bin/mycroft-cli-client
index f40a316e3f6..de2040d9e67 100755
--- a/bin/mycroft-cli-client
+++ b/bin/mycroft-cli-client
@@ -21,4 +21,4 @@ DIR="$( dirname "$SOURCE" )"
source "$DIR/../venv-activate.sh" -q
# Invoke the Command Line Interface
-python -m mycroft.client.text $@
+python3 -m mycroft.client.text $@
diff --git a/bin/mycroft-pip b/bin/mycroft-pip
index a42b16b847a..81bd5bfb3cf 100755
--- a/bin/mycroft-pip
+++ b/bin/mycroft-pip
@@ -21,4 +21,4 @@ DIR="$( dirname "$SOURCE" )"
source "$DIR/../venv-activate.sh" -q
# Install pip packages within the Mycroft venv
-pip $@
\ No newline at end of file
+pip3 $@
\ No newline at end of file
diff --git a/bin/mycroft-say-to b/bin/mycroft-say-to
index 4ae597f3062..8bb4039996d 100755
--- a/bin/mycroft-say-to
+++ b/bin/mycroft-say-to
@@ -26,4 +26,4 @@ set -- "${1:-$(</dev/stdin)}" "${@:2}"
# Send a message to be spoken
data="$@"
-output=$(python -m mycroft.messagebus.send "recognizer_loop:utterance" "{\"utterances\": [\"$data\"], \"lang\": \"en-us\"}")
+output=$(python3 -m mycroft.messagebus.send "recognizer_loop:utterance" "{\"utterances\": [\"$data\"], \"lang\": \"en-us\"}")
diff --git a/bin/mycroft-skill-testrunner b/bin/mycroft-skill-testrunner
index 9699a4d138f..282f5ca65b0 100755
--- a/bin/mycroft-skill-testrunner
+++ b/bin/mycroft-skill-testrunner
@@ -22,7 +22,7 @@ source "$DIR/../venv-activate.sh" -q
# Invoke the individual skill tester
if [ "$#" -eq 0 ] ; then
- python -m test.integrationtests.skills.runner .
+ python3 -m test.integrationtests.skills.runner .
else
- python -m test.integrationtests.skills.runner $@
+ python3 -m test.integrationtests.skills.runner $@
fi
\ No newline at end of file
diff --git a/bin/mycroft-speak b/bin/mycroft-speak
index d80f0e75b13..9448ea3400f 100755
--- a/bin/mycroft-speak
+++ b/bin/mycroft-speak
@@ -24,4 +24,4 @@ source "$DIR/../venv-activate.sh" -q
# Send a message to be spoken
data="$@"
-output=$(python -m mycroft.messagebus.send "speak" "{\"utterance\": \"$data\"}")
+output=$(python3 -m mycroft.messagebus.send "speak" "{\"utterance\": \"$data\"}")
diff --git a/dev_setup.sh b/dev_setup.sh
index be4a19de0c3..2d9e17ddfd6 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -48,7 +48,7 @@ param=''
for var in "$@" ; do
# Check if parameter should be read
- if [[ $param == 'python' ]] ; then
+ if [[ $param == 'python3' ]] ; then
opt_python=$var
param=""
continue
@@ -75,7 +75,7 @@ for var in "$@" ; do
opt_skipmimicbuild=true
fi
if [[ $var == '-p' || $var == '--python' ]] ; then
- param='python'
+ param='python3'
fi
done
@@ -349,7 +349,7 @@ else
fi
fi
-PYTHON=$(python -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
+PYTHON=$(python3 -c "import sys;print('python{}.{}'.format(sys.version_info[0], sys.version_info[1]))")
SYSMEM=$(free | awk '/^Mem:/ { print $2 }')
MAXCORES=$(($SYSMEM / 512000))
diff --git a/scripts/install-pocketsphinx.sh b/scripts/install-pocketsphinx.sh
index 44d329b7985..d45f5c22747 100755
--- a/scripts/install-pocketsphinx.sh
+++ b/scripts/install-pocketsphinx.sh
@@ -47,7 +47,7 @@ function install_pocketsphinx() {
# build and install pocketsphinx python bindings
cd ${TOP}/pocketsphinx-python
- python setup.py install
+ python3 setup.py install
}
if [ "$1" = "-q" ] ; then
--
2.23.0
@@ -1,30 +0,0 @@
From b48b3d240cb0fa5e76aa5daf578e51bb8126431d Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Wed, 16 Oct 2019 09:18:39 -0700
Subject: [PATCH 7/7] mycroft.conf: Use pocketsphinx by default
precise only works on certain architectures, to make Mycroft more
versitle use pocketsphinx as it is architecture independent.
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [embedded specific]
---
mycroft/configuration/mycroft.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mycroft/configuration/mycroft.conf b/mycroft/configuration/mycroft.conf
index 1d0be0dcd2b..d2dc75dac44 100644
--- a/mycroft/configuration/mycroft.conf
+++ b/mycroft/configuration/mycroft.conf
@@ -196,7 +196,7 @@
// Hotword configurations
"hotwords": {
"hey mycroft": {
- "module": "precise",
+ "module": "pocketsphinx",
"phonemes": "HH EY . M AY K R AO F T",
"threshold": 1e-90,
"lang": "en-us"
--
2.23.0
@@ -1 +0,0 @@
{"use_branch": "dev", "auto_update": false}
@@ -1,12 +0,0 @@
[Unit]
Description=Mycroft Setup
DefaultDependencies=no
After=systemd-user-sessions.service
[Service]
Type=oneshot
ExecStart=cp -rf @LIBDIR@/mycroft /var/
ExecStart=/var/mycroft/dev_setup.sh --allow-root
[Install]
WantedBy=multi-user.target
@@ -1,14 +0,0 @@
[Unit]
Description=Mycroft
RequiresMountsFor=/var
After=mycroft-setup.service
[Service]
Type=forking
WorkingDirectory=/var/mycroft
ExecStartPre=mkdir -p /var/log/mycroft
ExecStart=/var/mycroft/start-mycroft.sh all
ExecStop=/var/mycroft/stop-mycroft.sh all
[Install]
WantedBy=multi-user.target
@@ -1,94 +0,0 @@
SUMMARY = "Mycroft is a hackable open source voice assistant."
DESCRIPTION = "Mycroft is the world’s first open source assistant. "
HOMEPAGE = "https://mycroft.ai/"
SECTION = "multimedia"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=79aa497b11564d1d419ee889e7b498f6"
SRCREV = "913f29d3d550637934f9abf43a097eb2c30d76fc"
SRC_URI = "git://github.com/MycroftAI/mycroft-core.git;branch=master;protocol=https \
file://0001-Remove-python-venv.patch \
file://0002-dev_setup.sh-Remove-the-git-dependency.patch \
file://0003-dev_setup.sh-Remove-the-TERM-dependency.patch \
file://0004-dev_setup.sh-Ignore-missing-package-manager.patch \
file://0005-pip-requirements-Don-t-install-requirements-with-pip.patch \
file://0006-Use-python3-and-pip3-instead-of-python-and-pip.patch \
file://0007-mycroft.conf-Use-pocketsphinx-by-default.patch \
file://dev_opts.json \
file://mycroft-setup.service \
file://mycroft.service \
"
inherit systemd features_check
# Mycroft installs itself on the host
# Just copy the setup files to the rootfs
# The mycroft-setup service will copy the files to /var/ where we run them from
do_install() {
install -d ${D}${libdir}/
cp -r ${B} ${D}${libdir}/mycroft
rm -r ${D}${libdir}/mycroft/.git
# Install the dev opts so it doesn't ask us on initial setup.
install -m 644 ${UNPACKDIR}/dev_opts.json ${D}${libdir}/mycroft/.dev_opts.json
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_unitdir}/system
install -m 644 ${UNPACKDIR}/mycroft-setup.service ${D}${systemd_unitdir}/system
sed -i -e 's,@LIBDIR@,${libdir},g' ${D}${systemd_unitdir}/system/mycroft-setup.service
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_unitdir}/system
install -m 644 ${UNPACKDIR}/mycroft.service ${D}${systemd_unitdir}/system
sed -i -e 's,@LIBDIR@,${libdir},g' ${D}${systemd_unitdir}/system/mycroft.service
fi
}
FILES:${PN} += "${libdir}/mycroft"
RDEPENDS:${PN} = "python3"
RDEPENDS:${PN} += "python3-requests python3-pillow \
python3-tornado python3-pyyaml \
python3-pyalsaaudio python3-inflection \
python3-pyserial python3-psutil \
python3-pyaudio python3-fann2 \
python3-pocketsphinx \
python3-xxhash python3-pako \
python3-six python3-cryptography \
python3-requests-futures \
python3-fasteners \
python3-python-vlc \
python3-padatious python3-padaos \
python3-petact python3-precise-runner \
python3-pulsectl python3-pychromecast \
python3-msm python3-msk \
python3-websocket-client \
python3-google-api-python-client \
"
# These packages need to be installed on the target
# python3-speechrecognition python3-pyee==5.0.0 python3-six==1.10.0
# python3-websocket-client==0.54.0 python3-gtts python3-gtts-token
# python3-python-dateutil python3-adapt-parser python3-lazy
# Mycroft uses Alsa, PulseAudio and Flac
RDEPENDS:${PN} += "alsa-utils alsa-plugins alsa-tools"
RDEPENDS:${PN} += "pulseaudio pulseaudio-misc pulseaudio-server"
RDEPENDS:${PN} += "flac mpg123"
# Mycroft can do this itself on the target, but it's quicker to do it here
RDEPENDS:${PN} += "mimic"
# pgrep is used by stop-mycroft.sh
RDEPENDS:${PN} += "procps"
# More tools needed by scripts
RDEPENDS:${PN} += "bash jq libnotify"
SYSTEMD_SERVICE:${PN} = "mycroft-setup.service mycroft.service"
REQUIRED_DISTRO_FEATURES += "pulseaudio"
@@ -47,7 +47,6 @@ RDEPENDS:packagegroup-meta-multimedia = "\
libopenmpt \
mimic \
${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "minidlna", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "pulseaudio", "mycroft", "", d)} \
openal-soft \
opusfile \
opus-tools \