FROM ubuntu:trusty ARG mono_version RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mandatory!\n\n"; exit 1; fi && \ apt-get update && \ apt-get -y install wget && \ cd /root && \ wget -O- 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x1E9377A2BA9EF27F' | apt-key add - && \ wget -O- 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x8E51A6D660CD88D67D65221D90BD7EACED8E640A' | apt-key add - && \ echo 'deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu trusty main' >> /etc/apt/sources.list && \ echo 'deb http://ppa.launchpad.net/mc3man/trusty-media/ubuntu trusty main' >> /etc/apt/sources.list && \ apt-get -y update && \ apt-get -y install --no-install-recommends \ autoconf automake bzip2 cmake curl gettext git libtool make perl scons xz-utils \ gcc-8 g++-8 libudev-dev libx11-dev libxcursor-dev libxrandr-dev libasound2-dev libpulse-dev \ libgl1-mesa-dev libglu1-mesa-dev libxi-dev libxinerama-dev yasm && \ ln -sf /usr/bin/gcc-ranlib-8 /usr/bin/gcc-ranlib && \ ln -sf /usr/bin/gcc-ar-8 /usr/bin/gcc-ar && \ ln -sf /usr/bin/gcc-8 /usr/bin/gcc && \ ln -sf /usr/bin/g++-8 /usr/bin/g++ RUN git clone https://github.com/mono/mono --branch mono-${mono_version} --single-branch && \ cd mono && git submodule update --init && \ NOCONFIGURE=1 ./autogen.sh && \ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib/mono --disable-boehm --host=x86_64-linux-gnu && \ make -j && \ make install && \ cd .. && \ cert-sync /etc/ssl/certs/ca-certificates.crt && \ wget https://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild_16.0+xamarinxplat.2018.09.26.17.53-0xamarin3+ubuntu1404b1_all.deb && \ wget https://download.mono-project.com/repo/ubuntu/pool/main/c/core-setup/msbuild-libhostfxr_2.0.0.2017.07.06.00.01-0xamarin21+ubuntu1404b1_amd64.deb && \ wget https://download.mono-project.com/repo/ubuntu/pool/main/m/msbuild/msbuild-sdkresolver_16.0+xamarinxplat.2018.09.26.17.53-0xamarin3+ubuntu1404b1_all.deb && \ wget https://download.mono-project.com/repo/ubuntu/pool/main/n/nuget/nuget_4.7.0.5148.bin-0xamarin2+ubuntu1404b1_all.deb && \ dpkg -i --force-all *.deb && \ sed -i '/Depends.*mono/d' /var/lib/dpkg/status && \ ln -s /usr/bin/mono /usr/bin/cli && \ apt-get clean && \ rm -rf /var/lib/apt/lists/ && \ rm *.deb && \ rm -rf /root/mono CMD ['/bin/bash']