unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: zimoun <zimon.toutoune@gmail.com>
To: Julien Lepiller <julien@lepiller.eu>
Cc: help-guix <help-guix@gnu.org>, Lo Peter <peterloleungyau@gmail.com>
Subject: Re: Install older version of a package with the "@version" specifier
Date: Fri, 26 Jun 2020 20:04:37 +0200	[thread overview]
Message-ID: <CAJ3okZ1GgpDuCTXw0mdS3L8POG5epCaSVCxCKT_=-LQEd5+hiQ@mail.gmail.com> (raw)
In-Reply-To: <89632FC3-1266-430D-822B-392DB700B323@lepiller.eu>

Dear,

On Fri, 26 Jun 2020 at 19:15, Julien Lepiller <julien@lepiller.eu> wrote:

> - use r from an old revision of guix that had the version you're looking for. This can be done using an "inferior". The package will more likely build (and even have substitutes), but it uses the old version of all its dependencies, which are not necessarily patched for vulnerabilities and may require more space to be stored, as they are not shared with other packages.

It is not easy to find the old revision (commit) which owns the
version you are looking for.  In such cases, the Guix Data Service
could help.  For example, this URL lists all the R versions in Guix
over the time:

https://data.guix.gnu.org/repository/1/branch/master/package/r

As you can see, it is rare that 2 versions of R exist at the same time
in Guix.  I let you click and you will find that the last commit
containing the R version 3.6.3 is the commit 899093.

https://data.guix.gnu.org/revision/89909327d017198969436237acc7c93823ff8147/package/r/3.6.3

Then the way for creating an inferior is "guix time-machine".  It goes
back but without polluting your current setup; you can have different
versions from different time/commit.  The following command creates
temporarily an old Guix version and use it for spawning an environment
containing R.

--8<---------------cut here---------------start------------->8---
$ guix time-machine --commit=899093      \
     -- environment --ad-hoc r-minimal \
     -- R
R version 3.6.3 (2020-02-29) -- "Holding the Windsock"
[...]
> sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-unknown-linux-gnu (64-bit)
Running under: Debian GNU/Linux 10 (buster)

Matrix products: default
BLAS/LAPACK: /gnu/store/vax1vsg3ivf0r7j7n2xkbi1z3r0504l9-openblas-0.3.7/lib/libopenblasp-r0.3.7.so

locale:
[1] C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.6.3
>
--8<---------------cut here---------------end--------------->8---

Instead of 'environment', you can use 'install -p
/path/to/profile/with/old/R'.  However, it is important to be clear
with which version of R you are using and which version is used to
"compile" the R packages you will install, and use a manifest.scm file
is really a good practise when traveling in time. :-)


Hope that helps,
simon


  reply	other threads:[~2020-06-26 18:05 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-26 16:07 Install older version of a package with the "@version" specifier Lo Peter
2020-06-26 17:14 ` Julien Lepiller
2020-06-26 18:04   ` zimoun [this message]
2020-06-27  6:33     ` Lo Peter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ3okZ1GgpDuCTXw0mdS3L8POG5epCaSVCxCKT_=-LQEd5+hiQ@mail.gmail.com' \
    --to=zimon.toutoune@gmail.com \
    --cc=help-guix@gnu.org \
    --cc=julien@lepiller.eu \
    --cc=peterloleungyau@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).