public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] vim
@ 2001-09-11  7:08 Aron Griffis
  2001-09-11  7:40 ` Mikael Hallendal
  2001-09-12 20:53 ` Daniel Robbins
  0 siblings, 2 replies; 6+ messages in thread
From: Aron Griffis @ 2001-09-11  7:08 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1895 bytes --]

I'm considering a change and would like feedback on it.  Currently there
are two ebuilds for vim.  The first is sys-apps/vim-nogui, the second is
app-editors/vim-gtk.

I would like to collapse these into a single ebuild called
app-editors/vim.  This ebuild fulfills the following goals:

(1) Provide a nogui version of Vim that includes the various
    interpreters (Perl, Python, Ruby) that are listed in USE.  The
    sys-apps/vim-nogui ebuild can't do this because it's designed to be
    used on minimal system installation.  However I think that ebuild
    can retire now that e3 is available for minimal installations.

(2) Provide a gui version of Vim that is built depending on the USE
    flags (unlike the current app-editors/vim-gtk ebuild).  For example,
    use gnome, use gtk, or use X (Athena widgets in this case).  This
    version is installed as /usr/bin/gvim

(3) Provide them in the same ebuild, so that it isn't necessary to
    maintain separate ebuilds to follow the versions of Vim.

(4) Upgrade to Vim 6.  Officially this version is still in Beta, but
    it's used by many people in production already because of the added
    features.  I believe RH ships Vim 6 in their most recent version.

I think these goals cater to 95% of Vim users by providing both
graphical and non-graphical versions, with the full feature-set in each.
The only reason I haven't committed it yet is that I'm not sure how to
go about retiring sys-apps/vim-nogui and app-editors/vim-gtk.  Also,
I would like to verify with the other Gentoo developers that this would
be an acceptable course.

If I receive no negative feedback to this email in the next couple days,
I will pursue retiring the current vim ebuilds, and commit this new
app-editors/vim ebuild.

Thanks,
Aron

P.S.  Thanks to Insyte who handed me his first Vim 6 ebuild, even though
it has been changed significantly since then.

[-- Attachment #2: vim-6.0_pre48.ebuild --]
[-- Type: text/plain, Size: 4786 bytes --]

# Copyright 2001 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
# Authors Ben Beuchler <insyte@mazer.squad51.net> 
#     and Aron Griffis <agriffis@gentoo.org>
# $Header$

DESCRIPTION="Vi IMproved!"
HOMEPAGE="http://www.vim.org/"

# 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}"
if [ -z "$vim_pre" ]; then
    # Final releases include a dash in the directory name
    vim_letters=
    S="$WORKDIR/vim-$vim_version"
    A="vim-$vim_version.tar.bz2"
    SRC_URI="ftp://ftp.us.vim.org/pub/vim/unix/$A"
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.us.vim.org/pub/vim/unreleased/unix/$A"
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.us.vim.org/pub/vim/unreleased/unix/$A"
else
    die "Eek!  I don't know how to interpret the version!"
fi

# It appears that the tclinterp stuff in Vim is broken right now.
# 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)
DEPEND="$guidep
        virtual/glibc 
        >=sys-libs/ncurses-5.2-r2
	dev-util/cscope
        gpm?    ( >=sys-libs/gpm-1.19.3 )
	gnome?  ( gnome-base/gnome-libs )
	gtk?    ( x11-libs/gtk+ )
	X?      ( x11-base/xfree )
	perl?   ( sys-devel/perl )
	python? ( dev-lang/python )
	ruby?   ( >=dev-lang/ruby-1.6.4 )"
#	tcltk?  ( dev-lang/tcl-tk )"

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
}

src_compile() {
    local myconf
    use nls    || myconf="--disable-nls"
    use gpm    || myconf="$myconf --disable-gpm"
    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"

    #
    # First, build a gui version, this will install as /usr/bin/gvim
    #
    if use gnome; then
	guiconf="--enable-gui=gnome --with-x"
    elif use gtk; then
	guiconf="--enable-gui=gtk --with-x"
    elif use X; then
	guiconf="--enable-gui=athena --with-x"
    else
	# No gui version will be built
	guiconf=""
    fi
    if [ -n "$guiconf" ]; then
	./configure \
	    --prefix=/usr --mandir=/usr/share/man --host=$CHOST \
	    --enable-max-features --with-cscope $myconf $guiconf \
	    || die "gvim configure failed"
	# Parallel make does not work
	make || die "gvim make failed"
	mv src/vim src/gvim
    fi

    #
    # Second, build a nogui version, this will install as /usr/bin/vim
    #
    ./configure \
	--prefix=/usr --mandir=/usr/share/man --host=$CHOST \
	--enable-max-features --with-cscope $myconf \
	--enable-gui=no --without-x \
	|| die "vim configure failed"
    # Parallel make does not work
    make || die "vim make failed"
}

src_install() {
    # Install the nogui version
    mkdir -p $D/usr/{bin,share/man/man1,share/vim} $D/root
    make install STRIP=true \
	BINDIR=$D/usr/bin MANDIR=$D/usr/share/man DATADIR=$D/usr/share
    # Install the gui version, if it was built
    if [ -f src/gvim ]; then 
	install -m755 src/gvim $D/usr/bin/gvim
	ln -s gvim $D/usr/bin/gvimdiff
    fi
    # Docs
    dodoc README*
    cd $D/usr/share/doc/$PF
    ln -s ../../vim/*/doc $P
    # .vimrc for root
    install -m644 $FILESDIR/vimrc $D/root/.vimrc
    # Default .vimrc for users (this should be revisited)
    insinto /etc/skel
    newins $FILESDIR/vimrc .vimrc
}

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2001-09-13  2:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-09-11  7:08 [gentoo-dev] vim Aron Griffis
2001-09-11  7:40 ` Mikael Hallendal
2001-09-11 13:06   ` Aron Griffis
2001-09-11 14:12     ` Mikael Hallendal
2001-09-12 20:55     ` Daniel Robbins
2001-09-12 20:53 ` Daniel Robbins

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox