diff options
Diffstat (limited to 'abs/extra/vim/PKGBUILD')
-rw-r--r-- | abs/extra/vim/PKGBUILD | 256 |
1 files changed, 197 insertions, 59 deletions
diff --git a/abs/extra/vim/PKGBUILD b/abs/extra/vim/PKGBUILD index 7e3db29..ab6d010 100644 --- a/abs/extra/vim/PKGBUILD +++ b/abs/extra/vim/PKGBUILD @@ -1,66 +1,204 @@ -# $Id: PKGBUILD 17696 2008-10-31 17:28:10Z allan $ +# $Id: PKGBUILD 89882 2010-09-04 16:50:25Z ibiru $ +# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> # Maintainer: tobias [ tobias at archlinux org ] +# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us> -pkgname=vim -_srcver=7.2 -_patchlevel=132 -pkgver=${_srcver}.${_patchlevel} -pkgrel=1.5 -pkgdesc="a highly configurable, improved version of the vi text editor" -arch=(i686 x86_64) +pkgbase=vim +pkgname=(vim gvim vim-runtime) +_topver=7.3 +_patchlevel=3 +pkgver=${_topver}.${_patchlevel} +__hgrev=073ff46fe3 +pkgrel=2 +arch=('i686' 'x86_64') license=('custom:vim') url="http://www.vim.org" -depends=("vi>=${pkgver}" 'perl' 'python' 'acl' 'gpm>=1.20.4' 'libxt') -makedepends=('wget' 'sed' 'grep') -backup=(etc/vimrc) -install=${pkgname}.install -# we need the extra-stuff to get all patches applied smoothly -source=(ftp://ftp.vim.org/pub/vim/unix/vim-${_srcver}.tar.bz2 \ - ftp://ftp.vim.org/pub/vim/extra/vim-${_srcver}-extra.tar.gz \ - ftp://ftp.vim.org/pub/vim/extra/vim-${_srcver}-lang.tar.gz \ - fetch_patches.sh) - -build() -{ - # pull in patches from vim.org (or the src cache alternatively) - . ${startdir}/src/fetch_patches.sh - get_patches || return 1 - cd ${startdir}/src/vim$(echo ${_srcver} | sed "s/\.//") - sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' src/feature.h - # build party - ./configure --prefix=/usr --localstatedir=/var/lib/vim --mandir=/usr/share/man \ - --with-compiledby=ArchLinux --with-features=big \ - --with-x=yes --disable-gui \ - --with-global-runtime=/usr/share/vim --with-vim-name=vim \ - --enable-multibyte --enable-cscope \ - --enable-perlinterp --enable-pythoninterp - make || return 1 - make VIMRCLOC=/etc DESTDIR=${startdir}/pkg VIMRTDIR= install - cd ${startdir}/pkg/usr/bin - rm -f ex view rview xxd vimtutor - ln -s vitutor vimtutor - - # delete the manpages/symlinks provided by vi package - find ${startdir}/pkg/usr/share/man -type d -name 'man1' 2> /dev/null | \ - while read mandir; do - cd ${mandir} - mv vimdiff.1 vimdiff.org - rm -f *.1 - ln -s rvi.1.gz rvim.1.gz - ln -s vi.1.gz vim.1.gz - ln -s vitutor.1.gz vimtutor.1.gz - mv vimdiff.org vimdiff.1 +makedepends=('gpm' 'perl' 'python2' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' + 'gettext' 'pkgconfig' 'mercurial' 'rsync' 'sed') +options=(force) +source=(pythoncomplete.vim::http://www.vim.org/scripts/download_script.php\?src_id=10872 + vimrc archlinux.vim gvim.desktop) +md5sums=('6e7adfbd5d26c1d161030ec203a7f243' + 'e57777374891063b9ca48a1fe392ac05' + '10353a61aadc3f276692d0e17db1478e' + '2be104c0372dd6dae19cb7968c03cd4f') + +__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=ArchLinux \ + --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=ArchLinux \ + --with-features=big --enable-gpm --enable-acl --with-x=yes \ + --enable-gui=gtk2 --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 - # kill the nobackup parts - sed -i '/vms/,+4 d' ${startdir}/pkg/usr/share/vim/vimrc_example.vim - install -Dm644 ${startdir}/pkg/usr/share/vim/vimrc_example.vim \ - ${startdir}/pkg/etc/vimrc - # clean all settings and controls - served by vi package - rm -rf ${startdir}/pkg/usr/share/vim - -# Changes to remove mouse support VERY IMPORTANT! -############################################################## - sed -i "s/mouse=a/mouse-=a/g" $startdir/pkg/etc/vimrc -################################################################# + # 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' 'ruby' 'libxt' + 'desktop-file-utils' 'gtk2') + 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: +md5sums=('6e7adfbd5d26c1d161030ec203a7f243' + '4ebb9bafd2e31542daff1ed17e327758' + '10353a61aadc3f276692d0e17db1478e' + '2be104c0372dd6dae19cb7968c03cd4f') + |