This is needed to build opensil. With meson and ninja added to the coreboot-sdk image there is no need have them in the jenkins node image. Change-Id: I36188ae895f2a770f1dc4528f332c09bf386db73 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/80736 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
		
			
				
	
	
		
			123 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # Generate the docker image for this file by running:
 | |
| #
 | |
| #   make coreboot-sdk
 | |
| 
 | |
| FROM debian:sid AS coreboot-sdk
 | |
| 
 | |
| # The coreboot Commit-ID to build the toolchain from.
 | |
| ARG DOCKER_COMMIT
 | |
| # The version of the coreboot sdk to use. Typically, this corresponds to the
 | |
| # toolchain version. This is used to identify this docker image.
 | |
| ARG SDK_VERSION
 | |
| ARG CROSSGCC_PARAM
 | |
| 
 | |
| RUN \
 | |
| 	useradd -p locked -m coreboot && \
 | |
| 	apt-get -qq update && \
 | |
| 	apt-get -qqy install --no-install-recommends \
 | |
| 		bash-completion \
 | |
| 		bc \
 | |
| 		bison \
 | |
| 		bsdextrautils \
 | |
| 		bzip2 \
 | |
| 		ca-certificates \
 | |
| 		ccache \
 | |
| 		cmake \
 | |
| 		cscope \
 | |
| 		curl \
 | |
| 		device-tree-compiler \
 | |
| 		dh-autoreconf \
 | |
| 		diffutils \
 | |
| 		exuberant-ctags \
 | |
| 		flex \
 | |
| 		g++ \
 | |
| 		gawk \
 | |
| 		gcc \
 | |
| 		git \
 | |
| 		gnat-13 \
 | |
| 		golang \
 | |
| 		graphicsmagick-imagemagick-compat \
 | |
| 		graphviz \
 | |
| 		lcov \
 | |
| 		less \
 | |
| 		libcapture-tiny-perl \
 | |
| 		libcrypto++-dev \
 | |
| 		libcurl4 \
 | |
| 		libcurl4-openssl-dev \
 | |
| 		libdatetime-perl \
 | |
| 		libelf-dev \
 | |
| 		libfreetype-dev \
 | |
| 		libftdi1-dev \
 | |
| 		libglib2.0-dev \
 | |
| 		libgmp-dev \
 | |
| 		libgpiod-dev \
 | |
| 		libjaylink-dev \
 | |
| 		liblzma-dev \
 | |
| 		libnss3-dev \
 | |
| 		libncurses-dev \
 | |
| 		libpci-dev \
 | |
| 		libreadline-dev \
 | |
| 		libssl-dev \
 | |
| 		libtimedate-perl \
 | |
| 		libusb-1.0-0-dev \
 | |
| 		libxml2-dev \
 | |
| 		libyaml-dev \
 | |
| 		m4 \
 | |
| 		make \
 | |
| 		meson \
 | |
| 		msitools \
 | |
| 		neovim \
 | |
| 		ninja-build \
 | |
| 		openssh-client \
 | |
| 		openssl \
 | |
| 		parted \
 | |
| 		patch \
 | |
| 		pbzip2 \
 | |
| 		pkg-config \
 | |
| 		python3 \
 | |
| 		python-is-python3 \
 | |
| 		qemu-system-arm \
 | |
| 		qemu-system-misc \
 | |
| 		qemu-system-ppc \
 | |
| 		qemu-system-x86 \
 | |
| 		rsync \
 | |
| 		sharutils \
 | |
| 		shellcheck \
 | |
| 		unifont \
 | |
| 		unzip \
 | |
| 		uuid-dev \
 | |
| 		vim-common \
 | |
| 		wget \
 | |
| 		xz-utils \
 | |
| 		zlib1g-dev \
 | |
| 	&& apt-get clean
 | |
| 
 | |
| RUN \
 | |
| 	cd /tmp && \
 | |
| 	git clone https://review.coreboot.org/coreboot && \
 | |
| 	cd coreboot && \
 | |
| 	git checkout ${DOCKER_COMMIT}; \
 | |
| 	if echo ${CROSSGCC_PARAM} | grep -q ^all; then \
 | |
| 		make -C /tmp/coreboot/util/crossgcc/ build_clang \
 | |
| 			BUILD_LANGUAGES=c,ada CPUS=$(nproc) DEST=/opt/xgcc; \
 | |
| 	fi; \
 | |
| 	make -C /tmp/coreboot/util/crossgcc/ ${CROSSGCC_PARAM} \
 | |
| 		BUILD_LANGUAGES=c,ada CPUS=$(nproc) DEST=/opt/xgcc && \
 | |
| 	rm -rf /tmp/coreboot
 | |
| 
 | |
| RUN mkdir /home/coreboot/.ccache && \
 | |
| 	chown coreboot:coreboot /home/coreboot/.ccache && \
 | |
| 	mkdir /home/coreboot/cb_build && \
 | |
| 	chown coreboot:coreboot /home/coreboot/cb_build && \
 | |
| 	echo "export PATH=$PATH:/opt/xgcc/bin" >> /home/coreboot/.bashrc && \
 | |
| 	echo "export SDK_VERSION=${SDK_VERSION}" >> /home/coreboot/.bashrc && \
 | |
| 	echo "export SDK_COMMIT=${DOCKER_COMMIT}" >> /home/coreboot/.bashrc
 | |
| 
 | |
| ENV PATH $PATH:/opt/xgcc/bin
 | |
| ENV SDK_VERSION=${SDK_VERSION}
 | |
| ENV SDK_COMMIT=${DOCKER_COMMIT}
 | |
| USER coreboot
 | |
| 
 | |
| FROM coreboot-sdk
 | |
| VOLUME /home/coreboot/.ccache
 |