1- ARG OS_CODENAME=focal
1+ ARG OS_CODENAME=jammy
22
33FROM ubuntu:${OS_CODENAME}
44
@@ -15,7 +15,7 @@ ARG NODE_VERSION=20.x
1515
1616# Setup package repositories and install all dependencies in a single layer
1717RUN apt-get update && \
18- apt-get install --yes --no-install-recommends software-properties-common gpg wget ca-certificates && \
18+ apt-get install --yes --no-install-recommends software-properties-common gpg gpg-agent wget ca-certificates && \
1919 mkdir -p /etc/apt/keyrings && \
2020 # Set up Kitware repository
2121 wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | \
@@ -34,14 +34,14 @@ RUN apt-get update && \
3434 apt-get install --yes --no-install-recommends \
3535 build-essential \
3636 dumb-init \
37- libfox-1.6-dev python3-clang-10 \
37+ libclang-dev \
38+ libfox-1.6-dev \
3839 cmake \
3940 kitware-archive-keyring \
4041 git \
4142 zip \
4243 unzip \
4344 file \
44- python3-pip \
4545 python3-dev \
4646 gawk \
4747 # Install dfu-util and libusb
@@ -68,17 +68,22 @@ RUN apt-get update && \
6868 apt-get clean && rm -rf /var/lib/apt/lists/*
6969
7070# Python packages installation
71- RUN python3 -m pip install -U pip setuptools && \
72- python3 -m pip install \
71+ COPY --from=ghcr.io/astral-sh/uv:0.7.20 /uv /uvx /bin/
72+ ENV VIRTUAL_ENV=/opt/venv
73+ RUN uv venv \
74+ --python-preference system --no-python-downloads \
75+ ${VIRTUAL_ENV} && \
76+ uv pip install --no-cache \
7377 asciitree \
78+ clang \
7479 jinja2 \
7580 pillow==7.2.0 \
7681 aqtinstall \
7782 lz4 \
7883 pyelftools \
79- pydantic && \
80- # Clean pip cache
81- python3 -m pip cache purge
84+ pydantic
85+ # Add venv to PATH
86+ ENV PATH= "$VIRTUAL_ENV/bin:$PATH"
8287
8388# Install Qt - adapted from
8489# https://github.com/miurahr/aqtinstall/
0 commit comments