| # debian.sh --arch 'amd64' out/ 'trixie' '@1773619200' |
| LABEL maintainer=Ibrahim Najjar <https://github.com/abjrcode/> |
| LABEL org.opencontainers.image.source=https://github.com/abjrcode/cross-wails |
| ENV DEBIAN_FRONTEND=noninteractive |
| ARG DPKG_ARCH=amd64 arm64 |
| ARG CROSSBUILD_ARCH=amd64 arm64 |
| ARG MINGW_VERSION=20260324 |
| ARG MINGW_HOST=ubuntu-24.04 |
| SHELL [/bin/bash -c] |
| RUN |4 DPKG_ARCH=amd64 arm64 CROSSBUILD_ARCH=amd64 arm64 MINGW_VERSION=20260324 MINGW_HOST=ubuntu-24.04 /bin/bash -c set -x; apt-get -qq update && apt-get install --no-install-recommends -y -qq curl wget ca-certificates gnupg nsis && while read arch; do dpkg --add-architecture $arch; done < <(echo "${DPKG_ARCH}" | tr ' ' '\n') && apt-get clean && apt-get -qq update # buildkit |
| RUN |4 DPKG_ARCH=amd64 arm64 CROSSBUILD_ARCH=amd64 arm64 MINGW_VERSION=20260324 MINGW_HOST=ubuntu-24.04 /bin/bash -c crossbuild_pkgs=$(while read arch; do echo -n "crossbuild-essential-$arch "; done < <(echo "${CROSSBUILD_ARCH}" | tr ' ' '\n')) && apt-get install --no-install-recommends -y -qq gcc libarchive-tools mingw-w64 ${crossbuild_pkgs} && MINGW_ARCH=$(echo -n $TARGETARCH | sed -e 's/arm64/aarch64/g') && wget -qO - "https://github.com/mstorsjo/llvm-mingw/releases/download/${MINGW_VERSION}/llvm-mingw-${MINGW_VERSION}-ucrt-${MINGW_HOST}-${MINGW_ARCH}.tar.xz" | bsdtar -xf - && ln -snf $(pwd)/llvm-mingw-${MINGW_VERSION}-ucrt-${MINGW_HOST}-${MINGW_ARCH} /llvm-mingw # buildkit |
| RUN |4 DPKG_ARCH=amd64 arm64 CROSSBUILD_ARCH=amd64 arm64 MINGW_VERSION=20260324 MINGW_HOST=ubuntu-24.04 /bin/bash -c apt-get -qq update && apt-get -qq install -y libgtk-3-dev:arm64 libwebkit2gtk-4.1-dev:arm64 && apt download libwebkit2gtk-4.1-dev:arm64 libsoup-3.0-dev:arm64 libjavascriptcoregtk-4.1-dev:arm64 libsysprof-capture-4-dev:arm64 libnghttp2-dev:arm64 && dpkg --force-depends -i *.deb && rm -f *.deb # buildkit |
| ARG NODE_MAJOR_VERSION=24 |
| RUN |5 DPKG_ARCH=amd64 arm64 CROSSBUILD_ARCH=amd64 arm64 MINGW_VERSION=20260324 MINGW_HOST=ubuntu-24.04 NODE_MAJOR_VERSION=24 /bin/bash -c curl -fsSL https://deb.nodesource.com/setup_${NODE_MAJOR_VERSION}.x -o nodesource_setup.sh && chmod +x nodesource_setup.sh && bash nodesource_setup.sh && apt-get install -y nodejs # buildkit |
| ARG TARGETARCH=amd64 |
| ARG GO_VERSION=1.24.0 |
| RUN |7 DPKG_ARCH=amd64 arm64 CROSSBUILD_ARCH=amd64 arm64 MINGW_VERSION=20260324 MINGW_HOST=ubuntu-24.04 NODE_MAJOR_VERSION=24 TARGETARCH=amd64 GO_VERSION=1.24.0 /bin/bash -c wget https://go.dev/dl/go${GO_VERSION}.linux-${TARGETARCH}.tar.gz && rm -rf /usr/local/go && tar -C /usr/local -xzf go${GO_VERSION}.linux-${TARGETARCH}.tar.gz && rm go${GO_VERSION}.linux-${TARGETARCH}.tar.gz # buildkit |
| ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/go/bin:/usr/local/go/bin |
| RUN |7 DPKG_ARCH=amd64 arm64 CROSSBUILD_ARCH=amd64 arm64 MINGW_VERSION=20260324 MINGW_HOST=ubuntu-24.04 NODE_MAJOR_VERSION=24 TARGETARCH=amd64 GO_VERSION=1.24.0 /bin/bash -c apt -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && rm -rf /usr/share/man/* /usr/share/doc # buildkit |
| ENV CGO_ENABLED=1 |
| ARG WAILS_VERSION=v2.11.0 |
| RUN |8 DPKG_ARCH=amd64 arm64 CROSSBUILD_ARCH=amd64 arm64 MINGW_VERSION=20260324 MINGW_HOST=ubuntu-24.04 NODE_MAJOR_VERSION=24 TARGETARCH=amd64 GO_VERSION=1.24.0 WAILS_VERSION=v2.11.0 /bin/bash -c go install github.com/wailsapp/wails/v2/cmd/wails@${WAILS_VERSION} && go clean -cache && rm -rf /root/go/pkg # buildkit |
| ENTRYPOINT ["/bin/bash"] |