* List available versions of package. @ 2019-06-10 18:27 Philippe Veber 2019-06-10 21:31 ` Tobias Geerinckx-Rice 0 siblings, 1 reply; 11+ messages in thread From: Philippe Veber @ 2019-06-10 18:27 UTC (permalink / raw) To: help-guix Hi all, I'm getting started with guix, and so far it's been just fine. I would like to see all available versions for a given package. Is there a command that would help me with that? Cheers, Philippe. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: List available versions of package. 2019-06-10 18:27 List available versions of package Philippe Veber @ 2019-06-10 21:31 ` Tobias Geerinckx-Rice 2019-06-11 7:43 ` Philippe Veber 0 siblings, 1 reply; 11+ messages in thread From: Tobias Geerinckx-Rice @ 2019-06-10 21:31 UTC (permalink / raw) To: Philippe Veber; +Cc: help-guix [-- Attachment #1: Type: text/plain, Size: 715 bytes --] 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=^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 … For easier interactive use, you can use the short option ‘-A’. Note that this option takes a regular expression as argument. That makes it powerful, but means you'll have to enclose the name in ‘^…$’ if you want to match one specific package. Kind regards, T G-R [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 227 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: List available versions of package. 2019-06-10 21:31 ` Tobias Geerinckx-Rice @ 2019-06-11 7:43 ` Philippe Veber 2019-06-22 11:26 ` Philippe Veber 0 siblings, 1 reply; 11+ messages in thread From: Philippe Veber @ 2019-06-11 7:43 UTC (permalink / raw) To: Tobias Geerinckx-Rice; +Cc: help-guix 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=^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=bowtie_2.2.9.scm -- bowtie2 --version Mise à jour du canal « guix » depuis le dépôt Git « https://git.savannah.gnu.org/git/guix.git »... ice-9/eval.scm:223:20: In procedure proc: erreur : %guix-register-program : variable non liée conseil : Auriez-vous oublié 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 à 23:31, Tobias Geerinckx-Rice <me@tobias.gr> a écrit : > 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=^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 > … > > For easier interactive use, you can use the short option ‘-A’. > > Note that this option takes a regular expression as argument. > That makes it powerful, but means you'll have to enclose the name > in ‘^…$’ if you want to match one specific package. > > Kind regards, > > T G-R > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: List available versions of package. 2019-06-11 7:43 ` Philippe Veber @ 2019-06-22 11:26 ` Philippe Veber 2019-06-22 19:08 ` Tobias Geerinckx-Rice 2019-06-22 22:46 ` Ricardo Wurmus 0 siblings, 2 replies; 11+ messages in thread From: Philippe Veber @ 2019-06-22 11:26 UTC (permalink / raw) To: Tobias Geerinckx-Rice; +Cc: help-guix Hello everyone, FWIW, I tried the exact example given in the manual [0] and it failed, although for a different reason. It does a lot of work until it reaches an exception (the build of profile.drv fails). Could someone confirm this should work? Also, is it expected that packages from guix commits dating from a few years ago will still work in this setting? Thanks! ph. [0] https://www.gnu.org/software/guix/manual/en/guix.html#Inferiors Le mar. 11 juin 2019 à 09:43, Philippe Veber <philippe.veber@gmail.com> a écrit : > 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=^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=bowtie_2.2.9.scm -- bowtie2 --version > Mise à jour du canal « guix » depuis le dépôt Git « > https://git.savannah.gnu.org/git/guix.git »... > ice-9/eval.scm:223:20: In procedure proc: > erreur : %guix-register-program : variable non liée > conseil : Auriez-vous oublié 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 à 23:31, Tobias Geerinckx-Rice <me@tobias.gr> a > écrit : > >> 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=^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 >> … >> >> For easier interactive use, you can use the short option ‘-A’. >> >> Note that this option takes a regular expression as argument. >> That makes it powerful, but means you'll have to enclose the name >> in ‘^…$’ if you want to match one specific package. >> >> Kind regards, >> >> T G-R >> > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: List available versions of package. 2019-06-22 11:26 ` Philippe Veber @ 2019-06-22 19:08 ` Tobias Geerinckx-Rice 2019-06-26 18:32 ` Philippe Veber 2019-06-22 22:46 ` Ricardo Wurmus 1 sibling, 1 reply; 11+ messages in thread From: Tobias Geerinckx-Rice @ 2019-06-22 19:08 UTC (permalink / raw) To: Philippe Veber; +Cc: help-guix [-- Attachment #1: Type: text/plain, Size: 1026 bytes --] Philippe, Le mar. 11 juin 2019 à 09:43, Philippe Veber <philippeveber@gmail.com> a écrit : > Hello Tobias, and thanks a lot for your answer! I completely missed this reply. I am so sorry. Philippe Veber wrote: > Hello everyone, > > FWIW, I tried the exact example given in the manual [0] and it > failed, > although for a different reason. It does a lot of work until it > reaches an > exception (the build of profile.drv fails). Could someone > confirm this > should work? Pasting the contents of that first code box into ‘foo’ and running ‘guix environment -m foo’ works fine for me on today's guix. Could you tell us which command you're using and what the result is? > Also, is it expected that packages from guix commits dating > from a few years ago will still work in this setting? Thanks! I'm not sure. There have been some watershed moments in those years, and I don't know how well inferiors would isolate those changes, if at all. Kind regards, T G-R [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 227 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: List available versions of package. 2019-06-22 19:08 ` Tobias Geerinckx-Rice @ 2019-06-26 18:32 ` Philippe Veber 0 siblings, 0 replies; 11+ messages in thread From: Philippe Veber @ 2019-06-26 18:32 UTC (permalink / raw) To: Tobias Geerinckx-Rice; +Cc: help-guix Hi Tobias, Le mar. 11 juin 2019 à 09:43, Philippe Veber > <philippeveber@gmail.com> a écrit : > > Hello Tobias, and thanks a lot for your answer! > > I completely missed this reply. I am so sorry. > Really no worries, and thanks for lending your help! > > Philippe Veber wrote: > > Hello everyone, > > > > FWIW, I tried the exact example given in the manual [0] and it > > failed, > > although for a different reason. It does a lot of work until it > > reaches an > > exception (the build of profile.drv fails). Could someone > > confirm this > > should work? > > Pasting the contents of that first code box into ‘foo’ and running > ‘guix environment -m foo’ works fine for me on today's guix. > > Could you tell us which command you're using and what the result > is? > The command is guix environment --manifest=manifest.scm and the log is available here: https://gist.github.com/pveber/c6e9437f4964ec9f00e7f1ec6cccce52 > > > Also, is it expected that packages from guix commits dating > > from a few years ago will still work in this setting? Thanks! > > I'm not sure. There have been some watershed moments in those > years, and I don't know how well inferiors would isolate those > changes, if at all. > Ok, that limitation makes a lot of sense. I think I'll follow Ricardo's advice to enable installation of old versions. Again, thanks a lot! ph. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: List available versions of package. 2019-06-22 11:26 ` Philippe Veber 2019-06-22 19:08 ` Tobias Geerinckx-Rice @ 2019-06-22 22:46 ` Ricardo Wurmus 2019-06-26 18:43 ` Philippe Veber 2019-07-02 15:48 ` Leo Famulari 1 sibling, 2 replies; 11+ messages in thread From: Ricardo Wurmus @ 2019-06-22 22:46 UTC (permalink / raw) To: Philippe Veber; +Cc: help-guix Hi Philippe, > Also, is it expected that packages from guix commits dating > from a few years ago will still work in this setting? Thanks! Commits before the introduction of inferiors likely won’t work, unfortunately. For running old versions I recommend writing new package variants instead and including them in a channel. Using inferiors is a good idea when you want to reproduce a Guix environment that somebody else (or your younger self) recorded, but I would not recommend them as a way to make past software variants available. If you are not interested in a particular old state of the world but only care about a particular version of a single piece of software (that may be built with current toolchains and libraries) then package variants are a better idea. For bioinfo package variants also take a look at the guix-bimsb channel: https://github.com/BIMSBbioinfo/guix-bimsb (I should update the README to recommend using channels instead of GUIX_PACKAGE_PATH…) -- Ricardo ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: List available versions of package. 2019-06-22 22:46 ` Ricardo Wurmus @ 2019-06-26 18:43 ` Philippe Veber 2019-06-26 20:25 ` Ricardo Wurmus 2019-07-02 15:48 ` Leo Famulari 1 sibling, 1 reply; 11+ messages in thread From: Philippe Veber @ 2019-06-26 18:43 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: help-guix Hi Ricardo, > Also, is it expected that packages from guix commits dating > > from a few years ago will still work in this setting? Thanks! > > Commits before the introduction of inferiors likely won’t work, > unfortunately. > Sounds natural, thanks for the confirmation. > For running old versions I recommend writing new package variants > instead and including them in a channel. Using inferiors is a good idea > when you want to reproduce a Guix environment that somebody else (or > your younger self) recorded, but I would not recommend them as a way to > make past software variants available. If you are not interested in a > particular old state of the world but only care about a particular > version of a single piece of software (that may be built with current > toolchains and libraries) then package variants are a better idea. > Alright, thanks! One question though: I suppose dependencies of these packages have to be maintained in the same channel right? Otherwise, if I rely on packages from guix distribution, they can be dropped or updated to an incompatible version at any moment. That scares me a little, because it could break my channel anytime, or am I mistaken? > > For bioinfo package variants also take a look at the guix-bimsb channel: > > https://github.com/BIMSBbioinfo/guix-bimsb > > (I should update the README to recommend using channels instead of > GUIX_PACKAGE_PATH…) > Looks interesting for me! I'll ping you there for further questions! > -- > Ricardo > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: List available versions of package. 2019-06-26 18:43 ` Philippe Veber @ 2019-06-26 20:25 ` Ricardo Wurmus 2019-06-30 11:50 ` Philippe Veber 0 siblings, 1 reply; 11+ messages in thread From: Ricardo Wurmus @ 2019-06-26 20:25 UTC (permalink / raw) To: Philippe Veber; +Cc: help-guix Philippe Veber <philippe.veber@gmail.com> writes: > I suppose dependencies of these > packages have to be maintained in the same channel right? Otherwise, if I > rely on packages from guix distribution, they can be dropped or updated to > an incompatible version at any moment. That scares me a little, because it > could break my channel anytime, or am I mistaken? This is correct; it’s the Linux model of API stability: you need to make sure that your code remains compatible. -- Ricardo ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: List available versions of package. 2019-06-26 20:25 ` Ricardo Wurmus @ 2019-06-30 11:50 ` Philippe Veber 0 siblings, 0 replies; 11+ messages in thread From: Philippe Veber @ 2019-06-30 11:50 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: help-guix Alright, thanks for all the clarifications! Le mer. 26 juin 2019 à 22:25, Ricardo Wurmus <rekado@elephly.net> a écrit : > > Philippe Veber <philippe.veber@gmail.com> writes: > > > I suppose dependencies of these > > packages have to be maintained in the same channel right? Otherwise, if I > > rely on packages from guix distribution, they can be dropped or updated > to > > an incompatible version at any moment. That scares me a little, because > it > > could break my channel anytime, or am I mistaken? > > This is correct; it’s the Linux model of API stability: you need to make > sure that your code remains compatible. > > -- > Ricardo > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: List available versions of package. 2019-06-22 22:46 ` Ricardo Wurmus 2019-06-26 18:43 ` Philippe Veber @ 2019-07-02 15:48 ` Leo Famulari 1 sibling, 0 replies; 11+ messages in thread From: Leo Famulari @ 2019-07-02 15:48 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: help-guix On Sun, Jun 23, 2019 at 12:46:35AM +0200, Ricardo Wurmus wrote: > Hi Philippe, > > Also, is it expected that packages from guix commits dating > > from a few years ago will still work in this setting? Thanks! > > Commits before the introduction of inferiors likely won’t work, > unfortunately. Additionally, at least a few source code tarballs of old package versions will no longer be available online, at least not at the URLs in our package definitions. There are source code archive fallbacks that Guix will use but no guarantee they contain what you will need. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-07-02 15:48 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-06-10 18:27 List available versions of package Philippe Veber 2019-06-10 21:31 ` Tobias Geerinckx-Rice 2019-06-11 7:43 ` Philippe Veber 2019-06-22 11:26 ` Philippe Veber 2019-06-22 19:08 ` Tobias Geerinckx-Rice 2019-06-26 18:32 ` Philippe Veber 2019-06-22 22:46 ` Ricardo Wurmus 2019-06-26 18:43 ` Philippe Veber 2019-06-26 20:25 ` Ricardo Wurmus 2019-06-30 11:50 ` Philippe Veber 2019-07-02 15:48 ` Leo Famulari
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.