mirror of
https://github.com/home-assistant/core
synced 2024-09-06 10:29:55 +02:00
62 lines
2.4 KiB
Plaintext
62 lines
2.4 KiB
Plaintext
ARG BUILD_VERSION
|
|
FROM homeassistant/armv7-homeassistant:$BUILD_VERSION
|
|
|
|
RUN apk --no-cache add \
|
|
raspberrypi \
|
|
raspberrypi-libs \
|
|
usbutils \
|
|
&& sed -i "s|# RPi.GPIO|RPi.GPIO|g" /usr/src/homeassistant/requirements_all.txt \
|
|
&& pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \
|
|
RPi.GPIO -c /usr/src/homeassistant/requirements_all.txt
|
|
|
|
##
|
|
# Set symlinks for raspberry pi binaries.
|
|
RUN ln -sv /opt/vc/bin/raspistill /usr/local/bin/raspistill \
|
|
&& ln -sv /opt/vc/bin/raspivid /usr/local/bin/raspivid \
|
|
&& ln -sv /opt/vc/bin/raspividyuv /usr/local/bin/raspividyuv \
|
|
&& ln -sv /opt/vc/bin/raspiyuv /usr/local/bin/raspiyuv
|
|
|
|
##
|
|
# Build libcec with RPi support for HDMI-CEC
|
|
ARG LIBCEC_VERSION=6.0.2
|
|
RUN apk add --no-cache \
|
|
eudev-libs \
|
|
p8-platform \
|
|
&& apk add --no-cache --virtual .build-dependencies \
|
|
build-base \
|
|
cmake \
|
|
eudev-dev \
|
|
swig \
|
|
raspberrypi-dev \
|
|
p8-platform-dev \
|
|
&& git clone --depth 1 -b libcec-${LIBCEC_VERSION} https://github.com/Pulse-Eight/libcec /usr/src/libcec \
|
|
&& mkdir -p /usr/src/libcec/build \
|
|
&& cd /usr/src/libcec/build \
|
|
&& cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local \
|
|
-DRPI_INCLUDE_DIR=/opt/vc/include \
|
|
-DRPI_LIB_DIR=/opt/vc/lib \
|
|
-DPYTHON_LIBRARY="/usr/local/lib/libpython3.8.so" \
|
|
-DPYTHON_INCLUDE_DIR="/usr/local/include/python3.8" \
|
|
.. \
|
|
&& make -j$(nproc) \
|
|
&& make install \
|
|
&& echo "cec" > "/usr/local/lib/python3.8/site-packages/cec.pth" \
|
|
&& apk del .build-dependencies \
|
|
&& rm -rf /usr/src/libcec
|
|
ENV LD_LIBRARY_PATH=/opt/vc/lib:${LD_LIBRARY_PATH}
|
|
|
|
##
|
|
# Install DHT
|
|
RUN apk add --no-cache --virtual .build-dependencies \
|
|
gcc libc-dev raspberrypi-dev \
|
|
&& export DHT_VERSION="$(cat /usr/src/homeassistant/requirements_all.txt | sed -n 's|.*Adafruit-DHT==\([0-9\.]*\).*|\1|p')" \
|
|
&& git clone --depth 1 -b ${DHT_VERSION} https://github.com/adafruit/Adafruit_Python_DHT /usr/src/dht \
|
|
&& cd /usr/src/dht \
|
|
&& sed -i 's/^pi_version\ =\ None/pi_version\ =\ 2/' setup.py \
|
|
&& sed -i 's/^platform\ =\ platform_detect.UNKNOWN/platform\ =\ platform_detect.RASPBERRY_PI/' setup.py \
|
|
&& sed -i 's/platform\ =\ platform_detect.platform_detect()/pass/' setup.py \
|
|
&& export MAKEFLAGS="-j$(nproc)" \
|
|
&& pip3 install . \
|
|
&& apk del .build-dependencies \
|
|
&& rm -rf /usr/src/dht
|