summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJose Quaresma <quaresma.jose@gmail.com>2024-06-19 16:47:43 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-06-25 11:49:54 +0100
commit876d344d2ec3d6ce283d01974146392d76685824 (patch)
treeee6133931a8341fc899a38534701d523d5f5c86b
parentcf139dfec080152a66a9c42bfb9bfca6789909be (diff)
downloadopenembedded-core-876d344d2ec3d6ce283d01974146392d76685824.tar.gz
go: drop the old 1.4 bootstrap C version
Bootstrap [1] As mentioned in the Go 1.20 release notes, Go 1.22 now requires the final point release of Go 1.20 or later for bootstrap. We expect that Go 1.24 will require the final point release of Go 1.22 or later for bootstrap. The default recipe for bootstrap is the go-binary-native as can be seen in: meta/conf/distro/include/tcmode-default.inc:68:PREFERRED_PROVIDER_go-native ?= "go-binary-native" Currently if we change it to use the old go-native and compile the go1.4-bootstrap-20170531 it fails: | Building Go cmd/dist using /build/workdir/tmp-glibc/work/x86_64-linux/go-native/1.22.3-r0/go1.4/go. (go1.4-bootstrap-20170531 linux/amd64) | can't load package: package ./cmd/dist: found packages build.go (main) and notgo120.go (building_Go_requires_Go_1_20_6_or_later) in /build/workdir/tmp-glibc/work/x86_64-linux/go-native/1.22.3-r0/go/src/cmd/dist This has been broken for some time but as we used go-binary-native by default it went unnoticed. [1] https://go.dev/doc/go1.22#bootstrap Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-rw-r--r--meta/recipes-devtools/go/go-native_1.22.4.bb58
1 files changed, 0 insertions, 58 deletions
diff --git a/meta/recipes-devtools/go/go-native_1.22.4.bb b/meta/recipes-devtools/go/go-native_1.22.4.bb
deleted file mode 100644
index ddf25b2c9b..0000000000
--- a/meta/recipes-devtools/go/go-native_1.22.4.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-# This recipe builds a native Go (written in Go) by first building an old Go 1.4
-# (written in C). However this old Go does not support all hosts platforms.
-
-require go-${PV}.inc
-
-inherit native
-
-SRC_URI += "https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4"
-SRC_URI[bootstrap.sha256sum] = "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52"
-
-export GOOS = "${BUILD_GOOS}"
-export GOARCH = "${BUILD_GOARCH}"
-CC = "${@d.getVar('BUILD_CC').strip()}"
-
-GOMAKEARGS ?= "--no-banner"
-
-do_configure() {
- cd ${WORKDIR}/go1.4/go/src
- CGO_ENABLED=0 GOROOT=${WORKDIR}/go1.4/go ./make.bash
-}
-
-do_compile() {
- export GOROOT_FINAL="${libdir_native}/go"
- export GOROOT_BOOTSTRAP="${WORKDIR}/go1.4/go"
-
- cd src
- ./make.bash ${GOMAKEARGS}
- cd ${B}
-}
-do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin"
-
-make_wrapper() {
- rm -f ${D}${bindir}/$2$3
- cat <<END >${D}${bindir}/$2$3
-#!/bin/bash
-here=\`dirname \$0\`
-export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}"
-\$here/../lib/go/bin/$1 "\$@"
-END
- chmod +x ${D}${bindir}/$2
-}
-
-do_install() {
- install -d ${D}${libdir}/go
- cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/
- install -d ${D}${libdir}/go/src
- (cd ${S}/src; for d in *; do \
- [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \
- done)
- find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \;
- install -d ${D}${bindir} ${D}${libdir}/go/bin
- for f in ${B}/bin/*
- do
- base=`basename $f`
- install -m755 $f ${D}${libdir}/go/bin
- make_wrapper $base $base
- done
-}