aboutsummaryrefslogtreecommitdiff
path: root/projects/skia/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'projects/skia/Dockerfile')
-rw-r--r--projects/skia/Dockerfile101
1 files changed, 32 insertions, 69 deletions
diff --git a/projects/skia/Dockerfile b/projects/skia/Dockerfile
index 801c543b6..e42908840 100644
--- a/projects/skia/Dockerfile
+++ b/projects/skia/Dockerfile
@@ -15,10 +15,9 @@
################################################################################
FROM gcr.io/oss-fuzz-base/base-builder
-MAINTAINER kjlubick@chromium.org
-# Mesa needed to build swiftshader
-RUN apt-get update && apt-get install -y python wget libglu1-mesa-dev cmake
+# Mesa and libz/zlib needed to build swiftshader
+RUN apt-get update && apt-get install -y python wget libglu1-mesa-dev cmake lib32z1-dev zlib1g-dev
RUN git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git' --depth 1
ENV PATH="${SRC}/depot_tools:${PATH}"
@@ -30,89 +29,53 @@ WORKDIR skia
RUN bin/sync
-# Setup SwiftShader
-WORKDIR $SRC/skia/third_party/externals/swiftshader/
-# TODO(metzman): Come up with a better long term solution, such as downloading
-# prebuilt libraries, than pinning swiftshader to a known working revision.
-RUN git checkout bf8fd5b5fb6892dabcc21b4b86d41cd40cb9b4b5
-RUN git submodule update --init
-WORKDIR $SRC/skia
+# Make a directory for fuzzing artifacts that won't be clobbered by CIFuzz.
+RUN mkdir $SRC/skia_data
-RUN wget -O $SRC/skia/image_filter_deserialize_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/image_filter_deserialize_seed_corpus.zip
+RUN wget -O $SRC/skia_data/image_filter_deserialize_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/image_filter_deserialize_seed_corpus.zip
-RUN wget -O $SRC/skia/region_set_path_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/region_set_path_seed_corpus.zip
+RUN wget -O $SRC/skia_data/region_set_path_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/region_set_path_seed_corpus.zip
-RUN wget -O $SRC/skia/textblob_deserialize_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/textblob_deserialize_seed_corpus.zip
+RUN wget -O $SRC/skia_data/textblob_deserialize_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/textblob_deserialize_seed_corpus.zip
-RUN wget -O $SRC/skia/path_deserialize_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/path_deserialize_seed_corpus.zip
+RUN wget -O $SRC/skia_data/path_deserialize_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/path_deserialize_seed_corpus.zip
-RUN wget -O $SRC/skia/image_decode_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/image_decode_seed_corpus.zip
+RUN wget -O $SRC/skia_data/image_decode_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/image_decode_seed_corpus.zip
-RUN wget -O $SRC/skia/animated_image_decode_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/animated_image_decode_seed_corpus.zip
+RUN wget -O $SRC/skia_data/animated_image_decode_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/animated_image_decode_seed_corpus.zip
-RUN wget -O $SRC/skia/api_draw_functions_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_draw_functions_seed_corpus.zip
+RUN wget -O $SRC/skia_data/api_draw_functions_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_draw_functions_seed_corpus.zip
-RUN wget -O $SRC/skia/api_gradients_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_gradients_seed_corpus.zip
+RUN wget -O $SRC/skia_data/api_gradients_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_gradients_seed_corpus.zip
-RUN wget -O $SRC/skia/api_image_filter_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_image_filter_seed_corpus.zip
+RUN wget -O $SRC/skia_data/api_image_filter_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_image_filter_seed_corpus.zip
-RUN wget -O $SRC/skia/api_path_measure_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_path_measure_seed_corpus.zip
+RUN wget -O $SRC/skia_data/api_path_measure_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_path_measure_seed_corpus.zip
-RUN wget -O $SRC/skia/api_pathop_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_pathop_seed_corpus.zip
+RUN wget -O $SRC/skia_data/api_pathop_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_pathop_seed_corpus.zip
-RUN wget -O $SRC/skia/canvas_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/canvas_seed_corpus.zip
+RUN wget -O $SRC/skia_data/canvas_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/canvas_seed_corpus.zip
-RUN wget -O $SRC/skia/encoder_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/encoder_seed_corpus.zip
+RUN wget -O $SRC/skia_data/encoder_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/encoder_seed_corpus.zip
-RUN wget -O $SRC/skia/skottie_json_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/skottie_json_seed_corpus.zip
+RUN wget -O $SRC/skia_data/skottie_json_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/skottie_json_seed_corpus.zip
-RUN wget -O $SRC/skia/skjson_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/skjson_seed_corpus.zip
+RUN wget -O $SRC/skia_data/skjson_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/skjson_seed_corpus.zip
-RUN wget -O $SRC/skia/api_polyutils_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_polyutils_seed_corpus.zip
+RUN wget -O $SRC/skia_data/api_polyutils_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_polyutils_seed_corpus.zip
-RUN wget -O $SRC/skia/sksl_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/sksl_seed_corpus.zip
+RUN wget -O $SRC/skia_data/sksl_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/sksl_seed_corpus.zip
-RUN wget -O $SRC/skia/api_skdescriptor_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_skdescriptor_seed_corpus.zip
+RUN wget -O $SRC/skia_data/svg_dom_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/svg_seed_corpus.zip
-COPY build.sh $SRC/
+RUN wget -O $SRC/skia_data/sksl_with_256_padding_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/sksl_with_256_padding_seed_corpus.zip
+
+RUN wget -O $SRC/skia_data/skp_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/skp_seed_corpus.zip
+
+COPY image_filter_deserialize_width.options $SRC/skia_data/image_filter_deserialize_width.options
-COPY skia.diff $SRC/skia/skia.diff
-RUN git apply skia.diff
-
-COPY region_deserialize.options $SRC/skia/region_deserialize.options
-COPY region_set_path.options $SRC/skia/region_set_path.options
-COPY image_filter_deserialize.options $SRC/skia/image_filter_deserialize.options
-COPY image_filter_deserialize_width.options $SRC/skia/image_filter_deserialize_width.options
-COPY textblob_deserialize.options $SRC/skia/textblob_deserialize.options
-COPY path_deserialize.options $SRC/skia/path_deserialize.options
-COPY encoder.options $SRC/skia/encoder.options
-COPY skdescriptor_deserialize.options $SRC/skia/skdescriptor_deserialize.options
-
-# Codec fuzzers can share options
-COPY image_codec.options $SRC/skia/android_codec.options
-COPY image_codec.options $SRC/skia/animated_image_decode.options
-COPY image_codec.options $SRC/skia/image_decode.options
-COPY image_codec.options $SRC/skia/image_decode_incremental.options
-
-# API fuzzers can share options
-COPY api_fuzzers.options $SRC/skia/api_draw_functions.options
-COPY api_fuzzers.options $SRC/skia/api_gradients.options
-COPY api_fuzzers.options $SRC/skia/api_image_filter.options
-COPY api_fuzzers.options $SRC/skia/api_mock_gpu_canvas.options
-COPY api_fuzzers.options $SRC/skia/api_null_canvas.options
-COPY api_fuzzers.options $SRC/skia/api_path_measure.options
-COPY api_fuzzers.options $SRC/skia/api_pathop.options
-COPY api_fuzzers.options $SRC/skia/api_polyutils.options
-COPY api_fuzzers.options $SRC/skia/api_raster_n32_canvas.options
-COPY api_fuzzers.options $SRC/skia/api_skdescriptor.options
-
-# SKSL fuzzers can share options
-COPY sksl.options $SRC/skia/sksl2glsl.options
-COPY sksl.options $SRC/skia/sksl2spirv.options
-COPY sksl.options $SRC/skia/sksl2metal.options
-COPY sksl.options $SRC/skia/sksl2pipeline.options
-
-COPY json.dict $SRC/skia/json.dict
-
-COPY BUILD.gn.diff $SRC/skia/BUILD.gn.diff
-RUN cat BUILD.gn.diff >> BUILD.gn
+COPY json.dict $SRC/skia_data/json.dict
+
+WORKDIR $SRC/skia
+
+COPY build.sh $SRC/