Jack Hill <jackh...@jackhill.us> writes: > Hi Guix,
Hey, Jack, a few thoughts. > While I was was working with the go importer today, it suggested I package > go-github-com-russross-blackfriday-v2. Fair enough, except we already have a > package for go-github-com-russross-blackfriday. I was poking around a rust code-base the other day and I noticed our crate importer, and thus a lot of crate packages, have major-version suffixes. I think one of the unique benefits of Guix is that it can simultaneously have multiple versions of libraries installed, and I think we should allow this for library packages. I know that leads to dependency graph explosion, but perhaps we only commit to substitutes for the latest version, and thus any packages using old versions. It should converge over time unless packages go unmaintained. I thought our current stance was to only allow one version at a time, but the crate packages made me question this. I'd like clarity too. > The packages differ in their version (2.1.0 verses 2.0.1), their imputs (the > imported package definition is missing the inputs and native-inputs that we > have in the Guix package), and the presense of the v2 versioning > disambiguation tag. The importer suggested package is correct. It looks like the listed dependencies dropped >= v1.5. See: - https://pkg.go.dev/github.com/russross/blackfriday@v2.0.0+incompatible?tab=imports vs - https://pkg.go.dev/github.com/russross/blackfriday/v2?tab=imports I wasn't sure if pkg.go listed test dependencies, so I ran this command to be sure: #+begin_example $ go list -deps -test -f '{{.ImportPath}} {{.Standard}}' |awk '{if ($2 == "false") print $1}' github.com/russross/blackfriday/v2 github.com/russross/blackfriday/v2.test #+end_example I think those were just dependencies incorrectly carried over as the package changed. I hope that helps. -- Katherine