|
1 | | -ARG CONTAINER_VERSION=latest |
2 | | -ARG CONTAINER_BASE_IMAGE=docker.io/library/debian:12 |
3 | | - |
4 | | -ARG CONTAINER_IMAGE_REGISTRY=localhost |
5 | | -ARG CONTAINER_IMAGE_REGISTRY_REMOTE=${CONTAINER_IMAGE_REGISTRY} |
6 | | -ARG CONTAINER_IMAGE_NAME=wally |
7 | | -ARG CONTAINER_IMAGE_NAME_FULL=${CONTAINER_IMAGE_REGISTRY}/${CONTAINER_IMAGE_NAME} |
8 | | -ARG CONTAINER_IMAGE_VERSION=${CONTAINER_VERSION} |
9 | | -ARG CONTAINER_BUILDER_IMAGE=${CONTAINER_IMAGE_NAME_FULL}:${CONTAINER_IMAGE_VERSION}-builder |
10 | | -ARG CONTAINER_DEVEL_IMAGE=${CONTAINER_IMAGE_NAME_FULL}:${CONTAINER_IMAGE_VERSION}-devel |
11 | | - |
12 | | -FROM ${CONTAINER_BASE_IMAGE} as wally-builder |
| 1 | +ARG WALLY_CONTAINER_VERSION=latest |
| 2 | +ARG WALLY_CONTAINER_BASE_IMAGE=docker.io/almalinux/9-base:9.6 |
| 3 | + |
| 4 | +ARG WALLY_CONTAINER_BUILDER_IMAGE=wally-builder |
| 5 | +ARG WALLY_CONTAINER_DEVEL_IMAGE=wally-devel |
| 6 | + |
| 7 | +ARG RISCV_GNU_TOOLCHAIN_VERSION=23863c2ca74e6c050f0c97e7af61f5f1776aadd1 |
| 8 | + |
| 9 | +FROM ${WALLY_CONTAINER_BASE_IMAGE} as wally-builder |
13 | 10 | ARG TARGETARCH TARGETOS TARGETPLATFORM TARGETVARIANT |
14 | 11 |
|
15 | | -RUN --mount=type=bind,source=./bin,target=/wally/bin \ |
16 | | - bash /wally/bin/wally-package-install.sh && \ |
17 | | - apt-get autoremove -y && rm -rf /var/lib/apt/lists/* |
18 | | - |
19 | | -RUN --mount=type=bind,source=./bin,target=/wally/bin \ |
20 | | - export WALLY=/wally && \ |
21 | | - export RISCV=/opt/riscv && \ |
22 | | - bash "$WALLY/bin/installation/riscv-gnu-toolchain-install.sh" --clean |
23 | | - |
24 | | -RUN --mount=type=bind,source=./bin,target=/wally/bin \ |
25 | | - export WALLY=/wally && \ |
26 | | - export RISCV=/opt/riscv && \ |
27 | | - bash "$WALLY/bin/installation/elf2hex-install.sh" --clean && \ |
28 | | - bash "$WALLY/bin/installation/qemu-install.sh" --clean && \ |
29 | | - bash "$WALLY/bin/installation/spike-install.sh" --clean && \ |
30 | | - # bash "$WALLY/bin/installation/sail-install.sh" --clean && \ |
31 | | - bash "$WALLY/bin/installation/verilator-install.sh" --clean |
32 | | - |
33 | | -FROM wally-builder as wally-devel |
| 12 | +ARG RISCV_GNU_TOOLCHAIN_VERSION |
| 13 | +ENV RISCV_GNU_TOOLCHAIN_VERSION=${RISCV_GNU_TOOLCHAIN_VERSION} |
| 14 | +ENV RISCV_INSTALL_PREFIX=/opt/riscv |
| 15 | + |
| 16 | +ENV WALLY_HOME=/root |
| 17 | +ENV WALLY_SOURCE_DIR=/workspaces/cvw |
| 18 | +ENV WALLY_PYTHON_VENV_DIR=${WALLY_HOME}/.venv/wally |
| 19 | +ENV WALLY_PYTHON_EXECUTABLE=${WALLY_PYTHON_VENV_DIR}/bin/python |
| 20 | + |
| 21 | +ENV RISCV=${RISCV_INSTALL_PREFIX} |
| 22 | +ENV WALLY=${WALLY_SOURCE_DIR} |
| 23 | + |
| 24 | +RUN --mount=type=bind,source=./bin,target=${WALLY_SOURCE_DIR}/bin \ |
| 25 | + bash "${WALLY_SOURCE_DIR}/bin/wally-package-install.sh" --clean |
| 26 | + |
| 27 | +RUN --mount=type=bind,source=./bin,target=${WALLY_SOURCE_DIR}/bin \ |
| 28 | + bash "${WALLY_SOURCE_DIR}/bin/installation/riscv-gnu-toolchain-install.sh" --clean |
| 29 | + |
| 30 | +RUN --mount=type=bind,source=./bin,target=${WALLY_SOURCE_DIR}/bin \ |
| 31 | + --mount=type=bind,source=./linux,target=${WALLY_SOURCE_DIR}/linux \ |
| 32 | + bash "${WALLY_SOURCE_DIR}/bin/wally-tool-chain-install.sh" --clean --no-buildroot |
| 33 | + |
| 34 | +FROM ${WALLY_CONTAINER_BUILDER_IMAGE} as wally-devel |
34 | 35 | ARG TARGETARCH TARGETOS TARGETPLATFORM TARGETVARIANT |
| 36 | + |
| 37 | +ENV PATH="${RISCV_INSTALL_PREFIX}/bin${PATH:+:${PATH}}" |
| 38 | +ENV CPATH="${RISCV_INSTALL_PREFIX}/include${CPATH:+:${CPATH}}" |
| 39 | +ENV LD_LIBRARY_PATH="\ |
| 40 | + ${RISCV_INSTALL_PREFIX}/lib\ |
| 41 | + :${RISCV_INSTALL_PREFIX}/lib64\ |
| 42 | + ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" |
| 43 | +ENV PKG_CONFIG_PATH="\ |
| 44 | + ${RISCV_INSTALL_PREFIX}/lib/pkgconfig\ |
| 45 | + :${RISCV_INSTALL_PREFIX}/lib64/pkgconfig\ |
| 46 | + :${RISCV_INSTALL_PREFIX}/share/pkgconfig\ |
| 47 | + ${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}" |
| 48 | + |
| 49 | +RUN ${WALLY_PYTHON_EXECUTABLE} -m pip install --no-cache-dir \ |
| 50 | + reuse \ |
| 51 | + pre-commit |
0 commit comments