USE_GITHUB and submodules

Shane Ambler FreeBSD at ShaneWare.Biz
Mon Jun 29 02:20:22 UTC 2015

>> Jonathan Anderson <mailto:jonathan.robert.anderson at>
>> May 20, 2015 at 11:00 AM
>> Thanks everybody for the input! With a security hat on, I definitely concur
>> with the policy of no fetching outside of fetch and of requiring
>> reproducibility/verifiability (e.g., commit hashes). With my
>> getting-this-darn-port-updated hat, however... :)
>> I think that I'll try to go with Shane's solution, if others concur that it's
>> a good idea. I don't want to create a rust-llvm port, since Rust's customized
>> version of LLVM isn't much good outside of Rust, it doesn't expose any
>> external libraries and it's intended to eventually go away. So, until GitHub
>> implements the "give me a tarball with all of the submodules" feature, I might
>> try hacking up MASTER_SITES as Shane suggests.

In case you missed it this was changed shortly after the last email, see

If you follow the link in the comments to you can
find some examples of ports updated to this change.

One catch that may either change or become documented is that one item
must be in the DEFAULT group, which can be implied by not giving it a
group name.

Using this also gives you multiple WRKSRC_* definitions eg using the
group name addons will let you use ${WRKSRC_addons} in custom steps.

This leads to

GH_ACCOUNT=	sambler \
		sambler:addons \
		sambler:contrib \
GH_PROJECT=	myblender \
		myblenderaddons:addons \
		myblendercontrib:contrib \
		addons-${PORTVERSION}.${PORTREVISION}:addons \
		contrib-${PORTVERSION}.${PORTREVISION}:contrib \

and further down -

	@${MV} ${WRKSRC_trans}/* ${WRKSRC}/release/datafiles/locale/
	@${MV} ${WRKSRC_addons}/* ${WRKSRC}/release/scripts/addons/
	@${MV} ${WRKSRC_contrib}/* ${WRKSRC}/release/scripts/contrib/

FreeBSD - the place to B...Software Developing

Shane Ambler

More information about the freebsd-ports mailing list