[arch-commits] Commit in gvim/trunk (PKGBUILD fetch_patches.sh gvim.install)

Tobias Kieslich tobias at archlinux.org
Tue May 5 03:16:33 EDT 2009


    Date: Tuesday, May 5, 2009 @ 03:16:33
  Author: tobias
Revision: 37938

upgpkg: gvim 7.2.166-1

Modified:
  gvim/trunk/PKGBUILD
  gvim/trunk/fetch_patches.sh
  gvim/trunk/gvim.install

------------------+
 PKGBUILD         |   77 +++++++++++++++++++++--------------------------------
 fetch_patches.sh |   19 ++++++++-----
 gvim.install     |   19 +++++++++++++
 3 files changed, 63 insertions(+), 52 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2009-05-05 07:14:50 UTC (rev 37937)
+++ PKGBUILD	2009-05-05 07:16:33 UTC (rev 37938)
@@ -3,81 +3,66 @@
 
 pkgname=gvim
 _srcver=7.2
-_patchlevel=65
+_patchlevel=166
 pkgver=${_srcver}.${_patchlevel}
 pkgrel=1
 pkgdesc="the vim text editor with advanced features enabled, such as a gui mode"
 arch=(i686 x86_64)
 license=('custom:vim')
 url="http://www.vim.org"
-depends=("vim>=${pkgver}" 'perl' 'python' 'ruby' 'acl' 'libxt' 'gtk2' 'desktop-file-utils')
-makedepends=('pkgconfig')
-backup=(etc/gvimrc)
-conflicts=('gvim-devel')
-provides=('gvim-devel')
+depends=("vim=${pkgver}" 'perl' 'python' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2')
+makedepends=('pkgconfig' 'sed')
 install=${pkgname}.install
 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 \
         ${pkgname}.desktop fetch_patches.sh)
-md5sums=('f0901284b338e448bfd79ccca0041254' '35e04482f07c57221c9a751aaa3b8dac' \
-         'd8884786979e0e520c112faf2e176f05' '2be104c0372dd6dae19cb7968c03cd4f' \
-         'a3b03cd44b8ed78a99850d4cbfaafe55')
 
 build()
 {
+  _versiondir="vim"$(echo ${_srcver} | sed "s/\.//")
   # patch party
   # pull in patches from vim.org (or the src cache alternatively)
-  . ${startdir}/src/fetch_patches.sh
+  . ${srcdir}/fetch_patches.sh
   get_patches || return 1
-  cd ${startdir}/src/vim$(echo ${_srcver} | sed "s/\.//")
+  cd ${srcdir}/${_versiondir}
    # define the place for the global (g)vimrc file (set to /etc/vimrc)
   sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' src/feature.h
   ./configure --prefix=/usr --localstatedir=/var/lib/vim --mandir=/usr/share/man \
     --with-compiledby=ArchLinux --with-features=big \
-    --with-x=yes --disable-gpm --with-x=yes --enable-gui=gtk2 \
-    --with-global-runtime=/usr/share/vim --with-vim-name=gvim \
+    --with-x=yes --disable-gpm --enable-gui=gtk2 \
     --enable-multibyte --enable-cscope \
     --enable-perlinterp --enable-pythoninterp --enable-rubyinterp
   make || return 1
-  # install everything first ...
-  make VIMRCLOC=/etc DESTDIR=${startdir}/pkg VIMRTDIR= install
+   # install everything first ...
+  make VIMRCLOC=/etc DESTDIR=${pkgdir} install
 
    # ... and clean up what vim already has for us
-   # move the binary and fix the (g)* related symlinks
-  find ${startdir}/pkg/usr/bin -type l 2> /dev/null | while read symlink; do
-    rm ${symlink}
-  done
-  cd ${startdir}/pkg/usr/bin
-  rm -f gvimtutor xxd
-  ln -s gvim evim
-  ln -s gvim egview
-  ln -s gvim gview
-  ln -s gvim gvimdiff
-  ln -s gvim rgview
-  ln -s gvim rgvim
+  cd ${pkgdir}/usr/bin
+  rm -f xxd ex view vimtutor vimdiff rview rvim
+  mv vim vim-big
+  # ... make g* related symlinks point directly to the actual binary
+  ln -sf vim-big eview
+  ln -sf vim-big evim
+  ln -sf vim-big gview
+  ln -sf vim-big gvim
+  ln -sf vim-big gvimdiff
+  ln -sf vim-big rgview
+  ln -sf vim-big rgvim
 
-   # 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}
-    rm -f *.1
-    ln -s evi.1.gz evim.1.gz
-    ln -s vi.1.gz egview.1.gz
-    ln -s vi.1.gz gview.1.gz
-    ln -s vi.1.gz gvim.1.gz
-    ln -s vimdiff.1.gz gvimdiff.1.gz
-    ln -s vi.1.gz rgvim.1.gz
-    ln -s vi.1.gz rgview.1.gz
+   # delete the manpages/symlinks provided by vim and (n)vi package
+  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 rvim.1 rview.1 vim.1 vimtutor.1 vimdiff.1 xxd.1  # provided by vim
   done
 
-  install -Dm644 ${startdir}/pkg/usr/share/vim/gvimrc_example.vim \
-    ${startdir}/pkg/etc/gvimrc
-   # clean all settings and controls -  served by vi package
-  rm -rf ${startdir}/pkg/usr/share/vim
+   # clean all settings and controls -  served by vim package
+  rm -rf ${pkgdir}/usr/share/vim
    # freedesktop links
-  install -D -m644 ${startdir}/src/${pkgname}.desktop \
+  install -D -m644 ${srcdir}/${pkgname}.desktop \
     ${startdir}/pkg/usr/share/applications/gvim.desktop
-  install -D -m644 ${startdir}/src/vim$(echo ${_srcver} | sed "s/\.//")/runtime/vim48x48.png \
-    ${startdir}/pkg/usr/share/pixmaps/gvim.png
+  install -D -m644 ${srcdir}/${_versiondir}/runtime/vim48x48.png \
+    ${pkgdir}/usr/share/pixmaps/gvim.png
 }

Modified: fetch_patches.sh
===================================================================
--- fetch_patches.sh	2009-05-05 07:14:50 UTC (rev 37937)
+++ fetch_patches.sh	2009-05-05 07:16:33 UTC (rev 37938)
@@ -1,8 +1,8 @@
 # the external logic for pulling in patches
 
 get_patches() {
-  _patchdir=${startdir}/src/patches
-  cd ${startdir}/src/vim$(echo ${_srcver} | sed "s/\.//")
+  _patchdir=${srcdir}/patches
+  cd ${srcdir}/vim$(echo ${_srcver} | sed "s/\.//")
   if [ -d ${_patchdir} ]; then
     rm -rf ${_patchdir}
     echo -e "\tremove patches from old build"
@@ -19,9 +19,10 @@
 
   downloads=0
   for _line in $(/bin/cat MD5SUMS); do
+    _file=$(echo $_line | cut -d ' ' -f3)
+    [ ${_file##*.} == "gz" ] && continue
     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} ./
@@ -46,13 +47,19 @@
   ########
 
   if [ ${downloads} != ${_patchlevel} ]; then
-    echo -e "Number of patches does not match the patchlevel!\nEdit the PKGBUILD accordingly!"
-    return 1
+    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 "${downloads} as pkgrel number!"
+    echo ""
+    sleep 10
   fi
   IFS=$_OLDIFS
   rm MD5SUMS
   cd ${startdir}/src/vim$(echo ${_srcver} | sed "s/\.//")
-  for _patch in $(/bin/ls ${_patchdir}); do
+  for _patchnum in $(/usr/bin/seq 1 ${_patchlevel}); do
+    _patch=${_srcver}.$(printf "%03d" ${_patchnum})
     patch -Np0 -i ${_patchdir}/${_patch} || return 1
   done
   rm -rf ${_patchdir}

Modified: gvim.install
===================================================================
--- gvim.install	2009-05-05 07:14:50 UTC (rev 37937)
+++ gvim.install	2009-05-05 07:16:33 UTC (rev 37938)
@@ -1,4 +1,11 @@
 post_install() {
+
+  echo "Create gvim related symlinks..."
+  cd usr/bin
+  rm -f vim
+  ln -sf vim-big vim
+  cd ${OLDPWD}
+
   echo "Updating desktop and mime database..."
   update-desktop-database -q
   echo -n "Updating vim help tags..."
@@ -12,6 +19,18 @@
 }
 
 post_remove() {
+  # we recover what pacmans database knows about gvim
+  # is vim installed and well?
+  if [ -f usr/bin/vim-normal ] ; then
+    cd usr/bin
+    rm -f vim
+    ln -sf vim-normal vim
+    cd ${OLDPWD}
+    echo "Recover vim related symlinks ..."
+  else
+    # Should never be the case because gvim depends on vim
+    rm -f usr/bin/vim
+  fi
   echo -n "Updating desktop and mime database..."
   update-desktop-database
   echo "done."



More information about the arch-commits mailing list