Chris@1910: FROM ubuntu:14.04
Chris@1910: MAINTAINER Chris Cannam <cannam@all-day-breakfast.com>
Chris@1910: RUN apt-get update && \
Chris@1910:     apt-get install -y \
Chris@1910:     software-properties-common \
Chris@1910:     build-essential \
Chris@1910:     libbz2-dev \
Chris@1910:     libfftw3-dev \
Chris@1910:     libfishsound1-dev \
Chris@1910:     libid3tag0-dev \
Chris@1910:     liblo-dev \
Chris@1910:     liblrdf0-dev \
Chris@1910:     libmad0-dev \
Chris@1910:     liboggz2-dev \
Chris@2266:     libopus-dev \
Chris@2266:     libopusfile-dev \
Chris@1910:     libpulse-dev \
Chris@1922:     libasound2-dev \
Chris@1931:     libjack-dev \
Chris@1910:     libsamplerate-dev \
Chris@1910:     libsndfile-dev \
Chris@1910:     libsord-dev \
Chris@1910:     libxml2-utils \
Chris@1910:     libgl1-mesa-dev \
Chris@1910:     raptor-utils \
Chris@1910:     librubberband-dev \
Chris@1910:     git \
Chris@1910:     mercurial \
Chris@1910:     curl wget \
Chris@1910:     mlton \
Chris@1910:     autoconf automake libtool lintian
Chris@1921: 
Chris@1931: # NB we do not install portaudio. We don't want to end up including it
Chris@1931: # in the bundle, because it comes with a dependency on the JACK
Chris@1931: # library which we don't want to bundle and can't assume people will
Chris@1931: # have. However, we do install JACK because the Dynamic JACK mechanism
Chris@1931: # should ensure we can detect, configure, and use that without
Chris@1931: # actually linking against it. We also have Pulse as the default I/O.
Chris@1921: 
Chris@1910: RUN apt-add-repository -y ppa:beineri/opt-qt-5.10.1-trusty
Chris@1910: RUN apt-get update && \
Chris@1910:     apt-get install -y \
Chris@1910:     qt510base \
Chris@1910:     qt510svg
Chris@1910: RUN apt-get clean && rm -rf /var/lib/apt/lists/*
Chris@1971: 
Chris@1910: RUN locale-gen en_US.UTF-8
Chris@1910: ENV LANG en_US.UTF-8  
Chris@1910: ENV LANGUAGE en_US:en  
Chris@1910: ENV LC_ALL en_US.UTF-8
Chris@1971: 
Chris@1924: RUN hg clone -r[[REVISION]] https://code.soundsoftware.ac.uk/hg/sonic-visualiser
Chris@1971: 
Chris@1910: RUN git clone https://github.com/sandstorm-io/capnproto
Chris@1953: WORKDIR capnproto
Chris@1977: RUN git checkout v0.6.1
Chris@1953: WORKDIR c++
Chris@1971: RUN autoreconf -i && ./configure && make -j3 && make install
Chris@1971: 
Chris@2144: WORKDIR /root
Chris@2144: 
Chris@2353: COPY id_rsa_build .ssh/id_rsa_build
Chris@2144: COPY known_hosts .ssh/known_hosts
Chris@2353: RUN chmod 600 .ssh/id_rsa_build .ssh/known_hosts
Chris@2353: RUN echo '{"accounts": {"sourcehut": "~breakfastquay"}}' > .repoint.json
Chris@2353: RUN ( echo '[ui]' ; echo 'ssh = ssh -i /root/.ssh/id_rsa_build' ) > .hgrc
Chris@2144: 
Chris@2144: WORKDIR /sonic-visualiser
Chris@1910: ENV QTDIR /opt/qt510
Chris@1910: ENV PATH /opt/qt510/bin:$PATH
Chris@1910: RUN ./configure
Chris@1910: RUN make -j3
Chris@1971: 
Chris@1910: RUN deploy/linux/deploy-appimage.sh
Chris@2116: RUN tar cvf output-appimage.tar *.AppImage && cp output-appimage.tar ..