[Buildroot] [PATCH v3 2/3] package/pkg-golang.mk: make GOPROXY configurable
James Hilliard
james.hilliard1 at gmail.com
Tue Oct 21 05:59:30 UTC 2025
BR2_GOPROXY now configures the Go module proxy URL used to download Go modules
specified in project go.mod and go.sum files. By default, it uses Google's
official Go module mirror at proxy.golang.org, falling back to direct downloads
if the module is not found in the mirror.
The default value from the toolchain can be read with "go env GOPROXY"
We rely on package developers to audit their dependencies in go.mod and go.sum.
The value can be configured to:
- A comma-separated list of proxy URLs
- "off" to disable all downloads
- "direct" to download directly from source repositories
For more details on Go module proxies:
https://go.dev/ref/mod#module-proxy
Discussion:
https://lore.kernel.org/all/CADvTj4pXO2rwJ8oCzzGNY+OxLuo3uJnDT2PAxbyquw0L6dhfiA@mail.gmail.com/T/#t
Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
Signed-off-by: Christian Stewart <christian at aperture.us>
---
v1 -> v2:
- added more context and links
- renamed to GOPROXY instead of GOPROXY_LIST
- moved into the !BR2_PRIMARY_SITE_ONLY section
v2 -> v3:
- split out GOPROXY default change
Signed-off-by: Christian Stewart <christian at aperture.us>
---
Config.in | 16 ++++++++++++++++
package/pkg-golang.mk | 2 +-
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/Config.in b/Config.in
index d730f2034b..23717f3f97 100644
--- a/Config.in
+++ b/Config.in
@@ -335,6 +335,22 @@ config BR2_LUAROCKS_MIRROR
See http://luarocks.org
+config BR2_GOPROXY
+ string "Go module proxy"
+ default "https://proxy.golang.org,direct"
+ depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
+ help
+ The Go module proxy URL used to download Go modules. By
+ default, it uses the official Go module mirror, falling back
+ to direct downloads if the module is not found in the mirror.
+
+ The value can be one of:
+ - Comma-separated list of proxy URLs
+ - "off" to disable all downloads
+ - "direct" to download directly from source repositories
+
+ See https://go.dev/ref/mod#module-proxy
+
config BR2_CPAN_MIRROR
string "CPAN mirror (Perl packages)"
default "https://cpan.metacpan.org"
diff --git a/package/pkg-golang.mk b/package/pkg-golang.mk
index 26da7be71b..3e388cb257 100644
--- a/package/pkg-golang.mk
+++ b/package/pkg-golang.mk
@@ -101,7 +101,7 @@ $(2)_POST_PATCH_HOOKS += $(2)_GEN_GOMOD
$(2)_DOWNLOAD_POST_PROCESS = go
$(2)_DL_ENV += \
$$(HOST_GO_COMMON_ENV) \
- GOPROXY="https://proxy.golang.org,direct" \
+ GOPROXY=$$(call qstrip,$$(BR2_GOPROXY)) \
$$($(2)_GO_ENV)
# If building in a sub directory, do the vendoring in there
--
2.43.0
More information about the buildroot
mailing list