| #!/bin/bash -eu |
| # |
| # Based on https://github.com/google/oss-fuzz/blob/2f05cb93cbd30755a0e7ce57d28831ce4f51ae52/projects/poppler/Dockerfile |
| # Copyright 2018 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. |
| # |
| ################################################################################ |
| |
| apt-get update && apt-get install -y wget autoconf automake libtool pkg-config gperf python |
| pip3 install meson ninja gyp-next packaging |
| |
| git clone --depth 1 https://github.com/google/brotli.git |
| git clone --depth 1 https://github.com/madler/zlib.git |
| git clone --depth 1 https://gitlab.freedesktop.org/freetype/freetype.git |
| git clone --depth 1 https://github.com/mm2/Little-CMS.git |
| git clone --depth 1 https://github.com/uclouvain/openjpeg |
| git clone --depth 1 https://github.com/glennrp/libpng.git |
| git clone --depth 1 https://gitlab.freedesktop.org/fontconfig/fontconfig.git |
| git clone --depth 1 https://gitlab.freedesktop.org/cairo/cairo.git |
| git clone --depth 1 --branch=dev git://code.qt.io/qt/qtbase.git |
| git clone --depth 1 https://gitlab.gnome.org/GNOME/pango.git |
| git clone --depth 1 https://github.com/harfbuzz/harfbuzz.git |
| wget https://ftp.gnome.org/pub/gnome/sources/glib/2.88/glib-2.88.3.tar.xz && tar xvJf $SRC/glib-2.88.3.tar.xz && rm $SRC/glib-2.88.3.tar.xz |
| wget https://archives.boost.io/release/1.92.0/source/boost_1_92_0.tar.bz2 && tar xvjf $SRC/boost_1_92_0.tar.bz2 && rm $SRC/boost_1_92_0.tar.bz2 |
| wget https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_130_RTM/src/nss-3.130-with-nspr-4.39.tar.gz && tar xvzf $SRC/nss-3.130-with-nspr-4.39.tar.gz && rm $SRC/nss-3.130-with-nspr-4.39.tar.gz |
| git clone --depth 1 --single-branch https://gitlab.freedesktop.org/poppler/poppler-data.git |
| git clone --depth 1 --single-branch https://gitlab.freedesktop.org/poppler/test.git $SRC/poppler-test |
| |
| git clone --depth 1 https://github.com/mozilla/pdf.js pdf.js && \ |
| zip -q $SRC/poppler_seed_corpus.zip pdf.js/test/pdfs/*.pdf && \ |
| rm -rf pdf.js |
| wget -O poppler.dict https://raw.githubusercontent.com/google/fuzzing/master/dictionaries/pdf.dict |