Index: Mk/bsd.port.mk =================================================================== --- Mk/bsd.port.mk +++ Mk/bsd.port.mk @@ -1316,14 +1316,8 @@ PKGVERSION= ${PORTVERSION:C/[-_,]/./g}${_SUF1}${_SUF2} PKGNAME= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PKGVERSION} DISTVERSIONFULL= ${DISTVERSIONPREFIX}${DISTVERSION:C/:(.)/\1/g}${DISTVERSIONSUFFIX} -.if defined(USE_GITHUB) && empty(MASTER_SITES:MGHC) -# Only add in DISTVERSIONFULL if GH_TAGNAME if set by port. Otherwise -# GH_TAGNAME defaults to DISTVERSIONFULL; Avoid adding DISTVERSIONFULL in twice. -. if defined(GH_TAGNAME) -DISTNAME?= ${GH_ACCOUNT}-${GH_PROJECT}-${DISTVERSIONFULL}-${GH_TAGNAME_SANITIZED} -. else -DISTNAME?= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME_SANITIZED} -. endif +.if defined(USE_GITHUB) && empty(MASTER_SITES:MGHC) && empty(DISTNAME) +_GITHUB_MUST_SET_DISTNAME= yes .else DISTNAME?= ${PORTNAME}-${DISTVERSIONFULL} .endif Index: Mk/bsd.sites.mk =================================================================== --- Mk/bsd.sites.mk +++ Mk/bsd.sites.mk @@ -523,23 +523,114 @@ . if !defined(MASTER_SITES) || !${MASTER_SITES:MGH} && !${MASTER_SITES:MGHC} MASTER_SITES+= GH . endif -GH_ACCOUNT?= ${PORTNAME} -GH_PROJECT?= ${PORTNAME} +_GH_ACCOUNT_DEFAULT= ${PORTNAME} +GH_ACCOUNT?= ${_GH_ACCOUNT_DEFAULT} +_GH_PROJECT_DEFAULT= ${PORTNAME} +GH_PROJECT?= ${_GH_PROJECT_DEFAULT} # Use full PREFIX/SUFFIX and converted DISTVERSION -GH_TAGNAME?= ${DISTVERSIONFULL} -# This new scheme rerolls distfiles. Also ensure they are renamed to avoid -# conflicts. Use _GITHUB_REV in case github changes their zipping or structure -# which has happened before. -_GITHUB_REV= 0 -. if ${MASTER_SITES:MGH} -DISTNAME:= ${DISTNAME}_GH${_GITHUB_REV} +_GH_TAGNAME_DEFAULT= ${DISTVERSIONFULL} +GH_TAGNAME?= ${_GH_TAGNAME_DEFAULT} +_GITHUB_GROUPS= DEFAULT +.for _A in ${GH_ACCOUNT} +_S_TEMP= ${_A:S/^${_A:C@:[^/:]+$@@}//:S/^://} +. if !empty(_S_TEMP) +. for _group in ${_S_TEMP:S/,/ /g} +. if ${_group} == all || ${_group} == ALL || ${_group} == default +check-makevars:: + @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be" + @${ECHO_MSG} "used in group definitions. Please fix your GH_ACCOUNT" + @${FALSE} +. endif +. if !${_GITHUB_GROUPS:M${_group}} +_GITHUB_GROUPS+= ${_group} +. endif +_GH_ACCOUNT_${_group}= ${_A:C@^(.*):[^/:]+$@\1@} +. endfor +. else +_GH_ACCOUNT_DEFAULT= ${_A:C@^(.*):[^/:]+$@\1@} +. endif +.endfor +.for _P in ${GH_PROJECT} +_S_TEMP= ${_P:S/^${_P:C@:[^/:]+$@@}//:S/^://} +. if !empty(_S_TEMP) +. for _group in ${_S_TEMP:S/,/ /g} +. if ${_group} == all || ${_group} == ALL || ${_group} == default +check-makevars:: + @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be" + @${ECHO_MSG} "used in group definitions. Please fix your GH_PROJECT" + @${FALSE} +. endif +. if !${_GITHUB_GROUPS:M${_group}} +_GITHUB_GROUPS+= ${_group} +. endif +_GH_PROJECT_${_group}= ${_P:C@^(.*):[^/:]+$@\1@} +. endfor +. else +_GH_PROJECT_DEFAULT= ${_P:C@^(.*):[^/:]+$@\1@} +. endif +.endfor +.for _T in ${GH_TAGNAME} +_S_TEMP= ${_T:S/^${_T:C@:[^/:]+$@@}//:S/^://} +. if !empty(_S_TEMP) +. for _group in ${_S_TEMP:S/,/ /g} +. if ${_group} == all || ${_group} == ALL || ${_group} == default +check-makevars:: + @${ECHO_MSG} "Makefile error: the words all, ALL and default are reserved and cannot be" + @${ECHO_MSG} "used in group definitions. Please fix your GH_TAGNAME" + @${FALSE} +. endif +. if !${_GITHUB_GROUPS:M${_group}} +_GITHUB_GROUPS+= ${_group} +. endif +_GH_TAGNAME_${_group}= ${_T:C@^(.*):[^/:]+$@\1@} +. endfor +. else +_GH_TAGNAME_DEFAULT= ${_T:C@^(.*):[^/:]+$@\1@} . endif +.endfor +GH_ACCOUNT:= ${_GH_ACCOUNT_DEFAULT} +GH_PROJECT:= ${_GH_PROJECT_DEFAULT} +GH_TAGNAME:= ${_GH_TAGNAME_DEFAULT} . if defined(GH_TAGNAME) GH_TAGNAME_SANITIZED= ${GH_TAGNAME:S,/,-,} # Github silently converts tags starting with v to not have v in the filename # and extraction directory. GH_TAGNAME_EXTRACT= ${GH_TAGNAME_SANITIZED:C/^[vV]([0-9])/\1/} +. endif +. if defined(_GITHUB_MUST_SET_DISTNAME) +# GH_TAGNAME defaults to DISTVERSIONFULL; Avoid adding DISTVERSIONFULL in twice +. if ${GH_TAGNAME_SANITIZED} != ${DISTVERSIONFULL} +DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${DISTVERSIONFULL}-${GH_TAGNAME_SANITIZED} +. else +DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME_SANITIZED} +. endif . endif +# This new scheme rerolls distfiles. Also ensure they are renamed to avoid +# conflicts. Use _GITHUB_REV in case github changes their zipping or structure +# which has happened before. +_GITHUB_REV= 0 +. if ${MASTER_SITES:MGH} +DISTNAME:= ${DISTNAME}_GH${_GITHUB_REV} +. endif +.endif +_GITHUB_EXTRACT_SUFX= .tar.gz +# If there are non default groups +.if !empty(_GITHUB_GROUPS:NDEFAULT) +# Put the DEFAULT distfile first +DISTFILES+= ${DISTNAME}${_GITHUB_EXTRACT_SUFX} +# Then for each group, add DISTFILES and MASTER_SITES entries +# and create a WRKSRC_group helper variable. +. for _group in ${_GITHUB_GROUPS:NDEFAULT} +_a_tmp= ${_GH_ACCOUNT_${_group}:U${_GH_ACCOUNT_DEFAULT}} +_p_tmp= ${_GH_PROJECT_${_group}:U${_GH_PROJECT_DEFAULT}} +_t_tmp= ${_GH_TAGNAME_${_group}:U${_GH_TAGNAME_DEFAULT}} +_t_tmp_s= ${_t_tmp:S,/,-,} +_t_tmp_e= ${_t_tmp_s:C/^[vV]([0-9])/\1/} +_DISTNAME= ${_a_tmp}-${_p_tmp}-${_t_tmp_s} +DISTFILES:= ${DISTFILES} ${_DISTNAME}_GH${_GITHUB_REV}${_GITHUB_EXTRACT_SUFX}:${_group} +MASTER_SITES:= ${MASTER_SITES} ${MASTER_SITE_GITHUB:S@%SUBDIR%@${_a_tmp}/${_p_tmp}/tar.gz/${_t_tmp}?dummy=/:${_group}@} +WRKSRC_${_group}:= ${WRKDIR}/${_p_tmp}-${_t_tmp_e} +. endfor .endif .endif Index: net/syncthing-cli/Makefile =================================================================== --- net/syncthing-cli/Makefile +++ net/syncthing-cli/Makefile @@ -5,12 +5,6 @@ PORTVERSION= 0.1.0.2015050601 PORTREVISION= 1 CATEGORIES= net -MASTER_SITES= GH \ - https://github.com/syncthing/syncthing/archive/v${SYNCTHING_VER}.tar.gz?dummy=/:group2 \ - https://codeload.github.com/AudriusButkevicius/cli/legacy.tar.gz/7f561c7?dummy=/:group3 -DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ - syncthing-${SYNCTHING_VER}${EXTRACT_SUFX}:group2 \ - AudriusButkevicius-cli-7f561c7${EXTACT_SUFX}:group3 MAINTAINER= swills@FreeBSD.org COMMENT= Syncthing CLI @@ -18,9 +12,9 @@ BUILD_DEPENDS= ${LOCALBASE}/bin/go:${PORTSDIR}/lang/go USE_GITHUB= yes -GH_ACCOUNT= syncthing -GH_PROJECT= syncthing-cli -GH_TAGNAME= 51ec7bb30c3ccb92a3c4616ef00be3b3db739afe +GH_ACCOUNT= syncthing AudriusButkevicius:audrius +GH_PROJECT= syncthing:st cli:audrius +GH_TAGNAME= 51ec7bb v${SYNCTHING_VER}:st 7f561c7:audrius SYNCTHING_VER= 0.11.4 @@ -34,17 +28,17 @@ @${MKDIR} ${WRKSRC}/src/code.google.com/p @${MKDIR} ${WRKSRC}/src/golang.org/x @${MKDIR} ${WRKSRC}/src/github.com/bkaradzic - @${MV} ${WRKDIR}/AudriusButkevicius-cli-7f561c7 \ + @${MV} ${WRKSRC_audrius} \ ${WRKSRC}/src/github.com/AudriusButkevicius/cli - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER}/Godeps/_workspace/src/golang.org/x/crypto \ + @${MV} ${WRKSRC_st}/Godeps/_workspace/src/golang.org/x/crypto \ ${WRKSRC}/src/golang.org/x - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER}/Godeps/_workspace/src/golang.org/x/text \ + @${MV} ${WRKSRC_st}/Godeps/_workspace/src/golang.org/x/text \ ${WRKSRC}/src/golang.org/x - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER}/Godeps/_workspace/src/github.com/bkaradzic/go-lz4 \ + @${MV} ${WRKSRC_st}/Godeps/_workspace/src/github.com/bkaradzic/go-lz4 \ ${WRKSRC}/src/github.com/bkaradzic - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER}/Godeps/_workspace/src/github.com/calmh \ + @${MV} ${WRKSRC_st}/Godeps/_workspace/src/github.com/calmh \ ${WRKSRC}/src/github.com/calmh - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER} \ + @${MV} ${WRKSRC_st} \ ${WRKSRC}/src/github.com/syncthing/syncthing @${MV} ${WRKSRC}/src/github.com/syncthing/syncthing/Godeps/_workspace/src/github.com/syncthing/protocol \ ${WRKSRC}/src/github.com/syncthing/protocol Index: net/syncthing-cli/distinfo =================================================================== --- net/syncthing-cli/distinfo +++ net/syncthing-cli/distinfo @@ -1,6 +1,6 @@ -SHA256 (syncthing-syncthing-cli-0.1.0.2015050601-51ec7bb30c3ccb92a3c4616ef00be3b3db739afe_GH0.tar.gz) = aeb4e6a5588391e0b0645f23684e2fb11ccaff3a5b20abf7dea3a4a45f7d69a3 -SIZE (syncthing-syncthing-cli-0.1.0.2015050601-51ec7bb30c3ccb92a3c4616ef00be3b3db739afe_GH0.tar.gz) = 9202 -SHA256 (syncthing-0.11.4.tar.gz) = f4dbc3d24ec2d1bdf302c994c1e088b2129791522a25122710fb427d2a19387e -SIZE (syncthing-0.11.4.tar.gz) = 3159537 -SHA256 (AudriusButkevicius-cli-7f561c7) = ad64f151c314333f714ef600f65a4fb512ce7242bc2100074775581a56ad439a -SIZE (AudriusButkevicius-cli-7f561c7) = 14736 +SHA256 (syncthing-syncthing-cli-0.1.0.2015050601-51ec7bb_GH0.tar.gz) = c22a842d8647fca8bdfb9d48ca61f3c5bdfee3573aeec0364f3b1c0f4bd304a3 +SIZE (syncthing-syncthing-cli-0.1.0.2015050601-51ec7bb_GH0.tar.gz) = 9201 +SHA256 (AudriusButkevicius-cli-7f561c7_GH0.tar.gz) = 8d6c282b2737c5ae17c3ba4ce81037762f46aa5a05d0095c0d481639d081110c +SIZE (AudriusButkevicius-cli-7f561c7_GH0.tar.gz) = 14722 +SHA256 (syncthing-syncthing-v0.11.4_GH0.tar.gz) = f4dbc3d24ec2d1bdf302c994c1e088b2129791522a25122710fb427d2a19387e +SIZE (syncthing-syncthing-v0.11.4_GH0.tar.gz) = 3159537 Index: net/syncthing-discosrv/Makefile =================================================================== --- net/syncthing-discosrv/Makefile +++ net/syncthing-discosrv/Makefile @@ -5,11 +5,6 @@ PORTVERSION= 0.0.0.2015022401 PORTREVISION= 2 CATEGORIES= net -MASTER_SITES= https://github.com/syncthing/syncthing/archive/v${SYNCTHING_VER}.tar.gz?dummy=/:group2 \ - https://codeload.github.com/golang/groupcache/legacy.tar.gz/${GROUPCACHE_COMMIT}?dummy=/:group3 -DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ - syncthing-${SYNCTHING_VER}${EXTRACT_SUFX}:group2 \ - golang-groupcache-${GROUPCACHE_COMMIT}${EXTRACT_SUFX}:group3 MAINTAINER= swills@FreeBSD.org COMMENT= Discovery server for syncthing @@ -17,12 +12,11 @@ BUILD_DEPENDS= ${LOCALBASE}/bin/go:${PORTSDIR}/lang/go USE_GITHUB= yes -GH_ACCOUNT= syncthing -GH_PROJECT= discosrv -GH_TAGNAME= 4e1240a610bcc2ef8772eb2641492822b4ec4f88 +GH_ACCOUNT= syncthing golang:gc +GH_PROJECT= discosrv syncthing:st groupcache:gc +GH_TAGNAME= 4e1240a v${SYNCTHING_VER}:st d2a1805:gc SYNCTHING_VER= 0.11.4 -GROUPCACHE_COMMIT= d2a1805 PLIST_FILES= bin/syncthing-discosrv @@ -40,25 +34,25 @@ @${MKDIR} ${WRKSRC}/src/github.com/syncthing @${MKDIR} ${WRKSRC}/src/github.com/syndtr @${MKDIR} ${WRKSRC}/src/golang.org/x - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER}/Godeps/_workspace/src/github.com/calmh \ + @${MV} ${WRKSRC_st}/Godeps/_workspace/src/github.com/calmh \ ${WRKSRC}/src/github.com - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER}/Godeps/_workspace/src/github.com/bkaradzic/go-lz4 \ + @${MV} ${WRKSRC_st}/Godeps/_workspace/src/github.com/bkaradzic/go-lz4 \ ${WRKSRC}/src/github.com/bkaradzic - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER}/Godeps/_workspace/src/github.com/juju/ratelimit \ + @${MV} ${WRKSRC_st}/Godeps/_workspace/src/github.com/juju/ratelimit \ ${WRKSRC}/src/github.com/juju - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER}/Godeps/_workspace/src/github.com/syndtr/goleveldb \ + @${MV} ${WRKSRC_st}/Godeps/_workspace/src/github.com/syndtr/goleveldb \ ${WRKSRC}/src/github.com/syndtr - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER}/Godeps/_workspace/src/github.com/syndtr/gosnappy \ + @${MV} ${WRKSRC_st}/Godeps/_workspace/src/github.com/syndtr/gosnappy \ ${WRKSRC}/src/github.com/syndtr - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER}/Godeps/_workspace/src/golang.org/x/crypto \ + @${MV} ${WRKSRC_st}/Godeps/_workspace/src/golang.org/x/crypto \ ${WRKSRC}/src/golang.org/x - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER}/Godeps/_workspace/src/golang.org/x/text \ + @${MV} ${WRKSRC_st}/Godeps/_workspace/src/golang.org/x/text \ ${WRKSRC}/src/golang.org/x - @${MV} ${WRKDIR}/syncthing-${SYNCTHING_VER} \ + @${MV} ${WRKSRC_st} \ ${WRKSRC}/src/github.com/syncthing/syncthing @${MV} ${WRKSRC}/src/github.com/syncthing/syncthing/Godeps/_workspace/src/github.com/syncthing/protocol \ ${WRKSRC}/src/github.com/syncthing/protocol - @${MV} ${WRKDIR}/golang-groupcache-${GROUPCACHE_COMMIT} \ + @${MV} ${WRKSRC_gc} \ ${WRKSRC}/src/github.com/golang/groupcache do-build: Index: net/syncthing-discosrv/distinfo =================================================================== --- net/syncthing-discosrv/distinfo +++ net/syncthing-discosrv/distinfo @@ -1,6 +1,6 @@ -SHA256 (syncthing-discosrv-0.0.0.2015022401-4e1240a610bcc2ef8772eb2641492822b4ec4f88_GH0.tar.gz) = 70ddebacddb8c3de9019f83e1e63cb95d36731433068480b2499d491dcdd45e7 -SIZE (syncthing-discosrv-0.0.0.2015022401-4e1240a610bcc2ef8772eb2641492822b4ec4f88_GH0.tar.gz) = 16841 -SHA256 (syncthing-0.11.4.tar.gz) = f4dbc3d24ec2d1bdf302c994c1e088b2129791522a25122710fb427d2a19387e -SIZE (syncthing-0.11.4.tar.gz) = 3159537 -SHA256 (golang-groupcache-d2a1805.tar.gz) = be22ff0c07a589fdb4665637787a2693e685e824a4ccb2bcfe8d9811d0c822a3 -SIZE (golang-groupcache-d2a1805.tar.gz) = 24094 +SHA256 (syncthing-discosrv-0.0.0.2015022401-4e1240a_GH0.tar.gz) = a0b1865793da2a780a50ddf112515e3467ddb04741562a761437f434a453fde7 +SIZE (syncthing-discosrv-0.0.0.2015022401-4e1240a_GH0.tar.gz) = 16804 +SHA256 (golang-groupcache-d2a1805_GH0.tar.gz) = 4589876f2e8830663a2d19bb4d7ca2e3993e8e8d2710dd3c1941b6d0d5e6de34 +SIZE (golang-groupcache-d2a1805_GH0.tar.gz) = 24089 +SHA256 (syncthing-syncthing-v0.11.4_GH0.tar.gz) = f4dbc3d24ec2d1bdf302c994c1e088b2129791522a25122710fb427d2a19387e +SIZE (syncthing-syncthing-v0.11.4_GH0.tar.gz) = 3159537