mirror of
				https://github.com/XRPLF/clio.git
				synced 2025-11-04 11:55:51 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			105 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
ARG GHCR_REPO=invalid
 | 
						|
ARG GCC_VERSION=invalid
 | 
						|
 | 
						|
FROM ${GHCR_REPO}/clio-gcc:${GCC_VERSION}
 | 
						|
 | 
						|
ARG DEBIAN_FRONTEND=noninteractive
 | 
						|
ARG TARGETARCH
 | 
						|
 | 
						|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 | 
						|
 | 
						|
ARG BUILD_VERSION=2
 | 
						|
 | 
						|
RUN apt-get update \
 | 
						|
    && apt-get install -y --no-install-recommends --no-install-suggests \
 | 
						|
        ninja-build \
 | 
						|
        python3 \
 | 
						|
        python3-pip \
 | 
						|
        software-properties-common \
 | 
						|
        wget \
 | 
						|
    && pip3 install -q --no-cache-dir \
 | 
						|
        cmake \
 | 
						|
    && apt-get clean \
 | 
						|
    && rm -rf /var/lib/apt/lists/*
 | 
						|
 | 
						|
WORKDIR /tmp
 | 
						|
 | 
						|
ARG MOLD_VERSION=2.40.1
 | 
						|
RUN wget --progress=dot:giga "https://github.com/rui314/mold/archive/refs/tags/v${MOLD_VERSION}.tar.gz" \
 | 
						|
    && tar xf "v${MOLD_VERSION}.tar.gz" \
 | 
						|
    && cd "mold-${MOLD_VERSION}" \
 | 
						|
    && mkdir build \
 | 
						|
    && cd build \
 | 
						|
    && cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. \
 | 
						|
    && ninja install \
 | 
						|
    && rm -rf /tmp/* /var/tmp/*
 | 
						|
 | 
						|
ARG CCACHE_VERSION=4.11.3
 | 
						|
RUN wget --progress=dot:giga "https://github.com/ccache/ccache/releases/download/v${CCACHE_VERSION}/ccache-${CCACHE_VERSION}.tar.gz" \
 | 
						|
    && tar xf "ccache-${CCACHE_VERSION}.tar.gz" \
 | 
						|
    && cd "ccache-${CCACHE_VERSION}" \
 | 
						|
    && mkdir build \
 | 
						|
    && cd build \
 | 
						|
    && cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=False .. \
 | 
						|
    && ninja install \
 | 
						|
    && rm -rf /tmp/* /var/tmp/*
 | 
						|
 | 
						|
RUN apt-get update \
 | 
						|
    && apt-get install -y --no-install-recommends --no-install-suggests \
 | 
						|
        bison \
 | 
						|
        flex \
 | 
						|
    && apt-get clean \
 | 
						|
    && rm -rf /var/lib/apt/lists/*
 | 
						|
 | 
						|
ARG DOXYGEN_VERSION=1.14.0
 | 
						|
RUN wget --progress=dot:giga "https://github.com/doxygen/doxygen/releases/download/Release_${DOXYGEN_VERSION//./_}/doxygen-${DOXYGEN_VERSION}.src.tar.gz" \
 | 
						|
    && tar xf "doxygen-${DOXYGEN_VERSION}.src.tar.gz" \
 | 
						|
    && cd "doxygen-${DOXYGEN_VERSION}" \
 | 
						|
    && mkdir build \
 | 
						|
    && cd build \
 | 
						|
    && cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. \
 | 
						|
    && ninja install \
 | 
						|
    && rm -rf /tmp/* /var/tmp/*
 | 
						|
 | 
						|
ARG CLANG_BUILD_ANALYZER_VERSION=1.6.0
 | 
						|
RUN wget --progress=dot:giga "https://github.com/aras-p/ClangBuildAnalyzer/archive/refs/tags/v${CLANG_BUILD_ANALYZER_VERSION}.tar.gz" \
 | 
						|
    && tar xf "v${CLANG_BUILD_ANALYZER_VERSION}.tar.gz" \
 | 
						|
    && cd "ClangBuildAnalyzer-${CLANG_BUILD_ANALYZER_VERSION}" \
 | 
						|
    && mkdir build \
 | 
						|
    && cd build \
 | 
						|
    && cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. \
 | 
						|
    && ninja install \
 | 
						|
    && rm -rf /tmp/* /var/tmp/*
 | 
						|
 | 
						|
ARG GIT_CLIFF_VERSION=2.9.1
 | 
						|
RUN wget --progress=dot:giga "https://github.com/orhun/git-cliff/releases/download/v${GIT_CLIFF_VERSION}/git-cliff-${GIT_CLIFF_VERSION}-x86_64-unknown-linux-musl.tar.gz" \
 | 
						|
    && tar xf git-cliff-${GIT_CLIFF_VERSION}-x86_64-unknown-linux-musl.tar.gz \
 | 
						|
    && mv git-cliff-${GIT_CLIFF_VERSION}/git-cliff /usr/local/bin/git-cliff \
 | 
						|
    && rm -rf /tmp/* /var/tmp/*
 | 
						|
 | 
						|
ARG GH_VERSION=2.74.0
 | 
						|
RUN wget --progress=dot:giga "https://github.com/cli/cli/releases/download/v${GH_VERSION}/gh_${GH_VERSION}_linux_${TARGETARCH}.tar.gz" \
 | 
						|
    && tar xf gh_${GH_VERSION}_linux_${TARGETARCH}.tar.gz \
 | 
						|
    && mv gh_${GH_VERSION}_linux_${TARGETARCH}/bin/gh /usr/local/bin/gh \
 | 
						|
    && rm -rf /tmp/* /var/tmp/*
 | 
						|
 | 
						|
RUN apt-get update \
 | 
						|
    && apt-get install -y --no-install-recommends --no-install-suggests \
 | 
						|
        libgmp-dev \
 | 
						|
        libmpfr-dev \
 | 
						|
        libncurses-dev \
 | 
						|
        make \
 | 
						|
    && apt-get clean \
 | 
						|
    && rm -rf /var/lib/apt/lists/*
 | 
						|
 | 
						|
ARG GDB_VERSION=16.3
 | 
						|
RUN wget --progress=dot:giga "https://sourceware.org/pub/gdb/releases/gdb-${GDB_VERSION}.tar.gz" \
 | 
						|
    && tar xf "gdb-${GDB_VERSION}.tar.gz" \
 | 
						|
    && cd "gdb-${GDB_VERSION}" \
 | 
						|
    && ./configure --prefix=/usr/local \
 | 
						|
    && make -j "$(nproc)" \
 | 
						|
    && make install-gdb \
 | 
						|
    && rm -rf /tmp/* /var/tmp/*
 | 
						|
 | 
						|
WORKDIR /root
 |