blob: 77c15216951242a2155a3885b379998447dc0eaa (
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
FROM ubuntu:bionic
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y \
curl \
wget \
gnupg \
software-properties-common
RUN curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
RUN add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main"
RUN apt-get update
RUN apt-get install -y \
pkg-config \
libdrm-dev \
libpciaccess-dev \
libxrandr-dev \
libxdamage-dev \
libxfixes-dev \
libxshmfence-dev \
libxxf86vm-dev \
libvdpau-dev \
libva-dev \
llvm-3.9-dev \
libclang-3.9-dev \
llvm-4.0-dev \
libclang-4.0-dev \
llvm-5.0-dev \
llvm-6.0-dev \
llvm-7-dev \
clang-5.0 \
libclang-5.0-dev \
clang-6.0 \
libclang-6.0-dev \
clang-7 \
libclang-7-dev \
libclc-dev \
libxvmc-dev \
libomxil-bellagio-dev \
xz-utils \
libexpat1-dev \
libx11-xcb-dev \
x11proto-xf86vidmode-dev \
libelf-dev \
libunwind8-dev \
libglvnd-dev \
python2.7 \
python-pip \
python-setuptools \
python3.5 \
python3-pip \
python3-setuptools
RUN apt-get install -y \
libxcb-randr0
# autotools build deps
RUN apt-get install -y \
autoconf \
automake \
xutils-dev \
libtool \
bison \
flex \
gettext \
make
# dependencies where we want a specific version
ENV XORG_RELEASES https://xorg.freedesktop.org/releases/individual
ENV XCB_RELEASES https://xcb.freedesktop.org/dist
ENV WAYLAND_RELEASES https://wayland.freedesktop.org/releases
ENV XORGMACROS_VERSION util-macros-1.19.0
ENV GLPROTO_VERSION glproto-1.4.17
ENV DRI2PROTO_VERSION dri2proto-2.8
ENV LIBPCIACCESS_VERSION libpciaccess-0.13.4
ENV LIBDRM_VERSION libdrm-2.4.97
ENV XCBPROTO_VERSION xcb-proto-1.13
ENV RANDRPROTO_VERSION randrproto-1.3.0
ENV LIBXRANDR_VERSION libXrandr-1.3.0
ENV LIBXCB_VERSION libxcb-1.13
ENV LIBXSHMFENCE_VERSION libxshmfence-1.3
ENV LIBVDPAU_VERSION libvdpau-1.1
ENV LIBVA_VERSION libva-1.7.0
ENV LIBWAYLAND_VERSION wayland-1.15.0
ENV WAYLAND_PROTOCOLS_VERSION wayland-protocols-1.8
RUN wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
RUN tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2
RUN (cd $XORGMACROS_VERSION && ./configure && make install) && rm -rf $XORGMACROS_VERSION
RUN wget $XORG_RELEASES/proto/$GLPROTO_VERSION.tar.bz2
RUN tar -xvf $GLPROTO_VERSION.tar.bz2 && rm $GLPROTO_VERSION.tar.bz2
RUN (cd $GLPROTO_VERSION && ./configure && make install) && rm -rf $GLPROTO_VERSION
RUN wget $XORG_RELEASES/proto/$DRI2PROTO_VERSION.tar.bz2
RUN tar -xvf $DRI2PROTO_VERSION.tar.bz2 && rm $DRI2PROTO_VERSION.tar.bz2
RUN (cd $DRI2PROTO_VERSION && ./configure && make install) && rm -rf $DRI2PROTO_VERSION
RUN wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2
RUN tar -xvf $XCBPROTO_VERSION.tar.bz2 && rm $XCBPROTO_VERSION.tar.bz2
RUN (cd $XCBPROTO_VERSION && ./configure && make install) && rm -rf $XCBPROTO_VERSION
RUN wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2
RUN tar -xvf $LIBXCB_VERSION.tar.bz2 && rm $LIBXCB_VERSION.tar.bz2
RUN (cd $LIBXCB_VERSION && ./configure && make install) && rm -rf $LIBXCB_VERSION
RUN wget $XORG_RELEASES/lib/$LIBPCIACCESS_VERSION.tar.bz2
RUN tar -xvf $LIBPCIACCESS_VERSION.tar.bz2 && rm $LIBPCIACCESS_VERSION.tar.bz2
RUN (cd $LIBPCIACCESS_VERSION && ./configure && make install) && rm -rf $LIBPCIACCESS_VERSION
RUN wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
RUN tar -xvf $LIBDRM_VERSION.tar.bz2 && rm $LIBDRM_VERSION.tar.bz2
RUN (cd $LIBDRM_VERSION && ./configure --enable-vc4 --enable-freedreno --enable-etnaviv-experimental-api && make install) && rm -rf $LIBDRM_VERSION
RUN wget $XORG_RELEASES/proto/$RANDRPROTO_VERSION.tar.bz2
RUN tar -xvf $RANDRPROTO_VERSION.tar.bz2 && rm $RANDRPROTO_VERSION.tar.bz2
RUN (cd $RANDRPROTO_VERSION && ./configure && make install) && rm -rf $RANDRPROTO_VERSION
RUN wget $XORG_RELEASES/lib/$LIBXRANDR_VERSION.tar.bz2
RUN tar -xvf $LIBXRANDR_VERSION.tar.bz2 && rm $LIBXRANDR_VERSION.tar.bz2
RUN (cd $LIBXRANDR_VERSION && ./configure && make install) && rm -rf $LIBXRANDR_VERSION
RUN wget $XORG_RELEASES/lib/$LIBXSHMFENCE_VERSION.tar.bz2
RUN tar -xvf $LIBXSHMFENCE_VERSION.tar.bz2 && rm $LIBXSHMFENCE_VERSION.tar.bz2
RUN (cd $LIBXSHMFENCE_VERSION && ./configure && make install) && rm -rf $LIBXSHMFENCE_VERSION
RUN wget https://people.freedesktop.org/~aplattner/vdpau/$LIBVDPAU_VERSION.tar.bz2
RUN tar -xvf $LIBVDPAU_VERSION.tar.bz2 && rm $LIBVDPAU_VERSION.tar.bz2
RUN (cd $LIBVDPAU_VERSION && ./configure && make install) && rm -rf $LIBVDPAU_VERSION
RUN wget https://www.freedesktop.org/software/vaapi/releases/libva/$LIBVA_VERSION.tar.bz2
RUN tar -xvf $LIBVA_VERSION.tar.bz2 && rm $LIBVA_VERSION.tar.bz2
RUN (cd $LIBVA_VERSION && ./configure --disable-wayland --disable-dummy-driver && make install) && rm -rf $LIBVA_VERSION
RUN wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
RUN tar -xvf $LIBWAYLAND_VERSION.tar.xz && rm $LIBWAYLAND_VERSION.tar.xz
RUN (cd $LIBWAYLAND_VERSION && ./configure --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation && make install) && rm -rf $LIBWAYLAND_VERSION
RUN wget $WAYLAND_RELEASES/$WAYLAND_PROTOCOLS_VERSION.tar.xz
RUN tar -xvf $WAYLAND_PROTOCOLS_VERSION.tar.xz && rm $WAYLAND_PROTOCOLS_VERSION.tar.xz
RUN (cd $WAYLAND_PROTOCOLS_VERSION && ./configure && make install) && rm -rf $WAYLAND_PROTOCOLS_VERSION
RUN apt-get install -y unzip
# Meson requires ninja >= 1.6, but xenial has 1.3.x
RUN wget https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-linux.zip
RUN unzip ninja-linux.zip && rm ninja-linux.zip
RUN mv ninja /usr/bin/
RUN pip3 install 'meson>=0.49'
RUN pip2 install 'scons>=2.4'
RUN pip2 install mako
RUN pip3 install mako
# Use ccache to speed up builds
RUN apt-get install -y ccache
# Cleanup workdir
WORKDIR /
|