From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: Re: [PATCH 2/2] gnu: Add gnome-tweak-tool. Date: Sun, 24 Apr 2016 14:50:20 -0400 Message-ID: <20160424185020.GA7737@jasmine> References: <87vb3z3q89.fsf@drakenvlieg.flower> <20160411233524.GA11228@jasmine> <87lh4hs7yx.fsf@drakenvlieg.flower> <20160416013547.GC12389@jasmine> <87vb3gp2uk.fsf@drakenvlieg.flower> <20160417184428.GA21041@jasmine> <87wpnnz22g.fsf@drakenvlieg.flower> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53862) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1auP6x-0005cC-Az for guix-devel@gnu.org; Sun, 24 Apr 2016 14:50:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1auP6s-00077P-78 for guix-devel@gnu.org; Sun, 24 Apr 2016 14:50:27 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:45344) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1auP6s-00077K-3C for guix-devel@gnu.org; Sun, 24 Apr 2016 14:50:22 -0400 Content-Disposition: inline In-Reply-To: <87wpnnz22g.fsf@drakenvlieg.flower> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Jan Nieuwenhuizen Cc: guix-devel@gnu.org, rennes@openmailbox.org, =?utf-8?B?5a6L5paH5q2m?= On Sun, Apr 24, 2016 at 01:19:35PM +0200, Jan Nieuwenhuizen wrote: > Leo Famulari writes: > > I think we need to wrap gnome-tweak-tool's executable, which the > > python-build-system normally does automatically. AIUI, that's why all of > > the python-build-system packages don't require Python itself to be > > propagated. > > Sorry, I still don't understand. Can you explain why you want to remove > python2 from the propagated inputs? Propagated-inputs are silently installed into the user's profile alongside the package that propagates them. In this case, installing gnome-tweak-tool would also install python2 into the user's profile. Propagation becomes attractive when the software provided by a package does not have a good mechanism for finding its dependencies. For example, some software may *only* be able to find a dependency by looking on PATH. Gnome-tweak-tool, as far as we know, has this limitation for python2. The problem with propagating inputs is that only one version of a given package may be installed into a user's profile. This is in contrast to "regular" inputs, which are not installed into a user's profile. Indeed, every package that you install into your profile could refer to a different version of, say, libfoo, by linking directly to the various libfoos' directories in the store. So, letting gnome-tweak-tool propagate python2 would prevent a Python programmer from choosing which version of python2 they want in their profile; they'd be forced to choose between gnome-tweak-tool or their desired python2. Does that make sense? > And also...say we wrap gnome-tweak-tool. If we remove python2 from the > propagated inputs, AIUI it python2 will not be installed and it even > could just be that python2 is not downloaded at all under /gnu. > > How is wrapping gnome-tweak-tool going to help if we fail to make sure > that python2 is present? Sorry for my ignorance. An alternative to propagated-inputs is to use a wrapper. Actually, all of our packages using the python-build-system are wrapped automatically [0]. The wrapper makes the dependent packages available in the run-time environment without polluting the user's profile, while introducing a reference to the dependencies into the store directory, which makes sure that the garbage collector works correctly. Does that make sense? Hopefully, I've got that all right — I'll be happy if somebody clarifies or corrects me! [0] If gnome-tweak-tool did not break convention by using the Autotools to build Python software, this discussion would not be happening ;)