Files
poky/meta/recipes-devtools/go/go-binary-native_1.18.bb
Khem Raj 8dc1f28aa1 go: Upgrade to 1.18
1.18 is a major release brings in long awaited new features e.g.
generics, fuzzing

Detailed list is here [1]

Drop patches to manipulate multiword CC/CXX as go has fixed it
differently [2]

Drop cgo portion of patch to hack hash generation logic
either we should find a way to not use it or redo it,
in current form its not upstreamable and its
altering core features of go compiler, it can not be maintained as is

Do not emit linkinfo into the actionID

Drop ignoring CVE-2021-29923 its already addressed in go >= 1.17

[1] https://go.dev/doc/go1.18
[2] https://groups.google.com/g/golang-codereviews/c/fUhCbpYG7HE

(From OE-Core rev: 1a99cc2eed34434d75b2f53af1616ad79eef0906)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19 14:42:20 +01:00

47 lines
1.3 KiB
BlitzBasic

# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org.
SUMMARY = "Go programming language compiler (upstream binary for bootstrap)"
HOMEPAGE = " http://golang.org/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
PROVIDES = "go-native"
SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
SRC_URI[go_linux_amd64.sha256sum] = "e85278e98f57cdb150fe8409e6e5df5343ecb13cebf03a5d5ff12bd55a80264f"
SRC_URI[go_linux_arm64.sha256sum] = "7ac7b396a691e588c5fb57687759e6c4db84a2a3bbebb0765f4b38e5b1c5b00e"
UPSTREAM_CHECK_URI = "https://golang.org/dl/"
UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
S = "${WORKDIR}/go"
inherit goarch native
do_compile() {
:
}
make_wrapper() {
rm -f ${D}${bindir}/$1
cat <<END >${D}${bindir}/$1
#!/bin/bash
here=\`dirname \$0\`
export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}"
\$here/../lib/go/bin/$1 "\$@"
END
chmod +x ${D}${bindir}/$1
}
do_install() {
find ${S} -depth -type d -name testdata -exec rm -rf {} +
install -d ${D}${bindir} ${D}${libdir}/go
cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/
for f in ${S}/bin/*
do
make_wrapper `basename $f`
done
}