67 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
# [Choice] bionic (18.04), focal (20.04)
 | 
						|
ARG VARIANT="focal"
 | 
						|
 | 
						|
## build tools
 | 
						|
FROM ubuntu:${VARIANT} AS build
 | 
						|
ENV DEBIAN_FRONTEND="noninteractive"
 | 
						|
 | 
						|
RUN apt-get update && \
 | 
						|
    apt-get -y install \
 | 
						|
        tzdata gcc g++ gperf bison flex texinfo help2man make libncurses5-dev \
 | 
						|
        python3-dev autoconf automake libtool libtool-bin gawk wget bzip2 xz-utils unzip \
 | 
						|
        patch libstdc++6 rsync git meson ninja-build
 | 
						|
 | 
						|
WORKDIR /build
 | 
						|
RUN wget https://github.com/crosstool-ng/crosstool-ng/releases/download/crosstool-ng-1.26.0/crosstool-ng-1.26.0.tar.xz && \
 | 
						|
    tar -xvf crosstool-ng-1.26.0.tar.xz && \
 | 
						|
    rm crosstool-ng-1.26.0.tar.xz && \
 | 
						|
    cd crosstool-ng-1.26.0 && \
 | 
						|
    ./configure --prefix=/usr/local/ct && \
 | 
						|
    make && \
 | 
						|
    make install && \
 | 
						|
    cd .. && \
 | 
						|
    rm -rf crosstool-ng-1.26.0
 | 
						|
 | 
						|
ADD ct-ng.config .config
 | 
						|
RUN /usr/local/ct/bin/ct-ng build
 | 
						|
 | 
						|
RUN cd /build/ && \
 | 
						|
    git clone https://github.com/fail0verflow/hbc.git /build/hbc && \
 | 
						|
    cd /build/hbc/channel/wiiload && \
 | 
						|
    git checkout 13305cfbe5db47eebc5e62aeed14f7adfbb83a5a && \
 | 
						|
    make
 | 
						|
 | 
						|
RUN git clone https://github.com/fail0verflow/bootmii-utils.git /build/bootmii-utils && \
 | 
						|
    cd /build/bootmii-utils/client && \
 | 
						|
    git checkout a32b8f6520d136677213fcbb730035a7e89567e2 && \
 | 
						|
    make
 | 
						|
 | 
						|
RUN git clone https://github.com/nullgemm/doltool.git /build/doltool && \
 | 
						|
    cd /build/doltool && \
 | 
						|
    git checkout 716ca5390bb6467689165db595079e84c80b9b46 && \
 | 
						|
    make
 | 
						|
 | 
						|
## final build image
 | 
						|
FROM ubuntu:${VARIANT}
 | 
						|
ENV DEBIAN_FRONTEND="noninteractive"
 | 
						|
 | 
						|
RUN apt-get update && \
 | 
						|
    apt-get -y install \
 | 
						|
        patch ninja-build make bc ccache gcc libncurses-dev \
 | 
						|
        kmod bison flex libssl-dev openssl binutils-powerpc-linux-gnu
 | 
						|
 | 
						|
RUN mkdir -p /usr/local/doltool/bin
 | 
						|
ADD makedol.sh /usr/local/doltool/bin/makedol.sh
 | 
						|
 | 
						|
COPY --from=build /root/x-tools/powerpc-unknown-linux-gnu/ /usr/local/crosstool
 | 
						|
COPY --from=build /build/hbc/channel/wiiload/wiiload /usr/local/crosstool/bin/wiiload
 | 
						|
COPY --from=build /build/bootmii-utils/client/bootmii /usr/local/crosstool/bin/bootmii
 | 
						|
COPY --from=build /build/doltool/doltool /usr/local/doltool/bin/doltool
 | 
						|
 | 
						|
ENV PATH=/usr/local/crosstool/bin:$PATH
 | 
						|
ENV PATH=/usr/local/doltool/bin:$PATH
 | 
						|
ENV CROSS_COMPILE=powerpc-unknown-linux-gnu-
 | 
						|
ENV CC=powerpc-unknown-linux-gnu-gcc
 | 
						|
ENV ARCH=powerpc
 | 
						|
 | 
						|
WORKDIR /code
 |