diff options
author | ryoon <ryoon@pkgsrc.org> | 2021-03-30 16:47:03 +0000 |
---|---|---|
committer | ryoon <ryoon@pkgsrc.org> | 2021-03-30 16:47:03 +0000 |
commit | baf3571a8601b8f72f653c50ef18ab808c342b9d (patch) | |
tree | f713d33d809baddaf8281d253717855686d33463 /mk | |
parent | 0882e357f39ba9ce1a5b755eadcb2621fca53d98 (diff) | |
download | pkgsrc-baf3571a8601b8f72f653c50ef18ab808c342b9d.tar.gz |
mk: Introduce GITHUB_SUBMODULES to get and place Git submodules for GitHub
Diffstat (limited to 'mk')
-rw-r--r-- | mk/extract/extract.mk | 3 | ||||
-rw-r--r-- | mk/fetch/bsd.fetch-vars.mk | 9 | ||||
-rw-r--r-- | mk/fetch/github.mk | 24 |
3 files changed, 30 insertions, 6 deletions
diff --git a/mk/extract/extract.mk b/mk/extract/extract.mk index 62b9c6ffa23..f263efb2ff7 100644 --- a/mk/extract/extract.mk +++ b/mk/extract/extract.mk @@ -1,4 +1,4 @@ -# $NetBSD: extract.mk,v 1.41 2020/03/20 15:00:45 rillig Exp $ +# $NetBSD: extract.mk,v 1.42 2021/03/30 16:47:03 ryoon Exp $ # # The following variables may be set by the package Makefile and # specify how extraction happens: @@ -216,6 +216,7 @@ DOWNLOADED_DISTFILE= "$${extract_file}" do-extract: ${WRKDIR} . for f in ${EXTRACT_ONLY} ${RUN} extract_file=${_DISTDIR:Q}/${f:Q}; export extract_file; \ + EXTRACT_OPTS_TAR=${EXTRACT_OPTS_TAR.${f}}; export EXTRACT_OPTS_TAR; \ cd ${WRKDIR} && cd ${EXTRACT_DIR.${f}} && ${EXTRACT_CMD} . endfor .endif diff --git a/mk/fetch/bsd.fetch-vars.mk b/mk/fetch/bsd.fetch-vars.mk index e24eec81dc6..ca63833949b 100644 --- a/mk/fetch/bsd.fetch-vars.mk +++ b/mk/fetch/bsd.fetch-vars.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.fetch-vars.mk,v 1.24 2019/11/22 19:30:23 rillig Exp $ +# $NetBSD: bsd.fetch-vars.mk,v 1.25 2021/03/30 16:47:03 ryoon Exp $ # # This Makefile fragment is included separately by bsd.pkg.mk and # defines some variables which must be defined earlier than where @@ -60,6 +60,13 @@ DEFAULT_DISTFILES= ${DISTNAME}${EXTRACT_SUFX} .endif DISTFILES?= ${DEFAULT_DISTFILES} +.if !empty(GITHUB_SUBMODULES) +. for _GITHUB_SM_USER _GITHUB_SM_PROJECT _GITHUB_SM_TAG _GITHUB_SM_PLACE in ${GITHUB_SUBMODULES} +DISTFILES+= ${_GITHUB_SM_USER}-${_GITHUB_SM_PROJECT}-${_GITHUB_SM_TAG}${EXTRACT_SUFX} +. endfor +.endif + + # File lists, defined early to allow tool dependencies. ALLFILES?= ${DISTFILES} ${PATCHFILES} ALLFILES:= ${ALLFILES:O:u} # remove duplicates diff --git a/mk/fetch/github.mk b/mk/fetch/github.mk index 0e3eb73a864..ce017c093d9 100644 --- a/mk/fetch/github.mk +++ b/mk/fetch/github.mk @@ -1,4 +1,4 @@ -# $NetBSD: github.mk,v 1.13 2019/11/04 19:05:18 rillig Exp $ +# $NetBSD: github.mk,v 1.14 2021/03/30 16:47:03 ryoon Exp $ # # github.com master site handling # @@ -15,6 +15,9 @@ # SHA-1 commit ids are also acceptable # GITHUB_RELEASE defaults to not defined, set this to ${DISTNAME} # when packaging a release not based on a git tag. +# GITHUB_SUBMODULE manually set submodule information: +# values should be: +# GitHub_user GitHub_project tag_or_hash submodule_path # GITHUB_TYPE overrides the autodetected MASTER_SITE URL scheme: # # "tag" @@ -72,10 +75,23 @@ SITES.${_GITHUB_DEFAULT_DISTFILES}= -${MASTER_SITES:=${GITHUB_PROJECT}/archive/$ .endif +.if !empty(GITHUB_SUBMODULES) +. for _GITHUB_SM_USER _GITHUB_SM_PROJECT _GITHUB_SM_TAG _GITHUB_SM_PLACE in ${GITHUB_SUBMODULES} +_GITHUB_SM_DISTFILE= ${_GITHUB_SM_USER}-${_GITHUB_SM_PROJECT}-${_GITHUB_SM_TAG}${EXTRACT_SUFX} +_GITHUB_DEFAULT_DISTFILES+= ${_GITHUB_SM_USER}-${_GITHUB_SM_PROJECT}-${_GITHUB_SM_TAG}${EXTRACT_SUFX} +SITES.${_GITHUB_SM_DISTFILE}= -${MASTER_SITE_GITHUB:=${_GITHUB_SM_USER}/${_GITHUB_SM_PROJECT}/archive/${_GITHUB_SM_TAG}${EXTRACT_SUFX}} +EXTRACT_DIR.${_GITHUB_SM_DISTFILE}= ${WRKSRC}/${_GITHUB_SM_PLACE} +EXTRACT_OPTS_TAR.${_GITHUB_SM_DISTFILE}= --strip-components=1 +. endfor +.endif + _VARGROUPS+= github _PKG_VARS.github= GITHUB_PROJECT DISTNAME GITHUB_TYPE GITHUB_TAG \ - GITHUB_RELEASE MASTER_SITES EXTRACT_SUFX -_DEF_VARS.github= _USE_GITHUB _GITHUB_DEFAULT_DISTFILES \ - SITES.${_GITHUB_DEFAULT_DISTFILES} + GITHUB_RELEASE MASTER_SITES EXTRACT_SUFX \ + GITHUB_SUBMODULES +_DEF_VARS.github= _USE_GITHUB _GITHUB_DEFAULT_DISTFILES +.for f in ${_GITHUB_DEFAULT_DISTFILES} +_DEF_VARS.github+= SITES.${f} +.endfor _USE_VARS.github= PKGBASE PKGVERSION_NOREV _LISTED_VARS.github= SITES.* |