From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philippe Veber Subject: Re: List available versions of package. Date: Tue, 11 Jun 2019 09:43:08 +0200 Message-ID: References: <87ftohqg9l.fsf@nckx> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:40212) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1habRE-0002OH-BR for help-guix@gnu.org; Tue, 11 Jun 2019 03:43:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1habRA-00054m-Qa for help-guix@gnu.org; Tue, 11 Jun 2019 03:43:24 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:45995) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1habRA-000542-HX for help-guix@gnu.org; Tue, 11 Jun 2019 03:43:20 -0400 Received: by mail-wr1-x432.google.com with SMTP id f9so11752829wre.12 for ; Tue, 11 Jun 2019 00:43:20 -0700 (PDT) In-Reply-To: <87ftohqg9l.fsf@nckx> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Tobias Geerinckx-Rice Cc: help-guix@gnu.org Hello Tobias, and thanks a lot for your answer! So as I understand it, the distribution at a given moment contains only a few versions (often one), and not all that have been specified at some point. For instance, with your command I obtain: $ guix package --list-available=3D^bowtie$ bowtie 2.3.4.3 out gnu/packages/bioinformatics.scm:1505:2 while I could check on guix git log that there has been more versions of this bowtie program : $ git log packages/bioinformatics.scm | grep "gnu: bowtie" gnu: bowtie: Update to 2.3.4.3. gnu: bowtie: Use 'modify-phases'. gnu: bowtie: Update to 2.3.2. gnu: bowtie: Update to 2.2.9. gnu: bowtie: Update to 2.2.6. My use case is to be able to run old versions of software (like you've never heard that before, right ;o)?) so is it correct to think that I have to write a manifest file and then use a : guix environment --manifest bowtie_2.2.9.scm -- bowtie2 ... ? If so, I'm not absolutely clear on the contents of the manifest file. I tried to get inspiration from the section on "Inferiors" [0], and wrote this: %% bowtie_2.2.9.scm %%%%%%%%%%%%% (use-modules (guix inferior) (guix channels) (srfi srfi-1)) ;for 'first' (define channels ;; This is the old revision from which we want to ;; extract guile-json. (list (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (commit "2642231b39d2f642364e96222690afce7c986bb6")))) (define inferior ;; An inferior representing the above revision. (inferior-for-channels channels)) (packages->manifest (list (first (lookup-inferior-packages inferior "bowtie")))) %%%%%%%%%%%%%%% but got the following result: $ guix environment --manifest=3Dbowtie_2.2.9.scm -- bowtie2 --version Mise =C3=A0 jour du canal =C2=AB guix =C2=BB depuis le d=C3=A9p=C3=B4t Git = =C2=AB https://git.savannah.gnu.org/git/guix.git =C2=BB... ice-9/eval.scm:223:20: In procedure proc: erreur : %guix-register-program : variable non li=C3=A9e conseil : Auriez-vous oubli=C3=A9 un `use-modules' ? Sorry for the french translation, but I assume you got that a module is missing (BTW, that might mean that the example given in the manual section for inferiors is missing it too). So for now I'm stuck, any help will be much appreciated! Cheers, Philippe. [0] https://www.gnu.org/software/guix/manual/en/guix.html#Inferiors Le lun. 10 juin 2019 =C3=A0 23:31, Tobias Geerinckx-Rice a = =C3=A9crit : > Philippe, > > Philippe Veber wrote: > > I'm getting started with guix, and so far it's been just fine. > > Welcome! > > > I would like to see all available versions for a given package. > > Is there a command that would help me with that? > > There is: > > $ guix package --list-available=3D^glibc$ > glibc 2.25 out,debug,static > gnu/packages/base.scm:921:2 > glibc 2.22 out,debug,static > gnu/packages/base.scm:980:2 > =E2=80=A6 > > For easier interactive use, you can use the short option =E2=80=98-A=E2= =80=99. > > Note that this option takes a regular expression as argument. > That makes it powerful, but means you'll have to enclose the name > in =E2=80=98^=E2=80=A6$=E2=80=99 if you want to match one specific packag= e. > > Kind regards, > > T G-R >