On 2018-02-13, at 12:20 PM, db wrote:
>
>> 2. HEAD variants.
>> This is a specific MacPorts decision, based on the "reproducible builds"
>> philosophy. It's open for debate at times, I would think. It's easy to do
>> it, but we just don't do it on purpose.
>> I have overridden this and allowed a +HEAD variant on one occasion at the
>> request of a heavy user of the software (see the widelands Portfile).
>> Anyone with a passing level of MacPorts knowledge can bump a Portfile to the
>> latest commit on their own in a few seconds, esp if it uses the github
>> Portgroup. I do this all the time.
>> This could be added quite easily if MacPorts wanted to do it -- a small
>> change in the github portgroup would likely suffice to add a +HEAD variant
>> to all github ports.
>
> I have some devel ports locally, that I have to manually update for the
> latest commit, instead of automatically updating for the current master. I
> have to check that wielands port.
>
For a local port repo, this bit in the portfile appears to generate a perfectly
usable a HEAD variant for a github portgroup port.
variant HEAD description "build HEAD" {
github.setup author project HEAD
checksum {}
}
As I suspected, it's very simple to implement. MacPorts could easily
incorporate this if it wanted to, but it's a specific decision not to allow it.
You can use this on your own devel ports if you'd like to.
(I thought I might just be able to override the github.version with HEAD, but
that didn't seem to work for some reason. It's quite possible this could be
made a bit more elegant. You have to blank out the checksum phase as the
checksums vary with each HEAD commit and aren't knowable ahead of time)
Ken