|
1 | | -# Cross-compile Wails v3 apps to any platform |
2 | | -# |
3 | | -# Uses Zig as C compiler + macOS SDK for darwin targets |
4 | | -# |
5 | | -# Usage: |
6 | | -# docker build -t wails-cross -f Dockerfile.cross . |
7 | | -# docker run --rm -v $(pwd):/app wails-cross darwin arm64 |
8 | | -# docker run --rm -v $(pwd):/app wails-cross darwin amd64 |
9 | | -# docker run --rm -v $(pwd):/app wails-cross linux amd64 |
10 | | -# docker run --rm -v $(pwd):/app wails-cross linux arm64 |
11 | | -# docker run --rm -v $(pwd):/app wails-cross windows amd64 |
12 | | -# docker run --rm -v $(pwd):/app wails-cross windows arm64 |
13 | | - |
14 | 1 | FROM golang:1.25-alpine |
15 | 2 |
|
| 3 | +ARG ZIG_VERSION=0.14.0 |
| 4 | +ARG MACOS_SDK_VERSION=14.5 |
| 5 | +ARG IMAGE_VERSION=1.0.0 |
| 6 | + |
| 7 | +LABEL org.opencontainers.image.title="Wails Cross-Compiler" |
| 8 | +LABEL org.opencontainers.image.description="Cross-compile Wails v3 apps to macOS, Linux, and Windows" |
| 9 | +LABEL org.opencontainers.image.source="https://github.com/wailsapp/wails" |
| 10 | +LABEL org.opencontainers.image.vendor="Wails" |
| 11 | +LABEL org.opencontainers.image.version="${IMAGE_VERSION}" |
| 12 | +LABEL io.wails.sdk.version="${MACOS_SDK_VERSION}" |
| 13 | +LABEL io.wails.zig.version="${ZIG_VERSION}" |
| 14 | + |
16 | 15 | RUN apk add --no-cache curl xz nodejs npm |
17 | 16 |
|
18 | | -# Install Zig |
19 | | -ARG ZIG_VERSION=0.14.0 |
20 | 17 | RUN curl -L "https://ziglang.org/download/${ZIG_VERSION}/zig-linux-x86_64-${ZIG_VERSION}.tar.xz" \ |
21 | 18 | | tar -xJ -C /opt \ |
22 | 19 | && ln -s /opt/zig-linux-x86_64-${ZIG_VERSION}/zig /usr/local/bin/zig |
23 | 20 |
|
24 | | -# Download macOS SDK (required for darwin targets) |
25 | | -ARG MACOS_SDK_VERSION=14.5 |
26 | 21 | RUN curl -L "https://github.com/joseluisq/macosx-sdks/releases/download/${MACOS_SDK_VERSION}/MacOSX${MACOS_SDK_VERSION}.sdk.tar.xz" \ |
27 | 22 | | tar -xJ -C /opt \ |
28 | 23 | && mv /opt/MacOSX${MACOS_SDK_VERSION}.sdk /opt/macos-sdk |
|
0 commit comments