[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
package updater: operate on package structs, not names?
From: |
Ricardo Wurmus |
Subject: |
package updater: operate on package structs, not names? |
Date: |
Tue, 1 Dec 2015 11:41:25 +0100 |
Hi Guix,
I noticed a flaw in the CRAN updater. The ‘latest-release’ procedure is
called with the result of ‘(package-name package)’. The problem here is
that Guix package names follow much stricter naming rules than the
upstream packages.
Here are a couple of examples of R package names and their related Guix
package names:
GenomicRanges —> r-genomic-ranges
data.table —> r-data-table
formatR –> r-formatr
DBI —> r-dbi
When we only pass the Guix name to ‘latest-release’, the updater won’t
know how to find the package and its upstream version because the names
don’t match.
There are two ways to approach this: we change the Guix package names to
closely match those of the upstream packages, or we pass the complete
package structure to ‘latest-release’. The latter approach would allow
the CRAN updater to extract the appropriate name from the tarball URI.
We have the same problem for Ruby gems, I think, so I think that it
generally would be a good idea to pass the whole package object to
‘latest-release’. Those updaters that only need the package name can
just reduce it by calling ‘(package-name package)’ themselves.
What do you think?
~~ Ricardo
- package updater: operate on package structs, not names?,
Ricardo Wurmus <=