# 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" # Checksums available at https://go.dev/dl/ 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] = "b945ae2bb5db01a0fb4786afde64e6fbab50b67f6fa0eb6cfa4924f16a7ff1eb" SRC_URI[go_linux_arm64.sha256sum] = "4e15ab37556e979181a1a1cc60f6d796932223a0f5351d7c83768b356f84429b" SRC_URI[go_linux_ppc64le.sha256sum] = "a1b91a42a40bba54bfd5c96c23d72250e0c424038d0d2b5c7950b828b4905822" UPSTREAM_CHECK_URI = "https://golang.org/dl/" UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux" CVE_PRODUCT = "go" S = "${WORKDIR}/go" inherit goarch native do_compile() { : } make_wrapper() { rm -f ${D}${bindir}/$1 cat <${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 }