!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

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

Load older messages


SenderMessageTime
13 Jan 2026
@reckenrode:matrix.orgRandy Eckenrode *

This is a weird error:

[1425/1666] Linking Swift shared library lib/swift/host/plugins/libObservationMacros.dylib; Update mtime of library outputs workaround
FAILED: lib/swift/host/plugins/libObservationMacros.dylib lib/Macros/Sources/ObservationMacros/CMakeFiles/ObservationMacros.dir/Availability.swift.o lib/Macros>
: && /nix/store/bvspgzdhr13qnkdd3klkz3ihy78h7z8k-swiftc-cxx_bootstrap-6.2.3/bin/swiftc -j 16 -num-threads 16 -emit-library -o lib/swift/host/plugins/libObserva>
<unknown>:0: warning: using (deprecated) legacy driver, Swift installation does not contain swift-driver at: '/nix/store/bvspgzdhr13qnkdd3klkz3ihy78h7z8k-swift>
<unknown>:0: warning: option '-no-emit-module-separately-wmo' is only supported in swift-driver
impure path `/0sra2y18lr3h6j58qjm0w46yv36h1wjmilb09n8aimdpivdymscx/lib/swift/host/libObservationMacros.dylib' used in link
12:25:40
@reckenrode:matrix.orgRandy EckenrodeThat’s when building the stage 1 compiler for Swift.12:25:47
@reckenrode:matrix.orgRandy EckenrodeRegarding the bootstrap, what I would like to do is define stage 1 as “bootstrap tools can build most things”. From there, build stage 2 with stage 1 as the host platform and stage 2 as the target, then do that again with stage 2 and 3 as host and target.12:26:55
@reckenrode:matrix.orgRandy EckenrodeStage 4 would be the only overlay stage that sets up the stage 3 compiler such that stage 4 can be host and target.12:27:23
@reckenrode:matrix.orgRandy EckenrodeOne issue I can see with a cross-like bootstrap is it will pull in more packages and build more things, which people may not like.12:33:20
@reckenrode:matrix.orgRandy EckenrodeAlso, if we ever add Swift to the bootstrap, that is going to pull in a ton of crap.12:33:43
@reckenrode:matrix.orgRandy EckenrodeThis exercise to remove sqlite feels pointless if we want to include Swift because it will put it right back in the bootstrap.12:34:18
@emilazy:matrix.orgemily what does Swift pull in anyway? 12:56:16
@emilazy:matrix.orgemilyI'm curious what it's using SQLite for12:56:33
@emilazy:matrix.orgemily but yeah I didn't mean to set @samasaur:matrix.org out on the errand with a guarantee that we'd want to do it :) just that it seemed worth exploring 12:57:06
@reckenrode:matrix.orgRandy EckenrodeCaches.12:57:07
@reckenrode:matrix.orgRandy EckenrodeI think something is pulling in Rust.12:57:38
@emilazy:matrix.orgemilyuh, yeah Rust in the bootstrap might be one to avoid 😅12:58:15
@emilazy:matrix.orgemilyI think we could still trim down closures with a cross setup, right? it'd just be a set of overrides for the build platform12:58:51
@reckenrode:matrix.orgRandy EckenrodeSwift and (maybe more so) SwiftPM appear to favor using SQLite to record build information.12:59:04
@emilazy:matrix.orgemilymostly the less stuff in the bootstrap the less annoying it is to test updates on Darwin for them12:59:28
@reckenrode:matrix.orgRandy EckenrodeCan we define a platform that simply never runs tests?12:59:34
@emilazy:matrix.orgemilysure why not. I mean cross conditions them on canExecute anyway13:00:05
@reckenrode:matrix.orgRandy EckenrodeLike only stage 3 would run tests. It would trim down some of the dependencies.13:00:18
@emilazy:matrix.orgemilyI imagine we could cook up a global config option if one doesn't already exist13:00:26
@emilazy:matrix.orgemilyno there's just nothing forcing us to clean up after people move away from old crap like scons13:01:34
@emilazy:matrix.orgemilythey're in the list solely for a check that they don't get built multiple times during bootstrap13:02:10
@emilazy:matrix.orgemilyso <=1 builds passes13:02:22
@emilazy:matrix.orgemilyand the scons override is just dead code13:02:30
@emilazy:matrix.orgemily if you want to continue then I'd try bisecting feature flags between python3Minimal and our python3-bootstrap. some of the additional stuff is needed for Meson and the LLVM build system, but it's likely to can find lots of stuff to turn off that trims packaged from the final list without breaking the build 13:04:26
@emilazy:matrix.orgemilyagain with no guarantee that we'll want to actually do that but13:04:40
@emilazy:matrix.orgemilyI think it'll be educational if nothing else13:04:49
@emilazy:matrix.orgemily(and I personally think trimming such does is worthwhile because it lowers the things we get pinged for to check after it turns out they rebuild the bootstrap)13:05:23
@emilazy:matrix.orgemily(but ofc if Swift is going to pull in lots of stuff in a more non-negotiable way - maybe the effort just gets undone soon)13:05:51

There are no newer messages yet.


Back to Room ListRoom Version: 6