FROM ubuntu:focal
ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get install --no-install-recommends -y \
    clang-format clang-tidy clang-tools clang clangd libc++-dev libc++1 \
    libc++abi-dev libc++abi1 libclang-dev libclang1 liblldb-dev libllvm-ocaml-dev \
    libomp-dev libomp5 lld lldb llvm-dev llvm-runtime llvm python3-clang 
ARG MIRROR=http://download.altera.com/akdlm/software/acdsinst/16.1/196/ib_installers/

RUN dpkg --add-architecture i386
RUN apt update && apt install --no-install-recommends -y \
    libc6:i386 libxtst6:i386 libncurses5:i386 libxft2:i386 libstdc++6:i386 \
    libc6-dev-i386 lib32z1 libqt5xml5 liblzma-dev
    
RUN apt-get update && apt-get install --no-install-recommends -y \
    ca-certificates cmake libfontconfig1 libglib2.0-0 libsm6 libssl-dev libxrender1 \
    libzmq3-dev locales make openjdk-8-jdk pkg-config unixodbc-dev wget xauth xvfb \
	libcurl4-openssl-dev gdb g++-multilib rsync vim emacs \
	dejagnu expect texinfo build-essential \
	liblpsolve55-dev libgmp3-dev automake libtool libmysqlclient-dev \
	qemu-system-arm qemu-system-mips gcc libc6-dev-i386 meld \
	libgraphviz-dev libfreetype6-dev buildbot-slave \
    vim gitk kdiff3 libgd-dev \
	openssh-server mysql-server python3-mysql.connector python3-serial \
	python3-pyqt5 python3 tcl tcl-dev lp-solve \
	ssh
	

RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8


# get ModelSim
RUN cd /tmp && wget https://download.altera.com/akdlm/software/acdsinst/20.1std/711/ib_installers/ModelSimSetup-20.1.0.711-linux.run
RUN cd /tmp && chmod +x ModelSimSetup-20.1.0.711-linux.run

# download CGRA_ME  
RUN cd /tmp &&\ 
    mkdir cgra_me  &&\
    cd cgra_me && \
    wget -q  --no-check-certificate https://www.eecg.utoronto.ca/~raghebom/date_cgrame/cgra-me-2.0.0.tar.gz && \
    gunzip ./cgra-me-2.0.0.tar.gz

# untar cgra-me using tar -xvf in docker
RUN cd /tmp/cgra_me && tar -xvf cgra-me-2.0.0.tar

# get the benchmarks and the scripts
RUN cd /tmp &&\ 
    cd cgra_me/cgra-me-release-2.0.2 && \
    mkdir date24_tut && \
    cd date24_tut && \
    wget -q  --no-check-certificate https://www.eecg.utoronto.ca/~raghebom/date_cgrame/benchmarks.tar

# untar benchmarks using tar -xvf in docker
RUN cd /tmp/cgra_me/cgra-me-release-2.0.2/date24_tut && tar -xvf benchmarks.tar

#RUN cd /tmp/cgra_me/cgra-me-release-v2.0.1/ && ./cgrame_env  && make

#run the ModelSim installation
RUN cd /tmp && ./ModelSimSetup-20.1.0.711-linux.run --mode unattended --accept_eula 1 --installdir /opt/altera --unattendedmodeui none
