skia2/docker/skia-release/Dockerfile
Ravi Mistry 3b2ff2deb8 Support specifying hash and patch_ref in skia-release & skia-wasm-release Dockerfiles
Bug: skia:10198
Change-Id: If6d47e95ffdbc12f0b31284353d8f48b43cd0041
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/287830
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2020-05-06 20:39:04 +00:00

62 lines
1.7 KiB
Docker

# Dockerfile for building Skia in release mode, using 3rd party libs from DEPS, with SwiftShader.
FROM gcr.io/skia-public/skia-build-tools:latest
RUN cd /tmp \
&& git clone https://swiftshader.googlesource.com/SwiftShader swiftshader
# Checkout Skia.
RUN mkdir -p /tmp/skia \
&& cd /tmp/skia \
&& fetch skia
# Set fake identity for git rebase. See thread in
# https://skia-review.googlesource.com/c/buildbot/+/286537/5/docker/Dockerfile#46
RUN cd /tmp/skia/skia \
&& git config user.email "skia@skia.org" \
&& git config user.name "Skia"
# HASH must be specified.
ARG HASH
RUN if [ -z "${HASH}" ] ; then echo "HASH must be specified as a --build-arg"; exit 1; fi
RUN cd /tmp/skia/skia \
&& git fetch \
&& git reset --hard ${HASH}
# If patch ref is specified then update the ref to patch in a CL.
ARG PATCH_REF
RUN if [ ! -z "${PATCH_REF}" ] ; then cd /tmp/skia/skia \
&& git fetch https://skia.googlesource.com/skia ${PATCH_REF} \
&& git checkout FETCH_HEAD \
&& git rebase ${HASH}; fi
RUN cd /tmp/skia/skia \
&& gclient sync \
&& ./bin/fetch-gn
# Write args.gn.
RUN mkdir -p /tmp/skia/skia/out/Static
RUN echo ' \n\
cc = "clang" \n\
cxx = "clang++" \n\
skia_use_egl = true \n\
is_debug = false \n\
skia_use_system_freetype2 = false \n\
extra_cflags = [ \n\
"-I/tmp/swiftshader/include", \n\
"-DGR_EGL_TRY_GLES3_THEN_GLES2", \n\
"-g0", \n\
] \n\
extra_ldflags = [ \n\
"-L/usr/local/lib", \n\
"-Wl,-rpath", \n\
"-Wl,/usr/local/lib" \n\
] ' > /tmp/skia/skia/out/Static/args.gn
# Build Skia.
RUN cd /tmp/skia/skia \
&& ./bin/gn gen out/Static \
&& git rev-parse HEAD > VERSION \
&& /tmp/depot_tools/ninja -C out/Static \
&& chown -R skia:skia .