From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: Multiple versions Date: Sun, 27 Dec 2015 16:41:18 +0100 Message-ID: <87r3i75275.fsf@elephly.net> References: <20151227052600.GA32379@thebird.nl> <20151227092027.GA1958@sagulo> <20151227124152.GA1249@thebird.nl> <20151227144002.GA23049@sagulo> 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]:36841) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDDRp-0003OU-QL for guix-devel@gnu.org; Sun, 27 Dec 2015 10:41:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aDDRp-0001ei-0D for guix-devel@gnu.org; Sun, 27 Dec 2015 10:41:29 -0500 In-reply-to: <20151227144002.GA23049@sagulo> 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: Dmitry Bogatov Cc: guix-devel@gnu.org Dmitry Bogatov writes: >> I do the same with Ruby using profiles. I have any number of interpreters >> installed for testing and any number of libraries using either guix or >> the lib path with a profile in there. > > But how do you solve problem, that for example you want library foo-999.very.new, > compiled with ruby-1.8, but they never existed at same time in guix > package tree? Then you can either look up the recipe for ruby-1.8 in the repository history and copy it, or you create a fresh variant of the “ruby” package with something like this: (define-public my-particular-ruby (package (inherit ruby) (version "1.8") (source (origin ...) ...))) Here you adjust the version and the source, and bind this variant to a name “my-particular-ruby”. You can either put this expression in the “ruby.scm” module (e.g. in a local branch), or maintain your own package module. If you choose the latter you’d have to tell Guix about it by pointing the environment variable “GUIX_PACKAGE_PATH” at the path. ~~ Ricardo