Index: Mk/bsd.port.mk =================================================================== --- Mk/bsd.port.mk (revision 403379) +++ Mk/bsd.port.mk (working copy) @@ -1425,6 +1425,13 @@ UID!= ${ID} -u .endif +# allow group names have period and hyphen +_GRP_RE=C@(\.|-)@_@g +_GRP_RE_SED='s/[.-]/_/g' + +# Popular master sites +.include "${PORTSDIR}/Mk/bsd.sites.mk" + DESTDIRNAME?= DESTDIR # setup empty variables for USES targets @@ -2188,7 +2195,7 @@ @${ECHO_MSG} "used in group definitions. Please fix your MASTER_SITES" @${FALSE} . endif -_MASTER_SITES_${_group}+= ${_S:C@^(.*/):[^/:]+$@\1@} +_MASTER_SITES_${_group:${_GRP_RE}}+= ${_S:C@^(.*/):[^/:]+$@\1@} . endfor . else _MASTER_SITES_DEFAULT+= ${_S:C@^(.*/):[^/:]+$@\1@} @@ -2205,7 +2212,7 @@ @${ECHO_MSG} "used in group definitions. Please fix your PATCH_SITES" @${FALSE} . endif -_PATCH_SITES_${_group}+= ${_S:C@^(.*/):[^/:]+$@\1@} +_PATCH_SITES_${_group:${_GRP_RE}}+= ${_S:C@^(.*/):[^/:]+$@\1@} . endfor . else _PATCH_SITES_DEFAULT+= ${_S:C@^(.*/):[^/:]+$@\1@} @@ -2227,8 +2234,8 @@ @${ECHO_MSG} "used in group definitions. Please fix your MASTER_SITE_SUBDIR" @${FALSE} . endif -. if defined(_MASTER_SITES_${_group}) -_MASTER_SITE_SUBDIR_${_group}+= ${_S:C@^(.*)/:[^/:]+$@\1@} +. if defined(_MASTER_SITES_${_group:${_GRP_RE}}) +_MASTER_SITE_SUBDIR_${_group:${_GRP_RE}}+= ${_S:C@^(.*)/:[^/:]+$@\1@} . endif . endfor . else @@ -2248,8 +2255,8 @@ @${ECHO_MSG} "used in group definitions. Please fix your PATCH_SITE_SUBDIR" @${FALSE} . endif -. if defined(_PATCH_SITES_${_group}) -_PATCH_SITE_SUBDIR_${_group}+= ${_S:C@^(.*)/:[^/:]+$@\1@} +. if defined(_PATCH_SITES_${_group:${_GRP_RE}}) +_PATCH_SITE_SUBDIR_${_group:${_GRP_RE}}+= ${_S:C@^(.*)/:[^/:]+$@\1@} . endif . endfor . else @@ -2265,20 +2272,20 @@ _S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://} . if !empty(_S_TEMP) . for _group in ${_S_TEMP:S/,/ /g} -. if !defined(_MASTER_SITE_SUBDIR_${_group}) -MASTER_SITES_TMP= ${_MASTER_SITES_${_group}:S^%SUBDIR%/^^} +. if !defined(_MASTER_SITE_SUBDIR_${_group:${_GRP_RE}}) +MASTER_SITES_TMP= ${_MASTER_SITES_${_group:${_GRP_RE}}:S^%SUBDIR%/^^} . else -_S_TEMP_TEMP= ${_MASTER_SITES_${_group}:M*%SUBDIR%/*} +_S_TEMP_TEMP= ${_MASTER_SITES_${_group:${_GRP_RE}}:M*%SUBDIR%/*} . if empty(_S_TEMP_TEMP) -MASTER_SITES_TMP= ${_MASTER_SITES_${_group}} +MASTER_SITES_TMP= ${_MASTER_SITES_${_group:${_GRP_RE}}} . else MASTER_SITES_TMP= -. for site in ${_MASTER_SITES_${_group}} +. for site in ${_MASTER_SITES_${_group:${_GRP_RE}}} _S_TEMP_TEMP= ${site:M*%SUBDIR%/*} . if empty(_S_TEMP_TEMP) MASTER_SITES_TMP+= ${site} . else -. for dir in ${_MASTER_SITE_SUBDIR_${_group}} +. for dir in ${_MASTER_SITE_SUBDIR_${_group:${_GRP_RE}}} MASTER_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^} . endfor . endif @@ -2285,7 +2292,7 @@ . endfor . endif . endif -_MASTER_SITES_${_group}:= ${MASTER_SITES_TMP} +_MASTER_SITES_${_group:${_GRP_RE}}:= ${MASTER_SITES_TMP} . endfor . endif .endfor @@ -2315,20 +2322,20 @@ _S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://} . if !empty(_S_TEMP) . for _group in ${_S_TEMP:S/,/ /g} -. if !defined(_PATCH_SITE_SUBDIR_${_group}) -PATCH_SITES_TMP= ${_PATCH_SITES_${_group}:S^%SUBDIR%/^^} +. if !defined(_PATCH_SITE_SUBDIR_${_group:${_GRP_RE}}) +PATCH_SITES_TMP= ${_PATCH_SITES_${_group:${_GRP_RE}}:S^%SUBDIR%/^^} . else -_S_TEMP_TEMP= ${_PATCH_SITES_${_group}:M*%SUBDIR%/*} +_S_TEMP_TEMP= ${_PATCH_SITES_${_group:${_GRP_RE}}:M*%SUBDIR%/*} . if empty(_S_TEMP_TEMP) -PATCH_SITES_TMP= ${_PATCH_SITES_${_group}} +PATCH_SITES_TMP= ${_PATCH_SITES_${_group:${_GRP_RE}}} . else PATCH_SITES_TMP= -. for site in ${_PATCH_SITES_${_group}} +. for site in ${_PATCH_SITES_${_group:${_GRP_RE}}} _S_TEMP_TEMP= ${site:M*%SUBDIR%/*} . if empty(_S_TEMP_TEMP) PATCH_SITES_TMP+= ${site} . else -. for dir in ${_PATCH_SITE_SUBDIR_${_group}} +. for dir in ${_PATCH_SITE_SUBDIR_${_group:${_GRP_RE}}} PATCH_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^} . endfor . endif @@ -2335,7 +2342,7 @@ . endfor . endif . endif -_PATCH_SITES_${_group}:= ${PATCH_SITES_TMP} +_PATCH_SITES_${_group:${_GRP_RE}}:= ${PATCH_SITES_TMP} . endfor . endif .endfor @@ -2389,11 +2396,11 @@ _D_TEMP= ${_D:S/^${_D:C/:[^:]+$//}//} . if !empty(_D_TEMP) . for _group in ${_D_TEMP:S/^://:S/,/ /g} -. if !defined(_MASTER_SITES_${_group}) +. if !defined(_MASTER_SITES_${_group:${_GRP_RE}}) _G_TEMP_TEMP= ${_G_TEMP:M/${_group}/} . if empty(_G_TEMP_TEMP) _G_TEMP+= ${_group} -_MASTER_SITES_ALL+= ${_MASTER_SITES_${_group}} +_MASTER_SITES_ALL+= ${_MASTER_SITES_${_group:${_GRP_RE}}} . endif . endif . endfor @@ -2410,11 +2417,11 @@ _P_strip= ${_P_TEMP:S/^${_P_TEMP:C/:-[^:]*$//}//:S/^://} . if !empty(_P_groups) . for _group in ${_P_groups:S/,/ /g} -. if !defined(_PATCH_SITES_${_group}) +. if !defined(_PATCH_SITES_${_group:${_GRP_RE}}) _G_TEMP_TEMP= ${_G_TEMP:M/${_group}/} . if empty(_G_TEMP_TEMP) _G_TEMP+= ${_group} -_PATCH_SITES_ALL+= ${_PATCH_SITES_${_group}} +_PATCH_SITES_ALL+= ${_PATCH_SITES_${_group:${_GRP_RE}}} . endif . endif . endfor @@ -2465,9 +2472,9 @@ . if !empty(_S_TEMP) . for _group in ${_S_TEMP:S/^://:S/,/ /g} . if !target(master-sites-${_group}) -SORTED_MASTER_SITES_${_group}_CMD= cd ${.CURDIR} && ${MAKE} master-sites-${_group} +SORTED_MASTER_SITES_${_group:${_GRP_RE}}_CMD= cd ${.CURDIR} && ${MAKE} master-sites-${_group} master-sites-${_group}: - @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} + @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_${_group:${_GRP_RE}}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} . endif . endfor . endif @@ -2477,9 +2484,9 @@ . if !empty(_S_TEMP) . for _group in ${_S_TEMP:S/^://:S/,/ /g} . if !target(patch-sites-${_group}) -SORTED_PATCH_SITES_${_group}_CMD= cd ${.CURDIR} && ${MAKE} patch-sites-${_group} +SORTED_PATCH_SITES_${_group:${_GRP_RE}}_CMD= cd ${.CURDIR} && ${MAKE} patch-sites-${_group} patch-sites-${_group}: - @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} + @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_${_group:${_GRP_RE}}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} . endif . endfor . endif @@ -2493,8 +2500,8 @@ _F_TEMP= ${_F:S/^${_F:C/:[^:]+$//}//:S/^://} . if !empty(_F_TEMP) . for _group in ${_F_TEMP:S/,/ /g} -. if defined(_MASTER_SITES_${_group}) -_MASTER_SITES_ENV+= _MASTER_SITES_${_group}="${_MASTER_SITES_${_group}}" +. if defined(_MASTER_SITES_${_group:${_GRP_RE}}) +_MASTER_SITES_ENV+= _MASTER_SITES_${_group:${_GRP_RE}}="${_MASTER_SITES_${_group:${_GRP_RE}}}" . endif . endfor . endif @@ -2504,8 +2511,8 @@ _F_TEMP= ${_F:S/^${_F:C/:[^-:][^:]*$//}//:S/^://} . if !empty(_F_TEMP) . for _group in ${_F_TEMP:S/,/ /g} -. if defined(_PATCH_SITES_${_group}) -_PATCH_SITES_ENV+= _PATCH_SITES_${_group}="${_PATCH_SITES_${_group}}" +. if defined(_PATCH_SITES_${_group:${_GRP_RE}}) +_PATCH_SITES_ENV+= _PATCH_SITES_${_group:${_GRP_RE}}="${_PATCH_SITES_${_group:${_GRP_RE}}}" . endif . endfor . endif @@ -3061,7 +3068,7 @@ if [ $$_file = $$file ]; then \ select=''; \ else \ - select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ + select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g' -e ${_GRP_RE_SED}` ; \ fi; \ force_fetch=false; \ filebasename=$${file##*/}; \ @@ -3145,7 +3152,7 @@ if [ $$_file = $$file ]; then \ select=''; \ else \ - select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ + select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g' -e ${_GRP_RE_SED}` ; \ fi; \ file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \ force_fetch=false; \ @@ -4005,7 +4012,7 @@ if [ $$_file = $$file ]; then \ select=''; \ else \ - select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ + select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g' -e ${_GRP_RE_SED}` ; \ fi; \ if [ ! -f $$file -a ! -f $${file##*/} ]; then \ if [ ! -z "$$select" ] ; then \ @@ -4046,7 +4053,7 @@ if [ $$_file = $$file ]; then \ select=''; \ else \ - select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ + select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g' -e ${_GRP_RE_SED}` ; \ fi; \ file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \ if [ ! -f $$file -a ! -f $${file##*/} ]; then \ @@ -4088,7 +4095,7 @@ if [ $$_file = $$file ]; then \ select=''; \ else \ - select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ + select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g' -e ${_GRP_RE_SED}` ; \ fi; \ if [ ! -z "${LISTALL}" -o ! -f $$file -a ! -f $${file##*/} ]; then \ if [ ! -z "$$select" ] ; then \ @@ -4121,7 +4128,7 @@ if [ $$_file = $$file ]; then \ select=''; \ else \ - select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g'` ; \ + select=`${ECHO_CMD} $${_file##*:} | ${SED} -e 's/,/ /g' -e ${_GRP_RE_SED}` ; \ fi; \ file=`${ECHO_CMD} $$file | ${SED} -E -e 's/:-[^:]+$$//'` ; \ fileptn=`${ECHO_CMD} $$file | ${SED} 's|/|\\\\/|g;s/\./\\\\./g;s/\+/\\\\+/g;s/\?/\\\\?/g'` ; \ Index: Mk/bsd.sites.mk =================================================================== --- Mk/bsd.sites.mk (revision 403379) +++ Mk/bsd.sites.mk (working copy) @@ -557,7 +557,7 @@ . if !${_GITHUB_GROUPS:M${_group}} _GITHUB_GROUPS+= ${_group} . endif -GH_ACCOUNT_${_group}= ${_A:C@^(.*):[^/:]+$@\1@} +GH_ACCOUNT_${_group:${_GRP_RE}}= ${_A:C@^(.*):[^/:]+$@\1@} . endfor . else GH_ACCOUNT_DEFAULT= ${_A:C@^(.*):[^/:]+$@\1@} @@ -577,7 +577,7 @@ . if !${_GITHUB_GROUPS:M${_group}} _GITHUB_GROUPS+= ${_group} . endif -GH_PROJECT_${_group}= ${_P:C@^(.*):[^/:]+$@\1@} +GH_PROJECT_${_group:${_GRP_RE}}= ${_P:C@^(.*):[^/:]+$@\1@} . endfor . else GH_PROJECT_DEFAULT= ${_P:C@^(.*):[^/:]+$@\1@} @@ -597,7 +597,7 @@ . if !${_GITHUB_GROUPS:M${_group}} _GITHUB_GROUPS+= ${_group} . endif -GH_TAGNAME_${_group}= ${_T:C@^(.*):[^/:]+$@\1@} +GH_TAGNAME_${_group:${_GRP_RE}}= ${_T:C@^(.*):[^/:]+$@\1@} . endfor . else GH_TAGNAME_DEFAULT= ${_T:C@^(.*):[^/:]+$@\1@} @@ -640,16 +640,17 @@ # entries with the correct group and create {WRKSRC,DISTNAME,DISTFILES}_group # helper variables. . for _group in ${_GITHUB_GROUPS:NDEFAULT} -GH_ACCOUNT_${_group}?= ${GH_ACCOUNT_DEFAULT} -GH_PROJECT_${_group}?= ${GH_PROJECT_DEFAULT} -GH_TAGNAME_${_group}?= ${GH_TAGNAME_DEFAULT} -GH_TAGNAME_${_group}_SANITIZED= ${GH_TAGNAME_${_group}:S,/,-,} -GH_TAGNAME_${_group}_EXTRACT= ${GH_TAGNAME_${_group}_SANITIZED:C/^[vV]([0-9])/\1/} -DISTNAME_${_group}:= ${GH_ACCOUNT_${_group}}-${GH_PROJECT_${_group}}-${GH_TAGNAME_${_group}_SANITIZED} -DISTFILE_${_group}:= ${DISTNAME_${_group}}_GH${_GITHUB_REV}${_GITHUB_EXTRACT_SUFX} -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} +_groupu=${_group:${_GRP_RE}} +GH_ACCOUNT_${_groupu}?= ${GH_ACCOUNT_DEFAULT} +GH_PROJECT_${_groupu}?= ${GH_PROJECT_DEFAULT} +GH_TAGNAME_${_groupu}?= ${GH_TAGNAME_DEFAULT} +GH_TAGNAME_${_groupu}_SANITIZED= ${GH_TAGNAME_${_groupu}:S,/,-,} +GH_TAGNAME_${_groupu}_EXTRACT= ${GH_TAGNAME_${_groupu}_SANITIZED:C/^[vV]([0-9])/\1/} +DISTNAME_${_groupu}:= ${GH_ACCOUNT_${_groupu}}-${GH_PROJECT_${_groupu}}-${GH_TAGNAME_${_groupu}_SANITIZED} +DISTFILE_${_groupu}:= ${DISTNAME_${_groupu}}_GH${_GITHUB_REV}${_GITHUB_EXTRACT_SUFX} +DISTFILES:= ${DISTFILES} ${DISTFILE_${_groupu}}:${_group} +MASTER_SITES:= ${MASTER_SITES} ${MASTER_SITE_GITHUB:S@%SUBDIR%@${GH_ACCOUNT_${_groupu}}/${GH_PROJECT_${_groupu}}/tar.gz/${GH_TAGNAME_${_groupu}}?dummy=/:${_group}@} +WRKSRC_${_groupu}:= ${WRKDIR}/${GH_PROJECT_${_groupu}}-${GH_TAGNAME_${_groupu}_EXTRACT} . endfor . endif .endif # defined(USE_GITHUB)