!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

1136 Members
“There are still many issues with the Darwin platform but most of it is quite usable.” — http://yves.gnu-darwin.org180 Servers

Load older messages


SenderMessageTime
24 Oct 2025
@samasaur:matrix.orgsamasaurso the thing that's odd is that it appears able to find CFNetwork but not Network01:51:07
@samasaur:matrix.orgsamasaurdespite everything appearing to be "found" the same way01:51:15
@reckenrode:matrix.orgRandy EckenrodeIt would probably be worth making the symbols always be available for libpcap and libffi, but most things that want to use them will redeclare them anyway.01:51:29
@emilazy:matrix.orgemily libpcap and libffi will already get them always available 01:51:43
@emilazy:matrix.orgemily because the public SDK causes SPI_AVAILABLE(…) to expand to nothing 01:51:51
@emilazy:matrix.orgemilycorrectly in this case01:51:56
@emilazy:matrix.orgemily the only time we ever don't want that behaviour is basically when we're hacking up xnu headers, I think 01:52:39
@reckenrode:matrix.orgRandy Eckenrode I don’t know that the private headers with those declarations are even included in the packages. We build both with their configure scripts. 01:52:42
@emilazy:matrix.orgemily which is why I suggested the best approach is probably to replace SPI_API_ in xnu headers and have an empty AvailabilityInternalPrivate.h (or drop their includes of it) 01:53:12
@emilazy:matrix.orgemily since that will ensure the right behaviour there without screwing up the more common uses of SPI_* in the source releases 01:53:28
@emilazy:matrix.orgemily(where we do want them to be elided)01:53:33
@reckenrode:matrix.orgRandy EckenrodeWe shouldn’t be hacking up xnu headers. We should actually be building them because that sucks a lot less than what we are currently doing.01:53:35
@emilazy:matrix.orgemilydefine "actually building them"?01:54:17
@emilazy:matrix.orgemilyI don't think we can avoid modifying them in some way01:54:36
@reckenrode:matrix.orgRandy EckenrodeThe xnu makefiles have a target for building the headers.01:54:37
@emilazy:matrix.orgemilyfundamentally we are not actually running our own XNU at runtime01:54:46
@reckenrode:matrix.orgRandy EckenrodeThe old source releases used to do it, but they made a mess pf the result.01:55:06
@reckenrode:matrix.orgRandy Eckenrode * 01:55:13
@emilazy:matrix.orgemily my point is that the xnu headers we use have a fundamentally different expectation for SPI_* than the source releases we build 01:55:27
@emilazy:matrix.orgemilybecause of the two existing in different contexts01:55:33
@emilazy:matrix.orgemilyif we make it expand to a real availability annotation in one, it's wrong for the other01:55:48
@reckenrode:matrix.orgRandy EckenrodeWe would use the SDK’s stubs, which means we want functioning checks for private symbols.01:56:13
@emilazy:matrix.orgemilyright01:56:26
@emilazy:matrix.orgemilybut only for XNU headers because we are not building our own XNU01:56:34
@emilazy:matrix.orgemilynot for anything else we actually build01:56:40
@emilazy:matrix.orgemilydespite those things sometimes using XNU headers01:56:47
@emilazy:matrix.orgemilygiven the divergence here, there's no way out of patching the XNU headers, because you want two different meanings for the same expression in different contexts01:57:02
@emilazy:matrix.orgemilyApple doesn't do what we do, so they don't run into the inconsistency01:57:20
@reckenrode:matrix.orgRandy EckenrodeWe would in fact want those to have functioning checks too because they are using private APIs that may not be available on our deployment target.01:57:44
@emilazy:matrix.orgemily"those" as in the source releases we build?01:58:14

Show newer messages


Back to Room ListRoom Version: 6