!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

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

Load older messages


SenderMessageTime
13 Jan 2026
@reckenrode:matrix.orgRandy Eckenrode Not sure. The swbuild tool uses its own command-line parser. It’s pretty funky. A custom frontend could just use Swift Argument Parser and delegate to the library for everything else. 01:06:56
@reckenrode:matrix.orgRandy EckenrodeThis is a helper for keeping the boilerplate down. I don’t see how we can allow switching build systems in a hook. One of the keys to bootstrapping is not pulling in the wrong build system.01:09:29
@reckenrode:matrix.orgRandy Eckenrode lib.getDev and lib.getOutput "dev" work as expected. What other ones are there? 01:10:15
@reckenrode:matrix.orgRandy EckenrodeIdeally, I could get prebuilts working and drop all this stuff.01:10:26
@reckenrode:matrix.orgRandy Eckenrode I didn’t think so. It’s a temporary thing so I can keep the old Swift stuff around to reference while I work. The final PR will probably do it like Tcl does with tcl-modules.nix. 01:11:36
@reckenrode:matrix.orgRandy EckenrodeIf I can, I can revisit using custom helper hooks I guess. I hate hooks because Bash sucks, and debugging them sucks.01:12:51
@reckenrode:matrix.orgRandy EckenrodeMore pressing right now is how exactly to handle stdlib discovery.01:14:38
@emilazy:matrix.orgemilythat would be nice for sure. what was the issue with that again?01:14:38
@reckenrode:matrix.orgRandy EckenrodeIt requires figuring out how it works and (probably) patching SwiftPM to allow it.01:14:56
@samasaur:matrix.orgsamasauraren't they only recently officially supported for swift-syntax only?01:15:14
@samasaur:matrix.orgsamasaurand no support for any other package01:15:20
@reckenrode:matrix.orgRandy Eckenrode There is some magic for Swift Syntax, but it seems to be really brittle. I was able to get it to parse a prebuilts entry in workspace-state.json, but SwiftPM didn’t do anything with it. 01:15:31
@reckenrode:matrix.orgRandy EckenrodeThe more pressing need is figuring out how to discover the stdlib.01:15:47
@reckenrode:matrix.orgRandy EckenrodeThe current approach patches the compiler to find it at an arbitrary path, which isn’t very good for cross-compilation.01:16:19
@emilazy:matrix.orgemilyenv variable?01:16:35
@reckenrode:matrix.orgRandy EckenrodeIdeally we could leverage the compiler’s ability to discover the stdlib relative to its location.01:16:48
@emilazy:matrix.orgemilypreferably target-specific env variable01:16:48
@emilazy:matrix.orgemilythough, yeah, avoiding patching at all is nicer01:17:01
@emilazy:matrix.orgemilycan we just symlink the compiler and the stdlib nearby?01:17:11
@reckenrode:matrix.orgRandy EckenrodeThat’s what I want to do, but I also want them to be discoverable by the linker.01:18:28
@reckenrode:matrix.orgRandy Eckenrode How does it work on Linux? Does linking with a .so at some path automatically set up the rpath? 01:18:44
@reckenrode:matrix.orgRandy EckenrodeIt makes me wonder what even the point of the patch is if the linker will handle things for us.01:20:35
@reckenrode:matrix.orgRandy Eckenrode

“It also fixes the output of swift -frontend -print-target-info, which SwiftPM uses to set the rpath on Linux.”

If the .sos are in the normal place, won’t the linker take care of this for us?

01:21:27
@emilazy:matrix.orgemilyis this about one of our existing patches?01:22:38
@emilazy:matrix.orgemilyI figured you would have just thrown all of those away…01:22:45
@emilazy:matrix.orgemily I assumed -L would add to the rpath or such. 01:23:42
@emilazy:matrix.orgemilynot sure exactly how it works.01:23:44
@reckenrode:matrix.orgRandy Eckenrode The separate lib patch. 01:24:10
@emilazy:matrix.orgemilyoh, our wrapper does it.01:24:37
@emilazy:matrix.orgemily
# Three tasks:
#
#   1. Find all -L... switches for rpath
01:24:40

Show newer messages


Back to Room ListRoom Version: 6