From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on finch.gentoo.org X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=DATE_IN_FUTURE_06_12, DMARC_NONE,INVALID_DATE,MAILING_LIST_MULTI autolearn=no autolearn_force=no version=4.0.0 Received: from mail12.speakeasy.net ([216.254.0.212] helo=mail.speakeasy.net) by cvs.gentoo.org with esmtp (Exim 3.30 #1) id 15gnG7-0004wD-00 for gentoo-dev@gentoo.org; Tue, 11 Sep 2001 07:07:24 -0600 Received: (qmail 62547 invoked from network); 11 Sep 2001 13:06:58 -0000 Received: from unknown (HELO yde) ([66.92.103.162]) (envelope-sender ) by mail12.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 11 Sep 2001 13:06:58 -0000 Received: from agriffis by yde with local (Exim 3.32 #1 (Debian)) id 15gQjZ-0001WN-00 for ; Mon, 10 Sep 2001 09:04:17 -0400 From: Aron Griffis To: gentoo-dev@gentoo.org Message-ID: <20010910090417.A5791@yde.flatmonk.org> Mail-Followup-To: gentoo-dev@gentoo.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="SLDf9lqlvOQaIe6s" Content-Disposition: inline User-Agent: Mutt/1.3.20i X-Mailer: Mutt http://www.mutt.org/ X-Editor: Vim http://www.vim.org/ X-URL: http://bigfoot.com/~agriffis/ Subject: [gentoo-dev] vim Sender: gentoo-dev-admin@cvs.gentoo.org Errors-To: gentoo-dev-admin@cvs.gentoo.org X-BeenThere: gentoo-dev@cvs.gentoo.org X-Mailman-Version: 2.0 Precedence: bulk Reply-To: gentoo-dev@cvs.gentoo.org List-Help: List-Post: List-Subscribe: , List-Id: Gentoo Linux development list List-Unsubscribe: , List-Archive: Date: Tue Sep 11 07:08:02 2001 X-Original-Date: Mon, 10 Sep 2001 09:04:17 -0400 X-Archives-Salt: 86de5249-c804-48df-b346-ddc2d011c1ef X-Archives-Hash: 05b6083c222f606e50e39fc51e362943 --SLDf9lqlvOQaIe6s Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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. --SLDf9lqlvOQaIe6s Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="vim-6.0_pre48.ebuild" # Copyright 2001 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Authors Ben Beuchler # and Aron Griffis # $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 } 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 } --SLDf9lqlvOQaIe6s--