# Maintainer: Levente Polyak # Contributor: Anatol Pomozov # Contributor: Thomas Dziedzic # Contributor: Jan "heftig" Steffens # Contributor: tobias [ tobias at archlinux org ] # Contributor: Daniel J Griffiths # Contributor: Christian Hesse # Contributor: Eli Schwartz pkgbase=vim pkgname=('vim' 'gvim' 'vim-runtime') pkgver=8.0.1838 _versiondir=80 pkgrel=1 pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' url='http://www.vim.org' arch=('x86_64') license=('custom:vim') makedepends=('glibc' 'libgcrypt' 'gpm' 'python2' 'python' 'ruby' 'libxt' 'gtk3' 'lua' 'gawk' 'tcl' 'pcre' 'zlib' 'libffi') source=(vim-${pkgver}.tar.gz::https://github.com/vim/vim/archive/v${pkgver}.tar.gz vimrc archlinux.vim vimdoc.hook) sha256sums=('0d72e80c1acb1852be830d9cc82e0609f9f345857c7239c6a2fa4cba335ef548' 'b16e85e457397ab2043a7ee0a3c84307c6b4eac157fd0b721694761f25b3ed5b' '2a6689ce603486f87df9d7e9697032015a8688d663984f5380c1f16cfeed31d4' '7095cafac21df7aa42749d6864d1c0549fe65771d8edda3102c931c60782b6b9') sha512sums=('ec0c126361baf0e031d27bc82424121b1de9334357c3e26be959dc5556ac5f112db7be92ed8f679b91442f072cb52cc42fcae6ddb0ae9160392b6623a256ce06' '4b5bed0813f22af9e158ea9aa56a4a9862dd786ba2d201f20159ccf652da6190164aaed0b6b7217d578f7b25c33a8adcc307bfcf3caa8d173a7ff29e2a00fee7' '6d0130bb35fc1abb5d657393290d838742725a9d5e4e592b5fd71c8c5852374de010fb58347974096192c8dd8cf42c67185bc2cc38c70609afbcce2c91489781' '1e06e981691b17662fd0fddac5c00c87c920d1b4a1cbb6191c42d57cc40b00af12710e26b22fcfc0901bb8142b15f6a04aa65cec2d9b3bb9d5a06cb650d3ab9c') prepare() { (cd vim-${pkgver}/src # 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 ) cp -a vim-${pkgver} gvim-${pkgver} } build() { msg2 "Building vim..." (cd vim-${pkgver} ./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 \ --enable-netbeans \ --enable-perlinterp=dynamic \ --enable-pythoninterp=dynamic \ --enable-python3interp=dynamic \ --enable-rubyinterp=dynamic \ --enable-luainterp=dynamic \ --enable-tclinterp=dynamic make ) msg2 "Building gvim..." (cd gvim-${pkgver} ./configure \ --prefix=/usr \ --localstatedir=/var/lib/vim \ --with-features=huge \ --with-compiledby='Arch Linux' \ --enable-gpm \ --enable-acl \ --with-x=yes \ --enable-gui=gtk3 \ --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 vim-${pkgver} 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-${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 -Dm 644 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 -Dm 644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc install -Dm 644 "${srcdir}"/archlinux.vim \ "${pkgdir}"/usr/share/vim/vimfiles/archlinux.vim # rgb.txt file install -Dm 644 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 -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 # pacman hook for documentation helptags install -Dm 644 "${srcdir}"/vimdoc.hook "${pkgdir}"/usr/share/libalpm/hooks/vimdoc.hook } package_vim() { depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'acl' 'glibc' 'libgcrypt' 'pcre' 'zlib' 'libffi') 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 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 # 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 } package_gvim() { pkgdesc+=' (with advanced features, such as a GUI)' depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'libxt' 'gtk3' 'glibc' 'libgcrypt' 'pcre' 'zlib' 'libffi') 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 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 # license install -Dm 644 runtime/doc/uganda.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt } # vim: ts=2 sw=2 et: