rust-xwin (1.94.0-20)
Installation
docker pull git.sclu1034.dev/lucas/rust-xwin:1.94.0-20sha256:f9017f87ec597cb513288bb2b8009aa1699d28f2c81d46c7ef8ff21c3cfe6e10About this package
A Docker image to be used by CI systems to cross-compile Rust applications to Windows binaries
Image layers
| # debian.sh --arch 'amd64' out/ 'trixie' '@1771804800' |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; apt-get dist-clean # buildkit |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; apt-get dist-clean # buildkit |
| RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; apt-get dist-clean # buildkit |
| LABEL org.opencontainers.image.source=https://github.com/rust-lang/docker-rust |
| ENV RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo PATH=/usr/local/cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin RUST_VERSION=1.94.0 |
| RUN /bin/sh -c set -eux; arch="$(dpkg --print-architecture)"; case "$arch" in 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupSha256='4acc9acc76d5079515b46346a485974457b5a79893cfb01112423c89aeb5aa10'; ;; 'armhf') rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='124e02253af9128f9e27ea1ac929cbb73cf44cf35469d0f594a1b62f7b71fea1'; ;; 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupSha256='9732d6c5e2a098d3521fca8145d826ae0aaa067ef2385ead08e6feac88fa5792'; ;; 'i386') rustArch='i686-unknown-linux-gnu'; rustupSha256='5140e82096f96d1d8077f00eb312648e0e5106d101c9918d086f72cbc69bb3a1'; ;; 'ppc64el') rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='4bfff85bd3967d988e14567aa9cc6ab0ea386f0ffeff0f9f14d23f0103bf1f97'; ;; 's390x') rustArch='s390x-unknown-linux-gnu'; rustupSha256='66c2c132428b6b77803facb02cbdf33b89d20c00bd20da142be8cb651f2e7cd8'; ;; 'riscv64') rustArch='riscv64gc-unknown-linux-gnu'; rustupSha256='7e43f2b2e6307d61da17a4dff61e6bceef408b8189822df64e1094590d2a70f9'; ;; *) echo >&2 "unsupported architecture: $arch"; exit 1; ;; esac; url="https://static.rust-lang.org/rustup/archive/1.29.0/${rustArch}/rustup-init"; wget --progress=dot:giga "$url"; echo "${rustupSha256} *rustup-init" | sha256sum -c -; chmod +x rustup-init; ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; rm rustup-init; chmod -R a+w $RUSTUP_HOME $CARGO_HOME; rustup --version; cargo --version; rustc --version; # buildkit |
| LABEL org.opencontainers.image.authors=Lucas Schwiderski |
| LABEL org.opencontainers.image.url=https://git.sclu1034.dev/lucas/rust-xwin |
| LABEL org.opencontainers.image.source=https://git.sclu1034.dev/lucas/rust-xwin |
| LABEL org.opencontainers.image.licenses=EUPL-1.2 |
| LABEL org.opencontainers.image.title=rust-xwin |
| LABEL org.opencontainers.image.description=A Docker image to be used by CI systems to cross-compile Rust applications to Windows binaries |
| ARG LLVM_VERSION=20 |
| ENV KEYRINGS=/usr/local/share/keyrings |
| RUN |1 LLVM_VERSION=20 /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends build-essential ca-certificates gpg nodejs zstd ; mkdir -p $KEYRINGS; curl -Ls "https://apt.llvm.org/llvm-snapshot.gpg.key" | gpg --dearmor > $KEYRINGS/llvm.gpg; echo "deb [signed-by=$KEYRINGS/llvm.gpg] http://apt.llvm.org/trixie/ llvm-toolchain-trixie-${LLVM_VERSION} main" > /etc/apt/sources.list.d/llvm.list; dpkg --add-architecture i386; apt-get update; apt-get install --no-install-recommends --no-install-suggests -y libclang-${LLVM_VERSION}-dev gcc-mingw-w64-x86-64 clang-${LLVM_VERSION} llvm-${LLVM_VERSION} lld-${LLVM_VERSION} wine wine32 wine64 libwine libwine:i386 ; ln -s clang-${LLVM_VERSION} /usr/bin/clang && ln -s clang /usr/bin/clang++ && ln -s lld-${LLVM_VERSION} /usr/bin/ld.lld; ln -s clang-${LLVM_VERSION} /usr/bin/clang-cl && ln -s llvm-ar-${LLVM_VERSION} /usr/bin/llvm-lib && ln -s lld-link-${LLVM_VERSION} /usr/bin/lld-link; clang++ -v; ld.lld -v; llvm-lib -v; clang-cl -v; lld-link --version; update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100; update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100; update-alternatives --install /usr/bin/ld ld /usr/bin/ld.lld 100; rustup toolchain install nightly; rustup default nightly; rustup target add x86_64-pc-windows-msvc; rustup component add rust-src; rm -rf /var/lib/apt/lists/* /root/*.key; # buildkit |
| COPY /usr/bin/xwin /usr/bin/xwin # buildkit |
| ENV XWIN_DIR=/xwin |
| ENV CC_x86_64_pc_windows_msvc=clang-cl CXX_x86_64_pc_windows_msvc=clang-cl AR_x86_64_pc_windows_msvc=llvm-lib WINEDEBUG=-all CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_RUNNER=wine CL_FLAGS=-Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc/xwin/crt/include /imsvc/xwin/sdk/include/ucrt /imsvc/xwin/sdk/include/um /imsvc/xwin/sdk/include/shared CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_LINKER=lld-link CARGO_TARGET_X86_64_PC_WINDOWS_MSVC_RUSTFLAGS=-Lnative=/xwin/crt/lib/x86_64 -Lnative=/xwin/sdk/lib/um/x86_64 -Lnative=/xwin/sdk/lib/ucrt/x86_64 XDG_RUNTIME_DIR=/tmp |
| ENV CFLAGS_x86_64_pc_windows_msvc=-Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc/xwin/crt/include /imsvc/xwin/sdk/include/ucrt /imsvc/xwin/sdk/include/um /imsvc/xwin/sdk/include/shared CXXFLAGS_x86_64_pc_windows_msvc=-Wno-unused-command-line-argument -fuse-ld=lld-link /imsvc/xwin/crt/include /imsvc/xwin/sdk/include/ucrt /imsvc/xwin/sdk/include/um /imsvc/xwin/sdk/include/shared |
| WORKDIR /src |
| RUN |1 LLVM_VERSION=20 /bin/sh -c wine wineboot --init # buildkit |
Labels
| Key | Value |
|---|---|
| org.opencontainers.image.authors | Lucas Schwiderski |
| org.opencontainers.image.created | 2026-03-14 16:19:35+00:00 |
| org.opencontainers.image.description | A Docker image to be used by CI systems to cross-compile Rust applications to Windows binaries |
| org.opencontainers.image.licenses | EUPL-1.2 |
| org.opencontainers.image.revision | 537ef7018097615a5ff5312b407661e8fb42415f |
| org.opencontainers.image.source | https://git.sclu1034.dev/lucas/rust-xwin |
| org.opencontainers.image.title | rust-xwin |
| org.opencontainers.image.url | https://git.sclu1034.dev/lucas/rust-xwin |
| org.opencontainers.image.version | 1.94.0-20 |
| version | 1.94.0-20 |
Details
2026-03-14 17:20:13 +01:00
Versions (4)
View all
Container
0
OCI / Docker
linux/amd64
Lucas Schwiderski
EUPL-1.2
2.1 GiB