Skip to content

Instantly share code, notes, and snippets.

@weynhamz
Last active December 27, 2015 13:39
Show Gist options
  • Save weynhamz/7334702 to your computer and use it in GitHub Desktop.
Save weynhamz/7334702 to your computer and use it in GitHub Desktop.
PKGBUILD of vim-cli
" The ArchLinux global vimrc - setting only a few sane defaults
"
" Maintainer: Tobias Kieslich [tobias funnychar archlinux dot org]
"
" NEVER EDIT THIS FILE, IT'S OVERWRITTEN UPON UPGRADES, GLOBAL CONFIGURATION
" SHALL BE DONE IN /etc/vimrc, USER SPECIFIC CONFIGURATION IN ~/.vimrc
" Normally we use vim-extensions. If you want true vi-compatibility
" remove change the following statements
set nocompatible " Use Vim defaults instead of 100% vi compatibility
set backspace=indent,eol,start " more powerful backspacing
" Now we set some defaults for the editor
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
" Suffixes that get lower priority when doing tab completion for filenames.
" These are files we are not likely to want to edit or read.
set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
if has('gui_running')
" Make shift-insert work like in Xterm
map <S-Insert> <MiddleMouse>
map! <S-Insert> <MiddleMouse>
endif
# Maintainer: Techlive Zheng <[email protected]>
# Contributor: Thomas Dziedzic <[email protected]>
# Contributor: Jan "heftig" Steffens <[email protected]>
# Contributor: tobias [ tobias at archlinux org ]
# Contributor: Daniel J Griffiths <[email protected]>
pkgbase=vim-cli
pkgname=('vim-cli' 'vim-cli-runtime')
_topver=7.4
_patchlevel=16
_versiondir="vim${_topver//./}"
pkgver=${_topver}.${_patchlevel}
pkgrel=2
arch=('i686' 'x86_64')
license=('custom:vim')
url="http://www.vim.org"
makedepends=('gpm' 'python2' 'ruby' 'lua')
source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz"
"ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz.sig"
'vimrc'
'archlinux.vim')
md5sums=('733cce44a08ea953ad0e1f9d574670e0'
'SKIP'
'b9d4dcb9d3ee2e151dc4be1e94934f6a'
'10353a61aadc3f276692d0e17db1478e')
build() {
cp -a vim-${pkgver} vim-build
# define the place for the global (g)vimrc file (set to /etc/vimrc)
sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' \
vim-build/src/feature.h
sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \
vim-build/src/feature.h
(cd vim-build/src && autoconf)
cd "${srcdir}"/vim-build
./configure \
--prefix=/usr \
--localstatedir=/var/lib/vim \
--with-features=huge \
--with-compiledby='Arch Linux' \
--enable-gpm \
--enable-acl \
--with-x=no \
--disable-gui \
--enable-multibyte \
--enable-cscope \
--disable-netbeans \
--enable-perlinterp \
--enable-pythoninterp \
--disable-python3interp \
--enable-rubyinterp \
--enable-luainterp
make
}
check() {
# disable tests because they seem to freeze
cd "${srcdir}"/vim-build
#make test
}
package_vim-cli() {
pkgdesc='Vi Improved, cli version with lua, ruby, python2 support'
depends=("vim-cli-runtime=${pkgver}-${pkgrel}" 'gpm' 'lua' 'ruby' 'python2')
conflicts=('vim' 'gvim')
cd "${srcdir}"/vim-build
make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
# provided by (n)vi in core
rm "${pkgdir}"/usr/bin/{ex,view}
# delete some manpages
find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \
while read _mandir; do
cd ${_mandir}
rm -f ex.1 view.1 # provided by (n)vi
rm -f evim.1 # this does not make sense if we have no GUI
done
# Move the runtime for later packaging
mv "${pkgdir}"/usr/share/vim "${srcdir}"/runtime-install
# license
install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \
"${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
}
package_vim-cli-runtime() {
pkgdesc='Runtime for vim-cli'
depends=('perl' 'gawk')
conflicts=('vim-runtime')
backup=('etc/vimrc')
# Install the runtime split from vim
install -dm755 "${pkgdir}"/usr/share
mv "${srcdir}"/runtime-install "${pkgdir}"/usr/share/vim
# Don't forget logtalk.dict
install -Dm644 "${srcdir}"/vim-build/runtime/ftplugin/logtalk.dict \
"${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/logtalk.dict
# fix FS#17216
sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \
"${pkgdir}"/usr/share/vim/${_versiondir}/filetype.vim
# patch filetype.vim for better handling of pacman related files
sed -i "s/rpmsave/pacsave/;s/rpmnew/pacnew/;s/,\*\.ebuild/\0,PKGBUILD*,*.install/" \
"${pkgdir}"/usr/share/vim/${_versiondir}/filetype.vim
sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \
"${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/changelog.vim
# rc files
install -Dm644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc
install -Dm644 "${srcdir}"/archlinux.vim \
"${pkgdir}"/usr/share/vim/vimfiles/archlinux.vim
# rgb.txt file
install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/rgb.txt \
"${pkgdir}"/usr/share/vim/${_versiondir}/rgb.txt
# license
install -dm755 "${pkgdir}"/usr/share/licenses/vim-runtime
ln -s /usr/share/vim/${_versiondir}/doc/uganda.txt \
"${pkgdir}"/usr/share/licenses/vim-runtime/license.txt
}
# vim:set sw=2 sts=2 et:
" All system-wide defaults are set in $VIMRUNTIME/archlinux.vim (usually just
" /usr/share/vim/vimfiles/archlinux.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vimrc), since archlinux.vim will be overwritten
" everytime an upgrade of the vim packages is performed. It is recommended to
" make changes after sourcing archlinux.vim since it alters the value of the
" 'compatible' option.
" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages.
runtime! archlinux.vim
" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim'
" Or better yet, read /usr/share/vim/vim74/vimrc_example.vim or the vim manual
" and configure vim to your own liking!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment