• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2017 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4#
5# Defines a docker image that can build cras fuzzers.
6#
7FROM gcr.io/oss-fuzz-base/base-builder
8
9RUN apt-get -y update && \
10      apt-get install -y \
11      automake \
12      build-essential \
13      cmake \
14      ctags \
15      g++ \
16      gdb \
17      git \
18      ladspa-sdk \
19      libasound-dev \
20      libdbus-1-dev \
21      libgtest-dev \
22      libncurses5-dev \
23      libsbc-dev \
24      libsndfile-dev \
25      libspeexdsp-dev \
26      libtool \
27      libudev-dev \
28      wget
29RUN apt-get clean
30RUN cd /tmp && git clone https://github.com/ndevilla/iniparser.git && \
31      cd iniparser && \
32      make && \
33      cp libiniparser.* /usr/local/lib && \
34      cp src/dictionary.h src/iniparser.h /usr/local/include && \
35      chmod 644 /usr/local/include/dictionary.h /usr/local/include/iniparser.h && \
36      chmod 644 /usr/local/lib/libiniparser.a && \
37      chmod 755 /usr/local/lib/libiniparser.so.*
38RUN cd /usr/src/gtest && \
39      cmake . && \
40      make && \
41      chmod 644 *.a && \
42      cp *.a /usr/local/lib
43
44# Need to build and install alsa so there is a static lib.
45RUN mkdir -p /tmp/alsa-build && cd /tmp/alsa-build && \
46      wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.1.4.1.tar.bz2 && \
47      bzip2 -f -d alsa-lib-* && \
48      tar xf alsa-lib-* && \
49      cd alsa-lib-* && \
50      ./configure --enable-static --disable-shared && \
51      make clean && \
52      make -j$(nproc) all && \
53      make install
54
55
56COPY . /src/cras/
57COPY src/fuzz/build.sh /src/
58