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 10export LLVM_VERSION="${LLVM_VERSION:=15}" 11 12apt-get -y install ca-certificates 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 15apt-get update 16 17# Ephemeral packages (installed for this script and removed again at the end) 18EPHEMERAL=( 19 libssl-dev 20) 21 22DEPS=( 23 apt-utils 24 android-libext4-utils 25 autoconf 26 automake 27 bc 28 bison 29 ccache 30 cmake 31 curl 32 "clang-${LLVM_VERSION}" 33 fastboot 34 flatbuffers-compiler 35 flex 36 g++ 37 git 38 glslang-tools 39 kmod 40 "libclang-${LLVM_VERSION}-dev" 41 "libclang-cpp${LLVM_VERSION}-dev" 42 "libclang-common-${LLVM_VERSION}-dev" 43 libasan8 44 libdrm-dev 45 libelf-dev 46 libexpat1-dev 47 libflatbuffers-dev 48 "libllvm${LLVM_VERSION}" 49 libvulkan-dev 50 libx11-dev 51 libx11-xcb-dev 52 libxcb-dri2-0-dev 53 libxcb-dri3-dev 54 libxcb-glx0-dev 55 libxcb-present-dev 56 libxcb-randr0-dev 57 libxcb-shm0-dev 58 libxcb-xfixes0-dev 59 libxdamage-dev 60 libxext-dev 61 libxrandr-dev 62 libxshmfence-dev 63 libxtensor-dev 64 libxxf86vm-dev 65 libwayland-dev 66 libwayland-egl-backend-dev 67 "llvm-${LLVM_VERSION}-dev" 68 ninja-build 69 meson 70 openssh-server 71 pkgconf 72 python3-mako 73 python3-pil 74 python3-pip 75 python3-pycparser 76 python3-requests 77 python3-setuptools 78 u-boot-tools 79 xz-utils 80 zlib1g-dev 81 zstd 82) 83 84apt-get -y install "${DEPS[@]}" "${EPHEMERAL[@]}" 85 86pip3 install --break-system-packages git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2 87 88arch=armhf 89. .gitlab-ci/container/cross_build.sh 90 91. .gitlab-ci/container/container_pre_build.sh 92 93. .gitlab-ci/container/build-mold.sh 94 95. .gitlab-ci/container/build-wayland.sh 96 97. .gitlab-ci/container/build-llvm-spirv.sh 98 99. .gitlab-ci/container/build-libclc.sh 100 101. .gitlab-ci/container/install-meson.sh 102 103. .gitlab-ci/container/build-rust.sh 104 105. .gitlab-ci/container/build-bindgen.sh 106 107apt-get purge -y "${EPHEMERAL[@]}" 108 109. .gitlab-ci/container/container_post_build.sh 110