Supporting Go Modules in pkgsrc (Part 2) · benzblog
source link: https://bentsukun.ch/posts/go-mod-support-2/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
30 Apr 2019, 20:19
This announcement dropped today:
I realized that this is the missing piece for supporting Go modules in pkgsrc.
If you go back and reread the “fetch” section in Supporting Go Modules in
pkgsrc, it seems a bit awkward compared to a standard fetch action. The
reason is that go mod download
re-packs the source into its own zip format
archive.
The module proxy (https://proxy.golang.org/) solves this problem and enables a
simple solution for modules, very similar to lang/rust/cargo.mk. Basically,
a target similar to show-cargo-depends
that outputs a Makefile fragment
containing the names of modules that the current package depends upon. All
these become distfiles fetched from a hypothetical $MASTER_SITES_GOPROXY
.
Crucially, this means that the distfiles do not have to be stored in a
LOCAL_PORTS
subdirectory but can use the normal fetch infrastructure.
Now all that remains is implementing this :) There is some more time to do
that: Go 1.13 (to be released some time in summer) will use module support by
default. What’s more, a bunch of new software (including the various
golang.org/x/*
repositories) has go.mod
files these days, using
module-based builds by default.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK