OILS / deps / Dockerfile.soil-clang View on Github | oils.pub

58 lines, 43 significant
1FROM oilshell/soil-debian-12
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-debian-12,target=/var/cache/apt,sharing=locked \
7 --mount=type=cache,id=var-lib-apt-debian-12,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# Pre-built wedges
22
23COPY --chown=uke \
24 _build/boxed/wedge/cmark/0.29.0 \
25 /home/uke/oils.DEPS/wedge/cmark/0.29.0
26
27COPY --chown=uke \
28 _build/boxed/wedge/re2c/3.0 \
29 /home/uke/oils.DEPS/wedge/re2c/3.0
30
31COPY --chown=uke \
32 _build/boxed/wedge/python3/3.10.4 \
33 /home/uke/oils.DEPS/wedge/python3/3.10.4
34
35# Put python3 in PATH before running install-py3-libs
36RUN mkdir -p /home/uke/oils.DEPS/bin && \
37 ln -s --relative /home/uke/oils.DEPS/wedge/re2c/3.0/bin/re2c /home/uke/oils.DEPS/bin && \
38 ln -s --relative /home/uke/oils.DEPS/wedge/python3/3.10.4/bin/python3 /home/uke/oils.DEPS/bin
39
40COPY --chown=uke \
41 _build/deps-source/mypy/mypy-0.780/ \
42 /home/uke/oils.DEPS/wedge/mypy/0.780/
43
44# 2025-04: build/deps.sh install-py3-libs depends on this - need tree shaking
45COPY stdlib/osh/bash-strict.sh /home/uke/tmp/stdlib/osh/bash-strict.sh
46COPY stdlib/osh/task-five.sh /home/uke/tmp/stdlib/osh/task-five.sh
47COPY stdlib/osh/byo-server.sh /home/uke/tmp/stdlib/osh/byo-server.sh
48COPY stdlib/osh/two.sh /home/uke/tmp/stdlib/osh/two.sh
49COPY test/tsv-lib.sh /home/uke/tmp/test/tsv-lib.sh
50COPY web/table/html.sh /home/uke/tmp/web/table/html.sh
51
52COPY build/deps.sh /home/uke/tmp/build/deps.sh
53COPY build/dev-shell.sh /home/uke/tmp/build/dev-shell.sh
54
55RUN build/deps.sh install-py3-libs \
56 /home/uke/oils.DEPS/wedge/mypy/0.780/ ../oils.DEPS/wedge
57
58CMD ["sh", "-c", "echo 'hello from oilshell/soil-clang'"]