Le 27/06/2022 à 16:32, zimoun a écrit :
I guess “guix describe” on ’Machine B’ is not the state specified by
’Machine A’.  From my understanding, the easiest workflow is:

machine-A$ guix describe -f channels > state-A.scm
machine-A$ guix package --export-manifest > pkgs-A.scm

exchange these 2 files (even, it is better that these 2 files are
versioned with the project itsefl ;-))

machine-B$ guix time-machine -C state-A.scm \
                 package -m pkg-A.scm        \
                 -p profile-A


This way, the global state of ’Machine B’ is unchanged; in case you are
working on several projects at various states in the same time.

Thanks, here is the resulting manifest:

(specifications->manifest
  (list "gsl"
        "pcre"
        "icu4c"
        "zlib"
        "cmake"
        "make"
        "[email protected]"
        "glibc"))

[Machine B]$ guix time-machine -C ~/.config/guix/channels.scm -- package -m manifest.scm -p profile-A

...

building profile with 8 packages...
hint: Consider setting the necessary environment variables by running:

     GUIX_PROFILE="/iphc/home/emederna/profile-A"
     . "$GUIX_PROFILE/etc/profile"

...


[Machine B]$ guix package --list-installed  | sort | awk '//{ print $1 "@" $2; }'
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Why is glibc missing ?

Emmanuel

Hope that helps,
simon

Reply via email to