Nixpkgs Stdenv | 229 Members | |
| 71 Servers |
| Sender | Message | Time |
|---|---|---|
| 13 Feb 2026 | ||
In reply to @emilazy:matrix.orgAs in the llvm toolchain enables that by default? | 23:59:13 | |
| 14 Feb 2026 | ||
| yes:
| 00:00:26 | |
(2 is fast) | 00:00:29 | |
In reply to @emilazy:matrix.orgHm, I guess the only way to tell is to benchmarking :) I could see about how that would affect nix itself. Undefing the flag should be easy enough | 00:05:09 | |
| i'm going to prepare a PR to switch back to fast | 11:04:39 | |
this does make me wonder how libcxxhardening* should interact with _LIBCPP_HARDENING_MODE_DEFAULT though | 11:30:03 | |
| https://github.com/NixOS/nixpkgs/pull/490358 | 12:07:04 | |
| IMO we should just control the default with that rather than with wrapper flags. though on macOS we are not building libc++ anyway | 15:52:41 | |
interesting - we might have to do some hackery as I wouldn't expect _LIBCPP_HARDENING_MODE_DEFAULT to be designed to be set from the cli | 17:31:34 | |
| no I just mean we should set it in our libc++ build :) | 17:58:50 | |
| like how we do PIE by default in our GCC and Clang builds | 17:59:13 | |
| overriding for an individual package can be flag driven | 17:59:26 | |
| though I think NIX_CFLAGS_COMPILE is probably sufficient interface there | 18:00:02 | |
| i seeee | 18:02:04 | |
yeah i just think it's weird, people will expect that setting hardeningDisable = ["libcxxhardeningfast"]; to actually disable it | 18:02:58 | |
* yeah i just think it's weird, people will expect setting hardeningDisable = ["libcxxhardeningfast"]; to actually disable it | 18:47:29 | |
| might be good to support hardeningDisable adding flags? but if we control it with the build-time default + cflags maybe it can just be an override in pkgsExtraHardening and not need the hardening* machinery at all | 20:34:31 | |
| 4 Aug 2022 | ||
| 03:27:09 | ||
| 22:08:01 | ||
| 6 Aug 2022 | ||
| 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 (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 | |
| You think
| 14:59:09 | |
Looking at stdenv's dep tree I see 2 cmake-boot hashes and one cmake hash: https://dpaste.com/8GGM6P9BF.txt | 15:03:11 | |
In reply to @trofi:matrix.orgI have no particular opinion, I'm just curious how that happens. | 21:22:09 | |
Oh, for clarification, I was talking about cmake-boot. | 21:22:19 | |
(which is cmake in the stdenv stages) | 21:22:29 | |
| see the line i linked | 21:22:36 | |
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 | |
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 | ||
| 09:55:36 | ||
| 17 Aug 2022 | ||
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 | |