72 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM archlinux:base-devel
 | 
						|
 | 
						|
RUN pacman -Syyu --noconfirm && \
 | 
						|
    pacman -S --noconfirm \
 | 
						|
    bash \
 | 
						|
    base-devel \
 | 
						|
    clang \
 | 
						|
    llvm \
 | 
						|
    libc++ \
 | 
						|
    cmake \
 | 
						|
    git \
 | 
						|
    python \
 | 
						|
    python-pip \
 | 
						|
    mesa \
 | 
						|
    mold \
 | 
						|
    ninja \
 | 
						|
    zlib \
 | 
						|
    libc++ \
 | 
						|
    libinput \
 | 
						|
    xorg-server-xvfb \
 | 
						|
    libx11 \
 | 
						|
    libxrandr \
 | 
						|
    libxinerama \
 | 
						|
    libxcursor \
 | 
						|
    libxi \
 | 
						|
    afl++ \
 | 
						|
    afl-utils
 | 
						|
 | 
						|
RUN pip install --no-cache-dir --break-system-packages conan gitpython \
 | 
						|
    && conan profile detect
 | 
						|
 | 
						|
RUN clang --version  \
 | 
						|
    && conan --version \
 | 
						|
    && pip --version \
 | 
						|
    && cmake --version \
 | 
						|
    && g++ --version \
 | 
						|
    && clang --version \
 | 
						|
    && ninja --version \
 | 
						|
    && mold --version \
 | 
						|
    && afl-fuzz --version \
 | 
						|
    && afl-clang-lto --version \
 | 
						|
    && afl-clang-lto++ --version
 | 
						|
 | 
						|
RUN git clone 'https://git.light7734.com/light7734/light.git' --depth=1 \
 | 
						|
    && cd light \
 | 
						|
    && export CC=$(which afl-clang-lto) \
 | 
						|
    && export CXX=$(which afl-clang-lto++) \
 | 
						|
    && export AR=$(which llvm-ar) \
 | 
						|
    && export RANLIB=$(which llvm-ranlib) \
 | 
						|
    && export AS=$(which llvm-as) \
 | 
						|
    && conan install . \
 | 
						|
        -c tools.system.package_manager:mode=install \
 | 
						|
        -c tools.cmake.cmaketoolchain:generator=Ninja \
 | 
						|
        -c tools.build:compiler_executables='{"c": "afl-clang-lto", "cpp": "afl-clang-lto++"}' \
 | 
						|
        -s build_type=Release \
 | 
						|
        -s compiler=clang \
 | 
						|
        -s compiler.version=20 \
 | 
						|
        -s compiler.libcxx=libc++ \
 | 
						|
        -o use_mold=True \
 | 
						|
        --build=missing \
 | 
						|
    && conan install . \
 | 
						|
        -c tools.system.package_manager:mode=install \
 | 
						|
        -c tools.cmake.cmaketoolchain:generator=Ninja \
 | 
						|
        -c tools.build:compiler_executables='{"c": "clang", "cpp": "clang++"}' \
 | 
						|
        -s build_type=Release \
 | 
						|
        -s compiler=clang \
 | 
						|
        -s compiler.version=20 \
 | 
						|
        -s compiler.libcxx=libc++ \
 | 
						|
        -o use_mold=True \
 | 
						|
        -o enable_llvm_coverage=True \
 | 
						|
        --build=missing \
 | 
						|
    && rm -r ../light/
 |