From 03c7e123042e61e17eba13f5620ea36aa2d5ede0 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sun, 22 Mar 2015 16:26:10 +0200 Subject: [PATCH] Add back Docker stuff --- Dockerfile | 25 ++++++++++++++++ debian-bootstrap.sh | 71 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 Dockerfile create mode 100755 debian-bootstrap.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..e3b09c3b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +FROM ubuntu:12.04 + +ENV HOME /home/stackage +ENV LANG en_US.UTF-8 + +RUN mkdir /home/stackage -p +RUN locale-gen en_US.UTF-8 + +RUN DEBIAN_FRONTEND=noninteractive apt-get update +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common python-software-properties +RUN DEBIAN_FRONTEND=noninteractive add-apt-repository ppa:hvr/ghc -y + +ADD debian-bootstrap.sh /tmp/debian-bootstrap.sh +RUN DEBIAN_FRONTEND=noninteractive bash /tmp/debian-bootstrap.sh +RUN rm /tmp/debian-bootstrap.sh + +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y cabal-install-1.20 ghc-7.8.4 alex-3.1.3 happy-1.19.4 + +ENV PATH /home/stackage/.cabal/bin:/usr/local/sbin:/usr/local/bin:/opt/ghc/7.8.4/bin:/opt/cabal/1.20/bin:/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:/usr/sbin:/usr/bin:/sbin:/bin + +RUN cabal update +RUN cabal install hscolour cabal-install --constraint "Cabal < 1.22" && cp $HOME/.cabal/bin/* /usr/local/bin && rm -rf $HOME/.cabal $HOME/.ghc /tmp/stackage +RUN wget https://s3.amazonaws.com/stackage-travis/stackage-curator.bz2 && bunzip2 stackage-curator.bz2 && chmod +x stackage-curator && mv stackage-curator /usr/local/bin + +RUN cd /home/stackage && cabal update && stackage-curator check diff --git a/debian-bootstrap.sh b/debian-bootstrap.sh new file mode 100755 index 00000000..827e8460 --- /dev/null +++ b/debian-bootstrap.sh @@ -0,0 +1,71 @@ +#!/bin/bash -ex + +# Work in progress: create a list of commands necessary to get Stackage +# up-and-running on a freshly installed Debian-based system (includin Ubuntu). + +# Quick start: +# wget -O - https://raw.github.com/fpco/stackage/master/debian-bootstrap.sh | bash -ex + +# NOTE: Requires that GHC and Cabal are installed and on your PATH. For +# instructions, see: +# http://www.stackage.org/install + +add-apt-repository -y ppa:chris-lea/zeromq +add-apt-repository -y ppa:floe/libtisch +add-apt-repository -y ppa:zoogie/sdl2-snapshots +apt-get update +apt-get install -y \ + build-essential \ + libncurses-dev \ + git \ + wget \ + m4 \ + texlive-full \ + libgmp3c2 \ + libgmp3-dev \ + zlib1g-dev \ + libedit2 \ + libedit-dev \ + freeglut3-dev \ + libglu1-mesa-dev \ + libglib2.0-dev \ + libcairo2-dev \ + libpango1.0-dev \ + libgtk2.0-dev \ + zip \ + libdevil-dev \ + llvm \ + libbz2-dev \ + libjudy-dev \ + libsqlite3-dev \ + libmysqlclient-dev \ + libpq-dev \ + libicu-dev \ + libssl-dev \ + libgsl0-dev \ + libblas-dev \ + liblapack-dev \ + libcurl4-openssl-dev \ + libfreenect-dev \ + libnotify-dev \ + libgd2-xpm-dev \ + libyaml-dev \ + liblzma-dev \ + libsdl2-dev \ + libxss-dev \ + libzmq3-dev + +mkdir /tmp/nettle-build +( +cd /tmp/nettle-build +wget https://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz +tar zxf nettle-2.7.1.tar.gz +cd nettle-2.7.1 +./configure --prefix=/usr +make +make install + +mkdir -p /usr/lib/x86_64-linux-gnu/ +ln -sfv /usr/lib/libnettle.so.4.7 /usr/lib/x86_64-linux-gnu/libnettle.so.4 +) +rm -rf /tmp/nettle-build