Hartmut Goebel <h.goe...@crazy-compilers.com> writes: > Hi, > > I'm thinking about creating a channel for Tryton providing packages for all > major versions supported upstream. > For this I'm seeking advice on how to manage this easily (and automatically, > if possible). > > Background: > > Tryton upstream supports several major versions which currently are 6.0, > 7.0, 7.4 and 7.6. These versions > will receive bug fixes. "nightly" versions are available, too. If one is > using e.g. 7.0, they want to get version > 7.0.x of some module and not 7.6.0. > > A common use-case for developers is to have several > profiles/virtual-environments with different version. > > My idea is to have a channel providing different branches (6.0, 7.0, etc.) > and update the packages of the each > supported major version on the respective branch. Users then simply select > the branch in their channel definition. > When updating their tryton they change the branch in the channel definition > and are done (beside any migration > steps required by tryton.) > > My questions are: > > * What you you think about this in general? > * Is there a better way to achieve this? > * Is there some way to achieve this a part of guix? > * Did anybody implement something like this an wants to share some code? >
If the way to build these different versions are similar enough, why not package 6.0, then define the other versions with inheritance (see (guix)Defining Package Variants)? Then, all versions would be shown in “guix show tryton” and one could select the version they want with “tryton@7.4”. You can find an example of this with zig in gnu/packages/zig.scm. Even without inheritance, you could still have all the packages in the same branch and select the version like I said. Have a nice day, Noé
signature.asc
Description: PGP signature