cbuildenv (sha256:26fe31e60e6f46b7ae0e8ecbb7e9d9431b4e7fc45bd10a6e2c4da82e4e20d0fa)

Published 2026-01-23 14:49:34 +01:00 by mike

Installation

docker pull forge.alveus.dev/docker-images/cbuildenv@sha256:26fe31e60e6f46b7ae0e8ecbb7e9d9431b4e7fc45bd10a6e2c4da82e4e20d0fa
sha256:26fe31e60e6f46b7ae0e8ecbb7e9d9431b4e7fc45bd10a6e2c4da82e4e20d0fa

Image layers

# debian.sh --arch 'amd64' out/ 'bookworm' '@1766966400'
LABEL maintainer=Matt McCormick matt@mmmccormick.com
ARG DEBIAN_FRONTEND=noninteractive
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get update --yes && apt-get install --no-install-recommends --yes autogen automake bash bc bison build-essential bzip2 ca-certificates ccache curl dirmngr file flex gettext gzip gnupg osslsigncode initramfs-tools libncurses5 libtool make nasm ncurses-dev pkg-config pax python3-dev python3-pip rsync sed ssh tar vim wget xz-utils zip zlib1g-dev python-is-python3 && apt-get clean autoclean --yes && apt-get autoremove --yes && rm -rf /var/lib/{apt,dpkg,cache,log}/ && rm /etc/ssh/*key* # buildkit
WORKDIR /usr/src
COPY imagefiles/install-gosu-binary.sh imagefiles/install-gosu-binary-wrapper.sh /buildscripts/ # buildkit
RUN |1 DEBIAN_FRONTEND=noninteractive /bin/sh -c set -x && /buildscripts/install-gosu-binary.sh && /buildscripts/install-gosu-binary-wrapper.sh && rm -rf /buildscripts # buildkit
COPY imagefiles/entrypoint.sh imagefiles/dockcross.sh /dockcross/ # buildkit
WORKDIR /usr/src
ARG GIT_VERSION=2.48.1
ARG CMAKE_VERSION=3.31.5
ARG NINJA_VERSION=1.12.1
ARG FLATCC_VERSION=0.6.1
ARG LIQUIDPROMT_VERSION=v1.12.0
ARG OPENSSL_VERSION=openssl-1.1.1w
ARG OPENSSL_HASH=cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8
ARG CURL_VERSION=curl-7.76.0
ARG CURL_HASH=3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3
ARG PERL_VERSION=perl-5.40.1
ARG PERL_HASH=02f8c45bb379ed0c3de7514fad48c714fd46be8f0b536bfd5320050165a1ee26
ENV RUSTUP_HOME=/opt/rustup
ENV CARGO_HOME=/opt/rustup/cargo
COPY imagefiles/build-and-install-cmake.sh imagefiles/build-and-install-curl.sh imagefiles/build-and-install-flatcc.sh imagefiles/build-and-install-git.sh imagefiles/build-and-install-ninja.sh imagefiles/build-and-install-openssl.sh imagefiles/build-and-install-openssh.sh imagefiles/build-and-install-rustup.sh imagefiles/install-cmake-binary.sh imagefiles/install-liquidprompt-binary.sh imagefiles/install-python-packages.sh imagefiles/utils.sh /buildscripts/ # buildkit
RUN |12 DEBIAN_FRONTEND=noninteractive GIT_VERSION=2.48.1 CMAKE_VERSION=3.31.5 NINJA_VERSION=1.12.1 FLATCC_VERSION=0.6.1 LIQUIDPROMT_VERSION=v1.12.0 OPENSSL_VERSION=openssl-1.1.1w OPENSSL_HASH=cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8 CURL_VERSION=curl-7.76.0 CURL_HASH=3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3 PERL_VERSION=perl-5.40.1 PERL_HASH=02f8c45bb379ed0c3de7514fad48c714fd46be8f0b536bfd5320050165a1ee26 /bin/sh -c X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "-32" || echo "") && /buildscripts/build-and-install-openssl.sh $X86_FLAG && /buildscripts/build-and-install-openssh.sh && /buildscripts/build-and-install-curl.sh && /buildscripts/build-and-install-git.sh && /buildscripts/build-and-install-cmake.sh $X86_FLAG && /buildscripts/build-and-install-rustup.sh && /buildscripts/install-liquidprompt-binary.sh && PYTHON=$([ -e /opt/python/cp311-cp311/bin/python ] && echo "/opt/python/cp311-cp311/bin/python" || echo "python3") && /buildscripts/install-python-packages.sh -python ${PYTHON} && /buildscripts/build-and-install-ninja.sh -python ${PYTHON} && /buildscripts/build-and-install-flatcc.sh && rm -rf /buildscripts # buildkit
ENV PATH=/opt/rustup/cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN |12 DEBIAN_FRONTEND=noninteractive GIT_VERSION=2.48.1 CMAKE_VERSION=3.31.5 NINJA_VERSION=1.12.1 FLATCC_VERSION=0.6.1 LIQUIDPROMT_VERSION=v1.12.0 OPENSSL_VERSION=openssl-1.1.1w OPENSSL_HASH=cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8 CURL_VERSION=curl-7.76.0 CURL_HASH=3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3 PERL_VERSION=perl-5.40.1 PERL_HASH=02f8c45bb379ed0c3de7514fad48c714fd46be8f0b536bfd5320050165a1ee26 /bin/sh -c echo "root:root" | chpasswd # buildkit
WORKDIR /work
ENTRYPOINT ["/dockcross/entrypoint.sh"]
COPY imagefiles/cmake.sh /usr/local/bin/cmake # buildkit
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake # buildkit
ARG IMAGE=dockcross/base
ARG VCS_URL=https://github.com/dockcross/dockcross
LABEL org.label-schema.name=dockcross/base org.label-schema.vcs-url=https://github.com/dockcross/dockcross org.label-schema.schema-version=1.0
LABEL maintainer=Matt McCormick matt@mmmccormick.com
ENV WINEARCH=win64
ARG MXE_TARGET_ARCH=x86_64
ARG MXE_TARGET_THREAD=
ARG MXE_TARGET_LINK=static
ARG MXE_GIT_TAG=9f349e0de62a4a68bfc0f13d835a6c685dae9daa
ENV CMAKE_TOOLCHAIN_FILE=/usr/src/mxe/usr/x86_64-w64-mingw32.static/share/cmake/mxe-conf.cmake
ARG DEBIAN_FRONTEND=noninteractive
RUN |5 MXE_TARGET_ARCH=x86_64 MXE_TARGET_THREAD= MXE_TARGET_LINK=static MXE_GIT_TAG=9f349e0de62a4a68bfc0f13d835a6c685dae9daa DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get update && apt-get install --no-install-recommends --yes autoconf automake autopoint bash bison bzip2 flex gettext git g++ g++-multilib gperf intltool libffi-dev libgdk-pixbuf2.0-dev libtool-bin libltdl-dev libssl-dev libxml-parser-perl libc6-dev-i386 lzip make nsis openssl osslsigncode p7zip-full patch perl pkg-config python3 ruby scons sed unzip wget wine xz-utils python3-mako && dpkg --add-architecture i386 && apt-get update && apt-get install -y wine32 && wine hostname && cd /usr/src && git clone https://github.com/mxe/mxe.git && cd mxe && git checkout ${MXE_GIT_TAG} && cd /usr/src/mxe && echo "MXE_TARGETS := ${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}" > settings.mk && echo "MXE_USE_CCACHE :=" >> settings.mk && echo "MXE_PLUGIN_DIRS := plugins/gcc11" >> settings.mk && echo "LOCAL_PKG_LIST := cc cmake" >> settings.mk && echo ".DEFAULT local-pkg-list:" >> settings.mk && echo "local-pkg-list: \$(LOCAL_PKG_LIST)" >> settings.mk && cd /usr/src/mxe && make JOBS=$(nproc) && rm -rf log pkg && echo 'set(CMAKE_CROSSCOMPILING_EMULATOR "/usr/bin/wine")' >> ${CMAKE_TOOLCHAIN_FILE} && ln -s /usr/bin/makensis /usr/bin/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}-makensis && cd /usr/bin && rm cmake cpack && ln -s /usr/src/mxe/usr/bin/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}-cmake cmake && ln -s /usr/src/mxe/usr/bin/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}-cpack cpack && rm -rf /tmp/wine-* # buildkit
ENV CROSS_ROOT=/usr/src/mxe/usr
ENV PATH=/opt/rustup/cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/src/mxe/usr/bin
ENV CROSS_TRIPLE=x86_64-w64-mingw32.static
ENV AS=/usr/src/mxe/usr/bin/x86_64-w64-mingw32.static-as AR=/usr/src/mxe/usr/bin/x86_64-w64-mingw32.static-ar CC=/usr/src/mxe/usr/bin/x86_64-w64-mingw32.static-gcc CPP=/usr/src/mxe/usr/bin/x86_64-w64-mingw32.static-cpp CXX=/usr/src/mxe/usr/bin/x86_64-w64-mingw32.static-g++ LD=/usr/src/mxe/usr/bin/x86_64-w64-mingw32.static-ld FC=/usr/src/mxe/usr/bin/x86_64-w64-mingw32.static-gfortran
WORKDIR /work
ARG BUILD_DATE=2026-01-05T20:42:11Z
ARG IMAGE=dockcross/windows-static-x64
ARG VERSION=20260105-1d3b812
ARG VCS_REF=1d3b812
ARG VCS_URL=https://github.com/dockcross/dockcross
LABEL org.label-schema.build-date=2026-01-05T20:42:11Z org.label-schema.name=dockcross/windows-static-x64 org.label-schema.version=20260105-1d3b812 org.label-schema.vcs-ref=1d3b812 org.label-schema.vcs-url=https://github.com/dockcross/dockcross org.label-schema.schema-version=1.0
ENV DEFAULT_DOCKCROSS_IMAGE=dockcross/windows-static-x64:20260105-1d3b812
ENV DEBIAN_FRONTEND=noninteractive
USER root
RUN /bin/sh -c apt-get update && apt-get install -y wget curl git cmake autoconf automake libtool pkg-config zip unzip python3 python3-pip python3-venv ca-certificates file mingw-w64 g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64 sudo jq rsync tar gzip clang lld llvm && rm -rf /var/lib/apt/lists/* # buildkit
RUN /bin/sh -c python3 -m pip install --upgrade pip --break-system-packages # buildkit
RUN /bin/sh -c pip3 install conan --break-system-packages # buildkit
RUN /bin/sh -c cmake --version && conan --version && x86_64-w64-mingw32-gcc --version && x86_64-w64-mingw32-g++ --version && clang --version # buildkit
RUN /bin/sh -c cd /tmp && echo '#include <iostream>' > test_win.cpp && echo 'int main() { std::cout << "Hello from Windows C++!" << std::endl; return 0; }' >> test_win.cpp && x86_64-w64-mingw32-g++ test_win.cpp -o test_win.exe -static -static-libgcc -static-libstdc++ && file test_win.exe | grep "PE32+" && rm -rf test_win.cpp test_win.exe && echo "C++ Windows cross-compilation toolchain tests passed!" # buildkit
RUN /bin/sh -c useradd -m -s /bin/bash runner && echo "runner ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && chown -R runner:runner /home/runner # buildkit
USER root
RUN /bin/sh -c git config --system --add safe.directory '*' # buildkit
WORKDIR /work
CMD ["/bin/bash"]

Labels

Key Value
maintainer Matt McCormick matt@mmmccormick.com
org.label-schema.build-date 2026-01-05T20:42:11Z
org.label-schema.name dockcross/windows-static-x64
org.label-schema.schema-version 1.0
org.label-schema.vcs-ref 1d3b812
org.label-schema.vcs-url https://github.com/dockcross/dockcross
org.label-schema.version 20260105-1d3b812
Details
Container
2026-01-23 14:49:34 +01:00
0
OCI / Docker
linux/amd64
2.5 GiB
Versions (7) View all
0.0.7-crosswin 2026-01-23
latest-crosswin 2026-01-23
latest-linux 2026-01-23
0.0.7-linux 2026-01-23
0.0.6-windows 2026-01-23