- Use https for redox apt repository - Import the repository's key - Update [toolchain packages' names](https://github.com/redox-os/cookbook/pull/59) - Install `wget` which is needed by [coobook/recipes/xz](https://github.com/redox-os/cookbook/blob/master/recipes/xz/recipe.sh) - Update README file to reflect the [discussion about when the submodules are needed](https://github.com/redox-os/redox/pull/1005#discussion_r129432929) - Update README file to suggest using `make fetch all` in place of `make update all` since `Cargo.lock` files come with the sources now. See this [comment](https://github.com/redox-os/redox/issues/1021#issuecomment-320946322) Note: current source tree generation requires runing the docker container with `bash -c RUSTFLAGS=\"-A unused_mut\" make fetch all` in place of `make fetch all`
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
		
			Executable file
		
	
	
	
	
FROM ubuntu:17.04
 | 
						|
 | 
						|
ENV REDOX_TOOLCHAIN_APT https://static.redox-os.org/toolchain/apt/
 | 
						|
 | 
						|
ENV USER user
 | 
						|
ARG LOCAL_UID=local
 | 
						|
ARG LOCAL_GID=local
 | 
						|
ENV BUILD_UID=${LOCAL_UID:-9001}
 | 
						|
ENV BUILD_GID=${LOCAL_GID:-9001}
 | 
						|
 | 
						|
RUN   apt-get update \
 | 
						|
      && apt-get install -y dirmngr git gosu gcc fuse nasm qemu-utils pkg-config \
 | 
						|
             libfuse-dev make curl wget file sudo apt-transport-https autoconf flex \
 | 
						|
             bison texinfo \
 | 
						|
      && apt-key adv --fetch-keys https://static.redox-os.org/toolchain/apt/keyFile \
 | 
						|
      && echo "deb $REDOX_TOOLCHAIN_APT /" >> /etc/apt/sources.list.d/redox.list \
 | 
						|
      && apt-get update -o Dir::Etc::sourcelist="redox.list" \
 | 
						|
      && apt-get install -y x86-64-unknown-redox-newlib x86-64-unknown-redox-binutils x86-64-unknown-redox-gcc \
 | 
						|
      && groupadd -g $BUILD_GID user \
 | 
						|
      && useradd --shell /bin/bash -u $BUILD_UID -g $BUILD_GID -o -c "" -m $USER \
 | 
						|
      && echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/user-no-sudo-password
 | 
						|
 | 
						|
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
 | 
						|
RUN chmod +x /usr/local/bin/entrypoint.sh
 | 
						|
 | 
						|
USER $USER
 | 
						|
ENV HOME /home/$USER
 | 
						|
ENV PATH $HOME/.cargo/bin:$PATH
 | 
						|
ENV SRC_PATH $HOME/src
 | 
						|
WORKDIR $HOME
 | 
						|
RUN   curl https://sh.rustup.rs > sh.rustup.rs \
 | 
						|
      && sh sh.rustup.rs -y \
 | 
						|
      && rustup update \
 | 
						|
      && rustup component add rust-src \
 | 
						|
      && rustup default nightly \
 | 
						|
      && curl -O https://ftp.gnu.org/gnu/automake/automake-1.15.1.tar.gz \
 | 
						|
      && tar -xvpf automake-1.15.1.tar.gz; cd automake-1.15.1; ./configure; make; sudo make install; cd .. \
 | 
						|
      && cargo install xargo \
 | 
						|
      && cargo install cargo-config \
 | 
						|
      && mkdir -p $SRC_PATH
 | 
						|
 | 
						|
WORKDIR $SRC_PATH
 | 
						|
USER root
 | 
						|
 | 
						|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
 |