commit:     3e91f887a86531b786674c7ead1532b96e496134
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 16 23:31:01 2019 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat Mar 16 23:32:37 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e91f887

dev-go/go-tour: fix build with installed instance

Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 dev-go/go-tour/go-tour-0_p20180810.ebuild | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/dev-go/go-tour/go-tour-0_p20180810.ebuild 
b/dev-go/go-tour/go-tour-0_p20180810.ebuild
index 42d9aa99327..c5967f041fa 100644
--- a/dev-go/go-tour/go-tour-0_p20180810.ebuild
+++ b/dev-go/go-tour/go-tour-0_p20180810.ebuild
@@ -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"
 }

Reply via email to