-
Notifications
You must be signed in to change notification settings - Fork 92
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Build arm images for bionic as well wrh #762
- Loading branch information
Showing
9 changed files
with
220 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
FROM arm32v7/ubuntu:bionic | ||
|
||
ENV LANG C.UTF-8 | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
ENV TZ=Asia/Singapore | ||
|
||
COPY update_opt.sh /usr/bin/update_opt.sh | ||
RUN chmod +x /usr/bin/update_opt.sh | ||
|
||
RUN apt-get update && \ | ||
apt-get install -y --no-install-recommends \ | ||
ca-certificates \ | ||
curl \ | ||
dirmngr \ | ||
g++ \ | ||
git \ | ||
gnupg \ | ||
libsqlite3-dev \ | ||
libtinfo-dev \ | ||
libgmp-dev \ | ||
make \ | ||
netbase \ | ||
openssh-client \ | ||
xz-utils \ | ||
zlib1g-dev \ | ||
libnuma-dev libgmp10 libssl-dev liblzma-dev libbz2-dev wget lsb-release software-properties-common apt-transport-https gcc autoconf automake build-essential gzip patchelf tree \ | ||
llvm-9 clang-9 && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
RUN update_opt.sh 9 1 | ||
|
||
ARG GHCUP_VERSION=0.1.17.8 | ||
ARG GPG_KEY=7784930957807690A66EBDBE3786C5262ECB4A3F | ||
|
||
# install ghcup | ||
RUN gpg --batch --keyserver keys.openpgp.org --recv-keys $GPG_KEY && \ | ||
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/armv7-linux-ghcup-$GHCUP_VERSION && \ | ||
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/SHA256SUMS && \ | ||
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/SHA256SUMS.sig && \ | ||
gpg --verify SHA256SUMS.sig SHA256SUMS && \ | ||
sha256sum -c --ignore-missing SHA256SUMS && \ | ||
mv armv7-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup && \ | ||
chmod +x /usr/bin/ghcup && \ | ||
rm -rf SHA256SUMS SHA256SUMS.sig | ||
|
||
ARG GHC=8.10.7 | ||
ARG CABAL_INSTALL=3.6.2.0 | ||
ARG STACK=2.9.1 | ||
|
||
ENV GHCUP_CURL_OPTS="--silent" | ||
ENV NO_COLOR=1 | ||
|
||
# install haskell toolchain | ||
RUN ghcup config set gpg-setting GPGStrict && \ | ||
ghcup --verbose install ghc --isolate=/usr --force ${GHC} && \ | ||
ghcup --verbose install cabal --isolate=/usr/bin --force ${CABAL_INSTALL} && \ | ||
find "/usr/lib/ghc-${GHC}/" \( -name "*_p.a" -o -name "*.p_hi" \) -type f -delete && \ | ||
rm -r "/usr/share/doc/ghc-${GHC}" && \ | ||
rm -rf /tmp/ghcup* && \ | ||
ghcup gc -p -s -c -t | ||
|
||
ENV PATH /root/.cabal/bin:/root/.ghcup/bin:/root/.local/bin:$PATH | ||
|
||
CMD ["ghci"] |
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
FROM arm64v8/ubuntu:bionic | ||
|
||
ENV LANG C.UTF-8 | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
ENV TZ=Asia/Singapore | ||
|
||
COPY update_opt.sh /usr/bin/update_opt.sh | ||
RUN chmod +x /usr/bin/update_opt.sh | ||
|
||
RUN apt-get update && \ | ||
apt-get install -y --no-install-recommends \ | ||
ca-certificates \ | ||
curl \ | ||
dirmngr \ | ||
g++ \ | ||
git \ | ||
gnupg \ | ||
libsqlite3-dev \ | ||
libtinfo-dev \ | ||
libgmp-dev \ | ||
make \ | ||
netbase \ | ||
openssh-client \ | ||
xz-utils \ | ||
zlib1g-dev \ | ||
libnuma-dev libgmp10 libssl-dev liblzma-dev libbz2-dev wget lsb-release software-properties-common apt-transport-https gcc autoconf automake build-essential gzip patchelf tree \ | ||
llvm-9 clang-9 && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
RUN update_opt.sh 9 1 | ||
|
||
ARG GHCUP_VERSION=0.1.18.0 | ||
ARG GPG_KEY=7784930957807690A66EBDBE3786C5262ECB4A3F | ||
|
||
# install ghcup | ||
RUN gpg --batch --keyserver keys.openpgp.org --recv-keys $GPG_KEY && \ | ||
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/aarch64-linux-ghcup-$GHCUP_VERSION && \ | ||
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/SHA256SUMS && \ | ||
curl -sSfL -O https://downloads.haskell.org/~ghcup/$GHCUP_VERSION/SHA256SUMS.sig && \ | ||
gpg --verify SHA256SUMS.sig SHA256SUMS && \ | ||
sha256sum -c --ignore-missing SHA256SUMS && \ | ||
mv aarch64-linux-ghcup-$GHCUP_VERSION /usr/bin/ghcup && \ | ||
chmod +x /usr/bin/ghcup && \ | ||
rm -rf SHA256SUMS SHA256SUMS.sig | ||
|
||
ARG GHC=8.10.7 | ||
ARG CABAL_INSTALL=3.6.2.0 | ||
ARG STACK=2.9.1 | ||
|
||
ENV GHCUP_CURL_OPTS="--silent" | ||
ENV NO_COLOR=1 | ||
|
||
# install haskell toolchain | ||
RUN ghcup config set gpg-setting GPGStrict && \ | ||
ghcup --verbose install ghc --isolate=/usr --force ${GHC} && \ | ||
ghcup --verbose install cabal --isolate=/usr/bin --force ${CABAL_INSTALL} && \ | ||
find "/usr/lib/ghc-${GHC}/" \( -name "*_p.a" -o -name "*.p_hi" \) -type f -delete && \ | ||
rm -r "/usr/share/doc/ghc-${GHC}" && \ | ||
rm -rf /tmp/ghcup* && \ | ||
ghcup gc -p -s -c -t | ||
|
||
ENV PATH /root/.cabal/bin:/root/.ghcup/bin:/root/.local/bin:$PATH | ||
|
||
CMD ["ghci"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
#!/bin/bash | ||
# update_alternatives.sh | ||
|
||
update_alternatives() { | ||
local version=${1} | ||
local priority=${2} | ||
local master=${3} | ||
local slaves=${4} | ||
local path=${5} | ||
local cmdln | ||
|
||
cmdln="--verbose --install ${path}${master} ${master} ${path}${master}-${version} ${priority}" | ||
for slave in ${slaves}; do | ||
cmdln="${cmdln} --slave ${path}${slave} ${slave} ${path}${slave}-${version}" | ||
done | ||
update-alternatives ${cmdln} | ||
} | ||
|
||
if [[ ${#} -ne 2 ]]; then | ||
echo usage: "${0}" clang_version priority | ||
exit 1 | ||
fi | ||
|
||
version=${1} | ||
priority=${2} | ||
path="/usr/bin/" | ||
|
||
master="llvm-config" | ||
slaves="llvm-addr2line llvm-ar llvm-as llvm-bcanalyzer llvm-bitcode-strip llvm-cat llvm-cfi-verify llvm-cov llvm-c-test llvm-cvtres llvm-cxxdump llvm-cxxfilt llvm-cxxmap llvm-debuginfod llvm-debuginfod-find llvm-diff llvm-dis llvm-dlltool llvm-dwarfdump llvm-dwarfutil llvm-dwp llvm-exegesis llvm-extract llvm-gsymutil llvm-ifs llvm-install-name-tool llvm-jitlink llvm-jitlink-executor llvm-lib llvm-libtool-darwin llvm-link llvm-lipo llvm-lto llvm-lto2 llvm-mc llvm-mca llvm-ml llvm-modextract llvm-mt llvm-nm llvm-objcopy llvm-objdump llvm-omp-device-info llvm-opt-report llvm-otool llvm-pdbutil llvm-PerfectShuffle llvm-profdata llvm-profgen llvm-ranlib llvm-rc llvm-readelf llvm-readobj llvm-reduce llvm-remark-size-diff llvm-rtdyld llvm-sim llvm-size llvm-split llvm-stress llvm-strings llvm-strip llvm-symbolizer llvm-tapi-diff llvm-tblgen llvm-tli-checker llvm-undname llvm-windres llvm-xray" | ||
|
||
update_alternatives "${version}" "${priority}" "${master}" "${slaves}" "${path}" | ||
|
||
master="clang" | ||
slaves="analyze-build asan_symbolize bugpoint c-index-test clang++ clang-apply-replacements clang-change-namespace clang-check clang-cl clang-cpp clangd clang-doc clang-extdef-mapping clang-format clang-format-diff clang-include-fixer clang-linker-wrapper clang-move clang-nvlink-wrapper clang-offload-bundler clang-offload-packager clang-offload-wrapper clang-pseudo clang-query clang-refactor clang-rename clang-reorder-fields clang-repl clang-scan-deps clang-tidy count diagtool dsymutil FileCheck find-all-symbols git-clang-format hmaptool hwasan_symbolize intercept-build ld64.lld ld.lld llc lld lldb lldb-argdumper lldb-instr lldb-server lldb-vscode lld-link lli lli-child-target modularize not obj2yaml opt pp-trace run-clang-tidy sancov sanstats scan-build scan-build-py scan-view split-file UnicodeNameMappingGenerator verify-uselistorder wasm-ld yaml2obj yaml-bench" | ||
|
||
update_alternatives "${version}" "${priority}" "${master}" "${slaves}" "${path}" |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
#!/bin/bash | ||
# update_alternatives.sh | ||
|
||
update_alternatives() { | ||
local version=${1} | ||
local priority=${2} | ||
local master=${3} | ||
local slaves=${4} | ||
local path=${5} | ||
local cmdln | ||
|
||
cmdln="--verbose --install ${path}${master} ${master} ${path}${master}-${version} ${priority}" | ||
for slave in ${slaves}; do | ||
cmdln="${cmdln} --slave ${path}${slave} ${slave} ${path}${slave}-${version}" | ||
done | ||
update-alternatives ${cmdln} | ||
} | ||
|
||
if [[ ${#} -ne 2 ]]; then | ||
echo usage: "${0}" clang_version priority | ||
exit 1 | ||
fi | ||
|
||
version=${1} | ||
priority=${2} | ||
path="/usr/bin/" | ||
|
||
master="llvm-config" | ||
slaves="llvm-addr2line llvm-ar llvm-as llvm-bcanalyzer llvm-bitcode-strip llvm-cat llvm-cfi-verify llvm-cov llvm-c-test llvm-cvtres llvm-cxxdump llvm-cxxfilt llvm-cxxmap llvm-debuginfod llvm-debuginfod-find llvm-diff llvm-dis llvm-dlltool llvm-dwarfdump llvm-dwarfutil llvm-dwp llvm-exegesis llvm-extract llvm-gsymutil llvm-ifs llvm-install-name-tool llvm-jitlink llvm-jitlink-executor llvm-lib llvm-libtool-darwin llvm-link llvm-lipo llvm-lto llvm-lto2 llvm-mc llvm-mca llvm-ml llvm-modextract llvm-mt llvm-nm llvm-objcopy llvm-objdump llvm-omp-device-info llvm-opt-report llvm-otool llvm-pdbutil llvm-PerfectShuffle llvm-profdata llvm-profgen llvm-ranlib llvm-rc llvm-readelf llvm-readobj llvm-reduce llvm-remark-size-diff llvm-rtdyld llvm-sim llvm-size llvm-split llvm-stress llvm-strings llvm-strip llvm-symbolizer llvm-tapi-diff llvm-tblgen llvm-tli-checker llvm-undname llvm-windres llvm-xray" | ||
|
||
update_alternatives "${version}" "${priority}" "${master}" "${slaves}" "${path}" | ||
|
||
master="clang" | ||
slaves="analyze-build asan_symbolize bugpoint c-index-test clang++ clang-apply-replacements clang-change-namespace clang-check clang-cl clang-cpp clangd clang-doc clang-extdef-mapping clang-format clang-format-diff clang-include-fixer clang-linker-wrapper clang-move clang-nvlink-wrapper clang-offload-bundler clang-offload-packager clang-offload-wrapper clang-pseudo clang-query clang-refactor clang-rename clang-reorder-fields clang-repl clang-scan-deps clang-tidy count diagtool dsymutil FileCheck find-all-symbols git-clang-format hmaptool hwasan_symbolize intercept-build ld64.lld ld.lld llc lld lldb lldb-argdumper lldb-instr lldb-server lldb-vscode lld-link lli lli-child-target modularize not obj2yaml opt pp-trace run-clang-tidy sancov sanstats scan-build scan-build-py scan-view split-file UnicodeNameMappingGenerator verify-uselistorder wasm-ld yaml2obj yaml-bench" | ||
|
||
update_alternatives "${version}" "${priority}" "${master}" "${slaves}" "${path}" |