diff options
Diffstat (limited to 'libre/vim')
-rw-r--r-- | libre/vim/PKGBUILD | 389 | ||||
-rw-r--r-- | libre/vim/gvim.desktop | 63 | ||||
-rw-r--r-- | libre/vim/gvim.install | 15 | ||||
-rw-r--r-- | libre/vim/parabola.vim | 26 | ||||
-rw-r--r-- | libre/vim/vimrc | 16 |
5 files changed, 509 insertions, 0 deletions
diff --git a/libre/vim/PKGBUILD b/libre/vim/PKGBUILD new file mode 100644 index 000000000..8870addba --- /dev/null +++ b/libre/vim/PKGBUILD @@ -0,0 +1,389 @@ +# Maintainer (Arch): Thomas Dziedzic <gostrc@gmail.com> +# Contributor (Arch): Jan "heftig" Steffens <jan.steffens@gmail.com> +# Contributor (Arch): tobias [ tobias at archlinux org ] +# Contributor (Arch): Daniel J Griffiths <ghost1227@archlinux.us> +# Maintainer: André Silva <emulatorman@parabola.nu> +# Contributor: Márcio Silva <coadde@parabola.nu> + +pkgbase=vim +pkgname=('vim-minimal' 'vim' 'vim-python3' 'gvim' 'gvim-python3' 'vim-runtime') +_topver=7.4 +_patchlevel=410 +__hgrev=7af530381fec +_versiondir="vim${_topver//./}" +pkgver=${_topver}.${_patchlevel} +pkgrel=1.parabola2 +arch=('i686' 'x86_64' 'mips64el') +license=('custom:vim') +url="http://www.vim.org" +makedepends=('gpm' 'python2' 'python' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' 'lua') +source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz" + "ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz.sig" + 'vimrc' + 'parabola.vim' + 'gvim.desktop') +md5sums=('8e9722fbd9ddc3c05d21210939c23f23' + 'SKIP' + '27820c2bdc34624674c561ae6476bc6a' + '41c9a52bbd972f009437450a003ad3cd' + 'd90413bd21f400313a785bb4010120cd') + +# 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 + + (cd vim/src && autoconf) + + 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() { + # define the place for the global (g)vimrc file (set to /etc/vimrc) + sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' \ + ${pkgbase}-${pkgver}/src/feature.h + sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \ + ${pkgbase}-${pkgver}/src/feature.h + + for pkg in ${pkgname[@]} + do + cp -a ${pkgbase}-${pkgver} ${pkg}-build + done + + cd "${srcdir}"/vim-minimal-build + + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Parabola GNU/Linux-libre' \ + --enable-gpm \ + --enable-acl \ + --with-x=no \ + --disable-gui \ + --enable-multibyte \ + --enable-cscope \ + --disable-netbeans \ + --enable-perlinterp \ + --disable-pythoninterp \ + --disable-python3interp \ + --disable-rubyinterp \ + --disable-luainterp + + make + + cd "${srcdir}"/vim-build + + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Parabola GNU/Linux-libre' \ + --enable-gpm \ + --enable-acl \ + --with-x=no \ + --disable-gui \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp \ + --enable-pythoninterp \ + --disable-python3interp \ + --enable-rubyinterp \ + --enable-luainterp + + make + + cd "${srcdir}"/vim-python3-build + + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Parabola GNU/Linux-libre' \ + --enable-gpm \ + --enable-acl \ + --with-x=no \ + --disable-gui \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp \ + --disable-pythoninterp \ + --enable-python3interp \ + --enable-rubyinterp \ + --enable-luainterp + + make + + cd "${srcdir}"/gvim-build + + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Parabola GNU/Linux-libre' \ + --enable-gpm \ + --enable-acl \ + --with-x=yes \ + --enable-gui=gtk2 \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp \ + --enable-pythoninterp \ + --disable-python3interp \ + --enable-rubyinterp \ + --enable-luainterp + + make + + cd "${srcdir}"/gvim-python3-build + + ./configure \ + --prefix=/usr \ + --localstatedir=/var/lib/vim \ + --with-features=huge \ + --with-compiledby='Parabola GNU/Linux-libre' \ + --enable-gpm \ + --enable-acl \ + --with-x=yes \ + --enable-gui=gtk2 \ + --enable-multibyte \ + --enable-cscope \ + --enable-netbeans \ + --enable-perlinterp \ + --disable-pythoninterp \ + --enable-python3interp \ + --enable-rubyinterp \ + --enable-luainterp + + make +} + +check() { + # disable tests because they seem to freeze + + cd "${srcdir}"/vim-build + + #make test + + cd "${srcdir}"/gvim-build + + #make test +} + +package_vim-minimal() { + pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with a minimal set of dependencies)' + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm') + conflicts=('vim' 'vim-python3' 'gvim' 'gvim-python3') + provides=("vim=${pkgver}-${pkgrel}") + + cd "${srcdir}"/vim-minimal-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 -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt +} + +package_vim() { + pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with support for additional scripting languages)' + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'ruby' 'lua' 'python2') + conflicts=('vim-minimal' 'vim-python3' 'gvim' 'gvim-python3') + + 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 -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt +} + +package_vim-python3() { + pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with support for additional scripting languages)' + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'ruby' 'lua' 'python') + conflicts=('vim-minimal' 'vim' 'gvim' 'gvim-python3') + provides=("vim=${pkgver}-${pkgrel}") + + cd "${srcdir}"/vim-python3-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 -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/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' 'ruby' 'libxt' + 'desktop-file-utils' 'gtk2' 'lua' 'python2') + provides=("vim=${pkgver}-${pkgrel}") + conflicts=('vim-minimal' 'vim' 'vim-python3' 'gvim-python3') + 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 -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt +} + +package_gvim-python3() { + pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with advanced features, such as a GUI) with python 3 support' + depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'ruby' 'libxt' + 'desktop-file-utils' 'gtk2' 'lua' 'python') + provides=("vim=${pkgver}-${pkgrel}" + "gvim=${pkgver}-${pkgrel}") + conflicts=('vim-minimal' 'vim' 'vim-python3' 'gvim') + install=gvim.install + + cd "${srcdir}"/gvim-python3-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 + + # need to remove since this is provided by vim-runtime + rm -rf "${pkgdir}"/usr/share/vim + + # 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 -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \ + "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt +} + +package_vim-runtime() { + pkgdesc='Runtime for vim and gvim (Parabola rebranded)' + depends=('perl' 'gawk') + backup=('etc/vimrc') + replaces=(${pkgname}-parabola) + conflicts=(${pkgname}-parabola) + + # 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 + + # rc files + install -Dm644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc + install -Dm644 "${srcdir}"/parabola.vim \ + "${pkgdir}"/usr/share/vim/vimfiles/parabola.vim + + # rgb.txt file + install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/rgb.txt \ + "${pkgdir}"/usr/share/vim/${_versiondir}/rgb.txt + + # 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: diff --git a/libre/vim/gvim.desktop b/libre/vim/gvim.desktop new file mode 100644 index 000000000..675357da5 --- /dev/null +++ b/libre/vim/gvim.desktop @@ -0,0 +1,63 @@ +[Desktop Entry] +Name=Vi IMproved +Name[bg]=Vi Ðåäàêòîð +Name[ca]=Vi Millorat +Name[da]=Vi forbedret +Name[eo]=VIM +Name[et]=Täiustatud Vi (vim) +Name[fr]=Vi étendu (VIM) +Name[he]=רפושמ Vi +Name[hu]=Vi +Name[is]=Vi IMproved ritillinn +Name[it]=Vi iMproved +Name[no]=Vi IMproved (forbedret VI) +Name[pl]=Poprawiony VI (vim) +Name[ro]=VIM +Name[ru]=Улучшенный VI +Name[sk]=Vi IMpreved +Name[sl]=Izboljšani vi (vim) +Name[sv]=Förbättrad Vi +Name[zh_CN.GB2312]=改进的 Vi +Comment=Powerful text editor with scripting functions and macro recorder +Comment[bg]=Ðåäàêòîð ñ ìíîãî âúçìîæíîñòè +Comment[ca]=Editor vi potent +Comment[cs]=Mocný textový editor vi +Comment[da]=En kraftig vi tekstbehandler +Comment[de]=Ein leistungsfähiger vi-Editor +Comment[el]=Πανίσχυρος διορθωτής vi +Comment[eo]=VIM similas al redaktilo "vi", sed havas aldonajn ecojn +Comment[es]=Una versión mejorada del editor vi +Comment[et]=Võimas tekstiredaktor vi +Comment[fi]=Tehokas vi-tekstieditori +Comment[fr]=Éditeur vi puissant +Comment[gl]=Potente editor vi +Comment[he]=Vi המצועה בר ךרועה +Comment[hr]=Napredni vi uređivač +Comment[hu]=Vi szövegszerkesztő +Comment[is]=Öflug útgáfa vi ritilsins +Comment[it]=Un editor vi potenziato +Comment[ja]=強力なViエディタ +Comment[lt]=Galingas vi redaktorius +Comment[mk]=Моќен VI уредувач +Comment[nl]=Krachtige vi-editor +Comment[no]=En kraftig vi-redigerer +Comment[no_NY]=Kraftig vi-tekstredigeringsprogram +Comment[pl]=Edytor vi +Comment[pt]=Um poderoso editor de texto +Comment[ro]=Un editor de texte VI, puternic +Comment[ru]=Мощный текстовый редактор vi +Comment[sk]=Silný textový procesor vi +Comment[sl]=Zmogljivi urejevalnik vi +Comment[sr]=Moćni vi editor +Comment[sv]=En kraftfull texteditor +Comment[ta]=ºì¾¢Å¡öó¾ vi ¦¾¡ÌôÀ¡Ç÷ +Comment[tr]=Güçlü vi düzenleyicisi +Comment[uk]=Потужний редактор vi +Comment[zh_CN.GB2312]=功能强大的 vi 编辑器 +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; +Exec=gvim -f %F +Icon=gvim +Type=Application +Terminal=false +X-XClassHintResName=VIM +Categories=Utility;TextEditor; diff --git a/libre/vim/gvim.install b/libre/vim/gvim.install new file mode 100644 index 000000000..0f4221a77 --- /dev/null +++ b/libre/vim/gvim.install @@ -0,0 +1,15 @@ +update_desktop_database() { + update-desktop-database --quiet +} + +post_install() { + update_desktop_database +} + +post_upgrade() { + update_desktop_database +} + +post_remove() { + update_desktop_database +} diff --git a/libre/vim/parabola.vim b/libre/vim/parabola.vim new file mode 100644 index 000000000..3db882946 --- /dev/null +++ b/libre/vim/parabola.vim @@ -0,0 +1,26 @@ +" The Parabola GNU/Linux-libre global vimrc - setting only a few sane defaults +" +" Maintainer: Thomas Dziedzic [gostrc@gmail.com] +" Maintainer for Parabola rebranding: André Silva [emulatorman@parabola.nu] +" +" NEVER EDIT THIS FILE, IT'S OVERWRITTEN UPON UPGRADES, GLOBAL CONFIGURATION +" SHALL BE DONE IN /etc/vimrc, USER SPECIFIC CONFIGURATION IN ~/.vimrc + +" Normally we use vim-extensions. If you want true vi-compatibility +" remove change the following statements +set nocompatible " Use Vim defaults instead of 100% vi compatibility +set backspace=indent,eol,start " more powerful backspacing + +" Now we set some defaults for the editor +set history=50 " keep 50 lines of command line history +set ruler " show the cursor position all the time + +" Suffixes that get lower priority when doing tab completion for filenames. +" These are files we are not likely to want to edit or read. +set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.png,.jpg + +if has('gui_running') + " Make shift-insert work like in Xterm + map <S-Insert> <MiddleMouse> + map! <S-Insert> <MiddleMouse> +endif diff --git a/libre/vim/vimrc b/libre/vim/vimrc new file mode 100644 index 000000000..fc67e7eb0 --- /dev/null +++ b/libre/vim/vimrc @@ -0,0 +1,16 @@ +" All system-wide defaults are set in $VIMRUNTIME/parabola.vim (usually just +" /usr/share/vim/vimfiles/parabola.vim) and sourced by the call to :runtime +" you can find below. If you wish to change any of those settings, you should +" do it in this file (/etc/vimrc), since parabola.vim will be overwritten +" everytime an upgrade of the vim packages is performed. It is recommended to +" make changes after sourcing parabola.vim since it alters the value of the +" 'compatible' option. + +" This line should not be removed as it ensures that various options are +" properly set to work with the Vim-related packages. +runtime! parabola.vim + +" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim' +" Or better yet, read /usr/share/vim/vim74/vimrc_example.vim or the vim manual +" and configure vim to your own liking! + |