48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM ubuntu:14.04
 | |
| WORKDIR /build
 | |
| # install tools and dependencies
 | |
| RUN apt-get -y update && \
 | |
|         apt-get install -y --force-yes --no-install-recommends \
 | |
|         curl git make g++ gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
 | |
|         libc6-arm64-cross libc6-dev-arm64-cross wget file ca-certificates \
 | |
|         binutils-aarch64-linux-gnu \
 | |
|         && \
 | |
|     apt-get clean
 | |
| 
 | |
| # install rustup
 | |
| RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
 | |
| 
 | |
| # rustup directory
 | |
| ENV PATH /root/.cargo/bin:$PATH
 | |
| 
 | |
| ENV RUST_TARGETS="aarch64-unknown-linux-gnu"
 | |
| 
 | |
| # multirust add arm--linux-gnuabhf toolchain
 | |
| RUN rustup target add aarch64-unknown-linux-gnu
 | |
| 
 | |
| # show backtraces
 | |
| ENV RUST_BACKTRACE 1
 | |
| 
 | |
| # set compilers
 | |
| ENV CXX aarch64-linux-gnu-g++
 | |
| ENV CC aarch64-linux-gnu-gcc
 | |
| 
 | |
| # show tools
 | |
|  RUN rustc -vV && \
 | |
|  cargo -V && \
 | |
|  gcc -v &&\
 | |
|  g++ -v
 | |
| 
 | |
| # build parity
 | |
| RUN git clone https://github.com/ethcore/parity && \
 | |
|         cd parity && \
 | |
|         mkdir -p .cargo && \
 | |
|         echo '[target.aarch64-unknown-linux-gnu]\n\
 | |
|         linker = "aarch64-linux-gnu-gcc"\n'\
 | |
|         >>.cargo/config && \
 | |
|         cat .cargo/config && \
 | |
|         cargo build --target aarch64-unknown-linux-gnu --release --verbose && \
 | |
|         ls /build/parity/target/aarch64-unknown-linux-gnu/release/parity &&     \
 | |
|         /usr/bin/aarch64-linux-gnu-strip /build/parity/target/aarch64-unknown-linux-gnu/release/parity
 | |
| RUN file /build/parity/target/aarch64-unknown-linux-gnu/release/parity
 |