soc/intel/cmn/cse: Deprecate CONFIG_SOC_INTEL_CSE_RW_VERSION
[coreboot2.git] / util / docker / coreboot-sdk / Dockerfile
blobecada143b39f42b9a1935b74478b5ad5b81accba
1 # Generate the docker image for this file by running:
3 #   make coreboot-sdk
5 FROM debian:sid AS coreboot-sdk
7 # The coreboot Commit-ID to build the toolchain from.
8 ARG DOCKER_COMMIT
9 # The version of the coreboot sdk to use. Typically, this corresponds to the
10 # toolchain version. This is used to identify this docker image.
11 ARG SDK_VERSION
12 ARG CROSSGCC_PARAM
14 RUN \
15         useradd -p locked -m coreboot && \
16         apt-get -qq update && \
17         apt-get -qqy install --no-install-recommends \
18                 bash-completion \
19                 bc \
20                 bison \
21                 bsdextrautils \
22                 bzip2 \
23                 ca-certificates \
24                 ccache \
25                 cmake \
26                 cscope \
27                 curl \
28                 device-tree-compiler \
29                 dh-autoreconf \
30                 diffutils \
31                 exuberant-ctags \
32                 flex \
33                 g++ \
34                 gawk \
35                 gcc \
36                 git \
37                 gnat-13 \
38                 golang \
39                 graphicsmagick-imagemagick-compat \
40                 graphviz \
41                 lcov \
42                 less \
43                 libcapture-tiny-perl \
44                 libcrypto++-dev \
45                 libcurl4 \
46                 libcurl4-openssl-dev \
47                 libdatetime-perl \
48                 libelf-dev \
49                 libfreetype-dev \
50                 libftdi1-dev \
51                 libglib2.0-dev \
52                 libgmp-dev \
53                 libgpiod-dev \
54                 libjaylink-dev \
55                 liblzma-dev \
56                 libnss3-dev \
57                 libncurses-dev \
58                 libpci-dev \
59                 libreadline-dev \
60                 libssl-dev \
61                 libtimedate-perl \
62                 libusb-1.0-0-dev \
63                 libxml2-dev \
64                 libyaml-dev \
65                 m4 \
66                 make \
67                 meson \
68                 msitools \
69                 neovim \
70                 ninja-build \
71                 openssh-client \
72                 openssl \
73                 parted \
74                 patch \
75                 pbzip2 \
76                 pkg-config \
77                 python3 \
78                 python-is-python3 \
79                 qemu-system-arm \
80                 qemu-system-misc \
81                 qemu-system-ppc \
82                 qemu-system-x86 \
83                 rsync \
84                 sharutils \
85                 shellcheck \
86                 unifont \
87                 unzip \
88                 uuid-dev \
89                 vim-common \
90                 wget \
91                 xz-utils \
92                 zlib1g-dev \
93         && apt-get clean
95 RUN \
96         cd /tmp && \
97         git clone https://review.coreboot.org/coreboot && \
98         cd coreboot && \
99         git checkout ${DOCKER_COMMIT}; \
100         if echo ${CROSSGCC_PARAM} | grep -q ^all; then \
101                 make -C /tmp/coreboot/util/crossgcc/ build_clang \
102                         BUILD_LANGUAGES=c,ada CPUS=$(nproc) DEST=/opt/xgcc; \
103         fi; \
104         make -C /tmp/coreboot/util/crossgcc/ ${CROSSGCC_PARAM} \
105                 BUILD_LANGUAGES=c,ada CPUS=$(nproc) DEST=/opt/xgcc && \
106         rm -rf /tmp/coreboot
108 RUN mkdir /home/coreboot/.ccache && \
109         chown coreboot:coreboot /home/coreboot/.ccache && \
110         mkdir /home/coreboot/cb_build && \
111         chown coreboot:coreboot /home/coreboot/cb_build && \
112         echo "export PATH=$PATH:/opt/xgcc/bin" >> /home/coreboot/.bashrc && \
113         echo "export SDK_VERSION=${SDK_VERSION}" >> /home/coreboot/.bashrc && \
114         echo "export SDK_COMMIT=${DOCKER_COMMIT}" >> /home/coreboot/.bashrc
116 ENV PATH $PATH:/opt/xgcc/bin
117 ENV SDK_VERSION=${SDK_VERSION}
118 ENV SDK_COMMIT=${DOCKER_COMMIT}
119 USER coreboot
121 FROM coreboot-sdk
122 VOLUME /home/coreboot/.ccache