From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Multiple versions Date: Tue, 29 Dec 2015 16:21:48 +0100 Message-ID: <87bn992sc3.fsf@gnu.org> References: <20151227052600.GA32379@thebird.nl> <20151227092027.GA1958@sagulo> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36484) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDw61-0003L7-2k for guix-devel@gnu.org; Tue, 29 Dec 2015 10:21:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aDw5x-0001Xm-UN for guix-devel@gnu.org; Tue, 29 Dec 2015 10:21:57 -0500 In-Reply-To: <20151227092027.GA1958@sagulo> (Dmitry Bogatov's message of "Sun, 27 Dec 2015 12:20:27 +0300") 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 skribis: > Currently, I am at master branch. I want install parallel-20151122. > But it is gone since 0877e. I propose to keep *all* versions, > but just 'parallel' refer to latest. First, I think it=E2=80=99s important to distinguish the source (the package recipes in gnu/packages/*.scm) and the installed packages (stuff in /gnu/store.) Users can keep the versions they want in their store and in their profiles. For recipes, as Andreas noted, it would be terrible for Guix as a project to provide and maintain zillions of different versions of each package (keeping them all would be easy, but we want to provide packages that actually build :-)). However, users can write their own modules containing different versions or variants of the packages. For instance, you could write: (define-module (my-packages) #:use-module (gnu packages parallel)) (define my-parallel ;; Inherit from the Parallel recipe that Guix provides, but override ;; the version being used. (package (inherit parallel) (version "x.y.z") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 (base32 "0phn9dlkqlq3cq468ypxbbn78bsjcin743pyvf8ip4qg6jz662jm")))= ))) Then drop that in =E2=80=98GUIX_PACKAGE_PATH=E2=80=99, and run: guix package -i parallel-x.y.z HTH, Ludo=E2=80=99.