core/vim/PKGBUILD
2014-09-05 15:44:35 +00:00

223 lines
6.5 KiB
Bash

# Software packages for Chakra, part of www.chakra-project.org
#
# Maintainer: H W Tovetjärn (totte) <totte@tott.es>
# Contributors: Daniele Cocca <jmc@chakra-project.org>
# Thomas Dziedzic <gostrc@gmail.com>
# Jan "heftig" Steffens <jan.steffens@gmail.com>
# Tobias <tobias@archlinux.org>
# Daniel J Griffiths <ghost1227@archlinux.us>
pkgbase=vim
pkgname=('vim' 'vim-tiny' 'vim-runtime')
_topver=7-4
_patchlevel=417
_versiondir="vim${_topver//-/}"
pkgver=${_topver//-/.}.${_patchlevel}
pkgrel=1
arch=('x86_64')
license=('custom:vim')
url="http://www.vim.org"
makedepends=('desktop-file-utils'
'gettext'
'gpm'
'libxext'
'libxmu'
'libxpm'
'libxt'
'lua'
'mercurial'
'pkgconfig'
'python2'
'python3'
'rsync'
'sed')
source=("hg+https://code.google.com/p/vim#tag=v$_topver-$_patchlevel"
'chakra.vim'
'default.vim'
'vimrc'
'https://raw.github.com/tomasr/molokai/master/colors/molokai.vim')
sha512sums=('SKIP'
'493b95e83bd6fb6ce2ebec17994af0bf8e6b209383979d9a1cda58c9af947acda04f8917d39e4e4a4a5db414043c7b44a5347f9bbbb0fb1fb7ca2674387b638a'
'd698b5a800929bb7b37cf82955c162429684754f377239c0364ff3c31cd46e0c506276d36d253a07ec15ae728ba5fc3226f66f593614e656ee8176b6929bcb5d'
'd8a088ac2f486e47d4f5f91e21ec79486503b2bbd4ce10b923d6aead0c73d260c88b6159704ed47c54885c67c9484f12f032f15dbb4060c88b2e851306138a17'
'a8bffc4461363ffc6edf9c13223e23a334817b1a0bd82b32f55b4014fbe63c4b59490b2f1744e93e21f5dd80fe4131c41f2e7cc716878fc9563017ef59dbf297')
prepare() {
# Define the place for the global (g)vimrc file to /etc/vimrc
sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' $srcdir/$pkgbase/src/feature.h
sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' $srcdir/$pkgbase/src/feature.h
cp -a $pkgbase{,-tiny}
}
build() {
# Build tiny version
cd "$srcdir/$pkgbase-tiny/src"
autoconf
export CFLAGS="-g -O0"
export CXXFLAGS="-g -O0"
./configure \
--disable-gui \
--disable-netbeans \
--disable-pythoninterp \
--disable-rubyinterp \
--disable-acl \
--disable-cscope \
--disable-gpm \
--disable-luainterp \
--disable-multibyte \
--disable-perlinterp \
--disable-python3interp \
--localstatedir=/var/lib/vim \
--mandir=/usr/share/man \
--prefix=/usr \
--with-compiledby='Chakra' \
--with-features=tiny \
--with-tlib=ncurses \
--with-x=no
make
# Build huge version
cd "$srcdir/$pkgbase/src"
autoconf
export CFLAGS="-g -O0"
export CXXFLAGS="-g -O0"
./configure \
--disable-gui \
--disable-netbeans \
--disable-rubyinterp \
--enable-acl \
--enable-cscope \
--enable-gpm \
--enable-luainterp \
--enable-multibyte \
--enable-perlinterp \
--enable-pythoninterp \
--enable-python3interp \
--localstatedir=/var/lib/vim \
--mandir=/usr/share/man \
--prefix=/usr \
--with-compiledby='Chakra' \
--with-features=huge \
--with-tlib=ncurses \
--with-x=yes
make
}
#check() {
# cd "$srcdir/$pkgbase-$pkgver"
# make test
#}
package_vim() {
pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor'
depends=("vim-runtime=$pkgver-$pkgrel"
'gpm'
'libxt'
'lua'
'perl'
'python2'
'python3')
conflicts=('gvim' 'vim-tiny')
provides=("vim=$pkgver-$pkgrel")
cd "$srcdir/$pkgbase"
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 doesn't make sense if we have no GUI
done
# Move the runtime for later packaging
msg2 "MOVING THE RUNTIME! $pkgdir"
mv -v "$pkgdir"/usr/share/vim "$srcdir"/runtime-install
# License
install -Dm644 "$srcdir/$pkgbase"/runtime/doc/uganda.txt \
"$pkgdir"/usr/share/licenses/$pkgbase/license.txt
}
package_vim-tiny() {
pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (tiny version)'
depends=("vim-runtime=$pkgver-$pkgrel"
'gpm'
'libxt')
conflicts=('gvim' 'vim-tiny')
provides=("vim=$pkgver-$pkgrel")
cd "$srcdir/$pkgbase-tiny"
make -j1 VIMRCLOC=/etc DESTDIR="$pkgdir" install
# Provided by (n)vi in core
rm "$pkgdir"/usr/bin/{ex,view}
# Remove the runtime
msg2 "REMOVING THE RUNTIME! $pkgdir"
rm -rv "$pkgdir"/usr/share/vim
# 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 doesn't make sense if we have no GUI
done
}
package_vim-runtime() {
pkgdesc='Runtime for Vim'
arch=('any')
depends=('perl'
'gawk')
backup=('etc/vimrc')
# Install the runtime split from Vim
install -dm755 "$pkgdir"/usr/share
mv "$srcdir"/runtime-install "$pkgdir"/usr/share/vim
# Don't forget logtalk.dict
install -Dm644 "$srcdir/$pkgbase"/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
# rc files
install -Dm644 "$srcdir"/vimrc "$pkgdir"/etc/vimrc
install -Dm644 "$srcdir"/default.vim \
"$pkgdir"/usr/share/vim/vimfiles/default.vim
install -Dm644 "$srcdir"/chakra.vim \
"$pkgdir"/usr/share/vim/vimfiles/chakra.vim
# rgb.txt file
install -Dm644 "$srcdir/$pkgbase"/runtime/rgb.txt \
"$pkgdir"/usr/share/vim/$_versiondir/rgb.txt
# Colourscheme
install -Dm644 "$srcdir"/molokai.vim \
"$pkgdir"/usr/share/vim/$_versiondir/colors/molokai.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: