@@ -30,11 +30,11 @@ config BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
bool
default y
- depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS || BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
config BR2_PACKAGE_HOST_GO
bool "host go compiler"
- depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
help
Compiler for the Go language
@@ -44,7 +44,8 @@ if BR2_PACKAGE_HOST_GO
choice
prompt "Go compiler variant"
- default BR2_PACKAGE_HOST_GO_SRC
+ default BR2_PACKAGE_HOST_GO_SRC if BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS
+ default BR2_PACKAGE_HOST_GO_BIN if BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
help
Select a Go compiler variant.
@@ -52,9 +53,16 @@ choice
config BR2_PACKAGE_HOST_GO_SRC
bool "host go (source)"
+ depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE2_ARCH_SUPPORTS
help
This package will build the go compiler for the host.
+config BR2_PACKAGE_HOST_GO_BIN
+ bool "host go (pre-built)"
+ depends on BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
+ help
+ This package will install pre-built versions of the compiler
+
endchoice
config BR2_PACKAGE_PROVIDES_HOST_GO
@@ -64,5 +72,6 @@ config BR2_PACKAGE_PROVIDES_HOST_GO
endif
+source "package/go/go-bin/Config.in.host"
source "package/go/go-bootstrap-stage1/Config.in.host"
source "package/go/go-bootstrap-stage2/Config.in.host"
new file mode 100644
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH
+ string "Translate the HOSTARCH into the architecture name used by the Go compiler"
+ default armv6l if BR2_HOSTARCH = "arm"
+ default arm64 if BR2_HOSTARCH = "aarch64"
+ default ppc64le if BR2_HOSTARCH = "powerpc64le"
+ default s390x if BR2_HOSTARCH = "s390x"
+ default 386 if BR2_HOSTARCH = "x86"
+ default amd64 if BR2_HOSTARCH = "x86_64"
+ default ""
+
+config BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
+ bool
+ default y
+ depends on BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH != ""
new file mode 100644
@@ -0,0 +1,8 @@
+# sha256 checksum from https://go.dev/dl/
+sha256 b93850666cdadbd696a986cf7b03111fe99db8c34a9aaa113d7c96d0081e1901 go1.21.1.linux-386.tar.gz
+sha256 b3075ae1ce5dab85f89bc7905d1632de23ca196bd8336afd93fa97434cfa55ae go1.21.1.linux-amd64.tar.gz
+sha256 7da1a3936a928fd0b2602ed4f3ef535b8cd1990f1503b8d3e1acc0fa0759c967 go1.21.1.linux-arm64.tar.gz
+sha256 f3716a43f59ae69999841d6007b42c9e286e8d8ce470656fb3e70d7be2d7ca85 go1.21.1.linux-armv6l.tar.gz
+sha256 eddf018206f8a5589bda75252b72716d26611efebabdca5d0083ec15e9e41ab7 go1.21.1.linux-ppc64le.tar.gz
+sha256 a83b3e8eb4dbf76294e773055eb51397510ff4d612a247bad9903560267bba6d go1.21.1.linux-s390x.tar.gz
+sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE
new file mode 100644
@@ -0,0 +1,19 @@
+################################################################################
+#
+# go-bin
+#
+################################################################################
+
+GO_BIN_SITE = https://go.dev/dl
+GO_BIN_LICENSE = BSD-3-Clause
+GO_BIN_LICENSE_FILES = LICENSE
+
+HOST_GO_BIN_PROVIDES = host-go
+
+HOST_GO_BIN_SOURCE = go$(GO_VERSION).linux-$(call qstrip, $(BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH)).tar.gz
+
+define HOST_GO_BIN_INSTALL_CMDS
+ $(GO_BINARIES_INSTALL)
+endef
+
+$(eval $(host-generic-package))