Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
Peter Trommler
ci-images
Commits
c8cc22c7
Commit
c8cc22c7
authored
Jun 11, 2019
by
Ben Gamari
🐢
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add armv7 image using unregisterised 8.6.5 compiler
parent
88e952f1
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
79 additions
and
0 deletions
+79
-0
.gitlab-ci.yml
.gitlab-ci.yml
+9
-0
armv7-linux-deb9/Dockerfile
armv7-linux-deb9/Dockerfile
+70
-0
No files found.
.gitlab-ci.yml
View file @
c8cc22c7
...
...
@@ -56,6 +56,15 @@ build-aarch64-linux-deb9:
-
docker
-
aarch64-linux
build-armv7-linux-deb9
:
extends
:
.build
variables
:
IMAGE
:
armv7-linux-deb9
allow_failure
:
true
tags
:
-
docker
-
armv7-linux
build-i386-linux-deb8
:
extends
:
.build
variables
:
...
...
armv7-linux-deb9/Dockerfile
0 → 100644
View file @
c8cc22c7
FROM
arm32v7/debian:stretch
ENV
LANG C.UTF-8
SHELL
["/bin/bash", "-o", "pipefail", "-c"]
# Core build utilities
RUN
apt-get update
\
&&
apt-get
install
--no-install-recommends
-qy
zlib1g-dev libtinfo-dev libsqlite3-0 libsqlite3-dev
\
ca-certificates g++ git make automake autoconf gcc
\
perl python3 texinfo xz-utils lbzip2 bzip2 patch openssh-client
sudo time
\
jq wget curl
\
# Documentation tools
python3-sphinx texlive-xetex texlive-latex-extra \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Boot LLVM
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://home.smart-cactus.org/~ben/ghc/ghc-8.6.5-arm-unknown-linux.tar.xz |
tar
-xJ
#RUN curl http://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-aarch64-ubuntu_bionic-linux.tar.xz | tar -xJ
WORKDIR
/ghc-8.6.5
RUN
./configure
--prefix
=
/usr/local
LLC
=
/opt/llvm6/bin/llc
OPT
=
/opt/llvm6/bin/opt
&&
\
make
install
WORKDIR
/
RUN
rm
-Rf
ghc-
*
RUN
ghc
--version
# LLVM
ENV
LLVM_TARBALL http://releases.llvm.org/7.0.0/clang+llvm-7.0.0-armv7a-linux-gnueabihf.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
WORKDIR
/Cabal
RUN
git checkout cabal-install-v2.4.1.0
WORKDIR
/Cabal/cabal-install
RUN
./bootstrap.sh
--global
--no-doc
RUN
ls
/Cabal/cabal-install/dist/build
ENV
PATH /home/ghc/.local/bin:/opt/cabal/2.2/bin:/opt/ghc/8.4.2/bin:$PATH
# Create a normal user.
RUN
adduser ghc
--gecos
"GHC builds"
--disabled-password
RUN
echo
"ghc ALL = NOPASSWD : ALL"
>
/etc/sudoers.d/ghc
USER
ghc
WORKDIR
/home/ghc/
# Build Haskell tools
RUN
cabal update
&&
\
cabal
install
hscolour happy alex
--constraint
'happy ^>= 1.19.10'
ENV
PATH /home/ghc/.cabal/bin:$PATH
CMD
["bash"]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment