# $Id: PKGBUILD 163486 2012-07-13 05:33:54Z tdziedzic $ # Contributor: Jan "heftig" Steffens # Maintainer: tobias [ tobias at archlinux org ] # Maintainer: Daniel J Griffiths pkgbase=vim pkgname=('vim' 'gvim' 'vim-runtime') _topver=7.3 _patchlevel=600 __hgrev=11d40fc82f11 _versiondir="vim${_topver//./}" pkgver=${_topver}.${_patchlevel} pkgrel=1 arch=('i686' 'x86_64') license=('custom:vim') url="http://www.vim.org" makedepends=('gpm' 'python2' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' 'lua') source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz" "ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz.sig" 'pythoncomplete.vim::http://www.vim.org/scripts/download_script.php?src_id=10872' 'vimrc' 'archlinux.vim' 'gvim.desktop') sha1sums=('a1c54bde75476ace5d24d4c17f7a81818e80dfda' '14d62fe89d8292a6d2f7c46e8c61bd59bbd01083' '4d9dcfb32874aa5467e6f06e418aeb4e675daaf2' '3494baf53a63581ba69f86a81293640ff681c5c5' '25dd3c2ce436e73a367c8f73b68f7f6889682437' '4a579cf66590d711f49c5dfb4a25e5df116ff7ba') # source PKGBUILD && mksource mksource() { [[ -x /usr/bin/hg ]] || (echo "hg not found. Install mercurial." && return 1) __hgroot='http://vim.googlecode.com/hg/' __hgrepo='vim' __hgbranch='default' hg clone -b ${__hgbranch} -u ${__hgrev} "${__hgroot}${__hgrepo}" ${__hgrepo} pushd ${__hgrepo} if (( $(hg id -n) < $(hg id -nr ${__hgbranch}) )); then printf 'You are not building the latest revision!\n' printf "Consider updating __hgrev to $(hg id -r ${__hgbranch}).\n" fi popd mv vim ${pkgname}-${pkgver} find ${pkgname}-${pkgver} -depth -type d -name .hg -exec rm -rf {} \; rm ${pkgname}-${pkgver}/{.hgignore,.hgtags} tar -cJf ${pkgname}-${pkgver}.tar.xz ${pkgname}-${pkgver}/* rm -r ${pkgname}-${pkgver} #gpg --detach-sign --use-agent -u ${GPGKEY} ${pkgname}-${pkgver}.tar.xz } build() { # remove -O2 because there is a crash with python because of it # fedora br: https://bugzilla.redhat.com/show_bug.cgi?id=817196 export CFLAGS="${CFLAGS/-O2 /}" cd "${srcdir}" cp -a ${pkgname}-${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 # fix python name sed -i -e 's|vi_cv_path_python, python|vi_cv_path_python, python2|' \ vim-build/src/configure.in (cd vim-build/src && autoconf) cp -a vim-build gvim-build cd "${srcdir}"/vim-build ./configure --prefix=/usr --localstatedir=/var/lib/vim \ --with-features=big --with-compiledby=ArchLinux \ --enable-gpm --enable-acl --with-x=no \ --disable-gui --enable-multibyte --enable-cscope \ --disable-netbeans --enable-perlinterp --disable-pythoninterp \ --disable-python3interp --disable-rubyinterp --disable-luainterp make cd "${srcdir}"/gvim-build ./configure --prefix=/usr --localstatedir=/var/lib/vim \ --with-features=big --with-compiledby=ArchLinux \ --enable-gpm --enable-acl --with-x=yes \ --enable-gui=gtk2 --enable-multibyte --enable-cscope \ --enable-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 cd "${srcdir}"/gvim-build #make test } package_vim() { pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm') conflicts=('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 # Runtime provided by runtime package rm -r "${pkgdir}"/usr/share/vim # license install -Dm644 "${srcdir}"/vim-${pkgver}/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' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' 'lua' 'python2') provides=("vim=${pkgver}-${pkgrel}") conflicts=('vim') install=gvim.install cd "${srcdir}"/gvim-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 done # Move the runtime for later packaging mv "${pkgdir}"/usr/share/vim "${srcdir}"/runtime-install # freedesktop links install -Dm644 "${srcdir}"/gvim.desktop \ "${pkgdir}"/usr/share/applications/gvim.desktop install -Dm644 runtime/vim48x48.png "${pkgdir}"/usr/share/pixmaps/gvim.png # license install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt } package_vim-runtime() { pkgdesc='Runtime for vim and gvim' depends=('perl' 'gawk') backup=('etc/vimrc') # Install the runtime split from gvim install -dm755 "${pkgdir}"/usr/share mv "${srcdir}"/runtime-install "${pkgdir}"/usr/share/vim # Don't forget logtalk.dict install -Dm644 "${srcdir}"/gvim-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 # make Aaron happy install -Dm644 "${srcdir}"/pythoncomplete.vim \ "${pkgdir}"/usr/share/vim/${_versiondir}/autoload/pythoncomplete.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: