[commit: ghc] wip/armv7-bindists: CI: Add armv7 dockerfile (a45d9d8)
git at git.haskell.org
git at git.haskell.org
Fri Jan 11 22:39:29 UTC 2019
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/armv7-bindists
Link : http://ghc.haskell.org/trac/ghc/changeset/a45d9d885a520008656bb599b24b6c25efa661c1/ghc
>---------------------------------------------------------------
commit a45d9d885a520008656bb599b24b6c25efa661c1
Author: Ben Gamari <ben at smart-cactus.org>
Date: Thu Jan 10 18:05:38 2019 -0500
CI: Add armv7 dockerfile
>---------------------------------------------------------------
a45d9d885a520008656bb599b24b6c25efa661c1
.../Dockerfile | 49 ++++++++++------------
1 file changed, 22 insertions(+), 27 deletions(-)
diff --git a/.circleci/images/aarch64-linux-deb9/Dockerfile b/.circleci/images/armv7l-linux-deb9/Dockerfile
similarity index 51%
copy from .circleci/images/aarch64-linux-deb9/Dockerfile
copy to .circleci/images/armv7l-linux-deb9/Dockerfile
index f871f75..f275b6f 100644
--- a/.circleci/images/aarch64-linux-deb9/Dockerfile
+++ b/.circleci/images/armv7l-linux-deb9/Dockerfile
@@ -1,4 +1,4 @@
-FROM aarch64/debian:stretch
+FROM arm32v7/debian:stretch
ENV LANG C.UTF-8
@@ -7,41 +7,36 @@ RUN apt-get update -qq
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 libnuma-dev
+ jq wget curl libgmp-dev
# Documentation tools
-RUN apt-get install -qy python3-sphinx texlive-xetex texlive-latex-extra
+# RUN apt-get install -qy python3-sphinx texlive-xetex texlive-latex-extra
# Boot LLVM
-ENV PATH /usr/local/bin:$PATH
-ENV LLVM_TARBALL http://releases.llvm.org/6.0.0/clang+llvm-6.0.0-aarch64-linux-gnu.tar.xz
-RUN curl $LLVM_TARBALL | tar -xJC .. && \
- mkdir /opt/llvm6 && \
- cp -R clang+llvm*/* /opt/llvm6 && \
- rm -R clang+llvm* && \
- /opt/llvm6/bin/llc --version
+
+# Using a local one I fixed the user and owner in because Docker can't
+# deal with the userid not being mapped on my aystem (and its chown
+# doesn't occur until after it fails to extract).
+ADD clang-6.0.1.tar.xz /opt/
+ENV PATH /usr/local/bin:/usr/local/clang-6.0.1/bin:$PATH
+ENV LLC /opt/clang-6.0.1/bin/llc
+ENV OPT /opt/clang-6.0.1/bin/opt
+
+# ENV PATH /usr/local/bin:$PATH
+# ENV LLVM_TARBALL http://releases.llvm.org/6.0.1/clang+llvm-6.0.1-armv7a-linux-gnueabihf.tar.xz
+# RUN curl $LLVM_TARBALL | tar -xJC .. && \
+# mkdir /opt/llvm6 && \
+# cp -R clang+llvm*/* /opt/llvm6 && \
+# rm -R clang+llvm* && \
+# /opt/llvm6/bin/llc --version
# GHC
#RUN curl http://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-aarch64-deb8-linux.tar.xz | tar -xJ && \
-COPY ghc-8.6.2-aarch64-unknown-linux.tar.xz .
-RUN cat ghc-8.6.2-aarch64-unknown-linux.tar.xz | tar -xJ && \
- cd ghc-8.6.2 && \
- ./configure --prefix=/usr/local LLC=/opt/llvm6/bin/llc OPT=/opt/llvm6/bin/opt && \
- make install && \
- cd .. && \
- rm -Rf ghc-*
+ADD ghc-8.2.2-armv7-deb8-linux.tar.xz /tmp
+RUN (cd /tmp/ghc-8.2.2 && ./configure --prefix=/usr/local/ghc-8.2.2 && make install && rm -rf /tmp/ghc-8.2.2)
+ENV PATH /usr/local/ghc-8.2.2/bin:$PATH
RUN ghc --version
-# LLVM
-ENV LLVM_TARBALL http://releases.llvm.org/7.0.0/clang+llvm-7.0.0-aarch64-linux-gnu.tar.xz
-ENV LLC /opt/llvm7/bin/llc
-ENV OPT /opt/llvm7/bin/opt
-RUN curl $LLVM_TARBALL | tar -xJC .. && \
- mkdir /opt/llvm7 && \
- cp -R clang+llvm*/* /opt/llvm7 && \
- rm -R clang+llvm* && \
- $LLC --version
-
# Cabal
RUN git clone https://github.com/haskell/Cabal && \
cd Cabal && \
More information about the ghc-commits
mailing list