3.69. vim-8.2.1361

#!/bin/sh
# Copyright © 1999-2022 Gerard Beekmans
# Copyright © 2017-2022 Random Crew
# Distributed under the terms of MIT License.

Configuration

src_config()
{
    echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h

    ./configure \
        --prefix=${PREFIX}
}

Compilation

src_compile()
{
    make ${MAKEOPTS}
}

Installation

src_install()
{
    make install ${MAKEOPTS} DESTDIR=${D}

    ln -s vim ${D}${PREFIX}/bin/vi
    for L in \
        ${D}${PREFIX}/share/man/man1/vim.1 \
        ${D}${PREFIX}/share/man/*/man1/vim.1 \
    ; do
        ln -s vim.1 $(dirname $L)/vi.1
    done
    mkdir -p ${D}${PREFIX}/share/doc/
    ln -s ../vim/vim90/doc ${D}${PREFIX}/share/doc/${P}

    mkdir -p ${D}/etc
    cat > ${D}/etc/vimrc << "EOF"
" Begin /etc/vimrc

" Ensure defaults are set before customizing settings, not after
source $VIMRUNTIME/defaults.vim
let skip_defaults_vim=1 

set nocompatible
set backspace=2
set mouse=
syntax on
if (&term == "xterm") || (&term == "putty")
  set background=dark
endif

" End /etc/vimrc
EOF

}

Unit testing

We do not need to switch to specialized user, as build goes from regular user already.

src_check()
{
    LANG=en_US.UTF-8 make -j1 test > vim-test.log 2>&1
}

Build code

vim.build

Other files

meta.txt
text

Links

url.lfs: https://linuxfromscratch.org/lfs/view/10.0/chapter08/vim.html