| 12 Feb 2026 |
| amadaluzia changed their profile picture. | 17:48:46 |
| amadaluzia changed their profile picture. | 18:00:07 |
| GrizzlT joined the room. | 20:36:26 |
ris_ | ive just spotted something surprising | 22:42:40 |
ris_ | when i merged https://github.com/NixOS/nixpkgs/pull/442945, i enabled them (both) by default | 22:43:20 |
ris_ | this was not intended | 22:43:24 |
ris_ | i should probably undo at least the extensive one | 22:44:08 |
ris_ | though it's weird 26.xx shipping without flags 25.11 had enabled | 22:44:37 |
ris_ | i'm sure some packages must be seeing a performance impact | 22:44:54 |
| Adam joined the room. | 23:15:38 |
| 13 Feb 2026 |
emily | are there numbers for the expected impact of the two? | 03:27:02 |
emily |
Extensive mode, which contains all the checks from fast mode and some additional checks for undefined behavior that incur relatively little overhead but aren’t security-critical. Production builds requiring a broader set of checks than fast mode should consider enabling extensive mode. The additional rigour impacts performance more than fast mode: we recommend benchmarking to determine if that is acceptable for your program.
| 03:27:29 |
emily | doesn't sound like it should be too bad | 03:27:33 |
emily | specifically marked as suitable for production at least | 03:27:56 |
emily | fwiw the main user of libc++ in Nixpkgs is macOS and _LIBCPP_HARDENING_MODE_DEFAULT is already 2 (fast) on that platform | 03:29:42 |
emily | so libcxxhardeningfast is just a nop | 03:30:04 |
| 4 Aug 2022 |
| Winter (she/her) joined the room. | 03:27:09 |
| [0x4A6F] joined the room. | 22:08:01 |
| 6 Aug 2022 |
Winter (she/her) | Does anyone know where the fact that the Darwin stdenv builds CMake twice comes from? As far as I can tell, it's from stage 0, and then just gets used in the other stages from there. Am I missing something here, is it something with the overrides? It looks like it might be, but then the fact that those are only allowed in the final stage (per booter.nix) (when that doesn't seem true, since then they wouldn't be defined...?) comes up.
(Isn't this the same pattern (defining in one stage and referencing in the others) that makes Glibc only build a limited number of times in the Linux stdenv?) | 08:00:17 |
trofi | You think cmake should be rebuild less? Or more?
glibc's is probably a bit different as it's a part of stdenv.cc.libc and mainly used by that I would guess. Also, if depends if the package is used or not by other packages in the derivation would affect rebuild count as well.
| 14:59:09 |
trofi | Looking at stdenv's dep tree I see 2 cmake-boot hashes and one cmake hash: https://dpaste.com/8GGM6P9BF.txt | 15:03:11 |
Winter (she/her) | In reply to @trofi:matrix.org
You think cmake should be rebuild less? Or more?
glibc's is probably a bit different as it's a part of stdenv.cc.libc and mainly used by that I would guess. Also, if depends if the package is used or not by other packages in the derivation would affect rebuild count as well.
I have no particular opinion, I'm just curious how that happens. | 21:22:09 |
Winter (she/her) | Oh, for clarification, I was talking about cmake-boot. | 21:22:19 |
Winter (she/her) | (which is cmake in the stdenv stages) | 21:22:29 |
Winter (she/her) | see the line i linked | 21:22:36 |
trofi | AFAIU cmake = cmakeMinimal is only for stage1-4 (first build: bootstrapTools -> cmake-boot in pastebin). Last stage uses cmake as is. Also note that cmakeMinimal is used by zstd (used by final stage, does second build: stage4 -> cmake-boot -> zstd in pastebin). | 21:44:31 |
trofi | I used the following command to grep through the full depgraph: $ nix-store --query --graph $(nix-instantiate -A stdenv --argstr system x86_64-darwin) | 21:45:39 |
| 10 Aug 2022 |
| luxus joined the room. | 09:55:36 |
| 17 Aug 2022 |
trofi | Quiz question: for a final glibc used in nixpkgs all over the place which gcc you think is used to build it on linux? a) Possible answers: gcc from bootstrap tools b) gcc from nixpkgs. | 17:36:21 |
trofi | You knew :) | 17:39:09 |