| 
 | 1 | +FROM ubuntu:25.04  | 
 | 2 | + | 
 | 3 | +ARG DEBIAN_FRONTEND=noninteractive  | 
 | 4 | + | 
 | 5 | +RUN apt-get update && apt-get install -y --no-install-recommends \  | 
 | 6 | +  bzip2 \  | 
 | 7 | +  g++ \  | 
 | 8 | +  gcc-multilib \  | 
 | 9 | +  make \  | 
 | 10 | +  ninja-build \  | 
 | 11 | +  file \  | 
 | 12 | +  curl \  | 
 | 13 | +  ca-certificates \  | 
 | 14 | +  python3 \  | 
 | 15 | +  git \  | 
 | 16 | +  cmake \  | 
 | 17 | +  sudo \  | 
 | 18 | +  gdb \  | 
 | 19 | +  llvm-20-tools \  | 
 | 20 | +  llvm-20-dev \  | 
 | 21 | +  libedit-dev \  | 
 | 22 | +  libssl-dev \  | 
 | 23 | +  pkg-config \  | 
 | 24 | +  zlib1g-dev \  | 
 | 25 | +  xz-utils \  | 
 | 26 | +  nodejs \  | 
 | 27 | +  mingw-w64 \  | 
 | 28 | +  # libgccjit dependencies  | 
 | 29 | +  flex \  | 
 | 30 | +  libmpfr-dev \  | 
 | 31 | +  libgmp-dev \  | 
 | 32 | +  libmpc3 \  | 
 | 33 | +  libmpc-dev \  | 
 | 34 | +  && rm -rf /var/lib/apt/lists/*  | 
 | 35 | + | 
 | 36 | +# Install powershell (universal package) so we can test x.ps1 on Linux  | 
 | 37 | +# FIXME: need a "universal" version that supports libicu74, but for now it still works to ignore that dep.  | 
 | 38 | +RUN curl -sL "https://github.com/PowerShell/PowerShell/releases/download/v7.3.1/powershell_7.3.1-1.deb_amd64.deb" > powershell.deb && \  | 
 | 39 | +    dpkg --ignore-depends=libicu72 -i powershell.deb && \  | 
 | 40 | +    rm -f powershell.deb  | 
 | 41 | + | 
 | 42 | +COPY scripts/sccache.sh /scripts/  | 
 | 43 | +RUN sh /scripts/sccache.sh  | 
 | 44 | + | 
 | 45 | +# We are disabling CI LLVM since this builder is intentionally using a host  | 
 | 46 | +# LLVM, rather than the typical src/llvm-project LLVM.  | 
 | 47 | +ENV NO_DOWNLOAD_CI_LLVM 1  | 
 | 48 | +ENV EXTERNAL_LLVM 1  | 
 | 49 | + | 
 | 50 | +# Using llvm-link-shared due to libffi issues -- see #34486  | 
 | 51 | +ENV RUST_CONFIGURE_ARGS \  | 
 | 52 | +      --build=x86_64-unknown-linux-gnu \  | 
 | 53 | +      --llvm-root=/usr/lib/llvm-20 \  | 
 | 54 | +      --enable-llvm-link-shared \  | 
 | 55 | +      --set rust.randomize-layout=true \  | 
 | 56 | +      --set rust.thin-lto-import-instr-limit=10  | 
 | 57 | + | 
 | 58 | +COPY scripts/shared.sh /scripts/  | 
 | 59 | + | 
 | 60 | +ARG SCRIPT_ARG  | 
 | 61 | + | 
 | 62 | +COPY scripts/add_dummy_commit.sh /tmp/  | 
 | 63 | +COPY scripts/x86_64-gnu-llvm.sh /tmp/  | 
 | 64 | +COPY scripts/x86_64-gnu-llvm2.sh /tmp/  | 
 | 65 | +COPY scripts/x86_64-gnu-llvm3.sh /tmp/  | 
 | 66 | +COPY scripts/stage_2_test_set1.sh /tmp/  | 
 | 67 | +COPY scripts/stage_2_test_set2.sh /tmp/  | 
 | 68 | + | 
 | 69 | +ENV SCRIPT "/tmp/add_dummy_commit.sh && /tmp/${SCRIPT_ARG}"  | 
0 commit comments