summaryrefslogtreecommitdiff
path: root/libre/vim
diff options
context:
space:
mode:
Diffstat (limited to 'libre/vim')
-rw-r--r--libre/vim/PKGBUILD389
-rw-r--r--libre/vim/gvim.desktop63
-rw-r--r--libre/vim/gvim.install15
-rw-r--r--libre/vim/parabola.vim26
-rw-r--r--libre/vim/vimrc16
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!
+