Hello, Leo Prikler writes: > Am Donnerstag, den 29.04.2021, 19:54 +0200 schrieb raingloom: >> Trying to import kineto and getting this error when building it: >> >> guix build: error: invalid character `~' in name >> `go-git-sr-ht-~sircmpwn-kineto-0.0.0-20210225135222-edd4fe31f16f- >> checkout.drv' >> >> I know the names are significant in go-build-system so I'm not sure >> how >> to work around the issue without breaking anything. As far as I can tell, the go-build-system doesn't care about the actual package names, just #:import-path and #:unpack-path. The names should only be significant to the go importer insofar as go-module->guix-package-name does not generate collisions. > The way Go works, I would hazard a guess, that > module git.sr.ht/~sircmpwn/kineto > and > module git.sr.ht/sircmpwn/kineto > name two different modules. However, as the latter can't exist since > sr.ht prefixes user names with ~, I think a name transformation, that > maps the former to the latter should be safe. On the other hand, since > this just affects store file names, we might instead want to map "~" to > "-" in the general case of it appearing anywhere. WDYT? It might be slightly uglier, but I think it's better to keep a consistent policy of "replace any invalid characters with a hyphen", as it is less likely to generate collisions and it provides a hint to the reader that there *is* a character there. I have attached a patch to do so below, verified that a recursive import of the package mentioned above builds without modification (well, I had to update a dependency...) and verified that there are not currently any go packages using a tilde in their name with: $ egrep -r '"go-[^"]*~[^"]*"' gnu/packages