Am 10.07.25 um 09:43 schrieb Daniel Littlewood:
My understanding is that guix deals with this the same way other distribution
package managers do, by hacking the symbolic mechanism to work: a human
identifies a "best possible" list of versions that build everything people
seem to care about, and the whole system rolls forward together.

I assume you refer to the package names one enters on the commend line or in "specifications->manifest" (as described in https://guix.gnu.org/manual/devel/en/html_node/Writing-Manifests.html).


The approach I have been working with in my projects is to write a
symbolic package for every single version, and pin the entire dependency tree
with a manifest.scm file.

I started a lengthy answer on this, just to learn that most of what I wanted to write is in the manual already, see https://guix.gnu.org/manual/devel/en/html_node/Writing-Manifests.html. Notable points are:

 * Channels can be used to pin versions, see the note in the
   aforementioned manual section.
 * package->manifest-entry allows passing "package transforms" to e.g.
   change the actual version

HTH

--
Regards
Hartmut Goebel

| Hartmut Goebel          |[email protected]               |
|www.crazy-compilers.com | compilers which you thought are impossible |

Reply via email to