# # Chakra Packages for Chakra, part of chakra-project.org # # maintainer (x86_64): Daniele Cocca # include global config source ../_buildscripts/${current_repo}-${_arch}-cfg.conf pkgbase=vim pkgname=(vim gvim vim-runtime) _topver=7.3 _patchlevel=515 pkgver=${_topver}.${_patchlevel} __hgrev=ea399ac2c1b9 pkgrel=3 arch=('i686' 'x86_64') license=('custom:vim') url="http://www.vim.org" makedepends=('gpm' 'perl' 'python2>=2.7.1' 'ruby' 'libxt' 'libxext' 'libxpm' 'libxmu' 'desktop-file-utils' 'lesstif' 'gettext' 'pkgconfig' 'mercurial' 'rsync' 'sed') source=(pythoncomplete.vim::http://www.vim.org/scripts/download_script.php\?src_id=10872 vimrc archlinux.vim gvim.desktop) md5sums=('6e7adfbd5d26c1d161030ec203a7f243' 'e57777374891063b9ca48a1fe392ac05' '10353a61aadc3f276692d0e17db1478e' '4b83e5fe0e534c53daaba91dd1cd4cbb') __hgroot='http://vim.googlecode.com/hg/' __hgrepo='vim' __hgbranch='default' _versiondir="vim${_topver//./}" ##### Build ##### build() { cd "${srcdir}" msg2 'Checking out source from Mercurial...' if [ -d "${__hgrepo}" ]; then cd "${__hgrepo}" hg pull -b "${__hgbranch}" || warning 'hg pull failed!' hg update -r "${__hgrev}" else hg clone -b "${__hgbranch}" -u "${__hgrev}" "${__hgroot}${__hgrepo}" "${__hgrepo}" cd "${__hgrepo}" fi if (( $(hg id -n) < $(hg id -nr ${__hgbranch}) )); then warning 'You are not building the latest revision!' warning "Consider updating __hgrev to $(hg id -r ${__hgbranch})." sleep 10 fi cd .. rm -rf vim-build gvim-build rsync -a --exclude='.hg/' ${__hgrepo}/ vim-build msg2 'Patching...' # 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) msg2 'Building...' cp -a vim-build gvim-build cd "${srcdir}/vim-build" ./configure --prefix=/usr --localstatedir=/var/lib/vim \ --mandir=/usr/share/man --with-compiledby=Chakra \ --with-features=big --enable-gpm --enable-acl --with-x=no \ --disable-gui --enable-multibyte --enable-cscope \ --disable-netbeans --enable-perlinterp --disable-pythoninterp \ --disable-rubyinterp make cd ${srcdir}/gvim-build ./configure --prefix=/usr --localstatedir=/var/lib/vim \ --mandir=/usr/share/man --with-compiledby=Chakra \ --with-features=big --enable-gpm --enable-acl --with-x=yes \ --enable-gui=motif --enable-multibyte --enable-cscope \ --enable-netbeans --enable-perlinterp --enable-pythoninterp \ --enable-rubyinterp make } ##### Packaging ##### package_vim() { pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor.' depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'perl') 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 -dm755 "${pkgdir}/usr/share/licenses/vim" ln -s "/usr/share/vim/${_versiondir}/doc/uganda.txt" \ "${pkgdir}/usr/share/licenses/vim/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' 'perl' 'python2>=2.7.1' 'ruby' 'libxt' 'libxext' 'libxpm' 'libxmu' 'desktop-file-utils' 'lesstif') 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 -dm755 "${pkgdir}/usr/share/licenses/gvim" ln -s "/usr/share/vim/${_versiondir}/doc/uganda.txt" \ "${pkgdir}/usr/share/licenses/gvim/license.txt" } package_vim-runtime() { pkgdesc='Runtime for vim and gvim.' 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" # 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: