FROM arm64v8/ubuntu:16.04

RUN groupadd --gid 1000 builduser \
  && useradd --uid 1000 --gid builduser --shell /bin/bash --create-home builduser

RUN groupadd --gid 114 jenkins \
  && useradd --uid 110 --gid jenkins --shell /bin/bash --create-home jenkins

# Set up TEMP directory
ENV TEMP=/tmp
RUN chmod a+rwx /tmp

RUN apt-get update && apt-get install -y\
 bison \
 build-essential \
 clang \
 curl \
 gperf \
 git \
 libasound2 \
 libasound2-dev \
 libcap-dev \
 libcups2-dev \
 libdbus-1-dev \
 libgconf-2-4 \
 libgconf2-dev \
 libgnome-keyring-dev \
 libgtk2.0-0 \
 libgtk2.0-dev \
 libgtk-3-0 \
 libgtk-3-dev \
 libnotify-dev \
 libnss3 \
 libnss3-dev \
 libx11-xcb-dev \
 libxss1 \
 libxtst-dev \
 libxtst6 \
 lsb-release \
 locales \
 ninja \
 python-setuptools \
 python-pip \
 python-dbusmock \
 wget \
 xvfb

# Install node.js
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
RUN apt-get update && apt-get install -y nodejs

# Install crcmod
RUN pip install -U crcmod

ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb

# Install ninja in /usr/local
RUN cd /usr/local && git clone https://github.com/martine/ninja.git -b v1.5.3
RUN cd /usr/local/ninja && ./configure.py --bootstrap

USER builduser
WORKDIR /home/builduser