!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

220 Members
70 Servers

Load older messages


SenderMessageTime
10 Nov 2024
@emilazy:matrix.orgemilybut I guess that was all wrong21:46:45
11 Nov 2024
@carlocab:matrix.orgCarlo Cabrera joined the room.05:03:14
@trofi:matrix.org@trofi:matrix.org

p14: gcc is not very special. Same goes for, say, glibc (or xz). glibc is even fancier, as it's built is even earlier than gcc:

nix-repl> [ stdenv lv.stdenv gcc.stdenv xz.stdenv glibc.stdenv perl.stdenv ]
[
  «derivation /nix/store/wzis3nzvh90z9jvdn0v3ixrl5qckla36-stdenv-linux.drv»
  «derivation /nix/store/wzis3nzvh90z9jvdn0v3ixrl5qckla36-stdenv-linux.drv»
  «derivation /nix/store/1glwz1vx32xnwc0xyg25qp8ykp4qgihn-bootstrap-stage4-stdenv-linux.drv»
  «derivation /nix/store/afsnvmh8hly6gqiam1rmnxqhm1zqxas2-bootstrap-stage4-stdenv-linux.drv»
  «derivation /nix/store/ivbchmrk6vr7dfg55w35h28535kmsbjz-bootstrap-stage2-stdenv-linux.drv»
  «repeated»
]
07:04:17
@reckenrode:matrix.orgRandy Eckenrode
In reply to @emilazy:matrix.org
gcc = stdenv.cc ≠ gcc13
This was fixed for Darwin. Can it be fixed for Linux?
14:51:42
@reckenrode:matrix.orgRandy Eckenrode

On Darwin:

nix-repl> [ clang clang_16 llvmPackages.clang llvmPackages_16.clang stdenv.cc ]
[
  «derivation /nix/store/62sadwh9mwfgxmk6kx62yia20rd1j5w4-clang-wrapper-16.0.6.drv»
  «derivation /nix/store/62sadwh9mwfgxmk6kx62yia20rd1j5w4-clang-wrapper-16.0.6.drv»
  «derivation /nix/store/62sadwh9mwfgxmk6kx62yia20rd1j5w4-clang-wrapper-16.0.6.drv»
  «derivation /nix/store/62sadwh9mwfgxmk6kx62yia20rd1j5w4-clang-wrapper-16.0.6.drv»
  «derivation /nix/store/62sadwh9mwfgxmk6kx62yia20rd1j5w4-clang-wrapper-16.0.6.drv»
]
14:52:25
@emilazy:matrix.orgemilyI don't know anything about how the overlaying works, so maybe? :)14:52:48
@emilazy:matrix.orgemilyit'd make things more convenient for me at least14:52:52
@reckenrode:matrix.orgRandy Eckenrodehttps://github.com/NixOS/nixpkgs/blob/db2a0eaf13018f970376297fc53b4c41df5f193f/pkgs/stdenv/darwin/default.nix#L1268-L127714:53:41
@reckenrode:matrix.orgRandy Eckenrode

I assume Linux could work the same way. Get the unversioned GCC’s version from the prior stage then set "gcc_${version}" = self.gcc; in the overlay.

14:54:29
@reckenrode:matrix.orgRandy EckenrodeLLVM is worse because of all the packages it has, but GCC should be pretty easy like that.14:55:01
@reckenrode:matrix.orgRandy Eckenrode

(I did this because I got really tired of rebuilding the default version of LLVM just because something used llvmPackages_X.)

14:55:47
@trofi:matrix.org@trofi:matrix.orgSure, overriding more would work just fine.16:47:30
@sternenseemann:systemli.orgsterni Randy Eckenrode: do you think it is possible to get rid of this https://github.com/NixOS/nixpkgs/blob/03676a7e0ff1a54a9dabd749559ed6beca5abd5c/pkgs/stdenv/generic/default.nix#L117-L119? This is kind of annoying since it means that all of buildPackages gets rebuilt when changing targetPlatform even if derivations are target agnostic 22:04:08
@emilazy:matrix.orgemilyI think we would have to move it into the compiler wrappers22:05:03
@emilazy:matrix.orgemilywhich seems feasible?22:05:36
@emilazy:matrix.orgemilythere's a weird thing where the GCC build reads it and I don't entirely understand why22:05:45
@emilazy:matrix.orgemily otherwise it's just an ld-wrapper thing that presumably could be set in the ld-wrapper Nix derivation 22:06:01
@emilazy:matrix.orgemily hopefully you understand pkgs/development/compilers/gcc/common/builder.nix better than I do 🫠 22:06:45
@reckenrode:matrix.orgRandy Eckenrode
In reply to @emilazy:matrix.org
there's a weird thing where the GCC build reads it and I don't entirely understand why
Older Darwin deployment targets don’t support rpaths. I was looking for a way to detect a Darwin build in the GCC build.
22:09:33
@emilazy:matrix.orgemilyoh, because of the awful ancient GCCs thing?22:09:52
@emilazy:matrix.orgemilythat's GCC < 10, right?22:09:58
@reckenrode:matrix.orgRandy EckenrodeYes.22:10:02
@reckenrode:matrix.orgRandy EckenrodeThe builder is pretty messy, so trying to conditionally doing it looked worse.22:10:09
@emilazy:matrix.orgemilyI'm dropping those anyway, so maybe problem solved?22:10:18
@reckenrode:matrix.orgRandy Eckenrode
In reply to @sternenseemann:systemli.org
Randy Eckenrode: do you think it is possible to get rid of this https://github.com/NixOS/nixpkgs/blob/03676a7e0ff1a54a9dabd749559ed6beca5abd5c/pkgs/stdenv/generic/default.nix#L117-L119? This is kind of annoying since it means that all of buildPackages gets rebuilt when changing targetPlatform even if derivations are target agnostic
Darwin doesn’t need rpaths set though. How to handle that when Darwin is the target platform?
22:11:00
@reckenrode:matrix.orgRandy Eckenrode
In reply to @emilazy:matrix.org
I'm dropping those anyway, so maybe problem solved?
As long as Darwin doesn’t resume setting rpaths again.
22:11:13
@emilazy:matrix.orgemilywould we want to?22:12:01
@emilazy:matrix.orgemily
In reply to @reckenrode:matrix.org
Darwin doesn’t need rpaths set though. How to handle that when Darwin is the target platform?
it's just a default for ld-wrapper, right? so it can go in the ld-wrapper derivation?
22:12:15
@emilazy:matrix.orgemilyI guess that would still rebuild the world though.22:12:32
@emilazy:matrix.orgemilyit might just need patching in ld64.22:12:43

Show newer messages


Back to Room ListRoom Version: 9