Date: Friday, May 14, 2010 @ 18:51:49 Author: dgriffiths Revision: 80281
Modified: vim/trunk/PKGBUILD ----------+ PKGBUILD | 287 ++++++++++++++++++++++++++----------------------------------- 1 file changed, 126 insertions(+), 161 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-05-14 22:28:27 UTC (rev 80280) +++ PKGBUILD 2010-05-14 22:51:49 UTC (rev 80281) @@ -1,214 +1,179 @@ -# Contributor: Jan "heftig" Steffens <[email protected]> +# Contributor: Jan "heftig" Steffens <[email protected]> # Maintainer: tobias [ tobias at archlinux org ] # Maintainer: Daniel J Griffiths <[email protected]> -pkgbase=('vim') -pkgname=('vim' 'gvim' 'vim-runtime') +pkgbase=vim +pkgname=(vim gvim vim-runtime) _srcver=7.2 -_patchlevel=411 -pkgver=${_srcver}.${_patchlevel} -pkgrel=3 +__hgrev=2150 +pkgver=${_srcver}.${__hgrev} +pkgrel=1 arch=('i686' 'x86_64') license=('custom:vim') url="http://www.vim.org" -makedepends=('gpm' 'coreutils' 'perl' 'python' 'ruby' 'libxt' \ - 'desktop-file-utils' 'gtk2' 'wget' 'sed' 'grep' \ - 'gettext' 'curl' 'rsync' 'pkgconfig') -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 \ - pythoncomplete.vim::http://www.vim.org/scripts/download_script.php\?src_id=10872 \ - vimrc archlinux.vim gvim.desktop) -md5sums=('f0901284b338e448bfd79ccca0041254' '35e04482f07c57221c9a751aaa3b8dac' - 'd8884786979e0e520c112faf2e176f05' '6e7adfbd5d26c1d161030ec203a7f243' - 'e57777374891063b9ca48a1fe392ac05' '10353a61aadc3f276692d0e17db1478e' - '2be104c0372dd6dae19cb7968c03cd4f') +makedepends=('gpm' 'perl' 'python' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' + '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' '2be104c0372dd6dae19cb7968c03cd4f') -_versiondir="vim$(echo ${_srcver} | sed "s/\.//")" +__hgroot='http://vim.googlecode.com/hg/' +__hgrepo='vim' +_versiondir="vim${_srcver//./}" + ##### Build ##### -_get_patches() { - curl ftp://ftp.vim.org/pub/vim/patches/${_srcver}/MD5SUMS | sed -e '/.gz$/d' > MD5SUMS - _currpatch=$(cat MD5SUMS | wc -l) +build() { + cd ${srcdir} - rsync -avzcP --exclude '*.gz' "ftp.nluug.nl::Vim/patches/${_srcver}/${_srcver}.*" . - md5sum -c MD5SUMS > /dev/null || return 1 + msg2 'Checking out source from Mercurial...' - > vim.full.patch.log - for _file in $(cat MD5SUMS | awk '{ print $2 }'); do - patch -d ${_versiondir} -p0 < ${_file} >> vim.full.patch.log || return 1 - done + if [[ -d ${__hgrepo} ]]; then + ( cd ${__hgrepo}; hg pull; hg update -r ${__hgrev}) || return 1 + else + hg clone -u ${__hgrev} "${__hgroot}${__hgrepo}" ${__hgrepo} || return 1 + fi - if [ ${_patchlevel} -lt ${_currpatch} ]; then - echo '' - echo -e '\t\tWARNING!' - echo 'You are not building the latest available version! A newer patchlevel' - echo 'seems to be available. Please edit the PKGBUILD and add the latest' - echo "${_currpatch} as pkgrel number!" - echo '' - sleep 10 - fi - return 0 -} + rm -rf vim-build gvim-build + rsync -a --exclude='.hg/' ${__hgrepo}/ vim-build || return 1 -_get_runtime() { - # Get a copy of the runtime from the archive if we don't already have one - if [ ! -d runtime ]; then - cp -r "${_versiondir}/runtime" . || return 1 - fi + msg2 'Patching...' - # Update our runtime to the newest version - # --delete assures we won't overwrite any non-runtime files - # with old, cached versions in the next step - rsync -avzcP --delete --exclude 'dos' --exclude 'spell' \ - 'ftp.nluug.nl::Vim/runtime/' "${srcdir}/runtime" || return 1 + # 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 || return 1 + sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \ + vim-build/src/feature.h || return 1 - # Install our new runtime into the source - cp -r runtime "${_versiondir}" -} + msg2 'Building...' -build() { - cd ${srcdir} + cp -a vim-build gvim-build || return 1 - # pull in patches from vim.org - _get_patches || return 1 + cd ${srcdir}/vim-build - # pull in runtime from vim.org - _get_runtime || return 1 + ./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 || return 1 - # define the place for the global (g)vimrc file (set to /etc/vimrc) - sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' \ - "${_versiondir}/src/feature.h" || return 1 - sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \ - "${_versiondir}/src/feature.h" || return 1 + make || return 1 - # build party - rm -rf vim-build gvim-build - mv ${_versiondir} vim-build - cp -r vim-build gvim-build + cd ${srcdir}/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=yes \ + --enable-gui=gtk2 --enable-multibyte --enable-cscope \ + --enable-netbeans --enable-perlinterp --enable-pythoninterp \ + --enable-rubyinterp || return 1 - ./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 || return 1 - - 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 || return 1 + make || return 1 } ##### Packaging ##### package_vim() { - pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' - depends=("vim-runtime=${pkgver}" 'gpm' 'coreutils' 'perl') - conflicts=('gvim') + pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' + depends=("vim-runtime=${pkgver}" 'gpm' 'perl') + conflicts=('gvim') - cd ${srcdir}/vim-build - make -j1 VIMRCLOC=/etc DESTDIR=${pkgdir} install || return 1 + cd ${srcdir}/vim-build + make -j1 VIMRCLOC=/etc DESTDIR=${pkgdir} install || return 1 - # provided by (n)vi in core - rm ${pkgdir}/usr/bin/{ex,view} + # 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 + # 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 + # 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 + # 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}" 'gpm' 'coreutils' 'perl' - 'python' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2') - provides=("vim=${pkgver}") - conflicts=('vim') - install=gvim.install + pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with advanced features, such as a GUI)' + depends=("vim-runtime=${pkgver}" 'gpm' 'perl' 'python' 'ruby' 'libxt' + 'desktop-file-utils' 'gtk2') + provides=("vim=${pkgver}") + conflicts=('vim') + install=gvim.install - cd ${srcdir}/gvim-build - make -j1 VIMRCLOC=/etc DESTDIR=${pkgdir} install || return 1 + cd ${srcdir}/gvim-build + make -j1 VIMRCLOC=/etc DESTDIR=${pkgdir} install || return 1 - # provided by (n)vi in core - rm ${pkgdir}/usr/bin/{ex,view} + # 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 + # 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 + # 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 + # 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 + # 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) + 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 + # 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 || return 1 + # Don't forget logtalk.dict + install -Dm644 ${srcdir}/gvim-build/runtime/ftplugin/logtalk.dict \ + ${pkgdir}/usr/share/vim/${_versiondir}/ftplugin/logtalk.dict || return 1 - # fix FS#17216 - sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \ - ${pkgdir}/usr/share/vim/vim72/filetype.vim + # fix FS#17216 + sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \ + ${pkgdir}/usr/share/vim/vim72/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/vim72/filetype.vim - sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \ - ${pkgdir}/usr/share/vim/vim72/ftplugin/changelog.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/vim72/filetype.vim + sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \ + ${pkgdir}/usr/share/vim/vim72/ftplugin/changelog.vim - # make Aaron happy - install -Dm644 ${srcdir}/pythoncomplete.vim \ - ${pkgdir}/usr/share/vim/vim72/autoload/pythoncomplete.vim - - # rc files - install -Dm644 ${srcdir}/vimrc ${pkgdir}/etc/vimrc - install -Dm644 ${srcdir}/archlinux.vim \ - ${pkgdir}/usr/share/vim/vimfiles/archlinux.vim + # make Aaron happy + install -Dm644 ${srcdir}/pythoncomplete.vim \ + ${pkgdir}/usr/share/vim/vim72/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 + # 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:
