forked from oxidize-rb/rb-sys
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile.x86-mingw32
More file actions
37 lines (33 loc) · 1.81 KB
/
Dockerfile.x86-mingw32
File metadata and controls
37 lines (33 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Ensure this version matches the rack-compiler-version in Gemfile
FROM ghcr.io/rake-compiler/rake-compiler-dock-image:1.11.0-mri-x86-mingw32
ARG LLVM_MINGW_VERSION=20231128 \
LLVM_MINGW_SHA256=2d532648bfd202bfe5edfa8b7f6c55970f65639779f34115a9a8bfa6f7d87f0b \
LLVM_MINGW_LIBCLANG_VERSION=14.0.0
ENV RUBY_TARGET="x86-mingw32" \
RUST_TARGET="i686-pc-windows-gnu" \
RUSTUP_DEFAULT_TOOLCHAIN="stable" \
PKG_CONFIG_ALLOW_CROSS="1" \
RUSTUP_HOME="/usr/local/rustup" \
CARGO_HOME="/usr/local/cargo" \
PATH="/usr/local/cargo/bin:$PATH" \
BINDGEN_EXTRA_CLANG_ARGS_i686_pc_windows_gnu="--sysroot=/usr/i686-w64-mingw32 -I/llvm-mingw/llvm-mingw-${LLVM_MINGW_VERSION}-msvcrt-i686/include -I/llvm-mingw/llvm-mingw-${LLVM_MINGW_VERSION}-msvcrt-i686/lib/clang/${LLVM_MINGW_LIBCLANG_VERSION}/include" \
LIBCLANG_PATH="/usr/lib/llvm-10/lib/" \
CC_i686_pc_windows_gnu="i686-w64-mingw32-gcc" \
CXX_i686_pc_windows_gnu="i686-w64-mingw32-g++" \
AR_i686_pc_windows_gnu="i686-w64-mingw32-gcc-ar" \
PKG_CONFIG_PATH_i686_pc_windows_gnu="/usr/i686-w64-mingw32/pkgconfig" \
CMAKE_i686_pc_windows_gnu="/opt/cmake/bin/cmake"
COPY setup/lib.sh setup/rustup.sh setup/rubygems.sh setup/cmake.sh setup/rubybashrc.sh setup/rb-sys-dock.sh setup/delete-unused-files.sh /
RUN set -ex; \
curl -Lo /llvm-mingw.zip https://github.com/mstorsjo/llvm-mingw/releases/download/${LLVM_MINGW_VERSION}/llvm-mingw-${LLVM_MINGW_VERSION}-msvcrt-i686.zip; \
echo "${LLVM_MINGW_SHA256} /llvm-mingw.zip" | sha256sum -c - && \
mkdir /llvm-mingw && \
unzip /llvm-mingw.zip -d /llvm-mingw && \
rm /llvm-mingw.zip && \
bash -c "source /lib.sh && install_packages libclang-dev" && \
/rustup.sh && \
/rubygems.sh && \
/cmake.sh && \
/rubybashrc.sh && \
/delete-unused-files.sh && \
/rb-sys-dock.sh