Source
FROM stagex/pallet-clang-cmake-busybox AS build
ARG VERSION
COPY --from=stagex/core-make . /
COPY --from=stagex/core-ncurses . /
COPY --from=stagex/core-perl . /
COPY --from=stagex/core-ruby . /
COPY --from=stagex/core-tcl . /
COPY --from=stagex/pallet-lua . /
COPY --from=stagex/pallet-python . /
COPY --from=stagex/user-libxt . /
ADD fetch/vim-${VERSION}.tar.gz .
ADD vimrc .
WORKDIR /vim-${VERSION}
ENV CFLAGS="-march=x86-64 -mtune=generic -fno-lto"
ENV CXXFLAGS="-fno-lto"
ENV SOURCE_DATE_EPOCH="1"
RUN --network=none <<-EOF
set -eu
echo '#define SYS_VIMRC_FILE "/etc/vim/vimrc"' >> src/feature.h
./configure \
--prefix=/usr \
--enable-luainterp=dynamic \
--enable-perlinterp=dynamic \
--enable-python3interp=dynamic \
--enable-rubyinterp=dynamic \
--enable-tclinterp=dynamic \
--enable-gui=no \
--without-x \
--without-wayland \
--disable-nls \
--enable-acl \
--enable-multibyte \
--with-compiledby="StageX" \
"$@"
make
# vim
make -j1 DESTDIR="/rootfs" install
install -Dm644 runtime/doc/uganda.txt \
"/rootfs/usr/share/licenses/vim/LICENSE"
install -Dm644 -t /rootfs/etc/vim/ /vimrc
# vim-common
mkdir -p /rootfs-vim-common/usr/share/vim
cp -r /rootfs/usr/share/vim/* /rootfs-vim-common/usr/share/vim/
install -Dm644 runtime/doc/uganda.txt \
"/rootfs-vim-common/usr/share/licenses/vim/LICENSE"
# vimdiff
install -Dm0755 -t /rootfs-vimdiff/usr/bin/ /rootfs/usr/bin/vimdiff
install -Dm644 runtime/doc/uganda.txt \
"/rootfs-vimdiff/usr/share/licenses/vimdiff/LICENSE"
# vim-tutor
install -Dm0755 -t /rootfs-vim-tutor/usr/bin/ /rootfs/usr/bin/vimtutor
mkdir -p /rootfs-vim-tutor/usr/share/
cp -r /rootfs/usr/share/vim /rootfs-vim-tutor/usr/share/
install -Dm644 runtime/doc/uganda.txt \
"/rootfs-vim-tutor/usr/share/licenses/vim-tutor/LICENSE"
# xxd
install -Dm0755 -t /rootfs-xxd/usr/bin/ /rootfs/usr/bin/xxd
install -Dm644 runtime/doc/uganda.txt \
"/rootfs-xxd/usr/share/licenses/xxd/LICENSE"
EOF
FROM stagex/core-filesystem AS package-vim
COPY --from=build /rootfs/ /
FROM stagex/core-filesystem AS package-vim-common
COPY --from=build /rootfs-vim-common/ /
FROM stagex/core-filesystem AS package-vimdiff
COPY --from=build /rootfs-vimdiff/ /
FROM stagex/core-filesystem AS package-vim-tutor
COPY --from=build /rootfs-vim-tutor/ /
FROM stagex/core-filesystem AS package-xxd
COPY --from=build /rootfs-xxd/ /