# Stage 1 - Build the V-compiler FROM git.snrd.eu/sunred/vlang:alpine-base AS builder # Add the build dependencies RUN apk --no-cache add \ # Git support git openssh-client \ # js back-end nodejs npm \ # V-development dependencies make musl-dev valgrind clang gcc \ # V-UI dependencies libx11-dev glfw-dev freetype-dev WORKDIR /opt/vlang RUN git clone https://github.com/vlang/v /opt/vlang && make VFLAGS='-cc gcc' && v -version # Stage 2 - Make minimal runtime without git and make # we still nedd gcc and musl-dev for v to compile; # libexecinfo is needed for the bundled tcc to work; # libc-dev is needed for the various C headers like inttypes.h . FROM git.snrd.eu/sunred/vlang:alpine-base AS runtime ENV VFLAGS="-cc gcc" RUN apk --no-cache add \ gcc musl-dev git libc-dev # Copy the prebuilt V compiler COPY --from=builder /opt/vlang /opt/vlang