Pierre Neidhardt <m...@ambrevar.xyz> ezt írta (időpont: 2018. okt. 15., H, 12:40): > > > > FWIW Pierre-Antoine (who was working with me as an intern on Guix-HPC) > > has given me the last revision of the gopkg importer, which I’m planning > > to include soon. It might be useful to you! > > Absolutely! Could you share the code now so that I can start using it? > Thanks! > > > This seems to be the same for all Go packages: they specify the exact > > commit of each of their dependencies, AIUI. > > No, Go programs typically refer only to repositories, not to their commit. > This > is precisely why it's a problem. Golang's dependency management was not very > well designed I'm afraid. >
I'm not much into go, but it seems, that most of the times it is safe to use another version of dependencies. > Misunderstanding? > > > In practice it may be that upgrading will often be fine, but it does > > mean that every time we upgrade a Go package, we have to build > > everything “guix refresh -l GO-PACKAGE” reports to make sure. > > Yup, but it's also the case with any other package, isn't it? > Sometimes it is considered safe to assume that a given update does not break reverse dependencies, but this might lead to unexpected breakage nevertheless. Sometimes building all revdeps are prohibitively resource consuming. > > > - gx retrieves the deps over IPFS: how important is this? Should we do > > > the same? What about using "gx"? We could also implement a new > > > "gx-fetch" method fully written in Guile. > > > > In Guix dependencies are listed statically in the ‘inputs’ fields, so I > > suppose we have to run it once to retrieve that list and then “encode” > > it as ‘inputs’, no? > > Sorry, I meant "ipfs-fetch", so we might be talking about different things :p > > - Network: it would be nice to be able to retrieve packages over IPFS. We can > do this without IPFS, just like "gx" does. > This seems to be orthogonal to the other issues mentioned here, and I believe it should be implemented orthogonally (i.e. have it as an option to all, even unrelated packages). It would be great if integration with guix publish would be possible. > - Importer: I don't know how Pierre-Antoine retrieves dependencies, but > technically it's enough to download the package and run some "go ..." > command > to list deps. In the case of go-ipfs (and possibly other Go packages using > gx), we can only list the deps with "gx deps...". Note that in both bases > the > package does not have to be built, if I'm not mistaken. > > Makes sense? > > -- > Pierre Neidhardt > https://ambrevar.xyz/