1*4882a593Smuzhiyun# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org. 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunSUMMARY = "Go programming language compiler (upstream binary for bootstrap)" 4*4882a593SmuzhiyunHOMEPAGE = " http://golang.org/" 5*4882a593SmuzhiyunLICENSE = "BSD-3-Clause" 6*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunPROVIDES = "go-native" 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunSRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" 11*4882a593SmuzhiyunSRC_URI[go_linux_amd64.sha256sum] = "4cdd2bc664724dc7db94ad51b503512c5ae7220951cac568120f64f8e94399fc" 12*4882a593SmuzhiyunSRC_URI[go_linux_arm64.sha256sum] = "914daad3f011cc2014dea799bb7490442677e4ad6de0b2ac3ded6cee7e3f493d" 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunUPSTREAM_CHECK_URI = "https://golang.org/dl/" 15*4882a593SmuzhiyunUPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux" 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunS = "${WORKDIR}/go" 18*4882a593Smuzhiyun 19*4882a593Smuzhiyuninherit goarch native 20*4882a593Smuzhiyun 21*4882a593Smuzhiyundo_compile() { 22*4882a593Smuzhiyun : 23*4882a593Smuzhiyun} 24*4882a593Smuzhiyun 25*4882a593Smuzhiyunmake_wrapper() { 26*4882a593Smuzhiyun rm -f ${D}${bindir}/$1 27*4882a593Smuzhiyun cat <<END >${D}${bindir}/$1 28*4882a593Smuzhiyun#!/bin/bash 29*4882a593Smuzhiyunhere=\`dirname \$0\` 30*4882a593Smuzhiyunexport GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" 31*4882a593Smuzhiyun\$here/../lib/go/bin/$1 "\$@" 32*4882a593SmuzhiyunEND 33*4882a593Smuzhiyun chmod +x ${D}${bindir}/$1 34*4882a593Smuzhiyun} 35*4882a593Smuzhiyun 36*4882a593Smuzhiyundo_install() { 37*4882a593Smuzhiyun find ${S} -depth -type d -name testdata -exec rm -rf {} + 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun install -d ${D}${bindir} ${D}${libdir}/go 40*4882a593Smuzhiyun cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/ 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun for f in ${S}/bin/* 43*4882a593Smuzhiyun do 44*4882a593Smuzhiyun make_wrapper `basename $f` 45*4882a593Smuzhiyun done 46*4882a593Smuzhiyun} 47