mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-03 20:07:14 +08:00
202 lines
6.1 KiB
Bash
202 lines
6.1 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=138
|
|
pkgver=${_topver}.${_patchlevel}
|
|
__hgrev=ea399ac2c1b9
|
|
pkgrel=3
|
|
arch=('i686' 'x86_64')
|
|
license=('custom:vim')
|
|
url="http://www.vim.org"
|
|
makedepends=('gpm' 'perl' 'python>=2.7.1' 'ruby' 'libxt' 'libxext' 'libxpm' 'libxmu'
|
|
'desktop-file-utils' 'lesstif' 'gettext' 'pkgconfig' 'mercurial' 'rsync' 'sed')
|
|
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 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=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 -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>=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 -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:
|