help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to install an old package version?


From: Ricardo Wurmus
Subject: Re: How to install an old package version?
Date: Fri, 28 Dec 2018 16:03:33 +0100
User-agent: mu4e 1.0; emacs 26.1

Hi cdelia,

> How does guix resolves de dependency tree in those cases? Say I need a
> previous package X version, that depends on an earlier package Y
> version that the one that is defined on the "main" guix.

No “resolving” happens.  Guix is a collection of Scheme variables whose
values are package objects.  These package objects refer to the values
of other Scheme variables in Guix.  So a package that depends on
“python” actually references the value of the “python” variable.

This means that replacing a package in the dependency graph requires
more effort.  Adding the package definition itself won’t be enough.  You
would need to use the input rewriting API to rewrite the full dependency
graph of the packages that you are interested in, replacing every
instance of “python” with “my/python” recursively.

Obviously, this would result in packages for which we cannot provide
binaries.

>> Alternatively, you can use a guix git checkout on a specific commit
>> that
>> still has python-2.7.10, but it's probably not what you want.
>
> So, to avoid recursive definition of packages: Could I checkout an
> earlier guix revision, install the package and then checkout the
> latest guix version?
> Would that work or it will bring other kind of dragons?

You can do this in a manifest and using an “inferior” Guix.  See my
other message and/or the manual.  I suggest using manifests for this
instead of doing this manually.

--
Ricardo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]