On Sat, Dec 15, 2018 at 07:19:49PM +0100, Pierre Neidhardt wrote: > > > So hmm, you’re right! I’m sure I saw go packages somewhere, dunno… > > Just looked at the source: after my Go 1.11 update, Syncthing was updated to use > vendored dependencies, just like go-ipfs. This is why it does not contains any > go ref. From the package declaration: > > ;; Since the update to Go 1.11, Go programs have been keeping > ;; spurious references to all their dependencies: > ;; . > ;; For Syncthing, this increases the size of the 'out' closure > ;; from 87.6 MiB to 253.5 MiB. So, we use the bundled > ;; dependencies until the bug is resolved. > > So yup, "guix size" is not happy with Go... That's right. I've previously audited Syncthing's dependencies and I'm sure they are all free software. Additionally, the Syncthing project is committed to shipping free software. Because the closure size had grown way too big, and we don't have a plan for fixing the issue with Go 1.11, I decided to just use the bundled dependencies. Hopefully we can switch it back at some point. I haven't investigated this particular issue very much, so I don't know how feasible it will be. I do know that it is basically not supported by the Go community.