# Software packages for Chakra, part of www.chakra-project.org # # Maintainer: H W Tovetjärn (totte) # Contributors: Daniele Cocca # Thomas Dziedzic # Jan "heftig" Steffens # Tobias # Daniel J Griffiths pkgbase=vim pkgname=('vim' 'vim-tiny' 'vim-runtime') _topver=7.4 _patchlevel=131 __hgrev=c7bcb04f613e _versiondir="vim${_topver//./}" pkgver=${_topver}.${_patchlevel} pkgrel=2 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=("vim-${pkgver}.tar.xz" 'chakra.vim' 'default.vim' 'vimrc' 'https://raw.github.com/tomasr/molokai/master/colors/molokai.vim') sha512sums=('4fed94267aa1f2435a09a3aef76eceffb7a50179e19960bf581110373d537843e1e355f050c404234ea44ae7f1396bb43b54ca2eb0d3a33b35dd0571669b1674' '493b95e83bd6fb6ce2ebec17994af0bf8e6b209383979d9a1cda58c9af947acda04f8917d39e4e4a4a5db414043c7b44a5347f9bbbb0fb1fb7ca2674387b638a' '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} 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 ${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-pythoninterp \ --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}-${pkgver}" 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}-${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 # 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}-${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 } # vim:set sw=2 sts=2 et: