mycroft-core/scripts/install-pocketsphinx.sh

70 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
# exit on any error
set -Ee
#TOP="."
function enable_local {
sed -i -- 's/from pocketsphinx.pocketsphinx import Decoder/from pocketsphinx import Decoder/g' mycroft/client/speech/local_recognizer.py
}
function disable_local {
sed -i -- 's/from pocketsphinx import Decoder/from pocketsphinx.pocketsphinx import Decoder/g' mycroft/client/speech/local_recognizer.py
}
function install_pocketsphinx {
# clone pocketsphinx-python at HEAD (fix to a constant version later)
if [ ! -d ${TOP}/pocketsphinx-python ]; then
# build sphinxbase and pocketsphinx if we haven't already
git clone --recursive https://github.com/cmusphinx/pocketsphinx-python
pushd ./pocketsphinx-python/sphinxbase
./autogen.sh
./configure
make -j$CORES
popd
pushd ./pocketsphinx-python/pocketsphinx
./autogen.sh
./configure
make -j$CORES
popd
fi
# build and install pocketsphinx python bindings
cd ${TOP}/pocketsphinx-python
python setup.py install
}
if [ "$1" = "-q" ]; then
enable_local
install_pocketsphinx
exit 0
fi
echo "This script will checkout, compile, and install pocketsphinx locally if the debian package python-pocketsphinx is not available"
PS3='Please enter your choice: '
options=("Enable local checkout, compile and install" "Disable local checkout and exit" "Do nothing and quit")
select opt in "${options[@]}"
do
case $opt in
"Enable local checkout, compile and install")
echo "you chose choice 1"
enable_local
install_pocketsphinx
;;
"Disable local checkout and exit")
echo "you chose choice 2"
disable_local
exit 0
;;
"Do nothing and quit")
echo "you chose choice 3"
exit 0
;;
*) echo invalid option;;
esac
done