tech-pkg archive

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

Re: next steps from recent macOS fallout



Sorry for the non-plaintext mail; I had found myself with some spare minutes and a device I don't usually use to post to these lists, and hadn't considered the consequences. Here's the same text, now with my usual mailer. Hopefully this is easier to read and reply to.

-----

For those of you following along with the various recent Xcode and Command Line Tools issues -- and/or for those of you for whom that discussion was too disorganized -- I've written it all up in one place: https://schmonz.com/2024/04/02/pkgsrc-on-macos-still-works/

Now that the quarterly branch is cut, some followups looking for volunteers:

1. The demote-zealous-errors-back-to-warnings workarounds in mk/compiler/clang.mk are currently selected after four separate compiler invocations. It'd be great to refactor it to fewer, provided we can be confident there's no change in behavior. Some possible approaches are mentioned in the clang.mk comments.

2. It's not just upstream clang 16 and Apple clang 15 that bring these new strictures. gcc 14 will too. So whatever we figure out for (1), ideally it can be shared with gcc.mk without much duplication.

3. We're all fairly sure lots of things break when implicit-function-declaration, implicit-int, int-conversion, and incompatible-pointer-types are promoted to errors, but we haven't tried measuring. An exploratory bulk build (on any normally well-functioning platform) would give us a picture. Maybe it's not as bad as we think. Even if it is, the results will let us make incremental progress at our leisure, possibly by borrowing patches from package systems such as Gentoo that have been throwing their backs into this for a while.

4. There's a slight risk that some packages are newly broken on macOS, if they're using m4 or yacc without declaring them in USE_TOOLS. (One of the workarounds for those busted tools is to provide no-op versions when they're _not_ declared.) If you see such a breakage, just add the missing tool declaration.

5. We might want to generalize this approach to provide dummy versions of all undeclared tools on all platforms, to help find and fix missing tool declarations. (This behavior would probably need to be default-off, default-on for PKG_DEVELOPER, and able to be turned off individually.)

I think that's everything. I may volunteer for one or more of these, but would definitely welcome some help.

- Amitai


Home | Main Index | Thread Index | Old Index