mirror of
https://github.com/rhasspy/rhasspy.git
synced 2022-02-12 01:59:45 +03:00
Fixes for Docker build
This commit is contained in:
22
Dockerfile
22
Dockerfile
@@ -57,7 +57,7 @@ RUN apt-get install --no-install-recommends --yes \
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# Build stage for armv6
|
||||
FROM balenalib/raspberry-pi-debian-python:3.7-buster-build-20200604 as build-armv6
|
||||
FROM balenalib/raspberry-pi-debian-python:3.7-buster-build as build-armv6
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
@@ -86,12 +86,8 @@ ENV BUILD_DIR=/build
|
||||
|
||||
# Directory of prebuilt tools
|
||||
ENV DOWNLOAD_DIR=${BUILD_DIR}/download
|
||||
COPY download/shared/ ${DOWNLOAD_DIR}/
|
||||
COPY download/${TARGETARCH}${TARGETVARIANT}/ ${DOWNLOAD_DIR}/
|
||||
|
||||
# IFDEF NOAVX
|
||||
#! RUN mv ${DOWNLOAD_DIR}/noavx/* ${DOWNLOAD_DIR}/
|
||||
# ENDIF
|
||||
COPY download/shared/ ${DOWNLOAD_DIR}/shared/
|
||||
COPY download/${TARGETARCH}${TARGETVARIANT}/ ${DOWNLOAD_DIR}/${TARGETARCH}${TARGETVARIANT}/
|
||||
|
||||
# Copy Rhasspy module requirements
|
||||
COPY rhasspy-server-hermes/requirements.txt ${BUILD_DIR}/rhasspy-server-hermes/
|
||||
@@ -149,9 +145,12 @@ COPY RHASSPY_DIRS ${BUILD_DIR}/
|
||||
#! ENV PIP_TRUSTED_HOST=${PYPI_PROXY_HOST}
|
||||
# ENDIF
|
||||
|
||||
RUN export PIP_INSTALL_ARGS="-f ${DOWNLOAD_DIR}" && \
|
||||
RUN export PIP_INSTALL_ARGS="-f ${DOWNLOAD_DIR}/shared -f ${DOWNLOAD_DIR}/${TARGETARCH}${TARGETVARIANT}" && \
|
||||
export PIP_PREINSTALL_PACKAGES='numpy==1.20.1 scipy==1.5.1' && \
|
||||
export PIP_VERSION='pip==20.2.4' && \
|
||||
export PIP_VERSION='pip<=20.2.4' && \
|
||||
if [ "${TARGETARCH}${TARGETVARIANT}" = 'amd64' ]; then \
|
||||
export PIP_PREINSTALL_PACKAGES="${PIP_PREINSTALL_PACKAGES} detect-simd~=0.2.0"; \
|
||||
fi && \
|
||||
if [ ! "${TARGETARCH}${TARGETVARIANT}" = 'armv6' ]; then \
|
||||
export PIP_PREINSTALL_PACKAGES="${PIP_PREINSTALL_PACKAGES} scikit-learn==0.23.2"; \
|
||||
fi && \
|
||||
@@ -185,7 +184,8 @@ RUN apt-get update && \
|
||||
espeak flite \
|
||||
gstreamer1.0-tools gstreamer1.0-plugins-good \
|
||||
libsndfile1 libgomp1 libatlas3-base libgfortran4 libopenblas-base \
|
||||
libjbig0 liblcms2-2 libopenjp2-7 libtiff5 libwebp6 libwebpdemux2 libwebpmux3
|
||||
libjbig0 liblcms2-2 libopenjp2-7 libtiff5 libwebp6 libwebpdemux2 libwebpmux3 \
|
||||
libatomic1
|
||||
|
||||
# IFDEF PROXY
|
||||
#! RUN rm -f /etc/apt/apt.conf.d/01proxy
|
||||
@@ -200,7 +200,7 @@ FROM run-debian as run-arm64
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# Run stage for armv6
|
||||
FROM balenalib/raspberry-pi-debian-python:3.7-buster-run-20200604 as run-armv6
|
||||
FROM balenalib/raspberry-pi-debian-python:3.7-buster-run as run-armv6
|
||||
|
||||
# IFDEF PROXY
|
||||
#! RUN echo 'Acquire::http { Proxy "http://${APT_PROXY_HOST}:${APT_PROXY_PORT}"; };' >> /etc/apt/apt.conf.d/01proxy
|
||||
|
||||
@@ -10,12 +10,10 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get update && \
|
||||
apt-get install --no-install-recommends --yes \
|
||||
build-essential swig portaudio19-dev \
|
||||
llvm-7-dev libatlas-base-dev libopenblas-dev gfortran \
|
||||
libatlas-base-dev libopenblas-dev gfortran \
|
||||
gfortran libopenblas-dev liblapack-dev cython \
|
||||
curl ca-certificates
|
||||
|
||||
ENV LLVM_CONFIG=/usr/bin/llvm-config-7
|
||||
|
||||
ENV NUM_JOBS=8
|
||||
|
||||
ENV BUILD_DIR=/build
|
||||
@@ -29,7 +27,7 @@ FROM base as base-armv7
|
||||
|
||||
FROM base as base-arm64
|
||||
|
||||
FROM balenalib/raspberry-pi-debian:buster-build-20200604 as base-armv6
|
||||
FROM balenalib/raspberry-pi-debian:buster-build as base-armv6
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
@@ -93,12 +91,8 @@ ARG TARGETVARIANT
|
||||
|
||||
# Directory of prebuilt tools
|
||||
ENV DOWNLOAD_DIR=${BUILD_DIR}/download
|
||||
COPY download/shared/ ${DOWNLOAD_DIR}/
|
||||
COPY download/${TARGETARCH}${TARGETVARIANT}/ ${DOWNLOAD_DIR}/
|
||||
|
||||
# IFDEF NOAVX
|
||||
#! RUN mv download/noavx/* download/
|
||||
# ENDIF
|
||||
COPY download/shared/ ${DOWNLOAD_DIR}/shared/
|
||||
COPY download/${TARGETARCH}${TARGETVARIANT}/ ${DOWNLOAD_DIR}/${TARGETARCH}${TARGETVARIANT}/
|
||||
|
||||
# Copy Rhasspy source
|
||||
COPY rhasspy/ ${APP_DIR}/rhasspy/
|
||||
@@ -151,9 +145,13 @@ COPY etc/shflags ${APP_DIR}/etc/
|
||||
COPY etc/wav/ ${APP_DIR}/etc/wav/
|
||||
COPY README.md LICENSE RHASSPY_DIRS ${APP_DIR}/
|
||||
|
||||
RUN export PIP_INSTALL_ARGS="-f ${DOWNLOAD_DIR}" && \
|
||||
RUN export PIP_INSTALL_ARGS="-f ${DOWNLOAD_DIR}/shared -f ${DOWNLOAD_DIR}/${TARGETARCH}${TARGETVARIANT}" && \
|
||||
export PIP_PRE_PREINSTALL_PACKAGES='cython' && \
|
||||
export PIP_PREINSTALL_PACKAGES='numpy==1.20.1 scipy==1.5.1' && \
|
||||
export PIP_VERSION='pip==20.2.4' && \
|
||||
export PIP_VERSION='pip<=20.2.4' && \
|
||||
if [ "${TARGETARCH}${TARGETVARIANT}" = 'amd64' ]; then \
|
||||
export PIP_PREINSTALL_PACKAGES="${PIP_PREINSTALL_PACKAGES} detect-simd~=0.2.0"; \
|
||||
fi && \
|
||||
if [ ! "${TARGETARCH}${TARGETVARIANT}" = 'armv6' ]; then \
|
||||
export PIP_PREINSTALL_PACKAGES="${PIP_PREINSTALL_PACKAGES} scikit-learn==0.23.2"; \
|
||||
fi && \
|
||||
@@ -188,4 +186,4 @@ RUN cd ${BUILD_DIR} && \
|
||||
|
||||
FROM scratch
|
||||
|
||||
COPY --from=rhasspy /build/*.deb /
|
||||
COPY --from=rhasspy /build/*.deb /
|
||||
|
||||
@@ -47,8 +47,8 @@ ARG TARGETVARIANT
|
||||
|
||||
# Directory of prebuilt tools
|
||||
ENV DOWNLOAD_DIR=${BUILD_DIR}/download
|
||||
COPY download/shared/ ${DOWNLOAD_DIR}/
|
||||
COPY download/${TARGETARCH}${TARGETVARIANT}/ ${DOWNLOAD_DIR}/
|
||||
COPY download/shared/ ${DOWNLOAD_DIR}/shared/
|
||||
COPY download/${TARGETARCH}${TARGETVARIANT}/ ${DOWNLOAD_DIR}/${TARGETARCH}${TARGETVARIANT}/
|
||||
|
||||
# IFDEF NOAVX
|
||||
#! RUN mv ${DOWNLOAD_DIR}/noavx/* ${DOWNLOAD_DIR}/
|
||||
@@ -110,9 +110,12 @@ COPY RHASSPY_DIRS ${BUILD_DIR}/
|
||||
#! ENV PIP_TRUSTED_HOST=${PYPI_PROXY_HOST}
|
||||
# ENDIF
|
||||
|
||||
RUN export PIP_INSTALL_ARGS="-f ${DOWNLOAD_DIR}" && \
|
||||
RUN export PIP_INSTALL_ARGS="-f ${DOWNLOAD_DIR}/shared -f ${DOWNLOAD_DIR}/${TARGETARCH}${TARGETVARIANT}" && \
|
||||
export PIP_PREINSTALL_PACKAGES='numpy==1.20.1 scipy==1.5.1' && \
|
||||
export PIP_VERSION='pip==20.2.4' && \
|
||||
if [ "${TARGETARCH}${TARGETVARIANT}" = 'amd64' ]; then \
|
||||
export PIP_PREINSTALL_PACKAGES="${PIP_PREINSTALL_PACKAGES} detect-simd~=0.2.0"; \
|
||||
fi && \
|
||||
if [ ! "${TARGETARCH}${TARGETVARIANT}" = 'armv6' ]; then \
|
||||
export PIP_PREINSTALL_PACKAGES="${PIP_PREINSTALL_PACKAGES} scikit-learn==0.23.2"; \
|
||||
fi && \
|
||||
@@ -148,7 +151,7 @@ RUN apt-get update && \
|
||||
gstreamer1.0-tools gstreamer1.0-plugins-good \
|
||||
libsndfile1 libgomp1 libatlas3-base libgfortran4 libopenblas-base \
|
||||
libjbig0 liblcms2-2 libopenjp2-7 libtiff5 libwebp6 libwebpdemux2 libwebpmux3 \
|
||||
libnuma1
|
||||
libatomic1
|
||||
|
||||
# IFDEF PROXY
|
||||
#! RUN rm -f /etc/apt/apt.conf.d/01proxy
|
||||
|
||||
@@ -147,6 +147,7 @@ ifeq ($(VIRTUALENV),yes)
|
||||
"$(VENV_PYTHON)" -m pip install $(PIP_INSTALL_ARGS) cython
|
||||
endif # VIRTUALENV == yes
|
||||
|
||||
if [[ -n "$(PIP_PRE_PREINSTALL_PACKAGES)" ]]; then "$(INSTALL_PYTHON)" -m pip install $(PIP_INSTALL_ARGS) $(PIP_PRE_PREINSTALL_PACKAGES); fi
|
||||
if [[ -n "$(PIP_PREINSTALL_PACKAGES)" ]]; then "$(INSTALL_PYTHON)" -m pip install $(PIP_INSTALL_ARGS) $(PIP_PREINSTALL_PACKAGES); fi
|
||||
|
||||
.PHONY: install-opengrm install-phonetisaurus install-precise install-pocketsphinx install-kaldi install-julius install-snowboy install-deepspeech install-kenlm install-nanotts install-larynx
|
||||
|
||||
2
debian/control.in
vendored
2
debian/control.in
vendored
@@ -2,7 +2,7 @@ Package: rhasspy
|
||||
Version: @VERSION@
|
||||
Section: utils
|
||||
Priority: optional
|
||||
Depends: jq,sox,libportaudio2,libatlas3-base,libstdc++6,libgfortran4,supervisor,libopenblas-dev,llvm-7-runtime
|
||||
Depends: jq,sox,libportaudio2,libatlas3-base,libstdc++6,libgfortran4,supervisor,libopenblas-base,libgomp1,libatomic1
|
||||
Recommends: alsa-utils,espeak,flite,mosquitto
|
||||
Architecture: @DEBIAN_ARCH@
|
||||
Maintainer: Michael Hansen
|
||||
|
||||
Submodule rhasspy-server-hermes updated: f5ac3ecbac...87d2397272
Submodule rhasspy-tts-larynx-hermes updated: 22d4682c4d...b7536f2769
@@ -102,6 +102,11 @@ enable_wavenet = is_yes("@ENABLE_WAVENET@")
|
||||
if not enable_wavenet:
|
||||
packages.pop("rhasspytts_wavenet_hermes")
|
||||
|
||||
# larynx
|
||||
enable_larynx = is_yes("@ENABLE_LARYNX@")
|
||||
if not enable_larynx:
|
||||
packages.pop("rhasspytts_larynx_hermes")
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# True if Rhasspy Python modules will be used directly from source instead of
|
||||
|
||||
Reference in New Issue
Block a user