install_toolchain: add dev-lang/go to package.provided on board sysroots.

All Go ebuilds (dev-go/*) depend on dev-lang/go. For cross compiling,
the dependency is satisfied by cross-${CTARGET}/go crossdev packages.
emerge-${BOARD} should not try to install dev-lang/go on the board.

BUG=chromium:372937
TEST=`setup_board --board=panther` correctly adds dev-lang/go to
/build/panther/etc/portage/profile/package.provided

Change-Id: I554b0d190dd11ca4164413406259a483f1953d1c
Reviewed-on: https://chromium-review.googlesource.com/291067
Commit-Ready: Rahul Chaudhry <rahulchaudhry@chromium.org>
Tested-by: Rahul Chaudhry <rahulchaudhry@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/install_toolchain b/install_toolchain
index 51cc571..38b68a3 100755
--- a/install_toolchain
+++ b/install_toolchain
@@ -57,6 +57,8 @@
       cpv=$(portageq match / sys-libs/glibc || true)
     elif [[ "$pkg" = gcc ]] ; then
       cpv=$(portageq match / sys-devel/gcc || true)
+    elif [[ "$pkg" = go ]] ; then
+      cpv=$(portageq match / dev-lang/go || true)
     else
       die "Unknown pkg ${pkg}"
     fi
@@ -86,12 +88,18 @@
 install_toolchain_in_provided() {
   local gcc_ver="$1"
   local glibc_ver="$2"
+  local go_ver="$3"
   # Tell portage that toolchain packages are already installed in the sysroot.
   sudo mkdir -p "$BOARD_PROFILE"
   sudo_clobber "$BOARD_PROFILE/package.provided" << EOF
 sys-devel/gcc-$gcc_ver
 sys-libs/glibc-$glibc_ver
 EOF
+  if [[ -n ${go_ver} ]]; then
+    sudo_append "$BOARD_PROFILE/package.provided" << EOF
+dev-lang/go-${go_ver}
+EOF
+  fi
 }
 
 # Install all of the stuff that depends on the toolchain versions
@@ -100,6 +108,7 @@
   local cmds
   local gcc_ver=$(cross_get_version gcc)
   local libc_ver=$(cross_get_version glibc)
+  local go_ver=$(cross_get_version go)
   if [[ -z ${gcc_ver} || -z ${libc_ver} ]]; then
     die "Cannot find toolchain to install into board root"
   fi
@@ -130,7 +139,7 @@
   fi
 
   if [[ ${FLAGS_configure} -eq ${FLAGS_TRUE} ]]; then
-    install_toolchain_in_provided "$gcc_ver" "$libc_ver"
+    install_toolchain_in_provided "$gcc_ver" "$libc_ver" "$go_ver"
 
     set_variable "${SYSROOT_CACHE}" "LIBC_VERSION" "${libc_ver}"
   fi