2017-05-09 14:45:58 +00:00
# Copyright 2016 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
################################################################################
FROM gcr.io/oss-fuzz-base/base-builder
2018-06-26 17:00:23 +00:00
# Mesa needed to build swiftshader
RUN apt-get update && apt-get install -y python wget libglu1-mesa-dev cmake
2017-05-09 14:45:58 +00:00
2018-06-26 17:00:23 +00:00
RUN git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git' --depth 1
2017-05-09 14:45:58 +00:00
ENV PATH = " ${ SRC } /depot_tools: ${ PATH } "
2018-06-26 17:00:23 +00:00
RUN git clone https://skia.googlesource.com/skia.git --depth 1
2017-05-09 14:45:58 +00:00
2018-06-26 20:23:44 +00:00
# current directory for build script
2017-05-09 14:45:58 +00:00
WORKDIR skia
2018-05-09 16:17:03 +00:00
RUN bin/sync
2017-05-09 14:45:58 +00:00
2018-06-26 20:23:44 +00:00
# Setup SwiftShader
WORKDIR $SRC/skia/third_party/externals/swiftshader/
2018-07-11 17:47:51 +00:00
# TODO(metzman): Come up with a better long term solution, such as downloading
# prebuilt libraries, than pinning swiftshader to a known working revision.
2020-06-12 05:50:15 +00:00
RUN git checkout 45510ad8a77862c1ce2e33f0efed41544f5f048b
2018-06-26 20:23:44 +00:00
WORKDIR $SRC/skia
2018-02-09 15:37:11 +00:00
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/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/path_deserialize_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/path_deserialize_seed_corpus.zip
2018-02-12 16:14:00 +00:00
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/animated_image_decode_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/animated_image_decode_seed_corpus.zip
2018-02-27 20:22:11 +00:00
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/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
2018-03-14 17:19:35 +00:00
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
2018-08-30 22:03:06 +00:00
RUN wget -O $SRC /skia/api_pathop_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_pathop_seed_corpus.zip
2018-03-21 17:35:14 +00:00
RUN wget -O $SRC /skia/canvas_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/canvas_seed_corpus.zip
2018-03-30 15:24:05 +00:00
RUN wget -O $SRC /skia/encoder_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/encoder_seed_corpus.zip
2018-05-07 14:43:46 +00:00
RUN wget -O $SRC /skia/skottie_json_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/skottie_json_seed_corpus.zip
2018-06-08 20:13:50 +00:00
RUN wget -O $SRC /skia/skjson_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/skjson_seed_corpus.zip
2018-10-11 14:20:30 +00:00
RUN wget -O $SRC /skia/api_polyutils_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_polyutils_seed_corpus.zip
2019-03-11 20:16:45 +00:00
RUN wget -O $SRC /skia/sksl_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/sksl_seed_corpus.zip
2019-10-22 19:16:57 +00:00
RUN wget -O $SRC /skia/api_skdescriptor_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/api_skdescriptor_seed_corpus.zip
2020-06-12 19:50:56 +00:00
RUN wget -O $SRC /skia/svg_dom_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/svg_seed_corpus.zip
2017-05-09 14:45:58 +00:00
COPY build.sh $SRC /
2018-01-23 20:28:11 +00:00
COPY skia.diff $SRC /skia/skia.diff
RUN git apply skia.diff
2018-03-05 20:47:46 +00:00
COPY image_filter_deserialize_width.options $SRC /skia/image_filter_deserialize_width.options
2019-03-11 20:16:45 +00:00
2018-06-12 14:30:48 +00:00
COPY json.dict $SRC /skia/json.dict
2017-05-09 14:45:58 +00:00
COPY BUILD.gn.diff $SRC /skia/BUILD.gn.diff
RUN cat BUILD.gn.diff >> BUILD.gn