go-binary-native_1.22.12.bb 1.4 KB

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