From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pjotr Prins Subject: Re: Foreign packages and reproducibility (formerly Re: [PATCH] gnu: Add ruby-nokogiri) Date: Tue, 23 Feb 2016 19:52:31 +0100 Message-ID: <20160223185231.GA8112@thebird.nl> References: <20150714090613.GA1523@thebird.nl> <20160217223708.GA7805@thebird.nl> <56C4FCB6.2080108@uq.edu.au> <20160218062534.GA9060@thebird.nl> <87io1i48k5.fsf@elephly.net> <56C9A4A3.9070602@uq.edu.au> <20160221120520.GB29139@thebird.nl> <20160221172231.GA30227@thebird.nl> <20160221173127.GA30263@thebird.nl> <20160222125127.GA1440@thebird.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43029) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aYI5e-00008f-CA for guix-devel@gnu.org; Tue, 23 Feb 2016 13:53:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aYI5Z-0006TP-D0 for guix-devel@gnu.org; Tue, 23 Feb 2016 13:53:42 -0500 Received: from mail.thebird.nl ([95.154.246.10]:39308) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aYI5Z-0006TB-6o for guix-devel@gnu.org; Tue, 23 Feb 2016 13:53:37 -0500 Content-Disposition: inline In-Reply-To: <20160222125127.GA1440@thebird.nl> 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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Pjotr Prins Cc: "guix-devel@gnu.org" OK, back on the topic of conflicts between interpreters and modules: I realise the current system is fine as is! Sometimes it is good to go for a cycle run in the cold ;) GNU Guix does the right thing. It builds isolated packages, including interpreters and modules. Next it puts them in a profile. Now the key insight is that it is *not* Guix' responsibility when people mess up their profiles. It is easily possible, even with emacs, to mess up the profile. Also, Ruby allows for minor version mixing of modules. It is a Ruby problem. They should fix that. We could have the interpreter test modules for being true dependencies and we could test the interpreter for belonging with a module. But the thing is, it is not necessary. Users can easily use different profiles for different Rubies. They just need to be aware. I can create a profile named ~/.guix-pgks1l9cl696j34v9mb35lk8x6lac3b0-ruby-2.2.4 if I want to. It is good enough. That profile will contain the modules I install with that Ruby. So, after much thought, my final suggestion is to leave it like it is :). The symlink in the profile is cool. We don't need a runpath or wrapper script. Pj.