!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

224 Members
74 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
25 May 2025
@reckenrode:matrix.orgRandy EckenrodeDarwin’s stdenv bootstrap has changed a lot. The SDK update dropped several stages last fall.15:49:04
@reckenrode:matrix.orgRandy EckenrodeI wish the stdenv bootstrap could be structured like a cross from bootstrap tools to final environment.15:49:17
@reckenrode:matrix.orgRandy EckenrodeLet the standard cross-compilation machinery take care of building things for the right platforms instead of having to micromanage a bunch of overrides.15:49:38
@reckenrode:matrix.orgRandy EckenrodeThen from there you could cross to another platform.15:49:53
@reckenrode:matrix.orgRandy Eckenrode I wonder if some of the hard-coded stuff could be removed. Right now, stdenvNoCC is an override of stdenv. Could it be the other way? stdenv is stdenvNoCC with the requisite compilers as extra packages? 15:51:19
@rosscomputerguy:matrix.orgTristan Ross Yeah, that's what I'm thinking 15:51:36
@reckenrode:matrix.orgRandy EckenrodeIIRC wasn’t there some talk about that for libc++ once libstdc++ gets split out of gcc?15:51:42
@rosscomputerguy:matrix.orgTristan Ross Idk but probably 15:52:01
@rosscomputerguy:matrix.orgTristan Ross It would be nice to be able to view the stdenv as just tools and CC as the actual C toolchain 15:52:42
@rosscomputerguy:matrix.orgTristan RossAnd you could override the unwinder, cxxlib, etc15:53:00
@rosscomputerguy:matrix.orgTristan 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
@reckenrode:matrix.orgRandy EckenrodeClang shouldn’t be rebuilt for cross anymore. Only the wrapper now.16:44:06
@reckenrode:matrix.orgRandy EckenrodeDarwin bintools shouldn’t need rebuilding either, but that work hadn’t been done yet.16:45:14
@rosscomputerguy:matrix.orgTristan 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
@reckenrode:matrix.orgRandy EckenrodeWeird. There was work done early in the 25.05 cycle to reduce the Clang rebuilds.16:52:38
@reckenrode:matrix.orgRandy Eckenrodehttps://github.com/NixOS/nixpkgs/pull/355532 https://github.com/NixOS/nixpkgs/pull/356162 https://github.com/NixOS/nixpkgs/pull/35763316:53:28
@reckenrode:matrix.orgRandy 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

Show newer messages


Back to Room ListRoom Version: 9