1# Copyright 2017 Google Inc. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14# 15################################################################################ 16FROM gcr.io/oss-fuzz-base/base-builder 17 18RUN apt-get update && \ 19 apt-get install -y make autoconf automake libtool build-essential pkg-config bison flex gettext \ 20 libffi-dev liblzma-dev libtheora-dev libogg-dev zlib1g-dev libcairo2-dev \ 21 python3-pip ninja-build && \ 22 pip3 install meson==0.55.1 23 24# We must install libvorbis from scratch as otherwise we will run into 25# undefined functions in Ubuntu 20.04 26RUN git clone --depth 1 https://gitlab.xiph.org/xiph/vorbis.git && \ 27 cd $SRC/vorbis && \ 28 ./autogen.sh && \ 29 ./configure --enable-static && \ 30 make clean && \ 31 make -j$(nproc) && \ 32 make install 33 34ADD https://ftp.gnome.org/pub/gnome/sources/glib/2.64/glib-2.64.2.tar.xz $SRC 35 36# Checkout all development repositories 37#RUN for i in orc gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav; do git clone --depth 1 --recursive https://anongit.freedesktop.org/git/gstreamer/$i $i; done 38RUN \ 39 git clone --depth 1 --recursive https://gitlab.freedesktop.org/gstreamer/gstreamer.git gstreamer && \ 40 git clone --depth 1 --recursive https://gitlab.freedesktop.org/gstreamer/gst-plugins-base.git gst-plugins-base && \ 41 git clone --depth 1 --recursive https://gitlab.freedesktop.org/gstreamer/gst-ci.git gst-ci 42 43RUN sed -i 's/theoraenc theoradec theora/theoraenc theoradec theora cairo/g' $SRC/gst-ci/fuzzing/build-oss-fuzz.sh 44 45ADD https://people.freedesktop.org/~bilboed/gst-discoverer_seed_corpus.zip $SRC 46 47WORKDIR gstreamer 48COPY build.sh $SRC/ 49