I have a local branch where I try to build packages with python-3.12. On python, loosely maintained packages often won't make releases, but seldomly commit to add compatibility changes with the latest versions of python.
This forces me to migrate a lot of packages under git-version+commit style. I'm unsatisfied with the current tooling available to do that. I can imagine useful `guix refresh` extensions to allow updating both the revision/commit/hash, but for this kind of things, IIUC with package-location, we need those inside the record, not outside with let. I made a first proposition in https://codeberg.org/guix/guix/pulls/1571 but this one didn't reach a consensus, probably because it changed the package-version itself to a record (I persist to think that although the assumption is backed everywhere, it's still only a handful of places that are easily changed). Alternative propositions have been made : 1) pisemky proposes the following style ``` (properties '((commit . "1354b63eb7120e5d0d40855c18d69e413a636ef2") (revision . "1"))) (version (git-version "0" (assoc-ref properties 'revision) (assoc-ref properties 'commit))) ``` It doesn't require any additional development, but changes a bit the understanding of <package-properties> (which aren't defined in the manual BTW). 2) lilyp proposes ``` (package (shorthands (revision "0") (commit "…")) (name "le-package") (version (git-version "1.0" revision commit)) …) ``` This requires some additional development though, but looks handier to use. I wish to reach an agreement to settle for one style, so that I can standardize my use, and maybe extend `guix refresh` to handle this commit syntax. Is a discussion here enough, or should I reach for a GCD? -- Best regards, Nicolas Graves
