| 1 | # cpp-spec: Similar to Dockerfile.cpp-small, except for pexpect
 | 
| 2 | 
 | 
| 3 | FROM oilshell/soil-common
 | 
| 4 | 
 | 
| 5 | # Copy again to prevent unsound caching
 | 
| 6 | COPY deps/from-apt.sh /home/uke/tmp/deps/from-apt.sh
 | 
| 7 | 
 | 
| 8 | RUN --mount=type=cache,id=var-cache-apt,target=/var/cache/apt,sharing=locked \
 | 
| 9 |     --mount=type=cache,id=var-lib-apt,target=/var/lib/apt,sharing=locked \
 | 
| 10 |     du --si -s /var/cache/apt /var/lib/apt && \
 | 
| 11 |     deps/from-apt.sh cpp-spec
 | 
| 12 | 
 | 
| 13 | # Build other dependencies as non-root uke
 | 
| 14 | USER uke
 | 
| 15 | 
 | 
| 16 | # Pre-built wedges
 | 
| 17 | 
 | 
| 18 | COPY --chown=uke \
 | 
| 19 |   _build/wedge/binary/oils-for-unix.org/pkg/cmark/0.29.0 \
 | 
| 20 |   /wedge/oils-for-unix.org/pkg/cmark/0.29.0
 | 
| 21 | 
 | 
| 22 | COPY --chown=uke \
 | 
| 23 |   _build/wedge/binary/oils-for-unix.org/pkg/re2c/3.0 \
 | 
| 24 |   /wedge/oils-for-unix.org/pkg/re2c/3.0
 | 
| 25 | 
 | 
| 26 | COPY --chown=uke \
 | 
| 27 |   _build/wedge/binary/oils-for-unix.org/pkg/python3/3.10.4 \
 | 
| 28 |   /wedge/oils-for-unix.org/pkg/python3/3.10.4
 | 
| 29 | 
 | 
| 30 | # Copy _build/deps-source -> /home/uke/wedge for now.
 | 
| 31 | COPY --chown=uke \
 | 
| 32 |   _build/deps-source/mypy/mypy-0.780/ \
 | 
| 33 |   /home/uke/wedge/oils-for-unix.org/pkg/mypy/0.780/
 | 
| 34 | 
 | 
| 35 | COPY devtools/run-task.sh /home/uke/tmp/devtools/run-task.sh
 | 
| 36 | COPY build/deps.sh /home/uke/tmp/build/deps.sh
 | 
| 37 | COPY build/dev-shell.sh /home/uke/tmp/build/dev-shell.sh
 | 
| 38 | 
 | 
| 39 | # Hack for now: pass a different MyPy dir
 | 
| 40 | # Ideally py3-libs would be created a BUILD TIME with wedge-builder, not at
 | 
| 41 | # RUNTIME with uke!
 | 
| 42 | RUN build/deps.sh install-py3-libs /home/uke/wedge/oils-for-unix.org/pkg/mypy/0.780/
 | 
| 43 | 
 | 
| 44 | CMD ["sh", "-c", "echo 'hello from oilshell/soil-cpp-spec'"]
 |