70 lines
1.8 KiB
Bash
Executable File
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
|
|
|