From 1090ea930b871de2db27cd08b59673d766c0cb01 Mon Sep 17 00:00:00 2001 From: James Meyer Date: Fri, 5 Nov 2010 16:01:04 +0000 Subject: vim & gvim: update to 7.3 ref #647 --- abs/extra/vim/Adding | 0 abs/extra/vim/Computing | 0 abs/extra/vim/Creating | 0 abs/extra/vim/Extracting | 0 abs/extra/vim/PKGBUILD | 256 +++++++++++++++++++++++++++++++---------- abs/extra/vim/Removing | 0 abs/extra/vim/__changelog | 4 + abs/extra/vim/archlinux.vim | 26 +++++ abs/extra/vim/fetch_patches.sh | 61 ---------- abs/extra/vim/gvim.desktop | 42 +++++++ abs/extra/vim/gvim.install | 13 +++ abs/extra/vim/vim.install | 38 ------ abs/extra/vim/vimrc | 16 +++ 13 files changed, 298 insertions(+), 158 deletions(-) create mode 100644 abs/extra/vim/Adding create mode 100644 abs/extra/vim/Computing create mode 100644 abs/extra/vim/Creating create mode 100644 abs/extra/vim/Extracting create mode 100644 abs/extra/vim/Removing create mode 100644 abs/extra/vim/archlinux.vim delete mode 100644 abs/extra/vim/fetch_patches.sh create mode 100644 abs/extra/vim/gvim.desktop create mode 100644 abs/extra/vim/gvim.install delete mode 100644 abs/extra/vim/vim.install create mode 100644 abs/extra/vim/vimrc diff --git a/abs/extra/vim/Adding b/abs/extra/vim/Adding new file mode 100644 index 0000000..e69de29 diff --git a/abs/extra/vim/Computing b/abs/extra/vim/Computing new file mode 100644 index 0000000..e69de29 diff --git a/abs/extra/vim/Creating b/abs/extra/vim/Creating new file mode 100644 index 0000000..e69de29 diff --git a/abs/extra/vim/Extracting b/abs/extra/vim/Extracting new file mode 100644 index 0000000..e69de29 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 # Maintainer: tobias [ tobias at archlinux org ] +# Maintainer: Daniel J Griffiths -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') + diff --git a/abs/extra/vim/Removing b/abs/extra/vim/Removing new file mode 100644 index 0000000..e69de29 diff --git a/abs/extra/vim/__changelog b/abs/extra/vim/__changelog index 47cbb5f..4cce0eb 100644 --- a/abs/extra/vim/__changelog +++ b/abs/extra/vim/__changelog @@ -1,3 +1,7 @@ Remove mouse support from /etc/vimrc. This new found ability is truely annoying. +# Changes to remove mouse support VERY IMPORTANT! +############################################################## + sed -i "s/mouse=a/mouse-=a/g" $startdir/pkg/etc/vimrc +################################################################# diff --git a/abs/extra/vim/archlinux.vim b/abs/extra/vim/archlinux.vim new file mode 100644 index 0000000..148bb93 --- /dev/null +++ b/abs/extra/vim/archlinux.vim @@ -0,0 +1,26 @@ +" The ArchLinux global vimrc - setting only a few sane defaults +" +" Maintainer: Tobias Kieslich [tobias funnychar archlinux dot org] +" +" NEVER EDIT THIS FILE, IT'S OVERWRITTEN UPON UPGRADES, GLOBAL CONFIGURATION +" SHALL BE DONE IN /etc/vimrc, USER SPECIFIC CONFIGURATION IN ~/.vimrc + +" Normally we use vim-extensions. If you want true vi-compatibility +" remove change the following statements +set nocompatible " Use Vim defaults instead of 100% vi compatibility +set backspace=indent,eol,start " more powerful backspacing + +" Now we set some defaults for the editor +set history=50 " keep 50 lines of command line history +set ruler " show the cursor position all the time + +" Suffixes that get lower priority when doing tab completion for filenames. +" These are files we are not likely to want to edit or read. +set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc + + +if has('gui_running') + " Make shift-insert work like in Xterm + map + map! +endif diff --git a/abs/extra/vim/fetch_patches.sh b/abs/extra/vim/fetch_patches.sh deleted file mode 100644 index 2ce1019..0000000 --- a/abs/extra/vim/fetch_patches.sh +++ /dev/null @@ -1,61 +0,0 @@ -# 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=-1 - 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 - cd $startdir/src/patches - rm 7.2.001-100.gz - ######## - - 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/vim/gvim.desktop b/abs/extra/vim/gvim.desktop new file mode 100644 index 0000000..8c99660 --- /dev/null +++ b/abs/extra/vim/gvim.desktop @@ -0,0 +1,42 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Name=gVim +Name[eo]=VIM-fasado +Name[sv]=gVim +Name[xx]=xx +Comment=GTK2 enhanced vim text editor +Comment[ar]=محرر نصوص +Comment[bg]=Текст Редактор +Comment[de]=Texteditor +Comment[el]=Διορθωτής Κειμένου +Comment[eo]=Tekstredaktilo +Comment[et]=Tekstiredaktor +Comment[eu]=Testu Editorea +Comment[fi]=Tekstieditori +Comment[he]=עורך טקסט +Comment[is]=Textaritill +Comment[ja]=テキストエディタ +Comment[lt]=Teksto redaktorius +Comment[mt]=Editur tat-test +Comment[pt_BR]=Editor de Texto +Comment[ro]=Editor de text +Comment[ru]=редактор +Comment[sk]=Textový editor +Comment[sl]=Urejevalnik besedil +Comment[ta]=¯¨Ã ¦¾¡ÌôÀ¡Ç÷ +Comment[tr]=Metin Düzenleyici +Comment[uk]=Редактор текстів +Comment[vi]=Trình soạn văn bản +Comment[xx]=xx +Comment[zh_CN]=文本编辑器 +Comment[zh_TW]=文字編輯器 +GenericName=Text Editor +Type=Application +TryExec=gvim +Exec=gvim +Icon=gvim +Terminal=false +X-MultipleArgs=false +Categories=GTK;Application;Utility;TextEditor; +MimeType=application/mathml+xml;application/xhtml+xml;application/x-perl;application/x-python;application/x-shellscript;audio/x-mpegurl;audio/x-scpls;image/svg+xml;message/news;message/rfc822;text/calendar;text/css;text/english;text/html;text/mrml;text/plain;text/rdf;text/rss;text/rtf;text/sgml;text/vnd.wap.wml;text/x-adasrc;text/x-bibtex;text/x-chdr;text/x-c++hdr;text/x-csrc;text/x-c++src;text/x-c;text/x-objc;text/x-csv;text/x-diff;text/x-java;text/x-katefilelist;text/x-latex;text/x-log;text/x-lyx;text/x-makefile;text/xmcd;text/xml;text/x-moc;text/x-mswinurl;text/x-objcsrc;text/x-pascal;text/x-perl;text/x-php;text/x-php-source;text/x-python;text/x-tcl;text/x-tex;text/x-vcalendar;text/x-vcard;text/x-xslfo;text/x-xslt; diff --git a/abs/extra/vim/gvim.install b/abs/extra/vim/gvim.install new file mode 100644 index 0000000..0a8d3b0 --- /dev/null +++ b/abs/extra/vim/gvim.install @@ -0,0 +1,13 @@ +post_install() { + echo -n "Updating desktop and mime database..." + update-desktop-database -q + echo "done." +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/abs/extra/vim/vim.install b/abs/extra/vim/vim.install deleted file mode 100644 index 1d46e19..0000000 --- a/abs/extra/vim/vim.install +++ /dev/null @@ -1,38 +0,0 @@ -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 "$@" diff --git a/abs/extra/vim/vimrc b/abs/extra/vim/vimrc new file mode 100644 index 0000000..9b4eaac --- /dev/null +++ b/abs/extra/vim/vimrc @@ -0,0 +1,16 @@ +" All system-wide defaults are set in $VIMRUNTIME/archlinux.vim (usually just +" /usr/share/vim/vimfiles/archlinux.vim) and sourced by the call to :runtime +" you can find below. If you wish to change any of those settings, you should +" do it in this file (/etc/vimrc), since archlinux.vim will be overwritten +" everytime an upgrade of the vim packages is performed. It is recommended to +" make changes after sourcing archlinux.vim since it alters the value of the +" 'compatible' option. + +" This line should not be removed as it ensures that various options are +" properly set to work with the Vim-related packages. +runtime! archlinux.vim +set mouse-=a +" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim' +" Or better yet, read /usr/share/vim/vim72/vimrc_example.vim or the vim manual +" and configure vim to your own liking! + -- cgit v0.12