[arch-commits] Commit in vim/trunk (6 files)
Daniel Griffiths
dgriffiths at archlinux.org
Sun Apr 18 07:37:23 UTC 2010
Date: Sunday, April 18, 2010 @ 03:37:23
Author: dgriffiths
Revision: 77810
FS#19087
Added:
vim/trunk/gvim.desktop
vim/trunk/gvim.install
Modified:
vim/trunk/PKGBUILD
Deleted:
vim/trunk/fetch_patches.sh
vim/trunk/fetch_runtime.sh
vim/trunk/vim.install
------------------+
PKGBUILD | 245 +++++++++++++++++++++++++++++++++++++++--------------
fetch_patches.sh | 28 ------
fetch_runtime.sh | 117 -------------------------
gvim.desktop | 42 +++++++++
gvim.install | 13 ++
vim.install | 37 --------
6 files changed, 236 insertions(+), 246 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2010-04-18 04:30:29 UTC (rev 77809)
+++ PKGBUILD 2010-04-18 07:37:23 UTC (rev 77810)
@@ -1,84 +1,201 @@
-# $Id$
+# Contributor: Jan "heftig" Steffens <uocll at stud.uni-karlsruhe.de>
# Maintainer: tobias [ tobias at archlinux org ]
+# Maintainer: Daniel J Griffiths <ghost1227 at archlinux.us>
-pkgname=vim
+pkgbase=('vim')
+pkgname=('vim' 'gvim' 'vim-runtime')
_srcver=7.2
-_patchlevel=385
+_patchlevel=411
pkgver=${_srcver}.${_patchlevel}
pkgrel=1
-pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor'
arch=('i686' 'x86_64')
license=('custom:vim')
url="http://www.vim.org"
-depends=('gpm' 'coreutils' 'perl')
-makedepends=('wget' 'sed' 'grep' 'gettext' 'curl' 'rsync')
-backup=(etc/vimrc)
-install=${pkgname}.install
-# we need the extra-stuff to get all patches applied smoothly
+makedepends=('gpm' 'coreutils' 'perl' 'python' 'ruby' 'libxt' \
+ 'desktop-file-utils' 'gtk2' 'wget' 'sed' 'grep' \
+ 'gettext' 'curl' 'rsync' 'pkgconfig')
source=(ftp://ftp.vim.org/pub/vim/unix/vim-${_srcver}.tar.bz2 \
ftp://ftp.vim.org/pub/vim/extra/vim-${_srcver}-extra.tar.gz \
ftp://ftp.vim.org/pub/vim/extra/vim-${_srcver}-lang.tar.gz \
- fetch_patches.sh fetch_runtime.sh vimrc archlinux.vim)
-md5sums=('f0901284b338e448bfd79ccca0041254' '35e04482f07c57221c9a751aaa3b8dac' \
- 'd8884786979e0e520c112faf2e176f05' '9c8f6b302fc3f343962686b8cf4a0350' \
- '45c1c3c6aff7de0d8fc2a9d8cd5cec7d' 'e57777374891063b9ca48a1fe392ac05' \
- '10353a61aadc3f276692d0e17db1478e')
+ vimrc archlinux.vim gvim.desktop)
+md5sums=('f0901284b338e448bfd79ccca0041254' '35e04482f07c57221c9a751aaa3b8dac'
+ 'd8884786979e0e520c112faf2e176f05' 'e57777374891063b9ca48a1fe392ac05'
+ '10353a61aadc3f276692d0e17db1478e' '2be104c0372dd6dae19cb7968c03cd4f')
-build()
-{
- _versiondir="vim"$(echo ${_srcver} | sed "s/\.//")
- # pull in patches from vim.org (or the src cache alternatively)
- . ${srcdir}/fetch_patches.sh
- get_patches || return 1
+_versiondir="vim$(echo ${_srcver} | sed "s/\.//")"
- cd ${srcdir}/${_versiondir}
- sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' src/feature.h
- sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' src/feature.h
- # build party
- ./configure --prefix=/usr --localstatedir=/var/lib/vim --mandir=/usr/share/man \
- --with-compiledby=ArchLinux --with-features=big \
- --enable-gpm --enable-acl --with-x=no --disable-gui \
- --enable-multibyte --enable-cscope \
- --enable-perlinterp
- #--with-global-runtime=/usr/share/vim --with-vim-name=vim \
- make || return 1
+##### Build #####
+
+_get_patches() {
+ curl ftp://ftp.vim.org/pub/vim/patches/${_srcver}/MD5SUMS | sed -e '/.gz$/d' > MD5SUMS
+ _currpatch=$(cat MD5SUMS | wc -l)
+
+ rsync -avzcP --exclude '*.gz' "ftp.nluug.nl::Vim/patches/${_srcver}/${_srcver}.*" .
+ md5sum -c MD5SUMS > /dev/null || return 1
+
+ > vim.full.patch.log
+ for _file in $(cat MD5SUMS | awk '{ print $2 }'); do
+ patch -d ${_versiondir} -p0 < ${_file} >> vim.full.patch.log || return 1
+ done
+
+ if [ ${_patchlevel} -lt ${_currpatch} ]; then
+ echo ''
+ echo -e '\t\tWARNING!'
+ echo 'You are not building the latest available version! A newer patchlevel'
+ echo 'seems to be available. Please edit the PKGBUILD and add the latest'
+ echo "${_currpatch} as pkgrel number!"
+ echo ''
+ sleep 10
+ fi
+ return 0
}
-package()
-{
- . ${srcdir}/fetch_runtime.sh
- _versiondir="vim"$(echo ${_srcver} | sed "s/\.//")
- cd ${srcdir}/${_versiondir}
+_get_runtime() {
+ # Get a copy of the runtime from the archive if we don't already have one
+ if [ ! -d runtime ]; then
+ cp -r "${_versiondir}/runtime" . || return 1
+ fi
- make VIMRCLOC=/etc DESTDIR=${pkgdir} install
- cd ${pkgdir}/usr/bin
- rm ex view # provided by (n)vi in core
- mv vim vim-normal # we create a vim-symlink on post_install
- ln -sf vim-normal vim
- # ... make g* related symlinks point directly to the actual binary
- ln -sf vim-normal rview
- ln -sf vim-normal rvim
- ln -sf vim-normal vimdiff
+ # Update our runtime to the newest version
+ # --delete assures we won't overwrite any non-runtime files
+ # with old, cached versions in the next step
+ rsync -avzcP --delete --exclude 'dos' --exclude 'spell' \
+ 'ftp.nluug.nl::Vim/runtime/' "${srcdir}/runtime" || return 1
- # 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 in the console version
- done
+ # Install our new runtime into the source
+ cp -r runtime "${_versiondir}"
+}
- # fix FS#17216
- sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \
- ${pkgdir}/usr/share/vim/vim72/filetype.vim
+build() {
+ cd ${srcdir}
- _runtimedir="${pkgdir}/usr/share/vim/${_versiondir}/"
- update_runtime
- cd ${srcdir}/${_versiondir}
- install -Dm644 ${srcdir}/vimrc ${pkgdir}/etc/vimrc
- install -Dm644 ${srcdir}/archlinux.vim \
- ${pkgdir}/usr/share/vim/vimfiles/archlinux.vim
- install -dm755 ${pkgdir}/usr/share/licenses/vim
- cd ${pkgdir}/usr/share/licenses/vim
- ln -s ../../vim/${_versiondir}/doc/uganda.txt license.txt
+ # pull in patches from vim.org
+ _get_patches || return 1
+
+ # pull in runtime from vim.org
+ _get_runtime || return 1
+
+ # define the place for the global (g)vimrc file (set to /etc/vimrc)
+ sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' \
+ "${_versiondir}/src/feature.h" || return 1
+ sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \
+ "${_versiondir}/src/feature.h" || return 1
+
+ # build party
+ rm -rf vim-build gvim-build
+ mv ${_versiondir} vim-build
+ cp -r vim-build gvim-build
+
+ cd ${srcdir}/vim-build
+
+ ./configure --prefix=/usr --localstatedir=/var/lib/vim \
+ --mandir=/usr/share/man --with-compiledby=ArchLinux \
+ --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 || return 1
+
+ cd ${srcdir}/gvim-build
+
+ ./configure --prefix=/usr --localstatedir=/var/lib/vim \
+ --mandir=/usr/share/man --with-compiledby=ArchLinux \
+ --with-features=big --enable-gpm --enable-acl --with-x=yes \
+ --enable-gui=gtk2 --enable-multibyte --enable-cscope \
+ --enable-netbeans --enable-perlinterp --enable-pythoninterp \
+ --enable-rubyinterp
+
+ make || return 1
}
+
+##### Packaging #####
+
+package_vim() {
+ depends=("vim-runtime=${pkgver}" 'gpm' 'coreutils' 'perl')
+ conflicts=('gvim')
+
+ cd ${srcdir}/vim-build
+ make -j1 VIMRCLOC=/etc DESTDIR=${pkgdir} install || return 1
+
+ # 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}" 'gpm' 'coreutils' 'perl'
+ 'python' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2')
+ provides=("vim=${pkgver}")
+ conflicts=('vim')
+ install=gvim.install
+
+ cd ${srcdir}/gvim-build
+ make -j1 VIMRCLOC=/etc DESTDIR=${pkgdir} install || return 1
+
+ # 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 || return 1
+
+ # fix FS#17216
+ sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \
+ ${pkgdir}/usr/share/vim/vim72/filetype.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
+}
Deleted: fetch_patches.sh
===================================================================
--- fetch_patches.sh 2010-04-18 04:30:29 UTC (rev 77809)
+++ fetch_patches.sh 2010-04-18 07:37:23 UTC (rev 77810)
@@ -1,28 +0,0 @@
-# the external logic for pulling in patches
-
-get_patches() {
-
- curl ftp://ftp.vim.org/pub/vim/patches/${_srcver}/MD5SUMS | sed -e \
- '/.gz$/d' > MD5SUMS
- let _patchlevel=$_patchlevel+1
- _currpatch=$(cat MD5SUMS | wc -l)
- sed -i "${_patchlevel},\$d" MD5SUMS
- rsync -avzcP "ftp.nluug.nl::Vim/patches/${_srcver}/${_srcver}.*" .
- md5sum -c MD5SUMS > /dev/null || return 1
- > vim.full.patch.log
- for file in $(cat MD5SUMS | awk '{ print $2 }')
- do patch -d ${_versiondir} -p0 < $file >> vim.full.patch.log || return 1; done
-
- ########
-
- if [ ${_patchlevel} -le ${_currpatch} ]; then
- echo ""
- echo -e "\t\tWARNING!"
- echo "You are not building the latest available version! A newer patchlevel"
- echo "seems to be available. Please edit the PKGBUILD and add the latest"
- echo "${_currpatch} as pkgrel number!"
- echo ""
- sleep 10
- fi
- return 0
-}
Deleted: fetch_runtime.sh
===================================================================
--- fetch_runtime.sh 2010-04-18 04:30:29 UTC (rev 77809)
+++ fetch_runtime.sh 2010-04-18 07:37:23 UTC (rev 77810)
@@ -1,117 +0,0 @@
-# the purpose of this magic is to pull in the latest runtime files for vim
-# we start withe theruntime provoded by the tarballs and compare MD5s against
-# the latest runtime
-# if this fails we look in the local source cache if they have been fetched
-# for an earlier build and compare those MD5 files
-# if this fails, we fetch the stuff from online and store it in the local src
-# cache.
-# The local cache has to be set (makepkg.conf) AND it has to be writable
-
-update_runtime() {
- _OLDDIR=$(pwd) #get absolute path
- _errors=0
- _ftp="ftp://ftp.vim.org/pub/vim/runtime"
-
- # we're gonna be sneaky and grok the A-A-P recipe for the files we need
- _recipe="getunix.aap"
- _srccache="${SRCDEST}/vim-${_srcver}/"
-
- echo "getting runtime recipe"
- cd ${srcdir}
- [ -f "${_recipe}" ] && rm "${_recipe}"
- wget "${_ftp}/${_recipe}" >/dev/null 2>&1
-
- cd "${_runtimedir}"
- _runtimedir=$(pwd) #get absolute path
-
- # change IFS to loop line-by-line
- _OLDIFS=$IFS
- IFS="
-"
- echo "begin fetching updated runtime files..."
- for _file in $(grep "file = " "${srcdir}/${_recipe}"); do
- _file=$(echo ${_file} | sed "s|.*file = \(.*\)|\1|")
- _md5=$(grep -A2 "file = ${_file} *$" "${srcdir}/${_recipe}" | \
- grep "get_md5" | \
- sed 's|@if get_md5(file) != "\(.*\)":|\1|g')
- _dir=$(dirname "${_file}")
-
- mkdir -p "${_dir}"
-
- echo -e "\t${_file}"
- _havefile=0
- # if we have the file and the MD5sum fails, we technically don't have the file
- if [ -f ${_file} ]; then
- # MD5 fails ? ... we don't have the file
- if [ $(echo "${_md5} ${_file}" | md5sum --status -c -) ]; then
- rm ${_file}
- else
- _havefile=1
- fi
- fi
- # look files that were not copied from the unzipped sources
- _cachefile=${srcdir}/${_versiondir}/runtime/${_file}
- if [ ${_havefile} -ne 1 -a -f ${_cachefile} ]; then
- # MD5 fails ? ... we lookup if we downloaded another version earlier
- if [ $(echo "${_md5} ${_cachefile}" | md5sum --status -c -) ]; then
- _cachefile=${_srccache}/${_file}
- if [ -f ${_cachefile} ]; then
- if [ $(echo "${_md5} ${_cachefile}" | md5sum --status -c -) ]; then
- rm ${_cachefile}
- else
- cp ${_cachefile} ${_dir}
- _havefile=1
- fi
- fi
- else
- cp ${_cachefile} ${_dir}
- _havefile=1
- fi
- fi
- # look up the local $SRCDEST
- _cachefile=${_srccache}/${_file}
- if [ ${_havefile} -ne 1 -a -f ${_cachefile} ]; then
- # MD5 fails ? ... we don't have the file
- if [ $(echo "${_md5} ${_cachefile}" | md5sum --status -c -) ]; then
- rm ${_cachefile}
- else
- cp ${_cachefile} ${_dir}
- _havefile=1
- fi
- fi
- # so we finally have to fetch it and store it to $SRCDEST (cache)
- if [ ${_havefile} -ne 1 ]; then
- echo -n -e "\t ... fetching file ${_file} ..."
- cd "${_dir}"
- wget "${_ftp}/${_file}" >/dev/null 2>&1
- cd "${_runtimedir}"
- # store freshly downloaded file in SRCDEST
- mkdir -p ${_srccache}/${_dir}
- cp ${_file} ${_srccache}/${_dir}
- echo -e " done!"
- fi
-
- # check the MD5 sum finally
- if [ $(echo "${_md5} ${_file}" | md5sum --status -c -) ]; then
- echo "!!!! md5sum check for ${_file} failed !!!!"
- errors=$((${_errors} + 1))
- fi
- done
- IFS=${_OLDIFS}
-
- echo "vim runtime got updated"
-
- if [ ${_errors} -gt 0 ]; then
- echo "${_errors} failed MD5 checks while updating runtime files -> build can't be completed"
- return 1
- else
- echo -e "\tpatching filetype.vim for better handling of pacman related files ..."
- sed -i "s/rpmsave/pacsave/;s/rpmnew/pacnew/;s/,\*\.ebuild/\0,PKGBUILD*,*.install/" filetype.vim
- sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" ftplugin/changelog.vim
- fi
- # make Aaron happy
- wget http://www.vim.org/scripts/download_script.php\?src_id=10872 \
- -O autoload/pythoncomplete.vim
- cd "${_OLDDIR}"
- return 0
-}
Added: gvim.desktop
===================================================================
--- gvim.desktop (rev 0)
+++ gvim.desktop 2010-04-18 07:37:23 UTC (rev 77810)
@@ -0,0 +1,42 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Name=gVim
+Name[eo]=VIM-fasado
+Name[sv]=gVim
+Name[xx]=xx
+Comment=GTK2 enhanced vim text editor
+Comment[ar]=محرر نصوص
+Comment[bg]=Текст Редактор
+Comment[de]=Texteditor
+Comment[el]=Διορθωτής Κειμένου
+Comment[eo]=Tekstredaktilo
+Comment[et]=Tekstiredaktor
+Comment[eu]=Testu Editorea
+Comment[fi]=Tekstieditori
+Comment[he]=עורך טקסט
+Comment[is]=Textaritill
+Comment[ja]=テキストエディタ
+Comment[lt]=Teksto redaktorius
+Comment[mt]=Editur tat-test
+Comment[pt_BR]=Editor de Texto
+Comment[ro]=Editor de text
+Comment[ru]=редактор
+Comment[sk]=Textový editor
+Comment[sl]=Urejevalnik besedil
+Comment[ta]=¯¨Ã ¦¾¡ÌôÀ¡Ç÷
+Comment[tr]=Metin Düzenleyici
+Comment[uk]=Редактор текстів
+Comment[vi]=Trình soạn văn bản
+Comment[xx]=xx
+Comment[zh_CN]=文本编辑器
+Comment[zh_TW]=文字編輯器
+GenericName=Text Editor
+Type=Application
+TryExec=gvim
+Exec=gvim
+Icon=gvim
+Terminal=false
+X-MultipleArgs=false
+Categories=GTK;Application;Utility;TextEditor;
+MimeType=application/mathml+xml;application/xhtml+xml;application/x-perl;application/x-python;application/x-shellscript;audio/x-mpegurl;audio/x-scpls;image/svg+xml;message/news;message/rfc822;text/calendar;text/css;text/english;text/html;text/mrml;text/plain;text/rdf;text/rss;text/rtf;text/sgml;text/vnd.wap.wml;text/x-adasrc;text/x-bibtex;text/x-chdr;text/x-c++hdr;text/x-csrc;text/x-c++src;text/x-c;text/x-objc;text/x-csv;text/x-diff;text/x-java;text/x-katefilelist;text/x-latex;text/x-log;text/x-lyx;text/x-makefile;text/xmcd;text/xml;text/x-moc;text/x-mswinurl;text/x-objcsrc;text/x-pascal;text/x-perl;text/x-php;text/x-php-source;text/x-python;text/x-tcl;text/x-tex;text/x-vcalendar;text/x-vcard;text/x-xslfo;text/x-xslt;
Added: gvim.install
===================================================================
--- gvim.install (rev 0)
+++ gvim.install 2010-04-18 07:37:23 UTC (rev 77810)
@@ -0,0 +1,13 @@
+post_install() {
+ echo -n "Updating desktop and mime database..."
+ update-desktop-database -q
+ echo "done."
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
Deleted: vim.install
===================================================================
--- vim.install 2010-04-18 04:30:29 UTC (rev 77809)
+++ vim.install 2010-04-18 07:37:23 UTC (rev 77810)
@@ -1,37 +0,0 @@
-post_install() {
- # if gvim is installed make vim a symlink to vim-big
- if [ -f usr/bin/vim-big ] ; then
- cd usr/bin
- rm -f vim
- ln -sf vim-big vim
- cd ${OLDPWD}
- echo "Create gvim related symlinks..."
- fi
- echo -n "Updating vi help tags..."
- usr/bin/vi --noplugins -u NONE -U NONE \
- --cmd ":helptags usr/share/vim/doc" --cmd ":q" > /dev/null 2>&1
- echo "done."
-}
-
-post_remove() {
- # By all dependencies in the world, that shall never happen, because
- # gvim depends on vim ... but then there is always pacman -Rd ...
-
- # if gvim is installed make vim a symlink to vim-big
- if [ -f usr/bin/vim-big ] ; then
- cd usr/bin
- rm -f vim
- ln -sf vim-big vim
- cd ${OLDPWD}
- echo "Create gvim related symlinks..."
- fi
-}
-
-post_upgrade() {
- post_install $1
-}
-
-
-op=$1
-shift
-[ "$(type -t "$op")" = "function" ] && $op "$@"
More information about the arch-commits
mailing list