From cac80a22a3279382d696c38da2ec61d04743441e Mon Sep 17 00:00:00 2001 From: Dmitry Maksyoma Date: Wed, 18 Jan 2023 20:01:19 +1300 Subject: [PATCH] Refactor --- builder/dockerfile.ubuntu_focal.build | 5 ++--- builder/scripts/build-libjpeg-turbo | 30 +++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100755 builder/scripts/build-libjpeg-turbo 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