# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package # BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT # The prepare function is executed in the root of the temp directory # This function is used for putting downloaded files to the correct location or applying patches prepare() { cd "$BPM_SOURCE" # Define place for global vimrc file sed -E 's|^.*(#define SYS_.*VIMRC_FILE.*").*$|\1|g' -i src/feature.h sed -E 's|^.*(#define VIMRC_FILE.*").*$|\1|g' -i src/feature.h # Fix makefile dependencies for vim 9.1.1845 patch -Np1 -i "$BPM_WORKDIR"/fix-makefile-dependencies.patch # Regenerate configure script cd src autoconf } # The build function is executed in the source directory # This function is used to compile the source code build() { ./configure --prefix=/usr \ --localstatedir=/var/lib/vim \ --with-features=huge \ --with-compiledby='Tide Linux' \ --with-wayland=no \ --enable-gpm \ --enable-acl \ --with-x=no \ --disable-gui \ --enable-multibyte \ --enable-cscope \ --enable-netbeans \ --enable-perlinterp=dynamic \ --enable-python3interp=dynamic \ --enable-rubyinterp=dynamic \ --enable-luainterp=dynamic \ --enable-tclinterp=dynamic \ --disable-canberra make } # The package function is executed in the source directory # This function is used to move the compiled files into the output directory package() { make DESTDIR="$BPM_OUTPUT" install # Remove unused gvim desktop file rm "$BPM_OUTPUT"/usr/share/applications/gvim.desktop # Install package documentation mkdir -p "$BPM_OUTPUT"/usr/share/doc/ ln -sfv ../vim/vim91/doc "$BPM_OUTPUT"/usr/share/doc/vim # Install package license install -Dm644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/vim/LICENSE }