blob: 5cd616142c780ceb03eece6353d043e69ef8fada [file] [log] [blame]
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +02001FROM fedora:30
2
3RUN dnf -y upgrade && \
4 dnf -y install \
5 "@Development Tools" \
6 g++ \
7 libuuid-devel \
8 python3 \
9 nasm \
10 acpica-tools \
11 gettext-devel \
12 autoconf \
13 bison \
14 libtool \
15 automake \
16 flex \
17 glibc-static \
18 elfutils-libelf-devel \
19 libblkid-devel \
20 lz4 \
21 bc \
22 hostname \
23 which \
24 swtpm-tools \
25 rsync \
Hendrik Hofstadt3e6018f2019-10-28 21:29:42 +010026 qemu-system-x86-core \
Leopold Schabel383d4bb2019-11-14 22:53:58 +010027 postgresql \
Leopold Schabela4516f92019-12-04 20:27:05 +000028 expect \
29 grpc-cli \
30 nc
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020031
32# Workaround for a binutils bugs in F30, which generates invalid ELF binaries
33# when linking statically with musl.
34RUN dnf -y install fedora-repos-rawhide && \
35 dnf -y --disablerepo=* --enablerepo=rawhide --releasever=32 upgrade binutils
36
37# Install Bazel binary
38RUN curl -o /usr/local/bin/bazel \
Leopold Schabelf1d34d32020-01-07 14:15:44 +010039 https://releases.bazel.build/2.0.0/release/bazel-2.0.0-linux-x86_64 && \
40 echo '4df79462c6c3ecdeeee7af99fc269b52ab1aa4828ef3bc359c1837d3fafeeee7 /usr/local/bin/bazel' | sha256sum --check && \
Hendrik Hofstadt0d7c91e2019-10-23 21:44:47 +020041 chmod +x /usr/local/bin/bazel
42
43# Use a shared Go module cache for gazelle
44# https://github.com/bazelbuild/bazel-gazelle/pull/535
45ENV GO_REPOSITORY_USE_HOST_CACHE=1
46
47# --userns=keep-id uses the workdir as $HOME otherwise
48RUN mkdir /user
49ENV HOME=/user
50
51WORKDIR /work