17ec681f3Smrg#!/bin/bash 27ec681f3Smrg 37ec681f3Smrgset -e 47ec681f3Smrgset -o xtrace 57ec681f3Smrg 67ec681f3Smrgexport DEBIAN_FRONTEND=noninteractive 77ec681f3Smrg 87ec681f3Smrg# Ephemeral packages (installed for this script and removed again at the end) 97ec681f3SmrgSTABLE_EPHEMERAL=" \ 107ec681f3Smrg " 117ec681f3Smrg 127ec681f3Smrgdpkg --add-architecture $arch 137ec681f3Smrgapt-get update 147ec681f3Smrg 157ec681f3Smrgapt-get install -y --no-remove \ 167ec681f3Smrg $STABLE_EPHEMERAL \ 177ec681f3Smrg crossbuild-essential-$arch \ 187ec681f3Smrg libelf-dev:$arch \ 197ec681f3Smrg libexpat1-dev:$arch \ 207ec681f3Smrg libpciaccess-dev:$arch \ 217ec681f3Smrg libstdc++6:$arch \ 227ec681f3Smrg libvulkan-dev:$arch \ 237ec681f3Smrg libx11-dev:$arch \ 247ec681f3Smrg libx11-xcb-dev:$arch \ 257ec681f3Smrg libxcb-dri2-0-dev:$arch \ 267ec681f3Smrg libxcb-dri3-dev:$arch \ 277ec681f3Smrg libxcb-glx0-dev:$arch \ 287ec681f3Smrg libxcb-present-dev:$arch \ 297ec681f3Smrg libxcb-randr0-dev:$arch \ 307ec681f3Smrg libxcb-shm0-dev:$arch \ 317ec681f3Smrg libxcb-xfixes0-dev:$arch \ 327ec681f3Smrg libxdamage-dev:$arch \ 337ec681f3Smrg libxext-dev:$arch \ 347ec681f3Smrg libxrandr-dev:$arch \ 357ec681f3Smrg libxshmfence-dev:$arch \ 367ec681f3Smrg libxxf86vm-dev:$arch \ 377ec681f3Smrg wget 387ec681f3Smrg 397ec681f3Smrgif [[ $arch != "armhf" ]]; then 407ec681f3Smrg if [[ $arch == "s390x" ]]; then 417ec681f3Smrg LLVM=9 427ec681f3Smrg else 437ec681f3Smrg LLVM=11 447ec681f3Smrg fi 457ec681f3Smrg 467ec681f3Smrg # llvm-*-tools:$arch conflicts with python3:amd64. Install dependencies only 477ec681f3Smrg # with apt-get, then force-install llvm-*-{dev,tools}:$arch with dpkg to get 487ec681f3Smrg # around this. 497ec681f3Smrg apt-get install -y --no-remove \ 507ec681f3Smrg libclang-cpp${LLVM}:$arch \ 517ec681f3Smrg libffi-dev:$arch \ 527ec681f3Smrg libgcc-s1:$arch \ 537ec681f3Smrg libtinfo-dev:$arch \ 547ec681f3Smrg libz3-dev:$arch \ 557ec681f3Smrg llvm-${LLVM}:$arch \ 567ec681f3Smrg zlib1g 577ec681f3Smrgfi 587ec681f3Smrg 597ec681f3Smrg. .gitlab-ci/container/create-cross-file.sh $arch 607ec681f3Smrg 617ec681f3Smrg 627ec681f3Smrg. .gitlab-ci/container/container_pre_build.sh 637ec681f3Smrg 647ec681f3Smrg 657ec681f3Smrg# dependencies where we want a specific version 667ec681f3SmrgEXTRA_MESON_ARGS="--cross-file=/cross_file-${arch}.txt -D libdir=lib/$(dpkg-architecture -A $arch -qDEB_TARGET_MULTIARCH)" 677ec681f3Smrg. .gitlab-ci/container/build-libdrm.sh 687ec681f3Smrg 697ec681f3Smrgapt-get purge -y \ 707ec681f3Smrg $STABLE_EPHEMERAL 717ec681f3Smrg 727ec681f3Smrg. .gitlab-ci/container/container_post_build.sh 737ec681f3Smrg 747ec681f3Smrg# This needs to be done after container_post_build.sh, or apt-get breaks in there 757ec681f3Smrgif [[ $arch != "armhf" ]]; then 767ec681f3Smrg apt-get download llvm-${LLVM}-{dev,tools}:$arch 777ec681f3Smrg dpkg -i --force-depends llvm-${LLVM}-*_${arch}.deb 787ec681f3Smrg rm llvm-${LLVM}-*_${arch}.deb 797ec681f3Smrgfi 80