USE_GITHUB and submodules

Shane Ambler FreeBSD at ShaneWare.Biz
Wed May 20 00:51:34 UTC 2015


On 20/05/2015 04:14, Jonathan Anderson wrote:
> Hi all,
>
> Is there a mechanism for using the USE_GITHUB variable in a port that
> depends on submodules? For instance, the Rust port requires an embedded
> (and modified) version of LLVM, which it includes as a submodule. Right
> now I'm attempting to add the following to a `post-extract` rule:

While you can setup multiple files to be downloaded for a port this
doesn't work with USE_GITHUB, see my 3 year old report -
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=172964

This isn't an official port, but the workaround I came up with was to
setup multiple files by setting MASTER_SITES using --

MASTER_SITES= https://github.com/sambler/myblender/tarball/:base \
     https://github.com/sambler/myblendertranslations/tarball/:trans \
     https://github.com/sambler/myblenderaddons/tarball/:addons \
     https://github.com/sambler/myblendercontrib/tarball/:contrib
DISTFILES= sambler-${PORTVERSION}.${PORTREVISION}:base \
     translate-${PORTVERSION}.${PORTREVISION}:trans \
     addons-${PORTVERSION}.${PORTREVISION}:addons \
     contrib-${PORTVERSION}.${PORTREVISION}:contrib
DIST_SUBDIR= ${PORTNAME}

The DISTFILES names are setup to match my tag format.

This gives you multiple archives for the port, each will be extracted
into the work dir, I then use post-extract to move them into place
within the main source tree and don't depend on git for the port--

post-extract:
# tanslations
     @${MV} ${WRKDIR}/sambler-myblendertranslations-*/*
       ${WRKSRC}/release/datafiles/locale/
# addons
     @${MV} ${WRKDIR}/sambler-myblenderaddons-*/*
       ${WRKSRC}/release/scripts/addons/
# contrib
     @${MV} ${WRKDIR}/sambler-myblendercontrib-*/*
       ${WRKSRC}/release/scripts/addons_contrib/


> post-extract:
>      cd ${WRKSRC} && \
>      git init && \
>      git remote add origin https://github.com/${GH_ACCOUNT}/${PORTNAME} && \
>      git fetch && \
>      git reset --hard ${PORTVERSION} && \
>      git submodule init && \
>      git submodule update --recursive
>
> But this seems quite hackish! It would be great if submodules Just
> Worked... but alternatively, is there a USE_GITHUB_URL or somesuch that
> would check things out via Git instead of tarball to save me the `git
> init` through `git reset` steps?
>
> Cheers,
>
>
> Jon
> --
> jonathan at FreeBSD.org
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"
>


-- 
FreeBSD - the place to B...Software Developing

Shane Ambler



More information about the freebsd-ports mailing list