39ada71cb3
When using some features from LittleCMS in our CI, we are seeing some crashes on the address sanitizer. Bumping the LittleCMS version fixes that. So build and install a more recent version of LittleCMS on our CI. We chose version 2.16 because it introduces the function cmsGetToneCurveSegment(). We already make extensive use of that in our codebase, so it is a good idea to have that on our CI as well. Now color-curve-segments.c will start to get build on the CI, as HAVE_CMS_GET_TONE_CURVE_SEGMENT will be true. So we also fix a minor issue in which we were comparing int with uint in this file, what was caught after experimenting bumping the LittleCMS version. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
130 lines
2.5 KiB
Bash
130 lines
2.5 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Constructs the base container image used to build Weston within CI. Per the
|
|
# comment at the top of .gitlab-ci.yml, any changes in this file must bump the
|
|
# $FDO_DISTRIBUTION_TAG variable so we know the container has to be rebuilt.
|
|
|
|
set -o xtrace -o errexit
|
|
|
|
# These get temporary installed for building Linux and then force-removed.
|
|
LINUX_DEV_PKGS="
|
|
bc
|
|
bison
|
|
flex
|
|
"
|
|
|
|
# These get temporary installed for building Mesa and then force-removed.
|
|
MESA_DEV_PKGS="
|
|
bison
|
|
flex
|
|
gettext
|
|
libwayland-egl-backend-dev
|
|
libxrandr-dev
|
|
libxshmfence-dev
|
|
libxrandr-dev
|
|
llvm-${LLVM_VERSION}-dev
|
|
python3-mako
|
|
"
|
|
|
|
# Needed for running the custom-built mesa
|
|
MESA_RUNTIME_PKGS="
|
|
libllvm${LLVM_VERSION}
|
|
"
|
|
|
|
apt-get update
|
|
apt-get -y --no-install-recommends install \
|
|
autoconf \
|
|
automake \
|
|
build-essential \
|
|
clang-${LLVM_VERSION} \
|
|
curl \
|
|
doxygen \
|
|
graphviz \
|
|
freerdp2-dev \
|
|
gcovr \
|
|
git \
|
|
hwdata \
|
|
lcov \
|
|
libasound2-dev \
|
|
libbluetooth-dev \
|
|
libcairo2-dev \
|
|
libcolord-dev \
|
|
libdbus-1-dev \
|
|
libdrm-dev \
|
|
libegl1-mesa-dev \
|
|
libelf-dev \
|
|
libevdev-dev \
|
|
libexpat1-dev \
|
|
libffi-dev \
|
|
libgbm-dev \
|
|
libgdk-pixbuf2.0-dev \
|
|
libgles2-mesa-dev \
|
|
libglu1-mesa-dev \
|
|
libgstreamer1.0-dev \
|
|
libgstreamer-plugins-base1.0-dev \
|
|
libinput-dev \
|
|
libjack-jackd2-dev \
|
|
libjpeg-dev \
|
|
libjpeg-dev \
|
|
libmtdev-dev \
|
|
libpam0g-dev \
|
|
libpango1.0-dev \
|
|
libpciaccess-dev \
|
|
libpixman-1-dev \
|
|
libpng-dev \
|
|
libpulse-dev \
|
|
libsbc-dev \
|
|
libsystemd-dev \
|
|
libtool \
|
|
libudev-dev \
|
|
libva-dev \
|
|
libvpx-dev \
|
|
libvulkan-dev \
|
|
libwebp-dev \
|
|
libx11-dev \
|
|
libx11-xcb-dev \
|
|
libxcb1-dev \
|
|
libxcb-composite0-dev \
|
|
libxcb-dri2-0-dev \
|
|
libxcb-dri3-dev \
|
|
libxcb-glx0-dev \
|
|
libxcb-present-dev \
|
|
libxcb-randr0-dev \
|
|
libxcb-shm0-dev \
|
|
libxcb-sync-dev \
|
|
libxcb-xfixes0-dev \
|
|
libxcb-xkb-dev \
|
|
libxcursor-dev \
|
|
libxcb-cursor-dev \
|
|
libxdamage-dev \
|
|
libxext-dev \
|
|
libxfixes-dev \
|
|
libxkbcommon-dev \
|
|
libxml2-dev \
|
|
libxxf86vm-dev \
|
|
lld-${LLVM_VERSION} \
|
|
llvm-${LLVM_VERSION} \
|
|
llvm-${LLVM_VERSION}-dev \
|
|
mesa-common-dev \
|
|
ninja-build \
|
|
pkg-config \
|
|
python3-pip \
|
|
python3-pygments \
|
|
python3-setuptools \
|
|
qemu-system \
|
|
sysvinit-core \
|
|
x11proto-dev \
|
|
xwayland \
|
|
$MESA_DEV_PKGS \
|
|
$MESA_RUNTIME_PKGS \
|
|
$LINUX_DEV_PKGS \
|
|
|
|
|
|
# Actually build our dependencies ...
|
|
./.gitlab-ci/build-deps.sh
|
|
|
|
|
|
# And remove packages which are only required for our build dependencies,
|
|
# which we don't need bloating the image whilst we build and run Weston.
|
|
apt-get -y --autoremove purge $LINUX_DEV_PKGS $MESA_DEV_PKGS
|