25 May 2025 |
Tristan Ross | I think I've seen clang get rebuilt for cross so being able to not have to rebuild clang when doing cross would be nice | 15:54:05 |
Randy Eckenrode | Clang shouldn’t be rebuilt for cross anymore. Only the wrapper now. | 16:44:06 |
Randy Eckenrode | Darwin bintools shouldn’t need rebuilding either, but that work hadn’t been done yet. | 16:45:14 |
Tristan Ross | In reply to @reckenrode:matrix.org Clang shouldn’t be rebuilt for cross anymore. Only the wrapper now. Huh, it's rebuilt for me when I tried getting it to work with crossStdenv . But I've found a problem where the bintools wrapper for LLVM doesn't include as for target lol. | 16:52:05 |
Randy Eckenrode | Weird. There was work done early in the 25.05 cycle to reduce the Clang rebuilds. | 16:52:38 |
Randy Eckenrode | https://github.com/NixOS/nixpkgs/pull/355532
https://github.com/NixOS/nixpkgs/pull/356162
https://github.com/NixOS/nixpkgs/pull/357633 | 16:53:28 |
Randy Eckenrode | On Darwin, I get /nix/store/5ibsf7mwyci07f5kdxrzww43204y7ysv-clang-20.1.4.drv for every:
$ nix-instantiate . -A pkgsCross.gnu64.llvmPackages.libcxxStdenv.cc.cc
$ nix-instantiate . -A pkgsCross.gnu64.pkgsLLVM.stdenv.cc.cc
$ nix-instantiate . -A pkgsCross.x86_64-darwin.stdenv.cc.cc
$ nix-instantiate . -A stdenv.cc.cc
$ nix-instantiate . -A clang.cc
$ nix-instantiate . -A llvmPackages.clang.cc
$ nix-instantiate . -A llvmPackages_20.clang.cc
| 16:55:03 |
Tristan Ross | Yeah, it's something which started when I made glibc actually handle cross correctly in crossStdenv | 16:57:10 |
Tristan Ross | Which also led me to discovering that GCC with no libc to handle glibc is actually borked in crossStdenv.predicated.useLLVM.native | 16:57:59 |
Tristan Ross | One of the things I'm thinking now is, what if we had top-level attributes which could handle some cross logic without inheritly using the top-level stdenv's targetPlatform so pkgs/top-level/cross-stdenv.nix is less of a mess | 17:00:31 |
Tristan Ross | @[Randy Eckenrode] @[Alyssa Ross] Would you be inclined in writing a design doc with me of all the changes we need to make the stdenv and CC better? I'm hoping all the stdenv team could work together on it. | 17:23:14 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | hedgedoc time! | 17:24:15 |
Alyssa Ross | I could possibly give feedback but for now I'm still focusing on trying to catch up with the last several weeks of GitHub notifications that accumulated while I was recovering from dental surgeru | 17:25:37 |
Alyssa Ross | * | 17:25:40 |
Tristan Ross | Gotcha, yeah I think these changes will span across multiple versions because it'll be quite a lot of work | 17:27:13 |
Tristan Ross | In reply to @aleksana:mozilla.org hedgedoc time! Is that what pad.lassul.us is lol | 17:29:34 |
Tristan Ross | Is there someone here who could pin a message? I'm thinking it might be good to pin the link to the design doc on the new stdenv & CC improvements. | 17:36:37 |
Tristan Ross | Design doc on new stdenv & CC wrapper improvements: https://pad.lassul.us/mVkhtNyKSuCTqsiiCitwtA# | 17:36:58 |
Tristan Ross | Currently identifying the goals | 17:38:05 |
Tristan Ross | I've written a few steps down of things | 19:13:08 |
| @creepinson:matrix.org joined the room. | 22:54:23 |
26 May 2025 |
Tristan Ross | In case people wish to join in and discuss all together the work on the stdenv & CC improvements, we have a crab.fit to figure out a good time. https://crab.fit/nixpkgs-stdenv-team-meeting-for-refactoring-906311 | 05:14:00 |
@trofi:matrix.org |
Split GCC up similar to LLVM to accomplish this
I would suggest getting llvm-only bootstrap on linux first :)
| 08:32:06 |
Randy Eckenrode | I can give feedback, but my time is still pretty limited, and what time I do have is focused on Darwin stuff. | 11:07:06 |
Randy Eckenrode | One cc thing I do want to do is rewrite Darwin version handling. It currently uses -mmacos-version-min , but Swift wants to do it via triple (e.g., arm64-apple-macosx14.0 ). I want to align the handling with what Swift wants to do. arm64-apple-darwin would become shorthand for arm64-apple-macosx with the current deployment target. | 11:13:24 |
Randy Eckenrode | (I also think emilyhad ideas for cc.) | 11:15:42 |
emily | FWIW, I tried -macosx and it sadly broke every autotools build system. | 11:20:32 |
emily | they only recognize -darwin . | 11:20:36 |
emily | (not sure why we are doing more calls after everyone else on the team said it's not a good fit…) | 11:21:01 |
emily | I also have pretty limited time right now (just moved, still very busy with it). hopefully will have more in a couple weeks | 11:21:44 |