summaryrefslogtreecommitdiff
path: root/.circleci
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2018-12-08 17:57:59 +0000
committerBen Gamari <ben@smart-cactus.org>2018-12-08 14:11:43 -0500
commitc00d2f59df1f3707d529531fd0c6b55903516ec4 (patch)
tree345ccea2163c63102f33b233ffea126d87a773da /.circleci
parentf5bff4bc23259d38c37ef5f56da3334be5a891d9 (diff)
downloadhaskell-c00d2f59df1f3707d529531fd0c6b55903516ec4.tar.gz
hadrian: Drop nix build script
It's currently too out-of-date to build current hadrian and is arguably completely broken anyways (see #15794).
Diffstat (limited to '.circleci')
-rw-r--r--.circleci/images/i386-linux-deb9/Dockerfile45
1 files changed, 45 insertions, 0 deletions
diff --git a/.circleci/images/i386-linux-deb9/Dockerfile b/.circleci/images/i386-linux-deb9/Dockerfile
new file mode 100644
index 0000000000..c8e51810c2
--- /dev/null
+++ b/.circleci/images/i386-linux-deb9/Dockerfile
@@ -0,0 +1,45 @@
+FROM i386/debian:jessie
+
+ENV LANG C.UTF-8
+
+RUN echo 'deb http://ppa.launchpad.net/hvr/ghc/ubuntu trusty main' > /etc/apt/sources.list.d/ghc.list
+RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F6F88286
+RUN apt-get update -qq
+
+# Core build utilities
+RUN apt-get install -qy zlib1g-dev libtinfo-dev libsqlite3-0 libsqlite3-dev \
+ ca-certificates g++ git make automake autoconf gcc \
+ perl python3 texinfo xz-utils lbzip2 patch openssh-client sudo \
+ jq wget curl
+
+# Documentation tools
+RUN apt-get install -qy python3-sphinx texlive-xetex texlive-latex-extra
+
+# Core build utilities
+RUN apt-get install -qy libgmp-dev:i386
+
+# Get i386 GHC bindist for 32 bit CI builds.
+RUN cd /tmp && curl https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-i386-deb8-linux.tar.xz | tar -Jx
+RUN cd /tmp/ghc-8.4.2 && setarch i386 ./configure --prefix=/opt/ghc-i386/8.4.2 CFLAGS=-m32 --target=i386-unknown-linux --build=i386-unknown-linux --host=i386-unknown-linux
+RUN cd /tmp/ghc-8.4.2 && make install
+RUN rm -rf /tmp/ghc-8.4.2
+ENV PATH /opt/ghc-i386/8.4.2/bin:$PATH
+
+# Get Cabal
+RUN cd /tmp && \
+ curl https://www.haskell.org/cabal/release/cabal-install-2.2.0.0/cabal-install-2.2.0.0-i386-unknown-linux.tar.gz | tar -zx && \
+ mv cabal /usr/local/bin/cabal
+
+# Create a normal user.
+RUN adduser ghc --gecos "GHC builds" --disabled-password
+RUN echo "ghc ALL = NOPASSWD : ALL" > /etc/sudoers.d/ghc
+USER ghc
+
+# Build Haskell tools
+RUN cabal update && \
+ cabal install hscolour happy alex
+ENV PATH /home/ghc/.cabal/bin:$PATH
+
+WORKDIR /home/ghc/
+
+CMD ["bash"]