!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

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

Load older messages


SenderMessageTime
24 Oct 2025
@emilazy:matrix.orgemilyincorrectly02:03:43
@reckenrode:matrix.orgRandy EckenrodeThat’s actually probably wrong.02:05:06
@emilazy:matrix.orgemily the only cases where SPI_AVAILABLE(…) should actually expand to a runtime check in anything we use is xnu headers that define APIs that tbh I literally cannot find code calling at all 02:05:16
@reckenrode:matrix.orgRandy Eckenrode That function is defined in libdyld/utils.cpp, which we don’t build. 02:05:17
@emilazy:matrix.orgemilyuh, shouldn't we be building it…? 🫠02:05:56
@reckenrode:matrix.orgRandy Eckenrode No. We don’t build libdyld.dylib. 02:06:08
@reckenrode:matrix.orgRandy EckenrodeWe link against the system one.02:06:20
@reckenrode:matrix.orgRandy EckenrodeIf we link against it at all.02:06:32
@reckenrode:matrix.orgRandy EckenrodeYou’re right if we’re actually building and consuming something with private APIs, we want to remove the annotations to make sure that works correctly for consumers (including the build itself), but that’s not the case here. The dyld source release is pretty nasty, so I try to build as little as possible to get the tools I want out of it.02:08:50
@emilazy:matrix.orgemilyfair enough02:09:38
@emilazy:matrix.orgemily maybe just doing a #define __SPI_AVAILABLE API_AVAILABLE etc. is the way to go for the internal SDK then 02:10:03
@emilazy:matrix.orgemilyat worst we'll have to patch it out in some places02:10:09
@reckenrode:matrix.orgRandy EckenrodeMaybe it sucks less if we can use their Xcode project. We still need to get a Swift Build that can build something non-trivial.02:10:26
@reckenrode:matrix.orgRandy EckenrodeAs far as patching things, my ideal is building a source release without having to do anything to get it to build.02:11:26
@emilazy:matrix.orgemilywell, if it's yelling at you about missing availability checks for a symbol defined in the same source release…02:13:11
@emilazy:matrix.orgemilythen there is no choice, something needs adjusting.02:13:25
@reckenrode:matrix.orgRandy EckenrodeThat’s something that can be tackled when the time comes.02:14:14
@reckenrode:matrix.orgRandy EckenrodeOne thing I would like to do with this is enable the tests. There are actual tests in many of these source releases, but I’m not willing to rig them up to Meson. I did libiconv because I wanted to make sure things were actually working correctly.02:14:44
@emilazy:matrix.orgemilyhence "at worst"02:15:00
@emilazy:matrix.orgemily we still should avoid having availability headers that are randomly inconsistent between the internal and public SDK though, which is why just doing the #define will work better if we do want __SPI_AVAILABLE across the board 02:15:29
@emilazy:matrix.orgemily no way out of having some custom headers given CoreSymbolication and all 02:15:54
@reckenrode:matrix.orgRandy EckenrodeAnd APFS.framework.02:16:21
@emilazy:matrix.orgemily btw, I don't think I understand the atf infinite recursion thing. why does doing it in the stdenv not work with pkgsStatic? 02:16:31
@reckenrode:matrix.orgRandy EckenrodeI think I’ve done a few others as well. That’s expected.02:16:33
@emilazy:matrix.orgemily because pkgsStatic is cross so it skips the override and then the static apple-sdk infrecs? 02:16:51
@reckenrode:matrix.orgRandy Eckenrode Yeah. ATF needs to be in checkInputs and nativeCheckInputs because it provides a runner and a library you need to link. For pkgsStatic, that library is pkgsStatic.atf, which depends on the SDK, which depends on pkgsStatic.libiconv, which depends on pkgsStatic.atf. 02:18:16
@reckenrode:matrix.orgRandy EckenrodeNative stdenvs can untie that knot with overrides, but cross ones either can’t or don’t.02:18:37
@emilazy:matrix.orgemily perhaps we should propagate the extra packages from the stdenv rather than apple-sdk 02:18:41
@reckenrode:matrix.orgRandy EckenrodeIt wouldn’t matter where it’s propagated.02:19:03
@reckenrode:matrix.orgRandy Eckenrode The static stdenv would depend on pkgsStatic.libiconv, which etc. 02:19:30

Show newer messages


Back to Room ListRoom Version: 6