188 lines
5.6 KiB
Bash
188 lines
5.6 KiB
Bash
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
|
|
|
|
pkgname=vim
|
|
_topver=7.4
|
|
_patchlevel=728
|
|
__hgrev=9782a8aa2d7f
|
|
_versiondir="${pkgname}${_topver//./}"
|
|
pkgver=${_topver}.${_patchlevel}
|
|
pkgrel=1
|
|
arch=('i686' 'x86_64')
|
|
license=('custom:vim')
|
|
url="http://www.vim.org"
|
|
depends=('ncurses')
|
|
groups=('editors')
|
|
makedepends=('gawk' 'perl' 'python2' 'python3' 'ruby' 'mercurial' 'libiconv')
|
|
source=(#"${pkgname}-${pkgver}"::"hg+http://vim.googlecode.com/hg/vim#tag=v${pkgver//./-}"
|
|
"${pkgname}-${pkgver}.tar.xz"
|
|
"${pkgname}-${pkgver}.tar.xz.sig"
|
|
'dot.vimrc'
|
|
'7.3-cygwin-mouse.patch'
|
|
'7.3-virc.patch'
|
|
'7.3-cygwin-python-dyn.patch'
|
|
'pretend-cygwin-msys.patch'
|
|
'vim-completion')
|
|
md5sums=('08715146b06102ad59d8b4d05b09ceed'
|
|
'SKIP'
|
|
'b18bd005832117243727e9fef1b45691'
|
|
'82e8c2ae0821d3a453c808e98916c4b8'
|
|
'e776f485d8f027050ff040120acb8a86'
|
|
'88ab80d81af8e88cf80d21b2796ec94d'
|
|
'a5d13302787cd004ae188b69e353035d'
|
|
'87fe7821e180647f3bf48ed099a22b83')
|
|
|
|
# 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}
|
|
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"
|
|
fi
|
|
popd
|
|
|
|
mv vim ${pkgname}-${pkgver}
|
|
find ${pkgname}-${pkgver} -depth -type d -name .hg -exec rm -rf {} \;
|
|
rm ${pkgname}-${pkgver}/{.hgignore,.hgtags}
|
|
tar -cJf ${pkgname}-${pkgver}.tar.xz ${pkgname}-${pkgver}/*
|
|
rm -r ${pkgname}-${pkgver}
|
|
|
|
gpg --detach-sign ${pkgname}-${pkgver}.tar.xz
|
|
|
|
#scp ${pkgname}-${pkgver}.tar.xz nym:/srv/ftp/other/vim/
|
|
#scp ${pkgname}-${pkgver}.tar.xz.sig nym:/srv/ftp/other/vim/
|
|
}
|
|
|
|
prepare() {
|
|
cd ${srcdir}/${pkgname}-${pkgver}
|
|
|
|
iconv -f ISO-8859-1 -t UTF-8 runtime/doc/eval.txt \
|
|
> runtime/doc/eval.tmp && mv -f runtime/doc/eval.{tmp,txt}
|
|
|
|
patch -p2 -i ${srcdir}/7.3-cygwin-mouse.patch
|
|
patch -p2 -i ${srcdir}/7.3-virc.patch
|
|
patch -p2 -i ${srcdir}/7.3-cygwin-python-dyn.patch
|
|
patch -p1 -i ${srcdir}/pretend-cygwin-msys.patch
|
|
|
|
# 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
|
|
|
|
cd src
|
|
autoconf
|
|
}
|
|
|
|
build() {
|
|
cd ${srcdir}/${pkgname}-${pkgver}
|
|
|
|
# ./configure \
|
|
# --prefix=/usr \
|
|
# --build=${CHOST} \
|
|
# --with-features=small \
|
|
# --with-tlib=ncursesw \
|
|
# --enable-multibyte \
|
|
# --disable-luainterp \
|
|
# --disable-perlinterp \
|
|
# --disable-pythoninterp \
|
|
# --disable-python3interp \
|
|
# --disable-rubyinterp \
|
|
# --disable-tclinterp \
|
|
# --disable-gpm --disable-sysmouse \
|
|
# --disable-gui --without-x \
|
|
# --with-compiledby="<alexpux@gmail.com>"
|
|
# make auto/osdef.h
|
|
# make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/vim${slot/\.} || die "make 2 fail"
|
|
# mv vim.exe vi.exe
|
|
# make distclean
|
|
|
|
./configure \
|
|
--prefix=/usr \
|
|
--build=${CHOST} \
|
|
--with-features=huge \
|
|
--with-tlib=ncursesw \
|
|
--enable-cscope \
|
|
--enable-multibyte \
|
|
--enable-luainterp=dynamic \
|
|
--enable-perlinterp=dynamic \
|
|
--enable-pythoninterp=dynamic \
|
|
--enable-python3interp=dynamic \
|
|
--enable-rubyinterp=dynamic \
|
|
--disable-tclinterp \
|
|
--disable-gpm --disable-sysmouse \
|
|
--disable-gui --without-x \
|
|
CPPFLAGS="${CPPFLAGS} -I/usr/include/ncursesw" \
|
|
--with-compiledby="<alexpux@gmail.com>"
|
|
|
|
#make auto/osdef.h
|
|
make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/vim${_topver/\.}
|
|
}
|
|
|
|
check() {
|
|
# disable tests because they seem to freeze
|
|
|
|
cd "${srcdir}"/${pkgname}-${pkgver}
|
|
|
|
#make test
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}"/${pkgname}-${pkgver}
|
|
make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
|
|
|
|
make install -j1 \
|
|
VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/vim${_topver/\.} \
|
|
STRIP=: INSTALL_DATA="cp -L" INSTALL_DATA_R="cp -Lr" \
|
|
DESTDIR="${pkgdir}"
|
|
|
|
#for x in ex rvi vi.exe
|
|
#do
|
|
# cp -f vi.exe ${pkgdir}/usr/bin/${x}
|
|
#done
|
|
|
|
for y in vimdiff view rview rvim
|
|
do
|
|
cp -f ${pkgdir}/usr/bin/vim.exe ${pkgdir}/usr/bin/${y}
|
|
done
|
|
|
|
mkdir -p ${pkgdir}/usr/share/bash-completion/completions
|
|
cp -f ${srcdir}/vim-completion ${pkgdir}/usr/share/bash-completion/completions/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 # provided by (n)vi
|
|
rm -f evim.1 # this does not make sense if we have no GUI
|
|
done
|
|
|
|
# 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}"/dot.vimrc "${pkgdir}"/etc/skel/.vimrc
|
|
|
|
# rgb.txt file
|
|
install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/rgb.txt \
|
|
"${pkgdir}"/usr/share/vim/${_versiondir}/rgb.txt
|
|
|
|
# license
|
|
install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \
|
|
"${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
|
|
}
|