# $Id: PKGBUILD 280872 2016-11-16 02:09:31Z anatolik $ # Maintainer (Arch): Anatol Pomozov # Contributor (Arch): Thomas Dziedzic # Contributor (Arch): Jan "heftig" Steffens # Contributor (Arch): tobias [ tobias at archlinux org ] # Contributor (Arch): Daniel J Griffiths # Contributor (Arch): Christian Hesse # Maintainer: André Silva # Contributor: Márcio Silva pkgbase=vim pkgname=(vim gvim vim-runtime) pkgver=8.0.0086 _versiondir=80 pkgrel=1.parabola1 arch=(i686 x86_64 armv7h) license=('custom:vim') url='http://www.vim.org' makedepends=(gpm python2 python ruby libxt gtk2 lua gawk tcl) source=(vim-$pkgver.tar.gz::http://github.com/vim/vim/archive/v$pkgver.tar.gz 0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch 0002-Further-fix-widget-sizing.patch vimrc parabola.vim vimdoc.hook) sha1sums=('d4e6cf6223965aedda744c5f97a8d5d55ff77b33' 'ca4a3bdf8b512336bff4af3ae93d95a8580e0eaf' '04b86163bb379a7d42058d932aed3075ed49d2a9' '1030d4be309802375832b8b2313c69e8fe9724b9' 'a72ca0f8d941ff221598091338d9c1bf75a3494b' 'adc4c82b6c4097944e5a767270a772721455eb8c') prepare() { cd vim-$pkgver/src # https://github.com/vim/vim/pull/1193 # drop these if the problematic commits on gtk3 get reverted... #patch -Np2 -i "$srcdir"/0001-Fix-widget-sizing-on-current-Gtk-3.22-branch.patch #patch -Np2 -i "$srcdir"/0002-Further-fix-widget-sizing.patch # define the place for the global (g)vimrc file (set to /etc/vimrc) sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' feature.h sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' feature.h autoconf cd "$srcdir" cp -a vim-$pkgver gvim-$pkgver } build() { cd "${srcdir}"/vim-$pkgver ./configure \ --prefix=/usr \ --localstatedir=/var/lib/vim \ --with-features=huge \ --with-compiledby='Parabola GNU/Linux-libre' \ --enable-gpm \ --enable-acl \ --with-x=no \ --disable-gui \ --enable-multibyte \ --enable-cscope \ --enable-netbeans \ --enable-perlinterp=dynamic \ --enable-pythoninterp=dynamic \ --enable-python3interp=dynamic \ --enable-rubyinterp=dynamic \ --enable-luainterp=dynamic \ --enable-tclinterp=dynamic make cd "${srcdir}"/gvim-$pkgver ./configure \ --prefix=/usr \ --localstatedir=/var/lib/vim \ --with-features=huge \ --with-compiledby='Parabola GNU/Linux-libre' \ --enable-gpm \ --enable-acl \ --with-x=yes \ --enable-gui=gtk2 \ --enable-multibyte \ --enable-cscope \ --enable-netbeans \ --enable-perlinterp=dynamic \ --enable-pythoninterp=dynamic \ --enable-python3interp=dynamic \ --enable-rubyinterp=dynamic \ --enable-luainterp=dynamic \ --enable-tclinterp=dynamic make } check() { cd "${srcdir}"/vim-$pkgver TERM=xterm make -j1 test } package_vim-runtime() { pkgdesc='Runtime for vim and gvim (Parabola rebranded)' backup=('etc/vimrc') replaces=(${pkgname}-parabola) conflicts=(${pkgname}-parabola) cd "${srcdir}"/vim-$pkgver 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 -Dm644 runtime/ftplugin/logtalk.dict \ "${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/logtalk.dict # fix FS#17216 sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \ "${pkgdir}"/usr/share/vim/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/vim${_versiondir}/filetype.vim sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \ "${pkgdir}"/usr/share/vim/vim${_versiondir}/ftplugin/changelog.vim # rc files install -Dm644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc install -Dm644 "${srcdir}"/parabola.vim \ "${pkgdir}"/usr/share/vim/vimfiles/parabola.vim # rgb.txt file install -Dm644 runtime/rgb.txt \ "${pkgdir}"/usr/share/vim/vim${_versiondir}/rgb.txt # no desktop files and icons rm -r "${pkgdir}"/usr/share/{applications,icons} # license install -dm755 "${pkgdir}"/usr/share/licenses/vim-runtime ln -s /usr/share/vim/vim${_versiondir}/doc/uganda.txt \ "${pkgdir}"/usr/share/licenses/vim-runtime/license.txt # pacman hook for documentation helptags install -Dm644 "${srcdir}"/vimdoc.hook "${pkgdir}"/usr/share/libalpm/hooks/vimdoc.hook } package_vim() { pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'acl') optdepends=('python2: Python 2 language support' 'python: Python 3 language support' 'ruby: Ruby language support' 'lua: Lua language support' 'perl: Perl language support' 'tcl: Tcl language support') conflicts=('gvim' 'vim-minimal' 'vim-python3') provides=('xxd' 'vim-minimal' 'vim-python3') replaces=('vim-python3' 'vim-minimal') cd "${srcdir}"/vim-$pkgver 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 # no desktop files and icons rm -r "${pkgdir}"/usr/share/{applications,icons} # license install -Dm644 runtime/doc/uganda.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt } package_gvim() { pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with advanced features, such as a GUI)' depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'libxt' 'gtk2') optdepends=('python2: Python 2 language support' 'python: Python 3 language support' 'ruby: Ruby language support' 'lua: Lua language support' 'perl: Perl language support' 'tcl: Tcl language support') provides=("vim=${pkgver}-${pkgrel}" "xxd") conflicts=('vim-minimal' 'vim') replaces=('gvim-python3') cd "${srcdir}"/gvim-$pkgver 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 # keep gvim desktop file only, remove vim rm "${pkgdir}"/usr/share/applications/vim.desktop # license install -Dm644 runtime/doc/uganda.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt }