@@ -514,7 +514,7 @@ package/glorytun/0002-aegis256.c-fix-aarch64-build-with-uclibc.patch Upstream
package/gnu-efi/0001-Make.defaults-don-t-override-ARCH-when-cross-compili.patch Upstream
package/gnupg/0001-build-Always-use-EXTERN_UNLESS_MAIN_MODULE-pattern.patch Upstream
package/gnuplot/0001-configure-add-without-demo-option.patch Upstream
-package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch Upstream
+package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch Upstream
package/gob2/0001-dont-include-from-prefix.patch Upstream
package/gobject-introspection/0001-disable-tests.patch Upstream
package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch Upstream
@@ -32,5 +32,37 @@ config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
default y
depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS
+config BR2_PACKAGE_HOST_GO
+ bool "host go compiler"
+ depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS
+ help
+ Compiler for the Go language
+
+ https://go.dev
+
+if BR2_PACKAGE_HOST_GO
+
+choice
+ prompt "Go compiler variant"
+ default BR2_PACKAGE_HOST_GO_SRC
+ help
+ Select a Go compiler variant.
+
+ Default to 'host-go-src'.
+
+config BR2_PACKAGE_HOST_GO_SRC
+ bool "host go (source)"
+ help
+ This package will build the go compiler for the host.
+
+endchoice
+
+config BR2_PACKAGE_PROVIDES_HOST_GO
+ string
+ # Default to host-go-src
+ default "host-go-src" if BR2_PACKAGE_HOST_GO_SRC
+
+endif
+
source "package/go/go-bootstrap-stage1/Config.in.host"
source "package/go/go-bootstrap-stage2/Config.in.host"
similarity index 100%
rename from package/go/go/0001-build.go-explicit-option-for-crosscompilation.patch
rename to package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch
similarity index 100%
rename from package/go/go/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
rename to package/go/go-src/0002-cmd-dist-set-buildvcs-false-when-building-go-bootstr.patch
similarity index 100%
rename from package/go/go/go.hash
rename to package/go/go-src/go-src.hash
similarity index 68%
rename from package/go/go/go.mk
rename to package/go/go-src/go-src.mk
@@ -1,21 +1,22 @@
################################################################################
#
-# go
+# go-src
#
################################################################################
-GO_SITE = https://storage.googleapis.com/golang
-GO_SOURCE = go$(GO_VERSION).src.tar.gz
+GO_SRC_SITE = https://storage.googleapis.com/golang
+GO_SRC_SOURCE = go$(GO_VERSION).src.tar.gz
-GO_LICENSE = BSD-3-Clause
-GO_LICENSE_FILES = LICENSE
-GO_CPE_ID_VENDOR = golang
+GO_SRC_LICENSE = BSD-3-Clause
+GO_SRC_LICENSE_FILES = LICENSE
+GO_SRC_CPE_ID_VENDOR = golang
-HOST_GO_DEPENDENCIES = host-go-bootstrap-stage2
+HOST_GO_SRC_PROVIDES = host-go
+HOST_GO_SRC_DEPENDENCIES = host-go-bootstrap-stage2
ifeq ($(BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS),y)
-HOST_GO_CROSS_ENV = \
+HOST_GO_SRC_CROSS_ENV = \
CC_FOR_TARGET="$(TARGET_CC)" \
CXX_FOR_TARGET="$(TARGET_CXX)" \
GOOS="linux" \
@@ -28,7 +29,7 @@ endif
# The go build system is not compatible with ccache, so use
# HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685.
-HOST_GO_MAKE_ENV = \
+HOST_GO_SRC_MAKE_ENV = \
GO111MODULE=off \
GOCACHE=$(HOST_GO_HOST_CACHE) \
GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_STAGE2_ROOT) \
@@ -41,12 +42,12 @@ HOST_GO_MAKE_ENV = \
CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \
$(HOST_GO_CROSS_ENV)
-define HOST_GO_BUILD_CMDS
+define HOST_GO_SRC_BUILD_CMDS
cd $(@D)/src && \
- $(HOST_GO_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v)
+ $(HOST_GO_SRC_MAKE_ENV) ./make.bash $(if $(VERBOSE),-v)
endef
-define HOST_GO_INSTALL_CMDS
+define HOST_GO_SRC_INSTALL_CMDS
$(GO_BINARIES_INSTALL)
endef
@@ -129,4 +129,6 @@ define GO_BINARIES_INSTALL
find $(HOST_GO_ROOT) -type f -exec touch -r $(@D)/bin/go {} \;
endef
+$(eval $(host-virtual-package))
+
include $(sort $(wildcard package/go/*/*.mk))