Support newest libjpeg-turbo on Centos

This commit is contained in:
Dmitry Maksyoma 2023-01-19 01:35:36 +13:00
parent d1cc18f751
commit 23676ab3b3
3 changed files with 35 additions and 4 deletions

View File

@ -5,11 +5,11 @@ ENV KASMVNC_BUILD_OS_CODENAME core
RUN yum install -y ca-certificates RUN yum install -y ca-certificates
RUN yum install -y build-dep xorg-server libxfont-dev sudo RUN yum install -y build-dep xorg-server libxfont-dev sudo
RUN yum install -y gcc cmake git libjpeg-dev libgnutls28-dev vim wget tightvncserver RUN yum install -y gcc cmake git libgnutls28-dev vim wget tightvncserver
RUN yum install -y libjpeg-dev libpng-dev libtiff-dev libgif-dev libavcodec-dev openssl-devel RUN yum install -y libpng-dev libtiff-dev libgif-dev libavcodec-dev openssl-devel
RUN yum install -y make RUN yum install -y make
RUN yum group install -y "Development Tools" RUN yum group install -y "Development Tools"
RUN yum install -y xorg-x11-server-devel zlib-devel libjpeg-turbo-devel RUN yum install -y xorg-x11-server-devel zlib-devel
RUN yum install -y libxkbfile-devel libXfont2-devel xorg-x11-font-utils \ RUN yum install -y libxkbfile-devel libXfont2-devel xorg-x11-font-utils \
xorg-x11-xtrans-devel xorg-x11-xkb-utils-devel libXrandr-devel pam-devel \ xorg-x11-xtrans-devel xorg-x11-xkb-utils-devel libXrandr-devel pam-devel \
gnutls-devel libX11-devel libXtst-devel libXcursor-devel gnutls-devel libX11-devel libXtst-devel libXcursor-devel
@ -23,6 +23,10 @@ RUN cd /tmp/libwebp-1.0.2 && \
./configure --enable-static --disable-shared && \ ./configure --enable-static --disable-shared && \
make && make install make && make install
ENV SCRIPTS_DIR=/tmp/scripts
COPY builder/scripts $SCRIPTS_DIR
RUN $SCRIPTS_DIR/build-libjpeg-turbo
RUN useradd -m docker && echo "docker:docker" | chpasswd RUN useradd -m docker && echo "docker:docker" | chpasswd
COPY --chown=docker:docker . /src/ COPY --chown=docker:docker . /src/

View File

@ -4,19 +4,30 @@ set -euo pipefail
build_and_install() { build_and_install() {
export MAKEFLAGS=-j`nproc` export MAKEFLAGS=-j`nproc`
export CFLAGS="-fno-semantic-interposition -fpic -flto" export CFLAGS="-fpic -flto"
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -G"Unix Makefiles" cmake -DCMAKE_INSTALL_PREFIX=/usr/local -G"Unix Makefiles"
make make
make install make install
} }
install_build_dependencies() { install_build_dependencies() {
if [ "$DISTRO" = centos ]; then
yum install -y cmake gcc
ensure_libjpeg_is_fast
return
fi
apt-get update apt-get update
apt-get install -y cmake gcc apt-get install -y cmake gcc
ensure_libjpeg_is_fast ensure_libjpeg_is_fast
} }
ensure_libjpeg_is_fast() { ensure_libjpeg_is_fast() {
if [ "$DISTRO" = centos ]; then
yum install -y nasm
return
fi
apt-get install -y nasm apt-get install -y nasm
} }
@ -25,6 +36,9 @@ prepare_libjpeg_source() {
cd libjpeg-turbo cd libjpeg-turbo
} }
source_dir=$(dirname "$0")
. "$source_dir/common.sh"
install_build_dependencies install_build_dependencies
prepare_libjpeg_source prepare_libjpeg_source
build_and_install build_and_install

13
builder/scripts/common.sh Normal file
View File

@ -0,0 +1,13 @@
detect_distro() {
if [ -f /etc/centos-release ]; then
DISTRO=centos
elif [ -f /etc/oracle-release ]; then
DISTRO=oracle7
elif [ -f /usr/bin/zypper ]; then
DISTRO=opensuse
else
DISTRO=debian
fi
}
detect_distro