1#!/usr/bin/env bash 2# shellcheck disable=SC2086 # we want word splitting 3 4set -e 5 6. .gitlab-ci/setup-test-env.sh 7 8set -o xtrace 9 10: "${LLVM_VERSION:?llvm version not set}" 11 12apt-get -y install ca-certificates curl gnupg2 13sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list.d/* 14echo "deb [trusted=yes] https://gitlab.freedesktop.org/gfx-ci/ci-deb-repo/-/raw/${PKG_REPO_REV}/ ${FDO_DISTRIBUTION_VERSION%-*} main" | tee /etc/apt/sources.list.d/gfx-ci_.list 15 16. .gitlab-ci/container/debian/maybe-add-llvm-repo.sh 17 18# Ephemeral packages (installed for this script and removed again at the end) 19EPHEMERAL=( 20 libssl-dev 21) 22 23DEPS=( 24 apt-utils 25 android-libext4-utils 26 autoconf 27 automake 28 bc 29 bison 30 ccache 31 cmake 32 curl 33 "clang-${LLVM_VERSION}" 34 fastboot 35 flatbuffers-compiler 36 flex 37 g++ 38 git 39 glslang-tools 40 kmod 41 "libclang-${LLVM_VERSION}-dev" 42 "libclang-cpp${LLVM_VERSION}-dev" 43 "libclang-common-${LLVM_VERSION}-dev" 44 libasan8 45 libdrm-dev 46 libelf-dev 47 libexpat1-dev 48 libflatbuffers-dev 49 "libllvm${LLVM_VERSION}" 50 libvulkan-dev 51 libx11-dev 52 libx11-xcb-dev 53 libxcb-dri2-0-dev 54 libxcb-dri3-dev 55 libxcb-glx0-dev 56 libxcb-present-dev 57 libxcb-randr0-dev 58 libxcb-shm0-dev 59 libxcb-xfixes0-dev 60 libxdamage-dev 61 libxext-dev 62 libxrandr-dev 63 libxshmfence-dev 64 libxtensor-dev 65 libxxf86vm-dev 66 libwayland-dev 67 libwayland-egl-backend-dev 68 "llvm-${LLVM_VERSION}-dev" 69 ninja-build 70 meson 71 openssh-server 72 pkgconf 73 python3-mako 74 python3-pil 75 python3-pip 76 python3-pycparser 77 python3-requests 78 python3-setuptools 79 u-boot-tools 80 xz-utils 81 zlib1g-dev 82 zstd 83) 84 85apt-get update 86 87apt-get -y install "${DEPS[@]}" "${EPHEMERAL[@]}" 88 89pip3 install --break-system-packages git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2 90 91arch=armhf 92. .gitlab-ci/container/cross_build.sh 93 94. .gitlab-ci/container/container_pre_build.sh 95 96. .gitlab-ci/container/build-mold.sh 97 98. .gitlab-ci/container/build-wayland.sh 99 100. .gitlab-ci/container/build-llvm-spirv.sh 101 102. .gitlab-ci/container/build-libclc.sh 103 104. .gitlab-ci/container/install-meson.sh 105 106. .gitlab-ci/container/build-rust.sh 107 108. .gitlab-ci/container/build-bindgen.sh 109 110apt-get purge -y "${EPHEMERAL[@]}" 111 112. .gitlab-ci/container/container_post_build.sh 113