summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/go.bbclass6
1 files changed, 6 insertions, 0 deletions
diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass
index 863b578e5c..e167c949ec 100644
--- a/meta/classes/go.bbclass
+++ b/meta/classes/go.bbclass
@@ -61,6 +61,8 @@ GO_INSTALL_FILTEROUT ?= "${GO_IMPORT}/vendor/"
61 61
62B = "${WORKDIR}/build" 62B = "${WORKDIR}/build"
63export GOPATH = "${B}" 63export GOPATH = "${B}"
64GO_TMPDIR ?= "${WORKDIR}/go-tmp"
65GO_TMPDIR[vardepvalue] = ""
64 66
65python go_do_unpack() { 67python go_do_unpack() {
66 src_uri = (d.getVar('SRC_URI') or "").split() 68 src_uri = (d.getVar('SRC_URI') or "").split()
@@ -97,14 +99,17 @@ go_do_configure() {
97} 99}
98 100
99go_do_compile() { 101go_do_compile() {
102 export TMPDIR="${GO_TMPDIR}"
100 ${GO} env 103 ${GO} env
101 if [ -n "${GO_INSTALL}" ]; then 104 if [ -n "${GO_INSTALL}" ]; then
102 ${GO} install ${GO_LINKSHARED} ${GOBUILDFLAGS} `go_list_packages` 105 ${GO} install ${GO_LINKSHARED} ${GOBUILDFLAGS} `go_list_packages`
103 fi 106 fi
104} 107}
108do_compile[dirs] =+ "${GO_TMPDIR}"
105do_compile[cleandirs] = "${B}/bin ${B}/pkg" 109do_compile[cleandirs] = "${B}/bin ${B}/pkg"
106 110
107do_compile_ptest() { 111do_compile_ptest() {
112 export TMPDIR="${GO_TMPDIR}"
108 rm -f ${B}/.go_compiled_tests.list 113 rm -f ${B}/.go_compiled_tests.list
109 go_list_package_tests | while read pkg; do 114 go_list_package_tests | while read pkg; do
110 cd ${B}/src/$pkg 115 cd ${B}/src/$pkg
@@ -113,6 +118,7 @@ do_compile_ptest() {
113 sed -e's,/\./,/,'>> ${B}/.go_compiled_tests.list 118 sed -e's,/\./,/,'>> ${B}/.go_compiled_tests.list
114 done 119 done
115} 120}
121do_compile_ptest_base[dirs] =+ "${GO_TMPDIR}"
116 122
117go_do_install() { 123go_do_install() {
118 install -d ${D}${libdir}/go/src/${GO_IMPORT} 124 install -d ${D}${libdir}/go/src/${GO_IMPORT}