Help with a Portfile

iEFdev eric at iefdev.se
Sun Jan 13 13:32:53 UTC 2019


Hi Mojca,

Thank you so much for your reply and help…

On 1/13/19 12:27 , Mojca Miklavec wrote:
> When you use github.setup, a tarball is fetched directly from the
> GitHub server, without resorting to git in any way, and works as if
> you fetched the sources from elsewhere.
>
> When you use git directly, the checksums are (sadly) not yet verified.
> If you fetch from a particular commit in git, the shasum should
> usually give you sufficient reliability (to some extent), while if you
> use master (or any other branch for that matter), you would not get
> reliable contents anyway, and it's highly discouraged to fetch from a
> branch as you never know what could break and when.
>
> This is admittedly suboptimal. Rainer did some 80% of the work, see
>     https://trac.macports.org/ticket/16373
> or the corresponding branch (vcs-fetch) in macports-base, but he might
> need a push to complete the work, test and merge the code :) :) :)
I never got that to (start) download, and then there is that other thing - that
the commit I used is the last one made, and it's ≈ 2 years newer than last
release. But maybe one could take one of the releases, and create an additional
patch from the last commit - just to get up to date? I dont' think it's that
many commits behind. :)

> I recently stumbled into a wall myself when trying to do something
> less conventional with patch files [1]. I ended up running patch
> manually which is heavily suboptimal and it could help to modify the
> base a bit to better support a scenario of having an extracted patch
> file somewhere or the disk that's not exactly files/, but I don't know
> what exactly you scenario is. MacPorts would happily support applying
> a patch from a .bz2 file located somewhere online, for example. *Where did you get the patch file from / how?*
The patch files are inside the downloaded directory as a part of the download,
sort of. Thought it would be nice to bee able to use them at their current
location, instead of taking the patch and put in a Files directory.


I did play a little with this one:

post-fetch {
    system -W ${worksrcpath} "patch --input=path/to/patch_file.diff"
}

But, then it's outside the system, sort of. Hard to patch it manual with: port
patch foobar


> Mojca
>
>
> [1] https://github.com/macports/macports-ports/pull/3336
Yes, it was something simular I had in mind.

I thought, with:
/patch.dir ${worksrcpath}/path/to//
//patchfiles patch_file.diff/

it would (hopefully) do the same thing as above (w system -W …). :)
That specifying a patch.dir would make the Files dir unnecessary.


But, if I'm going to patch up the last release, then I guess I have to use the
Files dir anyway.

Eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20190113/8a559705/attachment.html>


More information about the macports-dev mailing list