FROM alpine:3.21 # Install build dependencies # TODO: trim dependencies? RUN apk update && apk add \ build-base abuild \ rustup \ build-base \ musl-dev \ gcc \ cmake \ make \ pkgconfig \ perl \ python3 \ curl \ git \ llvm \ clang \ clang-libclang \ protobuf-dev \ libc-dev \ linux-headers \ freetype-dev \ freetype-static \ fontconfig-dev \ fontconfig-static \ bzip2-dev \ bzip2-static \ brotli-dev \ brotli-static \ expat-dev \ expat-static \ libx11-dev \ libxcursor-dev \ libxkbcommon-dev \ libxkbcommon-static \ wayland-dev \ wayland-libs-client \ wayland-libs-server \ wayland-static \ openssl-dev \ openssl-libs-static \ zlib-dev \ zlib-static \ libpng-dev \ libpng-static \ libwebp-dev \ libwebp-static \ tiff-dev \ libjpeg-turbo-dev \ libjpeg-turbo-static RUN rustup-init -y --default-toolchain stable # Set pkg-config to use static libraries ENV PKG_CONFIG_ALLOW_STATIC=1 ENV PKG_CONFIG_ALL_STATIC=1 # Slint/winit does not work when statically compiled ENV RUSTFLAGS="-C target-feature=-crt-static" WORKDIR /build