From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-dev+bounces-63318-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	by finch.gentoo.org (Postfix) with ESMTP id BC76C1387A6
	for <garchives@archives.gentoo.org>; Fri,  1 Nov 2013 17:47:26 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 14A63E099F;
	Fri,  1 Nov 2013 17:47:20 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 2F0DBE0968
	for <gentoo-dev@lists.gentoo.org>; Fri,  1 Nov 2013 17:47:19 +0000 (UTC)
Received: from [192.168.11.61] (cpe-72-177-217-176.satx.res.rr.com [72.177.217.176])
	(using SSLv3 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits))
	(No client certificate requested)
	(Authenticated sender: steev)
	by smtp.gentoo.org (Postfix) with ESMTPSA id 15DCE33F030
	for <gentoo-dev@lists.gentoo.org>; Fri,  1 Nov 2013 17:47:18 +0000 (UTC)
Message-ID: <1383327937.4573.1.camel@oswin.hackershack.net>
Subject: Re: [gentoo-dev] Re: vim and gvim package split
From: Steev Klimaszewski <steev@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Date: Fri, 01 Nov 2013 12:45:37 -0500
In-Reply-To: <loom.20131101T173004-30@post.gmane.org>
References: <20131031230212.1ea303a9@egeo.atlantide.net>
	 <CAATnKFBP4eZ0aCzJWo3qrGRP7m9wY1aKKDw7_=RHrng7Hs+sJg@mail.gmail.com>
	 <loom.20131101T173004-30@post.gmane.org>
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.6.4 
Precedence: bulk
List-Post: <mailto:gentoo-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org>
X-BeenThere: gentoo-dev@lists.gentoo.org
Reply-to: gentoo-dev@lists.gentoo.org
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Archives-Salt: 0bc66aee-45dc-493e-8345-4b70b602a6f7
X-Archives-Hash: 2add75442dab51c4a1aa22e3d0953a42

On Fri, 2013-11-01 at 16:52 +0000, Alessandro DE LAURENZIS wrote:
> Kent Fredric <kentfredric <at> gmail.com> writes:
> 
> > Useflags have their perks for giving variations on behaviour, but having 3
> > effective packages in one, governed by useflags, means you'll have 3 much
> > more tightly coupled packages, and the code will be much messier with
> > useflag conditionals to pull dependencies.
> > 
> > If you imagine useflags like "if" statements, and ebuilds like independent
> > classes where "dependencies" are a kind of inheritance, you may find theres'
> > reasonable benefits for the maintenance side  e.g.: people checking reverse
> > deps for QT don't have to worry about changes in QT breaking vim and gvim
> > because those packages are independent of QT interaction 
> > 
> > 
> > Fixes that need to go in to make building vs QT mean only the qvim ebuild
> > gets updated and the rest are fine as-is.
> > 
> > The only real downside is if you're building all 3 {q,g,}vim there's a
> > little compile time overhead as a result ( Though I'm not sure what the
> > difference is in real terms )
> > 
> > But by having them seperate, we enjoy a more robust installation,
> > especially for people who only want one of the 3, then they're not
> > needlessly burdened by logic to handle things they're not using, which
> > could break.
> > 
> > Not to mention you have to deal with overheads introduced by having to
> > work out the equivalent of all three of the above having vastly different
> > useflags and making useflags conditional upon each other as a result to
> > codify the same behaviour, again, further raising the odds that a situtation
> > will arise where things break and the dependencies/use flags are  a mess.
> 
> Kent,
> 
> all your argumentations make sense, but actually only apply to vim-qt, which
> isn't in fact in the vim main tree.
> 
> In other words: it's normal that vim and vim-qt are two different packages,
> but gvim is just vim with the GUI interface (neither an add-on nor a different
> project); playing with USE flags in /etc/portage/package.use should give easy
> access to all the possible options:
> 
> - only vim ("-gtk");
> - gvim ("gtk");
> - qvim ("-gtk" for vim and vim-qt as package, having vim as dependency);
> - or even both ("gtk" for vim and vim-qt).
> 
> What's wrong or complex (from a mantainer perspective) with this?
> 
> Thanks for your comments
> 
> 
> 
For binary package use, it's nice, as you may want to only install vim
on one machine, and gvim on a different one, but if you use the same
binhost that means you have to build vim rather than use the binary
packages.