diff options
-rw-r--r-- | meta/classes/go.bbclass | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass index c1ef01fafe..cb1e96d88b 100644 --- a/meta/classes/go.bbclass +++ b/meta/classes/go.bbclass | |||
@@ -52,6 +52,7 @@ FILES_${PN}-staticdev += "${GOSRC_FINAL}/${GO_IMPORT}" | |||
52 | FILES_${PN}-staticdev += "${GOPKG_FINAL}/${GO_IMPORT}*" | 52 | FILES_${PN}-staticdev += "${GOPKG_FINAL}/${GO_IMPORT}*" |
53 | 53 | ||
54 | GO_INSTALL ?= "${GO_IMPORT}/..." | 54 | GO_INSTALL ?= "${GO_IMPORT}/..." |
55 | GO_INSTALL_FILTEROUT ?= "${GO_IMPORT}/vendor/" | ||
55 | 56 | ||
56 | B = "${WORKDIR}/build" | 57 | B = "${WORKDIR}/build" |
57 | 58 | ||
@@ -73,6 +74,11 @@ python go_do_unpack() { | |||
73 | raise bb.build.FuncFailed(e) | 74 | raise bb.build.FuncFailed(e) |
74 | } | 75 | } |
75 | 76 | ||
77 | go_list_packages() { | ||
78 | GOPATH=${B}:${STAGING_LIBDIR}/${TARGET_SYS}/go go list -f '{{.ImportPath}}' ${GOBUILDFLAGS} ${GO_INSTALL} | \ | ||
79 | egrep -v '${GO_INSTALL_FILTEROUT}' | ||
80 | } | ||
81 | |||
76 | go_do_configure() { | 82 | go_do_configure() { |
77 | ln -snf ${S}/src ${B}/ | 83 | ln -snf ${S}/src ${B}/ |
78 | } | 84 | } |
@@ -80,7 +86,7 @@ go_do_configure() { | |||
80 | go_do_compile() { | 86 | go_do_compile() { |
81 | GOPATH=${B}:${STAGING_LIBDIR}/${TARGET_SYS}/go go env | 87 | GOPATH=${B}:${STAGING_LIBDIR}/${TARGET_SYS}/go go env |
82 | if [ -n "${GO_INSTALL}" ]; then | 88 | if [ -n "${GO_INSTALL}" ]; then |
83 | GOPATH=${B}:${STAGING_LIBDIR}/${TARGET_SYS}/go go install ${GOBUILDFLAGS} ${GO_INSTALL} | 89 | GOPATH=${B}:${STAGING_LIBDIR}/${TARGET_SYS}/go go install ${GOBUILDFLAGS} `go_list_packages` |
84 | fi | 90 | fi |
85 | } | 91 | } |
86 | do_compile[cleandirs] = "${B}/bin ${B}/pkg" | 92 | do_compile[cleandirs] = "${B}/bin ${B}/pkg" |