core/vim/PKGBUILD

253 lines
8.0 KiB
Bash
Raw Normal View History

# 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=131
__hgrev=0efec12f52ac
_versiondir="vim${_topver//./}"
pkgver=${_topver}.${_patchlevel}
pkgrel=3
arch=('x86_64')
2010-05-22 06:07:29 +08:00
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=("vim-${pkgver}.tar.xz"
'chakra.vim'
2013-12-15 08:38:08 +08:00
'default.vim'
'vimrc'
'https://raw.github.com/tomasr/molokai/master/colors/molokai.vim')
sha512sums=('dbe0791b7bebd012abf63457bedeaf2260eacfe2397d77dd4000ea55a8fd40d62681dc48420b14f34e81975a6bc70432e74cfc075e38b78d82fb4d75c4536398'
'493b95e83bd6fb6ce2ebec17994af0bf8e6b209383979d9a1cda58c9af947acda04f8917d39e4e4a4a5db414043c7b44a5347f9bbbb0fb1fb7ca2674387b638a'
2013-12-15 08:38:08 +08:00
'd698b5a800929bb7b37cf82955c162429684754f377239c0364ff3c31cd46e0c506276d36d253a07ec15ae728ba5fc3226f66f593614e656ee8176b6929bcb5d'
'd8a088ac2f486e47d4f5f91e21ec79486503b2bbd4ce10b923d6aead0c73d260c88b6159704ed47c54885c67c9484f12f032f15dbb4060c88b2e851306138a17'
'a8bffc4461363ffc6edf9c13223e23a334817b1a0bd82b32f55b4014fbe63c4b59490b2f1744e93e21f5dd80fe4131c41f2e7cc716878fc9563017ef59dbf297')
# source PKGBUILD && mksource
mksource() {
[[ -x /usr/bin/hg ]] || (echo "hg not found - install mercurial." && return 1)
__hgroot='http://vim.googlecode.com/hg/'
__hgrepo='vim'
__hgbranch='default'
hg clone -b ${__hgbranch} -u ${__hgrev} "${__hgroot}${__hgrepo}" ${__hgrepo}
pushd ${__hgrepo}
2010-05-22 06:07:29 +08:00
if (( $(hg id -n) < $(hg id -nr ${__hgbranch}) )); then
printf 'You are not building the latest revision!\n'
printf "Consider updating __hgrev to $(hg id -r ${__hgbranch}).\n"
2010-05-22 06:07:29 +08:00
fi
popd
2010-05-22 06:07:29 +08:00
mv vim ${pkgbase}-${pkgver}
find ${pkgbase}-${pkgver} -depth -type d -name .hg -exec rm -rf {} \;
rm ${pkgbase}-${pkgver}/{.hgignore,.hgtags}
tar -cJf ${pkgbase}-${pkgver}.tar.xz ${pkgbase}-${pkgver}/*
rm -r ${pkgbase}-${pkgver}
#gpg --detach-sign ${pkgbase}-${pkgver}.tar.xz
#scp ${pkgbase}-${pkgver}.tar.xz nym:/srv/ftp/other/vim/
#scp ${pkgbase}-${pkgver}.tar.xz.sig nym:/srv/ftp/other/vim/
}
build() {
cp -a ${pkgbase}-${pkgver} ${pkgbase}-${pkgver}-tiny
# Build tiny version
cd "${srcdir}/${pkgbase}-${pkgver}-tiny/src"
# Define the place for the global (g)vimrc file to /etc/vimrc
sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' ${srcdir}/${pkgbase}-${pkgver}/src/feature.h
sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' ${srcdir}/${pkgbase}-${pkgver}/src/feature.h
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}-${pkgver}/src"
# Define the place for the global (g)vimrc file to /etc/vimrc
sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' ${srcdir}/${pkgbase}-${pkgver}/src/feature.h
sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' ${srcdir}/${pkgbase}-${pkgver}/src/feature.h
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
2010-05-22 06:07:29 +08:00
}
#check() {
# cd "${srcdir}/${pkgbase}-${pkgver}"
# make test
#}
2010-05-22 06:07:29 +08:00
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}-${pkgver}"
2010-05-22 06:07:29 +08:00
make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
2010-05-22 06:07:29 +08:00
# Provided by (n)vi in core
rm "${pkgdir}"/usr/bin/{ex,view}
2010-05-22 06:07:29 +08:00
# Delete some manpages
find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \
2010-05-22 06:07:29 +08:00
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
2010-05-22 06:07:29 +08:00
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}-${pkgver}"/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}-${pkgver}-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}/vim-${pkgver}"/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
2010-05-22 06:07:29 +08:00
# rc files
install -Dm644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc
2013-12-15 08:38:08 +08:00
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}-${pkgver}"/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
2010-05-22 06:07:29 +08:00
}
# vim:set sw=2 sts=2 et: