Konrad Hinsen <[email protected]> skribis: > Here's an example (a simplified version of the real situation that motivated > me to check out Guix): > > - I need to use Program X that depends on libraries A and B. > - The current versions are A-1.1 and B-42.0.1. > - X requires "1.0 or later" for A but "41.*" for B, because > version 42.* of B is not fully backwards compatible. > > If there's no Guix commit that has both A and B in the required > version range, then the easiest way to get what I need is to use an > older Guix commit for installing B than I use for A.
That works if you use ‘guix package -i’ to incrementally build the profile, using different Guix commits; but it prevents you from using the declarative ‘--manifest’ approach. > In fact, the only other alternative I see is to add a package definition > for the old version of B to a later Guix commit. That's likely to be > much more difficult. It depends, but not necessarily. It’s particularly easy to maintain different versions of leaf packages, as shown in Figure 4 of the paper. Ludo’.
