summaryrefslogtreecommitdiff
path: root/.gitlab-ci/debian-install.sh
blob: f010cd0b98b1965ed25f26e43aa8c585f55f8133 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/bash

set -e
set -o xtrace

echo 'deb-src https://deb.debian.org/debian bookworm main' >/etc/apt/sources.list.d/deb-src.list
apt-get update


# Ephemeral packages (installed for this script and removed again at the end)
EPHEMERAL="
	ca-certificates
	git
	"

# libXfont/xserver build dependencies
apt-get install -y --no-remove \
	autoconf \
	automake \
	build-essential \
	libtool \
	pkg-config \
	$EPHEMERAL

echo 'APT::Get::Build-Dep-Automatic "true";' >>/etc/apt/apt.conf
apt-get build-dep -y xorg-server

# xserver 1.18 and older branches require libXfont 1.5 instead of 2.0
git clone https://gitlab.freedesktop.org/xorg/lib/libXfont.git
cd libXfont
git checkout libXfont-1.5-branch
./autogen.sh
make install-pkgconfigDATA
cd ..
rm -rf libXfont


git clone https://gitlab.freedesktop.org/xorg/xserver.git
cd xserver

for VERSION in 1.13 1.14 1.15; do
    git checkout server-${VERSION}-branch
    # Workaround glvnd having reset the version in gl.pc from what Mesa used
    # similar to xserver commit e6ef2b12404dfec7f23592a3524d2a63d9d25802
    sed -i -e 's/gl >= [79].[12].0/gl >= 1.2/' configure.ac
    ./autogen.sh --prefix=/usr/local/xserver-$VERSION --enable-dri2 --disable-dmx
    make -C include install-nodist_sdkHEADERS
    make install-headers install-aclocalDATA install-pkgconfigDATA clean
    git restore configure.ac
done

for VERSION in 1.16 1.17 1.18 1.19 1.20 21.1; do
    git checkout server-${VERSION}-branch
    # Workaround glvnd having reset the version in gl.pc from what Mesa used
    # similar to xserver commit e6ef2b12404dfec7f23592a3524d2a63d9d25802
    sed -i -e 's/gl >= [79].[12].0/gl >= 1.2/' configure.ac
    ./autogen.sh --prefix=/usr/local/xserver-$VERSION --enable-dri2 --enable-dri3 --enable-glamor --disable-dmx
    make -C include install-nodist_sdkHEADERS
    make install-headers install-aclocalDATA install-pkgconfigDATA clean
    git restore configure.ac
done

cd ..
rm -rf xserver


# xf86-video-ati build dependencies
apt-get install -y --no-remove \
	clang \
	libdrm-dev \
	libgbm-dev \
	libgl1-mesa-dev \
	libpciaccess-dev \
	libpixman-1-dev \
	libudev-dev \
	libxcvt-dev \
	mesa-common-dev \
	xutils-dev \
	x11proto-dev


# Remove unneeded packages
apt-get purge -y $EPHEMERAL
apt-get autoremove -y --purge