1bf215546Sopenharmony_ci#!/bin/bash
2bf215546Sopenharmony_ci
3bf215546Sopenharmony_ciset -e
4bf215546Sopenharmony_ciset -o xtrace
5bf215546Sopenharmony_ci
6bf215546Sopenharmony_ciexport DEBIAN_FRONTEND=noninteractive
7bf215546Sopenharmony_ci
8bf215546Sopenharmony_ci# Ephemeral packages (installed for this script and removed again at the end)
9bf215546Sopenharmony_ciSTABLE_EPHEMERAL=" \
10bf215546Sopenharmony_ci      autoconf \
11bf215546Sopenharmony_ci      automake \
12bf215546Sopenharmony_ci      autotools-dev \
13bf215546Sopenharmony_ci      bzip2 \
14bf215546Sopenharmony_ci      libtool \
15bf215546Sopenharmony_ci      python3-pip \
16bf215546Sopenharmony_ci      "
17bf215546Sopenharmony_ci
18bf215546Sopenharmony_ciapt-get update
19bf215546Sopenharmony_ci
20bf215546Sopenharmony_ciapt-get install -y --no-remove \
21bf215546Sopenharmony_ci      $STABLE_EPHEMERAL \
22bf215546Sopenharmony_ci      check \
23bf215546Sopenharmony_ci      clang \
24bf215546Sopenharmony_ci      libasan6 \
25bf215546Sopenharmony_ci      libarchive-dev \
26bf215546Sopenharmony_ci      libclang-cpp13-dev \
27bf215546Sopenharmony_ci      libclang-cpp11-dev \
28bf215546Sopenharmony_ci      libgbm-dev \
29bf215546Sopenharmony_ci      libglvnd-dev \
30bf215546Sopenharmony_ci      libllvmspirvlib-dev \
31bf215546Sopenharmony_ci      liblua5.3-dev \
32bf215546Sopenharmony_ci      libxcb-dri2-0-dev \
33bf215546Sopenharmony_ci      libxcb-dri3-dev \
34bf215546Sopenharmony_ci      libxcb-glx0-dev \
35bf215546Sopenharmony_ci      libxcb-present-dev \
36bf215546Sopenharmony_ci      libxcb-randr0-dev \
37bf215546Sopenharmony_ci      libxcb-shm0-dev \
38bf215546Sopenharmony_ci      libxcb-sync-dev \
39bf215546Sopenharmony_ci      libxcb-xfixes0-dev \
40bf215546Sopenharmony_ci      libxcb1-dev \
41bf215546Sopenharmony_ci      libxml2-dev \
42bf215546Sopenharmony_ci      llvm-13-dev \
43bf215546Sopenharmony_ci      llvm-11-dev \
44bf215546Sopenharmony_ci      llvm-9-dev \
45bf215546Sopenharmony_ci      ocl-icd-opencl-dev \
46bf215546Sopenharmony_ci      python3-freezegun \
47bf215546Sopenharmony_ci      python3-pytest \
48bf215546Sopenharmony_ci      procps \
49bf215546Sopenharmony_ci      spirv-tools \
50bf215546Sopenharmony_ci      strace \
51bf215546Sopenharmony_ci      time
52bf215546Sopenharmony_ci
53bf215546Sopenharmony_ci
54bf215546Sopenharmony_ci. .gitlab-ci/container/container_pre_build.sh
55bf215546Sopenharmony_ci
56bf215546Sopenharmony_ci# dependencies where we want a specific version
57bf215546Sopenharmony_ciexport              XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
58bf215546Sopenharmony_ci
59bf215546Sopenharmony_ciexport         XORGMACROS_VERSION=util-macros-1.19.0
60bf215546Sopenharmony_ci
61bf215546Sopenharmony_ciwget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
62bf215546Sopenharmony_citar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2
63bf215546Sopenharmony_cicd $XORGMACROS_VERSION; ./configure; make install; cd ..
64bf215546Sopenharmony_cirm -rf $XORGMACROS_VERSION
65bf215546Sopenharmony_ci
66bf215546Sopenharmony_ci. .gitlab-ci/container/build-libdrm.sh
67bf215546Sopenharmony_ci
68bf215546Sopenharmony_ci. .gitlab-ci/container/build-wayland.sh
69bf215546Sopenharmony_ci
70bf215546Sopenharmony_cipushd /usr/local
71bf215546Sopenharmony_cigit clone https://gitlab.freedesktop.org/mesa/shader-db.git --depth 1
72bf215546Sopenharmony_cirm -rf shader-db/.git
73bf215546Sopenharmony_cicd shader-db
74bf215546Sopenharmony_cimake
75bf215546Sopenharmony_cipopd
76bf215546Sopenharmony_ci
77bf215546Sopenharmony_cigit clone https://github.com/microsoft/DirectX-Headers -b v1.606.3 --depth 1
78bf215546Sopenharmony_cimkdir -p DirectX-Headers/build
79bf215546Sopenharmony_cipushd DirectX-Headers/build
80bf215546Sopenharmony_cimeson .. --backend=ninja --buildtype=release -Dbuild-test=false
81bf215546Sopenharmony_cininja
82bf215546Sopenharmony_cininja install
83bf215546Sopenharmony_cipopd
84bf215546Sopenharmony_cirm -rf DirectX-Headers
85bf215546Sopenharmony_ci
86bf215546Sopenharmony_cipip3 install git+https://git.lavasoftware.org/lava/lavacli@3db3ddc45e5358908bc6a17448059ea2340492b7
87bf215546Sopenharmony_ci
88bf215546Sopenharmony_ci############### Uninstall the build software
89bf215546Sopenharmony_ci
90bf215546Sopenharmony_ciapt-get purge -y \
91bf215546Sopenharmony_ci      $STABLE_EPHEMERAL
92bf215546Sopenharmony_ci
93bf215546Sopenharmony_ci. .gitlab-ci/container/container_post_build.sh
94