From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pjotr Prins Subject: Re: Reproducible environments Date: Tue, 6 Oct 2015 20:59:08 +0200 Message-ID: <20151006185908.GA13314@thebird.nl> References: <22035.42892.444833.212704@Konrad-Hinsens-MacBook-Pro-2.local> <20151006120043.GB11759@thebird.nl> <22035.65024.910687.992427@Konrad-Hinsens-MacBook-Pro-2.local> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42628) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjXVD-0004lL-Ud for guix-devel@gnu.org; Tue, 06 Oct 2015 15:03:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZjXUQ-0003Fi-UF for guix-devel@gnu.org; Tue, 06 Oct 2015 15:02:19 -0400 Received: from mail.thebird.nl ([95.154.246.10]:38075) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjXUQ-000394-J8 for guix-devel@gnu.org; Tue, 06 Oct 2015 15:01:30 -0400 Content-Disposition: inline In-Reply-To: <22035.65024.910687.992427@Konrad-Hinsens-MacBook-Pro-2.local> 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: Konrad Hinsen Cc: guix-devel@gnu.org On Tue, Oct 06, 2015 at 06:59:44PM +0200, Konrad Hinsen wrote: > Here's an example (a simplified version of the real situation that motivated > me to check out Guix): > > - I need to use Program X that depends on libraries A and B. > - The current versions are A-1.1 and B-42.0.1. > - X requires "1.0 or later" for A but "41.*" for B, because > version 42.* of B is not fully backwards compatible. > > If there's no Guix commit that has both A and B in the required > version range, then the easiest way to get what I need is to use an > older Guix commit for installing B than I use for A. > > In fact, the only other alternative I see is to add a package definition > for the old version of B to a later Guix commit. That's likely to be > much more difficult. Create multiple packages. Such as we do for Ruby 1.8, 2.1 and 2.2. You can specify specific dependencies on each using one git checkout. > > Note that you can also tar ball a binary package with all its > > dependencies (using guix archive) and distribute that. That is > > reproducible at the binary level. That may be more useful for end-users. > > That's what I would use to share environments with collaborators. But > I wouldn't download binaries from a stranger, and I don't expect > others to have a different attitude. Agree. But sometimes convenience wins. Also the binary tar balls may help with rapid deployment. Pj.