[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