ARG BUILD_VERSION FROM homeassistant/aarch64-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 bluepy pybluez -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\ =\ 3/' 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