| Andrew Geissler | eff2747 | 2021-10-29 15:35:00 -0500 | [diff] [blame] | 1 | # This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org. | 
|  | 2 |  | 
|  | 3 | SUMMARY = "Go programming language compiler (upstream binary for bootstrap)" | 
|  | 4 | HOMEPAGE = " http://golang.org/" | 
|  | 5 | LICENSE = "BSD-3-Clause" | 
|  | 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" | 
|  | 7 |  | 
|  | 8 | PROVIDES = "go-native" | 
|  | 9 |  | 
|  | 10 | SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" | 
|  | 11 | SRC_URI[go_linux_amd64.sha256sum] = "f32501aeb8b7b723bc7215f6c373abb6981bbc7e1c7b44e9f07317e1a300dce2" | 
|  | 12 | SRC_URI[go_linux_arm64.sha256sum] = "430dbe185417204f6788913197ab3b189b6deae9c9b524f262858e53dab239c2" | 
|  | 13 |  | 
|  | 14 | UPSTREAM_CHECK_URI = "https://golang.org/dl/" | 
|  | 15 | UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux" | 
|  | 16 |  | 
|  | 17 | S = "${WORKDIR}/go" | 
|  | 18 |  | 
|  | 19 | inherit goarch native | 
|  | 20 |  | 
|  | 21 | do_compile() { | 
|  | 22 | : | 
|  | 23 | } | 
|  | 24 |  | 
|  | 25 | make_wrapper() { | 
|  | 26 | rm -f ${D}${bindir}/$1 | 
|  | 27 | cat <<END >${D}${bindir}/$1 | 
|  | 28 | #!/bin/bash | 
|  | 29 | here=\`dirname \$0\` | 
|  | 30 | export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" | 
|  | 31 | \$here/../lib/go/bin/$1 "\$@" | 
|  | 32 | END | 
|  | 33 | chmod +x ${D}${bindir}/$1 | 
|  | 34 | } | 
|  | 35 |  | 
|  | 36 | do_install() { | 
|  | 37 | find ${S} -depth -type d -name testdata -exec rm -rf {} + | 
|  | 38 |  | 
|  | 39 | install -d ${D}${bindir} ${D}${libdir}/go | 
|  | 40 | cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/ | 
|  | 41 |  | 
|  | 42 | for f in ${S}/bin/* | 
|  | 43 | do | 
|  | 44 | make_wrapper `basename $f` | 
|  | 45 | done | 
|  | 46 | } |