tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lang/gcc12 + Darwin testers needed



> On Jan 26, 2025, at 06:36, Jason Bacon <jtocino%gmx.com@localhost> wrote:
> 
> there is no patchset for gcc 12 on macOS 15?  If that's the case, should
> we just accept that gcc12 is not going to work on the latest macOS and
> move on to gcc13?

Yes, there is a patchset for gcc12 on macOS 15; it just does not cover aarch64.

To focus on the logic, the conditionals are

.if ${OPSYS} == "Darwin" && ${OPSYS_VERSION} < 150000
.elif ${MACHINE_PLATFORM:MDarwin-*-x86_64}
.else
.endif

The first branch expands the use of the homebrew patchset to cover all Darwin platforms; it used to be limited to only aarch64 but the URL given says otherwise.  If what it says is correct, this should work for all Darwin < 15, but I cannot test that.

Among Darwin platforms, that leaves versions >= 15.  Originally I hoped that the patchset I developed would work for both aarch64 and x86_64, because it is basically straight from the upstream code base.  I cannot test aarch64 and so put out a call for help.  I believe Jason said it did not work for aarch64 (which implies that upstream would not either), so I restricted the conditional to x86_64, where that patchset does work.

The final branch is everything else, i.e., non-Darwin + Darwin aarch64 >= 15.  Because one file was being patched in the other two branches as well as in the original pkgsrc patches, I had to remove that pkgsrc patch and create an external patchset for this last branch to cover that file.

I fully expect that the last branch will work for all non-Darwin platforms, as it is the same as the original gcc12 patchset; the only difference is moving one patch to an external patchset as mentioned above.  My testing shows it works on NetBSD.

This leaves Darwin v15 aarch64 in an unknown state, but no worse than it was before any of this.

I am guessing that we need a fourth branch like

.elif ${MACHINE_PLATFORM:MDarwin-*-aarch64}

with a different external patchset for whatever is required.

However, I cannot test that and so left it out in hopes that the original package worked.  Please add whatever is required to a new conditional branch.  If it really doesn’t work, then a NOT_FOR_PLATFORM may be appropriate.

At this point I see nothing wrong with the logic of the conditionals or the corresponding patchsets.

Cheers,
Brook



Home | Main Index | Thread Index | Old Index