# Taken from https://github.com/linuxserver/docker-changedetection.io/blob/main/Dockerfile
# Test that we can still build on Alpine (musl modified libc https://musl.libc.org/)
# Some packages wont install via pypi because they dont have a wheel available under this architecture.

FROM ghcr.io/linuxserver/baseimage-alpine:3.18
ENV PYTHONUNBUFFERED=1

COPY requirements.txt /requirements.txt

RUN \
  apk add --update --no-cache --virtual=build-dependencies \
    cargo \
    g++ \
    gcc \
    jpeg-dev \
    libc-dev \
    libffi-dev \
    libjpeg \
    libxslt-dev \
    make \
    openssl-dev \
    py3-wheel \
    python3-dev \
    zlib-dev && \
  apk add --update --no-cache \
    libxslt \
    python3 \
    py3-pip && \
  echo "**** pip3 install test of changedetection.io ****" && \
  pip3 install -U pip wheel setuptools && \
  pip3 install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.18/ -r /requirements.txt && \
  apk del --purge \
    build-dependencies