• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env bash
2# shellcheck disable=SC1091
3
4# When changing this file, you need to bump the following
5# .gitlab-ci/image-tags.yml tags:
6# FEDORA_X86_64_BUILD_TAG
7
8set -e
9
10. .gitlab-ci/setup-test-env.sh
11
12set -o xtrace
13
14
15EPHEMERAL=(
16        autoconf
17        automake
18        bzip2
19        cmake
20        git
21        libtool
22        "pkgconfig(epoxy)"
23        "pkgconfig(gbm)"
24        "pkgconfig(openssl)"
25        python3-pip
26        unzip
27        xz
28)
29
30DEPS=(
31    bindgen
32    bison
33    cbindgen
34    ccache
35    clang-devel
36    flex
37    flatbuffers-compiler
38    gcc
39    gcc-c++
40    gettext
41    glslang
42    kernel-headers
43    llvm-devel
44    ninja-build
45    "pkgconfig(LLVMSPIRVLib)"
46    "pkgconfig(SPIRV-Tools)"
47    "pkgconfig(dri2proto)"
48    "pkgconfig(expat)"
49    "pkgconfig(flatbuffers)"
50    "pkgconfig(glproto)"
51    "pkgconfig(libclc)"
52    "pkgconfig(libelf)"
53    "pkgconfig(libglvnd)"
54    "pkgconfig(libva)"
55    "pkgconfig(pciaccess)"
56    "pkgconfig(vdpau)"
57    "pkgconfig(vulkan)"
58    "pkgconfig(x11)"
59    "pkgconfig(x11-xcb)"
60    "pkgconfig(xcb)"
61    "pkgconfig(xcb-dri2)"
62    "pkgconfig(xcb-dri3)"
63    "pkgconfig(xcb-glx)"
64    "pkgconfig(xcb-present)"
65    "pkgconfig(xcb-randr)"
66    "pkgconfig(xcb-sync)"
67    "pkgconfig(xcb-xfixes)"
68    "pkgconfig(xdamage)"
69    "pkgconfig(xext)"
70    "pkgconfig(xfixes)"
71    "pkgconfig(xrandr)"
72    "pkgconfig(xshmfence)"
73    "pkgconfig(xtensor)"
74    "pkgconfig(xxf86vm)"
75    "pkgconfig(zlib)"
76    procps-ng
77    python-unversioned-command
78    python3-devel
79    python3-mako
80    python3-packaging
81    python3-ply
82    python3-pycparser
83    python3-yaml
84    rust-packaging
85    vulkan-headers
86    spirv-tools-devel
87    spirv-llvm-translator-devel
88)
89
90dnf install -y --setopt=install_weak_deps=False "${DEPS[@]}" "${EPHEMERAL[@]}"
91
92
93. .gitlab-ci/container/container_pre_build.sh
94
95
96# dependencies where we want a specific version
97export              XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
98
99export         XORGMACROS_VERSION=util-macros-1.19.0
100
101curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
102    -O $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
103tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2
104cd $XORGMACROS_VERSION; ./configure; make install; cd ..
105rm -rf $XORGMACROS_VERSION
106
107. .gitlab-ci/container/install-meson.sh
108
109. .gitlab-ci/container/build-mold.sh
110
111. .gitlab-ci/container/build-libdrm.sh
112
113. .gitlab-ci/container/build-wayland.sh
114
115
116############### Uninstall the build software
117
118dnf remove -y "${EPHEMERAL[@]}"
119
120. .gitlab-ci/container/container_post_build.sh
121