diff options
| -rw-r--r-- | meta/classes/go.bbclass | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass index cfe773e13d..c1ef01fafe 100644 --- a/meta/classes/go.bbclass +++ b/meta/classes/go.bbclass | |||
| @@ -55,6 +55,24 @@ GO_INSTALL ?= "${GO_IMPORT}/..." | |||
| 55 | 55 | ||
| 56 | B = "${WORKDIR}/build" | 56 | B = "${WORKDIR}/build" |
| 57 | 57 | ||
| 58 | python go_do_unpack() { | ||
| 59 | src_uri = (d.getVar('SRC_URI') or "").split() | ||
| 60 | if len(src_uri) == 0: | ||
| 61 | return | ||
| 62 | |||
| 63 | try: | ||
| 64 | fetcher = bb.fetch2.Fetch(src_uri, d) | ||
| 65 | for url in fetcher.urls: | ||
| 66 | if fetcher.ud[url].type == 'git': | ||
| 67 | if fetcher.ud[url].parm.get('destsuffix') is None: | ||
| 68 | s_dirname = os.path.basename(d.getVar('S')) | ||
| 69 | fetcher.ud[url].parm['destsuffix'] = os.path.join(s_dirname, 'src', | ||
| 70 | d.getVar('GO_IMPORT')) + '/' | ||
| 71 | fetcher.unpack(d.getVar('WORKDIR')) | ||
| 72 | except bb.fetch2.BBFetchException as e: | ||
| 73 | raise bb.build.FuncFailed(e) | ||
| 74 | } | ||
| 75 | |||
| 58 | go_do_configure() { | 76 | go_do_configure() { |
| 59 | ln -snf ${S}/src ${B}/ | 77 | ln -snf ${S}/src ${B}/ |
| 60 | } | 78 | } |
| @@ -79,4 +97,4 @@ go_do_install() { | |||
| 79 | fi | 97 | fi |
| 80 | } | 98 | } |
| 81 | 99 | ||
| 82 | EXPORT_FUNCTIONS do_configure do_compile do_install | 100 | EXPORT_FUNCTIONS do_unpack do_configure do_compile do_install |
