diff --git a/builder/dockerfile.ubuntu_focal.build b/builder/dockerfile.ubuntu_focal.build index 0645c0d..33fc74a 100644 --- a/builder/dockerfile.ubuntu_focal.build +++ b/builder/dockerfile.ubuntu_focal.build @@ -22,9 +22,8 @@ RUN cd /tmp/libwebp-1.0.2 && \ ./configure --enable-static --disable-shared && \ make && make install -RUN apt-get update && apt-get install -y cmake nasm gcc -RUN git clone https://github.com/libjpeg-turbo/libjpeg-turbo.git -RUN export MAKEFLAGS=-j`nproc`; export CFLAGS="-fno-semantic-interposition -fpic -flto"; cd libjpeg-turbo && cmake -DCMAKE_INSTALL_PREFIX=/usr/ -G"Unix Makefiles" && make && make install +COPY builder/scripts /scripts +RUN /scripts/build-libjpeg-turbo RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo diff --git a/builder/scripts/build-libjpeg-turbo b/builder/scripts/build-libjpeg-turbo new file mode 100755 index 0000000..dc5bff8 --- /dev/null +++ b/builder/scripts/build-libjpeg-turbo @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +set -euo pipefail + +build_and_install() { + export MAKEFLAGS=-j`nproc` + export CFLAGS="-fno-semantic-interposition -fpic -flto" + cmake -DCMAKE_INSTALL_PREFIX=/usr/local -G"Unix Makefiles" + make + make install +} + +install_build_dependencies() { + apt-get update + apt-get install -y cmake gcc + ensure_libjpeg_is_fast +} + +ensure_libjpeg_is_fast() { + apt-get install -y nasm +} + +prepare_libjpeg_source() { + git clone --depth=1 https://github.com/libjpeg-turbo/libjpeg-turbo.git + cd libjpeg-turbo +} + +install_build_dependencies +prepare_libjpeg_source +build_and_install