Skip to content

Commit 4080762

Browse files
committed
Reduce minimum glibc to 2.17 by using CentOS 7 container
Increase minimum musl libc to 1.1.22 due to rust llvm8 dep Bump webp, freetype, harfbuzz dependencies
1 parent ca94439 commit 4080762

File tree

4 files changed

+30
-14
lines changed

4 files changed

+30
-14
lines changed

build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ if ! type docker >/dev/null; then
3030
fi
3131

3232
# Update base images
33-
for baseimage in debian:jessie debian:stretch alpine:edge; do
33+
for baseimage in centos:7 debian:stretch alpine:3.10; do
3434
docker pull $baseimage
3535
done
3636

build/lin.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ VERSION_EXIF=0.6.21
2525
VERSION_LCMS2=2.9
2626
VERSION_JPEG=2.0.2
2727
VERSION_PNG16=1.6.37
28-
VERSION_WEBP=1.0.2
28+
VERSION_WEBP=1.0.3
2929
VERSION_TIFF=4.0.10
3030
VERSION_ORC=0.4.28
3131
VERSION_GETTEXT=0.20.1
3232
VERSION_GDKPIXBUF=2.36.12
33-
VERSION_FREETYPE=2.10.0
33+
VERSION_FREETYPE=2.10.1
3434
VERSION_EXPAT=2.2.7
3535
VERSION_FONTCONFIG=2.13.91
36-
VERSION_HARFBUZZ=2.5.2
36+
VERSION_HARFBUZZ=2.5.3
3737
VERSION_PIXMAN=0.38.4
3838
VERSION_CAIRO=1.17.2
3939
VERSION_FRIBIDI=1.0.5
@@ -108,6 +108,7 @@ rm ${TARGET}/lib/libz.a
108108
mkdir ${DEPS}/ffi
109109
curl -Ls ftp://sourceware.org/pub/libffi/libffi-${VERSION_FFI}.tar.gz | tar xzC ${DEPS}/ffi --strip-components=1
110110
cd ${DEPS}/ffi
111+
sed -i 's/@toolexeclibdir@/$(libdir)/g' Makefile.in
111112
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking --disable-builddir
112113
make install-strip
113114

@@ -151,7 +152,6 @@ make install-strip
151152
mkdir ${DEPS}/jpeg
152153
curl -Ls https://github.com/libjpeg-turbo/libjpeg-turbo/archive/${VERSION_JPEG}.tar.gz | tar xzC ${DEPS}/jpeg --strip-components=1
153154
cd ${DEPS}/jpeg
154-
sed -i "s/cmake_minimum_required(VERSION 2.8.12)/cmake_minimum_required(VERSION 2.8.11)/" CMakeLists.txt
155155
cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=/root/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=${TARGET} -DCMAKE_INSTALL_LIBDIR=${TARGET}/lib \
156156
-DENABLE_SHARED=TRUE -DENABLE_STATIC=FALSE -DWITH_JPEG8=1 -DWITH_TURBOJPEG=FALSE
157157
make install/strip
@@ -206,14 +206,14 @@ curl -Ls ${SOURCEFORGE_BASE_URL}expat/expat/${VERSION_EXPAT}/expat-${VERSION_EXP
206206
cd ${DEPS}/expat
207207
sed -i "s/getrandom/ignore_getrandom/g" configure # https://github.com/libexpat/libexpat/issues/239
208208
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static \
209-
--disable-dependency-tracking --without-xmlwf
209+
--disable-dependency-tracking --without-xmlwf --without-docbook
210210
make install
211211

212212
mkdir ${DEPS}/fontconfig
213213
curl -Ls https://www.freedesktop.org/software/fontconfig/release/fontconfig-${VERSION_FONTCONFIG}.tar.xz | tar xJC ${DEPS}/fontconfig --strip-components=1
214214
cd ${DEPS}/fontconfig
215215
./configure --host=${CHOST} --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking \
216-
--with-expat-includes=${TARGET}/include --with-expat-lib=${TARGET}/lib --sysconfdir=/etc
216+
--with-expat-includes=${TARGET}/include --with-expat-lib=${TARGET}/lib --sysconfdir=/etc --disable-docs
217217
make install-strip
218218

219219
mkdir ${DEPS}/harfbuzz

linux-x64/Dockerfile

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,32 @@
1-
FROM debian:jessie
1+
FROM centos:7
22
MAINTAINER Lovell Fuller <[email protected]>
33

4-
# Create Debian 8 (glibc 2.19) container suitable for building Linux x64 binaries
4+
# Create CentOS 7 (glibc 2.17) container suitable for building Linux x64 binaries
55

66
# Build dependencies
77
RUN \
8-
apt-get update && \
9-
apt-get install -y build-essential gcc-4.9 prelink autoconf libtool nasm gtk-doc-tools texinfo gperf advancecomp libglib2.0-dev gobject-introspection jq cmake && \
10-
curl https://sh.rustup.rs -sSf | sh -s -- -y
8+
yum update -y \
9+
&& yum install -y epel-release centos-release-scl \
10+
&& yum group install -y "Development Tools" \
11+
&& yum install -y --setopt=tsflags=nodocs \
12+
advancecomp \
13+
cmake3 \
14+
devtoolset-8-gcc \
15+
devtoolset-8-gcc-c++ \
16+
git \
17+
glib-devel \
18+
gperf \
19+
gtk-doc \
20+
jq \
21+
nasm \
22+
prelink \
23+
&& curl https://sh.rustup.rs -sSf | sh -s -- -y \
24+
&& ln -s /usr/bin/cmake3 /usr/bin/cmake
1125

1226
# Compiler settings
1327
ENV \
28+
CC="/opt/rh/devtoolset-8/root/usr/bin/gcc" \
29+
CXX="/opt/rh/devtoolset-8/root/usr/bin/g++" \
1430
PATH="/root/.cargo/bin:$PATH" \
1531
PLATFORM="linux-x64" \
1632
FLAGS="-O3"

linuxmusl-x64/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
FROM alpine:edge
1+
FROM alpine:3.10
22
MAINTAINER Lovell Fuller <[email protected]>
33

4-
# Create Alpine edge/3.9 (musl 1.1.20) container suitable for building Linux x64 binaries
4+
# Create Alpine 3.10 (musl 1.1.22) container suitable for building Linux x64 binaries
55

66
# Build dependencies
77
RUN \

0 commit comments

Comments
 (0)