Skip to content

Instantly share code, notes, and snippets.

@jperkin
Created August 14, 2018 09:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jperkin/e55797d996e07c460e07b8ffc4c71b1a to your computer and use it in GitHub Desktop.
Save jperkin/e55797d996e07c460e07b8ffc4c71b1a to your computer and use it in GitHub Desktop.
Support for GO_GITHUB_DEPS
diff --git a/lang/go/go-package.mk b/lang/go/go-package.mk
index ca883011121f..1a8358bafdb4 100644
--- a/lang/go/go-package.mk
+++ b/lang/go/go-package.mk
@@ -70,6 +70,21 @@ STRIP_DEBUG_SUPPORTED= no
GO_PLATFORM= ${LOWER_OPSYS}_${GOARCH}
GOTOOLDIR= ${PREFIX}/go/pkg/tool/${GO_PLATFORM}
+DISTFILES?= ${DEFAULT_DISTFILES}
+.for dep in ${GO_GITHUB_DEPS}
+GODEP_SHA.${dep}:= ${dep:C/.*://}
+GODEP_URL.${dep}:= ${dep:C/:.*//}
+. if !empty(GODEP_URL.${dep}:M*=*)
+GODEP_DIR.${dep}:= ${GODEP_URL.${dep}:C/.*=//}
+GODEP_URL.${dep}:= ${GODEP_URL.${dep}:C/=.*//}
+. else
+GODEP_DIR.${dep}:= github.com/${GODEP_URL.${dep}}
+. endif
+GODEP_TGZ.${dep}:= ${GODEP_SHA.${dep}}.tar.gz
+SITES.${GODEP_TGZ.${dep}}:= ${MASTER_SITE_GITHUB}/${_GODEP_URL}/archive/
+DISTFILES+= ${GODEP_TGZ.${dep}}
+.endfor
+
PRINT_PLIST_AWK+= /${GO_PLATFORM}/ { gsub(/${GO_PLATFORM}/, \
"$${GO_PLATFORM}"); \
print; next; }
@@ -79,6 +94,13 @@ post-extract:
${RUN} ${MKDIR} ${WRKSRC}
${RUN} ${RM} -fr ${WRKDIR}/${GO_DIST_BASE}/.hg
${RUN} ${MV} ${WRKDIR}/${GO_DIST_BASE}/* ${WRKSRC}
+.for dep in ${GO_GITHUB_DEPS}
+post-extract: post-extract-${GODEP_URL.${dep}}
+post-extract-${GODEP_URL.${dep}}:
+ ${MKDIR} ${WRKDIR}/src/${GODEP_DIR.${dep}:H}
+ ${MV} ${WRKDIR}/${GODEP_URL.${dep}:T}-${GODEP_SHA.${dep}} \
+ ${WRKDIR}/src/${GODEP_DIR.${dep}}
+.endfor
.endif
.if !target(do-build)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment