29 lines
1.3 KiB
Docker
29 lines
1.3 KiB
Docker
# SPDX-FileCopyrightText: 2024 Daniel Wolf <nephatrine@gmail.com>
|
|
#
|
|
# SPDX-License-Identifier: ISC
|
|
|
|
# hadolint ignore=DL3007
|
|
FROM code.nephatrine.net/nephnet/nxb-debian:latest
|
|
LABEL maintainer="Daniel Wolf <nephatrine@gmail.com>"
|
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
|
|
|
ARG WASI_VERSION=21
|
|
WORKDIR /opt
|
|
# hadolint ignore=SC2010
|
|
RUN curl https://wasmtime.dev/install.sh -sSf | bash \
|
|
&& curl -LO "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION}.0-linux.tar.gz" \
|
|
&& tar -xvzf "wasi-sdk-${WASI_VERSION}.0-linux.tar.gz" \
|
|
&& mv "wasi-sdk-${WASI_VERSION}.0" wasi-sdk \
|
|
&& cp -nrvs /opt/wasi-sdk/share/cmake/Platform/. "/usr/share/$(ls /usr/share/ | grep -E 'cmake-[0-9]' | tail -1)/Modules/Platform/" \
|
|
&& rm -rf /tmp/* /var/tmp/* "/opt/wasi-sdk-${WASI_VERSION}.0-linux.tar.gz"
|
|
ENV WASI_SDK_PREFIX=/opt/wasi-sdk WASMTIME_HOME=/root/.wasmtime
|
|
ENV PATH=${WASMTIME_HOME}/bin:${WASI_SDK_PREFIX}/bin:$PATH
|
|
|
|
COPY override/usr/local/bin/nxbuild-wasi /usr/local/bin/
|
|
# hadolint ignore=DL3003
|
|
RUN git -C "${HOME}" clone --single-branch --depth=1 https://code.nephatrine.net/nephatrine/hello-test.git \
|
|
&& mkdir /tmp/build-wasi && cd /tmp/build-wasi \
|
|
&& nxbuild-wasi -GNinja "${HOME}/hello-test" \
|
|
&& ninja && wasmtime HelloTest \
|
|
&& cd .. && rm -rf /tmp/* /var/tmp/* "${HOME}/hello-test"
|