summaryrefslogtreecommitdiffstats
path: root/vim/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'vim/PKGBUILD')
-rw-r--r--vim/PKGBUILD242
1 files changed, 180 insertions, 62 deletions
diff --git a/vim/PKGBUILD b/vim/PKGBUILD
index 746c917..716a50a 100644
--- a/vim/PKGBUILD
+++ b/vim/PKGBUILD
@@ -1,77 +1,195 @@
-# $Id: PKGBUILD 68412 2010-02-12 20:04:30Z dgriffiths $
+# 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=359
-pkgver=${_srcver}.${_patchlevel}
+pkgbase=vim
+pkgname=(vim gvim vim-runtime)
+pkgver=7.2
+__hgrev=e12b9d992389
pkgrel=1
-pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor'
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('custom:vim')
url="http://www.vim.org"
-depends=('gpm' 'coreutils' 'perl')
-makedepends=('wget' 'sed' 'grep' 'gettext')
-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 fetch_runtime.sh vimrc archlinux.vim)
-md5sums=('f0901284b338e448bfd79ccca0041254' '35e04482f07c57221c9a751aaa3b8dac' \
- 'd8884786979e0e520c112faf2e176f05' '6d7e8d7868e8bfaa9a5880cd9c439320' \
- '45c1c3c6aff7de0d8fc2a9d8cd5cec7d' '3f42c68545b5b1afb2e9a5b2731ef063' \
- '10353a61aadc3f276692d0e17db1478e')
-
-build()
-{
- _versiondir="vim"$(echo ${_srcver} | sed "s/\.//")
- # pull in patches from vim.org (or the src cache alternatively)
- . ${srcdir}/fetch_patches.sh
- . ${srcdir}/fetch_runtime.sh
- get_patches || return 1
-
- cd ${srcdir}/${_versiondir}
- sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' src/feature.h
- sed -i 's|^.*\(#define 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 \
- --enable-gpm --enable-acl --with-x=no --disable-gui \
- --enable-multibyte --enable-cscope \
- --enable-perlinterp
- #--with-global-runtime=/usr/share/vim --with-vim-name=vim \
+makedepends=('gpm' 'perl' 'python' '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 xz.patch)
+md5sums=('6e7adfbd5d26c1d161030ec203a7f243' 'e57777374891063b9ca48a1fe392ac05'
+ '10353a61aadc3f276692d0e17db1478e' '2be104c0372dd6dae19cb7968c03cd4f'
+ '634bea72f47b608634419724a12b2505')
+
+__hgroot='http://vim.googlecode.com/hg/'
+__hgrepo='vim'
+__hgbranch='default'
+
+_versiondir="vim${pkgver//./}"
+
+##### 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} || return 1
+ else
+ hg clone -b ${__hgbranch} -u ${__hgrev} "${__hgroot}${__hgrepo}" ${__hgrepo} || return 1
+ 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 || return 1
+
+ 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 || return 1
+ sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \
+ vim-build/src/feature.h || return 1
+
+ msg2 'Building...'
+
+ cp -a vim-build gvim-build || return 1
+
+ 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 || return 1
+
+ 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 || return 1
+
make || return 1
- make VIMRCLOC=/etc DESTDIR=${pkgdir} install
- cd ${pkgdir}/usr/bin
- rm ex view # provided by (n)vi in core
- mv vim vim-normal # we create a vim-symlink on post_install
- ln -sf vim-normal vim
- # ... make g* related symlinks point directly to the actual binary
- ln -sf vim-normal rview
- ln -sf vim-normal rvim
- ln -sf vim-normal vimdiff
+}
+
+##### 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 || return 1
+
+ # 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 in the console version
+ 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
+
+ # 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' 'python' '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 || return 1
+
+ # 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 || return 1
+
# fix FS#17216
sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \
${pkgdir}/usr/share/vim/vim72/filetype.vim
- _runtimedir="${pkgdir}/usr/share/vim/${_versiondir}/"
- update_runtime
- cd ${srcdir}/${_versiondir}
- install -Dm644 ${srcdir}/vimrc ${pkgdir}/etc/vimrc
- install -Dm644 ${srcdir}/archlinux.vim \
- ${pkgdir}/usr/share/vim/vimfiles/archlinux.vim
- install -dm755 ${pkgdir}/usr/share/licenses/vim
- cd ${pkgdir}/usr/share/licenses/vim
- ln -s ../../vim/${_versiondir}/doc/uganda.txt license.txt
+ # 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 runtime for better support of .*.xz files
+ cd ${pkgdir}/usr/share/vim
+ patch -p0 < ${srcdir}/xz.patch || return 1
+
+ # 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
}
+
+# vim:set sw=2 sts=2 et: