# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Maintainer: Morten Linderud <foxboron@archlinux.org>
# Maintainer: T.J. Townsend <blakkheim@archlinux.org>
# Contributor: Anatol Pomozov <anatol.pomozov@gmail.com>
# Contributor: Thomas Dziedzic <gostrc@gmail.com>
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: tobias [ tobias at archlinux org ]
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
# Contributor: Christian Hesse <mail@eworm.de>
# Contributor: Eli Schwartz <eschwartz@archlinux.org>
pkgbase=vim
pkgname=('vim'
#'gvim'
'vim-runtime')
pkgver=9.1.0346
_versiondir=91
pkgrel=2
pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor'
url='https://www.vim.org'
arch=('armv7h' 'aarch64')
license=('custom:vim')
makedepends=(
gawk
git
glibc
# gpm
# gtk3
# libcanberra
libgcrypt
libxt
# lua
perl
python
# ruby
# tcl
zlib
)
source=(git+https://github.com/vim/vim.git?signed#tag=v${pkgver}
vimrc
archlinux.vim
vimdoc.hook)
sha256sums=('7cf1fb5286251f4dd1d4db55b45c41b3d1145a1ae1bfe438f223b07c80240676'
'b16e85e457397ab2043a7ee0a3c84307c6b4eac157fd0b721694761f25b3ed5b'
'cc3d931129854c298eb22e993ec14c2ad86cc1e70a08a64496f5e06559289972'
'8e9656934d9d7793063230d15a689e10455e6db9b9fe73afa0f294792795d8ae')
validpgpkeys=('4F19708816918E19AAE19DEEF3F92DA383FDDE09') # Christian Brabandt <cb@256bit.org>
prepare() {
(cd vim/src
# define the place for the global (g)vimrc file (set to /etc/vimrc)
sed -E 's|^.*(#define SYS_.*VIMRC_FILE.*").*$|\1|g' -i feature.h
sed -E 's|^.*(#define VIMRC_FILE.*").*$|\1|g' -i feature.h
autoconf
)
cp -a vim gvim
}
build() {
msg2 "Building vim..."
(cd vim
./configure \
--prefix=/usr \
--localstatedir=/var/lib/vim \
--with-features=huge \
--with-compiledby='ARMLFS' \
--enable-acl \
--with-x=no \
--disable-gui \
--enable-multibyte \
--enable-cscope \
--enable-netbeans \
--enable-perlinterp=dynamic \
--enable-python3interp=dynamic \
--disable-canberra
make
)
return 0
msg2 "Building gvim..."
(cd gvim
./configure \
--prefix=/usr \
--localstatedir=/var/lib/vim \
--with-features=huge \
--with-compiledby='ARMLFS' \
--enable-acl \
--with-x=yes \
--enable-gui=gtk3 \
--enable-multibyte \
--enable-cscope \
--enable-netbeans \
--enable-perlinterp=dynamic \
--enable-python3interp=dynamic \
--enable-rubyinterp=dynamic \
--enable-luainterp=dynamic \
--enable-tclinterp=dynamic \
--enable-canberra
make
)
}
#check() {
# cd vim
# TERM=xterm make -j1 test
#}
package_vim-runtime() {
pkgdesc+=' (shared runtime)'
optdepends=('sh: support for some tools and macros'
'python: demoserver example tool'
'gawk: mve tools upport')
backup=('etc/vimrc')
cd vim
make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
# man and bin files belong to 'vim'
rm -r "${pkgdir}"/usr/share/man/ "${pkgdir}"/usr/bin/
# Don't forget logtalk.dict
install -Dm 644 runtime/ftplugin/logtalk.dict \
"${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/logtalk.dict
# rc files
install -Dm 644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc
install -Dm 644 "${srcdir}"/archlinux.vim \
"${pkgdir}"/usr/share/vim/vimfiles/archlinux.vim
# no desktop files and icons
rm -r "${pkgdir}"/usr/share/{applications,icons}
# license
install -dm 755 "${pkgdir}"/usr/share/licenses/vim-runtime
ln -s /usr/share/vim/vim${_versiondir}/doc/uganda.txt \
"${pkgdir}"/usr/share/licenses/vim-runtime/license.txt
}
package_vim() {
depends=("vim-runtime=${pkgver}-${pkgrel}" 'acl' 'glibc' 'libgcrypt' 'zlib')
optdepends=('python: Python language support'
# 'ruby: Ruby language support'
# 'lua: Lua language support'
'perl: Perl language support'
# 'tcl: Tcl language support'
)
conflicts=('gvim' 'vim-minimal')
provides=('xxd' 'vim-minimal' 'vim-plugin-runtime')
replaces=('vim-minimal')
cd vim
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
# Runtime provided by runtime package
rm -r "${pkgdir}"/usr/share/vim
# remove gvim.desktop as not included
rm "${pkgdir}"/usr/share/applications/gvim.desktop
# license
install -Dm 644 runtime/doc/uganda.txt \
"${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
# pacman hook for documentation helptags
install -Dm 644 "${srcdir}"/vimdoc.hook "${pkgdir}"/usr/share/libalpm/hooks/vimdoc.hook
}
package_gvim() {
pkgdesc+=' (with advanced features, such as a GUI)'
depends=("vim-runtime=${pkgver}-${pkgrel}" 'libxt' 'gtk3' 'glibc' 'libgcrypt'
'zlib' 'libcanberra')
optdepends=('python: Python language support'
'ruby: Ruby language support'
'lua: Lua language support'
'perl: Perl language support'
'tcl: Tcl language support')
provides=("vim=${pkgver}-${pkgrel}" "xxd" 'vim-plugin-runtime')
conflicts=('vim-minimal' 'vim')
cd gvim
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
done
# need to remove since this is provided by vim-runtime
rm -r "${pkgdir}"/usr/share/vim
# license
install -Dm 644 runtime/doc/uganda.txt \
"${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
# pacman hook for documentation helptags
install -Dm 644 "${srcdir}"/vimdoc.hook "${pkgdir}"/usr/share/libalpm/hooks/vimdoc.hook
}
# vim: ts=2 sw=2 et: