summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Phillips <rphillips@gentoo.org>2002-10-09 05:20:54 +0000
committerRyan Phillips <rphillips@gentoo.org>2002-10-09 05:20:54 +0000
commitacf2fe8b1d2cb844e0aa5cf92fdfb0e0ab50dd8e (patch)
tree17b42fa1d19d12060d73ae11b0f7148a17284524
parentSecurity Fix. Fixes #8905 (diff)
downloadgentoo-2-acf2fe8b1d2cb844e0aa5cf92fdfb0e0ab50dd8e.tar.gz
gentoo-2-acf2fe8b1d2cb844e0aa5cf92fdfb0e0ab50dd8e.tar.bz2
gentoo-2-acf2fe8b1d2cb844e0aa5cf92fdfb0e0ab50dd8e.zip
Added patches 201-215. Latest patches fix a bug that crashes VIM; atleast on my box
-rw-r--r--app-editors/gvim/ChangeLog9
-rw-r--r--app-editors/gvim/files/digest-gvim-6.1-r22
-rw-r--r--app-editors/gvim/gvim-6.1-r2.ebuild167
-rw-r--r--app-editors/vim-core/ChangeLog8
-rw-r--r--app-editors/vim-core/files/digest-vim-core-6.1-r22
-rw-r--r--app-editors/vim-core/vim-core-6.1-r2.ebuild174
-rw-r--r--app-editors/vim/ChangeLog11
-rw-r--r--app-editors/vim/files/digest-vim-6.1-r152
-rw-r--r--app-editors/vim/vim-6.1-r15.ebuild167
9 files changed, 538 insertions, 4 deletions
diff --git a/app-editors/gvim/ChangeLog b/app-editors/gvim/ChangeLog
index 30aab0e9b58b..33ed86cedba9 100644
--- a/app-editors/gvim/ChangeLog
+++ b/app-editors/gvim/ChangeLog
@@ -1,6 +1,6 @@
# ChangeLog for app-editors/gvim
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-editors/gvim/ChangeLog,v 1.3 2002/09/30 04:42:59 rphillips Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/gvim/ChangeLog,v 1.4 2002/10/09 05:19:11 rphillips Exp $
16 Sep 2002; Hannes Mehnert <hannes@gentoo.org> gvim-6.1.ebuild:
added dependency app-editors/vim-core
@@ -8,6 +8,13 @@
14 Sep 2002; Hannes Mehnert <hannes@gentoo.org> gvim-6.1.ebuild:
commited wrong ebuild (wrong dependencies), corrected now)
+*gvim-6.1-r15.ebuild (8 Oct 2002)
+
+ 8 Oct 2002; Ryan Phillips <rphillips@gentoo.org> gvim-6.1-r15.ebuild :
+
+ Added patches 201-215. Appears my crashing bug that appeared on my
+ computer has been fixed.
+
*gvim-6.1-r1.ebuild (29 Sep 2002)
29 Sep 2002; Ryan Phillips <rphillips@gentoo.org> gvim-6.1-r1.ebuild:
diff --git a/app-editors/gvim/files/digest-gvim-6.1-r2 b/app-editors/gvim/files/digest-gvim-6.1-r2
new file mode 100644
index 000000000000..bb72db297329
--- /dev/null
+++ b/app-editors/gvim/files/digest-gvim-6.1-r2
@@ -0,0 +1,2 @@
+MD5 7fd0f915adc7c0dab89772884268b030 vim-6.1.tar.bz2 2890049
+MD5 3b5a00da4fec4f3e5cbd3fba9940d153 vimpatch-1-213.tar.bz2 158015
diff --git a/app-editors/gvim/gvim-6.1-r2.ebuild b/app-editors/gvim/gvim-6.1-r2.ebuild
new file mode 100644
index 000000000000..9825e32c84e6
--- /dev/null
+++ b/app-editors/gvim/gvim-6.1-r2.ebuild
@@ -0,0 +1,167 @@
+# Copyright 2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/app-editors/gvim/gvim-6.1-r2.ebuild,v 1.1 2002/10/09 05:19:11 rphillips Exp $
+
+# Please name the ebuild as follows. If this is followed, there
+# should be no need to modify this ebuild when the Vim version is
+# updated. (Yes it's overkill, but it was fun!)
+#
+# vim-6.0, when 6.0 is finally released
+# vim-6.0_pre9, where 9 = (i), for vim-6.0i
+# vim-6.0_pre47, where 47 = 26(a) + 21(u), for vim-6.0au
+# vim-6.0_pre72, where 72 = 52(b) + 20(t), for vim-6.0bt
+#
+# Quick reference:
+# a=1 e=5 i=9 m=13 q=17 u=21 y=25
+# b=2 f=6 j=10 n=14 r=18 v=22 z=26
+# c=3 g=7 k=11 o=15 s=19 w=23 aa=27
+# d=4 h=8 l=12 p=16 t=20 x=24 ab=28 (etc.)
+#
+# (08 Sep 2001 agriffis)
+
+# Calculate the version based on the name of the ebuild
+vim_version="${PV%_pre*}"
+vim_pre="${PV##*_pre}"
+VIMPATCH="vimpatch-1-213.tar.bz2"
+
+if [ "$vim_version" = "$vim_pre" ]; then
+ # Final releases prior to 6.0 include a dash and decimal point in
+ # the directory name
+ if [ "${vim_version%%.*}" -lt 6 ]; then
+ S="$WORKDIR/vim-$vim_version"
+ else
+ S="$WORKDIR/vim${vim_version//.}"
+ fi
+ vim_letters=
+ A="vim-$vim_version.tar.bz2"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/$A
+ ftp://ftp.us.vim.org/pub/vim/unix/$A
+ http://www.ibiblio.org/gentoo/distfiles/${VIMPATCH}"
+elif [ "$vim_pre" -lt 27 ]; then
+ # Handle (prerelease) versions with one trailing letter
+ vim_letters=`echo $vim_pre | awk '{printf "%c", $0+96}'`
+ S="$WORKDIR/vim${vim_version//.}$vim_letters"
+ A="vim-$vim_version$vim_letters.tar.bz2"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unreleased/unix/$A
+ ftp://ftp.us.vim.org/pub/vim/unreleased/unix/$A
+ http://www.ibiblio.org/gentoo/distfiles/${VIMPATCH}"
+
+elif [ "$vim_pre" -lt 703 ]; then
+ # Handle (prerelease) versions with two trailing letters
+ vim_letters=`echo $vim_pre | awk '{printf "%c%c", $0/26+96, $0%26+96}'`
+ S="$WORKDIR/vim${vim_version//.}$vim_letters"
+ A="vim-$vim_version$vim_letters.tar.bz2"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unreleased/unix/$A
+ ftp://ftp.us.vim.org/pub/vim/unreleased/unix/$A
+ http://www.ibiblio.org/gentoo/distfiles/${VIMPATCH}"
+else
+ die "Eek! I don't know how to interpret the version!"
+fi
+
+DESCRIPTION="gvim"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+KEYWORDS="x86 ppc sparc sparc64"
+
+DEPEND="dev-util/cscope
+ >=sys-libs/ncurses-5.2-r2
+ app-editors/vim-core
+ x11-base/xfree
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ gnome? ( gnome-base/gnome-libs )
+ gtk? ( =x11-libs/gtk+-1.2* )
+ perl? ( sys-devel/perl )
+ python? ( dev-lang/python )
+ ruby? ( >=dev-lang/ruby-1.6.4 )"
+# tcltk? ( dev-lang/tcl )"
+# It appears that the tclinterp stuff in Vim is broken right now (at
+# least on Linux... it works on BSD). When you --enable-tclinterp
+# flag, then the following command never returns:
+#
+# VIMINIT='let OS = system("uname -s")' vim
+#
+# Please don't re-enable the tclinterp flag without verifying first
+# that the above works. Thanks. (08 Sep 2001 agriffis)
+
+
+src_unpack() {
+ unpack ${A}
+ # Fixup a script to use awk instead of nawk
+ cd ${S}/runtime/tools
+ mv mve.awk mve.awk.old
+ ( read l; echo "#!/usr/bin/awk -f"; cat ) <mve.awk.old >mve.awk
+ # Another set of patch's borrowed from src rpm to fix syntax error's etc.
+ cd ${WORKDIR}
+ tar xvjf ${FILESDIR}/vimpatch.tar.bz2
+ cd $S
+ patch -p1 < ${WORKDIR}/vim-4.2-speed_t.patch || die
+ patch -p1 < ${WORKDIR}/vim-5.1-vimnotvi.patch || die
+ patch -p1 < ${WORKDIR}/vim-5.6a-paths.patch || die
+ patch -p1 < ${WORKDIR}/vim-6.0-fixkeys.patch || die
+ patch -p1 < ${WORKDIR}/vim-6.0-specsyntax.patch || die
+ patch -p1 < ${WORKDIR}/vim-6.0r-crv.patch || die
+
+ cd ${WORKDIR}
+ tar xvjf ${DISTDIR}/${VIMPATCH}
+ cd ${S}
+
+ # Apply any patches available for this version
+ local patches=`echo ${WORKDIR}/${PV}.[0-9][0-9][0-9]`
+ case "$patches" in
+ *\])
+ ;; # globbing didn't work; no patches available
+ *)
+ cd $S
+ for a in $patches; do
+ echo -n "Applying patch $a..."
+ patch -p0 < $a > /dev/null || die
+ echo "OK"
+ done
+ ;;
+ esac
+}
+
+src_compile() {
+ local myconf
+ use nls && myconf="--enable-multibyte" || myconf="--disable-nls"
+ use perl && myconf="$myconf --enable-perlinterp"
+ use python && myconf="$myconf --enable-pythoninterp"
+ use ruby && myconf="$myconf --enable-rubyinterp"
+
+# tclinterp is BROKEN. See note above DEPEND=
+# use tcltk && myconf="$myconf --enable-tclinterp"
+
+# Added back gpm for temporary will remove if necessary, I think that I have
+# fixed most of gpm so it should be fine.
+ use gpm || myconf="$myconf --disable-gpm"
+
+ if use gnome; then
+ guiconf="--enable-gui=gnome --with-x"
+ elif use gtk; then
+ guiconf="--enable-gui=gtk --with-x"
+ else
+ guiconf="--enable-gui=athena --with-x"
+ fi
+
+ # This should fix a sandbox violation.
+ addwrite /dev/pty/*
+
+ if [ -n "$guiconf" ]; then
+ ./configure \
+ --prefix=/usr --mandir=/usr/share/man --host=$CHOST \
+ --with-features=huge --enable-cscope $myconf $guiconf \
+ --with-vim-name=gvim || die "gvim configure failed"
+ # Parallel make does not work
+ make || die "gvim make failed"
+ fi
+}
+
+src_install() {
+ dobin src/gvim
+ ln -s gvim ${D}/usr/bin/gvimdiff
+ # Default gvimrc
+ insinto /usr/share/vim
+ doins ${FILESDIR}/gvimrc
+}
diff --git a/app-editors/vim-core/ChangeLog b/app-editors/vim-core/ChangeLog
index 09621b381167..7c4518351620 100644
--- a/app-editors/vim-core/ChangeLog
+++ b/app-editors/vim-core/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-editors/vim-core
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-editors/vim-core/ChangeLog,v 1.2 2002/09/30 04:45:30 rphillips Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/vim-core/ChangeLog,v 1.3 2002/10/09 05:20:54 rphillips Exp $
+
+*vim-core-6.1-r2 (8 Oct 2002)
+
+ 8 Oct 2002; Ryan Phillips <rphillips@gentoo.org> vim-core-6.1-r2.ebuild :
+
+ Added 201-215 patches.
*vim-core-6.1-r1 (29 Sep 2002)
diff --git a/app-editors/vim-core/files/digest-vim-core-6.1-r2 b/app-editors/vim-core/files/digest-vim-core-6.1-r2
new file mode 100644
index 000000000000..bb72db297329
--- /dev/null
+++ b/app-editors/vim-core/files/digest-vim-core-6.1-r2
@@ -0,0 +1,2 @@
+MD5 7fd0f915adc7c0dab89772884268b030 vim-6.1.tar.bz2 2890049
+MD5 3b5a00da4fec4f3e5cbd3fba9940d153 vimpatch-1-213.tar.bz2 158015
diff --git a/app-editors/vim-core/vim-core-6.1-r2.ebuild b/app-editors/vim-core/vim-core-6.1-r2.ebuild
new file mode 100644
index 000000000000..57eec88ba99d
--- /dev/null
+++ b/app-editors/vim-core/vim-core-6.1-r2.ebuild
@@ -0,0 +1,174 @@
+# Copyright 2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/app-editors/vim-core/vim-core-6.1-r2.ebuild,v 1.1 2002/10/09 05:20:54 rphillips Exp $
+
+# Please name the ebuild as follows. If this is followed, there
+# should be no need to modify this ebuild when the Vim version is
+# updated. (Yes it's overkill, but it was fun!)
+#
+# vim-6.0, when 6.0 is finally released
+# vim-6.0_pre9, where 9 = (i), for vim-6.0i
+# vim-6.0_pre47, where 47 = 26(a) + 21(u), for vim-6.0au
+# vim-6.0_pre72, where 72 = 52(b) + 20(t), for vim-6.0bt
+#
+# Quick reference:
+# a=1 e=5 i=9 m=13 q=17 u=21 y=25
+# b=2 f=6 j=10 n=14 r=18 v=22 z=26
+# c=3 g=7 k=11 o=15 s=19 w=23 aa=27
+# d=4 h=8 l=12 p=16 t=20 x=24 ab=28 (etc.)
+#
+# (08 Sep 2001 agriffis)
+
+# Calculate the version based on the name of the ebuild
+vim_version="${PV%_pre*}"
+vim_pre="${PV##*_pre}"
+VIMPATCH="vimpatch-1-213.tar.bz2"
+
+if [ "$vim_version" = "$vim_pre" ]; then
+ # Final releases prior to 6.0 include a dash and decimal point in
+ # the directory name
+ if [ "${vim_version%%.*}" -lt 6 ]; then
+ S="$WORKDIR/vim-$vim_version"
+ else
+ S="$WORKDIR/vim${vim_version//.}"
+ fi
+ vim_letters=
+ A="vim-$vim_version.tar.bz2"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/$A
+ ftp://ftp.us.vim.org/pub/vim/unix/$A
+ http://www.ibiblio.org/gentoo/distfiles/${VIMPATCH}"
+elif [ "$vim_pre" -lt 27 ]; then
+ # Handle (prerelease) versions with one trailing letter
+ vim_letters=`echo $vim_pre | awk '{printf "%c", $0+96}'`
+ S="$WORKDIR/vim${vim_version//.}$vim_letters"
+ A="vim-$vim_version$vim_letters.tar.bz2"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unreleased/unix/$A
+ ftp://ftp.us.vim.org/pub/vim/unreleased/unix/$A
+ http://www.ibiblio.org/gentoo/distfiles/${VIMPATCH}"
+
+elif [ "$vim_pre" -lt 703 ]; then
+ # Handle (prerelease) versions with two trailing letters
+ vim_letters=`echo $vim_pre | awk '{printf "%c%c", $0/26+96, $0%26+96}'`
+ S="$WORKDIR/vim${vim_version//.}$vim_letters"
+ A="vim-$vim_version$vim_letters.tar.bz2"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unreleased/unix/$A
+ ftp://ftp.us.vim.org/pub/vim/unreleased/unix/$A
+ http://www.ibiblio.org/gentoo/distfiles/${VIMPATCH}"
+else
+ die "Eek! I don't know how to interpret the version!"
+fi
+
+DESCRIPTION="vim, gvim and kvim shared files"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+KEYWORDS="x86 ppc sparc sparc64 alpha"
+
+DEPEND="dev-util/cscope
+ >=sys-libs/ncurses-5.2-r2
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ perl? ( sys-devel/perl )
+ python? ( dev-lang/python )
+ ruby? ( >=dev-lang/ruby-1.6.4 )"
+# tcltk? ( dev-lang/tcl )"
+# It appears that the tclinterp stuff in Vim is broken right now (at
+# least on Linux... it works on BSD). When you --enable-tclinterp
+# flag, then the following command never returns:
+#
+# VIMINIT='let OS = system("uname -s")' vim
+#
+# Please don't re-enable the tclinterp flag without verifying first
+# that the above works. Thanks. (08 Sep 2001 agriffis)
+
+
+src_unpack() {
+ unpack ${A}
+ # Fixup a script to use awk instead of nawk
+ cd ${S}/runtime/tools
+ mv mve.awk mve.awk.old
+ ( read l; echo "#!/usr/bin/awk -f"; cat ) <mve.awk.old >mve.awk
+ # Another set of patch's borrowed from src rpm to fix syntax error's etc.
+ cd ${WORKDIR}
+ tar xvjf ${FILESDIR}/vimpatch.tar.bz2
+ cd $S
+ patch -p1 < ${WORKDIR}/vim-4.2-speed_t.patch || die
+ patch -p1 < ${WORKDIR}/vim-5.1-vimnotvi.patch || die
+ patch -p1 < ${WORKDIR}/vim-5.6a-paths.patch || die
+ patch -p1 < ${WORKDIR}/vim-6.0-fixkeys.patch || die
+ patch -p1 < ${WORKDIR}/vim-6.0-specsyntax.patch || die
+ patch -p1 < ${WORKDIR}/vim-6.0r-crv.patch || die
+
+ cd ${WORKDIR}
+ tar xvjf ${DISTDIR}/${VIMPATCH}
+ cd ${S}
+
+ # Apply any patches available for this version
+ local patches=`echo ${WORKDIR}/${PV}.[0-9][0-9][0-9]`
+ case "$patches" in
+ *\])
+ ;; # globbing didn't work; no patches available
+ *)
+ cd $S
+ for a in $patches; do
+ echo -n "Applying patch $a..."
+ patch -p0 < $a > /dev/null || die
+ echo "OK"
+ done
+ ;;
+ esac
+
+ # Also apply the ebuild syntax patch, until this is in Vim proper
+ cd $S/runtime
+ patch -f -p0 < ${FILESDIR}/ebuild.patch
+
+}
+
+src_compile() {
+
+ local myconf
+ use nls && myconf="--enable-multibyte" || myconf="--disable-nls"
+ use perl && myconf="$myconf --enable-perlinterp"
+ use python && myconf="$myconf --enable-pythoninterp"
+ use ruby && myconf="$myconf --enable-rubyinterp"
+
+# tclinterp is BROKEN. See note above DEPEND=
+# use tcltk && myconf="$myconf --enable-tclinterp"
+
+# Added back gpm for temporary will remove if necessary, I think that I have
+# fixed most of gpm so it should be fine.
+ use gpm || myconf="$myconf --disable-gpm"
+
+ # This should fix a sandbox violation.
+ addwrite /dev/pty/*
+
+ #
+ # Build a nogui version, this will install as /usr/bin/vim
+ #
+ ./configure \
+ --prefix=/usr --mandir=/usr/share/man --host=$CHOST \
+ --with-features=huge --with-cscope $myconf \
+ --enable-gui=no \
+ || die "vim configure failed"
+ # Parallel make does not work
+ make || die "vim make failed"
+ cd ${S}
+ rm src/vim
+}
+
+src_install() {
+ mkdir -p $D/usr/{bin,share/man/man1,share/vim}
+ cd src
+ make installruntime installhelplinks installmacros installtutor installtools install-languages install-icons DESTDIR=$D \
+ BINDIR=/usr/bin MANDIR=/usr/share/man DATADIR=/usr/share
+ # Docs
+ dodoc README*
+ cd $D/usr/share/doc/$PF
+ ln -s ../../vim/*/doc $P
+
+ #fix problems with vim not finding its data files.
+ dodir /etc/env.d
+ echo "VIMRUNTIME=/usr/share/vim/vim${vim_version/.}" \
+ >${D}/etc/env.d/40vim
+}
+
diff --git a/app-editors/vim/ChangeLog b/app-editors/vim/ChangeLog
index 108f52b61bd7..d7296d589704 100644
--- a/app-editors/vim/ChangeLog
+++ b/app-editors/vim/ChangeLog
@@ -1,10 +1,17 @@
# ChangeLog for app-editors/vim
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/app-editors/vim/ChangeLog,v 1.22 2002/09/30 04:42:59 rphillips Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/vim/ChangeLog,v 1.23 2002/10/09 05:17:35 rphillips Exp $
+
+*vim-6.1-r15.ebuild (8 Oct 2002)
+
+ 8 Oct 2002; Ryan Phillips <rphillips@gentoo.org> vim-6.1-r15.ebuild :
+
+ Added patches 201-215. Appears my crashing bug that appeared on my
+ computer has been fixed.
*vim-6.1-r14.ebuild (29 Sep 2002)
- 29 Sep 2002l Ryan Phillips <rphillips@gentoo.org> vim-6.1-r14.ebuild :
+ 29 Sep 2002; Ryan Phillips <rphillips@gentoo.org> vim-6.1-r14.ebuild :
Added patched 1-200.... Jon's fix for bug #8237 should be taken care of
within this patch set.
diff --git a/app-editors/vim/files/digest-vim-6.1-r15 b/app-editors/vim/files/digest-vim-6.1-r15
new file mode 100644
index 000000000000..bb72db297329
--- /dev/null
+++ b/app-editors/vim/files/digest-vim-6.1-r15
@@ -0,0 +1,2 @@
+MD5 7fd0f915adc7c0dab89772884268b030 vim-6.1.tar.bz2 2890049
+MD5 3b5a00da4fec4f3e5cbd3fba9940d153 vimpatch-1-213.tar.bz2 158015
diff --git a/app-editors/vim/vim-6.1-r15.ebuild b/app-editors/vim/vim-6.1-r15.ebuild
new file mode 100644
index 000000000000..e3cf002f2436
--- /dev/null
+++ b/app-editors/vim/vim-6.1-r15.ebuild
@@ -0,0 +1,167 @@
+# Copyright 2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/app-editors/vim/vim-6.1-r15.ebuild,v 1.1 2002/10/09 05:17:35 rphillips Exp $
+
+# Please name the ebuild as follows. If this is followed, there
+# should be no need to modify this ebuild when the Vim version is
+# updated. (Yes it's overkill, but it was fun!)
+#
+# vim-6.0, when 6.0 is finally released
+# vim-6.0_pre9, where 9 = (i), for vim-6.0i
+# vim-6.0_pre47, where 47 = 26(a) + 21(u), for vim-6.0au
+# vim-6.0_pre72, where 72 = 52(b) + 20(t), for vim-6.0bt
+#
+# Quick reference:
+# a=1 e=5 i=9 m=13 q=17 u=21 y=25
+# b=2 f=6 j=10 n=14 r=18 v=22 z=26
+# c=3 g=7 k=11 o=15 s=19 w=23 aa=27
+# d=4 h=8 l=12 p=16 t=20 x=24 ab=28 (etc.)
+#
+# (08 Sep 2001 agriffis)
+
+set -e
+
+# Calculate the version based on the name of the ebuild
+vim_version="${PV%_pre*}"
+vim_pre="${PV##*_pre}"
+VIMPATCH="vimpatch-1-213.tar.bz2"
+
+if [ "$vim_version" = "$vim_pre" ]; then
+ # Final releases prior to 6.0 include a dash and decimal point in
+ # the directory name
+ if [ "${vim_version%%.*}" -lt 6 ]; then
+ S="$WORKDIR/vim-$vim_version"
+ else
+ S="$WORKDIR/vim${vim_version//.}"
+ fi
+ vim_letters=
+ A="vim-$vim_version.tar.bz2"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unix/$A
+ ftp://ftp.us.vim.org/pub/vim/unix/$A
+ http://www.ibiblio.org/gentoo/distfiles/${VIMPATCH}"
+elif [ "$vim_pre" -lt 27 ]; then
+ # Handle (prerelease) versions with one trailing letter
+ vim_letters=`echo $vim_pre | awk '{printf "%c", $0+96}'`
+ S="$WORKDIR/vim${vim_version//.}$vim_letters"
+ A="vim-$vim_version$vim_letters.tar.bz2"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unreleased/unix/$A
+ ftp://ftp.us.vim.org/pub/vim/unreleased/unix/$A
+ http://www.ibiblio.org/gentoo/distfiles/${VIMPATCH}"
+
+elif [ "$vim_pre" -lt 703 ]; then
+ # Handle (prerelease) versions with two trailing letters
+ vim_letters=`echo $vim_pre | awk '{printf "%c%c", $0/26+96, $0%26+96}'`
+ S="$WORKDIR/vim${vim_version//.}$vim_letters"
+ A="vim-$vim_version$vim_letters.tar.bz2"
+ SRC_URI="ftp://ftp.vim.org/pub/vim/unreleased/unix/$A
+ ftp://ftp.us.vim.org/pub/vim/unreleased/unix/$A
+ http://www.ibiblio.org/gentoo/distfiles/${VIMPATCH}"
+else
+ die "Eek! I don't know how to interpret the version!"
+fi
+
+DESCRIPTION="Vi IMproved!"
+HOMEPAGE="http://www.vim.org/"
+
+SLOT="0"
+LICENSE="vim"
+KEYWORDS="x86 ppc sparc sparc64 alpha"
+
+DEPEND="app-editors/vim-core
+ dev-util/cscope
+ >=sys-libs/ncurses-5.2-r2
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ perl? ( sys-devel/perl )
+ python? ( dev-lang/python )
+ ruby? ( >=dev-lang/ruby-1.6.4 )"
+# tcltk? ( dev-lang/tcl )"
+# It appears that the tclinterp stuff in Vim is broken right now (at
+# least on Linux... it works on BSD). When you --enable-tclinterp
+# flag, then the following command never returns:
+#
+# VIMINIT='let OS = system("uname -s")' vim
+#
+# Please don't re-enable the tclinterp flag without verifying first
+# that the above works. Thanks. (08 Sep 2001 agriffis)
+
+
+src_unpack() {
+ unpack ${A}
+ # Fixup a script to use awk instead of nawk
+ cd ${S}/runtime/tools
+ mv mve.awk mve.awk.old
+ ( read l; echo "#!/usr/bin/awk -f"; cat ) <mve.awk.old >mve.awk
+ # Another set of patch's borrowed from src rpm to fix syntax error's etc.
+ cd ${WORKDIR}
+ tar xvjf ${FILESDIR}/vimpatch.tar.bz2
+ cd $S
+ patch -p1 < ${WORKDIR}/vim-4.2-speed_t.patch || die
+ patch -p1 < ${WORKDIR}/vim-5.1-vimnotvi.patch || die
+ patch -p1 < ${WORKDIR}/vim-5.6a-paths.patch || die
+ patch -p1 < ${WORKDIR}/vim-6.0-fixkeys.patch || die
+ patch -p1 < ${WORKDIR}/vim-6.0-specsyntax.patch || die
+ patch -p1 < ${WORKDIR}/vim-6.0r-crv.patch || die
+
+ cd ${WORKDIR}
+ tar xvjf ${DISTDIR}/${VIMPATCH}
+ cd ${S}
+
+ # Apply any patches available for this version
+ local patches=`echo ${WORKDIR}/${PV}.[0-9][0-9][0-9]`
+ case "$patches" in
+ *\])
+ ;; # globbing didn't work; no patches available
+ *)
+ cd $S
+ for a in $patches; do
+ echo -n "Applying patch $a..."
+ patch -p0 < $a > /dev/null || die
+ echo "OK"
+ done
+ ;;
+ esac
+}
+
+src_compile() {
+ local myconf
+ myconf="--without-x"
+ use nls && myconf="$myconf --enable-multibyte"
+ use nls || myconf="$myconf --disable-nls"
+ use perl && myconf="$myconf --enable-perlinterp"
+ use python && myconf="$myconf --enable-pythoninterp"
+ use ruby && myconf="$myconf --enable-rubyinterp"
+
+# tclinterp is BROKEN. See note above DEPEND=
+# use tcltk && myconf="$myconf --enable-tclinterp"
+
+# Added back gpm for temporary will remove if necessary, I think that I have
+# fixed most of gpm so it should be fine.
+ use gpm || myconf="$myconf --disable-gpm"
+
+ # This should fix a sandbox violation.
+ addwrite "${SSH_TTY}"
+
+ #
+ # Build a nogui version, this will install as /usr/bin/vim
+ #
+ ./configure \
+ --prefix=/usr --mandir=/usr/share/man --host=$CHOST \
+ --with-features=huge --with-cscope $myconf \
+ --enable-gui=no \
+ || die "vim configure failed"
+ # Parallel make does not work
+ make || die "vim make failed"
+}
+
+src_install() {
+ dobin src/vim
+ ln -s vim ${D}/usr/bin/vimdiff
+ # Default vimrc
+ insinto /usr/share/vim
+ doins ${FILESDIR}/vimrc
+}
+
+pkg_postinst() {
+ einfo ""
+ einfo "gvim has now a seperate ebuild, 'emerge gvim' will install gvim"
+}