• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Dockerfile for building the WASM libraries used by jsfiddle.skia.org
2FROM gcr.io/skia-public/emsdk-release:prod as builder
3
4RUN cd /tmp \
5  && git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git' \
6  && mkdir -p /tmp/skia \
7  && cd /tmp/skia \
8  && /tmp/depot_tools/fetch skia
9
10RUN cd /tmp/skia/skia \
11  && python tools/git-sync-deps \
12  && ./bin/fetch-gn
13
14# PathKit should be in /tmp/skia/skia/out/pathkit/
15RUN /tmp/skia/skia/modules/pathkit/compile.sh
16
17# CanvasKit should be in /tmp/skia/skia/out/canvaskit_wasm
18RUN /tmp/skia/skia/modules/canvaskit/compile.sh
19
20RUN cd /tmp/skia/skia && git rev-parse HEAD > /tmp/VERSION
21
22#############################################################################
23# Multi-stage build part 2, in which we only have the compiled results and
24# a VERSION in /tmp
25# See https://docs.docker.com/develop/develop-images/multistage-build/
26#############################################################################
27
28FROM alpine:latest
29
30WORKDIR /tmp/
31
32RUN mkdir /tmp/pathkit /tmp/canvaskit
33
34COPY --from=builder /tmp/VERSION /tmp/VERSION
35
36COPY --from=builder /tmp/skia/skia/out/pathkit/pathkit* /tmp/pathkit/
37
38COPY --from=builder /tmp/skia/skia/out/canvaskit_wasm/canvaskit* /tmp/canvaskit/
39