blob: 1a7359770760f03eaf5bb8f638d23d2084a56591 (
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
|
FROM fedora:34
RUN dnf update -y \
&& dnf install -y \
autoconf-archive \
brotli-devel \
clang-analyzer \
'dnf-command(builddep)' \
git \
glib2-doc \
gnutls-devel \
gobject-introspection-devel \
gtk-doc \
httpd \
krb5-devel \
lcov \
libasan \
libpsl-devel \
libnghttp2-devel \
lsof \
make \
meson \
mod_ssl \
python2.7 \
redhat-rpm-config \
samba-winbind-clients \
sqlite-devel \
sysprof-devel \
vala \
valgrind \
which \
&& dnf builddep -y glib2 nghttp2 vala \
&& dnf clean all \
&& python2.7 -m ensurepip \
&& pip2.7 install virtualenv autobahntestsuite \
&& pip3 install gi-docgen
# We need glib 2.70
RUN git clone https://gitlab.gnome.org/GNOME/glib.git \
&& pushd glib \
&& git checkout 2.69.1 \
&& meson _build --prefix=/usr -Dgtk_doc=true \
&& ninja -C _build install \
&& popd \
&& rm -rf glib
RUN git clone https://gitlab.gnome.org/GNOME/glib-networking.git \
&& pushd glib-networking \
&& git checkout f7b3250d3e3fce4ea02b00610d9f2148ade4a6ce \
&& meson _build --prefix=/usr \
&& ninja -C _build install \
&& popd \
&& rm -rf glib-networking
# Fedora 34 has a really outdated vala
RUN git clone https://gitlab.gnome.org/GNOME/vala.git \
&& pushd vala \
&& git checkout 0.50.10 \
&& ./autogen.sh --prefix=/usr \
&& make install \
&& popd \
&& rm -rf vala
# We install the docs for libsoup2 to host (idk why libsoup-docs package doesn't work)
RUN git clone https://gitlab.gnome.org/GNOME/libsoup.git \
&& pushd libsoup \
&& git checkout libsoup-2-74 \
&& meson _build --prefix=/usr -Dgtk_doc=true \
&& ninja -C _build libsoup-2.4-doc \
&& cp -R _build/docs/reference/html /usr/share/gtk-doc/html/libsoup-2.4 \
&& popd \
&& rm -rf libsoup
# Update libnghttp2 for do_invalid_header_rfc9113_received_test()
RUN git clone https://github.com/nghttp2/nghttp2.git \
&& pushd nghttp2 \
&& git checkout v1.50.0 \
&& autoreconf --install --symlink \
&& ./configure --prefix=/usr --disable-static --disable-examples \
&& make -j $(nproc) install \
&& popd \
&& rm -rf nghttp2
ARG HOST_USER_ID=5555
ENV HOST_USER_ID ${HOST_USER_ID}
RUN useradd -u $HOST_USER_ID -ms /bin/bash user
USER user
WORKDIR /home/user
ENV LANG C.UTF-8
|