3 Aug 2025 |
emily | (I can comment as much if you want, but I've found that contributor a little strange to interact with so if you are already reviewing it probably makes sense for you to handle it) | 12:29:11 |
4 Aug 2025 |
Randy Eckenrode | In reply to @emilazy:matrix.org nor do build inputs go after postPatch (there is no strict convention for all of this, but if you are going to do this kind of churn, explicitly making things comply less with the guidelines in https://github.com/jtojnar/nixpkgs-hammering/blob/b0817c8269798a830bc42f58a01c7543e7c5268a/explanations/attribute-ordering.md is hard to justify) Is this documented anywhere as the convention to use? I’ve been grouping by phases (so build phase stuff together, etc) …. | 23:24:34 |
emily | I don't think there's any real consensus, but I think the nixpkgs-hammering ordering is something close to what's most common (i.e. probably many packages violate it in some way or another but if you were going to write down the most consistent set of rules you could based on patterns of relative ordering it would be close to that) | 23:25:41 |
emily | I think some things are pretty strong consensus (passthru and meta last, pname , version , src , and usually outputs and patches before other stuff) | 23:26:31 |
emily | and everything in between is a little fuzzy | 23:26:35 |
5 Aug 2025 |
| Axel Karjalainen joined the room. | 17:39:37 |
Axel Karjalainen | Was there any reason for libcCrossChooser to use targetPackages ? See also my comment here: https://github.com/NixOS/nixpkgs/pull/409851#discussion_r2254887700
Is this the right Matrix room for this?
| 17:51:17 |
vcunat | #cross-compiling:nixos.org also exists, but I don't know what's the best place. | 17:54:58 |
6 Aug 2025 |
| vidariondr set a profile picture. | 18:31:02 |
8 Aug 2025 |
| problems changed their profile picture. | 01:54:56 |
| 0x4A6F joined the room. | 06:32:02 |
| André Lima joined the room. | 18:41:24 |
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: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.
| 14:59:09 |
@trofi:matrix.org | 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:matrix.org | 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:matrix.org | 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:matrix.org | 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:matrix.org | You knew :) | 17:39:09 |
Artturin | obviously it is the more ridiculous answer 🙃 | 17:40:03 |
@trofi:matrix.org | Yeah :) Spoiler: https://dpaste.com/DMD34BUN9.txt | 17:40:23 |
@trofi:matrix.org | * Quiz question: for a final glibc used in nixpkgs all over the place which gcc you think is used to build it on linux ? Possible answers: a) gcc from bootstrap tools b) gcc from nixpkgs . | 17:42:06 |
vcunat | AFAIK it isn't easy to do better. gcc links against glibc. So either somehow try replacing it later (rather hacky, probably) or build gcc twice during bootstrapping (will remain persistently annoying). Or as you suggest, update the bootstrapping tools more often. | 17:49:27 |