OILS / deps / Dockerfile.soil-clang View on Github | oilshell.org

50 lines, 38 significant
1FROM oilshell/soil-common
2
3# Copy again to prevent unsound caching
4COPY deps/from-apt.sh /home/uke/tmp/deps/from-apt.sh
5
6RUN --mount=type=cache,id=var-cache-apt,target=/var/cache/apt,sharing=locked \
7 --mount=type=cache,id=var-lib-apt,target=/var/lib/apt,sharing=locked \
8 du --si -s /var/cache/apt /var/lib/apt && \
9 deps/from-apt.sh clang
10
11USER uke
12
13# Copy pre-built Clang to use Clang's coverage
14#
15# Note we don't expand the .xz file at build time. That makes the Docker image
16# bigger. Instead, we expand it at runtime.
17
18COPY --chown=uke _cache/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz \
19 /home/uke/oil_DEPS/clang+llvm-14.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
20
21# cmark
22COPY --chown=uke \
23 _build/wedge/binary/oils-for-unix.org/pkg/cmark/0.29.0 \
24 /wedge/oils-for-unix.org/pkg/cmark/0.29.0
25
26# re2c
27COPY --chown=uke \
28 _build/wedge/binary/oils-for-unix.org/pkg/re2c/3.0 \
29 /wedge/oils-for-unix.org/pkg/re2c/3.0
30
31# To install MyPy and deps
32COPY --chown=uke \
33 _build/wedge/binary/oils-for-unix.org/pkg/python3/3.10.4 \
34 /wedge/oils-for-unix.org/pkg/python3/3.10.4
35
36# Copy _build/deps-source -> /home/uke/wedge for now.
37COPY --chown=uke \
38 _build/deps-source/mypy/mypy-0.780/ \
39 /home/uke/wedge/oils-for-unix.org/pkg/mypy/0.780/
40
41COPY devtools/run-task.sh /home/uke/tmp/devtools/run-task.sh
42COPY build/deps.sh /home/uke/tmp/build/deps.sh
43COPY build/dev-shell.sh /home/uke/tmp/build/dev-shell.sh
44
45# Hack for now: pass a different MyPy dir
46# Ideally py3-libs would be created a BUILD TIME with wedge-builder, not at
47# RUNTIME with uke!
48RUN build/deps.sh install-py3-libs /home/uke/wedge/oils-for-unix.org/pkg/mypy/0.780/
49
50CMD ["sh", "-c", "echo 'hello from oilshell/soil-clang'"]