1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-23 03:05:48 +03:00
aports/testing/mycroft-core/0005-make-some-deps-optional.patch
2020-05-09 17:24:24 +00:00

187 lines
6.6 KiB
Diff

Upstream pull-request: https://github.com/MycroftAI/mycroft-core/pull/2575
diff --git a/.travis.yml b/.travis.yml
index c01c851d87..a0b9ab2c1c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -26,8 +26,6 @@ install:
- mkdir ${TMPDIR}
- echo ${TMPDIR}
- VIRTUALENV_ROOT=${VIRTUAL_ENV} ./dev_setup.sh
- - pip install -r requirements.txt
- - pip install -r test-requirements.txt
# command to run tests
script:
- pycodestyle mycroft test
diff --git a/LICENSE.md b/LICENSE.md
index b2719d2a5e..b882a785c0 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -208,4 +208,4 @@ Component licenses for mycroft-core:
The mycroft-core software references various Python Packages (via PIP),
each of which has a separate license. All are compatible with the
Apache 2.0 license. See the referenced packages listed in the
-"requirements.txt" file for specific terms and conditions.
+"requirements/requirements.txt" file for specific terms and conditions.
diff --git a/MANIFEST.in b/MANIFEST.in
index 1888d6da7b..1708d5345f 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,5 +1,5 @@
recursive-include mycroft/client/speech/recognizer/model *
-include requirements.txt
+include requirements/requirements.txt
include mycroft/configuration/*.conf
recursive-include mycroft/res *
recursive-include mycroft/res/snd *
diff --git a/dev_setup.sh b/dev_setup.sh
index 3c59bc427b..f7f2d90009 100755
--- a/dev_setup.sh
+++ b/dev_setup.sh
@@ -495,16 +495,26 @@ if ! grep -q "$TOP" $VENV_PATH_FILE ; then
fi
# install required python modules
-if ! pip install -r requirements.txt ; then
- echo 'Warning: Failed to install all requirements. Continue? y/N'
+if ! pip install -r requirements/requirements.txt ; then
+ echo 'Warning: Failed to install required dependencies. 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..."
+# install optional python modules
+if ! pip install -r requirements/requirements-optional.txt ; then
+ echo 'Warning: Failed to install optional dependencies. Continue? y/N'
+ read -n1 continue
+ if [[ $continue != 'y' ]] ; then
+ exit 1
+ fi
+fi
+
+
+if ! pip install -r requirements/requirements-tests.txt ; then
+ echo "Warning: Test requirements failed to install. Note: normal operation should still work fine..."
fi
SYSMEM=$(free | awk '/^Mem:/ { print $2 }')
@@ -563,4 +573,4 @@ if [[ ! -w /var/log/mycroft/ ]] ; then
fi
#Store a fingerprint of setup
-md5sum requirements.txt test-requirements.txt dev_setup.sh > .installed
+md5sum requirements/requirements.txt requirements/requirements-optional.txt requirements/requirements-tests.txt dev_setup.sh > .installed
diff --git a/mycroft/client/enclosure/generic/__init__.py b/mycroft/client/enclosure/generic/__init__.py
index 6256498add..a86dda739c 100644
--- a/mycroft/client/enclosure/generic/__init__.py
+++ b/mycroft/client/enclosure/generic/__init__.py
@@ -15,7 +15,6 @@
import subprocess
import time
import sys
-from alsaaudio import Mixer
from threading import Thread, Timer
import mycroft.dialog
diff --git a/requirements/requirements-optional.txt b/requirements/requirements-optional.txt
new file mode 100644
index 0000000000..4a62dad731
--- /dev/null
+++ b/requirements/requirements-optional.txt
@@ -0,0 +1,4 @@
+pychromecast==3.2.2
+python-vlc==1.1.2
+pyalsaaudio==0.8.2
+google-api-python-client==1.6.4
diff --git a/test-requirements.txt b/requirements/requirements-tests.txt
similarity index 90%
rename from test-requirements.txt
rename to requirements/requirements-tests.txt
index 874a0f130d..9e038123e5 100644
--- a/test-requirements.txt
+++ b/requirements/requirements-tests.txt
@@ -7,3 +7,5 @@ sphinx==2.2.1
sphinx-rtd-theme==0.4.3
git+https://github.com/behave/behave@v1.2.7.dev1
allure-behave==2.8.10
+
+python-vlc==1.1.2
diff --git a/requirements.txt b/requirements/requirements.txt
similarity index 83%
rename from requirements.txt
rename to requirements/requirements.txt
index db2fa43738..f86a81b4bf 100644
--- a/requirements.txt
+++ b/requirements/requirements.txt
@@ -7,16 +7,12 @@ SpeechRecognition==3.8.1
tornado==6.0.3
websocket-client==0.54.0
requests-futures==0.9.5
-pyalsaaudio==0.8.2
pyserial==3.0
psutil==5.6.6
pocketsphinx==0.1.0
inflection==0.3.1
pillow==7.1.2
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==5.1.2
diff --git a/scripts/my-info.sh b/scripts/my-info.sh
index a3b944308e..e395411120 100644
--- a/scripts/my-info.sh
+++ b/scripts/my-info.sh
@@ -144,7 +144,7 @@ function checkmimic() {
# pythoning!
function checkPIP() {
mlog "Python checks"
- mlog " - Verifying ${MYCROFT_HOME}/requirements.txt:"
+ mlog " - Verifying ${MYCROFT_HOME}/requirements/requirements.txt:"
if workon mycroft ; then
pip list > /tmp/mycroft-piplist.$$
diff --git a/setup.py b/setup.py
index c98f7b4f8f..2e171d66b6 100644
--- a/setup.py
+++ b/setup.py
@@ -56,7 +56,9 @@ setup(
author_email='devs@mycroft.ai',
url='https://github.com/MycroftAI/mycroft-core',
description='Mycroft Core',
- install_requires=required('requirements.txt'),
+ install_requires=required('requirements/requirements.txt'),
+ extras_requires=required('requirements/requirements-optional.txt'),
+ tests_requires=required('requirements/requirements-tests.txt'),
packages=find_packages(include=['mycroft*']),
include_package_data=True,
diff --git a/test/Dockerfile.test b/test/Dockerfile.test
index 87e3c85287..32554af019 100644
--- a/test/Dockerfile.test
+++ b/test/Dockerfile.test
@@ -64,12 +64,14 @@ RUN python3 -m venv "/opt/mycroft/mycroft-core/.venv"
# determine if any changes have been made since it last started
WORKDIR /opt/mycroft/mycroft-core
RUN .venv/bin/python -m pip install pip==20.0.2
-COPY requirements.txt .
+COPY requirements/requirements.txt .
RUN .venv/bin/python -m pip install -r requirements.txt
-COPY test-requirements.txt .
-RUN .venv/bin/python -m pip install -r test-requirements.txt
+COPY requirements/requirements-optional.txt .
+RUN .venv/bin/python -m pip install -r requirements-optional.txt
+COPY requirements/requirements-tests.txt .
+RUN .venv/bin/python -m pip install -r requirements-tests.txt
COPY dev_setup.sh .
-RUN md5sum requirements.txt test-requirements.txt dev_setup.sh > .installed
+RUN md5sum requirements.txt requirements-tests.txt requirements-optional.txt dev_setup.sh > .installed
# Add the mycroft core virtual environment to the system path.
ENV PATH /opt/mycroft/mycroft-core/.venv/bin:$PATH