1 | FROM oilshell/soil-common
|
2 |
|
3 | # Copy again to prevent unsound caching
|
4 | COPY deps/from-apt.sh /home/uke/tmp/deps/from-apt.sh
|
5 |
|
6 | RUN --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 |
|
11 | USER 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 |
|
18 | COPY --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
|
22 | COPY --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
|
27 | COPY --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
|
32 | COPY --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.
|
37 | COPY --chown=uke \
|
38 | _build/deps-source/mypy/mypy-0.780/ \
|
39 | /home/uke/wedge/oils-for-unix.org/pkg/mypy/0.780/
|
40 |
|
41 | COPY devtools/run-task.sh /home/uke/tmp/devtools/run-task.sh
|
42 | COPY build/deps.sh /home/uke/tmp/build/deps.sh
|
43 | COPY 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!
|
48 | RUN build/deps.sh install-py3-libs /home/uke/wedge/oils-for-unix.org/pkg/mypy/0.780/
|
49 |
|
50 | CMD ["sh", "-c", "echo 'hello from oilshell/soil-clang'"]
|