core/vim/PKGBUILD
Daniele b7939c2c9e Updating vim to 7.3.744.
Also, dropping the lesstif dependency in favor of motif.
2012-12-04 13:56:34 +00:00

206 lines
6.4 KiB
Bash

#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (x86_64): Daniele Cocca <jmc@chakra-project.org>
# include global config
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
pkgbase=vim
pkgname=('vim' 'gvim' 'vim-runtime')
_topver=7.3
_patchlevel=744
pkgver="${_topver}.${_patchlevel}"
__hgrev="v${pkgver//./-}"
pkgrel=1
arch=('x86_64')
license=('custom:vim')
url="http://www.vim.org"
makedepends=('gpm' 'perl' 'python2>=2.7.1' 'ruby' 'libxt' 'libxext' 'libxpm'
'libxmu' 'desktop-file-utils' 'gettext' 'pkgconfig' 'mercurial'
'rsync' 'sed' 'motif')
source=('pythoncomplete.vim'::"http://www.vim.org/scripts/download_script.php?src_id=10872"
'vimrc'
'archlinux.vim'
'gvim.desktop')
md5sums=('6e7adfbd5d26c1d161030ec203a7f243'
'e57777374891063b9ca48a1fe392ac05'
'10353a61aadc3f276692d0e17db1478e'
'4b83e5fe0e534c53daaba91dd1cd4cbb')
__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 1
fi
cd "${srcdir}"
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 -e 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' \
-i vim-build/src/feature.h
sed -e 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \
-i vim-build/src/feature.h
# fix python name
sed -e 's|vi_cv_path_python, python|vi_cv_path_python, python2|' \
-i 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=Chakra \
--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=Chakra \
--with-features=big --enable-gpm --enable-acl --with-x=yes \
--enable-gui=motif --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
# Runtime provided by runtime package
rm -r "${pkgdir}/usr/share/vim"
# license
install -d -m755 "${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>=2.7.1' 'ruby' 'libxt' 'libxext'
'libxpm' 'libxmu' 'desktop-file-utils' 'lesstif')
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 -D -m644 "${srcdir}/gvim.desktop" \
"${pkgdir}/usr/share/applications/gvim.desktop"
install -D -m644 runtime/vim48x48.png \
"${pkgdir}/usr/share/pixmaps/gvim.png"
# license
install -d -m755 "${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 -d -m755 "${pkgdir}/usr/share"
mv "${srcdir}/runtime-install" "${pkgdir}/usr/share/vim"
# Don't forget logtalk.dict
install -D -m644 "${srcdir}/gvim-build/runtime/ftplugin/logtalk.dict" \
"${pkgdir}/usr/share/vim/${_versiondir}/ftplugin/logtalk.dict"
# fix FS#17216
sed -e 's|messages,/var|messages,/var/log/messages.log,/var|' \
-i "${pkgdir}/usr/share/vim/${_versiondir}/filetype.vim"
# patch filetype.vim for better handling of pacman related files
sed -e "s/rpmsave/pacsave/;s/rpmnew/pacnew/;s/,\*\.ebuild/\0,PKGBUILD*,*.install/" \
-i "${pkgdir}/usr/share/vim/${_versiondir}/filetype.vim"
sed -e "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \
-i "${pkgdir}/usr/share/vim/${_versiondir}/ftplugin/changelog.vim"
# make Aaron happy
install -D -m644 "${srcdir}/pythoncomplete.vim" \
"${pkgdir}/usr/share/vim/${_versiondir}/autoload/pythoncomplete.vim"
# rc files
install -D -m644 "${srcdir}/vimrc" "${pkgdir}/etc/vimrc"
install -D -m644 "${srcdir}/archlinux.vim" \
"${pkgdir}/usr/share/vim/vimfiles/archlinux.vim"
# license
install -d -m755 "${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: