# ION Dockerfile that contains the Python dependencies for interoperability tests FROM buildpack-deps:trixie RUN apt-get update && \ apt-get dist-upgrade -y && \ apt-get install python3-venv python3-pip sqlite3 libjansson-dev -y && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* ARG ARCHIVE_URL ENV ARCHIVE=ion.tar.gz RUN mkdir /ion_build && cd /ion_build && \ wget -O "$ARCHIVE" "$ARCHIVE_URL" && \ tar -xvf "$ARCHIVE" && \ rm "$ARCHIVE" RUN ls -lah /ion_build RUN cd /ion_build/*ion-open-source* && \ autoreconf -fi && \ CPPFLAGS="-Wno-error=maybe-uninitialized -Wno-error=nonnull -Wno-error=enum-int-mismatch" ./configure && \ make -j4 && \ make install && \ ldconfig && \ cd / && \ rm -r /ion_build COPY ./pyd3tn/requirements.txt /req-pyd3tn.txt COPY ./python-ud3tn-utils/requirements.txt /req-utils.txt COPY ./test/integration/requirements.txt /req-test.txt COPY ./tools/analysis/requirements.txt /req-analysis.txt # NOTE: pyd3tn is explicitly installed in `prepare_for_test.sh`; this might # otherwise install the wrong version (from PyPI) and lead to clashes! RUN sed -i '/^pyd3tn==/d' /req-utils.txt RUN python3 -m venv /ud3tn_venv && \ /ud3tn_venv/bin/python -m pip install --no-cache-dir -U setuptools pip wheel && \ /ud3tn_venv/bin/python -m pip install --no-cache-dir -U -r /req-pyd3tn.txt && \ /ud3tn_venv/bin/python -m pip install --no-cache-dir -U -r /req-utils.txt && \ /ud3tn_venv/bin/python -m pip install --no-cache-dir -U -r /req-test.txt && \ /ud3tn_venv/bin/python -m pip install --no-cache-dir -U -r /req-analysis.txt