dev-go/go-tour: fix build with installed instance
authorZac Medico <zmedico@gentoo.org>
Sat, 16 Mar 2019 23:31:01 +0000 (16:31 -0700)
committerZac Medico <zmedico@gentoo.org>
Sat, 16 Mar 2019 23:32:37 +0000 (16:32 -0700)
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Zac Medico <zmedico@gentoo.org>
dev-go/go-tour/go-tour-0_p20180810.ebuild

index 42d9aa99327c6a524812ef3107565dd77f8174a2..c5967f041fa4234d5f72b54b9dc76877f13f8417 100644 (file)
@@ -20,12 +20,16 @@ DEPEND="dev-go/go-net:=
 
 src_compile() {
        local x
+       # Create a temporary GOROOT, since otherwise the executable is not
+       # built if it happens to be installed already.
+       cp -rs "$(go env GOROOT)" "${T}/goroot" || die
+       rm -rf "${T}/goroot/"{pkg/tool/$(go env GOOS)_$(go env GOARCH)/tour,src/${EGO_PN%/...}} || die
        mkdir -p "${T}/golibdir/src/golang.org/x" || die
        for x in net tools; do
                ln -s "$(get_golibdir_gopath)/src/golang.org/x/${x}" "${T}/golibdir/src/golang.org/x/${x}" || die
        done
        export -n GOCACHE XDG_CACHE_HOME #567192
-       GOPATH="${S}:${T}/golibdir" GOBIN="${S}/bin" \
+       GOPATH="${S}:${T}/golibdir" GOBIN="${S}/bin" GOROOT=${T}/goroot \
                go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}"
        [[ -x bin/gotour ]] || die "gotour not found"
 }