diff options
| author | James Meyer <james.meyer@operamail.com> | 2008-11-09 02:04:02 (GMT) | 
|---|---|---|
| committer | James Meyer <james.meyer@operamail.com> | 2008-11-09 02:04:02 (GMT) | 
| commit | f8fbe0bba89f5f47eb8f9bdc00cc90206a52022f (patch) | |
| tree | 7a88ae164e38693d54f860141f11583304e2d20d | |
| parent | 83ce0340f07948bb4e4ae4b8557984cfc7ee3afc (diff) | |
| download | linhes_pkgbuild-f8fbe0bba89f5f47eb8f9bdc00cc90206a52022f.zip linhes_pkgbuild-f8fbe0bba89f5f47eb8f9bdc00cc90206a52022f.tar.gz linhes_pkgbuild-f8fbe0bba89f5f47eb8f9bdc00cc90206a52022f.tar.bz2 | |
vim to 7.2
| -rw-r--r-- | abs/extra-testing/vim/PKGBUILD | 63 | ||||
| -rw-r--r-- | abs/extra-testing/vim/fetch_patches.sh | 60 | ||||
| -rw-r--r-- | abs/extra-testing/vim/vim.install | 38 | 
3 files changed, 161 insertions, 0 deletions
| diff --git a/abs/extra-testing/vim/PKGBUILD b/abs/extra-testing/vim/PKGBUILD new file mode 100644 index 0000000..ba20f79 --- /dev/null +++ b/abs/extra-testing/vim/PKGBUILD @@ -0,0 +1,63 @@ +# $Id: PKGBUILD 17696 2008-10-31 17:28:10Z allan $ +# Maintainer: tobias [ tobias at archlinux org ] + +pkgname=vim +_srcver=7.2 +_patchlevel=30 +pkgver=${_srcver}.${_patchlevel} +pkgrel=1.2 +pkgdesc="a highly configurable, improved version of the vi text editor" +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) +md5sums=('f0901284b338e448bfd79ccca0041254' '35e04482f07c57221c9a751aaa3b8dac' \ +         'd8884786979e0e520c112faf2e176f05' 'a3b03cd44b8ed78a99850d4cbfaafe55') + +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 +  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 +} diff --git a/abs/extra-testing/vim/fetch_patches.sh b/abs/extra-testing/vim/fetch_patches.sh new file mode 100644 index 0000000..03e16e2 --- /dev/null +++ b/abs/extra-testing/vim/fetch_patches.sh @@ -0,0 +1,60 @@ +# the external logic for pulling in patches + +get_patches() { +  _patchdir=${startdir}/src/patches +  cd ${startdir}/src/vim$(echo ${_srcver} | sed "s/\.//") +  if [ -d ${_patchdir} ]; then +    rm -rf ${_patchdir} +    echo -e "\tremove patches from old build" +  fi +  mkdir ${_patchdir} && cd ${_patchdir} +  _rpath=ftp://ftp.vim.org/pub/vim/patches/${_srcver} + +  # change IFS to loop line-by-line +  _OLDIFS=$IFS +  IFS=" +" +  echo -e "\tfetching checksumfile for patches" +  wget ${_rpath}/MD5SUMS >/dev/null 2>&1 + +  downloads=0 +  for _line in $(/bin/cat MD5SUMS); do +    downloads=$((${downloads} + 1)) +    _md5=$(echo $_line | cut -d ' ' -f1) +    _file=$(echo $_line | cut -d ' ' -f3) +    if [ -f ${SRCDEST}/vim-${_srcver}/${_file} ]; then +      echo -e "\thaving patch file:${_file}" +      cp ${SRCDEST}/vim-${_srcver}/${_file} ./ +    else +      echo -n -e "\t... fetching patch file: ${_file} ..." +      wget ${_rpath}/${_file} >/dev/null 2>&1 +      if [ -w ${SRCDEST} ]; then +        if [ ! -d ${SRCDEST}/vim-${_srcver} ]; then +          mkdir -p ${SRCDEST}/vim-${_srcver} +        fi +        cp ${_file} ${SRCDEST}/vim-${_srcver}/ +        echo " done!" +      fi +    fi + +    if [ $(echo "${_md5}  ${_file}" | md5sum --status -c -) ]; then +      echo ${_file} md5sums do not match +      return 1 +    fi +  done + +  ######## + +  if [ ${downloads} != ${_patchlevel} ]; then +    echo -e "Number of patches does not match the patchlevel!\nEdit the PKGBUILD accordingly!" +    return 1 +  fi +  IFS=$_OLDIFS +  rm MD5SUMS +  cd ${startdir}/src/vim$(echo ${_srcver} | sed "s/\.//") +  for _patch in $(/bin/ls ${_patchdir}); do +    patch -Np0 -i ${_patchdir}/${_patch} || return 1 +  done +  rm -rf ${_patchdir} +  return 0 +} diff --git a/abs/extra-testing/vim/vim.install b/abs/extra-testing/vim/vim.install new file mode 100644 index 0000000..1d46e19 --- /dev/null +++ b/abs/extra-testing/vim/vim.install @@ -0,0 +1,38 @@ +post_install() { +  # if we have an existing gvim installation - relocate binaries and symlinks +  if [ -f usr/bin/vim ] ; then +    cd usr/bin +    rm -f view rview +    ln -s vim view +    ln -s vim rview +    cd ${OLDPWD} +    echo "Create vim related symlinks..." +  fi +  echo -n "Updating vim help tags..." +  usr/bin/vim --noplugins -u NONE -U NONE \ +    --cmd ":helptags usr/share/vim/doc" --cmd ":q" > /dev/null 2>&1 +  echo "done." +} + +pre_remove() { +  cd usr/bin +  rm -f view rview +  if [ -f usr/bin/vi ] ; then +    ln -s vi view +    ln -s vi rview +    echo "Create vi related symlinks..." +  fi +  cd ${OLDPWD} +} + +post_upgrade() { +  post_install $1 +} + +pre_upgrade() { +  pre_remove $2 +} + +op=$1 +shift +[ "$(type -t "$op")" = "function" ] && $op "$@" | 
