FROM ubuntu:20.04

WORKDIR /base
COPY ./base/main.sh .
RUN chmod +x /base/main.sh
RUN ln /base/main.sh /usr/local/bin/bash

ENV CHECKER_DATA_DIRECTORY=/data/checker

# Update and upgrade packages.
RUN apt update -yqq
RUN apt upgrade -yqq
RUN apt update -yqq

RUN apt install -yqq build-essential
RUN apt install -yqq python3
RUN apt install -yqq python-is-python3

RUN apt install -yqq bc

RUN apt install -yqq nasm
RUN apt install -yqq strace
RUN apt install -yqq ltrace
RUN apt install -yqq binutils
RUN apt install -yqq vim

RUN apt update -yqq
RUN apt install -yqq flex
RUN apt install -yqq bison

ENV TZ=Europe/Bucharest
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt install -yqq tzdata

RUN apt install -yqq valgrind

# Install checkpatch.
# https://raw.githubusercontent.com/01org/zephyr/master/scripts/checkpatch.pl
# https://github.com/webispy/docker-gerrit-checkpatch/blob/master/Dockerfile
RUN apt update -yqq
RUN apt install -yqq wget
RUN wget --no-check-certificate https://raw.githubusercontent.com/torvalds/linux/master/scripts/checkpatch.pl -P /usr/bin/
RUN wget --no-check-certificate https://raw.githubusercontent.com/torvalds/linux/master/scripts/spelling.txt -P /usr/bin/
RUN wget --no-check-certificate https://raw.githubusercontent.com/torvalds/linux/master/scripts/const_structs.checkpatch -P /usr/bin/
RUN chmod +x /usr/bin/checkpatch.pl

# Install cpplint.
RUN apt install -yqq python3-pip
RUN yes | pip install cpplint

# Install pylint.
RUN yes | pip install pylint

# Install shellcheck.
RUN apt install -yqq shellcheck

# Clean packages.
RUN apt clean -yqq
RUN apt autoclean -yqq
RUN apt autoremove -yqq