(list (first (lookup-inferior-packages inferior "python-pyyaml")) (use-modules (guix inferior) (guix channels) Below is the same example adapted to this particular use case: $ cat mypyyamlmanifest.scm Invoking guix package::) in that manifest, you would create an inferiorįor that old Guix revision you care about, and you would look up the To do that, youĬould write a manifest for use by ‘guix package -manifest’ (*note Of Guix-perhaps because the newer ‘guile-json’ has an incompatible APIĪnd you want to run your code against the old API. Package, along with the ‘guile-json’ as it existed in an older revision Let’s assume you want to install in your profile the current ‘guile’ Simple way to interact with a separate revision of Guix. When combined with channels (*note Channels::), inferiors provide a Guix “inferiors” allow you to achieve that by composingĭifferent Guix revisions in arbitrary ways. You’re currently running with packages available in a different revision Sometimes you might need to mix packages from the revision of Guix As such, the interface is subject to change. (Interesting that their use-case is very similar to mine: using an older version of a json library for the guile interpreter versus using an older version of a yaml library for the python interpreter.) Note: The functionality described here is a “technology preview” as Third time is a charm, using a manifest with inferiors seems to be the best. (Also, I'm aware that pyyaml 6 forces some safety features on its users, so pyyaml 5 should not be used anymore pyyaml is just used as an example.) If anything, this question is part of my journey to replace that with GUIX-native tools. However, I do not care particularly about docker-compose (w.r.t. checking requirements: ERROR: docker-compose=1.29.2 ContextualVersionConflict(PyYAML 6.0 (/gnu/store/igfl4023dzvl8vi6xs1m96lcsr4fdw07-python-pyyaml-6.0/lib/python3.9/site-packages), Requirement.parse('PyYAML=3.10'), ) $ zcat /var/log/guix/drvs/8q/hvnw5mwra9i6ji24xlywcpdl0rdznn-docker-compose-1.29.2.drv.gz Guix shell: error: build of `/gnu/store/8qhvnw5mwra9i6ji24xlywcpdl0rdznn-docker-compose-1.29.2.drv' failed Side-node about the XY-problem, the immediate cause for this question is that docker-compose now does not work anymore: $ guix shell docker-compose So maybe it is possible to somehow specify an older version of the channel to be used, but I cannot figure out how. This error is expected, because that older version is not available in my channels. Guix shell: error: python-pyyaml: package not found for version 5.4.1 For example, I was hoping something like this could work: $ guix shell python It would be fine to use such an older version only in isolation. gnu/store/7bcbwi93ihz8v2sdzmj6l9vhjqaxr14l-python-pyyaml-5.4.1-builder (I'm just using pyyaml as an example here.) I do have the older versions in my store: $ ls -d1 /gnu/store/*pyyaml* For various reasons, I want to keep using 5.4.1. recently, the pyyaml package was upgraded from 5.4.1 to 6.0. But I can't figure out how to actually use those different versions.Į.g. Part of what attracted me to GUIX is that various different versions of packages can be 'installed' at the same time without interfering with each other.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |