diff --git a/Dockerfile b/Dockerfile index 9cfa791..d1349d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,27 +16,39 @@ ENV TZ=Etc/UTC # build tools RUN apt-get update \ - && apt-get -y install --no-install-recommends --no-install-suggests build-essential cmake g++ gcc make pkg-config \ + && apt-get -y install --no-install-recommends --no-install-suggests \ + build-essential ca-certificates curl g++ gcc gpg \ + lsb-release make pkg-config \ + # CMAKE from Kitware repository + && curl --proto "=https" -fsSL https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null \ + | gpg --dearmor -o /usr/share/keyrings/kitware-archive-keyring.gpg \ + && echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu $(lsb_release -cs) main" \ + > /etc/apt/sources.list.d/kitware.list \ + && apt-get update \ + && apt-get install -y --no-install-recommends cmake \ + ## clean up + && apt-get -y autoremove curl lsb-release \ + && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && make --version \ && cmake --version \ - && gcc --version \ && g++ --version # vcpkg Package Manager ENV VCPKG_FORCE_SYSTEM_BINARIES=1 -ENV VCPKG_VERSION=2025.07.25 +ENV VCPKG_VERSION=2026.07.29 ENV VCPKG_ROOT=/opt/vcpkg # vcpkg Package Manager RUN apt-get -y update && \ apt-get -y install --no-install-recommends --no-install-suggests \ - ca-certificates curl git ninja-build unzip zip && \ - rm -rf /var/lib/apt/lists/* && \ - mkdir /opt/vcpkg && \ - git clone --branch "${VCPKG_VERSION}" https://github.com/microsoft/vcpkg "${VCPKG_ROOT}" && \ - /opt/vcpkg/bootstrap-vcpkg.sh && \ - ln -s /opt/vcpkg/vcpkg /usr/local/bin/vcpkg && \ + ca-certificates curl git ninja-build unzip zip \ + && rm -rf /var/lib/apt/lists/* \ + && mkdir /opt/vcpkg \ + && git clone --branch "${VCPKG_VERSION}" https://github.com/microsoft/vcpkg "${VCPKG_ROOT}" \ + && /opt/vcpkg/bootstrap-vcpkg.sh \ + && apt-get -y autoremove curl \ + && ln -s /opt/vcpkg/vcpkg /usr/local/bin/vcpkg && \ rm -rf /var/lib/apt/lists/* && \ vcpkg version @@ -70,15 +82,18 @@ RUN apt-get update && \ apt-get -y install --no-install-recommends --no-install-suggests gnupg software-properties-common && \ rm -rf /var/lib/apt/lists/* -RUN mkdir -p /etc/apt/keyrings && \ - curl -fsSL --proto "=https" https://apt.llvm.org/llvm-snapshot.gpg.key \ - | gpg --dearmor -o /etc/apt/keyrings/llvm-snapshot.gpg && \ - echo "deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/resolute/ llvm-toolchain-resolute-22 main" \ - | tee /etc/apt/sources.list.d/llvm.list && \ - apt-get -y update && \ - apt-get -y install --no-install-recommends --no-install-suggests clang-format-22 && \ - update-alternatives --install /usr/bin/clang-format clang-format $(which clang-format-22) 100 && \ - rm -rf /var/lib/apt/lists/* +RUN apt-get -y update \ + && apt-get -y install --no-install-recommends --no-install-suggests curl \ + && mkdir -p /etc/apt/keyrings \ + && curl -fsSL --proto "=https" https://apt.llvm.org/llvm-snapshot.gpg.key \ + | gpg --dearmor -o /etc/apt/keyrings/llvm-snapshot.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/resolute/ llvm-toolchain-resolute-22 main" \ + | tee /etc/apt/sources.list.d/llvm.list \ + && apt-get -y update \ + && apt-get -y install --no-install-recommends --no-install-suggests clang-format-22 \ + && update-alternatives --install /usr/bin/clang-format clang-format $(which clang-format-22) 100 \ + && apt-get -y autoremove curl \ + && rm -rf /var/lib/apt/lists/* ADD https://deb.nodesource.com/setup_26.x nodesource_setup.sh RUN bash nodesource_setup.sh && \