diff options
-rw-r--r-- | Mk/bsd.sites.mk | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Mk/bsd.sites.mk b/Mk/bsd.sites.mk index 6b1b18c75c38..d38a23b1845f 100644 --- a/Mk/bsd.sites.mk +++ b/Mk/bsd.sites.mk @@ -486,7 +486,10 @@ DISTFILES:= ${DISTFILES} ${DISTFILE_${_group}}:${_group} MASTER_SITES:= ${MASTER_SITES} ${MASTER_SITE_GITHUB:S@%SUBDIR%@${GH_ACCOUNT_${_group}}/${GH_PROJECT_${_group}}/tar.gz/${GH_TAGNAME_${_group}}?dummy=/:${_group}@} WRKSRC_${_group}:= ${WRKDIR}/${GH_PROJECT_${_group}}-${GH_TAGNAME_${_group}_EXTRACT} . if !empty(GH_SUBDIR_${_group}) -_SITES_extract:= ${_SITES_extract} 690:post-extract-gh-${_group} +# In order to sort the subdir extraction so that foo/bar is moved in before +# foo/bar/baz, we count the number of / in the path and use it to order the +# targets. This handles up to 9 levels. The max as of r463123 is 4. +_SITES_extract:= ${_SITES_extract} 69${GH_SUBDIR_${_group}:C=[^/]+= =g:range:[-1]}:post-extract-gh-${_group} post-extract-gh-${_group}: @${RMDIR} ${WRKSRC}/${GH_SUBDIR_${_group}} 2>/dev/null || : @${MKDIR} ${WRKSRC}/${GH_SUBDIR_${_group}:H} 2>/dev/null || : |