xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/go/go-binary-native_1.17.13.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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